@aeolus-fleet/core 0.26.1 → 0.27.1

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 (364) hide show
  1. package/README.md +1 -1
  2. package/dist/adapters/http/request-credentials.d.ts +2 -9
  3. package/dist/adapters/http/request-credentials.js +8 -1
  4. package/dist/adapters/http/request-credentials.js.map +1 -1
  5. package/dist/adapters/http/server.js +2 -1
  6. package/dist/adapters/http/server.js.map +1 -1
  7. package/dist/adapters/mcp/mcp-endpoint.js +11 -1
  8. package/dist/adapters/mcp/mcp-endpoint.js.map +1 -1
  9. package/dist/adapters/prisma/generated/browser.d.ts +14 -0
  10. package/dist/adapters/prisma/generated/client.d.ts +14 -0
  11. package/dist/adapters/prisma/generated/commonInputTypes.d.ts +30 -0
  12. package/dist/adapters/prisma/generated/enums.d.ts +10 -0
  13. package/dist/adapters/prisma/generated/enums.js +10 -1
  14. package/dist/adapters/prisma/generated/enums.js.map +1 -1
  15. package/dist/adapters/prisma/generated/internal/class.d.ts +22 -0
  16. package/dist/adapters/prisma/generated/internal/class.js +4 -4
  17. package/dist/adapters/prisma/generated/internal/class.js.map +1 -1
  18. package/dist/adapters/prisma/generated/internal/prismaNamespace.d.ts +186 -1
  19. package/dist/adapters/prisma/generated/internal/prismaNamespace.js +27 -2
  20. package/dist/adapters/prisma/generated/internal/prismaNamespace.js.map +1 -1
  21. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.d.ts +27 -0
  22. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js +27 -2
  23. package/dist/adapters/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  24. package/dist/adapters/prisma/generated/models/Delivery.d.ts +71 -1
  25. package/dist/adapters/prisma/generated/models/Fleet.d.ts +558 -0
  26. package/dist/adapters/prisma/generated/models/Lease.d.ts +172 -1
  27. package/dist/adapters/prisma/generated/models/NetworkSettings.d.ts +185 -21
  28. package/dist/adapters/prisma/generated/models/PluginConnection.d.ts +1180 -0
  29. package/dist/adapters/prisma/generated/models/PluginConnection.js +2 -0
  30. package/dist/adapters/prisma/generated/models/PluginConnection.js.map +1 -0
  31. package/dist/adapters/prisma/generated/models/ReachRefusal.d.ts +71 -1
  32. package/dist/adapters/prisma/generated/models/ScopeNamespace.d.ts +1220 -0
  33. package/dist/adapters/prisma/generated/models/ScopeNamespace.js +2 -0
  34. package/dist/adapters/prisma/generated/models/ScopeNamespace.js.map +1 -0
  35. package/dist/adapters/prisma/generated/models/Ship.d.ts +1269 -51
  36. package/dist/adapters/prisma/generated/models.d.ts +2 -0
  37. package/dist/adapters/prisma/health.js +27 -7
  38. package/dist/adapters/prisma/health.js.map +1 -1
  39. package/dist/adapters/prisma/history.js +18 -72
  40. package/dist/adapters/prisma/history.js.map +1 -1
  41. package/dist/adapters/prisma/messaging.js +31 -35
  42. package/dist/adapters/prisma/messaging.js.map +1 -1
  43. package/dist/adapters/prisma/network.js +45 -15
  44. package/dist/adapters/prisma/network.js.map +1 -1
  45. package/dist/adapters/prisma/overdue.js +4 -3
  46. package/dist/adapters/prisma/overdue.js.map +1 -1
  47. package/dist/adapters/prisma/plugin-connections.d.ts +4 -0
  48. package/dist/adapters/prisma/plugin-connections.js +20 -0
  49. package/dist/adapters/prisma/plugin-connections.js.map +1 -0
  50. package/dist/adapters/prisma/registry.js +68 -13
  51. package/dist/adapters/prisma/registry.js.map +1 -1
  52. package/dist/adapters/prisma/rows.d.ts +3 -0
  53. package/dist/adapters/prisma/rows.js +22 -7
  54. package/dist/adapters/prisma/rows.js.map +1 -1
  55. package/dist/adapters/prisma/scope-namespaces.d.ts +4 -0
  56. package/dist/adapters/prisma/scope-namespaces.js +39 -0
  57. package/dist/adapters/prisma/scope-namespaces.js.map +1 -0
  58. package/dist/adapters/prisma/unit-of-work.d.ts +3 -1
  59. package/dist/adapters/prisma/unit-of-work.js +4 -0
  60. package/dist/adapters/prisma/unit-of-work.js.map +1 -1
  61. package/dist/adapters/rest/rest-api.js +2 -2
  62. package/dist/adapters/rest/rest-api.js.map +1 -1
  63. package/dist/adapters/trpc/console.d.ts +1 -1
  64. package/dist/adapters/trpc/console.js +6 -4
  65. package/dist/adapters/trpc/console.js.map +1 -1
  66. package/dist/adapters/trpc/context.d.ts +28 -4
  67. package/dist/adapters/trpc/fleet.d.ts +243 -90
  68. package/dist/adapters/trpc/fleet.js +146 -57
  69. package/dist/adapters/trpc/fleet.js.map +1 -1
  70. package/dist/adapters/trpc/router.d.ts +366 -86
  71. package/dist/adapters/trpc/ship-contract.js +5 -0
  72. package/dist/adapters/trpc/ship-contract.js.map +1 -1
  73. package/dist/adapters/trpc/ship-protocol.js +7 -5
  74. package/dist/adapters/trpc/ship-protocol.js.map +1 -1
  75. package/dist/adapters/trpc/ship.d.ts +156 -3
  76. package/dist/adapters/trpc/ship.js +89 -8
  77. package/dist/adapters/trpc/ship.js.map +1 -1
  78. package/dist/adapters/trpc/trpc.d.ts +13 -9
  79. package/dist/adapters/trpc/trpc.js +90 -26
  80. package/dist/adapters/trpc/trpc.js.map +1 -1
  81. package/dist/domain/messaging/check-inbox.d.ts +5 -5
  82. package/dist/domain/messaging/check-inbox.js +9 -7
  83. package/dist/domain/messaging/check-inbox.js.map +1 -1
  84. package/dist/domain/messaging/delivery.d.ts +8 -2
  85. package/dist/domain/messaging/delivery.js +14 -9
  86. package/dist/domain/messaging/delivery.js.map +1 -1
  87. package/dist/domain/messaging/dismiss-delivery.d.ts +9 -4
  88. package/dist/domain/messaging/dismiss-delivery.js +26 -19
  89. package/dist/domain/messaging/dismiss-delivery.js.map +1 -1
  90. package/dist/domain/messaging/hand-over-delivery.d.ts +1 -0
  91. package/dist/domain/messaging/hand-over-delivery.js +1 -0
  92. package/dist/domain/messaging/hand-over-delivery.js.map +1 -1
  93. package/dist/domain/messaging/message.d.ts +11 -5
  94. package/dist/domain/messaging/message.js +11 -4
  95. package/dist/domain/messaging/message.js.map +1 -1
  96. package/dist/domain/messaging/overdue.d.ts +2 -0
  97. package/dist/domain/messaging/overdue.js +3 -0
  98. package/dist/domain/messaging/overdue.js.map +1 -1
  99. package/dist/domain/messaging/ping-ship.d.ts +3 -3
  100. package/dist/domain/messaging/ping-ship.js +6 -2
  101. package/dist/domain/messaging/ping-ship.js.map +1 -1
  102. package/dist/domain/messaging/ports.d.ts +11 -3
  103. package/dist/domain/messaging/push-receive-deliveries.d.ts +4 -1
  104. package/dist/domain/messaging/push-receive-deliveries.js +5 -3
  105. package/dist/domain/messaging/push-receive-deliveries.js.map +1 -1
  106. package/dist/domain/messaging/receive-deliveries.d.ts +23 -0
  107. package/dist/domain/messaging/receive-deliveries.js +6 -3
  108. package/dist/domain/messaging/receive-deliveries.js.map +1 -1
  109. package/dist/domain/messaging/receive-reply.d.ts +32 -0
  110. package/dist/domain/messaging/receive-reply.js +25 -0
  111. package/dist/domain/messaging/receive-reply.js.map +1 -0
  112. package/dist/domain/messaging/resend-delivery.d.ts +5 -2
  113. package/dist/domain/messaging/resend-delivery.js +8 -4
  114. package/dist/domain/messaging/resend-delivery.js.map +1 -1
  115. package/dist/domain/messaging/send-message.d.ts +9 -2
  116. package/dist/domain/messaging/send-message.js +12 -2
  117. package/dist/domain/messaging/send-message.js.map +1 -1
  118. package/dist/domain/messaging/send-request.d.ts +3 -1
  119. package/dist/domain/messaging/send-request.js +4 -2
  120. package/dist/domain/messaging/send-request.js.map +1 -1
  121. package/dist/domain/registry/assign-label.d.ts +2 -1
  122. package/dist/domain/registry/assign-label.js +3 -2
  123. package/dist/domain/registry/assign-label.js.map +1 -1
  124. package/dist/domain/registry/check-reach.d.ts +69 -6
  125. package/dist/domain/registry/check-reach.js +109 -12
  126. package/dist/domain/registry/check-reach.js.map +1 -1
  127. package/dist/domain/registry/commission-ship.d.ts +21 -8
  128. package/dist/domain/registry/commission-ship.js +55 -10
  129. package/dist/domain/registry/commission-ship.js.map +1 -1
  130. package/dist/domain/registry/connect-plugin.d.ts +30 -0
  131. package/dist/domain/registry/connect-plugin.js +35 -0
  132. package/dist/domain/registry/connect-plugin.js.map +1 -0
  133. package/dist/domain/registry/crew-request.d.ts +1 -1
  134. package/dist/domain/registry/declare-scopes.d.ts +38 -0
  135. package/dist/domain/registry/declare-scopes.js +34 -0
  136. package/dist/domain/registry/declare-scopes.js.map +1 -0
  137. package/dist/domain/registry/declared-network-rules.d.ts +2 -1
  138. package/dist/domain/registry/declared-network-rules.js +11 -5
  139. package/dist/domain/registry/declared-network-rules.js.map +1 -1
  140. package/dist/domain/registry/discover.d.ts +29 -0
  141. package/dist/domain/registry/discover.js +54 -0
  142. package/dist/domain/registry/discover.js.map +1 -0
  143. package/dist/domain/registry/explain-reach.d.ts +13 -12
  144. package/dist/domain/registry/explain-reach.js +35 -12
  145. package/dist/domain/registry/explain-reach.js.map +1 -1
  146. package/dist/domain/registry/get-ship.d.ts +11 -3
  147. package/dist/domain/registry/get-ship.js +8 -2
  148. package/dist/domain/registry/get-ship.js.map +1 -1
  149. package/dist/domain/registry/get-starting-prompt.d.ts +18 -2
  150. package/dist/domain/registry/get-starting-prompt.js +7 -7
  151. package/dist/domain/registry/get-starting-prompt.js.map +1 -1
  152. package/dist/domain/registry/grant-scopes.d.ts +34 -0
  153. package/dist/domain/registry/grant-scopes.js +35 -0
  154. package/dist/domain/registry/grant-scopes.js.map +1 -0
  155. package/dist/domain/registry/label.d.ts +12 -7
  156. package/dist/domain/registry/label.js +21 -4
  157. package/dist/domain/registry/label.js.map +1 -1
  158. package/dist/domain/registry/leases.d.ts +6 -3
  159. package/dist/domain/registry/leases.js +7 -5
  160. package/dist/domain/registry/leases.js.map +1 -1
  161. package/dist/domain/registry/list-fleet.d.ts +19 -6
  162. package/dist/domain/registry/list-fleet.js +18 -3
  163. package/dist/domain/registry/list-fleet.js.map +1 -1
  164. package/dist/domain/registry/list-scopes.d.ts +24 -0
  165. package/dist/domain/registry/list-scopes.js +22 -0
  166. package/dist/domain/registry/list-scopes.js.map +1 -0
  167. package/dist/domain/registry/managed-or-assigned.d.ts +25 -0
  168. package/dist/domain/registry/managed-or-assigned.js +23 -0
  169. package/dist/domain/registry/managed-or-assigned.js.map +1 -0
  170. package/dist/domain/registry/named-namespaces.d.ts +19 -0
  171. package/dist/domain/registry/named-namespaces.js +19 -0
  172. package/dist/domain/registry/named-namespaces.js.map +1 -0
  173. package/dist/domain/registry/network-settings.d.ts +95 -24
  174. package/dist/domain/registry/network-settings.js +146 -46
  175. package/dist/domain/registry/network-settings.js.map +1 -1
  176. package/dist/domain/registry/plugin-connection.d.ts +48 -0
  177. package/dist/domain/registry/plugin-connection.js +35 -0
  178. package/dist/domain/registry/plugin-connection.js.map +1 -0
  179. package/dist/domain/registry/ports.d.ts +75 -1
  180. package/dist/domain/registry/public.d.ts +3 -2
  181. package/dist/domain/registry/public.js +3 -2
  182. package/dist/domain/registry/public.js.map +1 -1
  183. package/dist/domain/registry/reach-refusal.d.ts +12 -4
  184. package/dist/domain/registry/read-assigned-crew-requests.d.ts +12 -3
  185. package/dist/domain/registry/read-assigned-crew-requests.js +8 -8
  186. package/dist/domain/registry/read-assigned-crew-requests.js.map +1 -1
  187. package/dist/domain/registry/read-built-in-rules.d.ts +20 -0
  188. package/dist/domain/registry/read-built-in-rules.js +24 -0
  189. package/dist/domain/registry/read-built-in-rules.js.map +1 -0
  190. package/dist/domain/registry/read-clear-requests.d.ts +5 -3
  191. package/dist/domain/registry/read-clear-requests.js +7 -5
  192. package/dist/domain/registry/read-clear-requests.js.map +1 -1
  193. package/dist/domain/registry/read-network-plugin.d.ts +23 -0
  194. package/dist/domain/registry/read-network-plugin.js +15 -0
  195. package/dist/domain/registry/read-network-plugin.js.map +1 -0
  196. package/dist/domain/registry/read-on-behalf.d.ts +20 -0
  197. package/dist/domain/registry/read-on-behalf.js +31 -0
  198. package/dist/domain/registry/read-on-behalf.js.map +1 -0
  199. package/dist/domain/registry/read-reach.d.ts +64 -0
  200. package/dist/domain/registry/read-reach.js +83 -0
  201. package/dist/domain/registry/read-reach.js.map +1 -0
  202. package/dist/domain/registry/recrew-ship.d.ts +3 -2
  203. package/dist/domain/registry/recrew-ship.js +8 -1
  204. package/dist/domain/registry/recrew-ship.js.map +1 -1
  205. package/dist/domain/registry/release-ship.d.ts +10 -5
  206. package/dist/domain/registry/release-ship.js +11 -8
  207. package/dist/domain/registry/release-ship.js.map +1 -1
  208. package/dist/domain/registry/remove-crew-request.d.ts +4 -3
  209. package/dist/domain/registry/remove-crew-request.js +6 -1
  210. package/dist/domain/registry/remove-crew-request.js.map +1 -1
  211. package/dist/domain/registry/rename-ship.d.ts +7 -5
  212. package/dist/domain/registry/rename-ship.js +9 -3
  213. package/dist/domain/registry/rename-ship.js.map +1 -1
  214. package/dist/domain/registry/request-crew.d.ts +5 -4
  215. package/dist/domain/registry/request-crew.js +6 -1
  216. package/dist/domain/registry/request-crew.js.map +1 -1
  217. package/dist/domain/registry/request-worktree-clear.d.ts +3 -2
  218. package/dist/domain/registry/request-worktree-clear.js +6 -1
  219. package/dist/domain/registry/request-worktree-clear.js.map +1 -1
  220. package/dist/domain/registry/retire-ship.d.ts +17 -7
  221. package/dist/domain/registry/retire-ship.js +48 -5
  222. package/dist/domain/registry/retire-ship.js.map +1 -1
  223. package/dist/domain/registry/scope-grant.d.ts +53 -0
  224. package/dist/domain/registry/scope-grant.js +74 -0
  225. package/dist/domain/registry/scope-grant.js.map +1 -0
  226. package/dist/domain/registry/scope-namespace.d.ts +68 -0
  227. package/dist/domain/registry/scope-namespace.js +82 -0
  228. package/dist/domain/registry/scope-namespace.js.map +1 -0
  229. package/dist/domain/registry/set-built-in-rule.d.ts +28 -0
  230. package/dist/domain/registry/set-built-in-rule.js +33 -0
  231. package/dist/domain/registry/set-built-in-rule.js.map +1 -0
  232. package/dist/domain/registry/set-network-rules.d.ts +3 -3
  233. package/dist/domain/registry/set-network-rules.js +2 -2
  234. package/dist/domain/registry/set-owner.d.ts +30 -0
  235. package/dist/domain/registry/set-owner.js +37 -0
  236. package/dist/domain/registry/set-owner.js.map +1 -0
  237. package/dist/domain/registry/set-statement.d.ts +27 -0
  238. package/dist/domain/registry/set-statement.js +28 -0
  239. package/dist/domain/registry/set-statement.js.map +1 -0
  240. package/dist/domain/registry/ship.d.ts +74 -10
  241. package/dist/domain/registry/ship.js +128 -10
  242. package/dist/domain/registry/ship.js.map +1 -1
  243. package/dist/domain/registry/statement.d.ts +32 -0
  244. package/dist/domain/registry/statement.js +39 -0
  245. package/dist/domain/registry/statement.js.map +1 -0
  246. package/dist/domain/registry/unassign-label.js +1 -1
  247. package/dist/domain/registry/unassign-label.js.map +1 -1
  248. package/dist/domain/registry/whoami.d.ts +5 -1
  249. package/dist/domain/registry/whoami.js +7 -4
  250. package/dist/domain/registry/whoami.js.map +1 -1
  251. package/dist/domain/shared/caller.d.ts +5 -2
  252. package/dist/domain/shared/caller.js.map +1 -1
  253. package/dist/domain/shared/delivery-way.d.ts +9 -5
  254. package/dist/domain/shared/delivery-way.js +17 -5
  255. package/dist/domain/shared/delivery-way.js.map +1 -1
  256. package/dist/domain/shared/errors.d.ts +1 -1
  257. package/dist/domain/shared/errors.js.map +1 -1
  258. package/dist/domain/shared/events-read.d.ts +16 -0
  259. package/dist/domain/shared/events-read.js +15 -0
  260. package/dist/domain/shared/events-read.js.map +1 -0
  261. package/dist/domain/shared/follow-fleet.d.ts +8 -2
  262. package/dist/domain/shared/follow-fleet.js +14 -4
  263. package/dist/domain/shared/follow-fleet.js.map +1 -1
  264. package/dist/domain/shared/health.d.ts +11 -2
  265. package/dist/domain/shared/health.js +11 -3
  266. package/dist/domain/shared/health.js.map +1 -1
  267. package/dist/domain/shared/history.d.ts +11 -42
  268. package/dist/domain/shared/history.js +9 -0
  269. package/dist/domain/shared/history.js.map +1 -1
  270. package/dist/domain/shared/read-fleet-events.d.ts +8 -2
  271. package/dist/domain/shared/read-fleet-events.js +10 -4
  272. package/dist/domain/shared/read-fleet-events.js.map +1 -1
  273. package/dist/domain/shared/read-health.d.ts +5 -1
  274. package/dist/domain/shared/read-health.js +13 -2
  275. package/dist/domain/shared/read-health.js.map +1 -1
  276. package/dist/domain/shared/read-inbox.d.ts +6 -3
  277. package/dist/domain/shared/read-inbox.js +14 -4
  278. package/dist/domain/shared/read-inbox.js.map +1 -1
  279. package/dist/domain/shared/read-message.d.ts +6 -2
  280. package/dist/domain/shared/read-message.js +6 -2
  281. package/dist/domain/shared/read-message.js.map +1 -1
  282. package/dist/domain/shared/read-needs-attention.d.ts +4 -1
  283. package/dist/domain/shared/read-needs-attention.js +8 -3
  284. package/dist/domain/shared/read-needs-attention.js.map +1 -1
  285. package/dist/domain/shared/read-sent-message.d.ts +31 -0
  286. package/dist/domain/shared/read-sent-message.js +28 -0
  287. package/dist/domain/shared/read-sent-message.js.map +1 -0
  288. package/dist/domain/shared/read-ship-messages.d.ts +6 -2
  289. package/dist/domain/shared/read-ship-messages.js +7 -2
  290. package/dist/domain/shared/read-ship-messages.js.map +1 -1
  291. package/dist/domain/shared/read-ship-timeline.d.ts +5 -2
  292. package/dist/domain/shared/read-ship-timeline.js +11 -6
  293. package/dist/domain/shared/read-ship-timeline.js.map +1 -1
  294. package/dist/domain/shared/read-ship-way.d.ts +11 -4
  295. package/dist/domain/shared/read-ship-way.js +9 -2
  296. package/dist/domain/shared/read-ship-way.js.map +1 -1
  297. package/dist/domain/shared/stuck.d.ts +10 -1
  298. package/dist/domain/shared/stuck.js +5 -3
  299. package/dist/domain/shared/stuck.js.map +1 -1
  300. package/dist/testing/container-images.d.ts +14 -0
  301. package/dist/testing/container-images.js +18 -0
  302. package/dist/testing/container-images.js.map +1 -0
  303. package/dist/testing/database.d.ts +14 -0
  304. package/dist/testing/database.js +48 -0
  305. package/dist/testing/database.js.map +1 -0
  306. package/dist/testing/fleet.d.ts +13 -0
  307. package/dist/testing/fleet.js +17 -0
  308. package/dist/testing/fleet.js.map +1 -0
  309. package/dist/testing/index.d.ts +12 -0
  310. package/dist/testing/index.js +12 -0
  311. package/dist/testing/index.js.map +1 -0
  312. package/dist/testing/keys.d.ts +1 -0
  313. package/dist/testing/keys.js +7 -0
  314. package/dist/testing/keys.js.map +1 -0
  315. package/dist/testing/migrate-lock.d.ts +12 -0
  316. package/dist/testing/migrate-lock.js +51 -0
  317. package/dist/testing/migrate-lock.js.map +1 -0
  318. package/dist/testing/migrated-template.d.ts +12 -0
  319. package/dist/testing/migrated-template.js +29 -0
  320. package/dist/testing/migrated-template.js.map +1 -0
  321. package/dist/testing/postgres-container.d.ts +16 -0
  322. package/dist/testing/postgres-container.js +30 -0
  323. package/dist/testing/postgres-container.js.map +1 -0
  324. package/dist/testing/postgres-global-setup.d.ts +15 -0
  325. package/dist/testing/postgres-global-setup.js +20 -0
  326. package/dist/testing/postgres-global-setup.js.map +1 -0
  327. package/dist/testing/prisma-cli.d.ts +5 -0
  328. package/dist/testing/prisma-cli.js +15 -0
  329. package/dist/testing/prisma-cli.js.map +1 -0
  330. package/dist/testing/result.d.ts +5 -0
  331. package/dist/testing/result.js +15 -0
  332. package/dist/testing/result.js.map +1 -0
  333. package/dist/wiring.d.ts +26 -4
  334. package/dist/wiring.js +51 -18
  335. package/dist/wiring.js.map +1 -1
  336. package/package.json +28 -2
  337. package/src/adapters/prisma/migrations/20261018100000_force_scope/migration.sql +8 -0
  338. package/src/adapters/prisma/migrations/20261018110000_forced_delivery/migration.sql +4 -0
  339. package/src/adapters/prisma/migrations/20261018120000_person_and_app_ships/migration.sql +3 -0
  340. package/src/adapters/prisma/migrations/20261018130000_owners/migration.sql +14 -0
  341. package/src/adapters/prisma/migrations/20261018140000_owners_on_reach_refusals/migration.sql +14 -0
  342. package/src/adapters/prisma/migrations/20261018150000_network_verbs/migration.sql +9 -0
  343. package/src/adapters/prisma/migrations/20261018160000_built_in_rules/migration.sql +13 -0
  344. package/src/adapters/prisma/migrations/20261018170000_network_rules_a_list/migration.sql +5 -0
  345. package/src/adapters/prisma/migrations/20261018180000_verb_on_reach_refusals/migration.sql +4 -0
  346. package/src/adapters/prisma/migrations/20261018200000_lease_statements/migration.sql +3 -0
  347. package/src/adapters/prisma/migrations/20261018210000_declare_and_grant_scopes/migration.sql +8 -0
  348. package/src/adapters/prisma/migrations/20261018220000_plugin_scopes/migration.sql +14 -0
  349. package/src/adapters/prisma/migrations/20261018230000_scope_namespaces/migration.sql +20 -0
  350. package/src/adapters/prisma/migrations/20261018240000_trierarch_plugin_crew_run/migration.sql +44 -0
  351. package/src/adapters/prisma/migrations/20261018250000_scope_catalogue/migration.sql +67 -0
  352. package/src/adapters/prisma/migrations/20261019090000_reach_refusal_asked_by/migration.sql +2 -0
  353. package/src/adapters/prisma/migrations/20261019100000_on_behalf_scope/migration.sql +61 -0
  354. package/src/adapters/prisma/migrations/20261019110000_events_fleet_id_occurred_at/migration.sql +2 -0
  355. package/src/adapters/prisma/migrations/20261019130000_plugin_connections/migration.sql +54 -0
  356. package/src/adapters/prisma/migrations/20261019150000_network_plugin_registered_at/migration.sql +23 -0
  357. package/src/adapters/prisma/migrations/20261019160000_lease_waker/migration.sql +4 -0
  358. package/src/adapters/prisma/schema.prisma +81 -7
  359. package/dist/domain/shared/read-no-ship-can-take.d.ts +0 -13
  360. package/dist/domain/shared/read-no-ship-can-take.js +0 -12
  361. package/dist/domain/shared/read-no-ship-can-take.js.map +0 -1
  362. package/dist/domain/shared/read-overdue.d.ts +0 -13
  363. package/dist/domain/shared/read-overdue.js +0 -12
  364. package/dist/domain/shared/read-overdue.js.map +0 -1
@@ -1,8 +1,8 @@
1
- import { commissionShipInputSchema, commissionShipOutputSchema, dismissDeliveryInputSchema, dismissDeliveryOutputSchema, fleetEventsInputSchema, followFleetInputSchema, followFleetOutputSchema, inboxActionOutputSchema, markDoneInputSchema, markReadInputSchema, fleetLimitsOutputSchema, fleetListOutputSchema, messageInputSchema, messageOutputSchema, needsAttentionOutputSchema, noShipCanTakeOutputSchema, healthOutputSchema, overdueOutputSchema, operatorInboxInputSchema, operatorInboxOutputSchema, pingShipInputSchema, pingShipOutputSchema, shipDetailOutputSchema, shipInputSchema, shipMessagesOutputSchema, shipWayOutputSchema, shipTimelineOutputSchema, getStartingPromptInputSchema, recrewShipInputSchema, releaseShipInputSchema, releaseShipOutputSchema, assignCrewInputSchema, assignCrewOutputSchema, assignedCrewRequestsOutputSchema, clearRequestsOutputSchema, clearWorktreeInputSchema, clearWorktreeOutputSchema, confirmWorktreeClearedInputSchema, confirmWorktreeClearedOutputSchema, confirmCrewReleaseInputSchema, giveBackCrewRequestInputSchema, giveBackCrewRequestOutputSchema, explainCrewRequestInputSchema, explainCrewRequestOutputSchema, confirmCrewReleaseOutputSchema, crewRequestInputSchema, crewRequestOutputSchema, reportCrewStatusInputSchema, reportCrewStatusOutputSchema, removeCrewRequestInputSchema, removeCrewRequestOutputSchema, renameShipInputSchema, renameShipOutputSchema, replyInputSchema, replyOutputSchema, resendDeliveryInputSchema, resendDeliveryOutputSchema, retireShipInputSchema, retireShipOutputSchema, startingPromptOutputSchema, assignLabelInputSchema, changeLabelValuesInputSchema, changeLabelValuesOutputSchema, defineLabelInputSchema, defineLabelOutputSchema, deleteLabelInputSchema, findLabelValueInputSchema, reachRefusalsOutputSchema, explainReachInputSchema, explainReachOutputSchema, registerNetworkPluginInputSchema, setNetworkRulesInputSchema, declareNetworkRulesInputSchema, declareNetworkRulesOutputSchema, declaredNetworkRulesOutputSchema, setNetworkRulesOutputSchema, findLabelValueOutputSchema, fleetListInputSchema, labelWriteOutputSchema, labelsOutputSchema, unassignLabelInputSchema, } from '@aeolus-fleet/common';
1
+ import { commissionShipInputSchema, commissionShipOutputSchema, dismissDeliveryInputSchema, dismissDeliveryOutputSchema, fleetEventsInputSchema, followFleetInputSchema, followFleetOutputSchema, inboxActionOutputSchema, markDoneInputSchema, markReadInputSchema, fleetLimitsOutputSchema, fleetListOutputSchema, messageInputSchema, messageOutputSchema, needsAttentionOutputSchema, healthOutputSchema, operatorInboxInputSchema, operatorInboxOutputSchema, pingShipInputSchema, pingShipOutputSchema, shipOutputSchema, isInReadReach, shipInputSchema, shipMessagesOutputSchema, shipWayOutputSchema, shipTimelineOutputSchema, getStartingPromptInputSchema, recrewShipInputSchema, releaseShipInputSchema, releaseShipOutputSchema, assignCrewInputSchema, assignCrewOutputSchema, assignedCrewRequestsOutputSchema, clearRequestsOutputSchema, clearWorktreeInputSchema, clearWorktreeOutputSchema, confirmWorktreeClearedInputSchema, confirmWorktreeClearedOutputSchema, confirmCrewReleaseInputSchema, giveBackCrewRequestInputSchema, giveBackCrewRequestOutputSchema, explainCrewRequestInputSchema, explainCrewRequestOutputSchema, confirmCrewReleaseOutputSchema, crewRequestInputSchema, crewRequestOutputSchema, reportCrewStatusInputSchema, reportCrewStatusOutputSchema, removeCrewRequestInputSchema, removeCrewRequestOutputSchema, renameShipInputSchema, renameShipOutputSchema, replyInputSchema, replyOutputSchema, resendDeliveryInputSchema, resendDeliveryOutputSchema, retireShipInputSchema, retireShipOutputSchema, startingPromptOutputSchema, assignLabelInputSchema, changeLabelValuesInputSchema, changeLabelValuesOutputSchema, declareScopesInputSchema, declareScopesOutputSchema, grantScopesInputSchema, grantScopesOutputSchema, defineLabelInputSchema, defineLabelOutputSchema, deleteLabelInputSchema, findLabelValueInputSchema, reachRefusalsOutputSchema, explainReachInputSchema, setOwnerInputSchema, connectPluginInputSchema, connectPluginOutputSchema, setOwnerOutputSchema, explainReachOutputSchema, registerNetworkPluginInputSchema, setNetworkRulesInputSchema, setBuiltInRuleInputSchema, builtInRulesOutputSchema, declareNetworkRulesInputSchema, declareNetworkRulesOutputSchema, declaredNetworkRulesOutputSchema, networkPluginOutputSchema, setNetworkRulesOutputSchema, findLabelValueOutputSchema, fleetListInputSchema, labelWriteOutputSchema, labelsOutputSchema, scopesOutputSchema, unassignLabelInputSchema, } from '@aeolus-fleet/common';
2
2
  import { tracked } from '@trpc/server';
3
3
  import { describedHealth } from './health.js';
4
4
  import { presentStartingPrompt } from './starting-prompt-text.js';
5
- import { anyScopeProcedure, checkCallerStillHolds, okOrThrow, router, scopedCrewCallerProcedure, scopedProcedure } from './trpc.js';
5
+ import { anyScopeProcedure, authenticatedProcedure, callerStillHolding, okOrThrow, router, scopedCrewCallerProcedure, scopedProcedure } from './trpc.js';
6
6
  /** A crew request as the API answers it: its times in ISO 8601, and when its session started as `startedAt`. */
7
7
  function crewRequestOutputOf(request) {
8
8
  if (request === null) {
@@ -43,11 +43,14 @@ function pingOutputOf(ping) {
43
43
  */
44
44
  export const fleetRouter = router({
45
45
  /** A new agent ship awaiting crew, and its first starting prompt: shown once. */
46
- commission: scopedProcedure('fleet:manage')
46
+ commission: scopedProcedure('fleet:commission')
47
47
  .meta({
48
48
  description: [
49
- 'Needs fleet:manage. Commissions a new agent ship awaiting crew: name and type are handles (lowercase letters, digits, hyphens, colons).',
50
- 'fleetScopes adds fleet:read and/or fleet:manage to its scopes; they never change later.',
49
+ 'Needs fleet:commission. Commissions a new agent ship awaiting crew: name and type are handles (lowercase letters, digits, hyphens, colons).',
50
+ 'scopes adds scopes to the two every ship has, each one your ship may grant: a core scope it holds (argo holds every one), or a declared scope of the namespace it declared. fleet_grantScopes changes them later.',
51
+ "ownerOf, which needs fleet:on-behalf, names the ship that asked it for this one: the new ship gets that ship's owner instead of yours.",
52
+ 'kind is agent unless you state person or app: only argo commissions a person ship, and an app ship needs fleet:on-behalf as well.',
53
+ "owner, which needs fleet:on-behalf and only for an app ship, names the owner argo picked for it: a person's ship or argo, never beside ownerOf.",
51
54
  'Answers its shipId, its first starting prompt, one crew line per harness (claude-code, codex) and its secret, shown only this once.',
52
55
  'idempotencyKey is a new unique string for every commission. Reuse one only to retry the same commission after an error or a lost answer:',
53
56
  'the retry answers the same shipId with prompt, crewLines and secret null and how its starting prompt stands (fleet_getStartingPrompt gives a new one), and a different commission with a used key is refused (CONFLICT).',
@@ -222,7 +225,7 @@ export const fleetRouter = router({
222
225
  /** The crew requests assigned to the caller's ship: a trierarch's ships. */
223
226
  assignedCrewRequests: scopedProcedure('crew:run')
224
227
  .meta({
225
- description: ['Needs crew:run. The crew requests assigned to your ship, oldest ship first: each ship, its settings and their version, its status, and whether its crew is final.'].join(' '),
228
+ description: ['Needs crew:run. The crew requests assigned to your ship, oldest ship first: each ship, its settings and their version, its status, whether its crew is final, and the owner of its ship by id and name (decision 0045).'].join(' '),
226
229
  })
227
230
  .output(assignedCrewRequestsOutputSchema)
228
231
  .query(async ({ ctx }) => (await ctx.useCases.readAssignedCrewRequests(ctx.caller)).map((request) => ({ ...request, requestedAt: request.requestedAt.toISOString() }))),
@@ -245,7 +248,7 @@ export const fleetRouter = router({
245
248
  clearRequests: anyScopeProcedure('fleet:read', 'crew:run')
246
249
  .meta({
247
250
  description: [
248
- "Needs fleet:read or crew:run. The pending clear requests: with fleet:read every trierarch's, with crew:run those to your ship.",
251
+ "Needs fleet:read or crew:run. The pending clear requests: with fleet:read every trierarch's for the ships in your read reach (decision 0034), with crew:run those to your ship.",
249
252
  'Each names the trierarch, the worktree by its ship and repository, who asked and when.',
250
253
  ].join(' '),
251
254
  })
@@ -277,6 +280,22 @@ export const fleetRouter = router({
277
280
  okOrThrow(await ctx.useCases.renameShip(ctx.caller, input));
278
281
  return {};
279
282
  }),
283
+ /** Gives a ship a new owner, an active person's ship or argo: argo's alone, by its kind, no scope (decisions 0045, 0046). */
284
+ setOwner: authenticatedProcedure
285
+ .input(setOwnerInputSchema)
286
+ .output(setOwnerOutputSchema)
287
+ .mutation(async ({ ctx, input }) => {
288
+ okOrThrow(await ctx.useCases.setOwner(ctx.caller, input));
289
+ return {};
290
+ }),
291
+ /** Connects a ship as a plugin, which then reads every ship until a release or retire ends it: argo's alone, by its kind, no scope (decision 0034). */
292
+ connectPlugin: authenticatedProcedure
293
+ .input(connectPluginInputSchema)
294
+ .output(connectPluginOutputSchema)
295
+ .mutation(async ({ ctx, input }) => {
296
+ okOrThrow(await ctx.useCases.connectPlugin(ctx.caller, input));
297
+ return {};
298
+ }),
280
299
  /**
281
300
  * A new crew for a crewed ship whose session is gone: a release and a new
282
301
  * starting prompt in one transaction. Its prompt, crew lines and secret are shown once.
@@ -310,27 +329,13 @@ export const fleetRouter = router({
310
329
  .meta({
311
330
  description: [
312
331
  'Needs fleet:read. Every ship of the fleet, argo included: id, name, type, kind, status, scopes, labels, where its session runs and in which harness, when it was last seen, its last ping, and its current model (the last its sessions stated). Never a secret.',
313
- 'With valueIds (label value ids, from fleet_labels or fleet_findLabelValue), only the ships that carry every one of them: exact matches, combined with AND.',
332
+ 'A ship outside your read reach shows its id, name, type and status only, with isInReadReach false (decision 0034).',
333
+ 'With valueIds (label value ids, from fleet_labels or fleet_findLabelValue), only the ships in your read reach that carry every one of them: exact matches, combined with AND.',
314
334
  ].join(' '),
315
335
  })
316
336
  .input(fleetListInputSchema)
317
337
  .output(fleetListOutputSchema)
318
- .query(async ({ ctx, input }) => (await ctx.useCases.listFleet(ctx.caller, { valueIds: input?.valueIds })).map((ship) => ({
319
- ...ship,
320
- startingPrompt: ship.startingPrompt && {
321
- issuedAt: ship.startingPrompt.issuedAt.toISOString(),
322
- isClaimed: ship.startingPrompt.isClaimed,
323
- },
324
- lastSeenAt: ship.lastSeenAt?.toISOString() ?? null,
325
- ping: pingOutputOf(ship.ping),
326
- scopes: [...ship.scopes],
327
- labels: [...ship.labels],
328
- report: ship.report && { ...ship.report, reportedAt: ship.report.reportedAt.toISOString() },
329
- crewRequest: crewRequestOutputOf(ship.crewRequest),
330
- model: ship.model && { id: ship.model.id, statedAt: ship.model.statedAt.toISOString() },
331
- awaitingCrewSince: ship.awaitingCrewSince?.toISOString() ?? null,
332
- retiredAt: ship.retiredAt?.toISOString() ?? null,
333
- }))),
338
+ .query(async ({ ctx, input }) => (await ctx.useCases.listFleet(ctx.caller, { valueIds: input?.valueIds })).map((ship) => (isInReadReach(ship) ? listedShipOutputOf(ship) : ship))),
334
339
  /** The fleet's labels, each with its values and its owner (decision 0031). */
335
340
  labels: scopedProcedure('fleet:read')
336
341
  .meta({
@@ -338,6 +343,46 @@ export const fleetRouter = router({
338
343
  })
339
344
  .output(labelsOutputSchema)
340
345
  .query(async ({ ctx }) => (await ctx.useCases.listLabels(ctx.caller)).map((label) => ({ ...label, values: [...label.values] }))),
346
+ /** Every namespace of the fleet and its scopes, core first (decision 0046). */
347
+ scopes: scopedProcedure('fleet:read')
348
+ .meta({
349
+ description: [
350
+ "Needs fleet:read. The fleet's scopes by namespace: the core namespaces first (messages, fleet, crew, labels, scopes), declared by no ship,",
351
+ 'then each plugin namespace by name, with the ship that declared it by id and name. Each scope with its one-line description.',
352
+ ].join(' '),
353
+ })
354
+ .output(scopesOutputSchema)
355
+ .query(async ({ ctx }) => (await ctx.useCases.listScopes(ctx.caller)).map((namespace) => ({ ...namespace, scopes: [...namespace.scopes] }))),
356
+ /** Takes up the caller's plugin namespace with its whole list of scopes (decision 0046). */
357
+ declareScopes: scopedProcedure('scopes:declare')
358
+ .meta({
359
+ description: [
360
+ 'Needs scopes:declare. Takes up one plugin namespace for your ship, kept until it retires, with its whole list of scopes: each <namespace>:<action> with a one-line description, at most 20.',
361
+ 'Declaring the whole list once more adds scopes or changes descriptions; removing a scope a ship holds is CONFLICT. Core stores your scopes and never checks them: your plugin enforces them.',
362
+ 'A core namespace is refused; a namespace another ship took, or a second namespace, is CONFLICT. The namespace goes when your ship retires.',
363
+ ].join(' '),
364
+ })
365
+ .input(declareScopesInputSchema)
366
+ .output(declareScopesOutputSchema)
367
+ .mutation(async ({ ctx, input }) => {
368
+ const { namespace, scopes } = okOrThrow(await ctx.useCases.declareScopes(ctx.caller, input));
369
+ return { namespace, scopes: [...scopes] };
370
+ }),
371
+ /** Grants and revokes scopes on a live ship, within what the caller's ship may grant (decision 0046). */
372
+ grantScopes: scopedProcedure('scopes:grant')
373
+ .meta({
374
+ description: [
375
+ 'Needs scopes:grant. Grants and revokes scopes on a live agent, person or app ship at once; its crew holds them from its next call.',
376
+ "Each scope is one your ship holds (a core scope), or, for argo and a namespace's declarer only, a declared scope of that plugin namespace. Revoking follows the same rule.",
377
+ "messages:send and messages:receive are never revoked; argo's, the viewer's and your own ship's scopes are not changed here. Answers every scope the ship holds now.",
378
+ ].join(' '),
379
+ })
380
+ .input(grantScopesInputSchema)
381
+ .output(grantScopesOutputSchema)
382
+ .mutation(async ({ ctx, input }) => {
383
+ const { scopes } = okOrThrow(await ctx.useCases.grantScopes(ctx.caller, input));
384
+ return { scopes: [...scopes] };
385
+ }),
341
386
  /** Defines a label the caller's ship then owns (decision 0031). */
342
387
  defineLabel: scopedProcedure('labels:define')
343
388
  .meta({
@@ -417,15 +462,15 @@ export const fleetRouter = router({
417
462
  .input(findLabelValueInputSchema)
418
463
  .output(findLabelValueOutputSchema)
419
464
  .query(async ({ ctx, input }) => okOrThrow(await ctx.useCases.findLabelValue(ctx.caller, input))),
420
- /** Sets the fleet's network rules, the whole list, or none for all-to-all (decision 0034). */
465
+ /** Sets the fleet's network rules beside the built-in ones, the whole list (decision 0034). */
421
466
  setNetworkRules: scopedProcedure('fleet:network')
422
467
  .meta({
423
468
  description: [
424
- "Needs fleet:network. Sets the fleet's network rules, the whole list at once: each rule lets the ships for which every term in from holds send to the ships for which every term in to holds; an empty selector matches every ship.",
425
- 'A term is a label value id, the ship carries that value; or { labelId, value: "*" }, the ship carries any value of the label; or { labelId, value: "#" }, the ships on both sides carry the same value of the label. A "#" binds its label on both sides, each on its own, so a "#" on one side only is refused.',
426
- 'Allow-only: with rules set, a send no rule allows is refused. argo reaches every ship and every ship reaches argo, and a ship always answers the sender of a message it received.',
427
- 'An empty list allows only those; rules null clears them, back to all-to-all. At most 200 rules, each selector at most 20 terms, each once (decision 0034). Answers the new version.',
428
- "Only the fleet's networking plugin sets them, argo included: without a registered plugin the fleet has no rules, all-to-all, and every set is refused (decision 0035).",
469
+ "Needs fleet:network. Sets the fleet's network rules, the whole list at once: each rule names its verb, send, read or manage, and lets the ships for which every term in from holds do it to the ships for which every term in to holds; an empty selector matches every ship.",
470
+ 'A term is a label value id, the ship carries that value; { labelId, value: "*" }, the ship carries any value of the label; { labelId, value: "#" }, the ships on both sides carry the same value of the label; or { owner } with a ship id, "*" or "#", for the owner the same way. A "#" binds its label or the owner on both sides, so a "#" on one side only is refused.',
471
+ 'Allow-only, beside the built-in rules: argo reaches every ship and every ship reaches argo, an owner\'s ship reaches the ships it owns, and a ship always answers the sender of a message it received; open lets every ship reach every ship by a verb until the plugin turns it off with fleet.setBuiltInRule.',
472
+ 'An empty list allows only the built-in rules. At most 200 rules, each selector at most 20 terms, each once (decision 0034). Answers the new version.',
473
+ "Only the fleet's networking plugin sets them, argo included: without a registered plugin the fleet has no rules, open is on, and every set is refused (decision 0035).",
429
474
  ].join(' '),
430
475
  })
431
476
  .input(setNetworkRulesInputSchema)
@@ -436,7 +481,7 @@ export const fleetRouter = router({
436
481
  .meta({
437
482
  description: [
438
483
  "Needs fleet:network. Makes your ship the fleet's networking plugin: from then on only it sets the network rules, until it unregisters or is retired. One plugin a fleet: another ship's registration is refused until it unregisters; yours again replaces what you declared.",
439
- 'whileUnavailable says what happens to every send while the plugin is unavailable: block-all (only argo and answers go through), open-all (every send, as with no rules) or keep-latest (the rules it set last).',
484
+ 'whileUnavailable says what happens to every send while the plugin is unavailable: block-all (only the built-in rules that are never off: argo, owners and answers), open-all (every send, as with open on) or keep-latest (the rules and open as it left them).',
440
485
  'It is unavailable while its ship holds no lease, or is not responding: no call from its crew for longer than notRespondingAfterSeconds (60 to 86400), judged at each send (decision 0035). Answers the new version.',
441
486
  ].join(' '),
442
487
  })
@@ -448,18 +493,47 @@ export const fleetRouter = router({
448
493
  .meta({
449
494
  description: [
450
495
  "Needs fleet:network, and only the fleet's networking plugin calls it: the plugin unregisters, as when it is switched off or deleted for the fleet.",
451
- 'Its rules go with it: no plugin is all-to-all (decision 0035). Answers the new version.',
496
+ 'Its rules go with it and open is on again: no plugin is all-to-all (decision 0035). Answers the new version.',
452
497
  ].join(' '),
453
498
  })
454
499
  .output(setNetworkRulesOutputSchema)
455
500
  .mutation(async ({ ctx }) => okOrThrow(await ctx.useCases.unregisterNetworkPlugin(ctx.caller))),
501
+ /** The fleet's networking plugin, or none: what the gateway checks before it switches on for a fleet (interop I-3). */
502
+ networkPlugin: scopedProcedure('fleet:read')
503
+ .meta({
504
+ description: [
505
+ "Needs fleet:read. The fleet's networking plugin: its ship and registeredAt, when it first registered (registering again keeps it), or null when the fleet has none (decision 0035).",
506
+ 'Without a networking plugin only the built-in rules hold, so a ship that needs rules beside them checks here first.',
507
+ ].join(' '),
508
+ })
509
+ .output(networkPluginOutputSchema)
510
+ .query(async ({ ctx }) => {
511
+ const plugin = okOrThrow(await ctx.useCases.readNetworkPlugin(ctx.caller));
512
+ return plugin === null ? null : { shipId: plugin.shipId, registeredAt: plugin.registeredAt.toISOString() };
513
+ }),
514
+ /** A built-in rule turned on or off: the viewer reading by argo, open for one verb by the networking plugin (decision 0034). */
515
+ setBuiltInRule: scopedProcedure('fleet:network')
516
+ .meta({
517
+ description: [
518
+ "Needs fleet:network. Turns a built-in network rule on or off, as its own action with BuiltInRuleChanged (decision 0034).",
519
+ "open lets every ship reach every ship by one verb, send, read or manage: only the fleet's networking plugin turns it on or off, one verb at a time, and it is on again when the plugin unregisters or is retired.",
520
+ 'viewerRead lets the viewer read every ship: only argo turns it on or off. argo, owner and answer are never off: turning them is refused. A rule already as asked changes nothing. Answers the version.',
521
+ ].join(' '),
522
+ })
523
+ .input(setBuiltInRuleInputSchema)
524
+ .output(setNetworkRulesOutputSchema)
525
+ .mutation(async ({ ctx, input }) => okOrThrow(await ctx.useCases.setBuiltInRule(ctx.caller, input))),
526
+ /** Every built-in rule as it is now, for argo's rule list, which shows them first (decision 0034). */
527
+ builtInRules: scopedProcedure('fleet:network')
528
+ .output(builtInRulesOutputSchema)
529
+ .query(async ({ ctx }) => okOrThrow(await ctx.useCases.readBuiltInRules(ctx.caller))),
456
530
  /** The caller declares the network rules it needs on the labels it owns, its whole list (decision 0037). */
457
531
  declareNetworkRules: scopedProcedure('labels:define')
458
532
  .meta({
459
533
  description: [
460
534
  'Needs labels:define. Declares the network rules your ship needs, the whole list at once, replacing what you declared before; an empty list withdraws them (decision 0037).',
461
535
  'Every term of every rule must be on a label your ship owns: a label value id of it, or { labelId, value: "*" } or { labelId, value: "#" } on it; a label or value the fleet does not have is refused.',
462
- 'You declare at most 20 rules, each as fleet.setNetworkRules takes them. Declared rules are not in force by themselves: the fleet\'s networking plugin adds them to argo\'s rules when it supplies the list. Answers how many rules you declare now.',
536
+ 'You declare at most 20 rules, each as fleet.setNetworkRules takes them but without a term of the owner, which is on no label. Declared rules are not in force by themselves: the fleet\'s networking plugin adds them to argo\'s rules when it supplies the list. Answers how many rules you declare now.',
463
537
  ].join(' '),
464
538
  })
465
539
  .input(declareNetworkRulesInputSchema)
@@ -474,17 +548,19 @@ export const fleetRouter = router({
474
548
  ].join(' '),
475
549
  })
476
550
  .output(declaredNetworkRulesOutputSchema)
477
- .query(async ({ ctx }) => (await ctx.useCases.readDeclaredNetworkRules(ctx.caller)).map(({ shipId, rules }) => ({ shipId, rules: rules.map((rule) => ({ from: [...rule.from], to: [...rule.to] })) }))),
551
+ .query(async ({ ctx }) => (await ctx.useCases.readDeclaredNetworkRules(ctx.caller)).map(({ shipId, rules }) => ({ shipId, rules: rules.map((rule) => ({ verb: rule.verb, from: [...rule.from], to: [...rule.to] })) }))),
478
552
  /** The sends the network rules refused, newest first: argo's only (decision 0034). */
479
553
  reachRefusals: scopedProcedure('fleet:read')
480
554
  .output(reachRefusalsOutputSchema)
481
- .query(async ({ ctx }) => okOrThrow(await ctx.useCases.readReachRefusals(ctx.caller)).map(({ id, at, sender, recipient, settingsVersion, whilePluginUnavailable }) => ({
555
+ .query(async ({ ctx }) => okOrThrow(await ctx.useCases.readReachRefusals(ctx.caller)).map(({ id, at, sender, askedBy, recipient, verb, settingsVersion, whilePluginUnavailable }) => ({
482
556
  id,
483
557
  at: at.toISOString(),
484
558
  sender: { ...sender, labels: [...sender.labels] },
559
+ askedBy: askedBy && { ...askedBy, labels: [...askedBy.labels] },
485
560
  recipient: recipient.kind === 'ship'
486
561
  ? { kind: recipient.kind, ship: { ...recipient.ship, labels: [...recipient.ship.labels] } }
487
562
  : { kind: recipient.kind, type: recipient.type, ships: recipient.ships.map((ship) => ({ ...ship, labels: [...ship.labels] })) },
563
+ verb,
488
564
  settingsVersion,
489
565
  whilePluginUnavailable,
490
566
  }))),
@@ -498,12 +574,16 @@ export const fleetRouter = router({
498
574
  .meta({
499
575
  description: [
500
576
  'Needs fleet:read, or crew:run for a ship whose crew request is assigned to yours. One ship of the fleet, retired ones included: as fleet_list shows it, plus when it was commissioned, crewed and retired, and its open and in-flight deliveries.',
577
+ 'A ship outside your read reach, and not assigned to yours, shows its id, name, type and status only, with isInReadReach false (decision 0034).',
501
578
  ].join(' '),
502
579
  })
503
580
  .input(shipInputSchema)
504
- .output(shipDetailOutputSchema)
581
+ .output(shipOutputSchema)
505
582
  .query(async ({ ctx, input }) => {
506
583
  const ship = okOrThrow(await ctx.useCases.getShip(ctx.caller, input));
584
+ if (!isInReadReach(ship)) {
585
+ return ship;
586
+ }
507
587
  return {
508
588
  ...ship,
509
589
  startingPrompt: ship.startingPrompt && {
@@ -580,24 +660,12 @@ export const fleetRouter = router({
580
660
  since: entry.since.toISOString(),
581
661
  message: { ...entry.message, sentAt: entry.message.sentAt.toISOString() },
582
662
  }))),
583
- /** The overdue deliveries argo was told of by the 10 and 60 minute clocks, oldest told first, until each clears. */
584
- overdue: scopedProcedure('fleet:read')
585
- .output(overdueOutputSchema)
586
- .query(async ({ ctx }) => (await ctx.useCases.readOverdue(ctx.caller)).map((entry) => ({
587
- ...entry,
588
- toldAt: entry.toldAt.toISOString(),
589
- message: { ...entry.message, sentAt: entry.message.sentAt.toISOString() },
590
- }))),
591
- /** The pending deliveries to a type no active ship can take, oldest sent first, until a ship can take each. */
592
- noShipCanTake: scopedProcedure('fleet:read')
593
- .output(noShipCanTakeOutputSchema)
594
- .query(async ({ ctx }) => (await ctx.useCases.readNoShipCanTake(ctx.caller)).map((entry) => ({ ...entry, message: { ...entry.message, sentAt: entry.message.sentAt.toISOString() } }))),
595
663
  /** The fleet's health (decision 0042): its stuck deliveries by cause and place, the 7-day trend and the acknowledged in 24 hours. */
596
664
  health: scopedProcedure('fleet:read')
597
665
  .output(healthOutputSchema)
598
666
  .query(async ({ ctx }) => describedHealth(await ctx.useCases.readHealth(ctx.caller))),
599
667
  /** Lets an undeliverable or not handled delivery go: dismissed, kept in history. Dismissing it again is OK. */
600
- dismiss: scopedProcedure('fleet:manage')
668
+ dismiss: scopedProcedure('messages:resend')
601
669
  .input(dismissDeliveryInputSchema)
602
670
  .output(dismissDeliveryOutputSchema)
603
671
  .mutation(async ({ ctx, input }) => {
@@ -609,7 +677,7 @@ export const fleetRouter = router({
609
677
  * to the same recipient that names the original, which is dismissed.
610
678
  * Answers the new message; a second resend of the delivery answers the same.
611
679
  */
612
- resend: scopedProcedure('fleet:manage')
680
+ resend: scopedProcedure('messages:resend')
613
681
  .input(resendDeliveryInputSchema)
614
682
  .output(resendDeliveryOutputSchema)
615
683
  .mutation(async ({ ctx, input }) => okOrThrow(await ctx.useCases.resendDelivery(ctx.caller, input))),
@@ -654,8 +722,8 @@ export const fleetRouter = router({
654
722
  .meta({
655
723
  description: [
656
724
  'Needs fleet:read. The fleet\'s events after afterSeq, oldest first, up to max (1 to 100, 100 when left out):',
657
- 'each with its seq, type, time, the ship that caused it and the ship, message and delivery it concerns, never its details.',
658
- 'Pass the lastSeq it answers as afterSeq next, so you miss nothing across reconnects.',
725
+ 'each with its seq, type, time, the ship that caused it and the ship, message and delivery it concerns, never its details. Only the events in your read reach (decision 0034): a message\'s through its sender or recipient, any other through the ship it concerns.',
726
+ 'Pass the lastSeq it answers as afterSeq next, so you miss nothing across reconnects: it counts the events you do not read too.',
659
727
  'Without afterSeq it answers no events and the current lastSeq to start from.',
660
728
  'With waitSeconds (0 to 25) it waits while none has come, and answers as soon as one commits.',
661
729
  ].join(' '),
@@ -671,8 +739,9 @@ export const fleetRouter = router({
671
739
  * number, which tRPC sends back as `lastEventId` when the browser
672
740
  * reconnects, so it misses none. Without a number, or too far behind, the
673
741
  * browser is told to load the fleet again first (`resync`). Each wake-up
674
- * asks again whether the caller still holds, so a console session that ended
675
- * hears no more.
742
+ * asks again whether the caller still holds, with fleet:read and, reading on
743
+ * behalf, fleet:on-behalf, so a session that ended or a revoked scope hears
744
+ * no more.
676
745
  */
677
746
  events: scopedProcedure('fleet:read')
678
747
  .input(fleetEventsInputSchema)
@@ -681,22 +750,23 @@ export const fleetRouter = router({
681
750
  const stopped = signal ?? new AbortController().signal;
682
751
  try {
683
752
  let afterSeq = input.lastEventId == null ? undefined : Number(input.lastEventId);
753
+ let reader = ctx.caller;
684
754
  do {
685
- const read = await ctx.useCases.readFleetEvents(ctx.caller, afterSeq);
755
+ const read = await ctx.useCases.readFleetEvents(reader, afterSeq);
686
756
  if (read.kind === 'resync') {
687
757
  afterSeq = read.seq;
688
758
  yield tracked(String(read.seq), { kind: 'resync' });
689
759
  }
690
760
  else {
691
761
  for (const event of read.events) {
692
- afterSeq = event.seq;
693
762
  yield tracked(String(event.seq), { kind: 'event', event: liveEventOf(event) });
694
763
  }
764
+ afterSeq = read.lastSeq;
695
765
  }
696
766
  if (!(await watch.next(stopped))) {
697
767
  return;
698
768
  }
699
- await checkCallerStillHolds(ctx);
769
+ reader = await callerStillHolding(ctx, 'fleet:read');
700
770
  } while (!stopped.aborted);
701
771
  }
702
772
  finally {
@@ -704,6 +774,25 @@ export const fleetRouter = router({
704
774
  }
705
775
  }),
706
776
  });
777
+ /** A ship as fleet_list answers it, its times in ISO 8601. */
778
+ function listedShipOutputOf(ship) {
779
+ return {
780
+ ...ship,
781
+ startingPrompt: ship.startingPrompt && {
782
+ issuedAt: ship.startingPrompt.issuedAt.toISOString(),
783
+ isClaimed: ship.startingPrompt.isClaimed,
784
+ },
785
+ lastSeenAt: ship.lastSeenAt?.toISOString() ?? null,
786
+ ping: pingOutputOf(ship.ping),
787
+ scopes: [...ship.scopes],
788
+ labels: [...ship.labels],
789
+ report: ship.report && { ...ship.report, reportedAt: ship.report.reportedAt.toISOString() },
790
+ crewRequest: crewRequestOutputOf(ship.crewRequest),
791
+ model: ship.model && { id: ship.model.id, statedAt: ship.model.statedAt.toISOString() },
792
+ awaitingCrewSince: ship.awaitingCrewSince?.toISOString() ?? null,
793
+ retiredAt: ship.retiredAt?.toISOString() ?? null,
794
+ };
795
+ }
707
796
  /** An event as the browser hears it: never its details. */
708
797
  function liveEventOf(event) {
709
798
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../../src/adapters/trpc/fleet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../../src/adapters/trpc/fleet.ts"],"names":[],"mappings":"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"}