@deepseek-harness-tui/dsh-tui 0.8.0 → 0.8.2

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 (434) hide show
  1. package/README.md +32 -15
  2. package/cordis.patch.yml +21 -2
  3. package/cordis.yml +12 -1
  4. package/dsh-ecosystem-spec/protocols/profile-definitions.d.ts +13 -0
  5. package/dsh-ecosystem-spec/protocols/profile-definitions.js +59 -0
  6. package/dsh-ecosystem-spec/protocols/tui-channel-http.d.ts +15 -0
  7. package/dsh-ecosystem-spec/protocols/tui-channel-http.js +32 -0
  8. package/dsh-ecosystem-spec/protocols/tui-channel.d.ts +59 -0
  9. package/dsh-ecosystem-spec/protocols/tui-channel.js +166 -0
  10. package/dsh-ecosystem-spec/protocols/tui-contributions.d.ts +42 -0
  11. package/dsh-ecosystem-spec/protocols/tui-contributions.js +143 -0
  12. package/dsh-ecosystem-spec/registry/README.md +14 -0
  13. package/dsh-ecosystem-spec/registry/contracts/decision-events-v1alpha1.json +13 -0
  14. package/dsh-ecosystem-spec/registry/contracts/scene-v1alpha1.json +13 -0
  15. package/dsh-ecosystem-spec/registry/contracts/settings-section-v1alpha1.json +13 -0
  16. package/dsh-ecosystem-spec/registry/contracts/tui-channel-v1alpha1.json +30 -0
  17. package/dsh-ecosystem-spec/registry/contracts/workspace-provider-v1alpha1.json +6 -0
  18. package/dsh-ecosystem-spec/registry/host-descriptor.tui.example.json +56 -0
  19. package/dsh-ecosystem-spec/registry/permissions-0.1.json +13 -0
  20. package/dsh-ecosystem-spec/registry/registry-0.15.json +149 -0
  21. package/dsh-ecosystem-spec/schemas/conformance-claim.schema.json +15 -0
  22. package/dsh-ecosystem-spec/schemas/effect-ledger-record.schema.json +16 -0
  23. package/dsh-ecosystem-spec/schemas/host-descriptor.schema.json +26 -0
  24. package/lib/types/cc/figures.d.ts +4 -0
  25. package/lib/types/cc/figures.d.ts.map +1 -1
  26. package/lib/types/cc/figures.js +4 -0
  27. package/lib/types/command-trees.d.ts +2 -1
  28. package/lib/types/command-trees.d.ts.map +1 -1
  29. package/lib/types/command-trees.js +1 -1
  30. package/lib/types/commands.d.ts.map +1 -1
  31. package/lib/types/commands.js +2 -0
  32. package/lib/types/components/ExtensionDialog.d.ts +40 -0
  33. package/lib/types/components/ExtensionDialog.d.ts.map +1 -0
  34. package/lib/types/components/ExtensionDialog.js +210 -0
  35. package/lib/types/components/HelpMenu.js +1 -1
  36. package/lib/types/components/LoadedContextPanel.d.ts +5 -5
  37. package/lib/types/components/LoadedContextPanel.js +6 -6
  38. package/lib/types/components/LogoV2.d.ts.map +1 -1
  39. package/lib/types/components/LogoV2.js +16 -8
  40. package/lib/types/components/Markdown.d.ts +13 -1
  41. package/lib/types/components/Markdown.d.ts.map +1 -1
  42. package/lib/types/components/Markdown.js +15 -1
  43. package/lib/types/components/MessageList.d.ts +3 -1
  44. package/lib/types/components/MessageList.d.ts.map +1 -1
  45. package/lib/types/components/MessageList.js +111 -6
  46. package/lib/types/components/PromptInput.d.ts.map +1 -1
  47. package/lib/types/components/PromptInput.js +26 -12
  48. package/lib/types/components/RewindPicker.d.ts +13 -1
  49. package/lib/types/components/RewindPicker.d.ts.map +1 -1
  50. package/lib/types/components/RewindPicker.js +26 -2
  51. package/lib/types/components/StreamingMarkdown.d.ts +2 -8
  52. package/lib/types/components/StreamingMarkdown.d.ts.map +1 -1
  53. package/lib/types/components/StreamingMarkdown.js +51 -9
  54. package/lib/types/components/ToolUseLoader.d.ts +8 -3
  55. package/lib/types/components/ToolUseLoader.d.ts.map +1 -1
  56. package/lib/types/components/ToolUseLoader.js +43 -9
  57. package/lib/types/components/activityFrames.d.ts +1 -1
  58. package/lib/types/components/activityFrames.d.ts.map +1 -1
  59. package/lib/types/components/activityFrames.js +4 -1
  60. package/lib/types/components/messages/AssistantThinkingMessage.d.ts +5 -1
  61. package/lib/types/components/messages/AssistantThinkingMessage.d.ts.map +1 -1
  62. package/lib/types/components/messages/AssistantThinkingMessage.js +26 -3
  63. package/lib/types/components/messages/AssistantToolUseMessage.d.ts.map +1 -1
  64. package/lib/types/components/messages/AssistantToolUseMessage.js +13 -2
  65. package/lib/types/dsh-adapter/channel.d.ts +61 -11
  66. package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
  67. package/lib/types/dsh-adapter/channel.js +767 -120
  68. package/lib/types/dsh-adapter/childStderr.d.ts.map +1 -1
  69. package/lib/types/dsh-adapter/childStderr.js +10 -0
  70. package/lib/types/dsh-adapter/command-attribution.d.ts +51 -0
  71. package/lib/types/dsh-adapter/command-attribution.d.ts.map +1 -0
  72. package/lib/types/dsh-adapter/command-attribution.js +93 -0
  73. package/lib/types/dsh-adapter/command-errors.d.ts +42 -0
  74. package/lib/types/dsh-adapter/command-errors.d.ts.map +1 -0
  75. package/lib/types/dsh-adapter/command-errors.js +63 -0
  76. package/lib/types/dsh-adapter/command-trees.d.ts +7 -1
  77. package/lib/types/dsh-adapter/command-trees.d.ts.map +1 -1
  78. package/lib/types/dsh-adapter/command-trees.js +70 -20
  79. package/lib/types/dsh-adapter/component-identity.d.ts +33 -0
  80. package/lib/types/dsh-adapter/component-identity.d.ts.map +1 -0
  81. package/lib/types/dsh-adapter/component-identity.js +108 -0
  82. package/lib/types/dsh-adapter/contract.d.ts +1 -1
  83. package/lib/types/dsh-adapter/contract.js +2 -2
  84. package/lib/types/dsh-adapter/decision-guard.d.ts +84 -0
  85. package/lib/types/dsh-adapter/decision-guard.d.ts.map +1 -0
  86. package/lib/types/dsh-adapter/decision-guard.js +348 -0
  87. package/lib/types/dsh-adapter/dialogs.d.ts +145 -0
  88. package/lib/types/dsh-adapter/dialogs.d.ts.map +1 -0
  89. package/lib/types/dsh-adapter/dialogs.js +316 -0
  90. package/lib/types/dsh-adapter/effect-ledger.d.ts +91 -0
  91. package/lib/types/dsh-adapter/effect-ledger.d.ts.map +1 -0
  92. package/lib/types/dsh-adapter/effect-ledger.js +251 -0
  93. package/lib/types/dsh-adapter/extension-events.d.ts +193 -0
  94. package/lib/types/dsh-adapter/extension-events.d.ts.map +1 -0
  95. package/lib/types/dsh-adapter/extension-events.js +207 -0
  96. package/lib/types/dsh-adapter/extensions.d.ts +32 -0
  97. package/lib/types/dsh-adapter/extensions.d.ts.map +1 -0
  98. package/lib/types/dsh-adapter/extensions.js +42 -0
  99. package/lib/types/dsh-adapter/grants.d.ts +25 -0
  100. package/lib/types/dsh-adapter/grants.d.ts.map +1 -0
  101. package/lib/types/dsh-adapter/grants.js +213 -0
  102. package/lib/types/dsh-adapter/host-access.d.ts +37 -0
  103. package/lib/types/dsh-adapter/host-access.d.ts.map +1 -0
  104. package/lib/types/dsh-adapter/host-access.js +652 -0
  105. package/lib/types/dsh-adapter/host-descriptor.d.ts +24 -0
  106. package/lib/types/dsh-adapter/host-descriptor.d.ts.map +1 -0
  107. package/lib/types/dsh-adapter/host-descriptor.js +169 -0
  108. package/lib/types/dsh-adapter/index.d.ts +4 -0
  109. package/lib/types/dsh-adapter/index.d.ts.map +1 -1
  110. package/lib/types/dsh-adapter/index.js +1 -0
  111. package/lib/types/dsh-adapter/message-observer.d.ts +173 -0
  112. package/lib/types/dsh-adapter/message-observer.d.ts.map +1 -0
  113. package/lib/types/dsh-adapter/message-observer.js +553 -0
  114. package/lib/types/dsh-adapter/plugin-host.d.ts +136 -0
  115. package/lib/types/dsh-adapter/plugin-host.d.ts.map +1 -0
  116. package/lib/types/dsh-adapter/plugin-host.js +365 -0
  117. package/lib/types/dsh-adapter/plugin-storage.d.ts +108 -0
  118. package/lib/types/dsh-adapter/plugin-storage.d.ts.map +1 -0
  119. package/lib/types/dsh-adapter/plugin-storage.js +397 -0
  120. package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
  121. package/lib/types/dsh-adapter/plugin.js +124 -14
  122. package/lib/types/dsh-adapter/plugins-info.d.ts +43 -0
  123. package/lib/types/dsh-adapter/plugins-info.d.ts.map +1 -0
  124. package/lib/types/dsh-adapter/plugins-info.js +276 -0
  125. package/lib/types/dsh-adapter/promptDebug.d.ts +0 -6
  126. package/lib/types/dsh-adapter/promptDebug.d.ts.map +1 -1
  127. package/lib/types/dsh-adapter/promptDebug.js +13 -4
  128. package/lib/types/dsh-adapter/renderers.d.ts +57 -0
  129. package/lib/types/dsh-adapter/renderers.d.ts.map +1 -0
  130. package/lib/types/dsh-adapter/renderers.js +173 -0
  131. package/lib/types/dsh-adapter/sanitize.d.ts +36 -0
  132. package/lib/types/dsh-adapter/sanitize.d.ts.map +1 -0
  133. package/lib/types/dsh-adapter/sanitize.js +65 -0
  134. package/lib/types/dsh-adapter/scenes.d.ts +15 -5
  135. package/lib/types/dsh-adapter/scenes.d.ts.map +1 -1
  136. package/lib/types/dsh-adapter/scenes.js +149 -35
  137. package/lib/types/dsh-adapter/settings-sections.d.ts +7 -3
  138. package/lib/types/dsh-adapter/settings-sections.d.ts.map +1 -1
  139. package/lib/types/dsh-adapter/settings-sections.js +106 -26
  140. package/lib/types/dsh-adapter/shortcuts.d.ts +107 -0
  141. package/lib/types/dsh-adapter/shortcuts.d.ts.map +1 -0
  142. package/lib/types/dsh-adapter/shortcuts.js +340 -0
  143. package/lib/types/dsh-adapter/status.d.ts +74 -0
  144. package/lib/types/dsh-adapter/status.d.ts.map +1 -0
  145. package/lib/types/dsh-adapter/status.js +234 -0
  146. package/lib/types/dsh-adapter/workspaces.d.ts +16 -5
  147. package/lib/types/dsh-adapter/workspaces.d.ts.map +1 -1
  148. package/lib/types/dsh-adapter/workspaces.js +287 -170
  149. package/lib/types/extensions.d.ts +13 -0
  150. package/lib/types/extensions.d.ts.map +1 -0
  151. package/lib/types/extensions.js +21 -0
  152. package/lib/types/force-production-react.d.ts +1 -0
  153. package/lib/types/force-production-react.d.ts.map +1 -0
  154. package/lib/types/force-production-react.js +12 -0
  155. package/lib/types/i18n.d.ts +174 -20
  156. package/lib/types/i18n.d.ts.map +1 -1
  157. package/lib/types/i18n.js +56 -6
  158. package/lib/types/index.d.ts +1 -0
  159. package/lib/types/index.d.ts.map +1 -1
  160. package/lib/types/index.js +1 -0
  161. package/lib/types/ink/components/App.d.ts +2 -0
  162. package/lib/types/ink/components/App.d.ts.map +1 -1
  163. package/lib/types/ink/components/App.js +4 -0
  164. package/lib/types/ink/ink.d.ts +31 -3
  165. package/lib/types/ink/ink.d.ts.map +1 -1
  166. package/lib/types/ink/ink.js +90 -5
  167. package/lib/types/ink/log-update.d.ts.map +1 -1
  168. package/lib/types/ink/log-update.js +225 -56
  169. package/lib/types/ink/output.d.ts +35 -2
  170. package/lib/types/ink/output.d.ts.map +1 -1
  171. package/lib/types/ink/output.js +281 -14
  172. package/lib/types/ink/render-node-to-output.d.ts.map +1 -1
  173. package/lib/types/ink/render-node-to-output.js +14 -6
  174. package/lib/types/ink/screen.d.ts +39 -0
  175. package/lib/types/ink/screen.d.ts.map +1 -1
  176. package/lib/types/ink/screen.js +117 -0
  177. package/lib/types/ink/terminal.d.ts.map +1 -1
  178. package/lib/types/ink/terminal.js +26 -6
  179. package/lib/types/ink/wrapAnsi.d.ts +1 -1
  180. package/lib/types/ink/wrapAnsi.d.ts.map +1 -1
  181. package/lib/types/ink/wrapAnsi.js +29 -2
  182. package/lib/types/plugin-host.d.ts +15 -0
  183. package/lib/types/plugin-host.d.ts.map +1 -0
  184. package/lib/types/plugin-host.js +17 -0
  185. package/lib/types/plugin-spec/negotiate.d.ts +11 -0
  186. package/lib/types/plugin-spec/negotiate.d.ts.map +1 -0
  187. package/lib/types/plugin-spec/negotiate.js +97 -0
  188. package/lib/types/plugin-spec/permission-scope.d.ts +32 -0
  189. package/lib/types/plugin-spec/permission-scope.d.ts.map +1 -0
  190. package/lib/types/plugin-spec/permission-scope.js +90 -0
  191. package/lib/types/plugin-spec/registry.d.ts +23 -0
  192. package/lib/types/plugin-spec/registry.d.ts.map +1 -0
  193. package/lib/types/plugin-spec/registry.js +252 -0
  194. package/lib/types/plugin-spec/schema-check.d.ts +17 -0
  195. package/lib/types/plugin-spec/schema-check.d.ts.map +1 -0
  196. package/lib/types/plugin-spec/schema-check.js +165 -0
  197. package/lib/types/plugin-spec/tui-extension.d.ts +16 -0
  198. package/lib/types/plugin-spec/tui-extension.d.ts.map +1 -0
  199. package/lib/types/plugin-spec/tui-extension.js +79 -0
  200. package/lib/types/plugin-spec/types.d.ts +114 -0
  201. package/lib/types/plugin-spec/types.d.ts.map +1 -0
  202. package/lib/types/plugin-spec/types.js +10 -0
  203. package/lib/types/plugin-spec/validate.d.ts +21 -0
  204. package/lib/types/plugin-spec/validate.d.ts.map +1 -0
  205. package/lib/types/plugin-spec/validate.js +138 -0
  206. package/lib/types/scenes.d.ts +2 -1
  207. package/lib/types/scenes.d.ts.map +1 -1
  208. package/lib/types/scenes.js +1 -1
  209. package/lib/types/screens/Chat.d.ts +14 -1
  210. package/lib/types/screens/Chat.d.ts.map +1 -1
  211. package/lib/types/screens/Chat.js +173 -49
  212. package/lib/types/screens/SessionBrowser.d.ts.map +1 -1
  213. package/lib/types/screens/SessionBrowser.js +10 -3
  214. package/lib/types/sessions/view.d.ts +3 -2
  215. package/lib/types/sessions/view.d.ts.map +1 -1
  216. package/lib/types/sessions/view.js +18 -0
  217. package/lib/types/settings-sections.d.ts +2 -1
  218. package/lib/types/settings-sections.d.ts.map +1 -1
  219. package/lib/types/settings-sections.js +1 -1
  220. package/lib/types/theme.d.ts +5 -0
  221. package/lib/types/theme.d.ts.map +1 -1
  222. package/lib/types/theme.js +15 -0
  223. package/lib/types/update.d.ts +20 -0
  224. package/lib/types/update.d.ts.map +1 -1
  225. package/lib/types/update.js +54 -7
  226. package/lib/types/utils/execFileNoThrow.d.ts.map +1 -1
  227. package/lib/types/utils/execFileNoThrow.js +3 -0
  228. package/lib/types/utils/loaded-context.d.ts +8 -3
  229. package/lib/types/utils/loaded-context.d.ts.map +1 -1
  230. package/lib/types/utils/loaded-context.js +39 -3
  231. package/lib/types/utils/modifiers.d.ts.map +1 -1
  232. package/lib/types/utils/modifiers.js +3 -2
  233. package/lib/types/working-activity.d.ts +12 -0
  234. package/lib/types/working-activity.d.ts.map +1 -1
  235. package/lib/types/working-activity.js +13 -0
  236. package/lib/types/workspaces.d.ts +2 -1
  237. package/lib/types/workspaces.d.ts.map +1 -1
  238. package/lib/types/workspaces.js +1 -1
  239. package/node_modules/@dsh-std/command/CHANGELOG.md +8 -0
  240. package/node_modules/@dsh-std/command/LICENSE +21 -0
  241. package/node_modules/@dsh-std/command/README.md +26 -0
  242. package/node_modules/@dsh-std/command/README.zh.md +28 -0
  243. package/node_modules/@dsh-std/command/lib/index.d.ts +144 -0
  244. package/node_modules/@dsh-std/command/lib/index.d.ts.map +1 -0
  245. package/node_modules/@dsh-std/command/lib/index.js +252 -0
  246. package/node_modules/@dsh-std/command/lib/index.js.map +1 -0
  247. package/node_modules/@dsh-std/command/package.json +22 -0
  248. package/node_modules/@dsh-std/connection/CHANGELOG.md +8 -0
  249. package/node_modules/@dsh-std/connection/LICENSE +21 -0
  250. package/node_modules/@dsh-std/connection/README.md +42 -0
  251. package/node_modules/@dsh-std/connection/README.zh.md +42 -0
  252. package/node_modules/@dsh-std/connection/lib/connection-CdGcSQnu.d.ts +125 -0
  253. package/node_modules/@dsh-std/connection/lib/connection-CdGcSQnu.d.ts.map +1 -0
  254. package/node_modules/@dsh-std/connection/lib/index.d.ts +89 -0
  255. package/node_modules/@dsh-std/connection/lib/index.d.ts.map +1 -0
  256. package/node_modules/@dsh-std/connection/lib/index.js +158 -0
  257. package/node_modules/@dsh-std/connection/lib/index.js.map +1 -0
  258. package/node_modules/@dsh-std/connection/lib/memory.d.ts +24 -0
  259. package/node_modules/@dsh-std/connection/lib/memory.d.ts.map +1 -0
  260. package/node_modules/@dsh-std/connection/lib/memory.js +258 -0
  261. package/node_modules/@dsh-std/connection/lib/memory.js.map +1 -0
  262. package/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js +226 -0
  263. package/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js.map +1 -0
  264. package/node_modules/@dsh-std/connection/package.json +20 -0
  265. package/node_modules/@dsh-std/core/CHANGELOG.md +8 -0
  266. package/node_modules/@dsh-std/core/LICENSE +21 -0
  267. package/node_modules/@dsh-std/core/README.md +13 -0
  268. package/node_modules/@dsh-std/core/README.zh.md +13 -0
  269. package/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
  270. package/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
  271. package/node_modules/@dsh-std/core/lib/index.js +424 -0
  272. package/node_modules/@dsh-std/core/lib/index.js.map +1 -0
  273. package/node_modules/@dsh-std/core/package.json +21 -0
  274. package/node_modules/@dsh-std/manifest/CHANGELOG.md +9 -0
  275. package/node_modules/@dsh-std/manifest/LICENSE +21 -0
  276. package/node_modules/@dsh-std/manifest/README.md +5 -0
  277. package/node_modules/@dsh-std/manifest/README.zh.md +5 -0
  278. package/node_modules/@dsh-std/manifest/lib/index.d.ts +182 -0
  279. package/node_modules/@dsh-std/manifest/lib/index.d.ts.map +1 -0
  280. package/node_modules/@dsh-std/manifest/lib/index.js +625 -0
  281. package/node_modules/@dsh-std/manifest/lib/index.js.map +1 -0
  282. package/node_modules/@dsh-std/manifest/package.json +20 -0
  283. package/node_modules/@dsh-std/manifest/schema/dsh-plugin-0.15.schema.json +144 -0
  284. package/node_modules/@dsh-std/messages/CHANGELOG.md +8 -0
  285. package/node_modules/@dsh-std/messages/LICENSE +21 -0
  286. package/node_modules/@dsh-std/messages/README.md +5 -0
  287. package/node_modules/@dsh-std/messages/README.zh.md +7 -0
  288. package/node_modules/@dsh-std/messages/lib/index.d.ts +50 -0
  289. package/node_modules/@dsh-std/messages/lib/index.d.ts.map +1 -0
  290. package/node_modules/@dsh-std/messages/lib/index.js +151 -0
  291. package/node_modules/@dsh-std/messages/lib/index.js.map +1 -0
  292. package/node_modules/@dsh-std/messages/package.json +20 -0
  293. package/node_modules/@dsh-std/messages/schema/message-observer-envelope-0.15.schema.json +54 -0
  294. package/node_modules/@dsh-std/presentation/CHANGELOG.md +9 -0
  295. package/node_modules/@dsh-std/presentation/LICENSE +21 -0
  296. package/node_modules/@dsh-std/presentation/README.md +27 -0
  297. package/node_modules/@dsh-std/presentation/README.zh.md +29 -0
  298. package/node_modules/@dsh-std/presentation/lib/callback.d.ts +2 -0
  299. package/node_modules/@dsh-std/presentation/lib/callback.js +179 -0
  300. package/node_modules/@dsh-std/presentation/lib/callback.js.map +1 -0
  301. package/node_modules/@dsh-std/presentation/lib/index.d.ts +262 -0
  302. package/node_modules/@dsh-std/presentation/lib/index.d.ts.map +1 -0
  303. package/node_modules/@dsh-std/presentation/lib/index.js +550 -0
  304. package/node_modules/@dsh-std/presentation/lib/index.js.map +1 -0
  305. package/node_modules/@dsh-std/presentation/lib/interaction.d.ts +2 -0
  306. package/node_modules/@dsh-std/presentation/lib/interaction.js +2 -0
  307. package/node_modules/@dsh-std/presentation/lib/operations.d.ts +2 -0
  308. package/node_modules/@dsh-std/presentation/lib/operations.js +2 -0
  309. package/node_modules/@dsh-std/presentation/package.json +25 -0
  310. package/node_modules/@dsh-std/storage/CHANGELOG.md +8 -0
  311. package/node_modules/@dsh-std/storage/LICENSE +21 -0
  312. package/node_modules/@dsh-std/storage/README.md +5 -0
  313. package/node_modules/@dsh-std/storage/README.zh.md +7 -0
  314. package/node_modules/@dsh-std/storage/lib/index.d.ts +48 -0
  315. package/node_modules/@dsh-std/storage/lib/index.d.ts.map +1 -0
  316. package/node_modules/@dsh-std/storage/lib/index.js +104 -0
  317. package/node_modules/@dsh-std/storage/lib/index.js.map +1 -0
  318. package/node_modules/@dsh-std/storage/package.json +20 -0
  319. package/node_modules/@dsh-std/storage/schema/local-storage-0.15.schema.json +56 -0
  320. package/package.json +110 -70
  321. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/CHANGELOG.md +8 -0
  322. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/LICENSE +21 -0
  323. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/README.md +42 -0
  324. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/README.zh.md +42 -0
  325. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/connection-CdGcSQnu.d.ts +125 -0
  326. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/connection-CdGcSQnu.d.ts.map +1 -0
  327. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/index.d.ts +89 -0
  328. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/index.d.ts.map +1 -0
  329. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/index.js +158 -0
  330. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/index.js.map +1 -0
  331. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/memory.d.ts +24 -0
  332. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/memory.d.ts.map +1 -0
  333. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/memory.js +258 -0
  334. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/memory.js.map +1 -0
  335. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js +226 -0
  336. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js.map +1 -0
  337. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/package.json +20 -0
  338. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/CHANGELOG.md +8 -0
  339. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/LICENSE +21 -0
  340. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/README.md +13 -0
  341. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/README.zh.md +13 -0
  342. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
  343. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
  344. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/lib/index.js +424 -0
  345. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/lib/index.js.map +1 -0
  346. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/package.json +21 -0
  347. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/CHANGELOG.md +9 -0
  348. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/LICENSE +21 -0
  349. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/README.md +5 -0
  350. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/README.zh.md +5 -0
  351. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/lib/index.d.ts +182 -0
  352. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/lib/index.d.ts.map +1 -0
  353. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/lib/index.js +625 -0
  354. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/lib/index.js.map +1 -0
  355. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/package.json +20 -0
  356. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/schema/dsh-plugin-0.15.schema.json +144 -0
  357. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/CHANGELOG.md +9 -0
  358. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/LICENSE +21 -0
  359. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/README.md +27 -0
  360. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/README.zh.md +29 -0
  361. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/callback.d.ts +2 -0
  362. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/callback.js +179 -0
  363. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/callback.js.map +1 -0
  364. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/index.d.ts +262 -0
  365. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/index.d.ts.map +1 -0
  366. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/index.js +550 -0
  367. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/index.js.map +1 -0
  368. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/interaction.d.ts +2 -0
  369. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/interaction.js +2 -0
  370. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/operations.d.ts +2 -0
  371. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/operations.js +2 -0
  372. package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/package.json +25 -0
  373. package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/CHANGELOG.md +8 -0
  374. package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/LICENSE +21 -0
  375. package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/README.md +13 -0
  376. package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/README.zh.md +13 -0
  377. package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
  378. package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
  379. package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/lib/index.js +424 -0
  380. package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/lib/index.js.map +1 -0
  381. package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/package.json +21 -0
  382. package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/CHANGELOG.md +8 -0
  383. package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/LICENSE +21 -0
  384. package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/README.md +13 -0
  385. package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/README.zh.md +13 -0
  386. package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
  387. package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
  388. package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/lib/index.js +424 -0
  389. package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/lib/index.js.map +1 -0
  390. package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/package.json +21 -0
  391. package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/CHANGELOG.md +8 -0
  392. package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/LICENSE +21 -0
  393. package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/README.md +13 -0
  394. package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/README.zh.md +13 -0
  395. package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
  396. package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
  397. package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/lib/index.js +424 -0
  398. package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/lib/index.js.map +1 -0
  399. package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/package.json +21 -0
  400. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/CHANGELOG.md +8 -0
  401. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/LICENSE +21 -0
  402. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/README.md +42 -0
  403. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/README.zh.md +42 -0
  404. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/connection-CdGcSQnu.d.ts +125 -0
  405. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/connection-CdGcSQnu.d.ts.map +1 -0
  406. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/index.d.ts +89 -0
  407. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/index.d.ts.map +1 -0
  408. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/index.js +158 -0
  409. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/index.js.map +1 -0
  410. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/memory.d.ts +24 -0
  411. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/memory.d.ts.map +1 -0
  412. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/memory.js +258 -0
  413. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/memory.js.map +1 -0
  414. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js +226 -0
  415. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js.map +1 -0
  416. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/package.json +20 -0
  417. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/CHANGELOG.md +8 -0
  418. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/LICENSE +21 -0
  419. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/README.md +13 -0
  420. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/README.zh.md +13 -0
  421. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
  422. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
  423. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/lib/index.js +424 -0
  424. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/lib/index.js.map +1 -0
  425. package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/package.json +21 -0
  426. package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/CHANGELOG.md +8 -0
  427. package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/LICENSE +21 -0
  428. package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/README.md +13 -0
  429. package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/README.zh.md +13 -0
  430. package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
  431. package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
  432. package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/lib/index.js +424 -0
  433. package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/lib/index.js.map +1 -0
  434. package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/package.json +21 -0
@@ -0,0 +1,125 @@
1
+ import { ApiReference, NegotiatedProtocol, ProtocolCatalog, ProtocolDeclaration, ProtocolRequirement, ProtocolSupport } from "@dsh-std/core";
2
+ //#region src/model.d.ts
3
+ declare const CONNECTION_API_VERSION = "connection.dsh/v1alpha1";
4
+ interface EndpointIdentity {
5
+ readonly id: string;
6
+ readonly instanceId: string;
7
+ }
8
+ interface EndpointOffer {
9
+ readonly apiVersion: typeof CONNECTION_API_VERSION;
10
+ readonly kind: 'ConnectionOffer';
11
+ readonly endpoint: EndpointIdentity;
12
+ readonly revision: number;
13
+ readonly declarations: readonly ProtocolDeclaration[];
14
+ }
15
+ interface ConnectionEndpointReference extends EndpointIdentity {}
16
+ interface CapabilityParticipant {
17
+ readonly endpoint: ConnectionEndpointReference;
18
+ readonly participantId: string;
19
+ }
20
+ interface CapabilityBinding {
21
+ readonly bindingId: string;
22
+ readonly agreementId: string;
23
+ readonly planRevision: number;
24
+ readonly consumer: CapabilityParticipant;
25
+ readonly provider: CapabilityParticipant;
26
+ readonly requirement: ProtocolRequirement;
27
+ readonly support: ProtocolSupport;
28
+ }
29
+ interface ConnectionIssue {
30
+ readonly severity: 'error' | 'warning';
31
+ readonly code: string;
32
+ readonly participant?: CapabilityParticipant;
33
+ readonly path?: string;
34
+ readonly message: string;
35
+ }
36
+ interface ConnectionPlan {
37
+ readonly apiVersion: typeof CONNECTION_API_VERSION;
38
+ readonly kind: 'ConnectionAgreement';
39
+ readonly connectionId: string;
40
+ readonly revision: number;
41
+ readonly digest: string;
42
+ readonly offers: readonly {
43
+ readonly endpoint: ConnectionEndpointReference;
44
+ readonly revision: number;
45
+ }[];
46
+ readonly compatible: boolean;
47
+ readonly protocols: readonly NegotiatedProtocol[];
48
+ readonly bindings: readonly CapabilityBinding[];
49
+ readonly issues: readonly ConnectionIssue[];
50
+ }
51
+ interface ResolveConnectionOptions {
52
+ readonly connectionId: string;
53
+ readonly revision: number;
54
+ readonly protocols: ProtocolCatalog;
55
+ readonly policy?: unknown;
56
+ }
57
+ /** Policy envelope supplied to definitions while evaluating a pair of endpoint offers. */
58
+ interface ConnectionNegotiationPolicy {
59
+ readonly endpointByParticipant: Readonly<Record<string, string>>;
60
+ readonly protocol?: unknown;
61
+ }
62
+ declare function createEndpointOffer(endpoint: EndpointIdentity, revision: number, declarations: readonly ProtocolDeclaration[]): EndpointOffer;
63
+ declare function validateEndpointOffer(offer: EndpointOffer): void;
64
+ declare function freezeEndpoint(endpoint: EndpointIdentity): ConnectionEndpointReference;
65
+ declare function validatePlanCoordinates(connectionId: string, revision: number): void;
66
+ //#endregion
67
+ //#region src/connection.d.ts
68
+ interface CapabilityHandlerContext<TProgress = unknown> {
69
+ readonly connectionId: string;
70
+ readonly planRevision: number;
71
+ readonly invocationId: string;
72
+ readonly binding: CapabilityBinding;
73
+ readonly signal: AbortSignal;
74
+ progress(value: TProgress): void;
75
+ }
76
+ type CapabilityHandler<TInput = unknown, TOutput = unknown, TProgress = unknown> = (operation: string, input: TInput, context: CapabilityHandlerContext<TProgress>) => TOutput | Promise<TOutput>;
77
+ interface CapabilityImplementation<TInput = unknown, TOutput = unknown, TProgress = unknown> {
78
+ readonly participantId: string;
79
+ readonly protocol: ProtocolSupport;
80
+ readonly handle: CapabilityHandler<TInput, TOutput, TProgress>;
81
+ }
82
+ interface CapabilityDispatch<TInput = unknown, TProgress = unknown> {
83
+ readonly connectionId: string;
84
+ readonly planRevision: number;
85
+ readonly invocationId: string;
86
+ readonly binding: CapabilityBinding;
87
+ readonly operation: string;
88
+ readonly input: TInput;
89
+ readonly signal: AbortSignal;
90
+ progress(value: TProgress): void;
91
+ }
92
+ interface ConnectionEndpoint {
93
+ readonly offer: EndpointOffer;
94
+ dispatch<TInput = unknown, TOutput = unknown, TProgress = unknown>(invocation: CapabilityDispatch<TInput, TProgress>): Promise<TOutput>;
95
+ onOfferChange(listener: (offer: EndpointOffer) => void): () => void;
96
+ }
97
+ interface CapabilityCall<TOutput = unknown, TProgress = unknown> {
98
+ readonly invocationId: string;
99
+ readonly result: Promise<TOutput>;
100
+ readonly progress: AsyncIterable<TProgress>;
101
+ cancel(reason?: string): void;
102
+ }
103
+ interface CapabilityClient {
104
+ readonly participantId: string;
105
+ binding(reference: ApiReference): CapabilityBinding | undefined;
106
+ invoke<TInput = unknown, TOutput = unknown, TProgress = unknown>(reference: ApiReference, operation: string, input: TInput, options?: {
107
+ readonly signal?: AbortSignal;
108
+ }): CapabilityCall<TOutput, TProgress>;
109
+ }
110
+ interface StandardConnection {
111
+ readonly id: string;
112
+ readonly local: ConnectionEndpointReference;
113
+ readonly remote: ConnectionEndpointReference;
114
+ readonly plan: ConnectionPlan;
115
+ client(participantId: string): CapabilityClient;
116
+ onPlanChange(listener: (plan: ConnectionPlan) => void): () => void;
117
+ close(reason?: string): void | Promise<void>;
118
+ }
119
+ declare class ConnectionInvocationError extends Error {
120
+ readonly code: 'connection-closed' | 'capability-unbound' | 'handler-missing' | 'cancelled' | 'handler-failed';
121
+ constructor(code: 'connection-closed' | 'capability-unbound' | 'handler-missing' | 'cancelled' | 'handler-failed', message: string, options?: ErrorOptions);
122
+ }
123
+ //#endregion
124
+ export { validatePlanCoordinates as C, validateEndpointOffer as S, EndpointIdentity as _, CapabilityHandlerContext as a, createEndpointOffer as b, ConnectionInvocationError as c, CapabilityBinding as d, CapabilityParticipant as f, ConnectionPlan as g, ConnectionNegotiationPolicy as h, CapabilityHandler as i, StandardConnection as l, ConnectionIssue as m, CapabilityClient as n, CapabilityImplementation as o, ConnectionEndpointReference as p, CapabilityDispatch as r, ConnectionEndpoint as s, CapabilityCall as t, CONNECTION_API_VERSION as u, EndpointOffer as v, freezeEndpoint as x, ResolveConnectionOptions as y };
125
+ //# sourceMappingURL=connection-CdGcSQnu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-CdGcSQnu.d.ts","names":[],"sources":["../src/model.ts","../src/connection.ts"],"mappings":";;cASa;UAEI;WACN;WACA;;UAGM;WACN,mBAAmB;WACnB;WACA,UAAU;WACV;WACA,uBAAuB;;UAGjB,oCAAoC;UAEpC;WACN,UAAU;WACV;;UAGM;WACN;WACA;WACA;WACA,UAAU;WACV,UAAU;WACV,aAAa;WACb,SAAS;;UAGH;WACN;WACA;WACA,cAAc;WACd;WACA;;UAGM;WACN,mBAAmB;WACnB;WACA;WACA;WACA;WACA;aACE,UAAU;aACV;;WAEF;WACA,oBAAoB;WACpB,mBAAmB;WACnB,iBAAiB;;UAGX;WACN;WACA;WACA,WAAW;WACX;;;UAIM;WACN,uBAAuB,SAAS;WAChC;;iBAGK,oBACd,UAAU,kBACV,kBACA,uBAAuB,wBACtB;iBAkBa,sBAAsB,OAAO;iBAa7B,eAAe,UAAU,mBAAmB;iBAI5C,wBAAwB,sBAAsB;;;UClH7C,yBAAyB;WAC/B;WACA;WACA;WACA,SAAS;WACT,QAAQ;EACjB,SAAS,OAAO;;KAGN,kBAAkB,kBAAkB,mBAAmB,wBACjE,mBAAmB,OAAO,QAAQ,SAAS,yBAAyB,eACjE,UAAU,QAAQ;UAEN,yBAAyB,kBAAkB,mBAAmB;WACpE;WACA,UAAU;WACV,QAAQ,kBAAkB,QAAQ,SAAS;;UAGrC,mBAAmB,kBAAkB;WAC3C;WACA;WACA;WACA,SAAS;WACT;WACA,OAAO;WACP,QAAQ;EACjB,SAAS,OAAO;;UAGD;WACN,OAAO;EAChB,SAAS,kBAAkB,mBAAmB,qBAAqB,YAAY,mBAAmB,QAAQ,aAAa,QAAQ;EAC/H,cAAc,WAAW,OAAO;;UAGjB,eAAe,mBAAmB;WACxC;WACA,QAAQ,QAAQ;WAChB,UAAU,cAAc;EACjC,OAAO;;UAGQ;WACN;EACT,QAAQ,WAAW,eAAe;EAClC,OAAO,kBAAkB,mBAAmB,qBAC1C,WAAW,cACX,mBACA,OAAO,QACP;aAAqB,SAAS;MAC7B,eAAe,SAAS;;UAGZ;WACN;WACA,OAAO;WACP,QAAQ;WACR,MAAM;EACf,OAAO,wBAAwB;EAC/B,aAAa,WAAW,MAAM;EAC9B,MAAM,yBAAyB;;cAGpB,kCAAkC;WAElC;EAAA,YAAA,uGACT,iBACA,UAAU"}
@@ -0,0 +1,89 @@
1
+ import { C as validatePlanCoordinates, S as validateEndpointOffer, _ as EndpointIdentity, a as CapabilityHandlerContext, b as createEndpointOffer, c as ConnectionInvocationError, d as CapabilityBinding, f as CapabilityParticipant, g as ConnectionPlan, h as ConnectionNegotiationPolicy, i as CapabilityHandler, l as StandardConnection, m as ConnectionIssue, n as CapabilityClient, o as CapabilityImplementation, p as ConnectionEndpointReference, r as CapabilityDispatch, s as ConnectionEndpoint, t as CapabilityCall, u as CONNECTION_API_VERSION, v as EndpointOffer, x as freezeEndpoint, y as ResolveConnectionOptions } from "./connection-CdGcSQnu.js";
2
+ import { ProtocolDeclaration, ProtocolDefinition, ProtocolRequirement, ProtocolSupport } from "@dsh-std/core";
3
+ //#region src/broker.d.ts
4
+ interface ConnectionTarget {
5
+ /** Implementation-neutral target. Its URI scheme is interpreted by registered connectors. */
6
+ readonly uri: string;
7
+ readonly metadata?: Readonly<Record<string, string>>;
8
+ }
9
+ interface ConnectRequest {
10
+ readonly target: ConnectionTarget;
11
+ /** Live endpoint, including the dispatcher used for peer-to-local calls. */
12
+ readonly local: ConnectionEndpoint;
13
+ readonly signal?: AbortSignal;
14
+ }
15
+ /** Client half of one concrete connection implementation. */
16
+ interface ConnectionConnector {
17
+ /** Namespaced implementation identity, not a transport or product name exposed to domain consumers. */
18
+ readonly id: string;
19
+ supports(target: ConnectionTarget): boolean;
20
+ connect(request: ConnectRequest): Promise<StandardConnection>;
21
+ }
22
+ declare class ConnectionSelectionError extends Error {
23
+ readonly code: 'implementation-unavailable' | 'implementation-ambiguous';
24
+ readonly implementations: readonly string[];
25
+ constructor(code: 'implementation-unavailable' | 'implementation-ambiguous', message: string, implementations: readonly string[]);
26
+ }
27
+ /**
28
+ * Implementation registry used by an adapter or application composition root.
29
+ * Domain consumers request a connection; they never import the selected implementation.
30
+ */
31
+ declare class ConnectionBroker {
32
+ private readonly connectors;
33
+ register(connector: ConnectionConnector): () => void;
34
+ implementations(target?: ConnectionTarget): readonly string[];
35
+ connect(request: ConnectRequest): Promise<StandardConnection>;
36
+ }
37
+ //#endregion
38
+ //#region src/endpoint.d.ts
39
+ interface EndpointPublication {
40
+ readonly declaration: ProtocolDeclaration;
41
+ readonly implementations?: readonly CapabilityImplementation[];
42
+ }
43
+ interface EndpointRuntimeOptions extends EndpointIdentity {
44
+ readonly revision?: number;
45
+ }
46
+ declare class StandardEndpointRuntime implements ConnectionEndpoint {
47
+ private readonly declarations;
48
+ private readonly implementations;
49
+ private readonly listeners;
50
+ private readonly identity;
51
+ private revision;
52
+ private currentOffer;
53
+ constructor(options: EndpointRuntimeOptions);
54
+ get offer(): EndpointOffer;
55
+ register(publication: EndpointPublication): () => void;
56
+ dispatch<TInput = unknown, TOutput = unknown, TProgress = unknown>(invocation: CapabilityDispatch<TInput, TProgress>): Promise<TOutput>;
57
+ onOfferChange(listener: (offer: EndpointOffer) => void): () => void;
58
+ private createOffer;
59
+ private publishOffer;
60
+ }
61
+ //#endregion
62
+ //#region src/resolve.d.ts
63
+ declare function resolveConnection(left: EndpointOffer, right: EndpointOffer, options: ResolveConnectionOptions): ConnectionPlan;
64
+ //#endregion
65
+ //#region src/rpc.d.ts
66
+ interface CapabilityBindingDraft {
67
+ readonly consumer: string;
68
+ readonly provider: string;
69
+ readonly requirement: ProtocolRequirement;
70
+ readonly support: ProtocolSupport;
71
+ }
72
+ interface CapabilityAgreement {
73
+ readonly kind: 'CapabilityBindings';
74
+ readonly bindings: readonly CapabilityBindingDraft[];
75
+ }
76
+ interface CapabilityProtocolOptions {
77
+ readonly apiVersion: string;
78
+ readonly kind: string;
79
+ readonly accepts?: readonly string[];
80
+ readonly multipleProviders?: boolean;
81
+ validateRequirement?(spec: unknown): unknown;
82
+ validateSupport?(spec: unknown): unknown;
83
+ }
84
+ /** Reusable RPC-shaped protocol definition. Domain packages opt into these semantics explicitly. */
85
+ declare function defineCapabilityProtocol(options: CapabilityProtocolOptions): ProtocolDefinition;
86
+ declare function isCapabilityAgreement(value: unknown): value is CapabilityAgreement;
87
+ //#endregion
88
+ export { CONNECTION_API_VERSION, CapabilityAgreement, CapabilityBinding, CapabilityBindingDraft, CapabilityCall, CapabilityClient, CapabilityDispatch, CapabilityHandler, CapabilityHandlerContext, CapabilityImplementation, CapabilityParticipant, CapabilityProtocolOptions, ConnectRequest, ConnectionBroker, ConnectionConnector, ConnectionEndpoint, ConnectionEndpointReference, ConnectionInvocationError, ConnectionIssue, ConnectionNegotiationPolicy, ConnectionPlan, ConnectionSelectionError, ConnectionTarget, EndpointIdentity, EndpointOffer, EndpointPublication, EndpointRuntimeOptions, ResolveConnectionOptions, StandardConnection, StandardEndpointRuntime, createEndpointOffer, defineCapabilityProtocol, freezeEndpoint, isCapabilityAgreement, resolveConnection, validateEndpointOffer, validatePlanCoordinates };
89
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/broker.ts","../src/endpoint.ts","../src/resolve.ts","../src/rpc.ts"],"mappings":";;;UAGiB;;WAEN;WACA,WAAW,SAAS;;UAGd;WACN,QAAQ;;WAER,OAAO;WACP,SAAS;;;UAIH;;WAEN;EACT,SAAS,QAAQ;EACjB,QAAQ,SAAS,iBAAiB,QAAQ;;cAG/B,iCAAiC;WAEjC;WAEA;EAFA,YAAA,iEACT,iBACS;;;;;;cAWA;mBACM;EAEjB,SAAS,WAAW;EAOpB,gBAAgB,SAAS;EAQnB,QAAQ,SAAS,iBAAiB,QAAQ;;;;UC3CjC;WACN,aAAa;WACb,2BAA2B;;UAGrB,+BAA+B;WACrC;;cAGE,mCAAmC;mBAC7B;mBACA;mBACA;mBACA;UACT;UACA;EAEI,YAAA,SAAS;MAMjB,SAAS;EAEb,SAAS,aAAa;EAmChB,SAAS,kBAAkB,mBAAmB,qBAAqB,YAAY,mBAAmB,QAAQ,aAAa,QAAQ;EAqBrI,cAAc,WAAW,OAAO;UAKxB;UAIA;;;;iBCxFM,kBAAkB,MAAM,eAAe,OAAO,eAAe,SAAS,2BAA2B;;;UCRhG;WACN;WACA;WACA,aAAa;WACb,SAAS;;UAGH;WACN;WACA,mBAAmB;;UAGb;WACN;WACA;WACA;WACA;EACT,qBAAqB;EACrB,iBAAiB;;;iBAIH,yBAAyB,SAAS,4BAA4B;iBA0D9D,sBAAsB,iBAAiB,SAAS"}
@@ -0,0 +1,158 @@
1
+ import { a as CONNECTION_API_VERSION, c as validateEndpointOffer, i as ConnectionInvocationError, l as validatePlanCoordinates, n as defineCapabilityProtocol, o as createEndpointOffer, r as isCapabilityAgreement, s as freezeEndpoint, t as resolveConnection } from "./resolve-3X6ausgz.js";
2
+ import { defineProtocolDeclaration, sameProtocol } from "@dsh-std/core";
3
+ //#region src/broker.ts
4
+ var ConnectionSelectionError = class extends Error {
5
+ code;
6
+ implementations;
7
+ constructor(code, message, implementations) {
8
+ super(message);
9
+ this.code = code;
10
+ this.implementations = implementations;
11
+ this.name = "ConnectionSelectionError";
12
+ }
13
+ };
14
+ /**
15
+ * Implementation registry used by an adapter or application composition root.
16
+ * Domain consumers request a connection; they never import the selected implementation.
17
+ */
18
+ var ConnectionBroker = class {
19
+ connectors = /* @__PURE__ */ new Map();
20
+ register(connector) {
21
+ namespaced(connector.id, "connection connector id");
22
+ if (this.connectors.has(connector.id)) throw new Error(`connection connector ${JSON.stringify(connector.id)} is already registered`);
23
+ this.connectors.set(connector.id, connector);
24
+ return () => {
25
+ if (this.connectors.get(connector.id) === connector) this.connectors.delete(connector.id);
26
+ };
27
+ }
28
+ implementations(target) {
29
+ if (target !== void 0) validateTarget(target);
30
+ return Object.freeze([...this.connectors.values()].filter((connector) => target === void 0 || safelySupports(connector, target)).map((connector) => connector.id).sort());
31
+ }
32
+ async connect(request) {
33
+ validateTarget(request.target);
34
+ validateEndpointOffer(request.local.offer);
35
+ request.signal?.throwIfAborted();
36
+ const matches = [...this.connectors.values()].filter((connector) => safelySupports(connector, request.target)).sort((left, right) => left.id.localeCompare(right.id));
37
+ if (matches.length === 0) throw new ConnectionSelectionError("implementation-unavailable", `no connection implementation supports ${JSON.stringify(request.target.uri)}`, []);
38
+ if (matches.length > 1) {
39
+ const ids = Object.freeze(matches.map((connector) => connector.id));
40
+ throw new ConnectionSelectionError("implementation-ambiguous", `multiple connection implementations support ${JSON.stringify(request.target.uri)}: ${ids.join(", ")}`, ids);
41
+ }
42
+ return matches[0].connect(request);
43
+ }
44
+ };
45
+ function safelySupports(connector, target) {
46
+ try {
47
+ return connector.supports(target);
48
+ } catch {
49
+ return false;
50
+ }
51
+ }
52
+ function validateTarget(target) {
53
+ if (typeof target.uri !== "string" || target.uri.trim() === "") throw new TypeError("connection target uri must be non-empty");
54
+ if (target.metadata !== void 0) {
55
+ for (const [key, value] of Object.entries(target.metadata)) if (key.trim() === "" || typeof value !== "string") throw new TypeError("connection target metadata must contain string pairs");
56
+ }
57
+ }
58
+ function namespaced(value, label) {
59
+ if (!/^[a-z][a-z0-9]*(?:[.-][a-z0-9][a-z0-9-]*)+$/u.test(value)) throw new TypeError(`${label} must be namespaced`);
60
+ }
61
+ //#endregion
62
+ //#region src/endpoint.ts
63
+ var StandardEndpointRuntime = class {
64
+ declarations = /* @__PURE__ */ new Map();
65
+ implementations = [];
66
+ listeners = /* @__PURE__ */ new Set();
67
+ identity;
68
+ revision;
69
+ currentOffer;
70
+ constructor(options) {
71
+ this.identity = Object.freeze({
72
+ id: options.id,
73
+ instanceId: options.instanceId
74
+ });
75
+ this.revision = options.revision ?? 0;
76
+ this.currentOffer = this.createOffer();
77
+ }
78
+ get offer() {
79
+ return this.currentOffer;
80
+ }
81
+ register(publication) {
82
+ const declaration = defineProtocolDeclaration(publication.declaration);
83
+ const participantId = declaration.participant.id;
84
+ if (this.declarations.has(participantId)) throw new Error(`participant ${JSON.stringify(participantId)} is already registered`);
85
+ const implementations = [...publication.implementations ?? []];
86
+ const implemented = /* @__PURE__ */ new Set();
87
+ for (const implementation of implementations) {
88
+ if (implementation.participantId !== participantId) throw new TypeError(`implementation participantId must be ${JSON.stringify(participantId)}`);
89
+ if (!(declaration.supports ?? []).some((support) => sameProtocol(support, implementation.protocol))) throw new TypeError(`participant implementation ${implementation.protocol.apiVersion} ${implementation.protocol.kind} is not declared live`);
90
+ const key = `${implementation.protocol.apiVersion}\0${implementation.protocol.kind}`;
91
+ if (implemented.has(key)) throw new TypeError(`participant has multiple implementations for ${implementation.protocol.apiVersion} ${implementation.protocol.kind}`);
92
+ implemented.add(key);
93
+ }
94
+ const stored = implementations.map((implementation) => Object.freeze({
95
+ ...implementation,
96
+ protocol: Object.freeze({ ...implementation.protocol }),
97
+ handle: implementation.handle
98
+ }));
99
+ this.declarations.set(participantId, declaration);
100
+ this.implementations.push(...stored);
101
+ this.publishOffer();
102
+ let active = true;
103
+ return () => {
104
+ if (!active) return;
105
+ active = false;
106
+ if (this.declarations.get(participantId) === declaration) this.declarations.delete(participantId);
107
+ for (const implementation of stored) {
108
+ const index = this.implementations.indexOf(implementation);
109
+ if (index >= 0) this.implementations.splice(index, 1);
110
+ }
111
+ this.publishOffer();
112
+ };
113
+ }
114
+ async dispatch(invocation) {
115
+ validateDispatch(invocation, this.currentOffer);
116
+ const implementation = this.implementations.find((candidate) => candidate.participantId === invocation.binding.provider.participantId && sameProtocol(candidate.protocol, invocation.binding.support));
117
+ if (implementation === void 0) throw new ConnectionInvocationError("handler-missing", `binding ${JSON.stringify(invocation.binding.bindingId)} has no live implementation`);
118
+ try {
119
+ return await implementation.handle(invocation.operation, invocation.input, Object.freeze({
120
+ connectionId: invocation.connectionId,
121
+ planRevision: invocation.planRevision,
122
+ invocationId: invocation.invocationId,
123
+ binding: invocation.binding,
124
+ signal: invocation.signal,
125
+ progress: invocation.progress
126
+ }));
127
+ } catch (error) {
128
+ if (error instanceof ConnectionInvocationError) throw error;
129
+ throw new ConnectionInvocationError("handler-failed", error instanceof Error ? error.message : String(error), { cause: error });
130
+ }
131
+ }
132
+ onOfferChange(listener) {
133
+ this.listeners.add(listener);
134
+ return () => {
135
+ this.listeners.delete(listener);
136
+ };
137
+ }
138
+ createOffer() {
139
+ return createEndpointOffer(this.identity, this.revision, [...this.declarations.values()]);
140
+ }
141
+ publishOffer() {
142
+ this.revision += 1;
143
+ this.currentOffer = this.createOffer();
144
+ for (const listener of this.listeners) listener(this.currentOffer);
145
+ }
146
+ };
147
+ function validateDispatch(invocation, offer) {
148
+ if (invocation.connectionId.trim() === "") throw new TypeError("connectionId must be non-empty");
149
+ if (!Number.isSafeInteger(invocation.planRevision) || invocation.planRevision < 1) throw new TypeError("planRevision must be positive");
150
+ if (invocation.binding.planRevision !== invocation.planRevision) throw new ConnectionInvocationError("capability-unbound", "binding belongs to another plan revision");
151
+ if (invocation.binding.provider.endpoint.instanceId !== offer.endpoint.instanceId) throw new ConnectionInvocationError("capability-unbound", "binding provider belongs to another endpoint");
152
+ if (invocation.invocationId.trim() === "" || invocation.operation.trim() === "") throw new TypeError("invocationId and operation must be non-empty");
153
+ invocation.signal.throwIfAborted();
154
+ }
155
+ //#endregion
156
+ export { CONNECTION_API_VERSION, ConnectionBroker, ConnectionInvocationError, ConnectionSelectionError, StandardEndpointRuntime, createEndpointOffer, defineCapabilityProtocol, freezeEndpoint, isCapabilityAgreement, resolveConnection, validateEndpointOffer, validatePlanCoordinates };
157
+
158
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/broker.ts","../src/endpoint.ts"],"sourcesContent":["import { validateEndpointOffer } from './model.js'\nimport type { ConnectionEndpoint, StandardConnection } from './connection.js'\n\nexport interface ConnectionTarget {\n /** Implementation-neutral target. Its URI scheme is interpreted by registered connectors. */\n readonly uri: string\n readonly metadata?: Readonly<Record<string, string>>\n}\n\nexport interface ConnectRequest {\n readonly target: ConnectionTarget\n /** Live endpoint, including the dispatcher used for peer-to-local calls. */\n readonly local: ConnectionEndpoint\n readonly signal?: AbortSignal\n}\n\n/** Client half of one concrete connection implementation. */\nexport interface ConnectionConnector {\n /** Namespaced implementation identity, not a transport or product name exposed to domain consumers. */\n readonly id: string\n supports(target: ConnectionTarget): boolean\n connect(request: ConnectRequest): Promise<StandardConnection>\n}\n\nexport class ConnectionSelectionError extends Error {\n constructor(\n readonly code: 'implementation-unavailable' | 'implementation-ambiguous',\n message: string,\n readonly implementations: readonly string[],\n ) {\n super(message)\n this.name = 'ConnectionSelectionError'\n }\n}\n\n/**\n * Implementation registry used by an adapter or application composition root.\n * Domain consumers request a connection; they never import the selected implementation.\n */\nexport class ConnectionBroker {\n private readonly connectors = new Map<string, ConnectionConnector>()\n\n register(connector: ConnectionConnector): () => void {\n namespaced(connector.id, 'connection connector id')\n if (this.connectors.has(connector.id)) throw new Error(`connection connector ${JSON.stringify(connector.id)} is already registered`)\n this.connectors.set(connector.id, connector)\n return () => { if (this.connectors.get(connector.id) === connector) this.connectors.delete(connector.id) }\n }\n\n implementations(target?: ConnectionTarget): readonly string[] {\n if (target !== undefined) validateTarget(target)\n return Object.freeze([...this.connectors.values()]\n .filter(connector => target === undefined || safelySupports(connector, target))\n .map(connector => connector.id)\n .sort())\n }\n\n async connect(request: ConnectRequest): Promise<StandardConnection> {\n validateTarget(request.target)\n validateEndpointOffer(request.local.offer)\n request.signal?.throwIfAborted()\n const matches = [...this.connectors.values()]\n .filter(connector => safelySupports(connector, request.target))\n .sort((left, right) => left.id.localeCompare(right.id))\n if (matches.length === 0) {\n throw new ConnectionSelectionError(\n 'implementation-unavailable',\n `no connection implementation supports ${JSON.stringify(request.target.uri)}`,\n [],\n )\n }\n if (matches.length > 1) {\n const ids = Object.freeze(matches.map(connector => connector.id))\n throw new ConnectionSelectionError(\n 'implementation-ambiguous',\n `multiple connection implementations support ${JSON.stringify(request.target.uri)}: ${ids.join(', ')}`,\n ids,\n )\n }\n return matches[0]!.connect(request)\n }\n}\n\nfunction safelySupports(connector: ConnectionConnector, target: ConnectionTarget): boolean {\n try { return connector.supports(target) } catch { return false }\n}\n\nfunction validateTarget(target: ConnectionTarget): void {\n if (typeof target.uri !== 'string' || target.uri.trim() === '') throw new TypeError('connection target uri must be non-empty')\n if (target.metadata !== undefined) {\n for (const [key, value] of Object.entries(target.metadata)) {\n if (key.trim() === '' || typeof value !== 'string') throw new TypeError('connection target metadata must contain string pairs')\n }\n }\n}\n\nfunction namespaced(value: string, label: string): void {\n if (!/^[a-z][a-z0-9]*(?:[.-][a-z0-9][a-z0-9-]*)+$/u.test(value)) throw new TypeError(`${label} must be namespaced`)\n}\n","import {\n defineProtocolDeclaration,\n sameProtocol,\n type ProtocolDeclaration,\n type ProtocolSupport,\n} from '@dsh-std/core'\nimport {\n ConnectionInvocationError,\n type CapabilityDispatch,\n type CapabilityImplementation,\n type ConnectionEndpoint,\n} from './connection.js'\nimport { createEndpointOffer, type EndpointIdentity, type EndpointOffer } from './model.js'\n\nexport interface EndpointPublication {\n readonly declaration: ProtocolDeclaration\n readonly implementations?: readonly CapabilityImplementation[]\n}\n\nexport interface EndpointRuntimeOptions extends EndpointIdentity {\n readonly revision?: number\n}\n\nexport class StandardEndpointRuntime implements ConnectionEndpoint {\n private readonly declarations = new Map<string, ProtocolDeclaration>()\n private readonly implementations: CapabilityImplementation[] = []\n private readonly listeners = new Set<(offer: EndpointOffer) => void>()\n private readonly identity: EndpointIdentity\n private revision: number\n private currentOffer: EndpointOffer\n\n constructor(options: EndpointRuntimeOptions) {\n this.identity = Object.freeze({ id: options.id, instanceId: options.instanceId })\n this.revision = options.revision ?? 0\n this.currentOffer = this.createOffer()\n }\n\n get offer(): EndpointOffer { return this.currentOffer }\n\n register(publication: EndpointPublication): () => void {\n const declaration = defineProtocolDeclaration(publication.declaration)\n const participantId = declaration.participant.id\n if (this.declarations.has(participantId)) throw new Error(`participant ${JSON.stringify(participantId)} is already registered`)\n const implementations = [...(publication.implementations ?? [])]\n const implemented = new Set<string>()\n for (const implementation of implementations) {\n if (implementation.participantId !== participantId) throw new TypeError(`implementation participantId must be ${JSON.stringify(participantId)}`)\n if (!(declaration.supports ?? []).some(support => sameProtocol(support, implementation.protocol))) {\n throw new TypeError(`participant implementation ${implementation.protocol.apiVersion} ${implementation.protocol.kind} is not declared live`)\n }\n const key = `${implementation.protocol.apiVersion}\\0${implementation.protocol.kind}`\n if (implemented.has(key)) throw new TypeError(`participant has multiple implementations for ${implementation.protocol.apiVersion} ${implementation.protocol.kind}`)\n implemented.add(key)\n }\n const stored = implementations.map(implementation => Object.freeze({\n ...implementation, protocol: Object.freeze({ ...implementation.protocol }),\n handle: implementation.handle as CapabilityImplementation['handle'],\n }))\n this.declarations.set(participantId, declaration)\n this.implementations.push(...stored)\n this.publishOffer()\n let active = true\n return () => {\n if (!active) return\n active = false\n if (this.declarations.get(participantId) === declaration) this.declarations.delete(participantId)\n for (const implementation of stored) {\n const index = this.implementations.indexOf(implementation)\n if (index >= 0) this.implementations.splice(index, 1)\n }\n this.publishOffer()\n }\n }\n\n async dispatch<TInput = unknown, TOutput = unknown, TProgress = unknown>(invocation: CapabilityDispatch<TInput, TProgress>): Promise<TOutput> {\n validateDispatch(invocation, this.currentOffer)\n const implementation = this.implementations.find(candidate =>\n candidate.participantId === invocation.binding.provider.participantId\n && sameProtocol(candidate.protocol, invocation.binding.support))\n if (implementation === undefined) throw new ConnectionInvocationError('handler-missing', `binding ${JSON.stringify(invocation.binding.bindingId)} has no live implementation`)\n try {\n return await implementation.handle(invocation.operation, invocation.input, Object.freeze({\n connectionId: invocation.connectionId,\n planRevision: invocation.planRevision,\n invocationId: invocation.invocationId,\n binding: invocation.binding,\n signal: invocation.signal,\n progress: invocation.progress,\n })) as TOutput\n } catch (error) {\n if (error instanceof ConnectionInvocationError) throw error\n throw new ConnectionInvocationError('handler-failed', error instanceof Error ? error.message : String(error), { cause: error })\n }\n }\n\n onOfferChange(listener: (offer: EndpointOffer) => void): () => void {\n this.listeners.add(listener)\n return () => { this.listeners.delete(listener) }\n }\n\n private createOffer(): EndpointOffer {\n return createEndpointOffer(this.identity, this.revision, [...this.declarations.values()])\n }\n\n private publishOffer(): void {\n this.revision += 1\n this.currentOffer = this.createOffer()\n for (const listener of this.listeners) listener(this.currentOffer)\n }\n}\n\nfunction validateDispatch(invocation: CapabilityDispatch, offer: EndpointOffer): void {\n if (invocation.connectionId.trim() === '') throw new TypeError('connectionId must be non-empty')\n if (!Number.isSafeInteger(invocation.planRevision) || invocation.planRevision < 1) throw new TypeError('planRevision must be positive')\n if (invocation.binding.planRevision !== invocation.planRevision) throw new ConnectionInvocationError('capability-unbound', 'binding belongs to another plan revision')\n if (invocation.binding.provider.endpoint.instanceId !== offer.endpoint.instanceId) throw new ConnectionInvocationError('capability-unbound', 'binding provider belongs to another endpoint')\n if (invocation.invocationId.trim() === '' || invocation.operation.trim() === '') throw new TypeError('invocationId and operation must be non-empty')\n invocation.signal.throwIfAborted()\n}\n"],"mappings":";;;AAwBA,IAAa,2BAAb,cAA8C,MAAM;CAEvC;CAEA;CAHX,YACE,MACA,SACA,iBACA;EACA,MAAM,OAAO;EAJJ,KAAA,OAAA;EAEA,KAAA,kBAAA;EAGT,KAAK,OAAO;CACd;AACF;;;;;AAMA,IAAa,mBAAb,MAA8B;CAC5B,6BAA8B,IAAI,IAAiC;CAEnE,SAAS,WAA4C;EACnD,WAAW,UAAU,IAAI,yBAAyB;EAClD,IAAI,KAAK,WAAW,IAAI,UAAU,EAAE,GAAG,MAAM,IAAI,MAAM,wBAAwB,KAAK,UAAU,UAAU,EAAE,EAAE,uBAAuB;EACnI,KAAK,WAAW,IAAI,UAAU,IAAI,SAAS;EAC3C,aAAa;GAAE,IAAI,KAAK,WAAW,IAAI,UAAU,EAAE,MAAM,WAAW,KAAK,WAAW,OAAO,UAAU,EAAE;EAAE;CAC3G;CAEA,gBAAgB,QAA8C;EAC5D,IAAI,WAAW,KAAA,GAAW,eAAe,MAAM;EAC/C,OAAO,OAAO,OAAO,CAAC,GAAG,KAAK,WAAW,OAAO,CAAC,CAAC,CAC/C,QAAO,cAAa,WAAW,KAAA,KAAa,eAAe,WAAW,MAAM,CAAC,CAAC,CAC9E,KAAI,cAAa,UAAU,EAAE,CAAC,CAC9B,KAAK,CAAC;CACX;CAEA,MAAM,QAAQ,SAAsD;EAClE,eAAe,QAAQ,MAAM;EAC7B,sBAAsB,QAAQ,MAAM,KAAK;EACzC,QAAQ,QAAQ,eAAe;EAC/B,MAAM,UAAU,CAAC,GAAG,KAAK,WAAW,OAAO,CAAC,CAAC,CAC1C,QAAO,cAAa,eAAe,WAAW,QAAQ,MAAM,CAAC,CAAC,CAC9D,MAAM,MAAM,UAAU,KAAK,GAAG,cAAc,MAAM,EAAE,CAAC;EACxD,IAAI,QAAQ,WAAW,GACrB,MAAM,IAAI,yBACR,8BACA,yCAAyC,KAAK,UAAU,QAAQ,OAAO,GAAG,KAC1E,CAAC,CACH;EAEF,IAAI,QAAQ,SAAS,GAAG;GACtB,MAAM,MAAM,OAAO,OAAO,QAAQ,KAAI,cAAa,UAAU,EAAE,CAAC;GAChE,MAAM,IAAI,yBACR,4BACA,+CAA+C,KAAK,UAAU,QAAQ,OAAO,GAAG,EAAE,IAAI,IAAI,KAAK,IAAI,KACnG,GACF;EACF;EACA,OAAO,QAAQ,EAAE,CAAE,QAAQ,OAAO;CACpC;AACF;AAEA,SAAS,eAAe,WAAgC,QAAmC;CACzF,IAAI;EAAE,OAAO,UAAU,SAAS,MAAM;CAAE,QAAQ;EAAE,OAAO;CAAM;AACjE;AAEA,SAAS,eAAe,QAAgC;CACtD,IAAI,OAAO,OAAO,QAAQ,YAAY,OAAO,IAAI,KAAK,MAAM,IAAI,MAAM,IAAI,UAAU,yCAAyC;CAC7H,IAAI,OAAO,aAAa,KAAA,GACjB;OAAA,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,OAAO,QAAQ,GACvD,IAAI,IAAI,KAAK,MAAM,MAAM,OAAO,UAAU,UAAU,MAAM,IAAI,UAAU,sDAAsD;CAAA;AAGpI;AAEA,SAAS,WAAW,OAAe,OAAqB;CACtD,IAAI,CAAC,+CAA+C,KAAK,KAAK,GAAG,MAAM,IAAI,UAAU,GAAG,MAAM,oBAAoB;AACpH;;;AC3EA,IAAa,0BAAb,MAAmE;CACjE,+BAAgC,IAAI,IAAiC;CACrE,kBAA+D,CAAC;CAChE,4BAA6B,IAAI,IAAoC;CACrE;CACA;CACA;CAEA,YAAY,SAAiC;EAC3C,KAAK,WAAW,OAAO,OAAO;GAAE,IAAI,QAAQ;GAAI,YAAY,QAAQ;EAAW,CAAC;EAChF,KAAK,WAAW,QAAQ,YAAY;EACpC,KAAK,eAAe,KAAK,YAAY;CACvC;CAEA,IAAI,QAAuB;EAAE,OAAO,KAAK;CAAa;CAEtD,SAAS,aAA8C;EACrD,MAAM,cAAc,0BAA0B,YAAY,WAAW;EACrE,MAAM,gBAAgB,YAAY,YAAY;EAC9C,IAAI,KAAK,aAAa,IAAI,aAAa,GAAG,MAAM,IAAI,MAAM,eAAe,KAAK,UAAU,aAAa,EAAE,uBAAuB;EAC9H,MAAM,kBAAkB,CAAC,GAAI,YAAY,mBAAmB,CAAC,CAAE;EAC/D,MAAM,8BAAc,IAAI,IAAY;EACpC,KAAK,MAAM,kBAAkB,iBAAiB;GAC5C,IAAI,eAAe,kBAAkB,eAAe,MAAM,IAAI,UAAU,wCAAwC,KAAK,UAAU,aAAa,GAAG;GAC/I,IAAI,EAAE,YAAY,YAAY,CAAC,EAAA,CAAG,MAAK,YAAW,aAAa,SAAS,eAAe,QAAQ,CAAC,GAC9F,MAAM,IAAI,UAAU,8BAA8B,eAAe,SAAS,WAAW,GAAG,eAAe,SAAS,KAAK,sBAAsB;GAE7I,MAAM,MAAM,GAAG,eAAe,SAAS,WAAW,IAAI,eAAe,SAAS;GAC9E,IAAI,YAAY,IAAI,GAAG,GAAG,MAAM,IAAI,UAAU,gDAAgD,eAAe,SAAS,WAAW,GAAG,eAAe,SAAS,MAAM;GAClK,YAAY,IAAI,GAAG;EACrB;EACA,MAAM,SAAS,gBAAgB,KAAI,mBAAkB,OAAO,OAAO;GACjE,GAAG;GAAgB,UAAU,OAAO,OAAO,EAAE,GAAG,eAAe,SAAS,CAAC;GACzE,QAAQ,eAAe;EACzB,CAAC,CAAC;EACF,KAAK,aAAa,IAAI,eAAe,WAAW;EAChD,KAAK,gBAAgB,KAAK,GAAG,MAAM;EACnC,KAAK,aAAa;EAClB,IAAI,SAAS;EACb,aAAa;GACX,IAAI,CAAC,QAAQ;GACb,SAAS;GACT,IAAI,KAAK,aAAa,IAAI,aAAa,MAAM,aAAa,KAAK,aAAa,OAAO,aAAa;GAChG,KAAK,MAAM,kBAAkB,QAAQ;IACnC,MAAM,QAAQ,KAAK,gBAAgB,QAAQ,cAAc;IACzD,IAAI,SAAS,GAAG,KAAK,gBAAgB,OAAO,OAAO,CAAC;GACtD;GACA,KAAK,aAAa;EACpB;CACF;CAEA,MAAM,SAAmE,YAAqE;EAC5I,iBAAiB,YAAY,KAAK,YAAY;EAC9C,MAAM,iBAAiB,KAAK,gBAAgB,MAAK,cAC/C,UAAU,kBAAkB,WAAW,QAAQ,SAAS,iBACrD,aAAa,UAAU,UAAU,WAAW,QAAQ,OAAO,CAAC;EACjE,IAAI,mBAAmB,KAAA,GAAW,MAAM,IAAI,0BAA0B,mBAAmB,WAAW,KAAK,UAAU,WAAW,QAAQ,SAAS,EAAE,4BAA4B;EAC7K,IAAI;GACF,OAAO,MAAM,eAAe,OAAO,WAAW,WAAW,WAAW,OAAO,OAAO,OAAO;IACvF,cAAc,WAAW;IACzB,cAAc,WAAW;IACzB,cAAc,WAAW;IACzB,SAAS,WAAW;IACpB,QAAQ,WAAW;IACnB,UAAU,WAAW;GACvB,CAAC,CAAC;EACJ,SAAS,OAAO;GACd,IAAI,iBAAiB,2BAA2B,MAAM;GACtD,MAAM,IAAI,0BAA0B,kBAAkB,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK,GAAG,EAAE,OAAO,MAAM,CAAC;EAChI;CACF;CAEA,cAAc,UAAsD;EAClE,KAAK,UAAU,IAAI,QAAQ;EAC3B,aAAa;GAAE,KAAK,UAAU,OAAO,QAAQ;EAAE;CACjD;CAEA,cAAqC;EACnC,OAAO,oBAAoB,KAAK,UAAU,KAAK,UAAU,CAAC,GAAG,KAAK,aAAa,OAAO,CAAC,CAAC;CAC1F;CAEA,eAA6B;EAC3B,KAAK,YAAY;EACjB,KAAK,eAAe,KAAK,YAAY;EACrC,KAAK,MAAM,YAAY,KAAK,WAAW,SAAS,KAAK,YAAY;CACnE;AACF;AAEA,SAAS,iBAAiB,YAAgC,OAA4B;CACpF,IAAI,WAAW,aAAa,KAAK,MAAM,IAAI,MAAM,IAAI,UAAU,gCAAgC;CAC/F,IAAI,CAAC,OAAO,cAAc,WAAW,YAAY,KAAK,WAAW,eAAe,GAAG,MAAM,IAAI,UAAU,+BAA+B;CACtI,IAAI,WAAW,QAAQ,iBAAiB,WAAW,cAAc,MAAM,IAAI,0BAA0B,sBAAsB,0CAA0C;CACrK,IAAI,WAAW,QAAQ,SAAS,SAAS,eAAe,MAAM,SAAS,YAAY,MAAM,IAAI,0BAA0B,sBAAsB,8CAA8C;CAC3L,IAAI,WAAW,aAAa,KAAK,MAAM,MAAM,WAAW,UAAU,KAAK,MAAM,IAAI,MAAM,IAAI,UAAU,8CAA8C;CACnJ,WAAW,OAAO,eAAe;AACnC"}
@@ -0,0 +1,24 @@
1
+ import { g as ConnectionPlan, l as StandardConnection, o as CapabilityImplementation, r as CapabilityDispatch, s as ConnectionEndpoint, v as EndpointOffer, y as ResolveConnectionOptions } from "./connection-CdGcSQnu.js";
2
+ //#region src/memory.d.ts
3
+ declare class MemoryConnectionEndpoint implements ConnectionEndpoint {
4
+ private currentOffer;
5
+ private readonly implementations;
6
+ private readonly offerListeners;
7
+ constructor(offer: EndpointOffer);
8
+ get offer(): EndpointOffer;
9
+ replaceOffer(offer: EndpointOffer): void;
10
+ register(implementation: CapabilityImplementation): () => void;
11
+ dispatch<TInput = unknown, TOutput = unknown, TProgress = unknown>(invocation: CapabilityDispatch<TInput, TProgress>): Promise<TOutput>;
12
+ onOfferChange(listener: (offer: EndpointOffer) => void): () => void;
13
+ }
14
+ interface MemoryConnectionPair {
15
+ readonly left: StandardConnection;
16
+ readonly right: StandardConnection;
17
+ readonly plan: ConnectionPlan;
18
+ renegotiate(options: ResolveConnectionOptions): ConnectionPlan;
19
+ close(reason?: string): void;
20
+ }
21
+ declare function createMemoryConnectionPair(left: ConnectionEndpoint, right: ConnectionEndpoint, options: ResolveConnectionOptions): MemoryConnectionPair;
22
+ //#endregion
23
+ export { MemoryConnectionEndpoint, MemoryConnectionPair, createMemoryConnectionPair };
24
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","names":[],"sources":["../src/memory.ts"],"mappings":";;cAmBa,oCAAoC;UACvC;mBACS;mBACA;EAEL,YAAA,OAAO;MAKf,SAAS;EAEb,aAAa,OAAO;EAQpB,SAAS,gBAAgB;EAgBnB,SAAS,kBAAkB,mBAAmB,qBAAqB,YAAY,mBAAmB,QAAQ,aAAa,QAAQ;EAerI,cAAc,WAAW,OAAO;;UAMjB;WACN,MAAM;WACN,OAAO;WACP,MAAM;EACf,YAAY,SAAS,2BAA2B;EAChD,MAAM;;iBAGQ,2BACd,MAAM,oBAAoB,OAAO,oBAAoB,SAAS,2BAC7D"}