@ariaflowagents/core 0.8.1 → 0.9.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 (142) hide show
  1. package/dist/capabilities/AutoRetrieveCapability.d.ts +30 -0
  2. package/dist/capabilities/AutoRetrieveCapability.d.ts.map +1 -0
  3. package/dist/capabilities/AutoRetrieveCapability.js +36 -0
  4. package/dist/capabilities/AutoRetrieveCapability.js.map +1 -0
  5. package/dist/capabilities/ExtractionCapability.d.ts +25 -0
  6. package/dist/capabilities/ExtractionCapability.d.ts.map +1 -0
  7. package/dist/capabilities/ExtractionCapability.js +74 -0
  8. package/dist/capabilities/ExtractionCapability.js.map +1 -0
  9. package/dist/capabilities/FlowCapability.d.ts +81 -0
  10. package/dist/capabilities/FlowCapability.d.ts.map +1 -0
  11. package/dist/capabilities/FlowCapability.js +482 -0
  12. package/dist/capabilities/FlowCapability.js.map +1 -0
  13. package/dist/capabilities/GuardrailCapability.d.ts +30 -0
  14. package/dist/capabilities/GuardrailCapability.d.ts.map +1 -0
  15. package/dist/capabilities/GuardrailCapability.js +38 -0
  16. package/dist/capabilities/GuardrailCapability.js.map +1 -0
  17. package/dist/capabilities/HandoffCapability.d.ts +19 -0
  18. package/dist/capabilities/HandoffCapability.d.ts.map +1 -0
  19. package/dist/capabilities/HandoffCapability.js +58 -0
  20. package/dist/capabilities/HandoffCapability.js.map +1 -0
  21. package/dist/capabilities/LivePromptAssembler.d.ts +108 -0
  22. package/dist/capabilities/LivePromptAssembler.d.ts.map +1 -0
  23. package/dist/capabilities/LivePromptAssembler.js +157 -0
  24. package/dist/capabilities/LivePromptAssembler.js.map +1 -0
  25. package/dist/capabilities/TriageCapability.d.ts +16 -0
  26. package/dist/capabilities/TriageCapability.d.ts.map +1 -0
  27. package/dist/capabilities/TriageCapability.js +61 -0
  28. package/dist/capabilities/TriageCapability.js.map +1 -0
  29. package/dist/capabilities/adapters/ai-sdk.d.ts +14 -0
  30. package/dist/capabilities/adapters/ai-sdk.d.ts.map +1 -0
  31. package/dist/capabilities/adapters/ai-sdk.js +29 -0
  32. package/dist/capabilities/adapters/ai-sdk.js.map +1 -0
  33. package/dist/capabilities/adapters/gemini.d.ts +15 -0
  34. package/dist/capabilities/adapters/gemini.d.ts.map +1 -0
  35. package/dist/capabilities/adapters/gemini.js +40 -0
  36. package/dist/capabilities/adapters/gemini.js.map +1 -0
  37. package/dist/capabilities/index.d.ts +154 -0
  38. package/dist/capabilities/index.d.ts.map +1 -0
  39. package/dist/capabilities/index.js +128 -0
  40. package/dist/capabilities/index.js.map +1 -0
  41. package/dist/eval/EvalRunner.d.ts +12 -0
  42. package/dist/eval/EvalRunner.d.ts.map +1 -0
  43. package/dist/eval/EvalRunner.js +64 -0
  44. package/dist/eval/EvalRunner.js.map +1 -0
  45. package/dist/eval/scoring.d.ts +15 -0
  46. package/dist/eval/scoring.d.ts.map +1 -0
  47. package/dist/eval/scoring.js +152 -0
  48. package/dist/eval/scoring.js.map +1 -0
  49. package/dist/eval/types.d.ts +59 -0
  50. package/dist/eval/types.d.ts.map +1 -0
  51. package/dist/eval/types.js +2 -0
  52. package/dist/eval/types.js.map +1 -0
  53. package/dist/flows/FlowGraph.d.ts +3 -1
  54. package/dist/flows/FlowGraph.d.ts.map +1 -1
  55. package/dist/flows/FlowGraph.js +5 -0
  56. package/dist/flows/FlowGraph.js.map +1 -1
  57. package/dist/flows/FlowManager.d.ts +60 -1
  58. package/dist/flows/FlowManager.d.ts.map +1 -1
  59. package/dist/flows/FlowManager.js +467 -34
  60. package/dist/flows/FlowManager.js.map +1 -1
  61. package/dist/flows/extraction.d.ts +16 -1
  62. package/dist/flows/extraction.d.ts.map +1 -1
  63. package/dist/flows/extraction.js +34 -0
  64. package/dist/flows/extraction.js.map +1 -1
  65. package/dist/flows/index.d.ts +2 -0
  66. package/dist/flows/index.d.ts.map +1 -1
  67. package/dist/flows/index.js +1 -0
  68. package/dist/flows/index.js.map +1 -1
  69. package/dist/flows/validation.d.ts +1 -1
  70. package/dist/flows/validation.d.ts.map +1 -1
  71. package/dist/flows/validation.js +13 -1
  72. package/dist/flows/validation.js.map +1 -1
  73. package/dist/hooks/HookRunner.d.ts +3 -1
  74. package/dist/hooks/HookRunner.d.ts.map +1 -1
  75. package/dist/hooks/HookRunner.js +3 -0
  76. package/dist/hooks/HookRunner.js.map +1 -1
  77. package/dist/hooks/builtin/metrics.d.ts.map +1 -1
  78. package/dist/hooks/builtin/metrics.js +12 -0
  79. package/dist/hooks/builtin/metrics.js.map +1 -1
  80. package/dist/hooks/builtin/observability.d.ts +21 -0
  81. package/dist/hooks/builtin/observability.d.ts.map +1 -0
  82. package/dist/hooks/builtin/observability.js +535 -0
  83. package/dist/hooks/builtin/observability.js.map +1 -0
  84. package/dist/index.d.ts +11 -1
  85. package/dist/index.d.ts.map +1 -1
  86. package/dist/index.js +7 -1
  87. package/dist/index.js.map +1 -1
  88. package/dist/orchestration/DefaultOrchestrationAuthority.d.ts +91 -0
  89. package/dist/orchestration/DefaultOrchestrationAuthority.d.ts.map +1 -0
  90. package/dist/orchestration/DefaultOrchestrationAuthority.js +786 -0
  91. package/dist/orchestration/DefaultOrchestrationAuthority.js.map +1 -0
  92. package/dist/orchestration/OrchestrationAuthority.d.ts +119 -0
  93. package/dist/orchestration/OrchestrationAuthority.d.ts.map +1 -0
  94. package/dist/orchestration/OrchestrationAuthority.js +2 -0
  95. package/dist/orchestration/OrchestrationAuthority.js.map +1 -0
  96. package/dist/orchestration/RealtimeExtractionRunner.d.ts +25 -0
  97. package/dist/orchestration/RealtimeExtractionRunner.d.ts.map +1 -0
  98. package/dist/orchestration/RealtimeExtractionRunner.js +62 -0
  99. package/dist/orchestration/RealtimeExtractionRunner.js.map +1 -0
  100. package/dist/orchestration/index.d.ts +5 -0
  101. package/dist/orchestration/index.d.ts.map +1 -0
  102. package/dist/orchestration/index.js +4 -0
  103. package/dist/orchestration/index.js.map +1 -0
  104. package/dist/orchestration/types.d.ts +134 -0
  105. package/dist/orchestration/types.d.ts.map +1 -0
  106. package/dist/orchestration/types.js +2 -0
  107. package/dist/orchestration/types.js.map +1 -0
  108. package/dist/realtime/RealtimeAudioClient.d.ts +105 -0
  109. package/dist/realtime/RealtimeAudioClient.d.ts.map +1 -0
  110. package/dist/realtime/RealtimeAudioClient.js +15 -0
  111. package/dist/realtime/RealtimeAudioClient.js.map +1 -0
  112. package/dist/realtime/RealtimeRuntime.d.ts +136 -0
  113. package/dist/realtime/RealtimeRuntime.d.ts.map +1 -0
  114. package/dist/realtime/RealtimeRuntime.js +270 -0
  115. package/dist/realtime/RealtimeRuntime.js.map +1 -0
  116. package/dist/realtime/index.d.ts +4 -0
  117. package/dist/realtime/index.d.ts.map +1 -0
  118. package/dist/realtime/index.js +2 -0
  119. package/dist/realtime/index.js.map +1 -0
  120. package/dist/runtime/ExtractionEngine.d.ts +2 -1
  121. package/dist/runtime/ExtractionEngine.d.ts.map +1 -1
  122. package/dist/runtime/ExtractionEngine.js +11 -0
  123. package/dist/runtime/ExtractionEngine.js.map +1 -1
  124. package/dist/runtime/FlowExecutor.d.ts +7 -5
  125. package/dist/runtime/FlowExecutor.d.ts.map +1 -1
  126. package/dist/runtime/FlowExecutor.js +71 -12
  127. package/dist/runtime/FlowExecutor.js.map +1 -1
  128. package/dist/runtime/Runtime.d.ts +22 -0
  129. package/dist/runtime/Runtime.d.ts.map +1 -1
  130. package/dist/runtime/Runtime.js +47 -0
  131. package/dist/runtime/Runtime.js.map +1 -1
  132. package/dist/runtime/pipeline/AgentExecuteStage.d.ts.map +1 -1
  133. package/dist/runtime/pipeline/AgentExecuteStage.js +94 -25
  134. package/dist/runtime/pipeline/AgentExecuteStage.js.map +1 -1
  135. package/dist/runtime/pipeline/ContextAssembleStage.js +1 -1
  136. package/dist/types/index.d.ts +61 -3
  137. package/dist/types/index.d.ts.map +1 -1
  138. package/dist/types/index.js +4 -0
  139. package/dist/types/index.js.map +1 -1
  140. package/dist/types/telemetry.d.ts +107 -0
  141. package/dist/types/telemetry.d.ts.map +1 -1
  142. package/package.json +15 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultOrchestrationAuthority.js","sourceRoot":"","sources":["../../src/orchestration/DefaultOrchestrationAuthority.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AAiBjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAUrD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACrK,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAsB/D,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,OAAO,6BAA6B;IACvB,MAAM,CAA2B;IACjC,cAAc,CAAS;IACvB,UAAU,CAAa;IACvB,YAAY,CAAe;IAC3B,iBAAiB,CAAoB;IACrC,QAAQ,CAAuB;IAC/B,UAAU,CAAuB;IACjC,gBAAgB,CAAmB;IACnC,eAAe,CAAsB;IACrC,aAAa,CAA4B;IACzC,eAAe,CAAS;IACxB,iBAAiB,CAAS;IAC1B,wBAAwB,CAA4B;IACpD,oBAAoB,CAAmC;IAExE,YAAY,MAAoC;QAC9C,uBAAuB;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC7C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAE5C,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAEzC,sEAAsE;QACtE,kEAAkE;QAClE,sDAAsD;QACtD,IAAI,CAAC,UAAU,GAAG,QAAQ,EAAE,UAAU,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEvE,qEAAqE;QACrE,qCAAqC;QACrC,IAAI,QAAQ,EAAE,YAAY,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,WAAW,EAAE,CAAC;YAC9D,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,gBAAgB,IAAI,uBAAuB,CAAC,CAAC;YACtF,IAAI,CAAC,YAAY,GAAG,IAAI,mBAAmB,CAAC;gBAC1C,QAAQ;gBACR,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;aACpC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,EAAE,iBAAiB,EAAE,CAAC;YAChC,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,WAAW,EAAE,CAAC;YAC9D,IAAI,CAAC,iBAAiB,GAAG,IAAI,wBAAwB,CAAC;gBACpD,YAAY;gBACZ,cAAc,EAAE,MAAM,CAAC,cAAc;aACtC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,EAAE,QAAQ,IAAI,IAAI,2BAA2B,CAAC;YACpE,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,IAAI,WAAW,EAAE;SACvD,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,QAAQ,EAAE,UAAU,IAAI,IAAI,2BAA2B,EAAE,CAAC;QAE5E,uEAAuE;QACvE,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC;YAC3C,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;QACH,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,eAAe;YACpD,CAAC,CAAC,IAAI,wBAAwB,CAAC;gBAC3B,KAAK,EAAE,MAAM,CAAC,eAAe;gBAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAEd,+CAA+C;QAC/C,IAAI,CAAC,eAAe,GAAG,IAAI,0BAA0B,EAAE,CAAC;QAExD,kEAAkE;QAClE,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,QAAQ,CAAC;QAE1D,qBAAqB;QACrB,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC;QAEvD,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;IAC1D,CAAC;IAED,+EAA+E;IAE/E,KAAK,CAAC,WAAW,CAAC,MAAyB;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,aAAa,CAAC,CAAC;QAC3E,CAAC;QAED,yBAAyB;QACzB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAE5E,iCAAiC;QACjC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAEhD,mBAAmB;QACnB,MAAM,OAAO,GAAe;YAC1B,OAAO;YACP,OAAO;YACP,SAAS,EAAE,CAAC;YACZ,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,EAAE;SACpB,CAAC;QAEF,sCAAsC;QACtC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE7C,yDAAyD;QACzD,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAErD,MAAM,MAAM,GAAmB;YAC7B,OAAO;YACP,OAAO;YACP,aAAa,EAAE,OAAO;YACtB,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE;SAC3E,CAAC;QAEF,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAEpC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAA8B,EAAE,IAAY;QAChE,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAA8B,EAAE,IAAY;QACtE,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACvE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAA8B;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAE5C,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;YAC5D,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACjE,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QAEhC,OAAO;YACL,iBAAiB;YACjB,KAAK;SACN,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAA8B,EAC9B,IAAiD;QAEjD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;QAClC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QACpC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/E,gFAAgF;QAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,4DAA4D;YAC5D,MAAM,WAAW,GAAG,EAAE,KAAK,EAAE,iBAAiB,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YAC/F,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAE5F,OAAO;gBACL,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5B,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE;aACpE,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE;YAC5B,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,IAAI,CAAC,EAAE;YACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,IAAI,EAAE,aAAa;SACpB,CAAC,CAAC;QAEH,sBAAsB;QACtB,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACvE,IAAI,gBAAgB,EAAE,CAAC;gBACrB,gFAAgF;gBAChF,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,uEAAuE;gBACvE,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;oBACvC,OAAO;oBACP,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;oBAC9D,KAAK,EAAE,aAAa;oBACpB,UAAU,EAAE,IAAI,CAAC,EAAE;oBACnB,eAAe,EAAE,OAAO,CAAC,eAAe;iBACzC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAExE,eAAe;YACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC5B,IAAI,EAAE,YAAY;gBAClB,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,KAAc,CAAC,CAAC;YAC7G,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrC,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAc,CAAC,CAAC;YAEnE,OAAO;gBACL,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;gBAC5B,YAAY,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;aAC5E,CAAC;QACJ,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE;YAC5B,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,IAAI,CAAC,EAAE;YACnB,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACzF,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,iDAAiD;QACjD,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEpD,+DAA+D;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QACxE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAEpC,kFAAkF;QAClF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,wCAAwC;QACxC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAA8B;QAC/C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAE5C,+CAA+C;QAC/C,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEnD,0EAA0E;QAC1E,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,CAAC;QACrD,CAAC;QAED,+EAA+E;QAC/E,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAClC,MAAM,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QAED,qDAAqD;QACrD,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAErC,2CAA2C;QAC3C,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAA8B,EAC9B,MAA4C;QAE5C,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAEpC,4CAA4C;QAC5C,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAElE,2BAA2B;QAC3B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE/B,+BAA+B;QAC/B,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAChC,OAAO,EACP,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CACnE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAA8B,EAAE,KAAY;QAC5D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QAEpC,wCAAwC;QACxC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhE,iCAAiC;QACjC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACvD,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,GAAG,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAChC,OAAO,EACP,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CACjE,CAAC;IACJ,CAAC;IAED,+EAA+E;IAE/E,sEAAsE;IACtE,IAAI,UAAU;QACZ,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;IACJ,CAAC;IAED,iFAAiF;IACjF,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,6EAA6E;IAE7E;;;;OAIG;IACK,mBAAmB,CAAC,KAAkB,EAAE,OAAiB;QAC/D,MAAM,IAAI,GAAG,IAAI,cAAc,EAAE,CAAC;QAClC,IAAI,cAA0C,CAAC;QAE/C,qDAAqD;QACrD,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACrC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACjE,IAAI,WAAW,EAAE,CAAC;gBAChB,cAAc,GAAG,IAAI,cAAc,CAAC;oBAClC,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,WAAW;oBACX,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;iBACtD,CAAC,CAAC;gBACH,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;oBAClC,cAAc,CAAC,UAAU,EAAE,CAAC;gBAC9B,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,oDAAoD;QACpD,IAAI,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY;iBAC/B,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBAC9B,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;iBAC3C,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC9E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,4EAA4E;QAC5E,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;YAC5B,MAAM,oBAAoB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,IAAI,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,qBAAqB,KAAK,SAAS,CAAC,CAAC;YAC3G,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC;oBAChC,MAAM,EAAE,EAAE,CAAC,MAAM;oBACjB,cAAc,EAAE,EAAE,CAAC,cAAc;iBAClC,CAAC,CAAC,CAAC;YACN,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,SAAS,GAAsB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtF,IAAI;gBACJ,WAAW,EAAG,IAAY,CAAC,WAAW,IAAI,EAAE;gBAC5C,UAAU,EAAE,CAAE,IAAY,CAAC,WAAW,IAAK,IAAY,CAAC,UAAU,CAAe;gBACjF,OAAO,EAAG,IAAY,CAAC,OAAO;aAC/B,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;IAClC,CAAC;IAED,6EAA6E;IAErE,KAAK,CAAC,YAAY,CACxB,MAA8B,EAC9B,IAAiD,EACjD,MAAe,EACf,MAAwB;QAExB,MAAM,cAAc,GAClB,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,oBAAoB,KAAK,SAAS;YACrE,CAAC,CAAC,MAAM,CAAC,oBAAoB;YAC7B,CAAC,CAAC,MAAM,CAAC;QAEb,MAAM,YAAY,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QAC9E,MAAM,IAAI,GAAyB,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;QAE5D,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,+CAA+C;gBAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC5C,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;oBAC5D,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,aAAa,EAAE,IAAI,CAAC,aAAa;iBAClC,CAAC,CAAC;gBACH,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC3C,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;gBAChD,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBAEhC,IAAI,CAAC,gBAAgB,GAAG,iBAAiB,CAAC;gBAC1C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,kBAAkB,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;gBACpE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,oBAAoB;gBACpB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,cAAc,MAAM,CAAC,WAAW,EAAE,CAAC;gBACnE,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAC7B,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,OAAO,CAAC,OAAO,EACtB,MAAM,CAAC,WAAW,EAClB,MAAM,CACP,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YAED,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,sBAAsB;gBACtB,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACzE,OAAO,IAAI,CAAC;YACd,CAAC;YAED,KAAK,UAAU,CAAC;YAChB,KAAK,qBAAqB,CAAC;YAC3B;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED,6EAA6E;IAErE,KAAK,CAAC,aAAa,CAAC,KAAkB,EAAE,OAAmB;QACjE,4EAA4E;QAC5E,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,EAAE;YACzF,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;gBACjC,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;gBAChD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;oBAAE,OAAO,SAAS,CAAC;gBACtD,OAAO,GAAkC,CAAC;YAC5C,CAAC;YACD,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;gBACjC,IAAI,CAAC,MAAM;oBAAE,OAAO,SAAS,CAAC;gBAC9B,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YACzD,CAAC;YACD,WAAW;SACZ,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAE9B,yCAAyC;QACzC,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7D,IAAI,CAAC,aAAa;YAAE,OAAO;QAE3B,MAAM,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAC3C,KAAK,EACL,OAAO,EACP,aAAa,EACb;YACE,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;gBACjC,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;gBAChD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;oBAAE,OAAO,SAAS,CAAC;gBACtD,OAAO,GAAkC,CAAC;YAC5C,CAAC;YACD,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;gBACxC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;oBAClC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;gBAChF,CAAC;gBACD,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,KAA2C,CAAC;YACnF,CAAC;YACD,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;gBACjC,IAAI,CAAC,MAAM;oBAAE,OAAO,SAAS,CAAC;gBAC9B,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;YACzD,CAAC;YACD,WAAW;YACX,YAAY,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,OAAO,CAAC;SACxE,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,MAA8B;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QAEjD,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC;oBACjD,KAAK,EAAE,UAAU;oBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC,CAAC;gBACH,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;oBACjB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,GAAG;wBACnD,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;wBAChC,KAAK,EAAE,UAAU;wBACjB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;qBACxB,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,oDAAoD,EAAE,GAAG,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAChD,IAAI,CAAC;gBACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;oBACzD,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM;oBAC7B,KAAK,EAAE,UAAU;oBACjB,KAAK,EAAE,EAAE;iBACV,CAAC,CAAC;gBACH,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,GAAG;wBAChD,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;wBAC9B,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;qBACxB,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,GAAG,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAAC,MAA8B;QAC1E,IAAI,CAAC,IAAI,CAAC,wBAAwB;YAAE,OAAO;QAE3C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;QAC5C,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAAE,OAAO;QAEnD,MAAM,IAAI,GAAG,cAAc,CAAC,qBAAqB,EAAE,CAAC;QACpD,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,UAAU,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,qBAAqB,CAAC;YACvE,MAAM,EAAE,IAAI,CAAC,gBAAgB;YAC7B,cAAc,EAAE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC;YACtD,cAAc,EAAE,UAAU;YAC1B,oBAAoB,EAAE,cAAc,CAAC,aAAa;YAClD,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;QAEH,cAAc,CAAC,mBAAmB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC3D,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,6EAA6E;IAErE,KAAK,CAAC,kBAAkB,CAAC,OAAmB,EAAE,OAAgB;QACpE,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAChC,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO;QAE5B,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,EAAE,CAAC;YACrC,sBAAsB;YACtB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACvD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;YAC3C,sEAAsE;YACtE,sEAAsE;YACtE,sDAAsD;YACtD,IAAI,YAAY,GAAG,IAAI,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5D,IAAI,MAAM,KAAK,KAAK;oBAAE,YAAY,GAAG,KAAK,CAAC;YAC7C,CAAC;YACD,IAAI,YAAY,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;oBACrD,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;wBAC3B,MAAM,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC;QACD,oCAAoC;IACtC,CAAC;IAED,6EAA6E;IAErE,KAAK,CAAC,gBAAgB,CAAC,OAAgB;QAC7C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,EAAE,CAAC;YACnE,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC3C,OAAO;YACT,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,KAAK,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvC,2CAA2C;oBAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,EAAE,OAAO,EAAE,KAAc,CAAC,CAAC;oBACzE,OAAO,CAAC,KAAK,CACX,4DAA4D,EAC5D,KAAK,CACN,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,sBAAsB;gBACtB,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAED,6EAA6E;IAErE,uBAAuB,CAC7B,OAAgB,EAChB,MAA4C;QAE5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACrD,OAAO;YACL,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,IAAI;YAChC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;YACjC,UAAU;YACV,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,UAAU;YACvC,WAAW,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,YAAY;SAC3D,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,MAA8B;QACjD,OAAQ,MAAyB,CAAC,UAAU,CAAC;IAC/C,CAAC;IAEO,sBAAsB,CAAC,OAA4B,EAAE,OAAe;QAC1E,MAAM,GAAG,GAAG,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC;QACjD,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAEtD,MAAM,SAAS,GAAG,GAA8E,CAAC;QACjG,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,IAAI,SAAS,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO,SAAS,CAAC;QAE1F,OAAO;YACL,OAAO,EAAE,SAAS,CAAC,OAAsC;YACzD,WAAW,EAAE,SAAS,CAAC,WAAW,KAAK,IAAI;YAC3C,SAAS,EAAE,SAAS,CAAC,SAAS,KAAK,IAAI;SACxC,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAAC,MAA8B;QAC3D,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,cAAc;YAAE,OAAO;QAE5B,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAC9B,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,OAAO,CAAC,OAAO,EACtB,cAAc,CAAC,QAAQ,EAAwC,CAChE,CAAC;QACF,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,MAA8B,EAC9B,QAAgB,EAChB,IAAa;QAEb,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/E,OAAO,QAAQ,IAAI,IAAI,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACtC,MAA8B,EAC9B,QAAgB,EAChB,IAAa;QAEb,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC;QAChD,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAElE,MAAM,aAAa,GAAG,cAAc,CAAC,WAAW,CAAC;QACjD,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAEhC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;QACpF,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAClD,IAAI,QAAQ,KAAK,UAAU,IAAI,CAAC,EAAE,OAAO;YAAE,OAAO,IAAI,CAAC;QAEvD,MAAM,UAAU,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU;YAAE,OAAO,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,qBAAqB,CAAC;gBACvE,MAAM,EAAE,IAAI,CAAC,gBAAgB;gBAC7B,cAAc,EAAE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC;gBACtD,cAAc,EAAE,UAAU;gBAC1B,oBAAoB,EAAE,EAAE;gBACxB,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS;aACrC,CAAC,CAAC;YAEH,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnD,OAAO,MAAM,CAAC,eAAe,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,qCAAqC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACtE,CAAC;IAEO,yBAAyB,CAAC,OAAgB;QAChD,MAAM,kBAAkB,GAAG,OAAO,CAAC,QAAQ;aACxC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;aACpC,KAAK,CAAC,CAAC,CAAC,CAAC;aACT,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAC9C,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAExF,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEO,cAAc,CAAC,OAAgB;QACrC,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAE,OAAO,OAAO,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAEzC,MAAM,IAAI,GAAG,OAAO;aACjB,MAAM,CAAC,CAAC,IAAI,EAA2C,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC;aACtH,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;aACvE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;aAC9B,IAAI,CAAC,GAAG,CAAC;aACT,IAAI,EAAE,CAAC;QAEV,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;IAEO,QAAQ,CAAC,KAAc;QAC7B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChE,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,KAAgC,CAAC;IAC1C,CAAC;IAEO,2BAA2B,CAAC,IAAwE;QAC1G,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC;QACrD,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAuD,CAAC;QAC5E,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAEO,qCAAqC,CAAC,IAAa,EAAE,UAAkB;QAC7E,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,QAAQ,GAA4B,EAAE,CAAC;QAC7C,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;QAEjE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,eAAe,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;gBACvD,IAAI,CAAC,eAAe;oBAAE,SAAS;gBAC/B,IAAI,iCAAiC,CAAC,eAAe,CAAC;oBAAE,SAAS;gBACjE,IACE,oBAAoB,CAAC,QAAQ,CAAC,eAAe,CAAC;uBAC3C,eAAe,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EACjD,CAAC;oBACD,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACxB,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC5D,MAAM,eAAe,GAAG,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC/D,IAAI,oBAAoB,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;oBACnD,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,mBAAmB,CACzB,EAAU,EACV,IAAY,EACZ,IAAa,EACb,MAAe,EACf,OAAgB,EAChB,KAAa;QAEb,OAAO;YACL,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,IAAI;YACd,IAAI;YACJ,MAAM;YACN,KAAK;YACL,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CAAC,IAAY,EAAE,KAAsB,EAAE,KAAkB;QAC/E,qDAAqD;QACrD,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAEtE,+CAA+C;QAC/C,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAErD,sBAAsB;QACtB,IAAI,IAAI,KAAK,kBAAkB,IAAI,IAAI,KAAK,eAAe;YAAE,OAAO,IAAI,CAAC;QAEzE,gBAAgB;QAChB,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QAE9E,gEAAgE;QAChE,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAEO,gBAAgB,CAAC,OAAgB;QACvC,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,yCAAyC;gBACzC,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;oBAAE,OAAO,GAAG,CAAC,OAAO,CAAC;gBACxD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;oBACjE,IAAI,QAAQ,IAAI,OAAQ,QAAgB,CAAC,IAAI,KAAK,QAAQ;wBAAE,OAAQ,QAAgB,CAAC,IAAI,CAAC;gBAC5F,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,+EAA+E;AAE/E,4EAA4E;AAC5E,SAAS,kBAAkB,CAAC,KAAkB;IAC5C,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;IACzB,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,4BAA4B;IAC5B,IAAI,UAAU,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAE,GAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9D,OAAQ,GAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAED,kCAAkC;AAClC,SAAS,WAAW,CAAC,KAAkB;IACrC,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC,CAAE,KAAa,CAAC,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAa;IAC5C,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;SAChC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,iCAAiC,CAAC,KAAa;IACtD,OAAO,iDAAiD,CAAC,IAAI,CAAC,KAAK,CAAC;WAC/D,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC;WAChC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC;WAClC,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC;WAClC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC;WACjC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;WAC5B,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1,119 @@
1
+ import type { AuthoritySessionHandle, ToolExecutionOutcome, OpenSessionParams } from './types.js';
2
+ import type { RealtimeSessionConfig } from '../realtime/RealtimeAudioClient.js';
3
+ /**
4
+ * PORT: Transport-agnostic orchestration authority for AriaFlow.
5
+ *
6
+ * This is the single point of truth for conversational semantics that must
7
+ * be consistent across text (Runtime) and realtime (RealtimeRuntime) execution.
8
+ *
9
+ * The authority owns:
10
+ * - Session lifecycle (open, close, fail)
11
+ * - Transcript recording
12
+ * - Tool execution orchestration (via ToolExecutor + CapabilityHost routing)
13
+ * - Hook lifecycle (onStart, onEnd, onToolResult, onHandoff, etc.)
14
+ * - Persistence policy (with retry and error hooks)
15
+ * - Post-turn extraction
16
+ * - Memory ingestion
17
+ * - Prompt assembly for realtime sessions
18
+ *
19
+ * The authority does NOT own:
20
+ * - WebSocket or HTTP transport mechanics
21
+ * - Audio encoding/decoding
22
+ * - Provider wire formats
23
+ * - LLM inference (that's the model client's job)
24
+ * - Stream event emission (that's the text Runtime facade's job)
25
+ *
26
+ * Facades (Runtime, RealtimeRuntime) compose this authority and add
27
+ * execution-mode-specific control flow on top.
28
+ *
29
+ * @see RFC-REALTIME-RUNTIME-AUTHORITY.md §4.1 Layer B
30
+ */
31
+ export interface OrchestrationAuthority {
32
+ /**
33
+ * Open a new or existing session and prepare it for interaction.
34
+ *
35
+ * Responsibilities:
36
+ * 1. Load or create session via ConversationState
37
+ * 2. Set active agent via AgentStateController
38
+ * 3. Bump session turn counter
39
+ * 4. Build RunContext
40
+ * 5. Fire onStart and onAgentStart hooks
41
+ *
42
+ * @returns A handle that carries session state across subsequent calls.
43
+ */
44
+ openSession(params: OpenSessionParams): Promise<AuthoritySessionHandle>;
45
+ /**
46
+ * Record user input (text transcript) into the session.
47
+ * Used by both text (from stream input) and realtime (from speech-to-text).
48
+ */
49
+ recordUserInput(handle: AuthoritySessionHandle, text: string): Promise<void>;
50
+ /**
51
+ * Record assistant output (text transcript) into the session.
52
+ * Used primarily by realtime path (assistant speech-to-text).
53
+ * Text path records via stream events instead.
54
+ */
55
+ recordAssistantOutput(handle: AuthoritySessionHandle, text: string): Promise<void>;
56
+ /**
57
+ * Prepare initial realtime session configuration.
58
+ * Builds the system prompt (via LivePromptAssembler) and tool declarations
59
+ * for the active agent's current state.
60
+ *
61
+ * Used by RealtimeRuntime before connecting to the model client.
62
+ */
63
+ prepareRealtimeConfig(handle: AuthoritySessionHandle): Promise<RealtimeSessionConfig>;
64
+ /**
65
+ * Execute a tool call through the authority pipeline.
66
+ *
67
+ * Responsibilities:
68
+ * 1. Resolve the tool from active agent's CapabilityHost
69
+ * 2. Execute via ToolExecutor (enforcement, timeouts, idempotency)
70
+ * 3. Record tool call and result events
71
+ * 4. Fire onToolResult hook
72
+ * 5. Route result through CapabilityHost.processToolResult()
73
+ * 6. Persist session (fire-and-forget in hot path)
74
+ * 7. If reconfigure: rebuild prompt and tools via assembler
75
+ * 8. If handoff: fire onHandoff hook
76
+ * 9. If end: fire onAgentEnd hook
77
+ *
78
+ * @returns Outcome describing what the facade should do next.
79
+ */
80
+ executeToolCall(handle: AuthoritySessionHandle, call: {
81
+ id: string;
82
+ name: string;
83
+ args: unknown;
84
+ }): Promise<ToolExecutionOutcome>;
85
+ /**
86
+ * Complete a turn after the model finishes responding.
87
+ *
88
+ * Responsibilities:
89
+ * 1. Run post-turn extraction (if configured)
90
+ * 2. Persist session with retry
91
+ * 3. Run memory ingestion (if configured)
92
+ * 4. Fire lifecycle hooks
93
+ */
94
+ completeTurn(handle: AuthoritySessionHandle): Promise<void>;
95
+ /**
96
+ * Close a session normally.
97
+ *
98
+ * Responsibilities:
99
+ * 1. Fire onAgentEnd hook
100
+ * 2. Fire onEnd hook (success: true)
101
+ * 3. Clean up event log transient state
102
+ * 4. Final session persistence with retry
103
+ */
104
+ closeSession(handle: AuthoritySessionHandle, result?: {
105
+ success: boolean;
106
+ error?: Error;
107
+ }): Promise<void>;
108
+ /**
109
+ * Handle an unrecoverable session error.
110
+ *
111
+ * Responsibilities:
112
+ * 1. Fire onError hook
113
+ * 2. Fire onEnd hook (success: false)
114
+ * 3. Clean up event log transient state
115
+ * 4. Emergency session persistence (best-effort)
116
+ */
117
+ failSession(handle: AuthoritySessionHandle, error: Error): Promise<void>;
118
+ }
119
+ //# sourceMappingURL=OrchestrationAuthority.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrchestrationAuthority.d.ts","sourceRoot":"","sources":["../../src/orchestration/OrchestrationAuthority.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAExE;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7E;;;;OAIG;IACH,qBAAqB,CAAC,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF;;;;;;OAMG;IACH,qBAAqB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAEtF;;;;;;;;;;;;;;;OAeG;IACH,eAAe,CACb,MAAM,EAAE,sBAAsB,EAC9B,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,GAChD,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjC;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5D;;;;;;;;OAQG;IACH,YAAY,CACV,MAAM,EAAE,sBAAsB,EAC9B,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE,GAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;;OAQG;IACH,WAAW,CAAC,MAAM,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1E"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=OrchestrationAuthority.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrchestrationAuthority.js","sourceRoot":"","sources":["../../src/orchestration/OrchestrationAuthority.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import type { LanguageModel, TelemetrySettings } from 'ai';
2
+ import type { ZodTypeAny } from 'zod';
3
+ export interface RealtimePostTurnExtractionResult {
4
+ extractedFields: Record<string, unknown>;
5
+ mergedData: Record<string, unknown>;
6
+ missingFields: string[];
7
+ complete: boolean;
8
+ }
9
+ export interface RealtimeExtractionRunnerConfig {
10
+ model: LanguageModel;
11
+ telemetry?: TelemetrySettings;
12
+ }
13
+ export declare class RealtimeExtractionRunner {
14
+ private readonly model;
15
+ private readonly telemetry?;
16
+ constructor(config: RealtimeExtractionRunnerConfig);
17
+ runPostTurnExtraction(params: {
18
+ schema: ZodTypeAny;
19
+ requiredFields: string[];
20
+ userTranscript: string;
21
+ currentCollectedData: Record<string, unknown>;
22
+ telemetry?: TelemetrySettings;
23
+ }): Promise<RealtimePostTurnExtractionResult>;
24
+ }
25
+ //# sourceMappingURL=RealtimeExtractionRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RealtimeExtractionRunner.d.ts","sourceRoot":"","sources":["../../src/orchestration/RealtimeExtractionRunner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAetC,MAAM,WAAW,gCAAgC;IAC/C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,8BAA8B;IAC7C,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,CAAC,EAAE,iBAAiB,CAAC;CAC/B;AAED,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAoB;gBAEnC,MAAM,EAAE,8BAA8B;IAK5C,qBAAqB,CAAC,MAAM,EAAE;QAClC,MAAM,EAAE,UAAU,CAAC;QACnB,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9C,SAAS,CAAC,EAAE,iBAAiB,CAAC;KAC/B,GAAG,OAAO,CAAC,gCAAgC,CAAC;CA2C9C"}
@@ -0,0 +1,62 @@
1
+ import { computeMissingFields, extractStructuredFields, mergeExtractionData, toNullableSchema, } from '../flows/extraction.js';
2
+ const EXTRACTION_SYSTEM_PROMPT = [
3
+ 'Extract only facts explicitly stated by the user in the supplied transcript.',
4
+ 'Ignore assistant statements, guesses, summaries, and inferred values.',
5
+ 'Prefer the most recent explicit user-provided value when multiple values appear.',
6
+ 'Return null for any field that remains unknown.',
7
+ ].join(' ');
8
+ export class RealtimeExtractionRunner {
9
+ model;
10
+ telemetry;
11
+ constructor(config) {
12
+ this.model = config.model;
13
+ this.telemetry = config.telemetry;
14
+ }
15
+ async runPostTurnExtraction(params) {
16
+ const { schema, requiredFields, userTranscript, currentCollectedData, telemetry } = params;
17
+ if (!userTranscript.trim()) {
18
+ const missingFields = computeMissingFields(currentCollectedData, requiredFields);
19
+ return {
20
+ extractedFields: {},
21
+ mergedData: { ...currentCollectedData },
22
+ missingFields,
23
+ complete: missingFields.length === 0,
24
+ };
25
+ }
26
+ try {
27
+ const extracted = await extractStructuredFields({
28
+ model: this.model,
29
+ schema: toNullableSchema(schema),
30
+ userMessage: userTranscript,
31
+ systemPrompt: EXTRACTION_SYSTEM_PROMPT,
32
+ telemetry: telemetry ?? this.telemetry,
33
+ });
34
+ const extractedFields = toRecord(extracted);
35
+ const mergedData = mergeExtractionData(currentCollectedData, extractedFields);
36
+ const missingFields = computeMissingFields(mergedData, requiredFields);
37
+ return {
38
+ extractedFields,
39
+ mergedData,
40
+ missingFields,
41
+ complete: missingFields.length === 0,
42
+ };
43
+ }
44
+ catch (error) {
45
+ console.error('[RealtimeExtractionRunner] Extraction failed, keeping current data:', error);
46
+ const missingFields = computeMissingFields(currentCollectedData, requiredFields);
47
+ return {
48
+ extractedFields: {},
49
+ mergedData: { ...currentCollectedData },
50
+ missingFields,
51
+ complete: missingFields.length === 0,
52
+ };
53
+ }
54
+ }
55
+ }
56
+ function toRecord(value) {
57
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
58
+ return {};
59
+ }
60
+ return value;
61
+ }
62
+ //# sourceMappingURL=RealtimeExtractionRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RealtimeExtractionRunner.js","sourceRoot":"","sources":["../../src/orchestration/RealtimeExtractionRunner.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,wBAAwB,GAAG;IAC/B,8EAA8E;IAC9E,uEAAuE;IACvE,kFAAkF;IAClF,iDAAiD;CAClD,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAcZ,MAAM,OAAO,wBAAwB;IAClB,KAAK,CAAgB;IACrB,SAAS,CAAqB;IAE/C,YAAY,MAAsC;QAChD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAM3B;QACC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,oBAAoB,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;QAE3F,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;YAC3B,MAAM,aAAa,GAAG,oBAAoB,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;YACjF,OAAO;gBACL,eAAe,EAAE,EAAE;gBACnB,UAAU,EAAE,EAAE,GAAG,oBAAoB,EAAE;gBACvC,aAAa;gBACb,QAAQ,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;aACrC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC;gBAC9C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC;gBAChC,WAAW,EAAE,cAAc;gBAC3B,YAAY,EAAE,wBAAwB;gBACtC,SAAS,EAAE,SAAS,IAAI,IAAI,CAAC,SAAS;aACvC,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG,mBAAmB,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;YAC9E,MAAM,aAAa,GAAG,oBAAoB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;YAEvE,OAAO;gBACL,eAAe;gBACf,UAAU;gBACV,aAAa;gBACb,QAAQ,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;aACrC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qEAAqE,EAAE,KAAK,CAAC,CAAC;YAC5F,MAAM,aAAa,GAAG,oBAAoB,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;YACjF,OAAO;gBACL,eAAe,EAAE,EAAE;gBACnB,UAAU,EAAE,EAAE,GAAG,oBAAoB,EAAE;gBACvC,aAAa;gBACb,QAAQ,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;aACrC,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAgC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,5 @@
1
+ export type { OrchestrationAuthority } from './OrchestrationAuthority.js';
2
+ export type { AuthoritySessionHandle, ToolExecutionOutcome, OpenSessionParams, OrchestrationAuthorityConfig, InjectedAuthorityServices, } from './types.js';
3
+ export { DefaultOrchestrationAuthority } from './DefaultOrchestrationAuthority.js';
4
+ export { RealtimeExtractionRunner, type RealtimeExtractionRunnerConfig, type RealtimePostTurnExtractionResult, } from './RealtimeExtractionRunner.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestration/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAG1E,YAAY,EACV,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EACL,wBAAwB,EACxB,KAAK,8BAA8B,EACnC,KAAK,gCAAgC,GACtC,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,4 @@
1
+ // Default implementation
2
+ export { DefaultOrchestrationAuthority } from './DefaultOrchestrationAuthority.js';
3
+ export { RealtimeExtractionRunner, } from './RealtimeExtractionRunner.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/orchestration/index.ts"],"names":[],"mappings":"AAYA,yBAAyB;AACzB,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EACL,wBAAwB,GAGzB,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,134 @@
1
+ import type { Session, RunContext, AgentConfig, HarnessHooks, EnforcementRule, AutoRetrieveProvider } from '../types/index.js';
2
+ import type { LanguageModel, TelemetrySettings } from 'ai';
3
+ import type { RealtimeSessionConfig } from '../realtime/RealtimeAudioClient.js';
4
+ import type { CapabilityAction, ToolDeclaration } from '../capabilities/index.js';
5
+ import type { SessionStore } from '../session/SessionStore.js';
6
+ import type { MemoryService } from '../memory/MemoryService.js';
7
+ import type { ToolExecutor } from '../foundation/ToolExecutor.js';
8
+ import type { ConversationState } from '../foundation/ConversationState.js';
9
+ import type { ConversationEventLog } from '../foundation/ConversationEventLog.js';
10
+ import type { AgentStateController } from '../foundation/AgentStateController.js';
11
+ import type { HookRunner } from '../hooks/HookRunner.js';
12
+ /**
13
+ * Opaque handle returned by `OrchestrationAuthority.openSession()`.
14
+ * Carries session state and runtime context across authority method calls.
15
+ * The handle is managed by the authority — consumers must not mutate internals.
16
+ */
17
+ export interface AuthoritySessionHandle {
18
+ /** The loaded or newly created session. */
19
+ readonly session: Session;
20
+ /** The runtime context for this session lifecycle. */
21
+ readonly context: RunContext;
22
+ /** The currently active agent ID. */
23
+ readonly activeAgentId: string;
24
+ }
25
+ /**
26
+ * Result of executing a tool call through the authority.
27
+ * The facade (text Runtime or RealtimeRuntime) uses this to decide
28
+ * what transport-specific action to take next.
29
+ */
30
+ export interface ToolExecutionOutcome {
31
+ /**
32
+ * The semantic action determined by CapabilityHost routing.
33
+ * - 'continue': regular tool result, model drives next response
34
+ * - 'reconfigure': flow transitioned, session config must be updated
35
+ * - 'handoff': agent handoff requested
36
+ * - 'end': flow or conversation ended
37
+ * - 'extraction-complete': structured data collection finished
38
+ */
39
+ action: CapabilityAction;
40
+ /** The tool response to send back to the model. */
41
+ toolResponse: {
42
+ id: string;
43
+ name: string;
44
+ output: unknown;
45
+ };
46
+ /**
47
+ * Updated realtime session config (system prompt + tools).
48
+ * Present only when action.type === 'reconfigure'.
49
+ * The realtime facade uses this to call modelClient.updateConfig().
50
+ */
51
+ nextRealtimeConfig?: RealtimeSessionConfig;
52
+ /**
53
+ * Updated tool declarations after reconfiguration.
54
+ * Present only when action.type === 'reconfigure'.
55
+ */
56
+ nextTools?: ToolDeclaration[];
57
+ /**
58
+ * Updated system prompt after reconfiguration.
59
+ * Present only when action.type === 'reconfigure'.
60
+ */
61
+ nextSystemPrompt?: string;
62
+ }
63
+ export interface OpenSessionParams {
64
+ /** Existing session ID to load, or undefined to create a new session. */
65
+ sessionId?: string;
66
+ /** User ID for session scoping and memory retrieval. */
67
+ userId?: string;
68
+ /** Override the default agent for this session. */
69
+ agentId?: string;
70
+ /** Execution mode — affects which lifecycle paths the authority takes. */
71
+ mode: 'text' | 'realtime';
72
+ }
73
+ /**
74
+ * Configuration for constructing a DefaultOrchestrationAuthority.
75
+ * Mirrors the relevant subset of HarnessConfig needed for
76
+ * transport-agnostic orchestration.
77
+ */
78
+ export interface OrchestrationAuthorityConfig {
79
+ /** All agent configurations. */
80
+ agents: AgentConfig[];
81
+ /** Default agent to activate when none is specified. */
82
+ defaultAgentId: string;
83
+ /** Hook callbacks for lifecycle events. */
84
+ hooks?: HarnessHooks;
85
+ /** Session store for persistence. */
86
+ sessionStore?: SessionStore;
87
+ /** Memory service for cross-session memory. */
88
+ memoryService?: MemoryService;
89
+ /** Memory ingestion mode. Default: 'manual'. */
90
+ memoryIngestion?: 'onEnd' | 'manual' | 'hook';
91
+ /** Default language model (used by extraction). */
92
+ defaultModel?: LanguageModel;
93
+ /**
94
+ * Optional dedicated text model used for realtime extraction verification.
95
+ * This is distinct from the primary realtime/audio model and is the
96
+ * authoritative verifier for extraction-node submissions when configured.
97
+ */
98
+ extractionModel?: LanguageModel;
99
+ /** Enforcement rules for tool execution. */
100
+ enforcementRules?: EnforcementRule[];
101
+ /** Telemetry settings. */
102
+ telemetry?: TelemetrySettings;
103
+ /** Max persistence retry attempts. Default: 3. */
104
+ maxPersistRetries?: number;
105
+ /**
106
+ * Optional auto-retrieve provider for realtime mode. When set, each
107
+ * `completeTurn()` in realtime runs retrieval against the last user
108
+ * transcript and stores the result in `session.workingMemory['knowledge:realtime']`.
109
+ */
110
+ autoRetrieveProvider?: AutoRetrieveProvider;
111
+ /**
112
+ * Pre-built services to inject. When provided, the authority uses these
113
+ * instead of constructing its own. This enables Runtime and the authority
114
+ * to share the exact same backing instances (same session store, same
115
+ * hook runner, same tool executor, etc.).
116
+ *
117
+ * Typical usage: Runtime constructs services in its constructor, then
118
+ * passes them here so both text and realtime paths share state.
119
+ */
120
+ injectedServices?: InjectedAuthorityServices;
121
+ }
122
+ /**
123
+ * Pre-built service instances that can be injected into the authority.
124
+ * All fields are optional — only provided services are used; missing ones
125
+ * are constructed from the config as usual.
126
+ */
127
+ export interface InjectedAuthorityServices {
128
+ toolExecutor?: ToolExecutor;
129
+ conversationState?: ConversationState;
130
+ eventLog?: ConversationEventLog;
131
+ agentState?: AgentStateController;
132
+ hookRunner?: HookRunner;
133
+ }
134
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/orchestration/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/orchestration/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * RealtimeAudioClient — Transport-agnostic interface for realtime voice AI models.
3
+ *
4
+ * Any model that accepts audio and returns audio + tool calls implements this.
5
+ * Paired with CapabilityHost:
6
+ * - CapabilityHost → agent logic (tools, prompts, flow state)
7
+ * - RealtimeAudioClient → voice transport (audio I/O, tool dispatch)
8
+ *
9
+ * Implementations:
10
+ * - GeminiRealtimeClient (Gemini Live, PCM16 @ 24kHz)
11
+ * - OpenAIRealtimeClient (OpenAI Realtime, native G.711 μ-law @ 8kHz)
12
+ * - LiveKit wraps these via @livekit/agents-plugin-google and @livekit/agents-plugin-openai
13
+ */
14
+ import type { GeminiFunctionDeclaration } from '../capabilities/adapters/gemini.js';
15
+ export interface RealtimeSessionConfig {
16
+ /** System instruction / prompt for the model. */
17
+ systemInstruction: string;
18
+ /** Tool declarations (Gemini format — adapters convert to vendor-specific). */
19
+ tools: GeminiFunctionDeclaration[];
20
+ /** Voice preset (e.g., 'Puck', 'Charon', 'marin'). */
21
+ voice?: string;
22
+ /** Model identifier (e.g., 'gemini-3.1-flash-live-preview', 'gpt-realtime'). */
23
+ model?: string;
24
+ /** Session resumption handle (for reconnect continuity). */
25
+ resumptionHandle?: string;
26
+ /** Audio format preferences. */
27
+ audio?: RealtimeAudioConfig;
28
+ }
29
+ export interface RealtimeAudioConfig {
30
+ /** Input audio format. Default: 'pcm16'. */
31
+ inputFormat?: 'pcm16' | 'pcmu' | 'pcma';
32
+ /** Output audio format. Default: 'pcm16'. */
33
+ outputFormat?: 'pcm16' | 'pcmu' | 'pcma';
34
+ /** Input sample rate in Hz. Default varies by vendor (24000 for Gemini, 8000 for OpenAI G.711). */
35
+ inputSampleRate?: number;
36
+ /** Output sample rate in Hz. Default varies by vendor. */
37
+ outputSampleRate?: number;
38
+ }
39
+ export interface RealtimeToolResponse {
40
+ id: string;
41
+ name: string;
42
+ output: unknown;
43
+ }
44
+ export interface RealtimeEventMap {
45
+ /** Raw PCM audio from the model (send to client/transport). */
46
+ audio: (data: Uint8Array) => void;
47
+ /** Transcript of user or assistant speech. */
48
+ transcript: (text: string, role: 'user' | 'assistant') => void;
49
+ /** Model wants to call a tool. */
50
+ 'tool-call': (id: string, name: string, args: unknown) => void;
51
+ /** Model finished speaking for this turn. */
52
+ 'turn-complete': () => void;
53
+ /** User interrupted the model (barge-in). */
54
+ interrupted: () => void;
55
+ /** Connection error. */
56
+ error: (error: string) => void;
57
+ /** Connection closed. */
58
+ disconnected: () => void;
59
+ }
60
+ /**
61
+ * Interface for realtime voice AI model connections.
62
+ *
63
+ * Lifecycle:
64
+ * 1. connect(config) — establish WebSocket, send initial config
65
+ * 2. sendAudio(frame) — stream user audio to model
66
+ * 3. on('tool-call', ...) — handle tool calls from model
67
+ * 4. sendToolResponse(...) — return tool results
68
+ * 5. on('audio', ...) — receive model audio output
69
+ * 6. updateConfig(...) — change prompt/tools mid-session (e.g., on flow transition)
70
+ * 7. disconnect() — close cleanly
71
+ */
72
+ export interface RealtimeAudioClient {
73
+ /** Connect to the AI service with initial configuration. */
74
+ connect(config: RealtimeSessionConfig): Promise<void>;
75
+ /** Disconnect gracefully. */
76
+ disconnect(): Promise<void>;
77
+ /** Send a PCM audio frame to the model. */
78
+ sendAudio(frame: Uint8Array): void;
79
+ /** Send tool call results back to the model. */
80
+ sendToolResponse(responses: RealtimeToolResponse[]): void;
81
+ /**
82
+ * Update session configuration mid-call (system prompt, tools).
83
+ * Used when CapabilityHost signals 'reconfigure' after a flow transition.
84
+ *
85
+ * Implementation may:
86
+ * - Send in-place update (if model supports it)
87
+ * - Disconnect and reconnect with new config (fallback)
88
+ * - Use session resumption handle for continuity
89
+ */
90
+ updateConfig(config: Partial<RealtimeSessionConfig>): Promise<void>;
91
+ /**
92
+ * Trigger a model response after config update.
93
+ * Optional — not all providers support it.
94
+ */
95
+ requestResponse?(instruction?: string): void;
96
+ /** Check connection health (WebSocket ping). */
97
+ ping(): Promise<boolean>;
98
+ /** Subscribe to events from the model. */
99
+ on<K extends keyof RealtimeEventMap>(event: K, handler: RealtimeEventMap[K]): void;
100
+ /** Unsubscribe from events. */
101
+ off<K extends keyof RealtimeEventMap>(event: K, handler: RealtimeEventMap[K]): void;
102
+ /** Whether currently connected to the model. */
103
+ readonly connected: boolean;
104
+ }
105
+ //# sourceMappingURL=RealtimeAudioClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RealtimeAudioClient.d.ts","sourceRoot":"","sources":["../../src/realtime/RealtimeAudioClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * RealtimeAudioClient — Transport-agnostic interface for realtime voice AI models.
3
+ *
4
+ * Any model that accepts audio and returns audio + tool calls implements this.
5
+ * Paired with CapabilityHost:
6
+ * - CapabilityHost → agent logic (tools, prompts, flow state)
7
+ * - RealtimeAudioClient → voice transport (audio I/O, tool dispatch)
8
+ *
9
+ * Implementations:
10
+ * - GeminiRealtimeClient (Gemini Live, PCM16 @ 24kHz)
11
+ * - OpenAIRealtimeClient (OpenAI Realtime, native G.711 μ-law @ 8kHz)
12
+ * - LiveKit wraps these via @livekit/agents-plugin-google and @livekit/agents-plugin-openai
13
+ */
14
+ export {};
15
+ //# sourceMappingURL=RealtimeAudioClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RealtimeAudioClient.js","sourceRoot":"","sources":["../../src/realtime/RealtimeAudioClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}