@krischoichoi/channel-harness 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/README.md +110 -0
  2. package/lib/access/controller.d.ts +37 -0
  3. package/lib/access/controller.d.ts.map +1 -0
  4. package/lib/access/controller.js +51 -0
  5. package/lib/access/controller.js.map +1 -0
  6. package/lib/access/decision.d.ts +18 -0
  7. package/lib/access/decision.d.ts.map +1 -0
  8. package/lib/access/decision.js +2 -0
  9. package/lib/access/decision.js.map +1 -0
  10. package/lib/access/resolver.d.ts +41 -0
  11. package/lib/access/resolver.d.ts.map +1 -0
  12. package/lib/access/resolver.js +31 -0
  13. package/lib/access/resolver.js.map +1 -0
  14. package/lib/agent-manager.d.ts +314 -0
  15. package/lib/agent-manager.d.ts.map +1 -0
  16. package/lib/agent-manager.js +603 -0
  17. package/lib/agent-manager.js.map +1 -0
  18. package/lib/agent-router.d.ts +37 -0
  19. package/lib/agent-router.d.ts.map +1 -0
  20. package/lib/agent-router.js +33 -0
  21. package/lib/agent-router.js.map +1 -0
  22. package/lib/bind-support.d.ts +23 -0
  23. package/lib/bind-support.d.ts.map +1 -0
  24. package/lib/bind-support.js +63 -0
  25. package/lib/bind-support.js.map +1 -0
  26. package/lib/binding-store.d.ts +104 -0
  27. package/lib/binding-store.d.ts.map +1 -0
  28. package/lib/binding-store.js +354 -0
  29. package/lib/binding-store.js.map +1 -0
  30. package/lib/bridge.d.ts +248 -0
  31. package/lib/bridge.d.ts.map +1 -0
  32. package/lib/bridge.js +961 -0
  33. package/lib/bridge.js.map +1 -0
  34. package/lib/channel-label.d.ts +46 -0
  35. package/lib/channel-label.d.ts.map +1 -0
  36. package/lib/channel-label.js +89 -0
  37. package/lib/channel-label.js.map +1 -0
  38. package/lib/channel-session-factory.d.ts +76 -0
  39. package/lib/channel-session-factory.d.ts.map +1 -0
  40. package/lib/channel-session-factory.js +187 -0
  41. package/lib/channel-session-factory.js.map +1 -0
  42. package/lib/commands/bind.d.ts +21 -0
  43. package/lib/commands/bind.d.ts.map +1 -0
  44. package/lib/commands/bind.js +91 -0
  45. package/lib/commands/bind.js.map +1 -0
  46. package/lib/commands/help.d.ts +15 -0
  47. package/lib/commands/help.d.ts.map +1 -0
  48. package/lib/commands/help.js +89 -0
  49. package/lib/commands/help.js.map +1 -0
  50. package/lib/commands/index.d.ts +122 -0
  51. package/lib/commands/index.d.ts.map +1 -0
  52. package/lib/commands/index.js +63 -0
  53. package/lib/commands/index.js.map +1 -0
  54. package/lib/commands/locale.d.ts +9 -0
  55. package/lib/commands/locale.d.ts.map +1 -0
  56. package/lib/commands/locale.js +27 -0
  57. package/lib/commands/locale.js.map +1 -0
  58. package/lib/commands/mirror.d.ts +14 -0
  59. package/lib/commands/mirror.d.ts.map +1 -0
  60. package/lib/commands/mirror.js +44 -0
  61. package/lib/commands/mirror.js.map +1 -0
  62. package/lib/commands/model.d.ts +20 -0
  63. package/lib/commands/model.d.ts.map +1 -0
  64. package/lib/commands/model.js +106 -0
  65. package/lib/commands/model.js.map +1 -0
  66. package/lib/commands/models.d.ts +14 -0
  67. package/lib/commands/models.d.ts.map +1 -0
  68. package/lib/commands/models.js +67 -0
  69. package/lib/commands/models.js.map +1 -0
  70. package/lib/commands/new.d.ts +14 -0
  71. package/lib/commands/new.d.ts.map +1 -0
  72. package/lib/commands/new.js +37 -0
  73. package/lib/commands/new.js.map +1 -0
  74. package/lib/commands/status.d.ts +12 -0
  75. package/lib/commands/status.d.ts.map +1 -0
  76. package/lib/commands/status.js +30 -0
  77. package/lib/commands/status.js.map +1 -0
  78. package/lib/commands/stop.d.ts +16 -0
  79. package/lib/commands/stop.d.ts.map +1 -0
  80. package/lib/commands/stop.js +27 -0
  81. package/lib/commands/stop.js.map +1 -0
  82. package/lib/commands/version.d.ts +25 -0
  83. package/lib/commands/version.d.ts.map +1 -0
  84. package/lib/commands/version.js +57 -0
  85. package/lib/commands/version.js.map +1 -0
  86. package/lib/config.d.ts +119 -0
  87. package/lib/config.d.ts.map +1 -0
  88. package/lib/config.js +60 -0
  89. package/lib/config.js.map +1 -0
  90. package/lib/debug-logger.d.ts +8 -0
  91. package/lib/debug-logger.d.ts.map +1 -0
  92. package/lib/debug-logger.js +32 -0
  93. package/lib/debug-logger.js.map +1 -0
  94. package/lib/dsh-home.d.ts +12 -0
  95. package/lib/dsh-home.d.ts.map +1 -0
  96. package/lib/dsh-home.js +31 -0
  97. package/lib/dsh-home.js.map +1 -0
  98. package/lib/failure-display.d.ts +10 -0
  99. package/lib/failure-display.d.ts.map +1 -0
  100. package/lib/failure-display.js +42 -0
  101. package/lib/failure-display.js.map +1 -0
  102. package/lib/file-provider.d.ts +96 -0
  103. package/lib/file-provider.d.ts.map +1 -0
  104. package/lib/file-provider.js +44 -0
  105. package/lib/file-provider.js.map +1 -0
  106. package/lib/index.d.ts +31 -0
  107. package/lib/index.d.ts.map +1 -0
  108. package/lib/index.js +31 -0
  109. package/lib/index.js.map +1 -0
  110. package/lib/interactions/index.d.ts +13 -0
  111. package/lib/interactions/index.d.ts.map +1 -0
  112. package/lib/interactions/index.js +13 -0
  113. package/lib/interactions/index.js.map +1 -0
  114. package/lib/interactions/question-backend.d.ts +133 -0
  115. package/lib/interactions/question-backend.d.ts.map +1 -0
  116. package/lib/interactions/question-backend.js +37 -0
  117. package/lib/interactions/question-backend.js.map +1 -0
  118. package/lib/interactions/question-presenter.d.ts +68 -0
  119. package/lib/interactions/question-presenter.d.ts.map +1 -0
  120. package/lib/interactions/question-presenter.js +425 -0
  121. package/lib/interactions/question-presenter.js.map +1 -0
  122. package/lib/interactions/question-renderer.d.ts +37 -0
  123. package/lib/interactions/question-renderer.d.ts.map +1 -0
  124. package/lib/interactions/question-renderer.js +79 -0
  125. package/lib/interactions/question-renderer.js.map +1 -0
  126. package/lib/interactions/question-state.d.ts +106 -0
  127. package/lib/interactions/question-state.d.ts.map +1 -0
  128. package/lib/interactions/question-state.js +99 -0
  129. package/lib/interactions/question-state.js.map +1 -0
  130. package/lib/interactions/question-text-answer.d.ts +37 -0
  131. package/lib/interactions/question-text-answer.d.ts.map +1 -0
  132. package/lib/interactions/question-text-answer.js +70 -0
  133. package/lib/interactions/question-text-answer.js.map +1 -0
  134. package/lib/interactions/question-waterfall-backend.d.ts +42 -0
  135. package/lib/interactions/question-waterfall-backend.d.ts.map +1 -0
  136. package/lib/interactions/question-waterfall-backend.js +162 -0
  137. package/lib/interactions/question-waterfall-backend.js.map +1 -0
  138. package/lib/lifecycle.d.ts +36 -0
  139. package/lib/lifecycle.d.ts.map +1 -0
  140. package/lib/lifecycle.js +303 -0
  141. package/lib/lifecycle.js.map +1 -0
  142. package/lib/loggable-error.d.ts +10 -0
  143. package/lib/loggable-error.d.ts.map +1 -0
  144. package/lib/loggable-error.js +32 -0
  145. package/lib/loggable-error.js.map +1 -0
  146. package/lib/message-converter.d.ts +64 -0
  147. package/lib/message-converter.d.ts.map +1 -0
  148. package/lib/message-converter.js +191 -0
  149. package/lib/message-converter.js.map +1 -0
  150. package/lib/model-selection.d.ts +54 -0
  151. package/lib/model-selection.d.ts.map +1 -0
  152. package/lib/model-selection.js +116 -0
  153. package/lib/model-selection.js.map +1 -0
  154. package/lib/outbox/binding-resolver.d.ts +23 -0
  155. package/lib/outbox/binding-resolver.d.ts.map +1 -0
  156. package/lib/outbox/binding-resolver.js +38 -0
  157. package/lib/outbox/binding-resolver.js.map +1 -0
  158. package/lib/outbox/capabilities.d.ts +48 -0
  159. package/lib/outbox/capabilities.d.ts.map +1 -0
  160. package/lib/outbox/capabilities.js +35 -0
  161. package/lib/outbox/capabilities.js.map +1 -0
  162. package/lib/outbox/index.d.ts +14 -0
  163. package/lib/outbox/index.d.ts.map +1 -0
  164. package/lib/outbox/index.js +14 -0
  165. package/lib/outbox/index.js.map +1 -0
  166. package/lib/outbox/service.d.ts +48 -0
  167. package/lib/outbox/service.d.ts.map +1 -0
  168. package/lib/outbox/service.js +74 -0
  169. package/lib/outbox/service.js.map +1 -0
  170. package/lib/outbox/target.d.ts +17 -0
  171. package/lib/outbox/target.d.ts.map +1 -0
  172. package/lib/outbox/target.js +15 -0
  173. package/lib/outbox/target.js.map +1 -0
  174. package/lib/outbox/tool-send.d.ts +19 -0
  175. package/lib/outbox/tool-send.d.ts.map +1 -0
  176. package/lib/outbox/tool-send.js +77 -0
  177. package/lib/outbox/tool-send.js.map +1 -0
  178. package/lib/outbox/types.d.ts +42 -0
  179. package/lib/outbox/types.d.ts.map +1 -0
  180. package/lib/outbox/types.js +30 -0
  181. package/lib/outbox/types.js.map +1 -0
  182. package/lib/plugin.d.ts +27 -0
  183. package/lib/plugin.d.ts.map +1 -0
  184. package/lib/plugin.js +47 -0
  185. package/lib/plugin.js.map +1 -0
  186. package/lib/reply-context-store.d.ts +69 -0
  187. package/lib/reply-context-store.d.ts.map +1 -0
  188. package/lib/reply-context-store.js +75 -0
  189. package/lib/reply-context-store.js.map +1 -0
  190. package/lib/reply-router.d.ts +138 -0
  191. package/lib/reply-router.d.ts.map +1 -0
  192. package/lib/reply-router.js +674 -0
  193. package/lib/reply-router.js.map +1 -0
  194. package/lib/session-router.d.ts +49 -0
  195. package/lib/session-router.d.ts.map +1 -0
  196. package/lib/session-router.js +45 -0
  197. package/lib/session-router.js.map +1 -0
  198. package/lib/workspace-resolver.d.ts +67 -0
  199. package/lib/workspace-resolver.d.ts.map +1 -0
  200. package/lib/workspace-resolver.js +102 -0
  201. package/lib/workspace-resolver.js.map +1 -0
  202. package/package.json +103 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reply-router.js","sourceRoot":"","sources":["../src/reply-router.ts"],"names":[],"mappings":"AA4CA,OAAO,EAAE,uBAAuB,EAAyB,MAAM,sBAAsB,CAAC;AAUtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAyChE,MAAM,OAAO,WAAW;IAIO;IAHZ,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IACxC,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEzD,YAA6B,OAA2B;QAA3B,YAAO,GAAP,OAAO,CAAoB;IAAG,CAAC;IAE5D,iEAAiE;IACjE,MAAM,CAAC,GAAY;QACjB,MAAM,iBAAiB,GAAG,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,OAAgB,EAAE,KAAmB,EAAE,EAAE;YAC1F,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,MAAM,mBAAmB,GAAG,GAAG,CAAC,EAAE,CAAC,wBAAwB,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;YAChF,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,CAAC,iBAAiB,EAAE,IAAI,mBAAmB,EAAE,CAAC;IAC5D,CAAC;IAED,mEAAmE;IACnE,iBAAiB,CAAC,KAAY,EAAE,KAA2B;QACzD,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,MAAM;YAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,oEAAoE;IACpE,cAAc,CAAC,OAAgB,EAAE,KAAmB;QAClD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,YAAY;gBACf,sEAAsE;gBACtE,mEAAmE;gBACnE,qEAAqE;gBACrE,oEAAoE;gBACpE,MAAM;YACR,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,YAAY,GAAG,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChE,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,YAAY,CAAC;gBACpE,IAAI,YAAY,IAAI,SAAS,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3D,IAAI,MAAM,EAAE,CAAC;wBACX,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;wBACnC,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC;4BACrD,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;4BACzC,CAAC,CAAC,YAAY,IAAI,SAAS,CAAC;wBAC9B,IAAI,SAAS;4BAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;wBAClD,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;oBAC/B,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,UAAU;gBACb,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClE,MAAM;QACV,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,cAAc;QACZ,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ;QACZ,KAAK,MAAM,SAAS,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC1C,IAAI,MAAM;gBAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,gBAAgB,CAAC,OAAwD;QAC7E,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU;YAAE,OAAO,CAAC,kCAAkC;QAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;QAC5B,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAE3D,yEAAyE;QACzE,yEAAyE;QACzE,qEAAqE;QACrE,0EAA0E;QAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACxD,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/E,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YACxE,MAAM,OAAO,GAAG,aAAa,CAAC;YAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI;gBAAE,OAAO;YACnD,MAAM,aAAa,GAAwB;gBACzC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;aAC1E,CAAC;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC/B,sEAAsE;YACtE,qCAAqC;YACrC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;YACxB,IAAI,OAAO;gBAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC;YACxC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,wDAAwD,SAAS,GAAG,CAAC,CAAC;YAC/F,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CACtB,wDAAwD,OAAO,CAAC,SAAS,GAAG,CAC7E,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QACD,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YACnB,uEAAuE;YACvE,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtF,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,gDAAgD;IAChD,OAAO;QACL,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,IAAI,MAAM,CAAC,KAAK;gBAAE,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAEO,YAAY,CAAC,OAAgB,EAAE,IAAY;QACjD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAErC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,sEAAsE;YACtE,sEAAsE;YACtE,sEAAsE;YACtE,uEAAuE;YACvE,sEAAsE;YACtE,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACb,wEAAwE;YACxE,uEAAuE;YACvE,WAAW;YACX,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gBACjC,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC3B,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACvD,QAAQ,CAAC,QAAQ,GAAG,WAAW,CAC7B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAE,EACpD,QAAQ,CAAC,MAAM,CAChB,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,SAAS,GAAG,CAAC,CAAC;YACpF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CACtB,6CAA6C,OAAO,CAAC,SAAS,GAAG,CAClE,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAgB;YAC1B,OAAO;YACP,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC;YACtC,MAAM;YACN,OAAO;YACP,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,CAAC;YACZ,cAAc,EAAE,CAAC;YACjB,IAAI;YACJ,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACK,kBAAkB,CAAC,OAAgB,EAAE,IAAY;QACvD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAExD,MAAM,OAAO,GAAwB;YACnC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;SAC1E,CAAC;QACF,MAAM,MAAM,GAAgB;YAC1B,OAAO;YACP,sEAAsE;YACtE,2DAA2D;YAC3D,QAAQ,EAAE,UAAU;YACpB,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;YACnC,OAAO;YACP,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,CAAC;YACZ,cAAc,EAAE,CAAC;YACjB,IAAI;YACJ,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,UAAU,CAAC,MAAmB,EAAE,KAAa;QACnD,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACtD,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAClB,sEAAsE;YACtE,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,GAAG,MAAM,CAAC,SAAS,IAAI,QAAQ,EAAE,CAAC;YACvC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC7B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;gBACpB,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC,EAAE,QAAQ,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,MAAmB;QAC/B,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO;QAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBAChD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,yEAAyE;IACjE,KAAK,CAAC,KAAK,CAAC,MAAmB;QACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxB,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU;gBAAE,OAAO,CAAC,iCAAiC;YAC7E,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC;YACzC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3B,IAAI,MAAM,CAAC,cAAc,KAAK,UAAU;gBAAE,OAAO,CAAC,qBAAqB;QACzE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,MAAmB;QACvC,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO;QAC5B,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,cAAc;YAAE,OAAO;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,EAAE,WAAW;YAAE,OAAO;QAClC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE;oBACvD,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBACH,iEAAiE;gBACjE,IAAI,MAAM,CAAC,QAAQ;oBAAE,OAAO;YAC9B,CAAC;YACD,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;gBAC/B,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACrD,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBACzD,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC7C,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACvB,qDAAqD,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,EAChF,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,iBAAiB,CACvB,SAAiB,EACjB,OAAwC;QAQxC,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,SAAS,GAAG,CAAC,CAAC;YACpF,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CACtB,6CAA6C,OAAO,CAAC,SAAS,GAAG,CAClE,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;IACnE,CAAC;IAEO,KAAK,CAAC,UAAU,CACtB,OAAgB,EAChB,IAAY,EACZ,MAAqB;QAErB,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1C,yEAAyE;QACzE,kDAAkD;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACpE,MAAM,cAAc,GAAG,MAAM;YAC3B,CAAC,CAAC,CAAC,GAAG,EAAE;gBACJ,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAClE,OAAO,OAAO;oBACZ,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;oBAC7D,CAAC,CAAC,SAAS,CAAC;YAChB,CAAC,CAAC,EAAE;YACN,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE/C,IAAI,CAAC;YACH,mEAAmE;YACnE,IAAI,MAAM;gBAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAE9C,sEAAsE;YACtE,yEAAyE;YACzE,8BAA8B;YAC9B,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,cAAc,EAAE,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACvB,sDAAsD,SAAS,GAAG,EAClE;oBACE,IAAI;oBACJ,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;oBACvB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;oBAC3B,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;oBACjC,oBAAoB,EAAE,MAAM,CAAC,KAAK,CAAC,oBAAoB;iBACxD,CACF,CAAC;gBACF,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,OAAO,CAChB,cAAc,CAAC,OAAO,EACtB,cAAc,CAAC,MAAM,EACrB,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,CACvC,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACvB,+DAA+D,SAAS,GAAG,EAC3E,KAAK,CACN,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,uEAAuE;YACvE,gEAAgE;YAChE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACxD,IAAI,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC,qBAAqB,CACxB,cAAc,CAAC,OAAO,CAAC,SAAS,EAChC,cAAc,CAAC,MAAM,CACtB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,QAAQ,CAAC,MAAmB,EAAE,IAAY;QACtD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO;QAC5B,yEAAyE;QACzE,wEAAwE;QACxE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QAEvB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CACtB,6CAA6C,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,CACzE,CAAC;YACF,6DAA6D;YAC7D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACvE,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,sEAAsE;gBACtE,sEAAsE;gBACtE,iEAAiE;gBACjE,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;gBACzE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrE,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YAChC,CAAC;iBAAM,IAAI,IAAI,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACP,wCAAwC;YAC1C,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CACvB,sDAAsD,MAAM,CAAC,OAAO,CAAC,SAAS,GAAG,EACjF,KAAK,CACN,CAAC;QACJ,CAAC;QACD,6DAA6D;QAC7D,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvE,2EAA2E;QAC3E,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC;IAEO,qBAAqB,CAAC,SAAiB,EAAE,MAAqB;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,OAAO,EAAE,mBAAmB,EAAE,CAAC;YACjC,KAAK,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YAC/B,KAAK,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,OAAuB,EACvB,MAAqB,EACrB,IAAY;QAEZ,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;QAC9C,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YAC/B,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;CACF;AAED,SAAS,WAAW,CAAC,OAAuB,EAAE,MAAqB;IACjE,MAAM,IAAI,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;IACtF,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QACvC,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;IACrC,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,aAAa,CAAC,OAAyB;IAC9C,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;YAAE,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,OAAuB,EAAE,OAA6B;IACvE,MAAM,MAAM,GAAkB;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAuC;QAC1D,SAAS,EAAE,OAAO,CAAC,SAAuC;QAC1D,cAAc,EAAE,OAAO,CAAC,cAAiD;KAC1E,CAAC;IACF,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAqC,CAAC;IAClE,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACnD,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC7B,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAqD,CAAC;QAC1F,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QAC3B,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,MAA+B;IACzD,IAAI,QAA4B,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7B,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrE,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACjE,CAAC;AAED;;;GAGG;AACH,SAAS,oBAAoB,CAAC,MAA+B,EAAE,IAAY;IACzE,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAC3G,IAAI,IAAI,uBAAuB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACnE,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnD,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,SAAiB,EACjB,MAAmF;IAEnF,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACnC,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS;YAAE,MAAM,CAAC,GAAG,EAAE,CAAC;IACpD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,iBAAiB,CAAC;IAChC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,KAA6B,CAAC;IAClC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,MAAM;YAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACzC,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,IAAI,IAAI;QAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,SAAiB;IACtD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,OAAO,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;gBAClC,OAAO,GAAG,SAAS,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,IAAI,OAAO;oBAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAClC,OAAO,GAAG,SAAS,CAAC;YACtB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,IAAI,OAAO;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,SAAiB;IAC/C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YAC5B,IAAI,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,GAAG,EAAE,CAAC;YACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACzD,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;gBAClC,OAAO,GAAG,SAAS,CAAC;YACtB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,OAAO;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,49 @@
1
+ import type { AgentRouteSpec } from './agent-router.js';
2
+ export declare const SESSION_BINDING_SCHEMA_VERSION: 3;
3
+ /** Stable policy recorded with a binding; it is independent of live service availability. */
4
+ export type SessionDurability = 'ephemeral' | 'durable';
5
+ export interface SessionBinding {
6
+ channelId: string;
7
+ accountId: string;
8
+ conversationId: string;
9
+ /** `dm` = a one-to-one conversation, `group` = a group/chat (plan \u00a755). Required since v3. */
10
+ conversationType: 'dm' | 'group';
11
+ threadId?: string;
12
+ /** Optional stable peer id behind a DM; group conversations usually omit it. */
13
+ senderId?: string;
14
+ /** Unique Agent/Session runtime identity (Harness Agent id === SessionId). */
15
+ sessionId: string;
16
+ /**
17
+ * Whether this binding is expected to survive process restarts. Optional for
18
+ * pre-durability bindings; consumers treat an omitted value as durable so a
19
+ * temporarily unavailable persistence service cannot trigger recreation.
20
+ */
21
+ durability?: SessionDurability;
22
+ /**
23
+ * Opt-in mirror (issue #5): when true, turns initiated OUTSIDE the channel
24
+ * (web/CLI) on this bound session deliver their final assistant text to the
25
+ * bound conversation as buffered replies. Off by default — a non-channel
26
+ * turn must never auto-route without explicit owner consent. Toggled by the
27
+ * `/mirror` channel command; transient platform state still never travels
28
+ * through the binding.
29
+ */
30
+ mirror?: boolean;
31
+ /** Routing snapshot used for create/resume parity. */
32
+ route: AgentRouteSpec;
33
+ schemaVersion: typeof SESSION_BINDING_SCHEMA_VERSION;
34
+ createdAt: number;
35
+ updatedAt: number;
36
+ }
37
+ export interface SessionKeyInput {
38
+ channelId: string;
39
+ accountId: string;
40
+ conversationId: string;
41
+ conversationType?: 'dm' | 'group';
42
+ senderId?: string;
43
+ threadId?: string;
44
+ }
45
+ /** Canonical binding key: `channel:account:conversation[:thread]`. */
46
+ export declare function sessionKey(conversation: SessionKeyInput): string;
47
+ /** Key under which a binding is stored (derived from its own fields). */
48
+ export declare function bindingKey(binding: SessionBinding): string;
49
+ //# sourceMappingURL=session-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-router.d.ts","sourceRoot":"","sources":["../src/session-router.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,eAAO,MAAM,8BAA8B,EAAG,CAAU,CAAC;AAEzD,6FAA6F;AAC7F,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,mGAAmG;IACnG,gBAAgB,EAAE,IAAI,GAAG,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,KAAK,EAAE,cAAc,CAAC;IACtB,aAAa,EAAE,OAAO,8BAA8B,CAAC;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,sEAAsE;AACtE,wBAAgB,UAAU,CAAC,YAAY,EAAE,eAAe,GAAG,MAAM,CAUhE;AAED,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAE1D"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Session binding: the durable map from a channel conversation to one Harness
3
+ * session (doc H0.3).
4
+ *
5
+ * The canonical key is `channel:account:conversation[:thread]` — one account
6
+ * never collapses into one session. The bridge reuses `@krischoichoi/channel-core`'s
7
+ * `conversationKey` so both sides agree on the exact string; branded
8
+ * channel-core identity types only appear on the channel side, so this package
9
+ * works with plain strings.
10
+ *
11
+ * v3 (plan \u00a755): the binding carries the FULL stable conversation identity the
12
+ * durable outbox needs — `conversationType: 'dm' | 'group'` (required) and the
13
+ * optional `senderId` of the peer behind a DM. It also keeps `sessionId` (the
14
+ * unique Agent/Session runtime identity — Harness Agent identity IS
15
+ * `SessionId`) plus a `route` snapshot used to keep create/resume parity, an
16
+ * optional stable `durability` policy, and `schemaVersion: 3`.
17
+ *
18
+ * v3 persists ONLY stable identity (plan \u00a756): channel / account /
19
+ * conversation / type / thread / sender / session / durability / route. Transient platform
20
+ * state is NEVER stored here — `sessionWebhook`, `replyToMessageId`,
21
+ * `runId`, `contextToken`, a media URL and an AES key all travel only with the
22
+ * triggering turn (see `reply-context-store`), never in a binding.
23
+ *
24
+ * The old v1 `agentId` field has been removed (migrated to `route.model` by
25
+ * `binding-store`, then v2 -> v3 adds the legacy-default `conversationType`).
26
+ */
27
+ import { conversationKey } from '@krischoichoi/channel-core';
28
+ export const SESSION_BINDING_SCHEMA_VERSION = 3;
29
+ /** Canonical binding key: `channel:account:conversation[:thread]`. */
30
+ export function sessionKey(conversation) {
31
+ const key = {
32
+ channelId: conversation.channelId,
33
+ accountId: conversation.accountId,
34
+ conversationId: conversation.conversationId,
35
+ };
36
+ if (conversation.threadId) {
37
+ key.threadId = conversation.threadId;
38
+ }
39
+ return conversationKey(key);
40
+ }
41
+ /** Key under which a binding is stored (derived from its own fields). */
42
+ export function bindingKey(binding) {
43
+ return sessionKey(binding);
44
+ }
45
+ //# sourceMappingURL=session-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-router.js","sourceRoot":"","sources":["../src/session-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAE,eAAe,EAA+B,MAAM,4BAA4B,CAAC;AAG1F,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAU,CAAC;AA+CzD,sEAAsE;AACtE,MAAM,UAAU,UAAU,CAAC,YAA6B;IACtD,MAAM,GAAG,GAA2B;QAClC,SAAS,EAAE,YAAY,CAAC,SAAgD;QACxE,SAAS,EAAE,YAAY,CAAC,SAAgD;QACxE,cAAc,EAAE,YAAY,CAAC,cAA0D;KACxF,CAAC;IACF,IAAI,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC1B,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAC,QAA8C,CAAC;IAC7E,CAAC;IACD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,UAAU,CAAC,OAAuB;IAChD,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,67 @@
1
+ import type { Context } from '@deepseek-ai/cordis';
2
+ import type { SessionId } from '@deepseek-ai/dsh-session';
3
+ import type { ChannelLogger } from '@krischoichoi/channel-core';
4
+ import type { WorkspaceConfig } from './config.js';
5
+ /** Channel conversation identity used to resolve a workspace. */
6
+ export interface ChannelWorkspaceInput {
7
+ channelId: string;
8
+ accountId: string;
9
+ conversationId: string;
10
+ threadId?: string;
11
+ }
12
+ /**
13
+ * Structural view of the official dsh-workspace Workspace entity.
14
+ * Kept local so this module does not depend on `@deepseek-ai/dsh-workspace`.
15
+ */
16
+ export interface ChannelWorkspaceLike {
17
+ readonly id: string;
18
+ readonly path: string;
19
+ readonly title: string;
20
+ attachSession(sessionId: SessionId): Promise<void>;
21
+ detachSession(sessionId: SessionId): Promise<void>;
22
+ }
23
+ /**
24
+ * Structural view of `ctx.workspaceRegistry` (official
25
+ * `@deepseek-ai/dsh-workspace`). The harness exposes it on `ctx` at runtime;
26
+ * this interface is only the shape this module relies on.
27
+ */
28
+ export interface WorkspaceRegistryLike {
29
+ /** Official global archive set; archived sessions stay attached but are hidden by the Host UI. */
30
+ readonly archivedSessionIds?: readonly SessionId[];
31
+ resolveByPath(path: string): Promise<ChannelWorkspaceLike | undefined>;
32
+ create(path: string, title?: string): Promise<ChannelWorkspaceLike>;
33
+ }
34
+ /** Result of a workspace resolve: the cwd plus the (optional) workspace. */
35
+ export interface ResolvedChannelWorkspace {
36
+ cwd?: string;
37
+ workspace?: ChannelWorkspaceLike;
38
+ }
39
+ /** Resolves a channel conversation to a Session cwd and workspace. */
40
+ export interface ChannelWorkspaceResolver {
41
+ resolve(input: ChannelWorkspaceInput): Promise<ResolvedChannelWorkspace>;
42
+ /** Whether the Host has archived a session, making it unsuitable for new channel input. */
43
+ isSessionArchived?(sessionId: string): boolean;
44
+ }
45
+ /**
46
+ * Resolves the channel workspace root. Defaults to
47
+ * `<dsh-home>/workspaces/channels` when `config.root` is not set.
48
+ */
49
+ export declare function resolveChannelWorkspaceRoot(config: WorkspaceConfig | undefined): string;
50
+ /**
51
+ * Harness-backed resolve implementation grouping by channel + account.
52
+ *
53
+ * `config` may be `undefined` when the schema default did not apply; it is
54
+ * treated as {@link DEFAULT_WORKSPACE_CONFIG}.
55
+ */
56
+ export declare class HarnessChannelWorkspaceResolver implements ChannelWorkspaceResolver {
57
+ private readonly ctx;
58
+ private readonly config;
59
+ private readonly logger;
60
+ constructor(ctx: Context, config: WorkspaceConfig | undefined, logger: ChannelLogger);
61
+ /** Structural access to the official `workspaceRegistry` on `ctx`. */
62
+ private registry;
63
+ private effectiveConfig;
64
+ isSessionArchived(sessionId: string): boolean;
65
+ resolve(input: ChannelWorkspaceInput): Promise<ResolvedChannelWorkspace>;
66
+ }
67
+ //# sourceMappingURL=workspace-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-resolver.d.ts","sourceRoot":"","sources":["../src/workspace-resolver.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAInD,iEAAiE;AACjE,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,kGAAkG;IAClG,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IACnD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;IACvE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACrE;AAED,4EAA4E;AAC5E,MAAM,WAAW,wBAAwB;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED,sEAAsE;AACtE,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACzE,2FAA2F;IAC3F,iBAAiB,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;CAChD;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,CAEvF;AASD;;;;;GAKG;AACH,qBAAa,+BAAgC,YAAW,wBAAwB;IAE5E,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,eAAe,GAAG,SAAS,EACnC,MAAM,EAAE,aAAa;IAGxC,sEAAsE;IACtE,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,eAAe;IAIvB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IASvC,OAAO,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CA6C/E"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Channel Workspace resolver.
3
+ *
4
+ * Maps a channel conversation identity to the Session working directory and
5
+ * (optionally) a Harness `WorkspaceRegistry` member. The default
6
+ * `channel-account` mode gives every channel/account pair its own workspace
7
+ * under `<dsh-home>/workspaces/channels/<channel>/<account-key>`; `host-cwd`
8
+ * keeps the Host's real working directory; `disabled` returns nothing (the
9
+ * bridge falls back to `config.cwd ?? process.cwd()`).
10
+ *
11
+ * This module deliberately uses *structural* types for the official
12
+ * `@deepseek-ai/dsh-workspace` entities and service (`WorkspaceRegistryLike`,
13
+ * `ChannelWorkspaceLike`) instead of importing the package — the harness
14
+ * exposes the service on `ctx` at runtime, and the official package is not a
15
+ * dependency of this repo (see {@link WorkspaceRegistryLike}).
16
+ */
17
+ import { mkdir } from 'node:fs/promises';
18
+ import { join } from 'node:path';
19
+ import { channelWorkspaceTitle, safeSegment, stableSafeAccountKey } from './channel-label.js';
20
+ import { resolveDshHome } from './dsh-home.js';
21
+ /**
22
+ * Resolves the channel workspace root. Defaults to
23
+ * `<dsh-home>/workspaces/channels` when `config.root` is not set.
24
+ */
25
+ export function resolveChannelWorkspaceRoot(config) {
26
+ return config?.root ?? join(resolveDshHome(), 'workspaces', 'channels');
27
+ }
28
+ /**
29
+ * Default effective workspace config used when the schema default did not
30
+ * apply (i.e. `config.workspace` validated as `undefined`): group by
31
+ * channel/account with auto-create enabled.
32
+ */
33
+ const DEFAULT_WORKSPACE_CONFIG = { mode: 'channel-account', autoCreate: true };
34
+ /**
35
+ * Harness-backed resolve implementation grouping by channel + account.
36
+ *
37
+ * `config` may be `undefined` when the schema default did not apply; it is
38
+ * treated as {@link DEFAULT_WORKSPACE_CONFIG}.
39
+ */
40
+ export class HarnessChannelWorkspaceResolver {
41
+ ctx;
42
+ config;
43
+ logger;
44
+ constructor(ctx, config, logger) {
45
+ this.ctx = ctx;
46
+ this.config = config;
47
+ this.logger = logger;
48
+ }
49
+ /** Structural access to the official `workspaceRegistry` on `ctx`. */
50
+ registry() {
51
+ return this.ctx.get('workspaceRegistry');
52
+ }
53
+ effectiveConfig() {
54
+ return this.config ?? DEFAULT_WORKSPACE_CONFIG;
55
+ }
56
+ isSessionArchived(sessionId) {
57
+ try {
58
+ return this.registry()?.archivedSessionIds?.some((id) => String(id) === sessionId) ?? false;
59
+ }
60
+ catch (error) {
61
+ this.logger.warn('[channel-harness] failed to inspect archived sessions', error);
62
+ return false;
63
+ }
64
+ }
65
+ async resolve(input) {
66
+ const config = this.effectiveConfig();
67
+ if (config.mode === 'disabled') {
68
+ return {};
69
+ }
70
+ if (config.mode === 'host-cwd') {
71
+ const cwd = process.cwd();
72
+ const workspace = await this.registry()?.resolveByPath(cwd).catch(() => undefined);
73
+ if (workspace) {
74
+ this.logger.debug('[channel-harness] workspace resolved', {
75
+ cwd,
76
+ workspaceId: workspace.id,
77
+ title: workspace.title,
78
+ });
79
+ }
80
+ return workspace ? { cwd, workspace } : { cwd };
81
+ }
82
+ const root = resolveChannelWorkspaceRoot(config);
83
+ const accountKey = stableSafeAccountKey(input.accountId);
84
+ const cwd = join(root, safeSegment(input.channelId), accountKey);
85
+ // The official create() requires an existing directory (it realpaths), so
86
+ // make sure the directory exists before resolving/creating the workspace.
87
+ await mkdir(cwd, { recursive: true });
88
+ const title = channelWorkspaceTitle({ channelId: input.channelId, accountId: input.accountId });
89
+ let workspace = await this.registry()?.resolveByPath(cwd).catch(() => undefined);
90
+ const registry = this.registry();
91
+ if (!workspace && registry && config.autoCreate) {
92
+ workspace = await registry.create(cwd, title);
93
+ }
94
+ this.logger.debug('[channel-harness] workspace resolved', {
95
+ cwd,
96
+ workspaceId: workspace?.id,
97
+ title,
98
+ });
99
+ return { cwd, workspace };
100
+ }
101
+ }
102
+ //# sourceMappingURL=workspace-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-resolver.js","sourceRoot":"","sources":["../src/workspace-resolver.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,103 @@
1
+ {
2
+ "name": "@krischoichoi/channel-harness",
3
+ "version": "0.6.0",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "git+https://github.com/krischoichoi/dsh-channels.git"
7
+ },
8
+ "publishConfig": {
9
+ "access": "public"
10
+ },
11
+ "description": "Thin Harness-native bridge: SessionBinding, AgentManager and the session/event reply pipeline",
12
+ "type": "module",
13
+ "main": "./lib/index.js",
14
+ "types": "./lib/index.d.ts",
15
+ "exports": {
16
+ ".": {
17
+ "types": "./lib/index.d.ts",
18
+ "default": "./lib/index.js"
19
+ },
20
+ "./package.json": "./package.json"
21
+ },
22
+ "files": [
23
+ "lib"
24
+ ],
25
+ "scripts": {
26
+ "build": "tsc -p tsconfig.json",
27
+ "typecheck": "tsc -p tsconfig.json --noEmit",
28
+ "test": "vitest run",
29
+ "clean": "rimraf lib"
30
+ },
31
+ "dependencies": {
32
+ "@deepseek-ai/schemastery": "~3.18.4",
33
+ "@krischoichoi/channel-core": "workspace:*",
34
+ "zod": "^4.4.3"
35
+ },
36
+ "devDependencies": {
37
+ "@deepseek-ai/cordis": "4.0.4",
38
+ "@deepseek-ai/dsh-agent": "0.2.0-rc.2",
39
+ "@deepseek-ai/dsh-agent-default-model": "0.2.0-rc.2",
40
+ "@deepseek-ai/dsh-agent-preset-registry": "0.2.0-rc.2",
41
+ "@deepseek-ai/dsh-api-gateway": "0.2.0-rc.2",
42
+ "@deepseek-ai/dsh-api-session-controller": "0.2.0-rc.2",
43
+ "@deepseek-ai/dsh-atomic-write": "0.2.0-rc.2",
44
+ "@deepseek-ai/dsh-attachment": "0.2.0-rc.2",
45
+ "@deepseek-ai/dsh-brand": "0.2.0-rc.2",
46
+ "@deepseek-ai/dsh-client-connection": "0.2.0-rc.2",
47
+ "@deepseek-ai/dsh-commands": "0.2.0-rc.2",
48
+ "@deepseek-ai/dsh-file-reference": "0.2.0-rc.2",
49
+ "@deepseek-ai/dsh-home-paths": "0.2.0-rc.2",
50
+ "@deepseek-ai/dsh-invariants": "0.2.0-rc.2",
51
+ "@deepseek-ai/dsh-llm": "0.2.0-rc.2",
52
+ "@deepseek-ai/dsh-native-command": "0.2.0-rc.2",
53
+ "@deepseek-ai/dsh-scope": "0.2.0-rc.2",
54
+ "@deepseek-ai/dsh-session": "0.2.0-rc.2",
55
+ "@deepseek-ai/dsh-session-persistence": "0.2.0-rc.2",
56
+ "@deepseek-ai/dsh-session-projection": "0.2.0-rc.2",
57
+ "@deepseek-ai/dsh-session-projection-cache": "0.2.0-rc.2",
58
+ "@deepseek-ai/dsh-session-query": "0.2.0-rc.2",
59
+ "@deepseek-ai/dsh-session-title": "0.2.0-rc.2",
60
+ "@deepseek-ai/dsh-skill": "0.2.0-rc.2",
61
+ "@deepseek-ai/dsh-storage": "0.2.0-rc.2",
62
+ "@deepseek-ai/dsh-storage-domain": "0.2.0-rc.2",
63
+ "@deepseek-ai/dsh-subagent": "0.2.0-rc.2",
64
+ "@deepseek-ai/dsh-system-prompt": "0.2.0-rc.2",
65
+ "@deepseek-ai/dsh-timeout": "0.2.0-rc.2",
66
+ "@deepseek-ai/dsh-tool-todo": "0.2.0-rc.2",
67
+ "@deepseek-ai/dsh-tools": "0.2.0-rc.2",
68
+ "@deepseek-ai/dsh-typert-protocol": "0.2.0-rc.2",
69
+ "@deepseek-ai/dsh-typert-registry": "0.2.0-rc.2",
70
+ "@deepseek-ai/dsh-user-approval": "0.2.0-rc.2",
71
+ "@deepseek-ai/dsh-user-questions": "0.2.0-rc.2",
72
+ "@deepseek-ai/dsh-util-time": "0.2.0-rc.2",
73
+ "@deepseek-ai/dsh-util-workspace-path": "0.2.0-rc.2",
74
+ "@deepseek-ai/dsh-workspace": "0.2.0-rc.2",
75
+ "rimraf": "^6.0.0"
76
+ },
77
+ "peerDependencies": {
78
+ "@deepseek-ai/cordis": "^4.0.4",
79
+ "@deepseek-ai/dsh-agent": "0.2.0-rc.2",
80
+ "@deepseek-ai/dsh-agent-default-model": "0.2.0-rc.2",
81
+ "@deepseek-ai/dsh-agent-preset-registry": "0.2.0-rc.2",
82
+ "@deepseek-ai/dsh-api-session-controller": "0.2.0-rc.2",
83
+ "@deepseek-ai/dsh-attachment": "0.2.0-rc.2",
84
+ "@deepseek-ai/dsh-brand": "0.2.0-rc.2",
85
+ "@deepseek-ai/dsh-commands": "0.2.0-rc.2",
86
+ "@deepseek-ai/dsh-home-paths": "0.2.0-rc.2",
87
+ "@deepseek-ai/dsh-invariants": "0.2.0-rc.2",
88
+ "@deepseek-ai/dsh-llm": "0.2.0-rc.2",
89
+ "@deepseek-ai/dsh-scope": "0.2.0-rc.2",
90
+ "@deepseek-ai/dsh-session": "0.2.0-rc.2",
91
+ "@deepseek-ai/dsh-session-persistence": "0.2.0-rc.2",
92
+ "@deepseek-ai/dsh-system-prompt": "0.2.0-rc.2",
93
+ "@deepseek-ai/dsh-tools": "0.2.0-rc.2",
94
+ "@deepseek-ai/dsh-typert-protocol": "0.2.0-rc.2",
95
+ "@deepseek-ai/dsh-user-questions": "0.2.0-rc.2"
96
+ },
97
+ "peerDependenciesMeta": {
98
+ "@deepseek-ai/dsh-tools": {
99
+ "optional": true
100
+ }
101
+ },
102
+ "license": "MIT"
103
+ }