@calliopelabs/cli 3.6.0 → 3.8.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 (196) hide show
  1. package/README.md +13 -0
  2. package/dist/acp/controls.d.ts +10 -0
  3. package/dist/acp/controls.d.ts.map +1 -0
  4. package/dist/acp/controls.js +81 -0
  5. package/dist/acp/controls.js.map +1 -0
  6. package/dist/acp.d.ts +11 -4
  7. package/dist/acp.d.ts.map +1 -1
  8. package/dist/acp.js +114 -18
  9. package/dist/acp.js.map +1 -1
  10. package/dist/approvals/request.d.ts.map +1 -1
  11. package/dist/approvals/request.js +10 -0
  12. package/dist/approvals/request.js.map +1 -1
  13. package/dist/auth/chatgpt/fallback.d.ts +31 -0
  14. package/dist/auth/chatgpt/fallback.d.ts.map +1 -0
  15. package/dist/auth/chatgpt/fallback.js +111 -0
  16. package/dist/auth/chatgpt/fallback.js.map +1 -0
  17. package/dist/auth/chatgpt/index.d.ts +6 -0
  18. package/dist/auth/chatgpt/index.d.ts.map +1 -0
  19. package/dist/auth/chatgpt/index.js +6 -0
  20. package/dist/auth/chatgpt/index.js.map +1 -0
  21. package/dist/auth/chatgpt/login.d.ts +4 -0
  22. package/dist/auth/chatgpt/login.d.ts.map +1 -0
  23. package/dist/auth/chatgpt/login.js +82 -0
  24. package/dist/auth/chatgpt/login.js.map +1 -0
  25. package/dist/auth/chatgpt/protocol.d.ts +24 -0
  26. package/dist/auth/chatgpt/protocol.d.ts.map +1 -0
  27. package/dist/auth/chatgpt/protocol.js +71 -0
  28. package/dist/auth/chatgpt/protocol.js.map +1 -0
  29. package/dist/auth/chatgpt/session.d.ts +24 -0
  30. package/dist/auth/chatgpt/session.d.ts.map +1 -0
  31. package/dist/auth/chatgpt/session.js +101 -0
  32. package/dist/auth/chatgpt/session.js.map +1 -0
  33. package/dist/auth/chatgpt/store.d.ts +28 -0
  34. package/dist/auth/chatgpt/store.d.ts.map +1 -0
  35. package/dist/auth/chatgpt/store.js +75 -0
  36. package/dist/auth/chatgpt/store.js.map +1 -0
  37. package/dist/auth/cli.d.ts +2 -0
  38. package/dist/auth/cli.d.ts.map +1 -0
  39. package/dist/auth/cli.js +38 -0
  40. package/dist/auth/cli.js.map +1 -0
  41. package/dist/auth/index.d.ts +2 -0
  42. package/dist/auth/index.d.ts.map +1 -0
  43. package/dist/auth/index.js +2 -0
  44. package/dist/auth/index.js.map +1 -0
  45. package/dist/bin.d.ts.map +1 -1
  46. package/dist/bin.js +25 -0
  47. package/dist/bin.js.map +1 -1
  48. package/dist/brain/exchange.d.ts.map +1 -1
  49. package/dist/brain/exchange.js +3 -1
  50. package/dist/brain/exchange.js.map +1 -1
  51. package/dist/brain/kg-export.d.ts +1 -1
  52. package/dist/brain/kg.d.ts +1 -1
  53. package/dist/brain/kg.d.ts.map +1 -1
  54. package/dist/brain/kg.js +3 -1
  55. package/dist/brain/kg.js.map +1 -1
  56. package/dist/build-identity.d.ts +27 -0
  57. package/dist/build-identity.d.ts.map +1 -0
  58. package/dist/build-identity.js +32 -0
  59. package/dist/build-identity.js.map +1 -0
  60. package/dist/build-metadata.json +1 -0
  61. package/dist/config.d.ts +7 -0
  62. package/dist/config.d.ts.map +1 -1
  63. package/dist/config.js +7 -2
  64. package/dist/config.js.map +1 -1
  65. package/dist/delegation/claude.d.ts +28 -0
  66. package/dist/delegation/claude.d.ts.map +1 -0
  67. package/dist/delegation/claude.js +107 -0
  68. package/dist/delegation/claude.js.map +1 -0
  69. package/dist/delegation/index.d.ts +2 -0
  70. package/dist/delegation/index.d.ts.map +1 -0
  71. package/dist/delegation/index.js +2 -0
  72. package/dist/delegation/index.js.map +1 -0
  73. package/dist/execution/attribution.d.ts +3 -0
  74. package/dist/execution/attribution.d.ts.map +1 -1
  75. package/dist/execution/attribution.js.map +1 -1
  76. package/dist/execution/delegated.d.ts.map +1 -1
  77. package/dist/execution/delegated.js +5 -2
  78. package/dist/execution/delegated.js.map +1 -1
  79. package/dist/execution/ledger-cli.d.ts.map +1 -1
  80. package/dist/execution/ledger-cli.js +9 -7
  81. package/dist/execution/ledger-cli.js.map +1 -1
  82. package/dist/execution/ledger-server.d.ts +6 -0
  83. package/dist/execution/ledger-server.d.ts.map +1 -1
  84. package/dist/execution/ledger-server.js +39 -4
  85. package/dist/execution/ledger-server.js.map +1 -1
  86. package/dist/execution/quote.d.ts +1 -1
  87. package/dist/execution/quote.d.ts.map +1 -1
  88. package/dist/execution/quote.js +4 -2
  89. package/dist/execution/quote.js.map +1 -1
  90. package/dist/execution/remote-ledger.d.ts +7 -0
  91. package/dist/execution/remote-ledger.d.ts.map +1 -1
  92. package/dist/execution/remote-ledger.js +22 -5
  93. package/dist/execution/remote-ledger.js.map +1 -1
  94. package/dist/health/target.d.ts.map +1 -1
  95. package/dist/health/target.js +8 -1
  96. package/dist/health/target.js.map +1 -1
  97. package/dist/improvement/cli.d.ts +1 -1
  98. package/dist/improvement/cli.d.ts.map +1 -1
  99. package/dist/improvement/cli.js +18 -4
  100. package/dist/improvement/cli.js.map +1 -1
  101. package/dist/improvement/host-capabilities.d.ts +252 -0
  102. package/dist/improvement/host-capabilities.d.ts.map +1 -0
  103. package/dist/improvement/host-capabilities.js +25 -0
  104. package/dist/improvement/host-capabilities.js.map +1 -0
  105. package/dist/improvement/index.d.ts +3 -0
  106. package/dist/improvement/index.d.ts.map +1 -1
  107. package/dist/improvement/index.js +3 -0
  108. package/dist/improvement/index.js.map +1 -1
  109. package/dist/improvement/task-feedback-contract.d.ts +41 -0
  110. package/dist/improvement/task-feedback-contract.d.ts.map +1 -0
  111. package/dist/improvement/task-feedback-contract.js +83 -0
  112. package/dist/improvement/task-feedback-contract.js.map +1 -0
  113. package/dist/improvement/task-feedback.d.ts +149 -0
  114. package/dist/improvement/task-feedback.d.ts.map +1 -0
  115. package/dist/improvement/task-feedback.js +117 -0
  116. package/dist/improvement/task-feedback.js.map +1 -0
  117. package/dist/improvement/task-outcomes.d.ts +2 -2
  118. package/dist/improvement/task-outcomes.d.ts.map +1 -1
  119. package/dist/improvement/task-outcomes.js +2 -3
  120. package/dist/improvement/task-outcomes.js.map +1 -1
  121. package/dist/model-detection.d.ts +0 -5
  122. package/dist/model-detection.d.ts.map +1 -1
  123. package/dist/model-detection.js +5 -5
  124. package/dist/model-detection.js.map +1 -1
  125. package/dist/orchestration/coordinator-types.d.ts +4 -1
  126. package/dist/orchestration/coordinator-types.d.ts.map +1 -1
  127. package/dist/orchestration/execution-journal.d.ts.map +1 -1
  128. package/dist/orchestration/execution-journal.js +10 -3
  129. package/dist/orchestration/execution-journal.js.map +1 -1
  130. package/dist/orchestration/execution.d.ts +3 -1
  131. package/dist/orchestration/execution.d.ts.map +1 -1
  132. package/dist/orchestration/execution.js +1 -1
  133. package/dist/orchestration/execution.js.map +1 -1
  134. package/dist/orchestration/reviewed-ledger.d.ts +42 -0
  135. package/dist/orchestration/reviewed-ledger.d.ts.map +1 -1
  136. package/dist/orchestration/reviewed-ledger.js +59 -9
  137. package/dist/orchestration/reviewed-ledger.js.map +1 -1
  138. package/dist/orchestration/routing.d.ts +5 -0
  139. package/dist/orchestration/routing.d.ts.map +1 -1
  140. package/dist/orchestration/routing.js +15 -2
  141. package/dist/orchestration/routing.js.map +1 -1
  142. package/dist/orchestration/task-configuration.d.ts +8 -0
  143. package/dist/orchestration/task-configuration.d.ts.map +1 -0
  144. package/dist/orchestration/task-configuration.js +23 -0
  145. package/dist/orchestration/task-configuration.js.map +1 -0
  146. package/dist/providers/chatgpt.d.ts +11 -0
  147. package/dist/providers/chatgpt.d.ts.map +1 -0
  148. package/dist/providers/chatgpt.js +156 -0
  149. package/dist/providers/chatgpt.js.map +1 -0
  150. package/dist/providers/index.d.ts +0 -5
  151. package/dist/providers/index.d.ts.map +1 -1
  152. package/dist/providers/index.js +10 -2
  153. package/dist/providers/index.js.map +1 -1
  154. package/dist/providers/types.d.ts +5 -0
  155. package/dist/providers/types.d.ts.map +1 -1
  156. package/dist/providers/types.js.map +1 -1
  157. package/dist/runlog.d.ts +1 -1
  158. package/dist/runlog.d.ts.map +1 -1
  159. package/dist/runtime/permissions.d.ts.map +1 -1
  160. package/dist/runtime/permissions.js +1 -0
  161. package/dist/runtime/permissions.js.map +1 -1
  162. package/dist/runtime/turn.d.ts.map +1 -1
  163. package/dist/runtime/turn.js +79 -12
  164. package/dist/runtime/turn.js.map +1 -1
  165. package/dist/sessions/execution-binding.d.ts +8 -3
  166. package/dist/sessions/execution-binding.d.ts.map +1 -1
  167. package/dist/sessions/execution-binding.js +13 -3
  168. package/dist/sessions/execution-binding.js.map +1 -1
  169. package/dist/storage.d.ts +2 -0
  170. package/dist/storage.d.ts.map +1 -1
  171. package/dist/storage.js +5 -1
  172. package/dist/storage.js.map +1 -1
  173. package/dist/types.d.ts +1 -0
  174. package/dist/types.d.ts.map +1 -1
  175. package/dist/types.js.map +1 -1
  176. package/dist/ui/components.d.ts.map +1 -1
  177. package/dist/ui/components.js +3 -5
  178. package/dist/ui/components.js.map +1 -1
  179. package/dist/ui/frame.js +3 -3
  180. package/dist/ui/frame.js.map +1 -1
  181. package/dist/ui/modals/tool-output.d.ts.map +1 -1
  182. package/dist/ui/modals/tool-output.js +5 -6
  183. package/dist/ui/modals/tool-output.js.map +1 -1
  184. package/dist/ui/state/use-terminal-width.d.ts.map +1 -1
  185. package/dist/ui/state/use-terminal-width.js +2 -13
  186. package/dist/ui/state/use-terminal-width.js.map +1 -1
  187. package/docs/acp.md +228 -0
  188. package/docs/chatgpt-plan.md +109 -0
  189. package/docs/claude-plan.md +58 -0
  190. package/docs/delegation-ledger.md +56 -3
  191. package/docs/improvement-cycles.md +309 -0
  192. package/docs/releases/3.7.0.md +53 -0
  193. package/docs/releases/3.8.0.md +65 -0
  194. package/docs/reviewed-provider-metadata.md +84 -0
  195. package/docs/task-feedback.md +77 -0
  196. package/package.json +21 -12
@@ -1 +1 @@
1
- {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/orchestration/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../src/orchestration/execution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,YAAY,EAAE,yBAAyB,EAAE,kCAAkC,EAA8C,MAAM,uBAAuB,CAAC;AACxM,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAC,qBAAqB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAoB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAElE,OAAO,EAAC,wBAAwB,EAAC,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAC,qBAAqB,EAAC,MAAM,+BAA+B,CAAC;AAEpE,4FAA4F;AAC5F,MAAM,UAAU,uBAAuB,CAAC,KAAiB,EAAC,GAAG,GAAC,IAAI,CAAC,GAAG,EAAE;IACtE,MAAM,QAAQ,GAAC,mBAAmB,CAAC,KAAK,CAAC,EAAC,IAAI,GAAC,QAAQ,CAAC,IAAI,CAAC;IAC7D,OAAO,yBAAyB,CAAC,EAAC,OAAO,EAAC,CAAC,EAAC,KAAK,EAAC,QAAQ,CAAC,EAAE,EAAC,QAAQ,EAAC,QAAQ,CAAC,QAAQ,EAAC,OAAO,EAAC,QAAQ,CAAC,OAAO,EAAC,SAAS,EAAC,GAAG,EAAC,QAAQ,EAAC,GAAG,GAAC,IAAI,CAAC,MAAM,CAAC,YAAY;QACnK,WAAW,EAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAC,eAAe,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAC,GAAG,CAAC;QAC7F,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAA,EAAE,CAAA,CAAC,EAAC,EAAE,EAAC,KAAK,CAAC,EAAE,EAAC,QAAQ,EAAC,KAAK,CAAC,QAAQ,EAAC,WAAW,EAAC,KAAK,CAAC,WAAW,EAAC,eAAe,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,GAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,GAAG,GAAC,KAAK,CAAC,YAAY,EAAC,YAAY,EAAC,KAAK,CAAC,YAAY,EAAC,YAAY,EAAC,KAAK,CAAC,YAAY,EAAC,CAAC,CAAC,EAAC,CAAC,CAAC;AACjQ,CAAC;AACD,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,GAAU,EAAC,KAAY,EAAC,OAAc,EAAC,eAAsB,EAAC,OAAO,GAA+E,EAAE;IAChM,MAAM,KAAK,GAAC,OAAO,CAAC,KAAK,IAAE,IAAI,QAAQ,EAAE,EAAC,IAAI,GAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,EAAC,GAAG,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1F,kCAAkC,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1E,IAAG,IAAI,CAAC,GAAG,CAAC,MAAM,KAAG,UAAU;QAAC,MAAM,IAAI,kBAAkB,CAAC,eAAe,EAAC,uEAAuE,CAAC,CAAC;IACtJ,MAAM,cAAc,GAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,KAAK,CAAC,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,OAAO,GAAC,cAAc,CAAC,MAAM,EAAE,CAAA,CAAC,CAAA,cAAc,CAAC,OAAO,EAAE,CAAA,CAAC,CAAA,IAAI,CAAC,QAAQ,CAAC;IACrJ,IAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,EAAE,KAAG,OAAO,CAAC,IAAE,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,IAAE,eAAe,GAAC,CAAC,IAAE,eAAe,GAAC,SAAS;QAAC,MAAM,IAAI,kBAAkB,CAAC,SAAS,EAAC,wCAAwC,CAAC,CAAC;IACvN,MAAM,MAAM,GAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,KAAK,EAAC,QAAQ,CAAC,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,CAAC,CAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA,CAAC,CAAA,SAAS,CAAC;IAC3E,MAAM,QAAQ,GAAC,OAAO,CAAC,YAAY,KAAG,SAAS,CAAA,CAAC,CAAA,SAAS,CAAA,CAAC,CAAA,wBAAwB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACzG,IAAG,QAAQ,IAAE,QAAQ,IAAE,aAAa,CAAC,QAAQ,CAAC,MAAM,IAAE,IAAI,CAAC,KAAG,aAAa,CAAC,QAAQ,CAAC;QAAC,MAAM,IAAI,kBAAkB,CAAC,UAAU,EAAC,4DAA4D,CAAC,CAAC;IAC5L,MAAM,MAAM,GAAC,QAAQ,IAAE,QAAQ,EAAE,MAAM,CAAC;IACxC,MAAM,sBAAsB,CAAC,GAAG,EAAC,sBAAsB,EAAC,EAAC,IAAI,EAAC,GAAG,EAAC,KAAK,EAAC,OAAO,EAAC,QAAQ,EAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAC,QAAQ,EAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAC,eAAe,EAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAA,CAAC,CAAA,EAAC,eAAe,EAAC,OAAO,CAAC,uBAAuB,EAAC,CAAA,CAAC,CAAA,EAAE,CAAC,EAAC,GAAG,CAAC,MAAM,CAAA,CAAC,CAAA,EAAC,YAAY,EAAC,MAAM,EAAC,CAAA,CAAC,CAAA,EAAE,CAAC,EAAC,EAAC,OAAO,CAAC,CAAC;IACpS,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAAA,MAAM,MAAM,GAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,EAAC,GAAG,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzF,IAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,KAAG,IAAI,CAAC,GAAG,CAAC,QAAQ;QAAC,MAAM,IAAI,kBAAkB,CAAC,UAAU,EAAC,mDAAmD,CAAC,CAAC;IACxI,MAAM,EAAC,gBAAgB,EAAC,GAAC,MAAM,MAAM,CAAC,mBAAmB,CAAC,EAAC,aAAa,GAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpH,IAAI,QAAQ,GAAC,QAAQ,IAAE,uBAAuB,CAAC,IAAI,CAAC,QAAQ,EAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IACvF,IAAG,MAAM,EAAC,CAAC;QACT,QAAQ,GAAC,yBAAyB,CAAC,EAAC,GAAG,QAAQ,EAAC,OAAO,EAAC,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC;IACrE,CAAC;IACD,IAAG,QAAQ,CAAC,KAAK,KAAG,KAAK,IAAE,QAAQ,CAAC,QAAQ,KAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAAC,MAAM,IAAI,kBAAkB,CAAC,UAAU,EAAC,qCAAqC,CAAC,CAAC;IACrJ,aAAa,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,OAAO,GAAC,MAAM,qBAAqB,CAAC,QAAQ,EAAC,GAAG,EAAC,IAAI,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,eAAe,GAAC,GAAE,EAAE;QACxB,cAAc,CAAC,cAAc,CAAC,EAAC,gBAAgB,EAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAC,CAAC,CAAC;QAAA,aAAa,EAAE,YAAY,EAAE,CAAC;QAAA,OAAO,EAAE,YAAY,EAAE,CAAC;QAC1H,IAAG,cAAc,CAAC,MAAM,EAAE,EAAC,CAAC;YAC1B,MAAM,OAAO,GAAC,qBAAqB,CAAC,cAAc,EAAC,MAAM,CAAC,CAAC;YAAA,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9G,IAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,EAAE,KAAG,OAAO,CAAC;gBAAC,MAAM,IAAI,kBAAkB,CAAC,eAAe,EAAC,6CAA6C,CAAC,CAAC;YACpJ,IAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,KAAG,WAAW;gBAAC,MAAM,IAAI,mBAAmB,CAAC,WAAW,EAAC,0DAA0D,CAAC,CAAC;YACjJ,4EAA4E;YAC5E,sEAAsE;YACtE,IAAI,KAAK,GAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,EAAE,KAAG,OAAO,CAAC,CAAC;YAC9D,OAAM,KAAK,EAAC,CAAC;gBACX,IAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAAC,MAAM,IAAI,mBAAmB,CAAC,WAAW,EAAC,wDAAwD,CAAC,CAAC;gBAC3J,KAAK,GAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,EAAE,KAAG,KAAM,CAAC,QAAQ,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,eAAe,EAAE,CAAC;IAAA,OAAO,EAAC,MAAM,EAAC,YAAY,EAAC,YAAY,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAC,eAAe,EAAC,eAAe,EAAC,CAAC;AAChH,CAAC"}
@@ -4,8 +4,41 @@ export declare const REVIEWED_LEDGER_CAPABILITY: {
4
4
  readonly ownerScope: 1;
5
5
  readonly tokenVersion: 2;
6
6
  readonly reviewedAuthority: 1;
7
+ readonly endpointBinding: 1;
7
8
  readonly grants: 'native-admissions-only';
8
9
  };
10
+ export declare const REVIEWED_TASK_LEDGER_CAPABILITY: {
11
+ readonly version: 2;
12
+ readonly ownerScope: 1;
13
+ readonly tokenVersion: 2;
14
+ readonly reviewedAuthority: 1;
15
+ readonly taskBinding: 1;
16
+ readonly endpointBinding: 1;
17
+ readonly grants: 'unavailable';
18
+ };
19
+ /** Bind a child to a native start event; this neither dispatches nor takes task ownership. */
20
+ export declare function prepareReviewedTaskLedger(cwd: string, runId: string, taskId: string, attempt: number, maxOutputTokens: number, options?: RunActionOptions): Promise<{
21
+ server: import("node:http").Server<typeof import("node:http").IncomingMessage, typeof import("node:http").ServerResponse>;
22
+ ownerToken: string;
23
+ execution: import("../execution/guard.js").AgentExecution;
24
+ deadline: number;
25
+ capability: {
26
+ readonly version: 1;
27
+ readonly ownerScope: 1;
28
+ readonly tokenVersion: 2;
29
+ readonly reviewedAuthority: 1;
30
+ readonly endpointBinding: 1;
31
+ readonly grants: 'native-admissions-only';
32
+ } | {
33
+ readonly version: 2;
34
+ readonly ownerScope: 1;
35
+ readonly tokenVersion: 2;
36
+ readonly reviewedAuthority: 1;
37
+ readonly taskBinding: 1;
38
+ readonly endpointBinding: 1;
39
+ readonly grants: 'unavailable';
40
+ };
41
+ }>;
9
42
  /** Returns an unbound server and a private owner token. Only the trusted host listens or delivers credentials. */
10
43
  export declare function prepareReviewedLedger(cwd: string, runId: string, agentId: string, maxOutputTokens: number, options?: RunActionOptions): Promise<{
11
44
  server: import("node:http").Server<typeof import("node:http").IncomingMessage, typeof import("node:http").ServerResponse>;
@@ -17,7 +50,16 @@ export declare function prepareReviewedLedger(cwd: string, runId: string, agentI
17
50
  readonly ownerScope: 1;
18
51
  readonly tokenVersion: 2;
19
52
  readonly reviewedAuthority: 1;
53
+ readonly endpointBinding: 1;
20
54
  readonly grants: 'native-admissions-only';
55
+ } | {
56
+ readonly version: 2;
57
+ readonly ownerScope: 1;
58
+ readonly tokenVersion: 2;
59
+ readonly reviewedAuthority: 1;
60
+ readonly taskBinding: 1;
61
+ readonly endpointBinding: 1;
62
+ readonly grants: 'unavailable';
21
63
  };
22
64
  }>;
23
65
  //# sourceMappingURL=reviewed-ledger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reviewed-ledger.d.ts","sourceRoot":"","sources":["../../src/orchestration/reviewed-ledger.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAEnD,eAAO,MAAM,0BAA0B;aAAE,OAAO,EAAC,CAAC;aAAC,UAAU,EAAC,CAAC;aAAC,YAAY,EAAC,CAAC;aAAC,iBAAiB,EAAC,CAAC;aAAC,MAAM,EAAC,wBAAwB;CAAU,CAAC;AAE7I,kHAAkH;AAClH,wBAAsB,qBAAqB,CAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,MAAM,EAAC,eAAe,EAAC,MAAM,EAAC,OAAO,GAAC,gBAAmB;;;;;;0BAHpF,CAAC;6BAAY,CAAC;+BAAc,CAAC;oCAAmB,CAAC;yBAAQ,wBAAwB;;GA6BjI"}
1
+ {"version":3,"file":"reviewed-ledger.d.ts","sourceRoot":"","sources":["../../src/orchestration/reviewed-ledger.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAGnD,eAAO,MAAM,0BAA0B;aAAE,OAAO,EAAC,CAAC;aAAC,UAAU,EAAC,CAAC;aAAC,YAAY,EAAC,CAAC;aAAC,iBAAiB,EAAC,CAAC;aAAC,eAAe,EAAC,CAAC;aAAC,MAAM,EAAC,wBAAwB;CAAU,CAAC;AAC/J,eAAO,MAAM,+BAA+B;aAAE,OAAO,EAAC,CAAC;aAAC,UAAU,EAAC,CAAC;aAAC,YAAY,EAAC,CAAC;aAAC,iBAAiB,EAAC,CAAC;aAAC,WAAW,EAAC,CAAC;aAAC,eAAe,EAAC,CAAC;aAAC,MAAM,EAAC,aAAa;CAAU,CAAC;AAgBvK,8FAA8F;AAC9F,wBAAsB,yBAAyB,CAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,MAAM,EAAC,eAAe,EAAC,MAAM,EAAC,OAAO,GAAC,gBAAmB;;;;;;0BAlBtG,CAAC;6BAAY,CAAC;+BAAc,CAAC;oCAAmB,CAAC;kCAAiB,CAAC;yBAAQ,wBAAwB;;0BAC9F,CAAC;6BAAY,CAAC;+BAAc,CAAC;oCAAmB,CAAC;8BAAa,CAAC;kCAAiB,CAAC;yBAAQ,aAAa;;GAqB3J;AAED,kHAAkH;AAClH,wBAAsB,qBAAqB,CAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,MAAM,EAAC,eAAe,EAAC,MAAM,EAAC,OAAO,GAAC,gBAAmB;;;;;;0BAzBpF,CAAC;6BAAY,CAAC;+BAAc,CAAC;oCAAmB,CAAC;kCAAiB,CAAC;yBAAQ,wBAAwB;;0BAC9F,CAAC;6BAAY,CAAC;+BAAc,CAAC;oCAAmB,CAAC;8BAAa,CAAC;kCAAiB,CAAC;yBAAQ,aAAa;;GA0B3J"}
@@ -1,8 +1,10 @@
1
1
  /** Host an existing reviewed allowance; native graph admission remains the only writer of children. */
2
2
  import { dirname, join } from 'node:path';
3
+ import { getProviderNames } from '../config.js';
4
+ import { providerTarget } from '../health/target.js';
3
5
  import { canonicalJson, digest } from '../approvals/index.js';
4
6
  import { throwIfCancelled } from '../cancellation.js';
5
- import { accountLineage } from '../execution/authority.js';
7
+ import { accountLineage, identifier, integer } from '../execution/authority.js';
6
8
  import { effectiveExecutionManifest } from '../execution/child-grants.js';
7
9
  import { createLedgerServer } from '../execution/ledger-server.js';
8
10
  import { LedgerServerState, mintLedgerToken } from '../execution/ledger-protocol.js';
@@ -12,17 +14,54 @@ import { RunStore } from './store.js';
12
14
  import { ExecutionStore } from './execution-store.js';
13
15
  import { agentStopped } from './execution-journal.js';
14
16
  import { prepareAgentExecution } from './execution.js';
15
- export const REVIEWED_LEDGER_CAPABILITY = { version: 1, ownerScope: 1, tokenVersion: 2, reviewedAuthority: 1, grants: 'native-admissions-only' };
17
+ import { matchesAgentRouting, taskSmartSelection } from './routing.js';
18
+ export const REVIEWED_LEDGER_CAPABILITY = { version: 1, ownerScope: 1, tokenVersion: 2, reviewedAuthority: 1, endpointBinding: 1, grants: 'native-admissions-only' };
19
+ export const REVIEWED_TASK_LEDGER_CAPABILITY = { version: 2, ownerScope: 1, tokenVersion: 2, reviewedAuthority: 1, taskBinding: 1, endpointBinding: 1, grants: 'unavailable' };
20
+ function currentTask(history, taskId, attempt) {
21
+ identifier(taskId);
22
+ integer(attempt, 1, 4);
23
+ const current = history.read(), task = current.state.tasks[taskId];
24
+ const event = [...current.events].reverse().find(event => event.change.type === 'task_started' && event.change.taskId === taskId);
25
+ const owner = [...current.events].reverse().find(event => event.change.type === 'started');
26
+ if (current.state.status !== 'running' || !current.state.ownerId || !task || task.status !== 'running' || task.attempts !== attempt ||
27
+ !owner || owner.change.type !== 'started' || owner.change.ownerId !== current.state.ownerId || !event || event.sequence <= owner.sequence ||
28
+ event.change.type !== 'task_started' || event.change.attempt !== attempt || event.change.requestAttribution !== 1 || event.change.sessionId !== task.sessionId)
29
+ throw new ExecutionLimitError('authority', 'Task requires its current attributed native attempt.');
30
+ return { agentId: task.agentId, ownerId: current.state.ownerId, attribution: { version: 1, kind: 'task', eventId: event.id, eventHash: event.hash,
31
+ sessionId: event.change.sessionId, taskId, attempt } };
32
+ }
33
+ /** Bind a child to a native start event; this neither dispatches nor takes task ownership. */
34
+ export async function prepareReviewedTaskLedger(cwd, runId, taskId, attempt, maxOutputTokens, options = {}) {
35
+ const runs = options.store ?? new RunStore(), view = await runs.read(runId, cwd, options.signal);
36
+ const binding = currentTask(new ExecutionStore(join(runs.root, runId), view.manifest), taskId, attempt);
37
+ return prepareReviewedHost(cwd, runId, binding.agentId, maxOutputTokens, { ...options, store: runs }, binding);
38
+ }
16
39
  /** Returns an unbound server and a private owner token. Only the trusted host listens or delivers credentials. */
17
40
  export async function prepareReviewedLedger(cwd, runId, agentId, maxOutputTokens, options = {}) {
18
- const runs = options.store ?? new RunStore(), execution = await prepareAgentExecution(cwd, runId, agentId, maxOutputTokens, { ...options, store: runs });
41
+ return prepareReviewedHost(cwd, runId, agentId, maxOutputTokens, options);
42
+ }
43
+ async function prepareReviewedHost(cwd, runId, agentId, maxOutputTokens, options, task) {
44
+ const captureTargets = () => Object.fromEntries(getProviderNames().map(provider => [provider, providerTarget(provider).key]));
45
+ const targets = Object.freeze(captureTargets());
46
+ const runs = options.store ?? new RunStore(), execution = await prepareAgentExecution(cwd, runId, agentId, maxOutputTokens, { ...options, store: runs, reviewedProviderTargets: targets });
19
47
  const ledger = execution.ledger, view = await runs.read(runId, cwd, options.signal), history = new ExecutionStore(join(runs.root, runId), view.manifest);
20
- const assertOwner = () => { throwIfCancelled(options.signal); execution.assertAuthority(); };
48
+ const assertOwner = () => {
49
+ throwIfCancelled(options.signal);
50
+ execution.assertAuthority();
51
+ if (canonicalJson(captureTargets()) !== canonicalJson(targets))
52
+ throw new ExecutionLimitError('authority', 'Reviewed provider endpoint configuration changed.');
53
+ if (task && canonicalJson(currentTask(history, task.attribution.taskId, task.attribution.attempt)) !== canonicalJson(task))
54
+ throw new ExecutionLimitError('authority', 'Native task execution binding changed.');
55
+ };
21
56
  const assertAccount = (id) => {
22
57
  assertOwner();
58
+ if (task && id !== task.agentId)
59
+ throw new ExecutionLimitError('authority', 'Task endpoint cannot act for another account.');
23
60
  const current = history.exists() ? inspectSpawnAuthority(history, ledger) : undefined, context = current?.context ?? view.manifest;
24
- if (!context.plan.agents.some(agent => agent.id === id) || current && agentStopped(current.view.state, context, id))
61
+ const agent = context.plan.agents.find(agent => agent.id === id);
62
+ if (!agent || current && agentStopped(current.view.state, context, id))
25
63
  throw new ExecutionLimitError('authority', 'Account is not active in the reviewed native graph.');
64
+ return agent;
26
65
  };
27
66
  const assertGrant = (grant) => {
28
67
  assertOwner();
@@ -38,12 +77,23 @@ export async function prepareReviewedLedger(cwd, runId, agentId, maxOutputTokens
38
77
  throw new ExecutionLimitError('deadline', 'Original owner allowance expired.');
39
78
  history.create({ version: 1, runId, manifestHash: view.manifest.hash, approvalRevision: view.run.revision, createdAt: new Date(saved.manifest.createdAt).toISOString(), deadline: saved.manifest.deadline });
40
79
  assertAccount(agentId);
41
- const authority = digest(canonicalJson({ version: 1, runId, manifestHash: view.manifest.hash, approvalRevision: view.run.revision }));
80
+ const authority = digest(canonicalJson({ version: 1, runId, manifestHash: view.manifest.hash, approvalRevision: view.run.revision, providerTargets: targets,
81
+ ...(task ? { task: { ...task, maxOutputTokens } } : {}) }));
42
82
  const state = new LedgerServerState(join(dirname(ledger.root), `${runId}.ledger-server`));
43
83
  const server = createLedgerServer({ ledger, cwd, state, ownerAgentId: agentId, authority, assertAuthority: assertOwner, assertAccountAuthority: assertAccount, assertGrantAuthority: assertGrant,
44
- assertReservationAuthority: reservation => { if (reservation.outputTokens > maxOutputTokens)
45
- throw new ExecutionLimitError('budget', 'Request exceeds the reviewed host output limit.'); } });
84
+ ...(task ? { taskExecution: { attribution: task.attribution, maxOutputTokens } } : {}),
85
+ assertReservationAuthority: reservation => {
86
+ const agent = assertAccount(reservation.agentId);
87
+ if (targets[reservation.provider] !== reservation.target)
88
+ throw new ExecutionLimitError('authority', 'Request changes a reviewed provider endpoint.');
89
+ const selection = agent.routing ? taskSmartSelection(agent.routing, history.read().events, task?.attribution.taskId) : undefined;
90
+ if (!matchesAgentRouting(agent, reservation.provider, reservation.model, selection))
91
+ throw new ExecutionLimitError('authority', 'Request exceeds the reviewed provider, model or Smart routing stage.');
92
+ if (reservation.outputTokens > maxOutputTokens)
93
+ throw new ExecutionLimitError('budget', 'Request exceeds the reviewed host output limit.');
94
+ } });
46
95
  const ownerToken = mintLedgerToken(state.secret(), { v: 2, authority, run: runId, role: 'parent', owner: agentId, exp: deadline });
47
- return { server, ownerToken, execution, deadline, capability: REVIEWED_LEDGER_CAPABILITY };
96
+ return { server, ownerToken, execution: task ? { ...execution, assertAuthority: assertOwner, attribution: structuredClone(task.attribution) } : execution, deadline,
97
+ capability: task ? REVIEWED_TASK_LEDGER_CAPABILITY : REVIEWED_LEDGER_CAPABILITY };
48
98
  }
49
99
  //# sourceMappingURL=reviewed-ledger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reviewed-ledger.js","sourceRoot":"","sources":["../../src/orchestration/reviewed-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reviewed-ledger.js","sourceRoot":"","sources":["../../src/orchestration/reviewed-ledger.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { type SmartRoutingPolicy, type SmartRoutingSelection } from '../routing/
2
2
  import type { RoutingDecision } from '../routing/types.js';
3
3
  import type { ExecutionEvent, RunPlanContext } from './coordinator-types.js';
4
4
  import type { ExecutionStore } from './execution-store.js';
5
+ import type { AgentContract } from './types.js';
5
6
  export interface RecordedAgentRoute {
6
7
  version: 1;
7
8
  decisionId: string;
@@ -12,6 +13,10 @@ export interface RecordedAgentRoute {
12
13
  stage: SmartRoutingSelection['stage'];
13
14
  evidenceId?: string;
14
15
  }
16
+ /** Explicit reviewed choices remain constraints even when a host supplies its own runtime config. */
17
+ export declare function matchesAgentPreference(preference: AgentContract['preference'], provider: string, model: string): boolean;
18
+ /** Match the same reviewed pins and stage pool for native routes and remote admission. */
19
+ export declare function matchesAgentRouting(agent: AgentContract, provider: string, model: string, selection?: SmartRoutingSelection): boolean;
15
20
  /** Only a recorded failed check with immutable evidence opens the escalation pool. */
16
21
  export declare function taskSmartSelection(policy: SmartRoutingPolicy, events: ExecutionEvent[], taskId?: string): SmartRoutingSelection;
17
22
  export declare function validateRecordedRoute(value: unknown, context: RunPlanContext, agentId: string): RecordedAgentRoute;
@@ -1 +1 @@
1
- {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/orchestration/routing.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,KAAK,kBAAkB,EAAC,KAAK,qBAAqB,EAAC,MAAM,qBAAqB,CAAC;AACpH,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAC,cAAc,EAAC,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAGzD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAC,CAAC,CAAC;IAAA,UAAU,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,MAAM,CAAC;IACvE,OAAO,EAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAAA,KAAK,EAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAAA,UAAU,CAAC,EAAC,MAAM,CAAC;CAC/F;AACD,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,MAAM,EAAC,kBAAkB,EAAC,MAAM,EAAC,cAAc,EAAE,EAAC,MAAM,CAAC,EAAC,MAAM,GAAE,qBAAqB,CAKzH;AACD,wBAAgB,qBAAqB,CAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,MAAM,GAAE,kBAAkB,CAW5G;AACD,uFAAuF;AACvF,wBAAsB,gBAAgB,CAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,MAAM,EAAC,SAAS,EAAC,MAAM,EAAC,QAAQ,EAAC,eAAe,EAAC,MAAM,EAAC,WAAW,EAAC,YAAY,EAAC,MAAI,IAAI,EAAC,MAAM,CAAC,EAAC,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC,CAI1L"}
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/orchestration/routing.ts"],"names":[],"mappings":"AAEA,OAAO,EAA8B,KAAK,kBAAkB,EAAC,KAAK,qBAAqB,EAAC,MAAM,qBAAqB,CAAC;AACpH,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAC,cAAc,EAAC,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AAG9C,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAC,CAAC,CAAC;IAAA,UAAU,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,MAAM,CAAC;IACvE,OAAO,EAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAAA,KAAK,EAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAAA,UAAU,CAAC,EAAC,MAAM,CAAC;CAC/F;AACD,qGAAqG;AACrG,wBAAgB,sBAAsB,CAAC,UAAU,EAAC,aAAa,CAAC,YAAY,CAAC,EAAC,QAAQ,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAE,OAAO,CAElH;AACD,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,KAAK,EAAC,aAAa,EAAC,QAAQ,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,SAAS,CAAC,EAAC,qBAAqB,GAAE,OAAO,CAK7H;AACD,sFAAsF;AACtF,wBAAgB,kBAAkB,CAAC,MAAM,EAAC,kBAAkB,EAAC,MAAM,EAAC,cAAc,EAAE,EAAC,MAAM,CAAC,EAAC,MAAM,GAAE,qBAAqB,CAKzH;AACD,wBAAgB,qBAAqB,CAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,MAAM,GAAE,kBAAkB,CAW5G;AACD,uFAAuF;AACvF,wBAAsB,gBAAgB,CAAC,KAAK,EAAC,cAAc,EAAC,OAAO,EAAC,MAAM,EAAC,SAAS,EAAC,MAAM,EAAC,QAAQ,EAAC,eAAe,EAAC,MAAM,EAAC,WAAW,EAAC,YAAY,EAAC,MAAI,IAAI,EAAC,MAAM,CAAC,EAAC,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC,CAI1L"}
@@ -2,6 +2,19 @@ import { approvalDisplayText } from '../approvals/index.js';
2
2
  import { getProviderNames } from '../config.js';
3
3
  import { smartPool, smartTargetMatches } from '../routing/smart.js';
4
4
  import { shape, text, uuid, fail } from './validation.js';
5
+ /** Explicit reviewed choices remain constraints even when a host supplies its own runtime config. */
6
+ export function matchesAgentPreference(preference, provider, model) {
7
+ return (preference.provider === 'auto' || preference.provider === provider) && (!preference.model || preference.model === model);
8
+ }
9
+ /** Match the same reviewed pins and stage pool for native routes and remote admission. */
10
+ export function matchesAgentRouting(agent, provider, model, selection) {
11
+ if (!matchesAgentPreference(agent.preference, provider, model))
12
+ return false;
13
+ if (!selection)
14
+ return true;
15
+ const pool = smartPool(selection), preference = agent.preference;
16
+ return !!preference.model || preference.provider !== 'auto' && !pool.some(target => target.provider === preference.provider) || smartTargetMatches(pool, provider, { id: model });
17
+ }
5
18
  /** Only a recorded failed check with immutable evidence opens the escalation pool. */
6
19
  export function taskSmartSelection(policy, events, taskId) {
7
20
  const last = taskId ? [...events].reverse().find(event => event.change.type === 'task_finished' && event.change.taskId === taskId) : undefined;
@@ -22,9 +35,9 @@ export function validateRecordedRoute(value, context, agentId) {
22
35
  if (value.stage === 'escalation' ? !policy.escalationPool || !uuid(value.evidenceId) : value.evidenceId !== undefined)
23
36
  fail('Escalated routing requires recorded verification evidence.');
24
37
  const preference = agent.preference;
25
- if (preference.provider !== 'auto' && preference.provider !== value.provider || preference.model && preference.model !== value.model)
38
+ if (!matchesAgentPreference(preference, value.provider, value.model))
26
39
  fail('Routing evidence changed an explicit agent pin.');
27
- if (!preference.model && (preference.provider === 'auto' || smartPool({ policy, stage: value.stage }).some(t => t.provider === preference.provider)) && !smartTargetMatches(smartPool({ policy, stage: value.stage }), value.provider, { id: value.model }))
40
+ if (!matchesAgentRouting(agent, value.provider, value.model, { policy, stage: value.stage }))
28
41
  fail('Routing evidence exceeds the reviewed model pool.');
29
42
  return value;
30
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/orchestration/routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/orchestration/routing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type ProjectPlan } from './types.js';
2
+ import type { ExecutionEvent } from './coordinator-types.js';
3
+ /** Stable attempt configuration from validated history ending at its native start. */
4
+ export declare function taskConfigurationIdentity(plan: ProjectPlan, taskId: string, basePlanHash: string, prefix: ExecutionEvent[]): {
5
+ configurationHash: string;
6
+ graphHash: string;
7
+ };
8
+ //# sourceMappingURL=task-configuration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-configuration.d.ts","sourceRoot":"","sources":["../../src/orchestration/task-configuration.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,WAAW,EAAC,MAAM,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAE3D,sFAAsF;AACtF,wBAAgB,yBAAyB,CAAC,IAAI,EAAC,WAAW,EAAC,MAAM,EAAC,MAAM,EAAC,YAAY,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAE;IAa1G,iBAAiB;IACvB,SAAS;EACZ"}
@@ -0,0 +1,23 @@
1
+ import { canonicalJson, digest } from '../approvals/index.js';
2
+ import { OrchestrationError } from './types.js';
3
+ /** Stable attempt configuration from validated history ending at its native start. */
4
+ export function taskConfigurationIdentity(plan, taskId, basePlanHash, prefix) {
5
+ const task = plan.tasks.find(t => t.id === taskId), agent = plan.agents.find(a => a.id === task?.agentId);
6
+ if (!task || !agent)
7
+ throw new OrchestrationError('conflict', 'Task configuration is unavailable.');
8
+ const withdrawn = new Set(prefix.flatMap(e => e.change.type === 'supervision_withdrawn' ? [e.change.decisionId] : []));
9
+ let strategy = null;
10
+ for (const event of [...prefix].reverse()) {
11
+ if (event.change.type !== 'supervision_applied' || withdrawn.has(event.change.decisionId))
12
+ continue;
13
+ const decisionId = event.change.decisionId, decision = prefix.find(e => e.id === decisionId);
14
+ if (decision?.change.type === 'supervision_decided' && decision.change.decision.action === 'replan' && decision.change.decision.taskId === taskId) {
15
+ strategy = { decisionId: decision.id, strategy: decision.change.decision.strategy, evidence: [...decision.change.decision.evidence] };
16
+ break;
17
+ }
18
+ }
19
+ const graph = [...prefix].reverse().find(e => e.change.type === 'graph_admitted');
20
+ return { configurationHash: digest(canonicalJson({ task, agent, strategy })),
21
+ graphHash: graph?.change.type === 'graph_admitted' ? graph.change.admission.proposal.planHash : basePlanHash };
22
+ }
23
+ //# sourceMappingURL=task-configuration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-configuration.js","sourceRoot":"","sources":["../../src/orchestration/task-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAkB,MAAM,YAAY,CAAC;AAG/D,sFAAsF;AACtF,MAAM,UAAU,yBAAyB,CAAC,IAAgB,EAAC,MAAa,EAAC,YAAmB,EAAC,MAAuB;IAClH,MAAM,IAAI,GAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,EAAE,KAAG,MAAM,CAAC,EAAC,KAAK,GAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,EAAE,KAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7F,IAAG,CAAC,IAAI,IAAE,CAAC,KAAK;QAAC,MAAM,IAAI,kBAAkB,CAAC,UAAU,EAAC,oCAAoC,CAAC,CAAC;IAC/F,MAAM,SAAS,GAAC,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,MAAM,CAAC,IAAI,KAAG,uBAAuB,CAAA,CAAC,CAAA,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA,CAAC,CAAA,EAAE,CAAC,CAAC,CAAC;IAC7G,IAAI,QAAQ,GAA4D,IAAI,CAAC;IAC7E,KAAI,MAAM,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,EAAC,CAAC;QACxC,IAAG,KAAK,CAAC,MAAM,CAAC,IAAI,KAAG,qBAAqB,IAAE,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;YAAC,SAAS;QAC9F,MAAM,UAAU,GAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAC,QAAQ,GAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,EAAE,KAAG,UAAU,CAAC,CAAC;QACpF,IAAG,QAAQ,EAAE,MAAM,CAAC,IAAI,KAAG,qBAAqB,IAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAG,QAAQ,IAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAG,MAAM,EAAC,CAAC;YACtI,QAAQ,GAAC,EAAC,UAAU,EAAC,QAAQ,CAAC,EAAE,EAAC,QAAQ,EAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAC,QAAQ,EAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAC,CAAC;YAAA,MAAM;QACrI,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAC,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,MAAM,CAAC,IAAI,KAAG,gBAAgB,CAAC,CAAC;IAC5E,OAAO,EAAC,iBAAiB,EAAC,MAAM,CAAC,aAAa,CAAC,EAAC,IAAI,EAAC,KAAK,EAAC,QAAQ,EAAC,CAAC,CAAC;QACpE,SAAS,EAAC,KAAK,EAAE,MAAM,CAAC,IAAI,KAAG,gBAAgB,CAAA,CAAC,CAAA,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAA,CAAC,CAAA,YAAY,EAAC,CAAC;AAC3G,CAAC"}
@@ -0,0 +1,11 @@
1
+ import OpenAI from 'openai';
2
+ import type { Message, Tool, LLMResponse } from '../types.js';
3
+ import type { ModelInfo } from '../models/index.js';
4
+ import type { AdapterLimits, StreamCallback } from './types.js';
5
+ export declare function chatGPTSelected(): boolean;
6
+ export declare function chatGPTAccountKey(): string;
7
+ export declare function assertChatGPTLimits(limits?: AdapterLimits): void;
8
+ export declare function chatGPTModels(signal?: AbortSignal): Promise<ModelInfo[]>;
9
+ export declare function chatGPTInput(messages: Message[], account?: string, model?: string): OpenAI.Responses.ResponseInput;
10
+ export declare function chatChatGPT(messages: Message[], tools: Tool[], model: string, onToken?: StreamCallback, signal?: AbortSignal, limits?: AdapterLimits): Promise<LLMResponse>;
11
+ //# sourceMappingURL=chatgpt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatgpt.d.ts","sourceRoot":"","sources":["../../src/providers/chatgpt.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAI5B,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAIpD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAChE,wBAAgB,eAAe,IAAI,OAAO,CAAiG;AAC3I,wBAAgB,iBAAiB,IAAI,MAAM,CAA8F;AACzI,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAIhE;AACD,wBAAsB,aAAa,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAa9E;AACD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,aAAa,CAuBlH;AAeD,wBAAsB,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAmDjL"}
@@ -0,0 +1,156 @@
1
+ import OpenAI from 'openai';
2
+ import { apiKeyAccessActive, ChatGPTQuotaError, quotaCircuit, openQuotaCircuit } from '../auth/chatgpt/fallback.js';
3
+ import * as config from '../config.js';
4
+ import { ChatGPTStore, accessToken, RESOURCE, ChatGPTAuthError } from '../auth/chatgpt/index.js';
5
+ import { ExecutionLimitError } from '../execution/types.js';
6
+ import { StreamProtocolError } from '../errors.js';
7
+ import { throwIfCancelled } from '../cancellation.js';
8
+ export function chatGPTSelected() { return !apiKeyAccessActive() && config.getProviderCred('openai').accessMethod === 'chatgpt'; }
9
+ export function chatGPTAccountKey() { const a = new ChatGPTStore().active(); return a?.accessToken ? a.clientId : 'signed-out'; }
10
+ export function assertChatGPTLimits(limits) {
11
+ const budget = config.get('budget');
12
+ if (limits?.bounded || limits?.maxOutputTokens !== undefined || budget?.maxCostPerRun !== undefined || budget?.maxCostPerProject !== undefined)
13
+ throw new ExecutionLimitError('authority', 'ChatGPT plan access cannot enforce API dollar budgets or output-token caps. Explicitly select API-key access for bounded runs.');
14
+ }
15
+ export async function chatGPTModels(signal) {
16
+ const credential = await accessToken(undefined, signal);
17
+ const response = await fetch(`${RESOURCE}/models`, { redirect: 'error', headers: { Authorization: `Bearer ${credential.token}` }, signal: signal ? AbortSignal.any([signal, AbortSignal.timeout(30000)]) : AbortSignal.timeout(30000) });
18
+ if (!response.ok) {
19
+ const body = await response.json().catch(() => ({}));
20
+ const failure = subscriptionFailure(body.error?.code, response.status);
21
+ if (failure instanceof ChatGPTQuotaError) {
22
+ await openQuotaCircuit(credential.clientId, failure.reason);
23
+ throw failure;
24
+ }
25
+ throw new ChatGPTAuthError(`ChatGPT model discovery failed (HTTP ${response.status}).`);
26
+ }
27
+ const body = await response.json();
28
+ if (!Array.isArray(body.models))
29
+ throw new ChatGPTAuthError('Invalid ChatGPT model catalog.');
30
+ if (chatGPTAccountKey() !== credential.clientId)
31
+ throw new ChatGPTAuthError('ChatGPT account changed during model discovery.');
32
+ return body.models.filter(m => m.visibility === 'list' && typeof m.slug === 'string' && !!m.slug && typeof m.display_name === 'string').map(m => ({ id: m.slug, name: m.display_name, description: 'ChatGPT plan usage', evidence: { source: 'live', at: new Date().toISOString() } }));
33
+ }
34
+ export function chatGPTInput(messages, account, model) {
35
+ const input = [];
36
+ for (const m of messages) {
37
+ const saved = m.providerMetadata?.openai?.chatgpt;
38
+ if (saved) {
39
+ if (m.role !== 'assistant' || saved.clientId !== account || saved.model !== model || !Array.isArray(saved.output))
40
+ throw new ChatGPTAuthError('ChatGPT history belongs to a different account or model. Start a new session.');
41
+ for (const item of saved.output) {
42
+ if (item.type !== 'message' && item.type !== 'function_call' && item.type !== 'reasoning')
43
+ throw new ChatGPTAuthError('Unsupported ChatGPT history item. Start a new session.');
44
+ input.push(item);
45
+ }
46
+ continue;
47
+ }
48
+ if (m.role === 'tool') {
49
+ if (!m.toolCallId)
50
+ throw new StreamProtocolError('Tool history is missing a call ID.');
51
+ input.push({ type: 'function_call_output', call_id: m.toolCallId, output: typeof m.content === 'string' ? m.content : JSON.stringify(m.content) });
52
+ }
53
+ else {
54
+ const text = typeof m.content === 'string' ? m.content : m.content.filter(b => b.type === 'text').map(b => b.text).join('\n');
55
+ if (m.role === 'user')
56
+ input.push({ role: 'user', content: typeof m.content === 'string' ? m.content : m.content.map(b => b.type === 'text' ? { type: 'input_text', text: b.text } : { type: 'input_image', image_url: `data:${b.mediaType};base64,${b.data}`, detail: 'auto' }) });
57
+ else if (text)
58
+ input.push({ role: m.role === 'system' ? 'developer' : 'assistant', content: text });
59
+ for (const t of m.toolCalls ?? [])
60
+ input.push({ type: 'function_call', namespace: 'calliope', call_id: t.id, name: t.name, arguments: JSON.stringify(t.arguments) });
61
+ }
62
+ }
63
+ return input;
64
+ }
65
+ function subscriptionFailure(code, status, partial = false) {
66
+ if (code === 'subscription_sharing_usage_limit_exceeded' || code === 'insufficient_quota')
67
+ return new ChatGPTQuotaError('quota', partial);
68
+ if (status === 429 || code === 'rate_limit_exceeded')
69
+ return new ChatGPTQuotaError('rate-limit', partial);
70
+ const recovery = {
71
+ subscription_sharing_usage_limit_exceeded: 'ChatGPT plan usage limit reached. Wait for the limit to reset or explicitly select another billing method.',
72
+ subscription_sharing_usage_unavailable: 'ChatGPT plan usage is currently unavailable. Check plan settings and retry later.',
73
+ subscription_sharing_unsupported_capability: 'This request uses a capability unsupported by ChatGPT plan access.',
74
+ subscription_sharing_invalid_user: 'ChatGPT could not validate this session. Sign in again.',
75
+ chatpass_v2_scope_not_authorized: 'ChatGPT plan permission is missing. Sign in again and enable plan usage.',
76
+ };
77
+ return new StreamProtocolError(typeof code === 'string' && Object.hasOwn(recovery, code) ? recovery[code] : 'ChatGPT subscription request failed or was incomplete. Check plan availability or sign in again.');
78
+ }
79
+ export async function chatChatGPT(messages, tools, model, onToken, signal, limits) {
80
+ assertChatGPTLimits(limits);
81
+ throwIfCancelled(signal);
82
+ const circuit = quotaCircuit();
83
+ if (circuit)
84
+ throw new ChatGPTQuotaError(circuit.reason);
85
+ const credential = await accessToken(undefined, signal);
86
+ const models = await chatGPTModels(signal);
87
+ if (!models.some(m => m.id === model))
88
+ throw new ChatGPTAuthError('Selected model is not available to this ChatGPT account. Refresh the model picker.');
89
+ if (chatGPTAccountKey() !== credential.clientId)
90
+ throw new ChatGPTAuthError('ChatGPT account changed before inference.');
91
+ const client = new OpenAI({ apiKey: credential.token, baseURL: RESOURCE, maxRetries: 0,
92
+ // Disallow credential forwarding through redirects and suppress SDK debug output.
93
+ fetch: (url, init) => fetch(url, { ...init, redirect: 'error' }), logLevel: 'off' });
94
+ const request = { model, store: false, stream: true, input: chatGPTInput(messages, credential.clientId, model), include: ['reasoning.encrypted_content'],
95
+ ...(tools.length ? { tools: [{ type: 'namespace', name: 'calliope', description: 'Calliope AI runtime tools', tools: tools.map(t => ({ type: 'function', name: t.name, description: t.description, parameters: t.parameters, strict: false })) }] } : {}),
96
+ ...(limits?.reasoningEffort ? { reasoning: { effort: limits.reasoningEffort } } : {}) };
97
+ let completed;
98
+ let partial = false;
99
+ try {
100
+ const stream = await client.responses.create(request, { signal });
101
+ for await (const event of stream) {
102
+ throwIfCancelled(signal);
103
+ if (event.type === 'response.output_text.delta') {
104
+ partial ||= !!event.delta;
105
+ onToken?.(event.delta);
106
+ }
107
+ if (event.type === 'response.failed' || event.type === 'response.incomplete')
108
+ throw subscriptionFailure(event.response?.error?.code, undefined, partial);
109
+ if (event.type === 'error')
110
+ throw subscriptionFailure(event.code, undefined, partial);
111
+ if (event.type === 'response.completed')
112
+ completed = event.response;
113
+ }
114
+ }
115
+ catch (error) {
116
+ throwIfCancelled(signal);
117
+ const failure = error instanceof OpenAI.APIError ? subscriptionFailure(error.code, error.status, partial) : error;
118
+ if (failure instanceof ChatGPTQuotaError)
119
+ await openQuotaCircuit(credential.clientId, failure.reason);
120
+ if (failure instanceof StreamProtocolError)
121
+ throw failure;
122
+ throw new StreamProtocolError('ChatGPT subscription request failed. Check your connection, plan limits and sign-in status.');
123
+ }
124
+ throwIfCancelled(signal);
125
+ if (!completed || completed.status !== 'completed')
126
+ throw new StreamProtocolError('ChatGPT stream ended without successful completion.');
127
+ const toolCalls = [];
128
+ let content = '';
129
+ for (const item of completed.output) {
130
+ if (item.type === 'message')
131
+ for (const part of item.content) {
132
+ if (part.type === 'refusal')
133
+ return { content: '', finishReason: 'error', errorCode: 'refusal', billing: 'subscription', usage: completed.usage ? { inputTokens: completed.usage.input_tokens, outputTokens: completed.usage.output_tokens } : undefined };
134
+ if (part.type === 'output_text')
135
+ content += part.text;
136
+ }
137
+ if (item.type === 'function_call') {
138
+ if (item.namespace !== 'calliope' || !tools.some(t => t.name === item.name))
139
+ throw new StreamProtocolError('ChatGPT returned an unknown tool.');
140
+ let args;
141
+ try {
142
+ args = JSON.parse(item.arguments);
143
+ }
144
+ catch {
145
+ throw new StreamProtocolError('ChatGPT returned malformed tool arguments.');
146
+ }
147
+ if (!args || typeof args !== 'object' || Array.isArray(args))
148
+ throw new StreamProtocolError('ChatGPT returned invalid tool arguments.');
149
+ toolCalls.push({ id: item.call_id, name: item.name, arguments: args });
150
+ }
151
+ }
152
+ return { content, providerMetadata: { openai: { chatgpt: { clientId: credential.clientId, model, output: completed.output } } }, ...(toolCalls.length ? { toolCalls } : {}), finishReason: toolCalls.length ? 'tool_use' : 'stop', billing: 'subscription',
153
+ usage: completed.usage ? { inputTokens: completed.usage.input_tokens, outputTokens: completed.usage.output_tokens } : undefined,
154
+ warnings: ['ChatGPT plan usage: USD totals exclude subscription consumption; plan limits are managed by ChatGPT.'] };
155
+ }
156
+ //# sourceMappingURL=chatgpt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatgpt.js","sourceRoot":"","sources":["../../src/providers/chatgpt.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,3 @@
1
- /**
2
- * Provider Module - Entry Point
3
- *
4
- * Provider selection, routing, and re-exports.
5
- */
6
1
  import type { Message, Tool, LLMResponse, LLMProvider } from '../types.js';
7
2
  import { type StreamCallback, type RetryCallback, type ChatOptions } from './types.js';
8
3
  export { deepSeekReasoning, toDeepSeekMessages, MAX_DEEPSEEK_REASONING_BYTES } from './deepseek-reasoning.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,EAAuB,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAsB,MAAM,YAAY,CAAC;AAChI,OAAO,EAAC,iBAAiB,EAAC,kBAAkB,EAAC,4BAA4B,EAAC,MAAM,yBAAyB,CAAC;AAY1G;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,EAAE,CAoBrD;AAsBD;;;;;GAKG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,YAAY,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAIjD;CACF;AA4BD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,WAAW,GAAG,WAAW,CAwBlE;AAED;;GAEG;AACH,wBAAsB,IAAI,CACxB,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,IAAI,EAAE,EACb,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,WAAW,CAAC,CA6KtB;AAGD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACxF,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEvF,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,EAAuB,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAsB,MAAM,YAAY,CAAC;AAChI,OAAO,EAAC,iBAAiB,EAAC,kBAAkB,EAAC,4BAA4B,EAAC,MAAM,yBAAyB,CAAC;AAY1G;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,EAAE,CAoBrD;AAsBD;;;;;GAKG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,YAAY,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAIjD;CACF;AA4BD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,WAAW,GAAG,WAAW,CAyBlE;AAED;;GAEG;AACH,wBAAsB,IAAI,CACxB,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,IAAI,EAAE,EACb,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,EACxB,OAAO,CAAC,EAAE,aAAa,EACvB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,WAAW,CAAC,CAiLtB;AAGD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACxF,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEvF,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC"}