@cats-inc/cats-platform 0.1.10 → 0.2.8

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 (516) hide show
  1. package/.env.example +9 -16
  2. package/README.md +18 -0
  3. package/build/desktop/bootstrapNavigation.d.ts.map +1 -1
  4. package/build/desktop/bootstrapNavigation.js +6 -13
  5. package/build/desktop/bootstrapNavigation.js.map +1 -1
  6. package/build/desktop/bootstrapPage.d.ts.map +1 -1
  7. package/build/desktop/bootstrapPage.js +264 -77
  8. package/build/desktop/bootstrapPage.js.map +1 -1
  9. package/build/desktop/cliInventoryProbe.d.ts +23 -2
  10. package/build/desktop/cliInventoryProbe.d.ts.map +1 -1
  11. package/build/desktop/cliInventoryProbe.js +54 -9
  12. package/build/desktop/cliInventoryProbe.js.map +1 -1
  13. package/build/desktop/config.d.ts +0 -4
  14. package/build/desktop/config.d.ts.map +1 -1
  15. package/build/desktop/config.js +1 -6
  16. package/build/desktop/config.js.map +1 -1
  17. package/build/desktop/contracts.d.ts +19 -2
  18. package/build/desktop/contracts.d.ts.map +1 -1
  19. package/build/desktop/contracts.js +1 -2
  20. package/build/desktop/contracts.js.map +1 -1
  21. package/build/desktop/hostVersion.d.ts.map +1 -1
  22. package/build/desktop/hostVersion.js +3 -5
  23. package/build/desktop/hostVersion.js.map +1 -1
  24. package/build/desktop/main.js +177 -201
  25. package/build/desktop/main.js.map +1 -1
  26. package/build/desktop/packaging.d.ts +2 -0
  27. package/build/desktop/packaging.d.ts.map +1 -1
  28. package/build/desktop/packaging.js +34 -14
  29. package/build/desktop/packaging.js.map +1 -1
  30. package/build/desktop/preload.cjs +7 -0
  31. package/build/desktop/preload.cjs.map +1 -1
  32. package/build/desktop/processSupervisor.d.ts.map +1 -1
  33. package/build/desktop/processSupervisor.js +3 -0
  34. package/build/desktop/processSupervisor.js.map +1 -1
  35. package/build/desktop/providerSelection.d.ts +37 -0
  36. package/build/desktop/providerSelection.d.ts.map +1 -0
  37. package/build/desktop/providerSelection.js +112 -0
  38. package/build/desktop/providerSelection.js.map +1 -0
  39. package/build/desktop/readiness.d.ts +2 -0
  40. package/build/desktop/readiness.d.ts.map +1 -1
  41. package/build/desktop/readiness.js +49 -35
  42. package/build/desktop/readiness.js.map +1 -1
  43. package/build/desktop/setupAssets.d.ts.map +1 -1
  44. package/build/desktop/setupAssets.js +16 -14
  45. package/build/desktop/setupAssets.js.map +1 -1
  46. package/build/desktop/setupAudit.d.ts +2 -3
  47. package/build/desktop/setupAudit.d.ts.map +1 -1
  48. package/build/desktop/setupAudit.js +14 -34
  49. package/build/desktop/setupAudit.js.map +1 -1
  50. package/build/desktop/tray.d.ts +1 -1
  51. package/build/desktop/tray.d.ts.map +1 -1
  52. package/build/desktop/tray.js +2 -7
  53. package/build/desktop/tray.js.map +1 -1
  54. package/build/desktop/trayMenu.d.ts +23 -2
  55. package/build/desktop/trayMenu.d.ts.map +1 -1
  56. package/build/desktop/trayMenu.js +24 -30
  57. package/build/desktop/trayMenu.js.map +1 -1
  58. package/build/desktop/updateDialog.d.ts +66 -0
  59. package/build/desktop/updateDialog.d.ts.map +1 -0
  60. package/build/desktop/updateDialog.js +258 -0
  61. package/build/desktop/updateDialog.js.map +1 -0
  62. package/build/desktop/updaterAdapter.d.ts +1 -0
  63. package/build/desktop/updaterAdapter.d.ts.map +1 -1
  64. package/build/desktop/updaterAdapter.js +13 -1
  65. package/build/desktop/updaterAdapter.js.map +1 -1
  66. package/build/renderer/assets/{ActiveSessionPermissionChip-Dl2UOFgh.js → ActiveSessionPermissionChip-CAgN-tXv.js} +1 -1
  67. package/build/renderer/assets/App-BZA23O2J.js +2 -0
  68. package/build/renderer/assets/App-DxsV-tKS.css +1 -0
  69. package/build/renderer/assets/{App-ChvP0G9X.js → App-YqprEL2n.js} +1 -1
  70. package/build/renderer/assets/App-rGw9J8PZ.js +1 -0
  71. package/build/renderer/assets/WorkspaceAppRoutes-BCHCikmJ.js +1 -0
  72. package/build/renderer/assets/app-BV3UAQkR.css +1 -0
  73. package/build/renderer/assets/app-CVPqqfZo.js +45 -0
  74. package/build/renderer/assets/conversationSidebarRecentEntries-iqaLqA1n.js +6 -0
  75. package/build/renderer/assets/{useDraftSessionChips-By3XXabI.js → useDraftSessionChips-D9BX6X92.js} +1 -1
  76. package/build/renderer/index.html +2 -2
  77. package/build/server/app/renderer/auth/api.d.ts +28 -2
  78. package/build/server/app/renderer/auth/api.d.ts.map +1 -1
  79. package/build/server/app/renderer/auth/api.js +29 -4
  80. package/build/server/app/renderer/auth/api.js.map +1 -1
  81. package/build/server/app/renderer/providerCatalogClient.d.ts.map +1 -1
  82. package/build/server/app/renderer/providerCatalogClient.js +15 -6
  83. package/build/server/app/renderer/providerCatalogClient.js.map +1 -1
  84. package/build/server/app/renderer/providerRegistryClient.d.ts +1 -1
  85. package/build/server/app/renderer/providerRegistryClient.d.ts.map +1 -1
  86. package/build/server/app/renderer/providerRegistryClient.js +23 -41
  87. package/build/server/app/renderer/providerRegistryClient.js.map +1 -1
  88. package/build/server/app/renderer/settings/settingsDesktopUpdateLabels.d.ts +11 -4
  89. package/build/server/app/renderer/settings/settingsDesktopUpdateLabels.d.ts.map +1 -1
  90. package/build/server/app/renderer/settings/settingsDesktopUpdateLabels.js +25 -5
  91. package/build/server/app/renderer/settings/settingsDesktopUpdateLabels.js.map +1 -1
  92. package/build/server/app/server/appPackageRoutes.d.ts +2 -0
  93. package/build/server/app/server/appPackageRoutes.d.ts.map +1 -1
  94. package/build/server/app/server/appPackageRoutes.js +105 -0
  95. package/build/server/app/server/appPackageRoutes.js.map +1 -1
  96. package/build/server/app/server/authGatePolicy.js +8 -3
  97. package/build/server/app/server/authGatePolicy.js.map +1 -1
  98. package/build/server/app/server/authRoutes.d.ts +14 -1
  99. package/build/server/app/server/authRoutes.d.ts.map +1 -1
  100. package/build/server/app/server/authRoutes.js +395 -76
  101. package/build/server/app/server/authRoutes.js.map +1 -1
  102. package/build/server/app/server/contracts.d.ts +19 -1
  103. package/build/server/app/server/contracts.d.ts.map +1 -1
  104. package/build/server/app/server/dependencies.d.ts.map +1 -1
  105. package/build/server/app/server/dependencies.js +48 -2
  106. package/build/server/app/server/dependencies.js.map +1 -1
  107. package/build/server/app/server/goldenPathStartupResume.d.ts +55 -0
  108. package/build/server/app/server/goldenPathStartupResume.d.ts.map +1 -0
  109. package/build/server/app/server/goldenPathStartupResume.js +109 -0
  110. package/build/server/app/server/goldenPathStartupResume.js.map +1 -0
  111. package/build/server/app/server/platformSetupRoutes.d.ts +2 -1
  112. package/build/server/app/server/platformSetupRoutes.d.ts.map +1 -1
  113. package/build/server/app/server/platformSetupRoutes.js +117 -64
  114. package/build/server/app/server/platformSetupRoutes.js.map +1 -1
  115. package/build/server/app/server/polling.d.ts.map +1 -1
  116. package/build/server/app/server/polling.js +2 -0
  117. package/build/server/app/server/polling.js.map +1 -1
  118. package/build/server/app/server/requestRouter.d.ts.map +1 -1
  119. package/build/server/app/server/requestRouter.js +33 -0
  120. package/build/server/app/server/requestRouter.js.map +1 -1
  121. package/build/server/app/server/runtimeSurfaceProxy.d.ts.map +1 -1
  122. package/build/server/app/server/runtimeSurfaceProxy.js +16 -19
  123. package/build/server/app/server/runtimeSurfaceProxy.js.map +1 -1
  124. package/build/server/app/server/startupRecovery.d.ts.map +1 -1
  125. package/build/server/app/server/startupRecovery.js +5 -0
  126. package/build/server/app/server/startupRecovery.js.map +1 -1
  127. package/build/server/app/server/telegramCommandSurface.d.ts +29 -0
  128. package/build/server/app/server/telegramCommandSurface.d.ts.map +1 -0
  129. package/build/server/app/server/telegramCommandSurface.js +123 -0
  130. package/build/server/app/server/telegramCommandSurface.js.map +1 -0
  131. package/build/server/app/server/transportWorkGoldenPath.d.ts +82 -0
  132. package/build/server/app/server/transportWorkGoldenPath.d.ts.map +1 -0
  133. package/build/server/app/server/transportWorkGoldenPath.js +307 -0
  134. package/build/server/app/server/transportWorkGoldenPath.js.map +1 -0
  135. package/build/server/config.d.ts +22 -3
  136. package/build/server/config.d.ts.map +1 -1
  137. package/build/server/config.js +14 -13
  138. package/build/server/config.js.map +1 -1
  139. package/build/server/design/components/providerModelFieldsSupport.d.ts +3 -3
  140. package/build/server/design/components/providerModelFieldsSupport.d.ts.map +1 -1
  141. package/build/server/design/components/providerModelFieldsSupport.js +40 -38
  142. package/build/server/design/components/providerModelFieldsSupport.js.map +1 -1
  143. package/build/server/design/components/useProviderCatalogState.d.ts +1 -0
  144. package/build/server/design/components/useProviderCatalogState.d.ts.map +1 -1
  145. package/build/server/design/components/useProviderCatalogState.js +1 -0
  146. package/build/server/design/components/useProviderCatalogState.js.map +1 -1
  147. package/build/server/design/components/useProviderRegistryAutoRecheck.d.ts.map +1 -1
  148. package/build/server/design/components/useProviderRegistryAutoRecheck.js +20 -13
  149. package/build/server/design/components/useProviderRegistryAutoRecheck.js.map +1 -1
  150. package/build/server/design/components/useProviderRegistryState.d.ts.map +1 -1
  151. package/build/server/design/components/useProviderRegistryState.js +12 -25
  152. package/build/server/design/components/useProviderRegistryState.js.map +1 -1
  153. package/build/server/design/components/useProviderTargetReconciliation.d.ts.map +1 -1
  154. package/build/server/design/components/useProviderTargetReconciliation.js +5 -2
  155. package/build/server/design/components/useProviderTargetReconciliation.js.map +1 -1
  156. package/build/server/index.js +4 -0
  157. package/build/server/index.js.map +1 -1
  158. package/build/server/platform/apps/packageInstaller.d.ts +19 -0
  159. package/build/server/platform/apps/packageInstaller.d.ts.map +1 -0
  160. package/build/server/platform/apps/packageInstaller.js +92 -0
  161. package/build/server/platform/apps/packageInstaller.js.map +1 -0
  162. package/build/server/platform/apps/registry.d.ts +6 -0
  163. package/build/server/platform/apps/registry.d.ts.map +1 -1
  164. package/build/server/platform/apps/registry.js +24 -0
  165. package/build/server/platform/apps/registry.js.map +1 -1
  166. package/build/server/platform/apps/renderer.d.ts +6 -0
  167. package/build/server/platform/apps/renderer.d.ts.map +1 -0
  168. package/build/server/platform/apps/renderer.js +18 -0
  169. package/build/server/platform/apps/renderer.js.map +1 -0
  170. package/build/server/platform/auth/actionGrant.d.ts +61 -0
  171. package/build/server/platform/auth/actionGrant.d.ts.map +1 -0
  172. package/build/server/platform/auth/actionGrant.js +108 -0
  173. package/build/server/platform/auth/actionGrant.js.map +1 -0
  174. package/build/server/platform/auth/adminCredentials.d.ts +37 -0
  175. package/build/server/platform/auth/adminCredentials.d.ts.map +1 -0
  176. package/build/server/platform/auth/adminCredentials.js +63 -0
  177. package/build/server/platform/auth/adminCredentials.js.map +1 -0
  178. package/build/server/platform/auth/bootstrap.d.ts +14 -0
  179. package/build/server/platform/auth/bootstrap.d.ts.map +1 -1
  180. package/build/server/platform/auth/bootstrap.js +29 -4
  181. package/build/server/platform/auth/bootstrap.js.map +1 -1
  182. package/build/server/platform/auth/config.d.ts.map +1 -1
  183. package/build/server/platform/auth/config.js +1 -1
  184. package/build/server/platform/auth/config.js.map +1 -1
  185. package/build/server/platform/auth/errorCodes.d.ts +2 -0
  186. package/build/server/platform/auth/errorCodes.d.ts.map +1 -1
  187. package/build/server/platform/auth/errorCodes.js +2 -0
  188. package/build/server/platform/auth/errorCodes.js.map +1 -1
  189. package/build/server/platform/auth/googleAccount.d.ts +40 -13
  190. package/build/server/platform/auth/googleAccount.d.ts.map +1 -1
  191. package/build/server/platform/auth/googleAccount.js +89 -70
  192. package/build/server/platform/auth/googleAccount.js.map +1 -1
  193. package/build/server/platform/auth/index.d.ts +4 -0
  194. package/build/server/platform/auth/index.d.ts.map +1 -1
  195. package/build/server/platform/auth/index.js +4 -0
  196. package/build/server/platform/auth/index.js.map +1 -1
  197. package/build/server/platform/auth/localLogin.d.ts +10 -0
  198. package/build/server/platform/auth/localLogin.d.ts.map +1 -1
  199. package/build/server/platform/auth/localLogin.js +17 -0
  200. package/build/server/platform/auth/localLogin.js.map +1 -1
  201. package/build/server/platform/auth/loginMethods.d.ts +18 -0
  202. package/build/server/platform/auth/loginMethods.d.ts.map +1 -0
  203. package/build/server/platform/auth/loginMethods.js +19 -0
  204. package/build/server/platform/auth/loginMethods.js.map +1 -0
  205. package/build/server/platform/auth/securityEvents.d.ts +31 -0
  206. package/build/server/platform/auth/securityEvents.d.ts.map +1 -0
  207. package/build/server/platform/auth/securityEvents.js +45 -0
  208. package/build/server/platform/auth/securityEvents.js.map +1 -0
  209. package/build/server/platform/runtime/deliveryClient.d.ts +111 -0
  210. package/build/server/platform/runtime/deliveryClient.d.ts.map +1 -0
  211. package/build/server/platform/runtime/deliveryClient.js +289 -0
  212. package/build/server/platform/runtime/deliveryClient.js.map +1 -0
  213. package/build/server/platform/supervision/providerCapabilityBootstrapYaml.d.ts +1 -0
  214. package/build/server/platform/supervision/providerCapabilityBootstrapYaml.d.ts.map +1 -1
  215. package/build/server/platform/supervision/providerCapabilityBootstrapYaml.js +10 -0
  216. package/build/server/platform/supervision/providerCapabilityBootstrapYaml.js.map +1 -1
  217. package/build/server/platform/supervision/runtimeBoundary.d.ts +11 -1
  218. package/build/server/platform/supervision/runtimeBoundary.d.ts.map +1 -1
  219. package/build/server/platform/supervision/runtimeBoundary.js +2 -2
  220. package/build/server/platform/supervision/runtimeBoundary.js.map +1 -1
  221. package/build/server/platform/transports/telegram/bridge.d.ts +18 -0
  222. package/build/server/platform/transports/telegram/bridge.d.ts.map +1 -1
  223. package/build/server/platform/transports/telegram/bridge.js +176 -0
  224. package/build/server/platform/transports/telegram/bridge.js.map +1 -1
  225. package/build/server/platform/transports/telegram/commandPort.d.ts +40 -0
  226. package/build/server/platform/transports/telegram/commandPort.d.ts.map +1 -0
  227. package/build/server/platform/transports/telegram/commandPort.js +17 -0
  228. package/build/server/platform/transports/telegram/commandPort.js.map +1 -0
  229. package/build/server/platform/transports/telegram/commandRouter.d.ts +22 -0
  230. package/build/server/platform/transports/telegram/commandRouter.d.ts.map +1 -1
  231. package/build/server/platform/transports/telegram/commandRouter.js.map +1 -1
  232. package/build/server/platform/transports/telegram/commands/index.d.ts.map +1 -1
  233. package/build/server/platform/transports/telegram/commands/index.js +38 -0
  234. package/build/server/platform/transports/telegram/commands/index.js.map +1 -1
  235. package/build/server/platform/transports/telegram/ingressDispatch.d.ts +56 -0
  236. package/build/server/platform/transports/telegram/ingressDispatch.d.ts.map +1 -0
  237. package/build/server/platform/transports/telegram/ingressDispatch.js +93 -0
  238. package/build/server/platform/transports/telegram/ingressDispatch.js.map +1 -0
  239. package/build/server/platform/transports/telegram/polling.d.ts +34 -0
  240. package/build/server/platform/transports/telegram/polling.d.ts.map +1 -1
  241. package/build/server/platform/transports/telegram/polling.js +86 -9
  242. package/build/server/platform/transports/telegram/polling.js.map +1 -1
  243. package/build/server/platform/transports/telegram/relay/index.d.ts +3 -0
  244. package/build/server/platform/transports/telegram/relay/index.d.ts.map +1 -1
  245. package/build/server/platform/transports/telegram/relay/index.js +5 -1
  246. package/build/server/platform/transports/telegram/relay/index.js.map +1 -1
  247. package/build/server/platform/transports/telegram/relay/ingress.d.ts +2 -0
  248. package/build/server/platform/transports/telegram/relay/ingress.d.ts.map +1 -1
  249. package/build/server/platform/transports/telegram/relay/ingress.js +1 -1
  250. package/build/server/platform/transports/telegram/relay/ingress.js.map +1 -1
  251. package/build/server/platform/transports/work-delivery/actionTokens.d.ts +66 -0
  252. package/build/server/platform/transports/work-delivery/actionTokens.d.ts.map +1 -0
  253. package/build/server/platform/transports/work-delivery/actionTokens.js +145 -0
  254. package/build/server/platform/transports/work-delivery/actionTokens.js.map +1 -0
  255. package/build/server/platform/transports/work-delivery/contracts.d.ts +172 -0
  256. package/build/server/platform/transports/work-delivery/contracts.d.ts.map +1 -0
  257. package/build/server/platform/transports/work-delivery/contracts.js +26 -0
  258. package/build/server/platform/transports/work-delivery/contracts.js.map +1 -0
  259. package/build/server/platform/transports/work-delivery/deliveryGates.d.ts +32 -0
  260. package/build/server/platform/transports/work-delivery/deliveryGates.d.ts.map +1 -0
  261. package/build/server/platform/transports/work-delivery/deliveryGates.js +45 -0
  262. package/build/server/platform/transports/work-delivery/deliveryGates.js.map +1 -0
  263. package/build/server/platform/transports/work-delivery/inboundClassification.d.ts +31 -0
  264. package/build/server/platform/transports/work-delivery/inboundClassification.d.ts.map +1 -0
  265. package/build/server/platform/transports/work-delivery/inboundClassification.js +52 -0
  266. package/build/server/platform/transports/work-delivery/inboundClassification.js.map +1 -0
  267. package/build/server/platform/transports/work-delivery/outbox.d.ts +84 -0
  268. package/build/server/platform/transports/work-delivery/outbox.d.ts.map +1 -0
  269. package/build/server/platform/transports/work-delivery/outbox.js +270 -0
  270. package/build/server/platform/transports/work-delivery/outbox.js.map +1 -0
  271. package/build/server/platform/transports/work-delivery/permissionEnvelope.d.ts +57 -0
  272. package/build/server/platform/transports/work-delivery/permissionEnvelope.d.ts.map +1 -0
  273. package/build/server/platform/transports/work-delivery/permissionEnvelope.js +74 -0
  274. package/build/server/platform/transports/work-delivery/permissionEnvelope.js.map +1 -0
  275. package/build/server/platform/transports/work-delivery/port.d.ts +60 -0
  276. package/build/server/platform/transports/work-delivery/port.d.ts.map +1 -0
  277. package/build/server/platform/transports/work-delivery/port.js +15 -0
  278. package/build/server/platform/transports/work-delivery/port.js.map +1 -0
  279. package/build/server/platform/transports/work-delivery/proposal.d.ts +31 -0
  280. package/build/server/platform/transports/work-delivery/proposal.d.ts.map +1 -0
  281. package/build/server/platform/transports/work-delivery/proposal.js +59 -0
  282. package/build/server/platform/transports/work-delivery/proposal.js.map +1 -0
  283. package/build/server/platform/transports/work-delivery/readiness.d.ts +61 -0
  284. package/build/server/platform/transports/work-delivery/readiness.d.ts.map +1 -0
  285. package/build/server/platform/transports/work-delivery/readiness.js +123 -0
  286. package/build/server/platform/transports/work-delivery/readiness.js.map +1 -0
  287. package/build/server/platform/transports/work-delivery/stageProjection.d.ts +43 -0
  288. package/build/server/platform/transports/work-delivery/stageProjection.d.ts.map +1 -0
  289. package/build/server/platform/transports/work-delivery/stageProjection.js +132 -0
  290. package/build/server/platform/transports/work-delivery/stageProjection.js.map +1 -0
  291. package/build/server/platform/transports/work-delivery/stateStore.d.ts +21 -0
  292. package/build/server/platform/transports/work-delivery/stateStore.d.ts.map +1 -0
  293. package/build/server/platform/transports/work-delivery/stateStore.js +193 -0
  294. package/build/server/platform/transports/work-delivery/stateStore.js.map +1 -0
  295. package/build/server/platform/transports/work-delivery/telemetry.d.ts +49 -0
  296. package/build/server/platform/transports/work-delivery/telemetry.d.ts.map +1 -0
  297. package/build/server/platform/transports/work-delivery/telemetry.js +80 -0
  298. package/build/server/platform/transports/work-delivery/telemetry.js.map +1 -0
  299. package/build/server/products/chat/api/contracts.d.ts +10 -8
  300. package/build/server/products/chat/api/contracts.d.ts.map +1 -1
  301. package/build/server/products/chat/api/resources/channelRoutes.d.ts.map +1 -1
  302. package/build/server/products/chat/api/resources/channelRoutes.js +27 -1
  303. package/build/server/products/chat/api/resources/channelRoutes.js.map +1 -1
  304. package/build/server/products/chat/api/routeSupport.d.ts +8 -0
  305. package/build/server/products/chat/api/routeSupport.d.ts.map +1 -1
  306. package/build/server/products/chat/api/routeSupport.js +5 -4
  307. package/build/server/products/chat/api/routeSupport.js.map +1 -1
  308. package/build/server/products/chat/api/setupRoutes.d.ts.map +1 -1
  309. package/build/server/products/chat/api/setupRoutes.js +24 -91
  310. package/build/server/products/chat/api/setupRoutes.js.map +1 -1
  311. package/build/server/products/chat/state/model/channelExecutionTargets.d.ts +15 -0
  312. package/build/server/products/chat/state/model/channelExecutionTargets.d.ts.map +1 -1
  313. package/build/server/products/chat/state/model/channelExecutionTargets.js +25 -0
  314. package/build/server/products/chat/state/model/channelExecutionTargets.js.map +1 -1
  315. package/build/server/products/chat/state/model/index.d.ts +1 -1
  316. package/build/server/products/chat/state/model/index.d.ts.map +1 -1
  317. package/build/server/products/chat/state/model/index.js +1 -1
  318. package/build/server/products/chat/state/model/index.js.map +1 -1
  319. package/build/server/products/code/api/relayRoutes.d.ts.map +1 -1
  320. package/build/server/products/code/api/relayRoutes.js +36 -7
  321. package/build/server/products/code/api/relayRoutes.js.map +1 -1
  322. package/build/server/products/code/state/relayState.d.ts +2 -1
  323. package/build/server/products/code/state/relayState.d.ts.map +1 -1
  324. package/build/server/products/code/state/relayState.js +7 -7
  325. package/build/server/products/code/state/relayState.js.map +1 -1
  326. package/build/server/products/shared/api/workspaceContracts.d.ts +5 -8
  327. package/build/server/products/shared/api/workspaceContracts.d.ts.map +1 -1
  328. package/build/server/products/work/api/goldenPathProjection.d.ts +156 -0
  329. package/build/server/products/work/api/goldenPathProjection.d.ts.map +1 -0
  330. package/build/server/products/work/api/goldenPathProjection.js +252 -0
  331. package/build/server/products/work/api/goldenPathProjection.js.map +1 -0
  332. package/build/server/products/work/api/index.d.ts +54 -1
  333. package/build/server/products/work/api/index.d.ts.map +1 -1
  334. package/build/server/products/work/api/index.js +182 -4
  335. package/build/server/products/work/api/index.js.map +1 -1
  336. package/build/server/products/work/api/projection.d.ts +7 -1
  337. package/build/server/products/work/api/projection.d.ts.map +1 -1
  338. package/build/server/products/work/api/projection.js +7 -1
  339. package/build/server/products/work/api/projection.js.map +1 -1
  340. package/build/server/products/work/shared/apiPaths.d.ts +8 -0
  341. package/build/server/products/work/shared/apiPaths.d.ts.map +1 -1
  342. package/build/server/products/work/shared/apiPaths.js +8 -0
  343. package/build/server/products/work/shared/apiPaths.js.map +1 -1
  344. package/build/server/products/work/shared/workGoldenPathMessages.d.ts +83 -0
  345. package/build/server/products/work/shared/workGoldenPathMessages.d.ts.map +1 -0
  346. package/build/server/products/work/shared/workGoldenPathMessages.js +211 -0
  347. package/build/server/products/work/shared/workGoldenPathMessages.js.map +1 -0
  348. package/build/server/products/work/shared/workGoldenPathMetadata.d.ts +45 -0
  349. package/build/server/products/work/shared/workGoldenPathMetadata.d.ts.map +1 -0
  350. package/build/server/products/work/shared/workGoldenPathMetadata.js +122 -0
  351. package/build/server/products/work/shared/workGoldenPathMetadata.js.map +1 -0
  352. package/build/server/products/work/state/workCompletionEvidence.d.ts +42 -0
  353. package/build/server/products/work/state/workCompletionEvidence.d.ts.map +1 -0
  354. package/build/server/products/work/state/workCompletionEvidence.js +59 -0
  355. package/build/server/products/work/state/workCompletionEvidence.js.map +1 -0
  356. package/build/server/products/work/state/workExecutionTaskDelegate.d.ts +16 -0
  357. package/build/server/products/work/state/workExecutionTaskDelegate.d.ts.map +1 -1
  358. package/build/server/products/work/state/workExecutionTaskDelegate.js +91 -68
  359. package/build/server/products/work/state/workExecutionTaskDelegate.js.map +1 -1
  360. package/build/server/products/work/state/workGoldenPathAdmission.d.ts +78 -0
  361. package/build/server/products/work/state/workGoldenPathAdmission.d.ts.map +1 -0
  362. package/build/server/products/work/state/workGoldenPathAdmission.js +249 -0
  363. package/build/server/products/work/state/workGoldenPathAdmission.js.map +1 -0
  364. package/build/server/products/work/state/workGoldenPathDeliveryEvidence.d.ts +33 -0
  365. package/build/server/products/work/state/workGoldenPathDeliveryEvidence.d.ts.map +1 -0
  366. package/build/server/products/work/state/workGoldenPathDeliveryEvidence.js +161 -0
  367. package/build/server/products/work/state/workGoldenPathDeliveryEvidence.js.map +1 -0
  368. package/build/server/products/work/state/workGoldenPathIntake.d.ts +34 -0
  369. package/build/server/products/work/state/workGoldenPathIntake.d.ts.map +1 -0
  370. package/build/server/products/work/state/workGoldenPathIntake.js +50 -0
  371. package/build/server/products/work/state/workGoldenPathIntake.js.map +1 -0
  372. package/build/server/products/work/state/workGoldenPathLifecycle.d.ts +44 -0
  373. package/build/server/products/work/state/workGoldenPathLifecycle.d.ts.map +1 -0
  374. package/build/server/products/work/state/workGoldenPathLifecycle.js +146 -0
  375. package/build/server/products/work/state/workGoldenPathLifecycle.js.map +1 -0
  376. package/build/server/products/work/state/workGoldenPathPublish.d.ts +84 -0
  377. package/build/server/products/work/state/workGoldenPathPublish.d.ts.map +1 -0
  378. package/build/server/products/work/state/workGoldenPathPublish.js +488 -0
  379. package/build/server/products/work/state/workGoldenPathPublish.js.map +1 -0
  380. package/build/server/products/work/state/workGoldenPathRunner.d.ts +121 -0
  381. package/build/server/products/work/state/workGoldenPathRunner.d.ts.map +1 -0
  382. package/build/server/products/work/state/workGoldenPathRunner.js +447 -0
  383. package/build/server/products/work/state/workGoldenPathRunner.js.map +1 -0
  384. package/build/server/products/work/state/workGoldenPathRuntimeExecutor.d.ts +74 -0
  385. package/build/server/products/work/state/workGoldenPathRuntimeExecutor.d.ts.map +1 -0
  386. package/build/server/products/work/state/workGoldenPathRuntimeExecutor.js +239 -0
  387. package/build/server/products/work/state/workGoldenPathRuntimeExecutor.js.map +1 -0
  388. package/build/server/products/work/state/workGoldenPathService.d.ts +152 -0
  389. package/build/server/products/work/state/workGoldenPathService.d.ts.map +1 -0
  390. package/build/server/products/work/state/workGoldenPathService.js +1057 -0
  391. package/build/server/products/work/state/workGoldenPathService.js.map +1 -0
  392. package/build/server/products/work/state/workGoldenPathTelegramPort.d.ts +87 -0
  393. package/build/server/products/work/state/workGoldenPathTelegramPort.d.ts.map +1 -0
  394. package/build/server/products/work/state/workGoldenPathTelegramPort.js +220 -0
  395. package/build/server/products/work/state/workGoldenPathTelegramPort.js.map +1 -0
  396. package/build/server/runtime/client.d.ts +24 -0
  397. package/build/server/runtime/client.d.ts.map +1 -1
  398. package/build/server/runtime/client.js +62 -1
  399. package/build/server/runtime/client.js.map +1 -1
  400. package/build/server/runtime/setup.d.ts +10 -4
  401. package/build/server/runtime/setup.d.ts.map +1 -1
  402. package/build/server/runtime/setup.js +14 -18
  403. package/build/server/runtime/setup.js.map +1 -1
  404. package/build/server/runtime/usageSnapshot.d.ts +3 -0
  405. package/build/server/runtime/usageSnapshot.d.ts.map +1 -0
  406. package/build/server/runtime/usageSnapshot.js +69 -0
  407. package/build/server/runtime/usageSnapshot.js.map +1 -0
  408. package/build/server/server/routes/providerCapabilityBootstrap.d.ts +69 -0
  409. package/build/server/server/routes/providerCapabilityBootstrap.d.ts.map +1 -0
  410. package/build/server/server/routes/providerCapabilityBootstrap.js +165 -0
  411. package/build/server/server/routes/providerCapabilityBootstrap.js.map +1 -0
  412. package/build/server/server/routes/providers.d.ts.map +1 -1
  413. package/build/server/server/routes/providers.js +112 -81
  414. package/build/server/server/routes/providers.js.map +1 -1
  415. package/build/server/server/routes/telegram.d.ts +9 -0
  416. package/build/server/server/routes/telegram.d.ts.map +1 -1
  417. package/build/server/server/routes/telegram.js +79 -72
  418. package/build/server/server/routes/telegram.js.map +1 -1
  419. package/build/server/shared/catsAppManifest.d.ts +3 -1
  420. package/build/server/shared/catsAppManifest.d.ts.map +1 -1
  421. package/build/server/shared/catsAppManifest.js +2 -0
  422. package/build/server/shared/catsAppManifest.js.map +1 -1
  423. package/build/server/shared/executionLabel.d.ts.map +1 -1
  424. package/build/server/shared/executionLabel.js +8 -1
  425. package/build/server/shared/executionLabel.js.map +1 -1
  426. package/build/server/shared/i18n/catalogs/en.d.ts.map +1 -1
  427. package/build/server/shared/i18n/catalogs/en.js +238 -3
  428. package/build/server/shared/i18n/catalogs/en.js.map +1 -1
  429. package/build/server/shared/i18n/catalogs/zh-TW.d.ts.map +1 -1
  430. package/build/server/shared/i18n/catalogs/zh-TW.js +236 -3
  431. package/build/server/shared/i18n/catalogs/zh-TW.js.map +1 -1
  432. package/build/server/shared/i18n/index.d.ts +231 -0
  433. package/build/server/shared/i18n/index.d.ts.map +1 -1
  434. package/build/server/shared/i18n/messageKeys.d.ts +231 -0
  435. package/build/server/shared/i18n/messageKeys.d.ts.map +1 -1
  436. package/build/server/shared/i18n/messageKeys.js +231 -0
  437. package/build/server/shared/i18n/messageKeys.js.map +1 -1
  438. package/build/server/shared/platformSetupOperation.d.ts +2 -0
  439. package/build/server/shared/platformSetupOperation.d.ts.map +1 -0
  440. package/build/server/shared/platformSetupOperation.js +9 -0
  441. package/build/server/shared/platformSetupOperation.js.map +1 -0
  442. package/build/server/shared/providerCatalog.d.ts +6 -2
  443. package/build/server/shared/providerCatalog.d.ts.map +1 -1
  444. package/build/server/shared/providerCatalog.js +15 -1
  445. package/build/server/shared/providerCatalog.js.map +1 -1
  446. package/build/server/shared/providerCatalogData.d.ts +38 -22
  447. package/build/server/shared/providerCatalogData.d.ts.map +1 -1
  448. package/build/server/shared/providerCatalogData.js +31 -10
  449. package/build/server/shared/providerCatalogData.js.map +1 -1
  450. package/build/server/shared/providerCatalogInstances.d.ts.map +1 -1
  451. package/build/server/shared/providerCatalogInstances.js +6 -0
  452. package/build/server/shared/providerCatalogInstances.js.map +1 -1
  453. package/build/server/shared/providerModelLabelRegistry.d.ts +29 -0
  454. package/build/server/shared/providerModelLabelRegistry.d.ts.map +1 -0
  455. package/build/server/shared/providerModelLabelRegistry.js +49 -0
  456. package/build/server/shared/providerModelLabelRegistry.js.map +1 -0
  457. package/build/server/shared/providerSelection.d.ts.map +1 -1
  458. package/build/server/shared/providerSelection.js +10 -13
  459. package/build/server/shared/providerSelection.js.map +1 -1
  460. package/build/server/shared/runtimeSetup.d.ts +17 -4
  461. package/build/server/shared/runtimeSetup.d.ts.map +1 -1
  462. package/build/server/shared/runtimeStatusPresentation.js +1 -1
  463. package/build/server/shared/runtimeStatusPresentation.js.map +1 -1
  464. package/package.json +23 -1
  465. package/packages/app-sdk/browser.d.ts +51 -0
  466. package/packages/app-sdk/browser.js +48 -0
  467. package/packages/app-sdk/package.d.ts +14 -0
  468. package/packages/app-sdk/package.js +131 -0
  469. package/packages/app-sdk/package.json +7 -0
  470. package/scripts/README.md +73 -26
  471. package/scripts/build-desktop-installer.mjs +15 -0
  472. package/scripts/build-test-ui.mjs +1 -1
  473. package/scripts/bundle-server.mjs +23 -10
  474. package/scripts/linux/build-desktop-package.sh +6 -6
  475. package/scripts/linux/install-antigravity.sh +0 -0
  476. package/scripts/linux/install-devin.sh +0 -0
  477. package/scripts/linux/install-meta-cli.sh +8 -0
  478. package/scripts/linux/node-cli-common.sh +2 -75
  479. package/scripts/linux/provider-cli-common.sh +103 -30
  480. package/scripts/linux/sync-agent-skills.sh +27 -5
  481. package/scripts/linux/test-linux-package-smoke.sh +4 -3
  482. package/scripts/linux/upgrade-cli-tools.sh +1 -1
  483. package/scripts/macos/build-desktop-package.sh +5 -5
  484. package/scripts/macos/install-antigravity.sh +0 -0
  485. package/scripts/macos/install-devin.sh +0 -0
  486. package/scripts/macos/install-meta-cli.sh +8 -0
  487. package/scripts/macos/node-cli-common.sh +2 -75
  488. package/scripts/macos/provider-cli-common.sh +103 -30
  489. package/scripts/macos/sync-agent-skills.sh +27 -5
  490. package/scripts/macos/test-macos-package-smoke.sh +4 -3
  491. package/scripts/macos/upgrade-cli-tools.sh +1 -1
  492. package/scripts/package-desktop.mjs +15 -2
  493. package/scripts/testing/check-usage-app.mts +266 -0
  494. package/scripts/testing/usage-app-smoke-electron.cjs +10 -0
  495. package/scripts/testing/usage-app-smoke-renderer.tsx +8 -0
  496. package/scripts/verify-desktop-app-bundle.mjs +108 -0
  497. package/scripts/windows/Build-DesktopPackage.ps1 +9 -6
  498. package/scripts/windows/Check-WindowsSetupReadiness.ps1 +14 -443
  499. package/scripts/windows/{Install-Aider.ps1 → Install-MetaCli.ps1} +180 -92
  500. package/scripts/windows/Install-Ollama.ps1 +4 -1
  501. package/scripts/windows/Remove-MergedBranches.ps1 +229 -0
  502. package/scripts/windows/Sync-AgentSkills.ps1 +29 -6
  503. package/scripts/windows/Test-WindowsInstallerSmoke.ps1 +2 -1
  504. package/build/desktop/updateNotifications.d.ts +0 -64
  505. package/build/desktop/updateNotifications.d.ts.map +0 -1
  506. package/build/desktop/updateNotifications.js +0 -143
  507. package/build/desktop/updateNotifications.js.map +0 -1
  508. package/build/renderer/assets/App-C57f4p8k.js +0 -2
  509. package/build/renderer/assets/App-CPqGDXVi.js +0 -1
  510. package/build/renderer/assets/App-DGwkRFZl.css +0 -1
  511. package/build/renderer/assets/WorkspaceAppRoutes-DYg2vnjz.js +0 -1
  512. package/build/renderer/assets/app-DVN9Ghrk.js +0 -43
  513. package/build/renderer/assets/app-XnXwkcD2.css +0 -1
  514. package/build/renderer/assets/conversationSidebarRecentEntries-XZVCnMLw.js +0 -6
  515. package/scripts/linux/install-aider.sh +0 -8
  516. package/scripts/macos/install-aider.sh +0 -8
@@ -92,6 +92,44 @@ const statusCommand = {
92
92
  chatId: context.chatId,
93
93
  }));
94
94
  lines.push(t(messageKeys.telegramCommandStatusConnectedLine));
95
+ // "Connected" is true — the message arrived — but on its own it reads as
96
+ // "everything is fine". FR-5 forbids implying the host can honour work when
97
+ // it cannot, so delegation gets its own explicit lines.
98
+ const delegation = context.delegation;
99
+ if (delegation === undefined || delegation === null) {
100
+ lines.push(t(messageKeys.telegramCommandStatusLocalExecutionUnknownLine));
101
+ lines.push(t(messageKeys.telegramCommandStatusDelegationUnknownLine));
102
+ }
103
+ else {
104
+ if (delegation.bindingHealth !== null) {
105
+ lines.push(t(messageKeys.telegramCommandStatusBindingHealthLine, {
106
+ health: delegation.bindingHealth,
107
+ }));
108
+ }
109
+ const localExecutionKey = {
110
+ healthy: messageKeys.telegramCommandStatusLocalExecutionHealthyLine,
111
+ degraded: messageKeys.telegramCommandStatusLocalExecutionDegradedLine,
112
+ unavailable: messageKeys.telegramCommandStatusLocalExecutionUnavailableLine,
113
+ unknown: messageKeys.telegramCommandStatusLocalExecutionUnknownLine,
114
+ }[delegation.localExecution];
115
+ lines.push(t(localExecutionKey));
116
+ if (delegation.enabled === null) {
117
+ lines.push(t(messageKeys.telegramCommandStatusDelegationUnknownLine));
118
+ }
119
+ else if (!delegation.enabled) {
120
+ lines.push(t(messageKeys.telegramCommandStatusDelegationDisabledLine));
121
+ }
122
+ else if (delegation.canAcceptWork) {
123
+ lines.push(t(messageKeys.telegramCommandStatusDelegationReadyLine));
124
+ }
125
+ else {
126
+ lines.push(t(messageKeys.telegramCommandStatusDelegationBlockedLine));
127
+ for (const key of delegation.blockerKeys) {
128
+ // Keys come from the readiness evaluator, which owns the copy.
129
+ lines.push(`- ${t(key)}`);
130
+ }
131
+ }
132
+ }
95
133
  return ok(lines.join('\n'));
96
134
  },
97
135
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/platform/transports/telegram/commands/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/platform/transports/telegram/commands/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Bounded hand-off for Telegram ingress (SPEC-114 FR-14).
3
+ *
4
+ * Both ingress modes used to await the whole bridge call — including the
5
+ * assistant turn — before releasing the update. That made one slow room stall a
6
+ * binding's long-polling loop and hold a webhook connection open past Telegram's
7
+ * own timeout, which then redelivered the update. Ingress now hands the work off
8
+ * and moves on.
9
+ *
10
+ * Two things this deliberately does *not* do:
11
+ *
12
+ * - It does not order the work. `bridgeTelegramWebhookToRoom` enters its
13
+ * per-room lock synchronously at call time and that lock is FIFO, so call
14
+ * order is already processing order. `dispatch` therefore invokes `work`
15
+ * synchronously; deferring it to a microtask would silently break that.
16
+ * - It does not refuse work. A caller that has already consumed an update from
17
+ * Telegram has nowhere to put a refusal, and dropping it there would be a
18
+ * silent loss. Admission control belongs to the caller *before* it consumes:
19
+ * ask `isSaturated` and answer 429 (webhook), or `waitForSlot` and keep the
20
+ * update in the batch (polling).
21
+ */
22
+ /**
23
+ * In-flight bridge calls one key — a bot binding — may have at once.
24
+ *
25
+ * Small on purpose: it exists to stop unbounded accumulation behind a stuck
26
+ * room, not to parallelise a workload.
27
+ */
28
+ export declare const DEFAULT_MAX_TELEGRAM_INGRESS_IN_FLIGHT = 8;
29
+ export interface TelegramIngressDispatcher {
30
+ /** True when `key` is at its ceiling. Ask before consuming an update. */
31
+ isSaturated(key: string): boolean;
32
+ /** Resolves once `key` has a free slot. */
33
+ waitForSlot(key: string): Promise<void>;
34
+ /** Starts `work` immediately and tracks it until it settles. Never refuses. */
35
+ dispatch(key: string, work: () => Promise<void>): void;
36
+ inFlight(key: string): number;
37
+ /**
38
+ * Waits for dispatched work to settle.
39
+ *
40
+ * For callers that need quiescence — tests, mainly. Deliberately not part of
41
+ * shutdown: blocking process exit on a provider turn that may run for minutes
42
+ * would trade one hang for another.
43
+ */
44
+ drain(): Promise<void>;
45
+ }
46
+ export interface TelegramIngressDispatcherOptions {
47
+ maxInFlightPerKey?: number;
48
+ }
49
+ /**
50
+ * Runs short durability-critical ingress work through the shared capacity
51
+ * tracker and exposes its result to the caller. The dispatched promise always
52
+ * settles successfully; the returned promise carries any failure.
53
+ */
54
+ export declare function dispatchTelegramIngressAndWait<T>(dispatcher: TelegramIngressDispatcher, key: string, work: () => Promise<T>): Promise<T>;
55
+ export declare function createTelegramIngressDispatcher(options?: TelegramIngressDispatcherOptions): TelegramIngressDispatcher;
56
+ //# sourceMappingURL=ingressDispatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ingressDispatch.d.ts","sourceRoot":"","sources":["../../../../../src/platform/transports/telegram/ingressDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,sCAAsC,IAAI,CAAC;AAExD,MAAM,WAAW,yBAAyB;IACxC,yEAAyE;IACzE,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,2CAA2C;IAC3C,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,+EAA+E;IAC/E,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B;;;;;;OAMG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,gCAAgC;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,CAAC,EAC9C,UAAU,EAAE,yBAAyB,EACrC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,CAAC,CAAC,CAUZ;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,gCAAqC,GAC7C,yBAAyB,CAoD3B"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Bounded hand-off for Telegram ingress (SPEC-114 FR-14).
3
+ *
4
+ * Both ingress modes used to await the whole bridge call — including the
5
+ * assistant turn — before releasing the update. That made one slow room stall a
6
+ * binding's long-polling loop and hold a webhook connection open past Telegram's
7
+ * own timeout, which then redelivered the update. Ingress now hands the work off
8
+ * and moves on.
9
+ *
10
+ * Two things this deliberately does *not* do:
11
+ *
12
+ * - It does not order the work. `bridgeTelegramWebhookToRoom` enters its
13
+ * per-room lock synchronously at call time and that lock is FIFO, so call
14
+ * order is already processing order. `dispatch` therefore invokes `work`
15
+ * synchronously; deferring it to a microtask would silently break that.
16
+ * - It does not refuse work. A caller that has already consumed an update from
17
+ * Telegram has nowhere to put a refusal, and dropping it there would be a
18
+ * silent loss. Admission control belongs to the caller *before* it consumes:
19
+ * ask `isSaturated` and answer 429 (webhook), or `waitForSlot` and keep the
20
+ * update in the batch (polling).
21
+ */
22
+ /**
23
+ * In-flight bridge calls one key — a bot binding — may have at once.
24
+ *
25
+ * Small on purpose: it exists to stop unbounded accumulation behind a stuck
26
+ * room, not to parallelise a workload.
27
+ */
28
+ export const DEFAULT_MAX_TELEGRAM_INGRESS_IN_FLIGHT = 8;
29
+ /**
30
+ * Runs short durability-critical ingress work through the shared capacity
31
+ * tracker and exposes its result to the caller. The dispatched promise always
32
+ * settles successfully; the returned promise carries any failure.
33
+ */
34
+ export function dispatchTelegramIngressAndWait(dispatcher, key, work) {
35
+ return new Promise((resolve, reject) => {
36
+ dispatcher.dispatch(key, async () => {
37
+ try {
38
+ resolve(await work());
39
+ }
40
+ catch (error) {
41
+ reject(error);
42
+ }
43
+ });
44
+ });
45
+ }
46
+ export function createTelegramIngressDispatcher(options = {}) {
47
+ const ceiling = options.maxInFlightPerKey ?? DEFAULT_MAX_TELEGRAM_INGRESS_IN_FLIGHT;
48
+ const pendingByKey = new Map();
49
+ function pendingFor(key) {
50
+ const existing = pendingByKey.get(key);
51
+ if (existing) {
52
+ return existing;
53
+ }
54
+ const created = new Set();
55
+ pendingByKey.set(key, created);
56
+ return created;
57
+ }
58
+ return {
59
+ isSaturated(key) {
60
+ return pendingFor(key).size >= ceiling;
61
+ },
62
+ inFlight(key) {
63
+ return pendingFor(key).size;
64
+ },
65
+ async waitForSlot(key) {
66
+ const pending = pendingFor(key);
67
+ // Racing settled-tracking promises is safe: every entry removes itself on
68
+ // completion, so the race always resolves.
69
+ while (pending.size >= ceiling) {
70
+ await Promise.race([...pending]);
71
+ }
72
+ },
73
+ dispatch(key, work) {
74
+ const pending = pendingFor(key);
75
+ // Invoked synchronously — see the ordering note above.
76
+ const tracked = work();
77
+ pending.add(tracked);
78
+ void tracked.finally(() => {
79
+ pending.delete(tracked);
80
+ });
81
+ },
82
+ async drain() {
83
+ // Work can outlive the set it started in, so drain until every key is
84
+ // quiet rather than snapshotting once.
85
+ let outstanding = [...pendingByKey.values()].flatMap((set) => [...set]);
86
+ while (outstanding.length > 0) {
87
+ await Promise.allSettled(outstanding);
88
+ outstanding = [...pendingByKey.values()].flatMap((set) => [...set]);
89
+ }
90
+ },
91
+ };
92
+ }
93
+ //# sourceMappingURL=ingressDispatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ingressDispatch.js","sourceRoot":"","sources":["../../../../../src/platform/transports/telegram/ingressDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAG,CAAC,CAAC;AAwBxD;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC5C,UAAqC,EACrC,GAAW,EACX,IAAsB;IAEtB,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;YAClC,IAAI,CAAC;gBACH,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,UAA4C,EAAE;IAE9C,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,IAAI,sCAAsC,CAAC;IACpF,MAAM,YAAY,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE3D,SAAS,UAAU,CAAC,GAAW;QAC7B,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;QACzC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO;QACL,WAAW,CAAC,GAAW;YACrB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC;QACzC,CAAC;QAED,QAAQ,CAAC,GAAW;YAClB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QAC9B,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,GAAW;YAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YAChC,0EAA0E;YAC1E,2CAA2C;YAC3C,OAAO,OAAO,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;gBAC/B,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,GAAW,EAAE,IAAyB;YAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YAChC,uDAAuD;YACvD,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;gBACxB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,KAAK;YACT,sEAAsE;YACtE,uCAAuC;YACvC,IAAI,WAAW,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YACxE,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBACtC,WAAW,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,10 +1,21 @@
1
1
  import type { RuntimeClient } from '../../runtime/client.js';
2
2
  import type { CatsMemoryService } from '../../memory/index.js';
3
3
  import { type TelegramFetch } from './http.js';
4
+ import { type TelegramIngressDispatcher } from './ingressDispatch.js';
5
+ import type { TransportWorkGoldenPathPort } from '../work-delivery/port.js';
6
+ import type { TelegramCommandPort } from './commandPort.js';
4
7
  import { type TelegramRoomBridge, type TelegramWebhookBridgeResult } from './bridge.js';
5
8
  import type { TelegramPollingStatus, TelegramRelayContext, TelegramWebhookUpdate } from './contracts.js';
6
9
  import type { TelegramRelay } from './relay/index.js';
7
10
  export interface TelegramPollingSupervisor {
11
+ /**
12
+ * Waits for bridge work dispatched by the poll loops to settle.
13
+ *
14
+ * Drains the dispatcher this supervisor uses, which the host shares with
15
+ * webhook ingress. See `ingressDispatch.ts` for why this is not part of
16
+ * shutdown.
17
+ */
18
+ drain(): Promise<void>;
8
19
  startPolling(input: StartPollingInput): Promise<void>;
9
20
  stopPolling(bindingId: string): void;
10
21
  stopAll(): void;
@@ -23,6 +34,10 @@ export interface StartPollingInput {
23
34
  memoryService: CatsMemoryService;
24
35
  runtimeClient: RuntimeClient;
25
36
  telegramRelay: TelegramRelay;
37
+ /** SPEC-114 golden path. Absent means `/work` falls through to chat. */
38
+ goldenPath?: TransportWorkGoldenPathPort | null;
39
+ /** Transport-owned slash commands, shared with webhook ingress. */
40
+ commands?: TelegramCommandPort | null;
26
41
  onBridgeResult?: TelegramPollingBridgeResultHandler;
27
42
  }
28
43
  export interface ReconcilePollingInput {
@@ -37,14 +52,33 @@ export interface ReconcilePollingInput {
37
52
  memoryService: CatsMemoryService;
38
53
  runtimeClient: RuntimeClient;
39
54
  telegramRelay: TelegramRelay;
55
+ goldenPath?: TransportWorkGoldenPathPort | null;
56
+ commands?: TelegramCommandPort | null;
40
57
  onBridgeResult?: TelegramPollingBridgeResultHandler;
41
58
  }
42
59
  export declare function telegramDeleteWebhook(botToken: string, fetchImpl?: TelegramFetch): Promise<boolean>;
60
+ /**
61
+ * Update kinds this transport can process.
62
+ *
63
+ * `callback_query` is required by SPEC-114 FR-11: inline proposal actions
64
+ * (`Start work` / `Adjust` / `Cancel`) arrive as callback queries, and Telegram
65
+ * silently withholds any kind absent from `allowed_updates`. Webhook
66
+ * registration must send the same list so both ingress modes stay at parity.
67
+ */
68
+ export declare const TELEGRAM_ALLOWED_UPDATE_KINDS: readonly ["message", "edited_message", "callback_query"];
43
69
  export declare function telegramGetUpdates(botToken: string, offset: number | null, timeout: number, signal: AbortSignal, fetchImpl?: TelegramFetch): Promise<TelegramWebhookUpdate[]>;
44
70
  export interface TelegramPollingSupervisorOptions {
45
71
  now?: () => Date;
46
72
  fetchImpl?: TelegramFetch;
47
73
  pollingTimeout?: number;
74
+ /**
75
+ * Shared with webhook ingress by the host, so a binding's in-flight ceiling
76
+ * covers both ways an update can arrive. Left unset, the supervisor keeps its
77
+ * own — which is what stand-alone tests want.
78
+ */
79
+ ingressDispatcher?: TelegramIngressDispatcher;
80
+ /** Ceiling for a dispatcher the supervisor creates itself. */
81
+ maxInFlightPerBinding?: number;
48
82
  }
49
83
  export declare function createTelegramPollingSupervisor(options?: TelegramPollingSupervisorOptions): TelegramPollingSupervisor;
50
84
  //# sourceMappingURL=polling.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"polling.d.ts","sourceRoot":"","sources":["../../../../../src/platform/transports/telegram/polling.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EACjC,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAEV,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,IAAI,IAAI,CAAC;IAChB,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAAC;IAClE,qBAAqB,IAAI,qBAAqB,EAAE,CAAC;CAClD;AAED,MAAM,MAAM,kCAAkC,GAAG,CAAC,MAAM,EAAE,2BAA2B,KAAK,IAAI,CAAC;AAE/F,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACrD,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,iBAAiB,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,CAAC,EAAE,kCAAkC,CAAC;CACrD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,SAAS,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;IAC7F,OAAO,EAAE,oBAAoB,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACrD,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,iBAAiB,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,CAAC,EAAE,kCAAkC,CAAC;CACrD;AAsDD,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,aAAiC,GAC3C,OAAO,CAAC,OAAO,CAAC,CAclB;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,EACnB,SAAS,GAAE,aAAiC,GAC3C,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAwBlC;AAED,MAAM,WAAW,gCAAgC;IAC/C,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,gCAAqC,GAC7C,yBAAyB,CAkO3B"}
1
+ {"version":3,"file":"polling.d.ts","sourceRoot":"","sources":["../../../../../src/platform/transports/telegram/polling.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAqB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAGL,KAAK,yBAAyB,EAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EACjC,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAEV,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,WAAW,yBAAyB;IACxC;;;;;;OAMG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,IAAI,IAAI,CAAC;IAChB,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAAC;IAClE,qBAAqB,IAAI,qBAAqB,EAAE,CAAC;CAClD;AAED,MAAM,MAAM,kCAAkC,GAAG,CAAC,MAAM,EAAE,2BAA2B,KAAK,IAAI,CAAC;AAE/F,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACrD,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,iBAAiB,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,wEAAwE;IACxE,UAAU,CAAC,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAChD,mEAAmE;IACnE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACtC,cAAc,CAAC,EAAE,kCAAkC,CAAC;CACrD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,SAAS,GAAG,SAAS,CAAA;KAAE,CAAC,CAAC;IAC7F,OAAO,EAAE,oBAAoB,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACrD,UAAU,EAAE,kBAAkB,CAAC;IAC/B,aAAa,EAAE,iBAAiB,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,CAAC,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACtC,cAAc,CAAC,EAAE,kCAAkC,CAAC;CACrD;AAsDD,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,aAAiC,GAC3C,OAAO,CAAC,OAAO,CAAC,CAclB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,0DAIhC,CAAC;AAEX,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,EACnB,SAAS,GAAE,aAAiC,GAC3C,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAwBlC;AAED,MAAM,WAAW,gCAAgC;IAC/C,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;IAC9C,8DAA8D;IAC9D,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,gCAAqC,GAC7C,yBAAyB,CAqS3B"}
@@ -1,5 +1,6 @@
1
1
  import { telegramIpv4Fetch } from './http.js';
2
- import { bridgeTelegramWebhookToRoom, } from './bridge.js';
2
+ import { createTelegramIngressDispatcher, dispatchTelegramIngressAndWait, } from './ingressDispatch.js';
3
+ import { bridgeTelegramWebhookToRoom, isTelegramGoldenPathUpdate, } from './bridge.js';
3
4
  function maskToken(token) {
4
5
  if (token.length <= 4) {
5
6
  return 'bot:***';
@@ -47,10 +48,23 @@ export async function telegramDeleteWebhook(botToken, fetchImpl = telegramIpv4Fe
47
48
  return false;
48
49
  }
49
50
  }
51
+ /**
52
+ * Update kinds this transport can process.
53
+ *
54
+ * `callback_query` is required by SPEC-114 FR-11: inline proposal actions
55
+ * (`Start work` / `Adjust` / `Cancel`) arrive as callback queries, and Telegram
56
+ * silently withholds any kind absent from `allowed_updates`. Webhook
57
+ * registration must send the same list so both ingress modes stay at parity.
58
+ */
59
+ export const TELEGRAM_ALLOWED_UPDATE_KINDS = [
60
+ 'message',
61
+ 'edited_message',
62
+ 'callback_query',
63
+ ];
50
64
  export async function telegramGetUpdates(botToken, offset, timeout, signal, fetchImpl = telegramIpv4Fetch) {
51
65
  const params = {
52
66
  timeout: String(timeout),
53
- allowed_updates: JSON.stringify(['message', 'edited_message']),
67
+ allowed_updates: JSON.stringify([...TELEGRAM_ALLOWED_UPDATE_KINDS]),
54
68
  };
55
69
  if (offset !== null) {
56
70
  params.offset = String(offset);
@@ -77,6 +91,8 @@ export function createTelegramPollingSupervisor(options = {}) {
77
91
  const now = options.now ?? (() => new Date());
78
92
  const fetchImpl = options.fetchImpl ?? telegramIpv4Fetch;
79
93
  const pollingTimeout = options.pollingTimeout ?? 30;
94
+ const dispatcher = options.ingressDispatcher
95
+ ?? createTelegramIngressDispatcher({ maxInFlightPerKey: options.maxInFlightPerBinding });
80
96
  function toStatus(consumer) {
81
97
  return {
82
98
  bindingId: consumer.bindingId,
@@ -120,10 +136,20 @@ export function createTelegramPollingSupervisor(options = {}) {
120
136
  break;
121
137
  }
122
138
  const updateId = typeof update.update_id === 'number' ? update.update_id : null;
123
- const receipt = telegramRelay.receiveUpdate({ update, context: scopedContext });
139
+ const goldenPathUpdate = isTelegramGoldenPathUpdate(update, input.goldenPath);
140
+ if (goldenPathUpdate) {
141
+ // Do not consume a `/work` update until there is capacity to make
142
+ // its product-owned durable write.
143
+ await dispatcher.waitForSlot(bindingId);
144
+ }
145
+ const receipt = telegramRelay.receiveUpdate({
146
+ update,
147
+ context: scopedContext,
148
+ deferProcessed: goldenPathUpdate,
149
+ });
124
150
  if (receipt.status === 'accepted') {
125
- try {
126
- const bridgeResult = await bridgeTelegramWebhookToRoom({
151
+ if (goldenPathUpdate) {
152
+ const bridgeResult = await dispatchTelegramIngressAndWait(dispatcher, bindingId, () => bridgeTelegramWebhookToRoom({
127
153
  update,
128
154
  receipt,
129
155
  context: scopedContext,
@@ -131,19 +157,65 @@ export function createTelegramPollingSupervisor(options = {}) {
131
157
  memoryService: input.memoryService,
132
158
  runtimeClient,
133
159
  telegramRelay,
160
+ goldenPath: input.goldenPath ?? null,
161
+ commands: input.commands ?? null,
134
162
  now: options.now,
135
- });
163
+ }));
164
+ if (receipt.updateId !== null) {
165
+ telegramRelay.markUpdateProcessed(receipt.updateId);
166
+ }
136
167
  try {
137
168
  input.onBridgeResult?.(bridgeResult);
138
169
  }
139
170
  catch {
140
- // Polling delivery already succeeded; UI/event hooks stay best-effort.
171
+ // Delivery succeeded; UI/event hooks stay best-effort.
141
172
  }
142
173
  }
143
- catch {
144
- // Bridge errors are already handled inside bridgeTelegramWebhookToRoom
174
+ else {
175
+ // Backpressure before dispatching, never between two dispatches for
176
+ // the same room: the room lock is entered synchronously inside the
177
+ // bridge, so call order is processing order.
178
+ await dispatcher.waitForSlot(bindingId);
179
+ dispatcher.dispatch(bindingId, async () => {
180
+ try {
181
+ const bridgeResult = await bridgeTelegramWebhookToRoom({
182
+ update,
183
+ receipt,
184
+ context: scopedContext,
185
+ roomBridge,
186
+ memoryService: input.memoryService,
187
+ runtimeClient,
188
+ telegramRelay,
189
+ goldenPath: input.goldenPath ?? null,
190
+ commands: input.commands ?? null,
191
+ now: options.now,
192
+ });
193
+ try {
194
+ input.onBridgeResult?.(bridgeResult);
195
+ }
196
+ catch {
197
+ // Delivery already succeeded; UI/event hooks stay best-effort.
198
+ }
199
+ }
200
+ catch {
201
+ // Bridge errors are already handled inside bridgeTelegramWebhookToRoom
202
+ }
203
+ });
145
204
  }
146
205
  }
206
+ // Ordinary Chat offsets advance on dispatch (FR-14). Golden-path
207
+ // offsets reach this point only after durable Core/outbox capture.
208
+ // A long assistant turn must not stop this binding — or any other —
209
+ // from receiving the next update.
210
+ //
211
+ // The cost is a wider crash window: an update whose bridge is still
212
+ // running when the next poll confirms the offset is not redelivered by
213
+ // Telegram after a host restart. That trade is deliberate. Holding the
214
+ // offset across a multi-minute provider turn would make one slow room
215
+ // silence the whole binding, and the work that matters — an admitted
216
+ // golden-path Run — survives in Core and is re-driven by the startup
217
+ // resume sweep. `/work` intake is excluded from this tradeoff by the
218
+ // awaited durability branch above.
147
219
  if (updateId !== null) {
148
220
  consumer.offset = updateId + 1;
149
221
  consumer.lastProcessedUpdateId = updateId;
@@ -183,6 +255,9 @@ export function createTelegramPollingSupervisor(options = {}) {
183
255
  consumer.health = 'stopped';
184
256
  }
185
257
  return {
258
+ drain() {
259
+ return dispatcher.drain();
260
+ },
186
261
  async startPolling(input) {
187
262
  const existing = consumers.get(input.bindingId);
188
263
  if (existing && existing.health !== 'stopped') {
@@ -250,6 +325,8 @@ export function createTelegramPollingSupervisor(options = {}) {
250
325
  memoryService: input.memoryService,
251
326
  runtimeClient: input.runtimeClient,
252
327
  telegramRelay: input.telegramRelay,
328
+ goldenPath: input.goldenPath,
329
+ commands: input.commands,
253
330
  onBridgeResult: input.onBridgeResult,
254
331
  });
255
332
  }
@@ -1 +1 @@
1
- {"version":3,"file":"polling.js","sourceRoot":"","sources":["../../../../../src/platform/transports/telegram/polling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"polling.js","sourceRoot":"","sources":["../../../../../src/platform/transports/telegram/polling.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,10 @@ export interface TelegramRelay {
28
28
  receiveUpdate(input: {
29
29
  update: TelegramWebhookUpdate;
30
30
  context: TelegramRelayContext;
31
+ deferProcessed?: boolean;
31
32
  }): TelegramWebhookReceipt;
33
+ /** Completes a deferred ingress acknowledgement after durable product capture. */
34
+ markUpdateProcessed(updateId: number): void;
32
35
  deliver(input: {
33
36
  request: TelegramDeliveryRequest;
34
37
  context: TelegramRelayContext;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/platform/transports/telegram/relay/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EACV,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,eAAe,CAAC;AAUvB,OAAO,EAA8B,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGxF,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,IAAI,4BAA4B,CAAC;IACjD,SAAS,CAAC,OAAO,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;IAC9D,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,wBAAwB,CAAC;IACxE,cAAc,CAAC,KAAK,EAAE;QACpB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,GAAG,2BAA2B,GAAG,IAAI,CAAC;IACvC,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,2BAA2B,GAAG,IAAI,CAAC;IACpF,QAAQ,CAAC,KAAK,EAAE;QACd,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,GAAG,2BAA2B,GAAG,IAAI,CAAC;IACvC,aAAa,CAAC,KAAK,EAAE;QACnB,MAAM,EAAE,qBAAqB,CAAC;QAC9B,OAAO,EAAE,oBAAoB,CAAC;KAC/B,GAAG,sBAAsB,CAAC;IAC3B,OAAO,CAAC,KAAK,EAAE;QACb,OAAO,EAAE,uBAAuB,CAAC;QACjC,OAAO,EAAE,oBAAoB,CAAC;KAC/B,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACrC,2BAA2B,CAAC,KAAK,EAAE;QACjC,OAAO,EAAE,sBAAsB,CAAC;QAChC,OAAO,EAAE,oBAAoB,CAAC;QAC9B,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;QACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,YAAY,EAAE,MAAM,CAAC;KACtB,GAAG,uBAAuB,CAAC;CAC7B;AAED,UAAU,oBAAoB;IAC5B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;IAChD,cAAc,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC/C,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,KAAK,sBAAsB,GAAG,IAAI,CAAC;IAC5F,kBAAkB,CAAC,EAAE,MAAM,qBAAqB,EAAE,CAAC;CACpD;AAmCD,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,aAAa,CAyHrF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/platform/transports/telegram/relay/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EACV,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,eAAe,CAAC;AAUvB,OAAO,EAA8B,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGxF,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,IAAI,4BAA4B,CAAC;IACjD,SAAS,CAAC,OAAO,EAAE,oBAAoB,GAAG,mBAAmB,CAAC;IAC9D,cAAc,CAAC,OAAO,EAAE,oBAAoB,GAAG,wBAAwB,CAAC;IACxE,cAAc,CAAC,KAAK,EAAE;QACpB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,GAAG,2BAA2B,GAAG,IAAI,CAAC;IACvC,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,2BAA2B,GAAG,IAAI,CAAC;IACpF,QAAQ,CAAC,KAAK,EAAE;QACd,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,GAAG,2BAA2B,GAAG,IAAI,CAAC;IACvC,aAAa,CAAC,KAAK,EAAE;QACnB,MAAM,EAAE,qBAAqB,CAAC;QAC9B,OAAO,EAAE,oBAAoB,CAAC;QAC9B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,GAAG,sBAAsB,CAAC;IAC3B,kFAAkF;IAClF,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,OAAO,CAAC,KAAK,EAAE;QACb,OAAO,EAAE,uBAAuB,CAAC;QACjC,OAAO,EAAE,oBAAoB,CAAC;KAC/B,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACrC,2BAA2B,CAAC,KAAK,EAAE;QACjC,OAAO,EAAE,sBAAsB,CAAC;QAChC,OAAO,EAAE,oBAAoB,CAAC;QAC9B,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;QACjC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,YAAY,EAAE,MAAM,CAAC;KACtB,GAAG,uBAAuB,CAAC;CAC7B;AAED,UAAU,oBAAoB;IAC5B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;IAChD,cAAc,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC/C,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,KAAK,sBAAsB,GAAG,IAAI,CAAC;IAC5F,kBAAkB,CAAC,EAAE,MAAM,qBAAqB,EAAE,CAAC;CACpD;AAmCD,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,oBAAyB,GAAG,aAAa,CAgIrF"}
@@ -89,15 +89,19 @@ export function createTelegramRelay(options = {}) {
89
89
  linkedAt: readTelegramString(input.linkedAt) ?? now().toISOString(),
90
90
  });
91
91
  },
92
- receiveUpdate({ update, context, }) {
92
+ receiveUpdate({ update, context, deferProcessed, }) {
93
93
  return receiveTelegramUpdate({
94
94
  now,
95
95
  store,
96
96
  conversationMapper,
97
97
  context,
98
98
  update,
99
+ deferProcessed,
99
100
  });
100
101
  },
102
+ markUpdateProcessed(updateId) {
103
+ store.markProcessedUpdate(updateId);
104
+ },
101
105
  async deliver({ request, context, }) {
102
106
  return deliverTelegramRequest({
103
107
  now,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/platform/transports/telegram/relay/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/platform/transports/telegram/relay/index.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ export interface ReceiveTelegramUpdateOptions {
7
7
  conversationMapper: TelegramConversationMapper;
8
8
  context: TelegramRelayContext;
9
9
  update: TelegramWebhookUpdate;
10
+ /** Delay dedupe acknowledgement until product-owned durable capture succeeds. */
11
+ deferProcessed?: boolean;
10
12
  }
11
13
  export declare function receiveTelegramUpdate(options: ReceiveTelegramUpdateOptions): TelegramWebhookReceipt;
12
14
  export declare function linkTelegramRoom(input: {
@@ -1 +1 @@
1
- {"version":3,"file":"ingress.d.ts","sourceRoot":"","sources":["../../../../../../src/platform/transports/telegram/relay/ingress.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,2BAA2B,EAE3B,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAA+B,KAAK,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAE7F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAsD5D,MAAM,WAAW,4BAA4B;IAC3C,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,kBAAkB,EAAE,0BAA0B,CAAC;IAC/C,OAAO,EAAE,oBAAoB,CAAC;IAC9B,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,sBAAsB,CAmInG;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,OAAO,EAAE,2BAA2B,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,2BAA2B,CAS9B"}
1
+ {"version":3,"file":"ingress.d.ts","sourceRoot":"","sources":["../../../../../../src/platform/transports/telegram/relay/ingress.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,2BAA2B,EAE3B,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAA+B,KAAK,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAE7F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAsD5D,MAAM,WAAW,4BAA4B;IAC3C,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,kBAAkB,EAAE,0BAA0B,CAAC;IAC/C,OAAO,EAAE,oBAAoB,CAAC;IAC9B,MAAM,EAAE,qBAAqB,CAAC;IAC9B,iFAAiF;IACjF,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,sBAAsB,CAmInG;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,OAAO,EAAE,2BAA2B,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,2BAA2B,CAS9B"}
@@ -134,7 +134,7 @@ export function receiveTelegramUpdate(options) {
134
134
  isEdited: pickedMessage.isEdited,
135
135
  }),
136
136
  });
137
- if (updateId !== null) {
137
+ if (updateId !== null && options.deferProcessed !== true) {
138
138
  options.store.markProcessedUpdate(updateId);
139
139
  }
140
140
  return recordTelegramIngressReceipt(options.store, {