@zlink-systems/framework 0.25.0 → 0.27.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 (557) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/Channels/IZLinkFanoutClient.d.ts +0 -6
  3. package/dist/contracts/Common/CoreTypes.d.ts +6 -0
  4. package/dist/contracts/Common/CoreTypes.js +7 -0
  5. package/dist/contracts/Common/index.d.ts +1 -1
  6. package/dist/contracts/Common/index.js +0 -1
  7. package/dist/contracts/Configuration/InternalDefaults.d.ts +8 -0
  8. package/dist/contracts/Configuration/InternalDefaults.js +9 -1
  9. package/dist/contracts/Configuration/Registration.d.ts +13 -2
  10. package/dist/contracts/Configuration/Registration.js +58 -36
  11. package/dist/contracts/Configuration/RegistrationBuilderPolicy.d.ts +13 -1
  12. package/dist/contracts/Configuration/RegistrationBuilderPolicy.js +38 -1
  13. package/dist/contracts/Configuration/RegistrationBuilders.d.ts +2 -3
  14. package/dist/contracts/Configuration/RegistrationBuilders.js +27 -32
  15. package/dist/contracts/Configuration/RegistrationTypes.d.ts +1 -0
  16. package/dist/contracts/Configuration/RegistrationValidators.js +15 -12
  17. package/dist/contracts/Configuration/TimerRegistrationValidator.js +3 -2
  18. package/dist/contracts/Dispatch/ZLinkDispatchOptions.d.ts +1 -1
  19. package/dist/contracts/Handlers/JsonContract.js +10 -4
  20. package/dist/contracts/Locations/Authority.d.ts +1 -1
  21. package/dist/contracts/Locations/Authority.js +3 -2
  22. package/dist/contracts/Locations/Options.js +1 -1
  23. package/dist/contracts/Locations/Stores.d.ts +12 -0
  24. package/dist/contracts/Locations/Stores.js +9 -0
  25. package/dist/contracts/RouteMesh/RuntimeTopology.d.ts +8 -0
  26. package/dist/contracts/Spots/Contracts.d.ts +1 -1
  27. package/dist/internal.d.ts +5 -0
  28. package/dist/internal.js +16 -1
  29. package/dist/nest-integration.d.ts +4 -2
  30. package/dist/nest-integration.js +14 -4
  31. package/dist/runtime/abort.d.ts +1 -0
  32. package/dist/runtime/abort.js +8 -5
  33. package/dist/runtime/activation-admission.d.ts +28 -0
  34. package/dist/runtime/activation-admission.js +57 -0
  35. package/dist/runtime/actors/actor-authority-payload-codec.d.ts +1 -2
  36. package/dist/runtime/actors/actor-authority-payload-codec.js +34 -18
  37. package/dist/runtime/actors/actor-client.d.ts +2 -2
  38. package/dist/runtime/actors/actor-client.js +42 -143
  39. package/dist/runtime/actors/actor-context.d.ts +3 -5
  40. package/dist/runtime/actors/actor-context.js +19 -17
  41. package/dist/runtime/actors/actor-handoff.d.ts +13 -7
  42. package/dist/runtime/actors/actor-handoff.js +36 -25
  43. package/dist/runtime/actors/actor-lifecycle-snapshot.js +2 -1
  44. package/dist/runtime/actors/actor-local-native-join.d.ts +11 -6
  45. package/dist/runtime/actors/actor-local-native-join.js +85 -123
  46. package/dist/runtime/actors/actor-native-lookup.js +2 -8
  47. package/dist/runtime/actors/actor-packet-relay-wire.d.ts +3 -3
  48. package/dist/runtime/actors/actor-packet-relay-wire.js +5 -3
  49. package/dist/runtime/actors/actor-remote-joiner.d.ts +3 -3
  50. package/dist/runtime/actors/actor-remote-joiner.js +11 -17
  51. package/dist/runtime/actors/actor-remote-wire.js +5 -3
  52. package/dist/runtime/actors/actor-request-deadline.d.ts +3 -0
  53. package/dist/runtime/actors/actor-request-deadline.js +31 -0
  54. package/dist/runtime/actors/actor-retry-delay.js +2 -1
  55. package/dist/runtime/actors/actor-runtime-contracts.d.ts +4 -2
  56. package/dist/runtime/actors/actor-runtime-state.d.ts +9 -21
  57. package/dist/runtime/actors/actor-runtime-state.js +70 -187
  58. package/dist/runtime/actors/actor-source-transfer.d.ts +5 -5
  59. package/dist/runtime/actors/bound-session-wire.js +2 -7
  60. package/dist/runtime/actors/deferred-join-completion.d.ts +19 -0
  61. package/dist/runtime/actors/deferred-join-completion.js +21 -0
  62. package/dist/runtime/actors/index.d.ts +10 -8
  63. package/dist/runtime/actors/index.js +101 -73
  64. package/dist/runtime/actors/spot-actor-dispatch.d.ts +3 -3
  65. package/dist/runtime/actors/spot-actor-dispatch.js +25 -10
  66. package/dist/runtime/actors/transferred-actor-rollback.d.ts +3 -5
  67. package/dist/runtime/actors/transferred-actor-rollback.js +9 -42
  68. package/dist/runtime/admission.d.ts +7 -1
  69. package/dist/runtime/admission.js +11 -1
  70. package/dist/runtime/application-jobs/application-job-queue-scope.d.ts +1 -1
  71. package/dist/runtime/application-jobs/application-job-queue-scope.js +1 -1
  72. package/dist/runtime/backend/contracts/index.d.ts +8 -33
  73. package/dist/runtime/backend/mesh-actor-session-node-adapter.js +3 -26
  74. package/dist/runtime/backend/mesh-dispatch-pump.d.ts +1 -2
  75. package/dist/runtime/backend/mesh-dispatch-pump.js +95 -107
  76. package/dist/runtime/backend/node/node-backend-adapter-factory.d.ts +1 -2
  77. package/dist/runtime/backend/node/node-backend-adapter-factory.js +4 -18
  78. package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +7 -4
  79. package/dist/runtime/backend/node/node-backend-adapter-support.js +28 -34
  80. package/dist/runtime/backend/node/node-event-loop-poller.d.ts +2 -2
  81. package/dist/runtime/backend/node/node-event-loop-poller.js +11 -6
  82. package/dist/runtime/backend/node/node-monitor-backend-adapter.js +1 -0
  83. package/dist/runtime/backend/node/node-raw-binding-port.d.ts +1 -1
  84. package/dist/runtime/backend/node/node-raw-binding-port.js +51 -19
  85. package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +21 -19
  86. package/dist/runtime/backend/node/node-raw-mesh-backend.js +171 -111
  87. package/dist/runtime/backend/node/node-socket-backend-adapter.js +4 -3
  88. package/dist/runtime/backend/raw-binding-port.d.ts +13 -1
  89. package/dist/runtime/backend/runtime-values.d.ts +4 -1
  90. package/dist/runtime/backend/runtime-values.js +2 -0
  91. package/dist/runtime/channels/channel-clients.d.ts +20 -9
  92. package/dist/runtime/channels/channel-clients.js +68 -60
  93. package/dist/runtime/channels/channel-envelope-inspection.js +2 -1
  94. package/dist/runtime/channels/channel-envelope.js +47 -29
  95. package/dist/runtime/channels/channel-outbound-operations.d.ts +3 -0
  96. package/dist/runtime/channels/channel-outbound-operations.js +9 -18
  97. package/dist/runtime/channels/channel-receive-loops.d.ts +8 -3
  98. package/dist/runtime/channels/channel-receive-loops.js +27 -6
  99. package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +12 -1
  100. package/dist/runtime/channels/channel-runtime-lifecycle.js +48 -28
  101. package/dist/runtime/channels/channel-runtime-manager.d.ts +2 -5
  102. package/dist/runtime/channels/channel-runtime-manager.js +4 -12
  103. package/dist/runtime/channels/channel-socket-options.js +3 -2
  104. package/dist/runtime/channels/channel-socket-registry.d.ts +30 -32
  105. package/dist/runtime/channels/channel-socket-registry.js +296 -235
  106. package/dist/runtime/channels/channel-transports.d.ts +11 -20
  107. package/dist/runtime/channels/channel-transports.js +68 -47
  108. package/dist/runtime/channels/client-server-location-runtime.d.ts +1 -1
  109. package/dist/runtime/channels/client-server-location-runtime.js +10 -11
  110. package/dist/runtime/channels/client-server-service-wire.d.ts +7 -2
  111. package/dist/runtime/channels/client-server-service-wire.js +32 -11
  112. package/dist/runtime/channels/dispatch-error-reporter.d.ts +1 -2
  113. package/dist/runtime/channels/dispatch-error-reporter.js +2 -1
  114. package/dist/runtime/channels/fanout-location-runtime.d.ts +16 -3
  115. package/dist/runtime/channels/fanout-location-runtime.js +133 -81
  116. package/dist/runtime/channels/spot-direct-envelope.d.ts +1 -0
  117. package/dist/runtime/channels/spot-direct-envelope.js +4 -3
  118. package/dist/runtime/channels/spot-node-route-transport.js +3 -2
  119. package/dist/runtime/diagnostics/diagnostic-text.d.ts +2 -0
  120. package/dist/runtime/diagnostics/diagnostic-text.js +7 -0
  121. package/dist/runtime/diagnostics/dispatch-error-details.d.ts +3 -0
  122. package/dist/runtime/diagnostics/dispatch-error-details.js +30 -2
  123. package/dist/runtime/diagnostics/flow-context.d.ts +6 -0
  124. package/dist/runtime/diagnostics/flow-context.js +16 -2
  125. package/dist/runtime/diagnostics/index.d.ts +4 -2
  126. package/dist/runtime/diagnostics/index.js +14 -4
  127. package/dist/runtime/diagnostics/message-flow.d.ts +1 -1
  128. package/dist/runtime/diagnostics/message-flow.js +10 -19
  129. package/dist/runtime/diagnostics/runtime-metrics.d.ts +94 -31
  130. package/dist/runtime/diagnostics/runtime-metrics.js +168 -105
  131. package/dist/runtime/diagnostics/runtime-observation-queue.js +3 -2
  132. package/dist/runtime/diagnostics/topology-runtime-projections.d.ts +2 -4
  133. package/dist/runtime/diagnostics/topology-runtime-projections.js +135 -154
  134. package/dist/runtime/disposal.d.ts +5 -0
  135. package/dist/runtime/disposal.js +22 -0
  136. package/dist/runtime/execution/index.d.ts +22 -9
  137. package/dist/runtime/execution/index.js +107 -37
  138. package/dist/runtime/execution/serial-execution-queue.d.ts +12 -7
  139. package/dist/runtime/execution/serial-execution-queue.js +99 -26
  140. package/dist/runtime/execution/state-lane.d.ts +8 -1
  141. package/dist/runtime/execution/state-lane.js +118 -3
  142. package/dist/runtime/foundation/actor-join-recovery-codec.d.ts +3 -0
  143. package/dist/runtime/foundation/actor-join-recovery-codec.js +15 -11
  144. package/dist/runtime/foundation/event-loop-resources.d.ts +2 -24
  145. package/dist/runtime/foundation/event-loop-resources.js +6 -119
  146. package/dist/runtime/foundation/listener-records.d.ts +11 -0
  147. package/dist/runtime/foundation/listener-records.js +20 -0
  148. package/dist/runtime/foundation/operation-identity.d.ts +2 -0
  149. package/dist/runtime/foundation/operation-identity.js +9 -5
  150. package/dist/runtime/foundation/operation-registry.d.ts +5 -7
  151. package/dist/runtime/foundation/operation-registry.js +34 -44
  152. package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +18 -26
  153. package/dist/runtime/foundation/raw-service-mesh-runtime.js +122 -469
  154. package/dist/runtime/foundation/runtime-state-projections.d.ts +3 -1
  155. package/dist/runtime/foundation/runtime-state-projections.js +8 -0
  156. package/dist/runtime/foundation/service-authority-payload-codec.d.ts +1 -0
  157. package/dist/runtime/foundation/service-authority-payload-codec.js +30 -12
  158. package/dist/runtime/foundation/service-discovery-registry.d.ts +4 -0
  159. package/dist/runtime/foundation/service-discovery-registry.js +22 -3
  160. package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +8 -4
  161. package/dist/runtime/foundation/service-liveness-registry.js +2 -1
  162. package/dist/runtime/foundation/service-maintenance-runtime.d.ts +0 -1
  163. package/dist/runtime/foundation/service-maintenance-runtime.js +23 -8
  164. package/dist/runtime/foundation/service-metadata-codec.js +3 -3
  165. package/dist/runtime/foundation/service-relocation-aggregate-committer.d.ts +2 -5
  166. package/dist/runtime/foundation/service-relocation-aggregate-committer.js +1 -48
  167. package/dist/runtime/foundation/service-relocation-coordinator.d.ts +9 -0
  168. package/dist/runtime/foundation/service-relocation-coordinator.js +14 -1
  169. package/dist/runtime/foundation/service-relocation-object-owner.d.ts +8 -0
  170. package/dist/runtime/foundation/service-relocation-object-owner.js +19 -6
  171. package/dist/runtime/foundation/service-relocation-runtime.js +43 -32
  172. package/dist/runtime/foundation/service-runtime-contracts.d.ts +40 -8
  173. package/dist/runtime/foundation/service-runtime-contracts.js +25 -1
  174. package/dist/runtime/foundation/service-session-binding-ingress-port.d.ts +0 -19
  175. package/dist/runtime/foundation/service-stateful-registry.d.ts +2 -0
  176. package/dist/runtime/foundation/service-stateful-registry.js +10 -2
  177. package/dist/runtime/foundation/service-stateful-runtime.d.ts +28 -24
  178. package/dist/runtime/foundation/service-stateful-runtime.js +297 -244
  179. package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +12 -7
  180. package/dist/runtime/foundation/service-stateful-wire-codec.js +240 -143
  181. package/dist/runtime/foundation/service-topology-registry.d.ts +1 -3
  182. package/dist/runtime/foundation/service-topology-registry.js +22 -61
  183. package/dist/runtime/foundation/service-wire-binary-primitives.d.ts +5 -0
  184. package/dist/runtime/foundation/service-wire-binary-primitives.js +6 -0
  185. package/dist/runtime/foundation/service-wire-codec.js +10 -8
  186. package/dist/runtime/foundation/service-wire-constants.generated.d.ts +1 -0
  187. package/dist/runtime/foundation/service-wire-constants.generated.js +2 -1
  188. package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +2 -0
  189. package/dist/runtime/foundation/service-wire-m6a-codec.js +23 -13
  190. package/dist/runtime/framework-errors-internal.d.ts +2 -1
  191. package/dist/runtime/framework-errors-internal.js +343 -122
  192. package/dist/runtime/handlers/handler-instance-scope.d.ts +3 -1
  193. package/dist/runtime/handlers/handler-instance-scope.js +61 -74
  194. package/dist/runtime/host/actor-packet-relay.d.ts +9 -6
  195. package/dist/runtime/host/actor-packet-relay.js +48 -91
  196. package/dist/runtime/host/actor-placement-coordinator.js +7 -5
  197. package/dist/runtime/host/actor-runtime-options-factory.d.ts +2 -0
  198. package/dist/runtime/host/actor-runtime-options-factory.js +17 -4
  199. package/dist/runtime/host/actor-transfer-runtime.d.ts +28 -28
  200. package/dist/runtime/host/actor-transfer-runtime.js +210 -256
  201. package/dist/runtime/host/application-job-queue.js +16 -33
  202. package/dist/runtime/host/bound-session-relay.js +1 -1
  203. package/dist/runtime/host/channel-runtime-options-factory.js +1 -1
  204. package/dist/runtime/host/index.d.ts +19 -14
  205. package/dist/runtime/host/index.js +234 -175
  206. package/dist/runtime/host/instance-activation-authority.d.ts +2 -3
  207. package/dist/runtime/host/instance-activation-authority.js +17 -45
  208. package/dist/runtime/host/location-runtime-owner.d.ts +1 -1
  209. package/dist/runtime/host/location-runtime-owner.js +2 -2
  210. package/dist/runtime/host/remote-actor-join-receiver.d.ts +2 -2
  211. package/dist/runtime/host/remote-actor-join-receiver.js +1 -14
  212. package/dist/runtime/host/remote-actor-packet-target-store.d.ts +3 -2
  213. package/dist/runtime/host/remote-actor-packet-target-store.js +8 -47
  214. package/dist/runtime/host/remote-bound-session-relay.d.ts +2 -3
  215. package/dist/runtime/host/remote-bound-session-relay.js +11 -23
  216. package/dist/runtime/host/route-mesh-runtime.d.ts +14 -10
  217. package/dist/runtime/host/route-mesh-runtime.js +178 -257
  218. package/dist/runtime/host/runtime-shutdown.d.ts +2 -0
  219. package/dist/runtime/host/runtime-shutdown.js +18 -21
  220. package/dist/runtime/host/service-relocation-control.js +6 -1
  221. package/dist/runtime/host/service-relocation-host-runtime.d.ts +71 -38
  222. package/dist/runtime/host/service-relocation-host-runtime.js +816 -651
  223. package/dist/runtime/host/spot-address-transport.d.ts +2 -3
  224. package/dist/runtime/host/spot-address-transport.js +34 -136
  225. package/dist/runtime/host/spot-node-runtime-options-factory.d.ts +1 -1
  226. package/dist/runtime/host/spot-node-runtime-options-factory.js +3 -2
  227. package/dist/runtime/host/spot-runtime-options-factory.d.ts +4 -7
  228. package/dist/runtime/host/spot-runtime-options-factory.js +53 -21
  229. package/dist/runtime/host/stateful-authority-route-runtime.js +6 -2
  230. package/dist/runtime/host/user-spot-creation-coordinator.d.ts +14 -6
  231. package/dist/runtime/host/user-spot-creation-coordinator.js +96 -95
  232. package/dist/runtime/locations/aggregate-inventory-store.js +13 -10
  233. package/dist/runtime/locations/authority-key-codec.js +4 -3
  234. package/dist/runtime/locations/auto-connect-reconciler.d.ts +4 -0
  235. package/dist/runtime/locations/auto-connect-reconciler.js +37 -25
  236. package/dist/runtime/locations/creation-operation-id.js +6 -4
  237. package/dist/runtime/locations/domain-store-contract.d.ts +3 -3
  238. package/dist/runtime/locations/in-memory-authority-store.js +31 -15
  239. package/dist/runtime/locations/in-memory-location-store.d.ts +2 -2
  240. package/dist/runtime/locations/in-memory-location-store.js +17 -14
  241. package/dist/runtime/locations/in-memory-provider-location-store.d.ts +1 -0
  242. package/dist/runtime/locations/in-memory-provider-location-store.js +79 -27
  243. package/dist/runtime/locations/key-codec.js +3 -2
  244. package/dist/runtime/locations/lease-tracker.d.ts +3 -5
  245. package/dist/runtime/locations/lease-tracker.js +7 -11
  246. package/dist/runtime/locations/lifecycle.d.ts +5 -10
  247. package/dist/runtime/locations/lifecycle.js +4 -33
  248. package/dist/runtime/locations/location-store-failure.d.ts +2 -0
  249. package/dist/runtime/locations/location-store-failure.js +7 -0
  250. package/dist/runtime/locations/location-store-pages.d.ts +3 -0
  251. package/dist/runtime/locations/location-store-pages.js +13 -0
  252. package/dist/runtime/locations/location-store-repository.d.ts +5 -7
  253. package/dist/runtime/locations/location-store-repository.js +303 -332
  254. package/dist/runtime/locations/relocation-blob.js +18 -5
  255. package/dist/runtime/locations/resolvers.d.ts +5 -5
  256. package/dist/runtime/locations/resolvers.js +44 -30
  257. package/dist/runtime/locations/runtime.d.ts +5 -4
  258. package/dist/runtime/locations/runtime.js +123 -92
  259. package/dist/runtime/locations/spot-location-claims.d.ts +8 -2
  260. package/dist/runtime/locations/spot-location-claims.js +40 -23
  261. package/dist/runtime/messaging/payload-codec.js +26 -20
  262. package/dist/runtime/messaging/submission-result.d.ts +3 -0
  263. package/dist/runtime/messaging/submission-result.js +48 -0
  264. package/dist/runtime/protocol/service_wire_codec.generated.d.ts +2 -0
  265. package/dist/runtime/protocol/service_wire_codec.generated.js +17 -8
  266. package/dist/runtime/protocol/service_wire_pilot_codec.generated.d.ts +1 -0
  267. package/dist/runtime/protocol/service_wire_pilot_codec.generated.js +3 -2
  268. package/dist/runtime/spots/formal-remote-actor-admission-registry.d.ts +3 -3
  269. package/dist/runtime/spots/formal-remote-actor-admission-registry.js +4 -4
  270. package/dist/runtime/spots/formal-remote-actor-transfer-registry.d.ts +6 -3
  271. package/dist/runtime/spots/index.d.ts +29 -29
  272. package/dist/runtime/spots/index.js +441 -313
  273. package/dist/runtime/spots/spot-activation-registry.d.ts +4 -4
  274. package/dist/runtime/spots/spot-activation-registry.js +27 -60
  275. package/dist/runtime/spots/spot-activation-state.d.ts +2 -11
  276. package/dist/runtime/spots/spot-activation-state.js +4 -17
  277. package/dist/runtime/spots/spot-activation.d.ts +10 -9
  278. package/dist/runtime/spots/spot-activation.js +103 -81
  279. package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +1 -2
  280. package/dist/runtime/spots/spot-actor-admission-coordinator.js +3 -40
  281. package/dist/runtime/spots/spot-actor-join-dispatch.d.ts +10 -18
  282. package/dist/runtime/spots/spot-actor-join-dispatch.js +5 -55
  283. package/dist/runtime/spots/spot-actor-lifecycle-drain.js +2 -2
  284. package/dist/runtime/spots/spot-actor-membership.d.ts +7 -5
  285. package/dist/runtime/spots/spot-actor-membership.js +44 -53
  286. package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +0 -1
  287. package/dist/runtime/spots/spot-actor-packet-dispatch.js +0 -9
  288. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.d.ts +2 -2
  289. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +1 -7
  290. package/dist/runtime/spots/spot-context.d.ts +2 -2
  291. package/dist/runtime/spots/spot-entry-activation.d.ts +3 -4
  292. package/dist/runtime/spots/spot-entry-activation.js +9 -21
  293. package/dist/runtime/spots/spot-lifecycle-metrics.js +3 -2
  294. package/dist/runtime/spots/spot-manager-public.d.ts +5 -6
  295. package/dist/runtime/spots/spot-manager-public.js +6 -5
  296. package/dist/runtime/spots/spot-node-autoconnect.js +22 -31
  297. package/dist/runtime/spots/spot-node-runtime-manager.d.ts +22 -21
  298. package/dist/runtime/spots/spot-node-runtime-manager.js +73 -82
  299. package/dist/runtime/spots/spot-outbound.d.ts +4 -3
  300. package/dist/runtime/spots/spot-outbound.js +10 -37
  301. package/dist/runtime/spots/spot-remote-codec.js +5 -3
  302. package/dist/runtime/spots/spot-route-packet-dispatch.d.ts +2 -2
  303. package/dist/runtime/spots/spot-route-packet-dispatch.js +8 -8
  304. package/dist/runtime/spots/spot-route-replies.d.ts +2 -2
  305. package/dist/runtime/spots/spot-route-replies.js +3 -1
  306. package/dist/runtime/spots/spot-routed-actor-admission.d.ts +3 -2
  307. package/dist/runtime/spots/spot-routed-actor-admission.js +3 -2
  308. package/dist/runtime/spots/spot-routed-frame-dispatch.d.ts +2 -7
  309. package/dist/runtime/spots/spot-routed-frame-dispatch.js +1 -70
  310. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +4 -0
  311. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +65 -15
  312. package/dist/runtime/spots/spot-runtime-ports.d.ts +4 -20
  313. package/dist/runtime/spots/spot-serial-executor.d.ts +5 -0
  314. package/dist/runtime/spots/spot-serial-executor.js +9 -2
  315. package/dist/runtime/spots/spot-serial-turn-executor.d.ts +29 -6
  316. package/dist/runtime/spots/spot-serial-turn-executor.js +89 -13
  317. package/dist/runtime/spots/spot-timer.d.ts +3 -2
  318. package/dist/runtime/streams/actor-session-binding-registry.d.ts +17 -32
  319. package/dist/runtime/streams/actor-session-binding-registry.js +145 -367
  320. package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +2 -6
  321. package/dist/runtime/streams/bound-actor-relay-sender.d.ts +6 -2
  322. package/dist/runtime/streams/bound-actor-relay-sender.js +57 -33
  323. package/dist/runtime/streams/bound-session-service.d.ts +7 -0
  324. package/dist/runtime/streams/bound-session-service.js +12 -19
  325. package/dist/runtime/streams/index.d.ts +15 -14
  326. package/dist/runtime/streams/index.js +38 -39
  327. package/dist/runtime/streams/managed-stream.d.ts +3 -0
  328. package/dist/runtime/streams/managed-stream.js +17 -8
  329. package/dist/runtime/streams/native-fallback-bound-session.js +1 -3
  330. package/dist/runtime/streams/protocol.d.ts +6 -33
  331. package/dist/runtime/streams/protocol.js +38 -110
  332. package/dist/runtime/streams/session-actor-coordinator.d.ts +2 -3
  333. package/dist/runtime/streams/session-actor-coordinator.js +12 -4
  334. package/dist/runtime/streams/session-calls.d.ts +1 -1
  335. package/dist/runtime/streams/session-calls.js +5 -4
  336. package/dist/runtime/streams/session-context.d.ts +6 -6
  337. package/dist/runtime/streams/session-context.js +22 -4
  338. package/dist/runtime/streams/session-requests.js +2 -1
  339. package/dist/runtime/streams/session-serial-executor.js +2 -2
  340. package/dist/runtime/streams/stream-binding-runtime-ports.d.ts +16 -1
  341. package/dist/runtime/streams/stream-frame-factory.js +2 -2
  342. package/dist/runtime/streams/stream-session-runtime.d.ts +10 -11
  343. package/dist/runtime/streams/stream-session-runtime.js +25 -33
  344. package/dist/runtime/workers/index.d.ts +2 -2
  345. package/dist/runtime/workers/index.js +5 -4
  346. package/package.json +3 -3
  347. package/src/contracts/Channels/IZLinkFanoutClient.ts +0 -7
  348. package/src/contracts/Common/CoreTypes.ts +7 -0
  349. package/src/contracts/Common/index.ts +1 -1
  350. package/src/contracts/Configuration/InternalDefaults.ts +12 -0
  351. package/src/contracts/Configuration/Registration.ts +92 -48
  352. package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +44 -2
  353. package/src/contracts/Configuration/RegistrationBuilders.ts +77 -68
  354. package/src/contracts/Configuration/RegistrationTypes.ts +1 -0
  355. package/src/contracts/Configuration/RegistrationValidators.ts +19 -13
  356. package/src/contracts/Configuration/TimerRegistrationValidator.ts +4 -2
  357. package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +1 -0
  358. package/src/contracts/Handlers/JsonContract.ts +14 -4
  359. package/src/contracts/Locations/Authority.ts +7 -3
  360. package/src/contracts/Locations/Options.ts +1 -1
  361. package/src/contracts/Locations/Stores.ts +14 -0
  362. package/src/contracts/RouteMesh/RuntimeTopology.ts +10 -0
  363. package/src/contracts/Spots/Contracts.ts +1 -1
  364. package/src/internal.ts +15 -0
  365. package/src/nest-integration.ts +28 -10
  366. package/src/runtime/abort.ts +6 -5
  367. package/src/runtime/activation-admission.ts +72 -0
  368. package/src/runtime/actors/actor-authority-payload-codec.ts +58 -20
  369. package/src/runtime/actors/actor-client.ts +77 -204
  370. package/src/runtime/actors/actor-context.ts +45 -39
  371. package/src/runtime/actors/actor-handoff.ts +55 -45
  372. package/src/runtime/actors/actor-lifecycle-snapshot.ts +2 -1
  373. package/src/runtime/actors/actor-local-native-join.ts +174 -215
  374. package/src/runtime/actors/actor-native-lookup.ts +2 -9
  375. package/src/runtime/actors/actor-packet-relay-wire.ts +18 -12
  376. package/src/runtime/actors/actor-remote-joiner.ts +15 -36
  377. package/src/runtime/actors/actor-remote-wire.ts +5 -3
  378. package/src/runtime/actors/actor-request-deadline.ts +49 -0
  379. package/src/runtime/actors/actor-retry-delay.ts +2 -1
  380. package/src/runtime/actors/actor-runtime-contracts.ts +4 -10
  381. package/src/runtime/actors/actor-runtime-state.ts +85 -247
  382. package/src/runtime/actors/actor-source-transfer.ts +5 -18
  383. package/src/runtime/actors/bound-session-wire.ts +2 -8
  384. package/src/runtime/actors/deferred-join-completion.ts +44 -0
  385. package/src/runtime/actors/index.ts +122 -88
  386. package/src/runtime/actors/spot-actor-dispatch.ts +60 -29
  387. package/src/runtime/actors/transferred-actor-rollback.ts +11 -62
  388. package/src/runtime/admission.ts +13 -2
  389. package/src/runtime/application-jobs/application-job-queue-scope.ts +4 -4
  390. package/src/runtime/backend/contracts/index.ts +15 -42
  391. package/src/runtime/backend/mesh-actor-session-node-adapter.ts +4 -28
  392. package/src/runtime/backend/mesh-dispatch-pump.ts +111 -117
  393. package/src/runtime/backend/node/node-backend-adapter-factory.ts +5 -25
  394. package/src/runtime/backend/node/node-backend-adapter-support.ts +32 -35
  395. package/src/runtime/backend/node/node-event-loop-poller.ts +16 -8
  396. package/src/runtime/backend/node/node-monitor-backend-adapter.ts +1 -0
  397. package/src/runtime/backend/node/node-raw-binding-port.ts +58 -23
  398. package/src/runtime/backend/node/node-raw-mesh-backend.ts +252 -162
  399. package/src/runtime/backend/node/node-socket-backend-adapter.ts +5 -4
  400. package/src/runtime/backend/raw-binding-port.ts +14 -1
  401. package/src/runtime/backend/runtime-values.ts +4 -1
  402. package/src/runtime/channels/channel-clients.ts +132 -96
  403. package/src/runtime/channels/channel-envelope-inspection.ts +2 -1
  404. package/src/runtime/channels/channel-envelope.ts +58 -29
  405. package/src/runtime/channels/channel-outbound-operations.ts +10 -31
  406. package/src/runtime/channels/channel-receive-loops.ts +39 -7
  407. package/src/runtime/channels/channel-runtime-lifecycle.ts +60 -27
  408. package/src/runtime/channels/channel-runtime-manager.ts +8 -15
  409. package/src/runtime/channels/channel-socket-options.ts +8 -2
  410. package/src/runtime/channels/channel-socket-registry.ts +369 -262
  411. package/src/runtime/channels/channel-transports.ts +161 -115
  412. package/src/runtime/channels/client-server-location-runtime.ts +17 -17
  413. package/src/runtime/channels/client-server-service-wire.ts +40 -12
  414. package/src/runtime/channels/dispatch-error-reporter.ts +7 -5
  415. package/src/runtime/channels/fanout-location-runtime.ts +175 -106
  416. package/src/runtime/channels/spot-direct-envelope.ts +1 -1
  417. package/src/runtime/channels/spot-node-route-transport.ts +5 -2
  418. package/src/runtime/diagnostics/diagnostic-text.ts +4 -0
  419. package/src/runtime/diagnostics/dispatch-error-details.ts +36 -1
  420. package/src/runtime/diagnostics/flow-context.ts +16 -2
  421. package/src/runtime/diagnostics/index.ts +27 -17
  422. package/src/runtime/diagnostics/message-flow.ts +15 -25
  423. package/src/runtime/diagnostics/runtime-metrics.ts +181 -113
  424. package/src/runtime/diagnostics/runtime-observation-queue.ts +3 -2
  425. package/src/runtime/diagnostics/topology-runtime-projections.ts +194 -162
  426. package/src/runtime/disposal.ts +19 -0
  427. package/src/runtime/execution/index.ts +116 -38
  428. package/src/runtime/execution/serial-execution-queue.ts +179 -34
  429. package/src/runtime/execution/state-lane.ts +142 -4
  430. package/src/runtime/foundation/actor-join-recovery-codec.ts +13 -8
  431. package/src/runtime/foundation/event-loop-resources.ts +5 -122
  432. package/src/runtime/foundation/listener-records.ts +21 -0
  433. package/src/runtime/foundation/operation-identity.ts +11 -5
  434. package/src/runtime/foundation/operation-registry.ts +33 -50
  435. package/src/runtime/foundation/raw-service-mesh-runtime.ts +170 -571
  436. package/src/runtime/foundation/runtime-state-projections.ts +9 -1
  437. package/src/runtime/foundation/service-authority-payload-codec.ts +41 -13
  438. package/src/runtime/foundation/service-discovery-registry.ts +32 -3
  439. package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +12 -4
  440. package/src/runtime/foundation/service-liveness-registry.ts +2 -1
  441. package/src/runtime/foundation/service-maintenance-runtime.ts +30 -19
  442. package/src/runtime/foundation/service-metadata-codec.ts +2 -2
  443. package/src/runtime/foundation/service-relocation-aggregate-committer.ts +3 -66
  444. package/src/runtime/foundation/service-relocation-coordinator.ts +13 -0
  445. package/src/runtime/foundation/service-relocation-object-owner.ts +23 -7
  446. package/src/runtime/foundation/service-relocation-runtime.ts +57 -35
  447. package/src/runtime/foundation/service-runtime-contracts.ts +46 -10
  448. package/src/runtime/foundation/service-session-binding-ingress-port.ts +0 -25
  449. package/src/runtime/foundation/service-stateful-registry.ts +14 -2
  450. package/src/runtime/foundation/service-stateful-runtime.ts +435 -327
  451. package/src/runtime/foundation/service-stateful-wire-codec.ts +329 -199
  452. package/src/runtime/foundation/service-topology-registry.ts +30 -79
  453. package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -0
  454. package/src/runtime/foundation/service-wire-codec.ts +15 -8
  455. package/src/runtime/foundation/service-wire-constants.generated.ts +1 -0
  456. package/src/runtime/foundation/service-wire-m6a-codec.ts +29 -15
  457. package/src/runtime/framework-errors-internal.ts +380 -134
  458. package/src/runtime/handlers/handler-instance-scope.ts +68 -95
  459. package/src/runtime/host/actor-packet-relay.ts +57 -147
  460. package/src/runtime/host/actor-placement-coordinator.ts +8 -5
  461. package/src/runtime/host/actor-runtime-options-factory.ts +27 -8
  462. package/src/runtime/host/actor-transfer-runtime.ts +266 -418
  463. package/src/runtime/host/application-job-queue.ts +28 -34
  464. package/src/runtime/host/bound-session-relay.ts +1 -2
  465. package/src/runtime/host/channel-runtime-options-factory.ts +1 -2
  466. package/src/runtime/host/index.ts +408 -312
  467. package/src/runtime/host/instance-activation-authority.ts +89 -109
  468. package/src/runtime/host/location-runtime-owner.ts +4 -2
  469. package/src/runtime/host/remote-actor-join-receiver.ts +3 -31
  470. package/src/runtime/host/remote-actor-packet-target-store.ts +17 -58
  471. package/src/runtime/host/remote-bound-session-relay.ts +12 -44
  472. package/src/runtime/host/route-mesh-runtime.ts +236 -275
  473. package/src/runtime/host/runtime-shutdown.ts +17 -21
  474. package/src/runtime/host/service-relocation-control.ts +14 -1
  475. package/src/runtime/host/service-relocation-host-runtime.ts +1161 -904
  476. package/src/runtime/host/spot-address-transport.ts +73 -195
  477. package/src/runtime/host/spot-node-runtime-options-factory.ts +6 -3
  478. package/src/runtime/host/spot-runtime-options-factory.ts +92 -30
  479. package/src/runtime/host/stateful-authority-route-runtime.ts +8 -4
  480. package/src/runtime/host/user-spot-creation-coordinator.ts +182 -163
  481. package/src/runtime/locations/aggregate-inventory-store.ts +16 -13
  482. package/src/runtime/locations/authority-key-codec.ts +7 -3
  483. package/src/runtime/locations/auto-connect-reconciler.ts +39 -26
  484. package/src/runtime/locations/creation-operation-id.ts +6 -3
  485. package/src/runtime/locations/domain-store-contract.ts +12 -3
  486. package/src/runtime/locations/in-memory-authority-store.ts +44 -15
  487. package/src/runtime/locations/in-memory-location-store.ts +50 -39
  488. package/src/runtime/locations/in-memory-provider-location-store.ts +110 -31
  489. package/src/runtime/locations/key-codec.ts +3 -2
  490. package/src/runtime/locations/lease-tracker.ts +8 -14
  491. package/src/runtime/locations/lifecycle.ts +16 -45
  492. package/src/runtime/locations/location-store-failure.ts +4 -0
  493. package/src/runtime/locations/location-store-pages.ts +18 -0
  494. package/src/runtime/locations/location-store-repository.ts +450 -478
  495. package/src/runtime/locations/relocation-blob.ts +17 -6
  496. package/src/runtime/locations/resolvers.ts +90 -58
  497. package/src/runtime/locations/runtime.ts +220 -110
  498. package/src/runtime/locations/spot-location-claims.ts +54 -26
  499. package/src/runtime/messaging/payload-codec.ts +35 -24
  500. package/src/runtime/messaging/submission-result.ts +57 -1
  501. package/src/runtime/protocol/service_wire_codec.generated.ts +27 -10
  502. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +4 -4
  503. package/src/runtime/spots/formal-remote-actor-admission-registry.ts +6 -6
  504. package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +6 -3
  505. package/src/runtime/spots/index.ts +687 -437
  506. package/src/runtime/spots/spot-activation-registry.ts +42 -71
  507. package/src/runtime/spots/spot-activation-state.ts +4 -16
  508. package/src/runtime/spots/spot-activation.ts +167 -115
  509. package/src/runtime/spots/spot-actor-admission-coordinator.ts +5 -57
  510. package/src/runtime/spots/spot-actor-join-dispatch.ts +25 -79
  511. package/src/runtime/spots/spot-actor-lifecycle-drain.ts +20 -18
  512. package/src/runtime/spots/spot-actor-membership.ts +107 -75
  513. package/src/runtime/spots/spot-actor-packet-dispatch.ts +0 -16
  514. package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +3 -15
  515. package/src/runtime/spots/spot-context.ts +3 -3
  516. package/src/runtime/spots/spot-entry-activation.ts +13 -33
  517. package/src/runtime/spots/spot-lifecycle-metrics.ts +3 -2
  518. package/src/runtime/spots/spot-manager-public.ts +29 -21
  519. package/src/runtime/spots/spot-node-autoconnect.ts +20 -26
  520. package/src/runtime/spots/spot-node-runtime-manager.ts +145 -140
  521. package/src/runtime/spots/spot-outbound.ts +47 -68
  522. package/src/runtime/spots/spot-remote-codec.ts +7 -3
  523. package/src/runtime/spots/spot-route-packet-dispatch.ts +25 -24
  524. package/src/runtime/spots/spot-route-replies.ts +6 -4
  525. package/src/runtime/spots/spot-routed-actor-admission.ts +13 -6
  526. package/src/runtime/spots/spot-routed-frame-dispatch.ts +6 -77
  527. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +95 -22
  528. package/src/runtime/spots/spot-runtime-ports.ts +10 -43
  529. package/src/runtime/spots/spot-serial-executor.ts +10 -2
  530. package/src/runtime/spots/spot-serial-turn-executor.ts +120 -13
  531. package/src/runtime/spots/spot-timer.ts +3 -2
  532. package/src/runtime/streams/actor-session-binding-registry.ts +182 -560
  533. package/src/runtime/streams/actor-session-binding-runtime-owner.ts +1 -19
  534. package/src/runtime/streams/bound-actor-relay-sender.ts +89 -43
  535. package/src/runtime/streams/bound-session-service.ts +23 -37
  536. package/src/runtime/streams/index.ts +102 -88
  537. package/src/runtime/streams/managed-stream.ts +29 -10
  538. package/src/runtime/streams/native-fallback-bound-session.ts +1 -3
  539. package/src/runtime/streams/protocol.ts +34 -88
  540. package/src/runtime/streams/session-actor-coordinator.ts +17 -5
  541. package/src/runtime/streams/session-calls.ts +6 -5
  542. package/src/runtime/streams/session-context.ts +54 -10
  543. package/src/runtime/streams/session-requests.ts +2 -1
  544. package/src/runtime/streams/session-serial-executor.ts +2 -2
  545. package/src/runtime/streams/stream-binding-runtime-ports.ts +22 -1
  546. package/src/runtime/streams/stream-frame-factory.ts +2 -3
  547. package/src/runtime/streams/stream-session-runtime.ts +57 -59
  548. package/src/runtime/workers/index.ts +13 -12
  549. package/dist/runtime/actors/deferred-join-accepted-journal.d.ts +0 -47
  550. package/dist/runtime/actors/deferred-join-accepted-journal.js +0 -992
  551. package/dist/runtime/actors/post-commit-actor-location.d.ts +0 -19
  552. package/dist/runtime/actors/post-commit-actor-location.js +0 -72
  553. package/dist/runtime/spots/spot-native-actor-join-admission.d.ts +0 -26
  554. package/dist/runtime/spots/spot-native-actor-join-admission.js +0 -106
  555. package/src/runtime/actors/deferred-join-accepted-journal.ts +0 -1346
  556. package/src/runtime/actors/post-commit-actor-location.ts +0 -121
  557. package/src/runtime/spots/spot-native-actor-join-admission.ts +0 -155
@@ -4,6 +4,11 @@ import {
4
4
  } from '../contracts/Errors/ZLinkFrameworkException';
5
5
  import { RequestResult } from './backend/runtime-values';
6
6
  import { ServiceWireProtocolError } from './foundation/service-wire-m6a-codec';
7
+ import {
8
+ ServiceWireBoundaryTerminalResults,
9
+ ServiceWireExactTerminalByFailureCode,
10
+ ServiceWireFrameworkErrorCode
11
+ } from './foundation/service-wire-constants.generated';
7
12
 
8
13
  /** Detailed failure reasons owned by Framework runtime bounded contexts. */
9
14
  export enum ZLinkFrameworkInternalErrorKind {
@@ -51,118 +56,349 @@ export enum ZLinkFrameworkInternalErrorKind {
51
56
  ActorRouteUnavailable = 'actorRouteUnavailable'
52
57
  }
53
58
 
54
- const INTERNAL_TO_PUBLIC: Readonly<
55
- Record<ZLinkFrameworkInternalErrorKind, ZLinkFrameworkErrorKind>
56
- > = Object.freeze({
57
- [ZLinkFrameworkInternalErrorKind.ActorRouteNotFound]: ZLinkFrameworkErrorKind.NotFound,
58
- [ZLinkFrameworkInternalErrorKind.ActorCreateFailed]: ZLinkFrameworkErrorKind.InternalFailure,
59
- [ZLinkFrameworkInternalErrorKind.ActorAlreadyExists]: ZLinkFrameworkErrorKind.AlreadyExists,
60
- [ZLinkFrameworkInternalErrorKind.ActorTypeMismatch]: ZLinkFrameworkErrorKind.TypeMismatch,
61
- [ZLinkFrameworkInternalErrorKind.SpotCreateFailed]: ZLinkFrameworkErrorKind.InternalFailure,
62
- [ZLinkFrameworkInternalErrorKind.SpotRouteNotFound]: ZLinkFrameworkErrorKind.NotFound,
63
- [ZLinkFrameworkInternalErrorKind.SpotTypeMismatch]: ZLinkFrameworkErrorKind.TypeMismatch,
64
- [ZLinkFrameworkInternalErrorKind.ActorSessionNotBound]: ZLinkFrameworkErrorKind.InvalidOperation,
65
- [ZLinkFrameworkInternalErrorKind.HandlerNotFound]: ZLinkFrameworkErrorKind.NotFound,
66
- [ZLinkFrameworkInternalErrorKind.RouteHandlerNotFound]: ZLinkFrameworkErrorKind.NotFound,
67
- [ZLinkFrameworkInternalErrorKind.ActorDispatchHandlerNotFound]: ZLinkFrameworkErrorKind.NotFound,
68
- [ZLinkFrameworkInternalErrorKind.PayloadDecodeFailed]: ZLinkFrameworkErrorKind.ProtocolError,
69
- [ZLinkFrameworkInternalErrorKind.RouteNotConnected]: ZLinkFrameworkErrorKind.Unavailable,
70
- [ZLinkFrameworkInternalErrorKind.RequestTargetNotFound]: ZLinkFrameworkErrorKind.NotFound,
71
- [ZLinkFrameworkInternalErrorKind.RequestRejected]: ZLinkFrameworkErrorKind.Rejected,
72
- [ZLinkFrameworkInternalErrorKind.RequestProtocolError]: ZLinkFrameworkErrorKind.ProtocolError,
73
- [ZLinkFrameworkInternalErrorKind.RequestFailed]: ZLinkFrameworkErrorKind.InternalFailure,
74
- [ZLinkFrameworkInternalErrorKind.WorkerQueueFull]: ZLinkFrameworkErrorKind.Unavailable,
75
- [ZLinkFrameworkInternalErrorKind.WorkerTimedOut]: ZLinkFrameworkErrorKind.DeadlineExceeded,
76
- [ZLinkFrameworkInternalErrorKind.WorkerFailed]: ZLinkFrameworkErrorKind.InternalFailure,
77
- [ZLinkFrameworkInternalErrorKind.ActorLocationStale]: ZLinkFrameworkErrorKind.Unavailable,
78
- [ZLinkFrameworkInternalErrorKind.ActorCreateRejected]: ZLinkFrameworkErrorKind.Rejected,
79
- [ZLinkFrameworkInternalErrorKind.ObjectClientNotConfigured]:
80
- ZLinkFrameworkErrorKind.NotConfigured,
81
- [ZLinkFrameworkInternalErrorKind.MeshSelectionRequired]: ZLinkFrameworkErrorKind.NotConfigured,
82
- [ZLinkFrameworkInternalErrorKind.MeshNotFound]: ZLinkFrameworkErrorKind.NotFound,
83
- [ZLinkFrameworkInternalErrorKind.InvalidConfiguration]: ZLinkFrameworkErrorKind.NotConfigured,
84
- [ZLinkFrameworkInternalErrorKind.AlreadySubmitted]: ZLinkFrameworkErrorKind.InvalidOperation,
85
- [ZLinkFrameworkInternalErrorKind.ActorGenerationStale]: ZLinkFrameworkErrorKind.InvalidOperation,
86
- [ZLinkFrameworkInternalErrorKind.ActorMoving]: ZLinkFrameworkErrorKind.Unavailable,
87
- [ZLinkFrameworkInternalErrorKind.DeadlineExceeded]: ZLinkFrameworkErrorKind.DeadlineExceeded,
88
- [ZLinkFrameworkInternalErrorKind.PlacementCapacityExhausted]: ZLinkFrameworkErrorKind.Unavailable,
89
- [ZLinkFrameworkInternalErrorKind.RoutingIdConflict]: ZLinkFrameworkErrorKind.AlreadyExists,
90
- [ZLinkFrameworkInternalErrorKind.SpotGenerationStale]: ZLinkFrameworkErrorKind.InvalidOperation,
91
- [ZLinkFrameworkInternalErrorKind.SpotMoving]: ZLinkFrameworkErrorKind.Unavailable,
92
- [ZLinkFrameworkInternalErrorKind.RelocationDataLost]: ZLinkFrameworkErrorKind.DataLost,
93
- [ZLinkFrameworkInternalErrorKind.SpotIdConflict]: ZLinkFrameworkErrorKind.AlreadyExists,
94
- [ZLinkFrameworkInternalErrorKind.RuntimeShutdown]: ZLinkFrameworkErrorKind.ShuttingDown,
95
- [ZLinkFrameworkInternalErrorKind.RelocationDisabled]: ZLinkFrameworkErrorKind.Rejected,
96
- [ZLinkFrameworkInternalErrorKind.RelocationTargetUnavailable]:
97
- ZLinkFrameworkErrorKind.Unavailable,
98
- [ZLinkFrameworkInternalErrorKind.RelocationFailed]: ZLinkFrameworkErrorKind.InternalFailure,
99
- [ZLinkFrameworkInternalErrorKind.InvalidOperation]: ZLinkFrameworkErrorKind.InvalidOperation,
100
- [ZLinkFrameworkInternalErrorKind.ActorRouteUnavailable]: ZLinkFrameworkErrorKind.Unavailable
101
- });
59
+ interface FailureMapping {
60
+ readonly internalKind?: ZLinkFrameworkInternalErrorKind;
61
+ readonly publicKind: ZLinkFrameworkErrorKind;
62
+ readonly internalValue?: number;
63
+ readonly send?: number;
64
+ readonly sendTerminal?: number;
65
+ readonly codeOnlySend?: number;
66
+ }
67
+
68
+ // Error model §2.1 owns the wire codes and public representatives.
69
+ const FAILURE_MAPPINGS: readonly FailureMapping[] = [
70
+ {
71
+ internalKind: ZLinkFrameworkInternalErrorKind.ActorRouteNotFound,
72
+ publicKind: ZLinkFrameworkErrorKind.NotFound,
73
+ internalValue: ServiceWireFrameworkErrorCode.actorRouteNotFound - 1,
74
+ send: ServiceWireFrameworkErrorCode.actorRouteNotFound
75
+ },
76
+ {
77
+ internalKind: ZLinkFrameworkInternalErrorKind.ActorCreateFailed,
78
+ publicKind: ZLinkFrameworkErrorKind.InternalFailure,
79
+ internalValue: ServiceWireFrameworkErrorCode.actorCreateFailed - 1,
80
+ send: ServiceWireFrameworkErrorCode.actorCreateFailed
81
+ },
82
+ {
83
+ internalKind: ZLinkFrameworkInternalErrorKind.ActorAlreadyExists,
84
+ publicKind: ZLinkFrameworkErrorKind.AlreadyExists,
85
+ internalValue: ServiceWireFrameworkErrorCode.actorAlreadyExists - 1,
86
+ send: ServiceWireFrameworkErrorCode.actorAlreadyExists
87
+ },
88
+ {
89
+ internalKind: ZLinkFrameworkInternalErrorKind.ActorTypeMismatch,
90
+ publicKind: ZLinkFrameworkErrorKind.TypeMismatch,
91
+ internalValue: ServiceWireFrameworkErrorCode.actorTypeMismatch - 1,
92
+ send: ServiceWireFrameworkErrorCode.actorTypeMismatch
93
+ },
94
+ {
95
+ internalKind: ZLinkFrameworkInternalErrorKind.SpotCreateFailed,
96
+ publicKind: ZLinkFrameworkErrorKind.InternalFailure,
97
+ internalValue: ServiceWireFrameworkErrorCode.spotCreateFailed - 1,
98
+ send: ServiceWireFrameworkErrorCode.spotCreateFailed
99
+ },
100
+ {
101
+ internalKind: ZLinkFrameworkInternalErrorKind.SpotRouteNotFound,
102
+ publicKind: ZLinkFrameworkErrorKind.NotFound,
103
+ internalValue: ServiceWireFrameworkErrorCode.spotRouteNotFound - 1,
104
+ send: ServiceWireFrameworkErrorCode.spotRouteNotFound
105
+ },
106
+ {
107
+ internalKind: ZLinkFrameworkInternalErrorKind.SpotTypeMismatch,
108
+ publicKind: ZLinkFrameworkErrorKind.TypeMismatch,
109
+ internalValue: ServiceWireFrameworkErrorCode.spotTypeMismatch - 1,
110
+ send: ServiceWireFrameworkErrorCode.spotTypeMismatch
111
+ },
112
+ {
113
+ internalKind: ZLinkFrameworkInternalErrorKind.ActorSessionNotBound,
114
+ publicKind: ZLinkFrameworkErrorKind.InvalidOperation,
115
+ internalValue: ServiceWireFrameworkErrorCode.actorSessionNotBound - 1,
116
+ send: ServiceWireFrameworkErrorCode.actorSessionNotBound
117
+ },
118
+ {
119
+ internalKind: ZLinkFrameworkInternalErrorKind.HandlerNotFound,
120
+ publicKind: ZLinkFrameworkErrorKind.NotFound,
121
+ internalValue: ServiceWireFrameworkErrorCode.handlerNotFound - 1,
122
+ send: ServiceWireFrameworkErrorCode.handlerNotFound
123
+ },
124
+ {
125
+ internalKind: ZLinkFrameworkInternalErrorKind.RouteHandlerNotFound,
126
+ publicKind: ZLinkFrameworkErrorKind.NotFound,
127
+ internalValue: ServiceWireFrameworkErrorCode.routeHandlerNotFound - 1,
128
+ send: ServiceWireFrameworkErrorCode.routeHandlerNotFound
129
+ },
130
+ {
131
+ internalKind: ZLinkFrameworkInternalErrorKind.ActorDispatchHandlerNotFound,
132
+ publicKind: ZLinkFrameworkErrorKind.NotFound,
133
+ internalValue: ServiceWireFrameworkErrorCode.actorDispatchHandlerNotFound - 1,
134
+ send: ServiceWireFrameworkErrorCode.actorDispatchHandlerNotFound
135
+ },
136
+ {
137
+ internalKind: ZLinkFrameworkInternalErrorKind.PayloadDecodeFailed,
138
+ publicKind: ZLinkFrameworkErrorKind.ProtocolError,
139
+ internalValue: ServiceWireFrameworkErrorCode.payloadDecodeFailed - 1,
140
+ send: ServiceWireFrameworkErrorCode.payloadDecodeFailed
141
+ },
142
+ {
143
+ internalKind: ZLinkFrameworkInternalErrorKind.RouteNotConnected,
144
+ publicKind: ZLinkFrameworkErrorKind.Unavailable,
145
+ internalValue: ServiceWireFrameworkErrorCode.routeNotConnected - 1,
146
+ send: ServiceWireFrameworkErrorCode.routeNotConnected
147
+ },
148
+ {
149
+ internalKind: ZLinkFrameworkInternalErrorKind.RequestTargetNotFound,
150
+ publicKind: ZLinkFrameworkErrorKind.NotFound,
151
+ internalValue: ServiceWireFrameworkErrorCode.requestTargetNotFound - 1,
152
+ send: ServiceWireFrameworkErrorCode.requestTargetNotFound
153
+ },
154
+ {
155
+ internalKind: ZLinkFrameworkInternalErrorKind.RequestRejected,
156
+ publicKind: ZLinkFrameworkErrorKind.Rejected,
157
+ internalValue: ServiceWireFrameworkErrorCode.requestRejected - 1,
158
+ send: ServiceWireFrameworkErrorCode.requestRejected
159
+ },
160
+ {
161
+ internalKind: ZLinkFrameworkInternalErrorKind.RequestProtocolError,
162
+ publicKind: ZLinkFrameworkErrorKind.ProtocolError,
163
+ internalValue: ServiceWireFrameworkErrorCode.requestProtocolError - 1,
164
+ send: ServiceWireFrameworkErrorCode.requestProtocolError
165
+ },
166
+ {
167
+ internalKind: ZLinkFrameworkInternalErrorKind.RequestFailed,
168
+ publicKind: ZLinkFrameworkErrorKind.InternalFailure,
169
+ internalValue: ServiceWireFrameworkErrorCode.requestFailed - 1,
170
+ send: ServiceWireFrameworkErrorCode.requestFailed
171
+ },
172
+ {
173
+ internalKind: ZLinkFrameworkInternalErrorKind.WorkerQueueFull,
174
+ publicKind: ZLinkFrameworkErrorKind.Unavailable,
175
+ internalValue: ServiceWireFrameworkErrorCode.workerQueueFull - 1,
176
+ send: ServiceWireFrameworkErrorCode.workerQueueFull
177
+ },
178
+ {
179
+ internalKind: ZLinkFrameworkInternalErrorKind.WorkerTimedOut,
180
+ publicKind: ZLinkFrameworkErrorKind.DeadlineExceeded,
181
+ internalValue: ServiceWireFrameworkErrorCode.workerTimedOut - 1,
182
+ send: ServiceWireFrameworkErrorCode.workerTimedOut
183
+ },
184
+ {
185
+ internalKind: ZLinkFrameworkInternalErrorKind.WorkerFailed,
186
+ publicKind: ZLinkFrameworkErrorKind.InternalFailure,
187
+ internalValue: ServiceWireFrameworkErrorCode.workerFailed - 1,
188
+ send: ServiceWireFrameworkErrorCode.workerFailed
189
+ },
190
+ {
191
+ internalKind: ZLinkFrameworkInternalErrorKind.ActorLocationStale,
192
+ publicKind: ZLinkFrameworkErrorKind.Unavailable,
193
+ internalValue: ServiceWireFrameworkErrorCode.actorLocationStale - 1,
194
+ send: ServiceWireFrameworkErrorCode.actorLocationStale
195
+ },
196
+ {
197
+ internalKind: ZLinkFrameworkInternalErrorKind.ActorCreateRejected,
198
+ publicKind: ZLinkFrameworkErrorKind.Rejected,
199
+ internalValue: ServiceWireFrameworkErrorCode.actorCreateRejected - 1,
200
+ send: ServiceWireFrameworkErrorCode.actorCreateRejected
201
+ },
202
+ {
203
+ internalKind: ZLinkFrameworkInternalErrorKind.ObjectClientNotConfigured,
204
+ publicKind: ZLinkFrameworkErrorKind.NotConfigured,
205
+ internalValue: 22
206
+ },
207
+ {
208
+ internalKind: ZLinkFrameworkInternalErrorKind.MeshSelectionRequired,
209
+ publicKind: ZLinkFrameworkErrorKind.NotConfigured,
210
+ internalValue: 23
211
+ },
212
+ {
213
+ internalKind: ZLinkFrameworkInternalErrorKind.MeshNotFound,
214
+ publicKind: ZLinkFrameworkErrorKind.NotFound,
215
+ internalValue: 24
216
+ },
217
+ {
218
+ internalKind: ZLinkFrameworkInternalErrorKind.InvalidConfiguration,
219
+ publicKind: ZLinkFrameworkErrorKind.NotConfigured,
220
+ internalValue: 25
221
+ },
222
+ {
223
+ internalKind: ZLinkFrameworkInternalErrorKind.AlreadySubmitted,
224
+ publicKind: ZLinkFrameworkErrorKind.InvalidOperation,
225
+ internalValue: 26
226
+ },
227
+ {
228
+ internalKind: ZLinkFrameworkInternalErrorKind.ActorGenerationStale,
229
+ publicKind: ZLinkFrameworkErrorKind.InvalidOperation,
230
+ internalValue: 27
231
+ },
232
+ {
233
+ internalKind: ZLinkFrameworkInternalErrorKind.ActorMoving,
234
+ publicKind: ZLinkFrameworkErrorKind.Unavailable,
235
+ internalValue: 28
236
+ },
237
+ {
238
+ internalKind: ZLinkFrameworkInternalErrorKind.DeadlineExceeded,
239
+ publicKind: ZLinkFrameworkErrorKind.DeadlineExceeded,
240
+ internalValue: 29
241
+ },
242
+ {
243
+ internalKind: ZLinkFrameworkInternalErrorKind.PlacementCapacityExhausted,
244
+ publicKind: ZLinkFrameworkErrorKind.Unavailable,
245
+ internalValue: 30
246
+ },
247
+ {
248
+ internalKind: ZLinkFrameworkInternalErrorKind.RoutingIdConflict,
249
+ publicKind: ZLinkFrameworkErrorKind.AlreadyExists,
250
+ internalValue: 31
251
+ },
252
+ {
253
+ internalKind: ZLinkFrameworkInternalErrorKind.SpotGenerationStale,
254
+ publicKind: ZLinkFrameworkErrorKind.InvalidOperation,
255
+ internalValue: ServiceWireFrameworkErrorCode.spotGenerationStale - 1,
256
+ send: ServiceWireFrameworkErrorCode.spotGenerationStale
257
+ },
258
+ {
259
+ internalKind: ZLinkFrameworkInternalErrorKind.SpotMoving,
260
+ publicKind: ZLinkFrameworkErrorKind.Unavailable,
261
+ internalValue: ServiceWireFrameworkErrorCode.spotMoving - 1,
262
+ send: ServiceWireFrameworkErrorCode.spotMoving
263
+ },
264
+ {
265
+ internalKind: ZLinkFrameworkInternalErrorKind.RelocationDataLost,
266
+ publicKind: ZLinkFrameworkErrorKind.DataLost,
267
+ internalValue: ServiceWireFrameworkErrorCode.relocationDataLost - 1,
268
+ send: ServiceWireFrameworkErrorCode.relocationDataLost
269
+ },
270
+ {
271
+ internalKind: ZLinkFrameworkInternalErrorKind.SpotIdConflict,
272
+ publicKind: ZLinkFrameworkErrorKind.AlreadyExists,
273
+ internalValue: 35
274
+ },
275
+ {
276
+ internalKind: ZLinkFrameworkInternalErrorKind.RuntimeShutdown,
277
+ publicKind: ZLinkFrameworkErrorKind.ShuttingDown,
278
+ internalValue: 36
279
+ },
280
+ {
281
+ internalKind: ZLinkFrameworkInternalErrorKind.RelocationDisabled,
282
+ publicKind: ZLinkFrameworkErrorKind.Rejected,
283
+ internalValue: 37
284
+ },
285
+ {
286
+ internalKind: ZLinkFrameworkInternalErrorKind.RelocationTargetUnavailable,
287
+ publicKind: ZLinkFrameworkErrorKind.Unavailable,
288
+ internalValue: 38
289
+ },
290
+ {
291
+ internalKind: ZLinkFrameworkInternalErrorKind.RelocationFailed,
292
+ publicKind: ZLinkFrameworkErrorKind.InternalFailure,
293
+ internalValue: 39
294
+ },
295
+ {
296
+ internalKind: ZLinkFrameworkInternalErrorKind.InvalidOperation,
297
+ publicKind: ZLinkFrameworkErrorKind.InvalidOperation,
298
+ internalValue: 40
299
+ },
300
+ {
301
+ internalKind: ZLinkFrameworkInternalErrorKind.ActorRouteUnavailable,
302
+ publicKind: ZLinkFrameworkErrorKind.Unavailable,
303
+ internalValue: ServiceWireFrameworkErrorCode.routeNotConnected - 1
304
+ },
305
+ {
306
+ publicKind: ZLinkFrameworkErrorKind.NotFound,
307
+ send: ServiceWireFrameworkErrorCode.requestTargetNotFound,
308
+ sendTerminal: RequestResult.NotFound
309
+ },
310
+ {
311
+ publicKind: ZLinkFrameworkErrorKind.AlreadyExists,
312
+ send: ServiceWireFrameworkErrorCode.actorAlreadyExists,
313
+ sendTerminal: RequestResult.Conflict
314
+ },
315
+ {
316
+ publicKind: ZLinkFrameworkErrorKind.TypeMismatch,
317
+ send: ServiceWireFrameworkErrorCode.spotTypeMismatch,
318
+ sendTerminal: RequestResult.Conflict
319
+ },
320
+ {
321
+ publicKind: ZLinkFrameworkErrorKind.NotConfigured,
322
+ send: ServiceWireFrameworkErrorCode.requestFailed,
323
+ sendTerminal: RequestResult.InternalError
324
+ },
325
+ {
326
+ publicKind: ZLinkFrameworkErrorKind.Rejected,
327
+ send: ServiceWireFrameworkErrorCode.requestRejected,
328
+ sendTerminal: RequestResult.Rejected
329
+ },
330
+ {
331
+ publicKind: ZLinkFrameworkErrorKind.Unavailable,
332
+ send: ServiceWireFrameworkErrorCode.routeNotConnected,
333
+ sendTerminal: RequestResult.InternalError
334
+ },
335
+ {
336
+ publicKind: ZLinkFrameworkErrorKind.DeadlineExceeded,
337
+ send: ServiceWireFrameworkErrorCode.workerTimedOut,
338
+ sendTerminal: RequestResult.InternalError
339
+ },
340
+ {
341
+ publicKind: ZLinkFrameworkErrorKind.ShuttingDown,
342
+ send: ServiceWireFrameworkErrorCode.none,
343
+ codeOnlySend: ServiceWireFrameworkErrorCode.routeNotConnected,
344
+ sendTerminal: RequestResult.Terminated
345
+ },
346
+ {
347
+ publicKind: ZLinkFrameworkErrorKind.ProtocolError,
348
+ send: ServiceWireFrameworkErrorCode.requestProtocolError,
349
+ sendTerminal: RequestResult.ProtocolError
350
+ },
351
+ {
352
+ publicKind: ZLinkFrameworkErrorKind.InvalidOperation,
353
+ send: ServiceWireFrameworkErrorCode.none,
354
+ codeOnlySend: ServiceWireFrameworkErrorCode.requestFailed,
355
+ sendTerminal: RequestResult.InvalidState
356
+ },
357
+ {
358
+ publicKind: ZLinkFrameworkErrorKind.DataLost,
359
+ send: ServiceWireFrameworkErrorCode.relocationDataLost,
360
+ sendTerminal: RequestResult.InternalError
361
+ },
362
+ {
363
+ publicKind: ZLinkFrameworkErrorKind.InternalFailure,
364
+ send: ServiceWireFrameworkErrorCode.requestFailed,
365
+ sendTerminal: RequestResult.InternalError
366
+ }
367
+ ];
368
+
369
+ const INTERNAL_MAPPING = new Map(
370
+ FAILURE_MAPPINGS.filter((row) => row.internalKind !== undefined).map((row) => [
371
+ row.internalKind!,
372
+ row
373
+ ])
374
+ );
375
+ const PUBLIC_MAPPING = new Map(
376
+ FAILURE_MAPPINGS.filter((row) => row.internalKind === undefined).map((row) => [
377
+ row.publicKind,
378
+ row
379
+ ])
380
+ );
381
+ const RECEIVE_MAPPING = new Map(
382
+ FAILURE_MAPPINGS.filter((row) => row.internalKind !== undefined && row.send !== undefined).map(
383
+ (row) => [row.send!, row.internalKind!]
384
+ )
385
+ );
102
386
 
103
- export const ZLINK_FRAMEWORK_INTERNAL_ERROR_KIND_VALUES: Readonly<
104
- Record<ZLinkFrameworkInternalErrorKind, number>
105
- > = Object.freeze({
106
- [ZLinkFrameworkInternalErrorKind.ActorRouteNotFound]: 0,
107
- [ZLinkFrameworkInternalErrorKind.ActorCreateFailed]: 1,
108
- [ZLinkFrameworkInternalErrorKind.ActorAlreadyExists]: 2,
109
- [ZLinkFrameworkInternalErrorKind.ActorTypeMismatch]: 3,
110
- [ZLinkFrameworkInternalErrorKind.SpotCreateFailed]: 4,
111
- [ZLinkFrameworkInternalErrorKind.SpotRouteNotFound]: 5,
112
- [ZLinkFrameworkInternalErrorKind.SpotTypeMismatch]: 6,
113
- [ZLinkFrameworkInternalErrorKind.ActorSessionNotBound]: 7,
114
- [ZLinkFrameworkInternalErrorKind.HandlerNotFound]: 8,
115
- [ZLinkFrameworkInternalErrorKind.RouteHandlerNotFound]: 9,
116
- [ZLinkFrameworkInternalErrorKind.ActorDispatchHandlerNotFound]: 10,
117
- [ZLinkFrameworkInternalErrorKind.PayloadDecodeFailed]: 11,
118
- [ZLinkFrameworkInternalErrorKind.RouteNotConnected]: 12,
119
- [ZLinkFrameworkInternalErrorKind.RequestTargetNotFound]: 13,
120
- [ZLinkFrameworkInternalErrorKind.RequestRejected]: 14,
121
- [ZLinkFrameworkInternalErrorKind.RequestProtocolError]: 15,
122
- [ZLinkFrameworkInternalErrorKind.RequestFailed]: 16,
123
- [ZLinkFrameworkInternalErrorKind.WorkerQueueFull]: 17,
124
- [ZLinkFrameworkInternalErrorKind.WorkerTimedOut]: 18,
125
- [ZLinkFrameworkInternalErrorKind.WorkerFailed]: 19,
126
- [ZLinkFrameworkInternalErrorKind.ActorLocationStale]: 20,
127
- [ZLinkFrameworkInternalErrorKind.ActorCreateRejected]: 21,
128
- [ZLinkFrameworkInternalErrorKind.ObjectClientNotConfigured]: 22,
129
- [ZLinkFrameworkInternalErrorKind.MeshSelectionRequired]: 23,
130
- [ZLinkFrameworkInternalErrorKind.MeshNotFound]: 24,
131
- [ZLinkFrameworkInternalErrorKind.InvalidConfiguration]: 25,
132
- [ZLinkFrameworkInternalErrorKind.AlreadySubmitted]: 26,
133
- [ZLinkFrameworkInternalErrorKind.ActorGenerationStale]: 27,
134
- [ZLinkFrameworkInternalErrorKind.ActorMoving]: 28,
135
- [ZLinkFrameworkInternalErrorKind.DeadlineExceeded]: 29,
136
- [ZLinkFrameworkInternalErrorKind.PlacementCapacityExhausted]: 30,
137
- [ZLinkFrameworkInternalErrorKind.RoutingIdConflict]: 31,
138
- [ZLinkFrameworkInternalErrorKind.SpotGenerationStale]: 32,
139
- [ZLinkFrameworkInternalErrorKind.SpotMoving]: 33,
140
- [ZLinkFrameworkInternalErrorKind.RelocationDataLost]: 34,
141
- [ZLinkFrameworkInternalErrorKind.SpotIdConflict]: 35,
142
- [ZLinkFrameworkInternalErrorKind.RuntimeShutdown]: 36,
143
- [ZLinkFrameworkInternalErrorKind.RelocationDisabled]: 37,
144
- [ZLinkFrameworkInternalErrorKind.RelocationTargetUnavailable]: 38,
145
- [ZLinkFrameworkInternalErrorKind.RelocationFailed]: 39,
146
- [ZLinkFrameworkInternalErrorKind.InvalidOperation]: 40,
147
- [ZLinkFrameworkInternalErrorKind.ActorRouteUnavailable]: 41
148
- });
387
+ export const ZLINK_FRAMEWORK_INTERNAL_ERROR_KIND_VALUES = Object.freeze(
388
+ Object.fromEntries([...INTERNAL_MAPPING].map(([kind, row]) => [kind, row.internalValue!]))
389
+ ) as Readonly<Record<ZLinkFrameworkInternalErrorKind, number>>;
149
390
 
150
- const INTERNAL_KIND_BY_WIRE_FAILURE_CODE: ReadonlyMap<number, ZLinkFrameworkInternalErrorKind> =
151
- new Map<number, ZLinkFrameworkInternalErrorKind>([
152
- ...Object.entries(ZLINK_FRAMEWORK_INTERNAL_ERROR_KIND_VALUES).map(
153
- ([kind, code]) => [code + 1, kind as ZLinkFrameworkInternalErrorKind] as const
154
- ),
155
- // Spec 32-framework-error-model:99-103 — a workerQueueFull(18) received in a
156
- // remote reply is the target's queue state and maps to Unavailable.
157
- [18, ZLinkFrameworkInternalErrorKind.RouteNotConnected]
158
- ]);
391
+ export function frameworkRelocationFailureCode(
392
+ error: ZLinkFrameworkErrorKind | ZLinkFrameworkException
393
+ ): number {
394
+ const row = outgoingFailureMapping(error);
395
+ return row.codeOnlySend ?? row.send!;
396
+ }
159
397
 
160
398
  const WIRE_TERMINAL_RESULT_BY_FAILURE_CODE: ReadonlyMap<number, number> = new Map([
161
- ...[1, 6, 8, 9, 10, 11, 14].map((code) => [code, 102] as const),
162
- ...[2, 5, 13, 17, 19, 20, 35, 42].map((code) => [code, 105] as const),
163
- ...[3, 4, 7, 21, 33, 34].map((code) => [code, 107] as const),
164
- ...[12, 16].map((code) => [code, 104] as const),
165
- ...[15, 18, 22].map((code) => [code, 106] as const)
399
+ ...Object.entries(ServiceWireExactTerminalByFailureCode).map(
400
+ ([code, terminal]) => [Number(code), terminal] as const
401
+ )
166
402
  ]);
167
403
 
168
404
  const INTERNAL_KIND = new WeakMap<ZLinkFrameworkException, ZLinkFrameworkInternalErrorKind>();
@@ -174,7 +410,7 @@ export function createInternalFrameworkException(
174
410
  cause?: unknown
175
411
  ): ZLinkFrameworkException {
176
412
  const error = new ZLinkFrameworkException(
177
- INTERNAL_TO_PUBLIC[kind],
413
+ INTERNAL_MAPPING.get(kind)!.publicKind,
178
414
  message,
179
415
  typeof causeOrRetry === 'boolean' ? cause : causeOrRetry
180
416
  );
@@ -284,30 +520,45 @@ export function internalFrameworkErrorCode(error: ZLinkFrameworkException): numb
284
520
  return kind === undefined ? error.kind : ZLINK_FRAMEWORK_INTERNAL_ERROR_KIND_VALUES[kind];
285
521
  }
286
522
 
287
- /** Produces the canonical stateful wire terminal without leaking internal kinds. */
288
- export function internalFrameworkWireReply(error: ZLinkFrameworkException): {
289
- readonly terminalResult: number;
290
- readonly failureCode: number;
291
- } {
292
- const kind = INTERNAL_KIND.get(error);
293
- if (kind === ZLinkFrameworkInternalErrorKind.DeadlineExceeded) {
294
- return { terminalResult: 101, failureCode: 0 };
295
- }
296
- if (kind === undefined) {
297
- return { terminalResult: 105, failureCode: 17 };
523
+ /** Selects a known cause or the public kind's representative for both wire forms. */
524
+ function outgoingFailureMapping(
525
+ error: ZLinkFrameworkException | ZLinkFrameworkInternalErrorKind | ZLinkFrameworkErrorKind
526
+ ): FailureMapping {
527
+ const internal = typeof error === 'string' ? INTERNAL_MAPPING.get(error)! : undefined;
528
+ const publicKind =
529
+ internal?.publicKind ??
530
+ (typeof error === 'number' ? error : (error as ZLinkFrameworkException).kind);
531
+ let cause: unknown = error;
532
+ while (cause instanceof ZLinkFrameworkException || typeof cause === 'string') {
533
+ const row = INTERNAL_MAPPING.get(
534
+ typeof cause === 'string'
535
+ ? (cause as ZLinkFrameworkInternalErrorKind)
536
+ : INTERNAL_KIND.get(cause)!
537
+ );
538
+ if (row?.send !== undefined && row.publicKind === publicKind) return row;
539
+ cause = typeof cause === 'string' ? undefined : cause.cause;
298
540
  }
299
- const failureCode = ZLINK_FRAMEWORK_INTERNAL_ERROR_KIND_VALUES[kind] + 1;
300
- const terminalResult = WIRE_TERMINAL_RESULT_BY_FAILURE_CODE.get(failureCode);
301
- return terminalResult === undefined
302
- ? { terminalResult: 105, failureCode: 17 }
303
- : { terminalResult, failureCode };
541
+ return (
542
+ PUBLIC_MAPPING.get(publicKind) ?? PUBLIC_MAPPING.get(ZLinkFrameworkErrorKind.InternalFailure)!
543
+ );
544
+ }
545
+
546
+ /** Produces the canonical stateful wire terminal without leaking internal kinds. */
547
+ export function internalFrameworkWireReply(
548
+ error: ZLinkFrameworkException | ZLinkFrameworkInternalErrorKind | ZLinkFrameworkErrorKind
549
+ ): { readonly terminalResult: number; readonly failureCode: number } {
550
+ const row = outgoingFailureMapping(error);
551
+ return {
552
+ terminalResult: row.sendTerminal ?? WIRE_TERMINAL_RESULT_BY_FAILURE_CODE.get(row.send!)!,
553
+ failureCode: row.send!
554
+ };
304
555
  }
305
556
 
306
557
  /** Decodes the stateful reply failureCode convention without exposing wire offsets to callers. */
307
558
  export function internalFrameworkErrorKindFromWireFailureCode(
308
559
  failureCode: number
309
560
  ): ZLinkFrameworkInternalErrorKind | undefined {
310
- return INTERNAL_KIND_BY_WIRE_FAILURE_CODE.get(failureCode);
561
+ return RECEIVE_MAPPING.get(failureCode);
311
562
  }
312
563
 
313
564
  /** Restores a typed failure only when its wire terminal result is canonical. */
@@ -315,23 +566,18 @@ export function internalFrameworkErrorKindFromWireReply(
315
566
  terminalResult: number,
316
567
  failureCode: number
317
568
  ): ZLinkFrameworkInternalErrorKind | undefined {
318
- // ServiceStaleGenerationError is emitted as NotFound with the historical
319
- // stale-route code, while the same internal code is also used by Conflict
320
- // replies from the actor route protocol.
321
- if (terminalResult === 102 && failureCode === 21) {
322
- return ZLinkFrameworkInternalErrorKind.ActorLocationStale;
323
- }
324
569
  const kind = internalFrameworkErrorKindFromWireFailureCode(failureCode);
325
570
  if (kind === undefined) return undefined;
326
571
  const expectedTerminalResult = WIRE_TERMINAL_RESULT_BY_FAILURE_CODE.get(failureCode);
327
572
  return expectedTerminalResult === terminalResult ? kind : undefined;
328
573
  }
329
574
 
330
- const BOUNDARY_WIRE_TERMINAL_RESULTS = new Set([101, 103, 108, 109, 110, 111, 112, 113]);
575
+ const BOUNDARY_WIRE_TERMINAL_RESULTS = new Set<number>(ServiceWireBoundaryTerminalResults);
331
576
 
332
577
  /** Checks the terminal and failure-code pair before a transport maps it. */
333
578
  export function isCanonicalWireReplyTerminal(terminalResult: number, failureCode: number): boolean {
334
- if (terminalResult === 0) return failureCode === 0;
579
+ if (terminalResult === RequestResult.Ok)
580
+ return failureCode === ServiceWireFrameworkErrorCode.none;
335
581
  if (BOUNDARY_WIRE_TERMINAL_RESULTS.has(terminalResult)) return failureCode === 0;
336
582
  return internalFrameworkErrorKindFromWireReply(terminalResult, failureCode) !== undefined;
337
583
  }