@aeolus-fleet/core 0.27.0 → 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 (452) hide show
  1. package/README.md +1 -1
  2. package/dist/adapters/crypto/account-token-signatures.d.ts +12 -0
  3. package/dist/adapters/crypto/account-token-signatures.js +104 -0
  4. package/dist/adapters/crypto/account-token-signatures.js.map +1 -0
  5. package/dist/adapters/http/request-credentials.d.ts +7 -1
  6. package/dist/adapters/http/request-credentials.js +18 -5
  7. package/dist/adapters/http/request-credentials.js.map +1 -1
  8. package/dist/adapters/http/server.js +4 -2
  9. package/dist/adapters/http/server.js.map +1 -1
  10. package/dist/adapters/prisma/event-log.js +13 -1
  11. package/dist/adapters/prisma/event-log.js.map +1 -1
  12. package/dist/adapters/prisma/generated/browser.d.ts +36 -0
  13. package/dist/adapters/prisma/generated/client.d.ts +36 -0
  14. package/dist/adapters/prisma/generated/commonInputTypes.d.ts +150 -0
  15. package/dist/adapters/prisma/generated/enums.d.ts +33 -0
  16. package/dist/adapters/prisma/generated/enums.js +29 -1
  17. package/dist/adapters/prisma/generated/enums.js.map +1 -1
  18. package/dist/adapters/prisma/generated/internal/class.d.ts +55 -0
  19. package/dist/adapters/prisma/generated/internal/class.js +4 -4
  20. package/dist/adapters/prisma/generated/internal/class.js.map +1 -1
  21. package/dist/adapters/prisma/generated/internal/prismaNamespace.d.ts +463 -8
  22. package/dist/adapters/prisma/generated/internal/prismaNamespace.js +45 -10
  23. package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
  24. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +47 -7
  25. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +45 -10
  26. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  27. package/dist/adapters/prisma/generated/models/AccountCutOff.d.ts +944 -0
  28. package/dist/adapters/prisma/generated/models/AccountCutOff.js +2 -0
  29. package/dist/adapters/prisma/generated/models/AccountCutOff.js.map +1 -0
  30. package/dist/adapters/prisma/generated/models/ConsoleSession.d.ts +59 -1
  31. package/dist/adapters/prisma/generated/models/Event.d.ts +426 -1
  32. package/dist/adapters/prisma/generated/models/Fleet.d.ts +1270 -116
  33. package/dist/adapters/prisma/generated/models/InstallationDeclaredNetworkRules.d.ts +1031 -0
  34. package/dist/adapters/prisma/generated/models/InstallationDeclaredNetworkRules.js +2 -0
  35. package/dist/adapters/prisma/generated/models/InstallationDeclaredNetworkRules.js.map +1 -0
  36. package/dist/adapters/prisma/generated/models/Label.d.ts +113 -39
  37. package/dist/adapters/prisma/generated/models/Lease.d.ts +60 -1
  38. package/dist/adapters/prisma/generated/models/NetworkRulesDraft.d.ts +1133 -0
  39. package/dist/adapters/prisma/generated/models/NetworkRulesDraft.js +2 -0
  40. package/dist/adapters/prisma/generated/models/NetworkRulesDraft.js.map +1 -0
  41. package/dist/adapters/prisma/generated/models/NetworkSettings.d.ts +24 -223
  42. package/dist/adapters/prisma/generated/models/PluginConnection.d.ts +1180 -0
  43. package/dist/adapters/prisma/generated/models/PluginConnection.js +2 -0
  44. package/dist/adapters/prisma/generated/models/PluginConnection.js.map +1 -0
  45. package/dist/adapters/prisma/generated/models/ReachRefusal.d.ts +1 -40
  46. package/dist/adapters/prisma/generated/models/Ship.d.ts +1072 -6
  47. package/dist/adapters/prisma/generated/models/SignInTicket.d.ts +39 -1
  48. package/dist/adapters/prisma/generated/models/VerifiedFacts.d.ts +1325 -0
  49. package/dist/adapters/prisma/generated/models/VerifiedFacts.js +2 -0
  50. package/dist/adapters/prisma/generated/models/VerifiedFacts.js.map +1 -0
  51. package/dist/adapters/prisma/generated/models.d.ts +5 -0
  52. package/dist/adapters/prisma/history.js +5 -2
  53. package/dist/adapters/prisma/history.js.map +1 -1
  54. package/dist/adapters/prisma/identity.d.ts +3 -1
  55. package/dist/adapters/prisma/identity.js +41 -8
  56. package/dist/adapters/prisma/identity.js.map +1 -1
  57. package/dist/adapters/prisma/messaging.js +5 -2
  58. package/dist/adapters/prisma/messaging.js.map +1 -1
  59. package/dist/adapters/prisma/network.d.ts +7 -2
  60. package/dist/adapters/prisma/network.js +92 -62
  61. package/dist/adapters/prisma/network.js.map +1 -1
  62. package/dist/adapters/prisma/overdue.js +4 -3
  63. package/dist/adapters/prisma/overdue.js.map +1 -1
  64. package/dist/adapters/prisma/plugin-connections.d.ts +4 -0
  65. package/dist/adapters/prisma/plugin-connections.js +20 -0
  66. package/dist/adapters/prisma/plugin-connections.js.map +1 -0
  67. package/dist/adapters/prisma/registry.js +22 -16
  68. package/dist/adapters/prisma/registry.js.map +1 -1
  69. package/dist/adapters/prisma/rows.d.ts +9 -4
  70. package/dist/adapters/prisma/rows.js +77 -19
  71. package/dist/adapters/prisma/rows.js.map +1 -1
  72. package/dist/adapters/prisma/unit-of-work.d.ts +5 -2
  73. package/dist/adapters/prisma/unit-of-work.js +7 -2
  74. package/dist/adapters/prisma/unit-of-work.js.map +1 -1
  75. package/dist/adapters/prisma/verified-facts.d.ts +4 -0
  76. package/dist/adapters/prisma/verified-facts.js +65 -0
  77. package/dist/adapters/prisma/verified-facts.js.map +1 -0
  78. package/dist/adapters/rest/rest-api.js +2 -2
  79. package/dist/adapters/rest/rest-api.js.map +1 -1
  80. package/dist/adapters/trpc/console.d.ts +3 -1
  81. package/dist/adapters/trpc/context.d.ts +28 -6
  82. package/dist/adapters/trpc/fleet.d.ts +314 -51
  83. package/dist/adapters/trpc/fleet.js +137 -75
  84. package/dist/adapters/trpc/fleet.js.map +1 -1
  85. package/dist/adapters/trpc/installation-token.d.ts +7 -0
  86. package/dist/adapters/trpc/installation-token.js +10 -0
  87. package/dist/adapters/trpc/installation-token.js.map +1 -0
  88. package/dist/adapters/trpc/installation.d.ts +32 -2
  89. package/dist/adapters/trpc/installation.js +14 -10
  90. package/dist/adapters/trpc/installation.js.map +1 -1
  91. package/dist/adapters/trpc/router.d.ts +435 -42
  92. package/dist/adapters/trpc/ship-contract.js +6 -3
  93. package/dist/adapters/trpc/ship-contract.js.map +1 -1
  94. package/dist/adapters/trpc/ship-protocol.js +1 -1
  95. package/dist/adapters/trpc/ship-protocol.js.map +1 -1
  96. package/dist/adapters/trpc/ship.d.ts +117 -1
  97. package/dist/adapters/trpc/ship.js +52 -6
  98. package/dist/adapters/trpc/ship.js.map +1 -1
  99. package/dist/adapters/trpc/trpc.d.ts +43 -17
  100. package/dist/adapters/trpc/trpc.js +131 -31
  101. package/dist/adapters/trpc/trpc.js.map +1 -1
  102. package/dist/app.d.ts +2 -0
  103. package/dist/app.js +22 -0
  104. package/dist/app.js.map +1 -1
  105. package/dist/config.d.ts +5 -0
  106. package/dist/config.js +3 -1
  107. package/dist/config.js.map +1 -1
  108. package/dist/domain/identity/authenticate-account.d.ts +35 -0
  109. package/dist/domain/identity/authenticate-account.js +54 -0
  110. package/dist/domain/identity/authenticate-account.js.map +1 -0
  111. package/dist/domain/identity/authenticate-installation.d.ts +23 -0
  112. package/dist/domain/identity/authenticate-installation.js +20 -0
  113. package/dist/domain/identity/authenticate-installation.js.map +1 -0
  114. package/dist/domain/identity/authenticate.d.ts +2 -2
  115. package/dist/domain/identity/console-session.d.ts +6 -3
  116. package/dist/domain/identity/console-session.js.map +1 -1
  117. package/dist/domain/identity/cut-off-account.d.ts +29 -0
  118. package/dist/domain/identity/cut-off-account.js +37 -0
  119. package/dist/domain/identity/cut-off-account.js.map +1 -0
  120. package/dist/domain/identity/dismiss-notice.d.ts +2 -2
  121. package/dist/domain/identity/issue-sign-in-ticket.d.ts +9 -3
  122. package/dist/domain/identity/issue-sign-in-ticket.js +8 -2
  123. package/dist/domain/identity/issue-sign-in-ticket.js.map +1 -1
  124. package/dist/domain/identity/ports.d.ts +52 -5
  125. package/dist/domain/identity/read-account.d.ts +8 -4
  126. package/dist/domain/identity/read-account.js +1 -1
  127. package/dist/domain/identity/read-account.js.map +1 -1
  128. package/dist/domain/identity/read-guide.d.ts +2 -2
  129. package/dist/domain/identity/read-notices.d.ts +2 -2
  130. package/dist/domain/identity/record-guide-progress.d.ts +2 -2
  131. package/dist/domain/identity/redeem-sign-in-ticket.d.ts +2 -1
  132. package/dist/domain/identity/redeem-sign-in-ticket.js +3 -2
  133. package/dist/domain/identity/redeem-sign-in-ticket.js.map +1 -1
  134. package/dist/domain/identity/set-theme.d.ts +2 -2
  135. package/dist/domain/identity/sign-in-ticket.d.ts +3 -1
  136. package/dist/domain/identity/sign-in.d.ts +2 -2
  137. package/dist/domain/identity/sign-in.js +2 -0
  138. package/dist/domain/identity/sign-in.js.map +1 -1
  139. package/dist/domain/identity/sign-out.d.ts +2 -2
  140. package/dist/domain/identity/sign-out.js +1 -1
  141. package/dist/domain/identity/sign-out.js.map +1 -1
  142. package/dist/domain/identity/start-console-session.d.ts +4 -2
  143. package/dist/domain/identity/start-console-session.js +6 -4
  144. package/dist/domain/identity/start-console-session.js.map +1 -1
  145. package/dist/domain/identity/start-viewer-session.js +1 -0
  146. package/dist/domain/identity/start-viewer-session.js.map +1 -1
  147. package/dist/domain/messaging/delivery.d.ts +11 -3
  148. package/dist/domain/messaging/delivery.js +23 -15
  149. package/dist/domain/messaging/delivery.js.map +1 -1
  150. package/dist/domain/messaging/dismiss-delivery.d.ts +2 -2
  151. package/dist/domain/messaging/hand-over-delivery.d.ts +1 -0
  152. package/dist/domain/messaging/hand-over-delivery.js +1 -0
  153. package/dist/domain/messaging/hand-over-delivery.js.map +1 -1
  154. package/dist/domain/messaging/message.d.ts +3 -1
  155. package/dist/domain/messaging/message.js +1 -1
  156. package/dist/domain/messaging/message.js.map +1 -1
  157. package/dist/domain/messaging/overdue.d.ts +2 -0
  158. package/dist/domain/messaging/overdue.js +3 -0
  159. package/dist/domain/messaging/overdue.js.map +1 -1
  160. package/dist/domain/messaging/ping-ship.d.ts +2 -2
  161. package/dist/domain/messaging/ping-ship.js +1 -1
  162. package/dist/domain/messaging/ping-ship.js.map +1 -1
  163. package/dist/domain/messaging/ports.d.ts +2 -0
  164. package/dist/domain/messaging/push-receive-deliveries.d.ts +4 -1
  165. package/dist/domain/messaging/push-receive-deliveries.js +5 -3
  166. package/dist/domain/messaging/push-receive-deliveries.js.map +1 -1
  167. package/dist/domain/messaging/receive-deliveries.d.ts +21 -0
  168. package/dist/domain/messaging/receive-deliveries.js +5 -3
  169. package/dist/domain/messaging/receive-deliveries.js.map +1 -1
  170. package/dist/domain/messaging/receive-reply.d.ts +32 -0
  171. package/dist/domain/messaging/receive-reply.js +25 -0
  172. package/dist/domain/messaging/receive-reply.js.map +1 -0
  173. package/dist/domain/messaging/resend-delivery.d.ts +2 -2
  174. package/dist/domain/messaging/resend-delivery.js +1 -0
  175. package/dist/domain/messaging/resend-delivery.js.map +1 -1
  176. package/dist/domain/messaging/send-message.d.ts +3 -3
  177. package/dist/domain/messaging/send-message.js +1 -0
  178. package/dist/domain/messaging/send-message.js.map +1 -1
  179. package/dist/domain/registry/apply-network-rules.d.ts +32 -0
  180. package/dist/domain/registry/apply-network-rules.js +33 -0
  181. package/dist/domain/registry/apply-network-rules.js.map +1 -0
  182. package/dist/domain/registry/assign-crew.d.ts +2 -2
  183. package/dist/domain/registry/assign-crew.js +3 -2
  184. package/dist/domain/registry/assign-crew.js.map +1 -1
  185. package/dist/domain/registry/assign-label.d.ts +7 -5
  186. package/dist/domain/registry/assign-label.js +16 -6
  187. package/dist/domain/registry/assign-label.js.map +1 -1
  188. package/dist/domain/registry/change-label-values.d.ts +1 -1
  189. package/dist/domain/registry/change-label-values.js +4 -3
  190. package/dist/domain/registry/change-label-values.js.map +1 -1
  191. package/dist/domain/registry/check-reach.d.ts +49 -24
  192. package/dist/domain/registry/check-reach.js +77 -42
  193. package/dist/domain/registry/check-reach.js.map +1 -1
  194. package/dist/domain/registry/clear-request.d.ts +1 -1
  195. package/dist/domain/registry/clear-request.js +1 -1
  196. package/dist/domain/registry/clear-request.js.map +1 -1
  197. package/dist/domain/registry/commission-ship.d.ts +26 -13
  198. package/dist/domain/registry/commission-ship.js +199 -22
  199. package/dist/domain/registry/commission-ship.js.map +1 -1
  200. package/dist/domain/registry/confirm-crew-release.d.ts +2 -2
  201. package/dist/domain/registry/confirm-crew-release.js +3 -2
  202. package/dist/domain/registry/confirm-crew-release.js.map +1 -1
  203. package/dist/domain/registry/confirm-worktree-cleared.d.ts +2 -2
  204. package/dist/domain/registry/confirm-worktree-cleared.js +3 -2
  205. package/dist/domain/registry/confirm-worktree-cleared.js.map +1 -1
  206. package/dist/domain/registry/connect-plugin.d.ts +31 -0
  207. package/dist/domain/registry/connect-plugin.js +34 -0
  208. package/dist/domain/registry/connect-plugin.js.map +1 -0
  209. package/dist/domain/registry/crew-request.d.ts +2 -2
  210. package/dist/domain/registry/crew-request.js.map +1 -1
  211. package/dist/domain/registry/declare-network-rules.d.ts +9 -6
  212. package/dist/domain/registry/declare-network-rules.js +13 -8
  213. package/dist/domain/registry/declare-network-rules.js.map +1 -1
  214. package/dist/domain/registry/declare-scopes.d.ts +2 -2
  215. package/dist/domain/registry/declared-network-rules.d.ts +30 -21
  216. package/dist/domain/registry/declared-network-rules.js +46 -22
  217. package/dist/domain/registry/declared-network-rules.js.map +1 -1
  218. package/dist/domain/registry/define-label.d.ts +1 -1
  219. package/dist/domain/registry/define-label.js +5 -5
  220. package/dist/domain/registry/define-label.js.map +1 -1
  221. package/dist/domain/registry/delete-label.d.ts +1 -1
  222. package/dist/domain/registry/delete-label.js +4 -3
  223. package/dist/domain/registry/delete-label.js.map +1 -1
  224. package/dist/domain/registry/discard-network-rules-draft.d.ts +23 -0
  225. package/dist/domain/registry/discard-network-rules-draft.js +24 -0
  226. package/dist/domain/registry/discard-network-rules-draft.js.map +1 -0
  227. package/dist/domain/registry/discover.d.ts +12 -10
  228. package/dist/domain/registry/discover.js +11 -5
  229. package/dist/domain/registry/discover.js.map +1 -1
  230. package/dist/domain/registry/explain-crew-request.d.ts +2 -2
  231. package/dist/domain/registry/explain-crew-request.js +3 -2
  232. package/dist/domain/registry/explain-crew-request.js.map +1 -1
  233. package/dist/domain/registry/explain-reach.d.ts +22 -14
  234. package/dist/domain/registry/explain-reach.js +53 -53
  235. package/dist/domain/registry/explain-reach.js.map +1 -1
  236. package/dist/domain/registry/get-ship.d.ts +2 -2
  237. package/dist/domain/registry/get-starting-prompt.d.ts +4 -2
  238. package/dist/domain/registry/get-starting-prompt.js +7 -5
  239. package/dist/domain/registry/get-starting-prompt.js.map +1 -1
  240. package/dist/domain/registry/give-back-crew-request.d.ts +2 -2
  241. package/dist/domain/registry/give-back-crew-request.js +3 -2
  242. package/dist/domain/registry/give-back-crew-request.js.map +1 -1
  243. package/dist/domain/registry/grant-scopes.d.ts +8 -5
  244. package/dist/domain/registry/grant-scopes.js +14 -5
  245. package/dist/domain/registry/grant-scopes.js.map +1 -1
  246. package/dist/domain/registry/label.d.ts +69 -18
  247. package/dist/domain/registry/label.js +79 -28
  248. package/dist/domain/registry/label.js.map +1 -1
  249. package/dist/domain/registry/lease.d.ts +1 -1
  250. package/dist/domain/registry/leases.d.ts +6 -3
  251. package/dist/domain/registry/leases.js +7 -5
  252. package/dist/domain/registry/leases.js.map +1 -1
  253. package/dist/domain/registry/list-fleet.d.ts +2 -0
  254. package/dist/domain/registry/list-fleet.js +1 -0
  255. package/dist/domain/registry/list-fleet.js.map +1 -1
  256. package/dist/domain/registry/list-scopes.d.ts +2 -1
  257. package/dist/domain/registry/list-scopes.js +2 -1
  258. package/dist/domain/registry/list-scopes.js.map +1 -1
  259. package/dist/domain/registry/managed-or-assigned.d.ts +12 -4
  260. package/dist/domain/registry/managed-or-assigned.js +25 -7
  261. package/dist/domain/registry/managed-or-assigned.js.map +1 -1
  262. package/dist/domain/registry/network-rules-draft.d.ts +45 -0
  263. package/dist/domain/registry/network-rules-draft.js +41 -0
  264. package/dist/domain/registry/network-rules-draft.js.map +1 -0
  265. package/dist/domain/registry/network-settings.d.ts +96 -115
  266. package/dist/domain/registry/network-settings.js +101 -150
  267. package/dist/domain/registry/network-settings.js.map +1 -1
  268. package/dist/domain/registry/plugin-connection.d.ts +48 -0
  269. package/dist/domain/registry/plugin-connection.js +35 -0
  270. package/dist/domain/registry/plugin-connection.js.map +1 -0
  271. package/dist/domain/registry/ports.d.ts +60 -12
  272. package/dist/domain/registry/reach-refusal.d.ts +18 -4
  273. package/dist/domain/registry/read-assigned-crew-requests.d.ts +2 -2
  274. package/dist/domain/registry/read-built-in-rules.d.ts +5 -4
  275. package/dist/domain/registry/read-built-in-rules.js +9 -7
  276. package/dist/domain/registry/read-built-in-rules.js.map +1 -1
  277. package/dist/domain/registry/read-clear-requests.d.ts +2 -2
  278. package/dist/domain/registry/read-clear-requests.js.map +1 -1
  279. package/dist/domain/registry/read-declared-network-rules.d.ts +5 -5
  280. package/dist/domain/registry/read-declared-network-rules.js +4 -4
  281. package/dist/domain/registry/read-declared-network-rules.js.map +1 -1
  282. package/dist/domain/registry/read-network-rules-draft-changes.d.ts +22 -0
  283. package/dist/domain/registry/read-network-rules-draft-changes.js +53 -0
  284. package/dist/domain/registry/read-network-rules-draft-changes.js.map +1 -0
  285. package/dist/domain/registry/read-network-rules.d.ts +30 -0
  286. package/dist/domain/registry/read-network-rules.js +18 -0
  287. package/dist/domain/registry/read-network-rules.js.map +1 -0
  288. package/dist/domain/registry/read-on-behalf.d.ts +3 -3
  289. package/dist/domain/registry/read-on-behalf.js.map +1 -1
  290. package/dist/domain/registry/read-reach-refusals.d.ts +6 -5
  291. package/dist/domain/registry/read-reach-refusals.js +13 -8
  292. package/dist/domain/registry/read-reach-refusals.js.map +1 -1
  293. package/dist/domain/registry/read-reach.d.ts +10 -10
  294. package/dist/domain/registry/read-reach.js +26 -16
  295. package/dist/domain/registry/read-reach.js.map +1 -1
  296. package/dist/domain/registry/recrew-ship.d.ts +2 -2
  297. package/dist/domain/registry/recrew-ship.js +5 -3
  298. package/dist/domain/registry/recrew-ship.js.map +1 -1
  299. package/dist/domain/registry/release-ship.d.ts +7 -4
  300. package/dist/domain/registry/release-ship.js +8 -4
  301. package/dist/domain/registry/release-ship.js.map +1 -1
  302. package/dist/domain/registry/remove-crew-request.d.ts +2 -2
  303. package/dist/domain/registry/remove-crew-request.js +4 -3
  304. package/dist/domain/registry/remove-crew-request.js.map +1 -1
  305. package/dist/domain/registry/rename-ship.d.ts +1 -1
  306. package/dist/domain/registry/rename-ship.js +4 -3
  307. package/dist/domain/registry/rename-ship.js.map +1 -1
  308. package/dist/domain/registry/report-crew-status.d.ts +2 -2
  309. package/dist/domain/registry/report-crew-status.js +3 -2
  310. package/dist/domain/registry/report-crew-status.js.map +1 -1
  311. package/dist/domain/registry/request-crew.d.ts +3 -3
  312. package/dist/domain/registry/request-crew.js +4 -3
  313. package/dist/domain/registry/request-crew.js.map +1 -1
  314. package/dist/domain/registry/request-worktree-clear.d.ts +2 -2
  315. package/dist/domain/registry/request-worktree-clear.js +4 -3
  316. package/dist/domain/registry/request-worktree-clear.js.map +1 -1
  317. package/dist/domain/registry/retire-ship.d.ts +17 -12
  318. package/dist/domain/registry/retire-ship.js +30 -21
  319. package/dist/domain/registry/retire-ship.js.map +1 -1
  320. package/dist/domain/registry/save-network-rules-draft.d.ts +31 -0
  321. package/dist/domain/registry/save-network-rules-draft.js +27 -0
  322. package/dist/domain/registry/save-network-rules-draft.js.map +1 -0
  323. package/dist/domain/registry/scope-grant.d.ts +19 -19
  324. package/dist/domain/registry/scope-grant.js +8 -9
  325. package/dist/domain/registry/scope-grant.js.map +1 -1
  326. package/dist/domain/registry/set-built-in-rule.d.ts +3 -3
  327. package/dist/domain/registry/set-built-in-rule.js +5 -9
  328. package/dist/domain/registry/set-built-in-rule.js.map +1 -1
  329. package/dist/domain/registry/set-owner.d.ts +9 -6
  330. package/dist/domain/registry/set-owner.js +14 -8
  331. package/dist/domain/registry/set-owner.js.map +1 -1
  332. package/dist/domain/registry/set-verified-facts.d.ts +36 -0
  333. package/dist/domain/registry/set-verified-facts.js +58 -0
  334. package/dist/domain/registry/set-verified-facts.js.map +1 -0
  335. package/dist/domain/registry/ship.d.ts +55 -17
  336. package/dist/domain/registry/ship.js +107 -16
  337. package/dist/domain/registry/ship.js.map +1 -1
  338. package/dist/domain/registry/statement.d.ts +2 -2
  339. package/dist/domain/registry/statement.js +2 -2
  340. package/dist/domain/registry/statement.js.map +1 -1
  341. package/dist/domain/registry/turn.d.ts +2 -2
  342. package/dist/domain/registry/turn.js +2 -2
  343. package/dist/domain/registry/turn.js.map +1 -1
  344. package/dist/domain/registry/unassign-label.d.ts +8 -5
  345. package/dist/domain/registry/unassign-label.js +17 -6
  346. package/dist/domain/registry/unassign-label.js.map +1 -1
  347. package/dist/domain/registry/verified-facts.d.ts +75 -0
  348. package/dist/domain/registry/verified-facts.js +107 -0
  349. package/dist/domain/registry/verified-facts.js.map +1 -0
  350. package/dist/domain/registry/whoami.d.ts +2 -2
  351. package/dist/domain/shared/caller.d.ts +40 -6
  352. package/dist/domain/shared/caller.js +20 -0
  353. package/dist/domain/shared/caller.js.map +1 -1
  354. package/dist/domain/shared/delivery-way.d.ts +9 -5
  355. package/dist/domain/shared/delivery-way.js +17 -5
  356. package/dist/domain/shared/delivery-way.js.map +1 -1
  357. package/dist/domain/shared/errors.d.ts +1 -1
  358. package/dist/domain/shared/errors.js.map +1 -1
  359. package/dist/domain/shared/events.d.ts +13 -2
  360. package/dist/domain/shared/events.js.map +1 -1
  361. package/dist/domain/shared/health.d.ts +3 -1
  362. package/dist/domain/shared/health.js +5 -3
  363. package/dist/domain/shared/health.js.map +1 -1
  364. package/dist/domain/shared/history.d.ts +5 -1
  365. package/dist/domain/shared/history.js.map +1 -1
  366. package/dist/domain/shared/read-fleet-limits.d.ts +2 -2
  367. package/dist/domain/shared/read-health.d.ts +4 -3
  368. package/dist/domain/shared/read-health.js +9 -3
  369. package/dist/domain/shared/read-health.js.map +1 -1
  370. package/dist/domain/shared/read-inbox.d.ts +2 -2
  371. package/dist/domain/shared/read-message.d.ts +2 -2
  372. package/dist/domain/shared/read-needs-attention.d.ts +2 -2
  373. package/dist/domain/shared/read-sent-message.d.ts +31 -0
  374. package/dist/domain/shared/read-sent-message.js +28 -0
  375. package/dist/domain/shared/read-sent-message.js.map +1 -0
  376. package/dist/domain/shared/read-ship-messages.d.ts +2 -2
  377. package/dist/domain/shared/read-ship-timeline.d.ts +2 -2
  378. package/dist/domain/shared/read-ship-way.d.ts +2 -2
  379. package/dist/domain/shared/read-ship-way.js +1 -1
  380. package/dist/domain/shared/read-ship-way.js.map +1 -1
  381. package/dist/domain/shared/stuck.js +4 -2
  382. package/dist/domain/shared/stuck.js.map +1 -1
  383. package/dist/start.js +1 -0
  384. package/dist/start.js.map +1 -1
  385. package/dist/testing/account-token-issuer.d.ts +30 -0
  386. package/dist/testing/account-token-issuer.js +48 -0
  387. package/dist/testing/account-token-issuer.js.map +1 -0
  388. package/dist/testing/container-images.d.ts +14 -0
  389. package/dist/testing/container-images.js +18 -0
  390. package/dist/testing/container-images.js.map +1 -0
  391. package/dist/testing/database.d.ts +14 -0
  392. package/dist/testing/database.js +48 -0
  393. package/dist/testing/database.js.map +1 -0
  394. package/dist/testing/fleet.d.ts +13 -0
  395. package/dist/testing/fleet.js +17 -0
  396. package/dist/testing/fleet.js.map +1 -0
  397. package/dist/testing/index.d.ts +12 -0
  398. package/dist/testing/index.js +12 -0
  399. package/dist/testing/index.js.map +1 -0
  400. package/dist/testing/keys.d.ts +1 -0
  401. package/dist/testing/keys.js +7 -0
  402. package/dist/testing/keys.js.map +1 -0
  403. package/dist/testing/migrate-lock.d.ts +12 -0
  404. package/dist/testing/migrate-lock.js +51 -0
  405. package/dist/testing/migrate-lock.js.map +1 -0
  406. package/dist/testing/migrated-template.d.ts +12 -0
  407. package/dist/testing/migrated-template.js +29 -0
  408. package/dist/testing/migrated-template.js.map +1 -0
  409. package/dist/testing/postgres-container.d.ts +16 -0
  410. package/dist/testing/postgres-container.js +30 -0
  411. package/dist/testing/postgres-container.js.map +1 -0
  412. package/dist/testing/postgres-global-setup.d.ts +15 -0
  413. package/dist/testing/postgres-global-setup.js +20 -0
  414. package/dist/testing/postgres-global-setup.js.map +1 -0
  415. package/dist/testing/prisma-cli.d.ts +5 -0
  416. package/dist/testing/prisma-cli.js +15 -0
  417. package/dist/testing/prisma-cli.js.map +1 -0
  418. package/dist/testing/result.d.ts +5 -0
  419. package/dist/testing/result.js +15 -0
  420. package/dist/testing/result.js.map +1 -0
  421. package/dist/wiring.d.ts +27 -6
  422. package/dist/wiring.js +44 -11
  423. package/dist/wiring.js.map +1 -1
  424. package/package.json +26 -3
  425. package/src/adapters/prisma/migrations/20261018250000_scope_catalogue/migration.sql +8 -7
  426. package/src/adapters/prisma/migrations/20261019100000_on_behalf_scope/migration.sql +3 -1
  427. package/src/adapters/prisma/migrations/20261019130000_plugin_connections/migration.sql +54 -0
  428. package/src/adapters/prisma/migrations/20261019150000_network_plugin_registered_at/migration.sql +23 -0
  429. package/src/adapters/prisma/migrations/20261019160000_lease_waker/migration.sql +4 -0
  430. package/src/adapters/prisma/migrations/20261019200000_account_cut_offs/migration.sql +10 -0
  431. package/src/adapters/prisma/migrations/20261019210000_event_actors/migration.sql +32 -0
  432. package/src/adapters/prisma/migrations/20261020090000_argos_jobs_as_scopes/migration.sql +65 -0
  433. package/src/adapters/prisma/migrations/20261020100000_installation_labels/migration.sql +7 -0
  434. package/src/adapters/prisma/migrations/20261020110000_installation_declared_network_rules/migration.sql +10 -0
  435. package/src/adapters/prisma/migrations/20261020120000_commissioning_actors/migration.sql +14 -0
  436. package/src/adapters/prisma/migrations/20261020130000_console_sign_in_accounts/migration.sql +4 -0
  437. package/src/adapters/prisma/migrations/20261020140000_event_signed_in_accounts/migration.sql +4 -0
  438. package/src/adapters/prisma/migrations/20261020150000_account_cut_off_ends_console_sessions/migration.sql +2 -0
  439. package/src/adapters/prisma/migrations/20261020160000_network_in_core/migration.sql +30 -0
  440. package/src/adapters/prisma/migrations/20261020170000_verify_scope/migration.sql +64 -0
  441. package/src/adapters/prisma/migrations/20261020180000_verified_facts/migration.sql +21 -0
  442. package/src/adapters/prisma/migrations/20261020190000_verified_facts_by_writer/migration.sql +3 -0
  443. package/src/adapters/prisma/schema.prisma +160 -22
  444. package/dist/domain/registry/register-network-plugin.d.ts +0 -28
  445. package/dist/domain/registry/register-network-plugin.js +0 -26
  446. package/dist/domain/registry/register-network-plugin.js.map +0 -1
  447. package/dist/domain/registry/set-network-rules.d.ts +0 -31
  448. package/dist/domain/registry/set-network-rules.js +0 -27
  449. package/dist/domain/registry/set-network-rules.js.map +0 -1
  450. package/dist/domain/registry/unregister-network-plugin.d.ts +0 -27
  451. package/dist/domain/registry/unregister-network-plugin.js +0 -25
  452. package/dist/domain/registry/unregister-network-plugin.js.map +0 -1
@@ -52,8 +52,12 @@ model Fleet {
52
52
  labelValues LabelValue[]
53
53
  shipLabels ShipLabel[]
54
54
  networkSettings NetworkSettings?
55
+ networkRulesDraft NetworkRulesDraft?
55
56
  declaredNetworkRules DeclaredNetworkRules[]
57
+ installationDeclaredNetworkRules InstallationDeclaredNetworkRules?
56
58
  scopeNamespaces ScopeNamespace[]
59
+ pluginConnections PluginConnection[]
60
+ verifiedFacts VerifiedFacts[]
57
61
  reachRefusals ReachRefusal[]
58
62
  credentials Credential[]
59
63
  messages Message[]
@@ -92,7 +96,9 @@ model Ship {
92
96
  note String?
93
97
  createdAt DateTime @map("created_at") @db.Timestamptz(3)
94
98
  retiredAt DateTime? @map("retired_at") @db.Timestamptz(3)
95
- /// The ship that commissioned it, its idempotency key and the request's hash; null for argo.
99
+ /// The actor that commissioned it, its idempotency key and the request's hash; null for argo.
100
+ /// commissioned_by names the actor: a ship's id, an account's id, or `installation`.
101
+ commissionedByKind CommissionerKind? @map("commissioned_by_kind")
96
102
  commissionedBy String? @map("commissioned_by")
97
103
  commissionKey String? @map("commission_key")
98
104
  commissionRequestHash String? @map("commission_request_hash")
@@ -111,6 +117,7 @@ model Ship {
111
117
  overdueDeliveries OverdueDelivery[]
112
118
  consoleSessions ConsoleSession[]
113
119
  actorOfEvents Event[] @relation("EventActorShip")
120
+ actorThroughOfEvents Event[] @relation("EventActorThroughShip")
114
121
  events Event[] @relation("EventShip")
115
122
  crewRequest CrewRequest? @relation("CrewRequestShip")
116
123
  assignedCrews CrewRequest[] @relation("CrewRequestAssignee")
@@ -122,10 +129,12 @@ model Ship {
122
129
  labels ShipLabel[] @relation("ShipLabelShip")
123
130
  declaredNetworkRules DeclaredNetworkRules[]
124
131
  declaredNamespace ScopeNamespace?
132
+ pluginConnection PluginConnection?
133
+ verifiedFacts VerifiedFacts[]
125
134
 
126
135
  @@unique([fleetId, id])
127
- /// An idempotency key is used once per commissioning ship.
128
- @@unique([fleetId, commissionedBy, commissionKey])
136
+ /// An idempotency key is used once per commissioning actor.
137
+ @@unique([fleetId, commissionedByKind, commissionedBy, commissionKey], map: "ships_commission_key_key")
129
138
  /// A name is unique among ships that are not retired, and reusable after retirement.
130
139
  @@unique([fleetId, name], map: "ships_fleet_id_name_active_key", where: { retiredAt: null })
131
140
  /// Exactly one operator ship per fleet.
@@ -146,6 +155,16 @@ enum ReportState {
146
155
  }
147
156
 
148
157
  /// A pushed session's turn, as its hooks report it (decision 0040).
158
+ enum LeaseWaker {
159
+ trierarch
160
+ pluginWatcher
161
+ personApp
162
+ gateway
163
+ adapter
164
+
165
+ @@map("lease_waker")
166
+ }
167
+
149
168
  enum TurnState {
150
169
  idle
151
170
  busy
@@ -193,6 +212,8 @@ model Lease {
193
212
  statementVersion Int @default(0) @map("statement_version")
194
213
  /// From the lease's first push receive: the computer side takes its deliveries, and the agent's plain receive answers nothing (decision 0040).
195
214
  pushedAt DateTime? @map("pushed_at") @db.Timestamptz(3)
215
+ /// What wakes the ship, as its first push receive stated it; null when it stated none (interop 5.1).
216
+ waker LeaseWaker?
196
217
  /// The session's turn as its hooks last reported it, and when they saw it change; null until they report (decision 0040).
197
218
  turn TurnState?
198
219
  turnAt DateTime? @map("turn_at") @db.Timestamptz(3)
@@ -304,10 +325,12 @@ model Label {
304
325
  id String @id
305
326
  fleetId String @map("fleet_id")
306
327
  key String
307
- ownerShipId String @map("owner_ship_id")
328
+ /// A ship or the installation (decision 0031); the installation's label names no owner ship.
329
+ ownerKind LabelOwnerKind @default(ship) @map("owner_kind")
330
+ ownerShipId String? @map("owner_ship_id")
308
331
 
309
332
  fleet Fleet @relation(fields: [fleetId], references: [id])
310
- owner Ship @relation("LabelOwner", fields: [fleetId, ownerShipId], references: [fleetId, id])
333
+ owner Ship? @relation("LabelOwner", fields: [fleetId, ownerShipId], references: [fleetId, id])
311
334
  values LabelValue[]
312
335
  carriers ShipLabel[]
313
336
 
@@ -362,26 +385,33 @@ model ShipLabel {
362
385
  /// rules as JSON, none (null) for all-to-all, and their version. A send and a
363
386
  /// set take turns on an advisory lock on them (network.ts).
364
387
  model NetworkSettings {
365
- fleetId String @id @map("fleet_id")
366
- rules Json @default("[]")
367
- /// The built-in rules that can be off (decision 0034): the viewer reading,
368
- /// argo's, and open per verb, the networking plugin's. On at fleet create.
369
- builtInViewerRead Boolean @default(true) @map("built_in_viewer_read")
370
- builtInOpenSend Boolean @default(true) @map("built_in_open_send")
371
- builtInOpenRead Boolean @default(true) @map("built_in_open_read")
372
- builtInOpenManage Boolean @default(true) @map("built_in_open_manage")
373
- version Int
374
- /// The fleet's networking plugin (decision 0035): its ship and what it
375
- /// declared, all three set or none.
376
- pluginShipId String? @map("plugin_ship_id")
377
- pluginWhileUnavailable String? @map("plugin_while_unavailable")
378
- pluginNotRespondingAfterSeconds Int? @map("plugin_not_responding_after_seconds")
388
+ fleetId String @id @map("fleet_id")
389
+ /// The fleet's own rules as last applied (decision 0034); NULL while none
390
+ /// are, all-to-all with open on.
391
+ rules Json?
392
+ /// The viewer reading every ship, the built-in rule an actor turns (decision 0034). On at fleet create.
393
+ builtInViewerRead Boolean @default(true) @map("built_in_viewer_read")
394
+ version Int
379
395
 
380
396
  fleet Fleet @relation(fields: [fleetId], references: [id])
381
397
 
382
398
  @@map("network_settings")
383
399
  }
384
400
 
401
+ /// The draft of a fleet's own rules (decision 0034): one a fleet at most, the
402
+ /// rules as JSON or NULL for all-to-all. Nothing in force reads it; an apply
403
+ /// moves it into network_settings and removes it.
404
+ model NetworkRulesDraft {
405
+ fleetId String @id @map("fleet_id")
406
+ rules Json?
407
+ savedAt DateTime @map("saved_at") @db.Timestamptz(3)
408
+ savedAgainstVersion Int @map("saved_against_version")
409
+
410
+ fleet Fleet @relation(fields: [fleetId], references: [id])
411
+
412
+ @@map("network_rules_drafts")
413
+ }
414
+
385
415
  /// The network rules a ship declared on the labels it owns (decision 0037),
386
416
  /// its whole list as JSON, at most 20. No row while it declares none; a retire
387
417
  /// removes its row.
@@ -397,6 +427,18 @@ model DeclaredNetworkRules {
397
427
  @@map("declared_network_rules")
398
428
  }
399
429
 
430
+ /// The network rules the installation declares on the labels it owns in one
431
+ /// fleet (decisions 0037, 0052), its whole list as JSON; no row while it
432
+ /// declares none.
433
+ model InstallationDeclaredNetworkRules {
434
+ fleetId String @id @map("fleet_id")
435
+ rules Json
436
+
437
+ fleet Fleet @relation(fields: [fleetId], references: [id])
438
+
439
+ @@map("installation_declared_network_rules")
440
+ }
441
+
400
442
  /// A plugin's namespace (decision 0046): taken up for good by the ship that
401
443
  /// declared it, one per ship and unique in the fleet, with its whole list of
402
444
  /// scopes and their descriptions as JSON, in order. It goes when its declarer
@@ -415,6 +457,41 @@ model ScopeNamespace {
415
457
  @@map("scope_namespaces")
416
458
  }
417
459
 
460
+ /// A plugin argo connected (decision 0034): its ship reads every ship of the
461
+ /// fleet, whatever the rules, until a release or a retire of the ship ends it.
462
+ model PluginConnection {
463
+ fleetId String @map("fleet_id")
464
+ shipId String @map("ship_id")
465
+ connectedAt DateTime @map("connected_at") @db.Timestamptz(3)
466
+
467
+ fleet Fleet @relation(fields: [fleetId], references: [id])
468
+ ship Ship @relation(fields: [fleetId, shipId], references: [fleetId, id])
469
+
470
+ @@id([fleetId, shipId])
471
+ @@map("plugin_connections")
472
+ }
473
+
474
+ /// One writer's verified facts about a ship (decision 0059): what it checked,
475
+ /// as JSON in the shape common gives, set whole and kept with the ship. The
476
+ /// writer is an actor: a ship or an account by its id, or the installation
477
+ /// by its name, as a commissioning actor is.
478
+ model VerifiedFacts {
479
+ fleetId String @map("fleet_id")
480
+ shipId String @map("ship_id")
481
+ writerKind FactWriterKind @map("writer_kind")
482
+ writer String
483
+ facts Json
484
+ writtenAt DateTime @map("written_at") @db.Timestamptz(3)
485
+
486
+ fleet Fleet @relation(fields: [fleetId], references: [id])
487
+ ship Ship @relation(fields: [fleetId, shipId], references: [fleetId, id])
488
+
489
+ @@id([fleetId, shipId, writerKind, writer])
490
+ /// A retiring writer finds its facts about every ship.
491
+ @@index([fleetId, writerKind, writer])
492
+ @@map("verified_facts")
493
+ }
494
+
418
495
  /// A send the network rules refused (decision 0034), recorded in the
419
496
  /// transaction that refused it. Ids start with rfs_. Sender and recipient are
420
497
  /// as they were then: ids, names and the label values they carried, as JSON,
@@ -430,9 +507,6 @@ model ReachRefusal {
430
507
  /// What the sender tried to do: send, read or manage (decision 0034).
431
508
  verb String
432
509
  settingsVersion Int @map("settings_version")
433
- /// What the networking plugin declared, when it refused while the plugin
434
- /// was not responding (decision 0035): block-all or keep-latest.
435
- whilePluginUnavailable String? @map("while_plugin_unavailable")
436
510
 
437
511
  fleet Fleet @relation(fields: [fleetId], references: [id])
438
512
 
@@ -629,7 +703,15 @@ model Event {
629
703
  fleetId String @map("fleet_id")
630
704
  type String
631
705
  occurredAt DateTime @map("occurred_at") @db.Timestamptz(3)
706
+ /// Who caused it (decision 0057): a ship, an account, the installation or the system.
707
+ actorKind EventActorKind @default(system) @map("actor_kind")
632
708
  actorShipId String? @map("actor_ship_id")
709
+ /// The account that caused it, by pagasae's id only: never an email.
710
+ actorAccountId String? @map("actor_account_id")
711
+ /// The ship that presented the account's token, a plugin's page or the gateway, if one did.
712
+ actorThroughShipId String? @map("actor_through_ship_id")
713
+ /// The account signed in to the console as argo when argo caused it, by its id only (decision 0054).
714
+ actorSignedInAccountId String? @map("actor_signed_in_account_id")
633
715
  shipId String? @map("ship_id")
634
716
  messageId String? @map("message_id")
635
717
  deliveryId String? @map("delivery_id")
@@ -641,6 +723,7 @@ model Event {
641
723
 
642
724
  fleet Fleet @relation(fields: [fleetId], references: [id])
643
725
  actorShip Ship? @relation("EventActorShip", fields: [fleetId, actorShipId], references: [fleetId, id], onDelete: Restrict)
726
+ actorThroughShip Ship? @relation("EventActorThroughShip", fields: [fleetId, actorThroughShipId], references: [fleetId, id], onDelete: Restrict)
644
727
  ship Ship? @relation("EventShip", fields: [fleetId, shipId], references: [fleetId, id], onDelete: Restrict)
645
728
  message Message? @relation(fields: [fleetId, messageId], references: [fleetId, id], onDelete: Restrict)
646
729
  delivery Delivery? @relation(fields: [fleetId, deliveryId], references: [fleetId, id], onDelete: Restrict)
@@ -649,6 +732,7 @@ model Event {
649
732
  /// Every foreign key has an index leading with its columns, so deleting a
650
733
  /// referenced row checks it with an index, not a scan (#331).
651
734
  @@index([fleetId, actorShipId])
735
+ @@index([actorThroughShipId, fleetId])
652
736
  @@index([fleetId, shipId])
653
737
  @@index([fleetId, messageId])
654
738
  @@index([fleetId, deliveryId])
@@ -663,6 +747,7 @@ enum ConsoleSessionEndReason {
663
747
  takenOver
664
748
  signedOut
665
749
  passwordReset
750
+ accountCutOff
666
751
 
667
752
  @@map("console_session_end_reason")
668
753
  }
@@ -709,6 +794,8 @@ model ConsoleSession {
709
794
  endsBy DateTime? @map("ends_by") @db.Timestamptz(3)
710
795
  /// The device it signed in from, as the browser told: "Mac · Chrome".
711
796
  device String @default("Unknown device")
797
+ /// The account that signed in as argo, by its id only; null for argo's own sign-in and a viewer (decision 0054).
798
+ accountId String? @map("account_id")
712
799
  tokenHash String @unique @map("token_hash")
713
800
  createdAt DateTime @map("created_at") @db.Timestamptz(3)
714
801
  lastUsedAt DateTime @map("last_used_at") @db.Timestamptz(3)
@@ -741,6 +828,8 @@ model SignInTicket {
741
828
  fleetId String @map("fleet_id")
742
829
  /// Whom it signs in as: the operator or a viewer (decision 0022).
743
830
  signInAs SignInAs @map("sign_in_as")
831
+ /// The account it signs in as argo, by its id only; null for argo's own or a viewer's ticket (decision 0054).
832
+ accountId String? @map("account_id")
744
833
  issuedAt DateTime @map("issued_at") @db.Timestamptz(3)
745
834
  expiresAt DateTime @map("expires_at") @db.Timestamptz(3)
746
835
  /// When it signed in; null while unused.
@@ -870,3 +959,52 @@ model GuideProgress {
870
959
  @@index([fleetId])
871
960
  @@map("guide_progress")
872
961
  }
962
+
963
+ /// An account pagasae cut off (decision 0058): its tokens issued before
964
+ /// cut_off_at are refused in every fleet until forget_at, when the longest of
965
+ /// them has ended. The installation's, not a fleet's: no fleet_id (ADR 0007).
966
+ /// Never an email: the account by pagasae's id only.
967
+ model AccountCutOff {
968
+ accountId String @id @map("account_id")
969
+ cutOffAt DateTime @map("cut_off_at") @db.Timestamptz(3)
970
+ forgetAt DateTime @map("forget_at") @db.Timestamptz(3)
971
+
972
+ /// Forgetting finds the cut-offs that ended.
973
+ @@index([forgetAt])
974
+ @@map("account_cut_offs")
975
+ }
976
+
977
+ /// Who caused an event (decision 0057).
978
+ enum EventActorKind {
979
+ ship
980
+ account
981
+ installation
982
+ system
983
+
984
+ @@map("event_actor_kind")
985
+ }
986
+
987
+ /// Who commissioned a ship (decision 0057).
988
+ /// Who wrote a verified fact (decision 0059).
989
+ enum FactWriterKind {
990
+ ship
991
+ account
992
+ installation
993
+
994
+ @@map("fact_writer_kind")
995
+ }
996
+
997
+ enum CommissionerKind {
998
+ ship
999
+ account
1000
+ installation
1001
+
1002
+ @@map("commissioner_kind")
1003
+ }
1004
+
1005
+ enum LabelOwnerKind {
1006
+ ship
1007
+ installation
1008
+
1009
+ @@map("label_owner_kind")
1010
+ }
@@ -1,28 +0,0 @@
1
- import type { IdGenerator, NetworkPluginDeclaration } from '@aeolus-fleet/common';
2
- import type { Caller } from '../shared/caller.js';
3
- import type { Clock } from '../shared/clock.js';
4
- import { type EventLog } from '../shared/events.js';
5
- import { type Result } from '../shared/result.js';
6
- import type { UnitOfWork } from '../shared/unit-of-work.js';
7
- import { type RegisterNetworkPluginRefusal } from './network-settings.js';
8
- import type { NetworkSettingsRepository } from './ports.js';
9
- export interface RegisterNetworkPluginTx {
10
- networkSettings: Pick<NetworkSettingsRepository, 'findForUpdate' | 'save'>;
11
- events: EventLog;
12
- }
13
- export type RegisterNetworkPlugin = (caller: Caller, input: NetworkPluginDeclaration) => Promise<Result<{
14
- version: number;
15
- }, RegisterNetworkPluginRefusal>>;
16
- /**
17
- * Use case: the caller's ship becomes the fleet's networking plugin, saying
18
- * what happens to sends while it is unavailable and after how long without a
19
- * call it is not responding (decision 0035). Its scope (fleet:network) is
20
- * checked before this runs. In one unit of work, holding the settings
21
- * exclusively as a set of rules does: the settings at their next version,
22
- * and NetworkPluginRegistered.
23
- */
24
- export declare function createRegisterNetworkPlugin(deps: {
25
- uow: UnitOfWork<RegisterNetworkPluginTx>;
26
- clock: Clock;
27
- ids: IdGenerator;
28
- }): RegisterNetworkPlugin;
@@ -1,26 +0,0 @@
1
- import { recordEvent, shipActor } from '../shared/events.js';
2
- import { ok } from '../shared/result.js';
3
- import { registerNetworkPlugin } from './network-settings.js';
4
- /**
5
- * Use case: the caller's ship becomes the fleet's networking plugin, saying
6
- * what happens to sends while it is unavailable and after how long without a
7
- * call it is not responding (decision 0035). Its scope (fleet:network) is
8
- * checked before this runs. In one unit of work, holding the settings
9
- * exclusively as a set of rules does: the settings at their next version,
10
- * and NetworkPluginRegistered.
11
- */
12
- export function createRegisterNetworkPlugin(deps) {
13
- return (caller, declaration) => deps.uow.run(async (tx) => {
14
- const current = await tx.networkSettings.findForUpdate(caller.fleetId);
15
- const registered = registerNetworkPlugin(current, { shipId: caller.shipId, declaration, at: deps.clock.now(), actor: shipActor(caller.shipId) });
16
- if (!registered.isOk) {
17
- return registered;
18
- }
19
- await tx.networkSettings.save(registered.value.settings);
20
- for (const event of registered.value.events) {
21
- await recordEvent({ events: tx.events, ids: deps.ids }, event);
22
- }
23
- return ok({ version: registered.value.settings.version });
24
- });
25
- }
26
- //# sourceMappingURL=register-network-plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register-network-plugin.js","sourceRoot":"","sources":["../../../src/domain/registry/register-network-plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAqC,MAAM,uBAAuB,CAAC;AAUjG;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAkF;IAC5H,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAsE,EAAE;QAC5F,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjJ,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YACrB,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,MAAM,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzD,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5C,MAAM,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,31 +0,0 @@
1
- import type { IdGenerator } from '@aeolus-fleet/common';
2
- import type { Caller } from '../shared/caller.js';
3
- import type { Clock } from '../shared/clock.js';
4
- import { type EventLog } from '../shared/events.js';
5
- import { type Result } from '../shared/result.js';
6
- import type { UnitOfWork } from '../shared/unit-of-work.js';
7
- import { type NetworkRule, type SetNetworkRulesRefusal } from './network-settings.js';
8
- import type { DeclaredNetworkRulesRepository, NetworkSettingsRepository } from './ports.js';
9
- export interface SetNetworkRulesTx {
10
- networkSettings: Pick<NetworkSettingsRepository, 'findForUpdate' | 'save'>;
11
- declaredNetworkRules: Pick<DeclaredNetworkRulesRepository, 'list'>;
12
- events: EventLog;
13
- }
14
- export type SetNetworkRules = (caller: Caller, input: {
15
- rules: readonly NetworkRule[];
16
- }) => Promise<Result<{
17
- version: number;
18
- }, SetNetworkRulesRefusal>>;
19
- /**
20
- * Use case: the caller sets the fleet's network rules, the whole list beside
21
- * the built-in ones (decision 0034), argo's with the rules the fleet's
22
- * ships declared added (decision 0037), which the limit counts. Its scope (fleet:network, which argo
23
- * holds) is checked before this runs. In one unit of work, holding the
24
- * settings exclusively so no send is checked halfway: the settings at their
25
- * next version, and NetworkRulesSet.
26
- */
27
- export declare function createSetNetworkRules(deps: {
28
- uow: UnitOfWork<SetNetworkRulesTx>;
29
- clock: Clock;
30
- ids: IdGenerator;
31
- }): SetNetworkRules;
@@ -1,27 +0,0 @@
1
- import { recordEvent, shipActor } from '../shared/events.js';
2
- import { ok } from '../shared/result.js';
3
- import { setNetworkRules } from './network-settings.js';
4
- /**
5
- * Use case: the caller sets the fleet's network rules, the whole list beside
6
- * the built-in ones (decision 0034), argo's with the rules the fleet's
7
- * ships declared added (decision 0037), which the limit counts. Its scope (fleet:network, which argo
8
- * holds) is checked before this runs. In one unit of work, holding the
9
- * settings exclusively so no send is checked halfway: the settings at their
10
- * next version, and NetworkRulesSet.
11
- */
12
- export function createSetNetworkRules(deps) {
13
- return (caller, input) => deps.uow.run(async (tx) => {
14
- const current = await tx.networkSettings.findForUpdate(caller.fleetId);
15
- const declaredRules = (await tx.declaredNetworkRules.list(caller.fleetId)).reduce((count, declared) => count + declared.rules.length, 0);
16
- const set = setNetworkRules(current, { rules: input.rules, declaredRules, shipId: caller.shipId, at: deps.clock.now(), actor: shipActor(caller.shipId) });
17
- if (!set.isOk) {
18
- return set;
19
- }
20
- await tx.networkSettings.save(set.value.settings);
21
- for (const event of set.value.events) {
22
- await recordEvent({ events: tx.events, ids: deps.ids }, event);
23
- }
24
- return ok({ version: set.value.settings.version });
25
- });
26
- }
27
- //# sourceMappingURL=set-network-rules.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"set-network-rules.js","sourceRoot":"","sources":["../../../src/domain/registry/set-network-rules.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAiD,MAAM,uBAAuB,CAAC;AAWvG;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAA4E;IAChH,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CACvB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAgE,EAAE;QACtF,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACzI,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1J,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,GAAG,CAAC;QACb,CAAC;QACD,MAAM,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,27 +0,0 @@
1
- import type { IdGenerator } from '@aeolus-fleet/common';
2
- import type { Caller } from '../shared/caller.js';
3
- import type { Clock } from '../shared/clock.js';
4
- import { type EventLog } from '../shared/events.js';
5
- import { type Result } from '../shared/result.js';
6
- import type { UnitOfWork } from '../shared/unit-of-work.js';
7
- import { type NotTheNetworkPlugin } from './network-settings.js';
8
- import type { NetworkSettingsRepository } from './ports.js';
9
- export interface UnregisterNetworkPluginTx {
10
- networkSettings: Pick<NetworkSettingsRepository, 'findForUpdate' | 'save'>;
11
- events: EventLog;
12
- }
13
- export type UnregisterNetworkPlugin = (caller: Caller) => Promise<Result<{
14
- version: number;
15
- }, NotTheNetworkPlugin>>;
16
- /**
17
- * Use case: the fleet's networking plugin unregisters, as it does when it is
18
- * switched off or deleted for the fleet (decision 0035): no plugin and no
19
- * rules, all-to-all. Its scope (fleet:network) is checked before this runs.
20
- * In one unit of work, holding the settings exclusively: the settings at
21
- * their next version, and NetworkPluginUnregistered.
22
- */
23
- export declare function createUnregisterNetworkPlugin(deps: {
24
- uow: UnitOfWork<UnregisterNetworkPluginTx>;
25
- clock: Clock;
26
- ids: IdGenerator;
27
- }): UnregisterNetworkPlugin;
@@ -1,25 +0,0 @@
1
- import { recordEvent, shipActor } from '../shared/events.js';
2
- import { ok } from '../shared/result.js';
3
- import { unregisterNetworkPlugin } from './network-settings.js';
4
- /**
5
- * Use case: the fleet's networking plugin unregisters, as it does when it is
6
- * switched off or deleted for the fleet (decision 0035): no plugin and no
7
- * rules, all-to-all. Its scope (fleet:network) is checked before this runs.
8
- * In one unit of work, holding the settings exclusively: the settings at
9
- * their next version, and NetworkPluginUnregistered.
10
- */
11
- export function createUnregisterNetworkPlugin(deps) {
12
- return (caller) => deps.uow.run(async (tx) => {
13
- const current = await tx.networkSettings.findForUpdate(caller.fleetId);
14
- const unregistered = unregisterNetworkPlugin(current, { shipId: caller.shipId, at: deps.clock.now(), actor: shipActor(caller.shipId) });
15
- if (!unregistered.isOk) {
16
- return unregistered;
17
- }
18
- await tx.networkSettings.save(unregistered.value.settings);
19
- for (const event of unregistered.value.events) {
20
- await recordEvent({ events: tx.events, ids: deps.ids }, event);
21
- }
22
- return ok({ version: unregistered.value.settings.version });
23
- });
24
- }
25
- //# sourceMappingURL=unregister-network-plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unregister-network-plugin.js","sourceRoot":"","sources":["../../../src/domain/registry/unregister-network-plugin.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAiB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAe,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,uBAAuB,EAA4B,MAAM,uBAAuB,CAAC;AAU1F;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAAoF;IAChI,OAAO,CAAC,MAAM,EAAE,EAAE,CAChB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAA6D,EAAE;QACnF,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACvE,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACvB,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3D,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9C,MAAM,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACP,CAAC"}