@flyingrobots/graft 0.11.1 → 0.13.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 (244) hide show
  1. package/CHANGELOG.md +251 -0
  2. package/README.md +7 -0
  3. package/dist/adapters/fake-echo-kernel-transport.d.ts.map +1 -1
  4. package/dist/adapters/fake-echo-kernel-transport.js +12 -0
  5. package/dist/adapters/fake-echo-kernel-transport.js.map +1 -1
  6. package/dist/adapters/node-fs.d.ts.map +1 -1
  7. package/dist/adapters/node-fs.js +6 -0
  8. package/dist/adapters/node-fs.js.map +1 -1
  9. package/dist/api/index.d.ts +2 -2
  10. package/dist/api/index.d.ts.map +1 -1
  11. package/dist/api/index.js +2 -2
  12. package/dist/api/index.js.map +1 -1
  13. package/dist/api/repo-workspace.d.ts.map +1 -1
  14. package/dist/api/repo-workspace.js +3 -0
  15. package/dist/api/repo-workspace.js.map +1 -1
  16. package/dist/cli/cli-error.d.ts.map +1 -1
  17. package/dist/cli/cli-error.js +4 -1
  18. package/dist/cli/cli-error.js.map +1 -1
  19. package/dist/cli/command-parser.d.ts.map +1 -1
  20. package/dist/cli/command-parser.js +5 -0
  21. package/dist/cli/command-parser.js.map +1 -1
  22. package/dist/cli/structural-review-render.d.ts.map +1 -1
  23. package/dist/cli/structural-review-render.js +5 -0
  24. package/dist/cli/structural-review-render.js.map +1 -1
  25. package/dist/contracts/capabilities.d.ts +12 -5
  26. package/dist/contracts/capabilities.d.ts.map +1 -1
  27. package/dist/contracts/capabilities.js +38 -0
  28. package/dist/contracts/capabilities.js.map +1 -1
  29. package/dist/contracts/output-schema-cli.d.ts +56 -0
  30. package/dist/contracts/output-schema-cli.d.ts.map +1 -1
  31. package/dist/contracts/output-schema-cli.js +1 -0
  32. package/dist/contracts/output-schema-cli.js.map +1 -1
  33. package/dist/contracts/output-schema-mcp.d.ts +79 -1
  34. package/dist/contracts/output-schema-mcp.d.ts.map +1 -1
  35. package/dist/contracts/output-schema-mcp.js +27 -0
  36. package/dist/contracts/output-schema-mcp.js.map +1 -1
  37. package/dist/contracts/output-schema-meta.d.ts +18 -4
  38. package/dist/contracts/output-schema-meta.d.ts.map +1 -1
  39. package/dist/contracts/output-schema-meta.js +35 -5
  40. package/dist/contracts/output-schema-meta.js.map +1 -1
  41. package/dist/contracts/output-schemas.d.ts +3 -5
  42. package/dist/contracts/output-schemas.d.ts.map +1 -1
  43. package/dist/contracts/output-schemas.js +21 -37
  44. package/dist/contracts/output-schemas.js.map +1 -1
  45. package/dist/echo/structural-history-client.d.ts.map +1 -1
  46. package/dist/echo/structural-history-client.js +12 -0
  47. package/dist/echo/structural-history-client.js.map +1 -1
  48. package/dist/echo/structural-reading-adapter.d.ts.map +1 -1
  49. package/dist/echo/structural-reading-adapter.js +55 -2
  50. package/dist/echo/structural-reading-adapter.js.map +1 -1
  51. package/dist/echo/structural-reading-generated-model.d.ts.map +1 -1
  52. package/dist/echo/structural-reading-generated-model.js +7 -3
  53. package/dist/echo/structural-reading-generated-model.js.map +1 -1
  54. package/dist/mcp/burden.d.ts.map +1 -1
  55. package/dist/mcp/burden.js +1 -0
  56. package/dist/mcp/burden.js.map +1 -1
  57. package/dist/mcp/daemon-control-plane.d.ts.map +1 -1
  58. package/dist/mcp/daemon-control-plane.js +6 -1
  59. package/dist/mcp/daemon-control-plane.js.map +1 -1
  60. package/dist/mcp/daemon-scheduler-config.d.ts +53 -0
  61. package/dist/mcp/daemon-scheduler-config.d.ts.map +1 -0
  62. package/dist/mcp/daemon-scheduler-config.js +33 -0
  63. package/dist/mcp/daemon-scheduler-config.js.map +1 -0
  64. package/dist/mcp/daemon-server.d.ts.map +1 -1
  65. package/dist/mcp/daemon-server.js +2 -1
  66. package/dist/mcp/daemon-server.js.map +1 -1
  67. package/dist/mcp/receipt.d.ts +3 -0
  68. package/dist/mcp/receipt.d.ts.map +1 -1
  69. package/dist/mcp/receipt.js +4 -0
  70. package/dist/mcp/receipt.js.map +1 -1
  71. package/dist/mcp/repo-tool-job.d.ts +2 -1
  72. package/dist/mcp/repo-tool-job.d.ts.map +1 -1
  73. package/dist/mcp/repo-tool-job.js.map +1 -1
  74. package/dist/mcp/repo-tool-worker-context.d.ts.map +1 -1
  75. package/dist/mcp/repo-tool-worker-context.js +1 -0
  76. package/dist/mcp/repo-tool-worker-context.js.map +1 -1
  77. package/dist/mcp/repo-workspace.d.ts.map +1 -1
  78. package/dist/mcp/repo-workspace.js +5 -1
  79. package/dist/mcp/repo-workspace.js.map +1 -1
  80. package/dist/mcp/server-invocation.d.ts.map +1 -1
  81. package/dist/mcp/server-invocation.js +52 -11
  82. package/dist/mcp/server-invocation.js.map +1 -1
  83. package/dist/mcp/server-tool-access.d.ts +2 -0
  84. package/dist/mcp/server-tool-access.d.ts.map +1 -1
  85. package/dist/mcp/server-tool-access.js +6 -11
  86. package/dist/mcp/server-tool-access.js.map +1 -1
  87. package/dist/mcp/server.d.ts.map +1 -1
  88. package/dist/mcp/server.js +3 -1
  89. package/dist/mcp/server.js.map +1 -1
  90. package/dist/mcp/tool-registry.d.ts.map +1 -1
  91. package/dist/mcp/tool-registry.js +2 -0
  92. package/dist/mcp/tool-registry.js.map +1 -1
  93. package/dist/mcp/tools/changed-since.d.ts.map +1 -1
  94. package/dist/mcp/tools/changed-since.js +8 -63
  95. package/dist/mcp/tools/changed-since.js.map +1 -1
  96. package/dist/mcp/tools/code-find.d.ts.map +1 -1
  97. package/dist/mcp/tools/code-find.js +1 -0
  98. package/dist/mcp/tools/code-find.js.map +1 -1
  99. package/dist/mcp/tools/code-refs.d.ts.map +1 -1
  100. package/dist/mcp/tools/code-refs.js +1 -0
  101. package/dist/mcp/tools/code-refs.js.map +1 -1
  102. package/dist/mcp/tools/code-show.d.ts.map +1 -1
  103. package/dist/mcp/tools/code-show.js +17 -10
  104. package/dist/mcp/tools/code-show.js.map +1 -1
  105. package/dist/mcp/tools/file-outline.d.ts.map +1 -1
  106. package/dist/mcp/tools/file-outline.js +18 -39
  107. package/dist/mcp/tools/file-outline.js.map +1 -1
  108. package/dist/mcp/tools/graft-diff.js +1 -1
  109. package/dist/mcp/tools/graft-diff.js.map +1 -1
  110. package/dist/mcp/tools/import-diagnostics.d.ts +3 -0
  111. package/dist/mcp/tools/import-diagnostics.d.ts.map +1 -0
  112. package/dist/mcp/tools/import-diagnostics.js +25 -0
  113. package/dist/mcp/tools/import-diagnostics.js.map +1 -0
  114. package/dist/mcp/tools/map.d.ts.map +1 -1
  115. package/dist/mcp/tools/map.js +1 -0
  116. package/dist/mcp/tools/map.js.map +1 -1
  117. package/dist/mcp/tools/precision-live.d.ts +8 -0
  118. package/dist/mcp/tools/precision-live.d.ts.map +1 -1
  119. package/dist/mcp/tools/precision-live.js +16 -3
  120. package/dist/mcp/tools/precision-live.js.map +1 -1
  121. package/dist/mcp/tools/precision.d.ts +1 -1
  122. package/dist/mcp/tools/precision.d.ts.map +1 -1
  123. package/dist/mcp/tools/precision.js +1 -1
  124. package/dist/mcp/tools/precision.js.map +1 -1
  125. package/dist/mcp/tools/read-range.d.ts.map +1 -1
  126. package/dist/mcp/tools/read-range.js +23 -8
  127. package/dist/mcp/tools/read-range.js.map +1 -1
  128. package/dist/mcp/tools/safe-read.js +1 -1
  129. package/dist/mcp/tools/safe-read.js.map +1 -1
  130. package/dist/mcp/tools/since.d.ts.map +1 -1
  131. package/dist/mcp/tools/since.js +1 -0
  132. package/dist/mcp/tools/since.js.map +1 -1
  133. package/dist/mcp/tools/structural-review.d.ts.map +1 -1
  134. package/dist/mcp/tools/structural-review.js +16 -13
  135. package/dist/mcp/tools/structural-review.js.map +1 -1
  136. package/dist/mcp/workspace-read-observation-model.d.ts +1 -0
  137. package/dist/mcp/workspace-read-observation-model.d.ts.map +1 -1
  138. package/dist/mcp/workspace-read-observation-model.js +1 -0
  139. package/dist/mcp/workspace-read-observation-model.js.map +1 -1
  140. package/dist/mcp/workspace-read-observation.d.ts.map +1 -1
  141. package/dist/mcp/workspace-read-observation.js +3 -1
  142. package/dist/mcp/workspace-read-observation.js.map +1 -1
  143. package/dist/mcp/workspace-router-model.d.ts +16 -0
  144. package/dist/mcp/workspace-router-model.d.ts.map +1 -1
  145. package/dist/mcp/workspace-router-model.js +15 -0
  146. package/dist/mcp/workspace-router-model.js.map +1 -1
  147. package/dist/mcp/workspace-router-resolution.d.ts.map +1 -1
  148. package/dist/mcp/workspace-router-resolution.js +19 -1
  149. package/dist/mcp/workspace-router-resolution.js.map +1 -1
  150. package/dist/mcp/workspace-router.d.ts +8 -1
  151. package/dist/mcp/workspace-router.d.ts.map +1 -1
  152. package/dist/mcp/workspace-router.js +89 -2
  153. package/dist/mcp/workspace-router.js.map +1 -1
  154. package/dist/operations/file-outline.d.ts +13 -4
  155. package/dist/operations/file-outline.d.ts.map +1 -1
  156. package/dist/operations/file-outline.js +12 -7
  157. package/dist/operations/file-outline.js.map +1 -1
  158. package/dist/operations/read-range.d.ts +9 -4
  159. package/dist/operations/read-range.d.ts.map +1 -1
  160. package/dist/operations/read-range.js +12 -7
  161. package/dist/operations/read-range.js.map +1 -1
  162. package/dist/operations/repo-workspace.d.ts +53 -3
  163. package/dist/operations/repo-workspace.d.ts.map +1 -1
  164. package/dist/operations/repo-workspace.js +125 -65
  165. package/dist/operations/repo-workspace.js.map +1 -1
  166. package/dist/operations/safe-read.d.ts +8 -5
  167. package/dist/operations/safe-read.d.ts.map +1 -1
  168. package/dist/operations/safe-read.js +34 -26
  169. package/dist/operations/safe-read.js.map +1 -1
  170. package/dist/operations/structural-review.d.ts +7 -1
  171. package/dist/operations/structural-review.d.ts.map +1 -1
  172. package/dist/operations/structural-review.js +13 -2
  173. package/dist/operations/structural-review.js.map +1 -1
  174. package/dist/operations/workspace-read-view.d.ts +208 -0
  175. package/dist/operations/workspace-read-view.d.ts.map +1 -0
  176. package/dist/operations/workspace-read-view.js +302 -0
  177. package/dist/operations/workspace-read-view.js.map +1 -0
  178. package/dist/ports/echo-kernel-transport.d.ts.map +1 -1
  179. package/dist/ports/echo-kernel-transport.js +12 -0
  180. package/dist/ports/echo-kernel-transport.js.map +1 -1
  181. package/dist/ports/filesystem.d.ts +2 -0
  182. package/dist/ports/filesystem.d.ts.map +1 -1
  183. package/dist/ports/structural-reading.d.ts +21 -1
  184. package/dist/ports/structural-reading.d.ts.map +1 -1
  185. package/dist/ports/structural-reading.js.map +1 -1
  186. package/dist/warp/ast-emitter.d.ts +4 -0
  187. package/dist/warp/ast-emitter.d.ts.map +1 -1
  188. package/dist/warp/ast-emitter.js +16 -10
  189. package/dist/warp/ast-emitter.js.map +1 -1
  190. package/dist/warp/ast-import-resolver.d.ts +7 -0
  191. package/dist/warp/ast-import-resolver.d.ts.map +1 -1
  192. package/dist/warp/ast-import-resolver.js +41 -20
  193. package/dist/warp/ast-import-resolver.js.map +1 -1
  194. package/dist/warp/committed-reference-scan.d.ts +38 -0
  195. package/dist/warp/committed-reference-scan.d.ts.map +1 -0
  196. package/dist/warp/committed-reference-scan.js +346 -0
  197. package/dist/warp/committed-reference-scan.js.map +1 -0
  198. package/dist/warp/go-reference-context.d.ts +8 -0
  199. package/dist/warp/go-reference-context.d.ts.map +1 -0
  200. package/dist/warp/go-reference-context.js +209 -0
  201. package/dist/warp/go-reference-context.js.map +1 -0
  202. package/dist/warp/import-diagnostic.d.ts +17 -0
  203. package/dist/warp/import-diagnostic.d.ts.map +1 -0
  204. package/dist/warp/import-diagnostic.js +2 -0
  205. package/dist/warp/import-diagnostic.js.map +1 -0
  206. package/dist/warp/index-head.d.ts.map +1 -1
  207. package/dist/warp/index-head.js +34 -8
  208. package/dist/warp/index-head.js.map +1 -1
  209. package/dist/warp/python-import-resolver.d.ts +10 -0
  210. package/dist/warp/python-import-resolver.d.ts.map +1 -0
  211. package/dist/warp/python-import-resolver.js +100 -0
  212. package/dist/warp/python-import-resolver.js.map +1 -0
  213. package/dist/warp/qualified-reference-bindings.d.ts +11 -0
  214. package/dist/warp/qualified-reference-bindings.d.ts.map +1 -0
  215. package/dist/warp/qualified-reference-bindings.js +483 -0
  216. package/dist/warp/qualified-reference-bindings.js.map +1 -0
  217. package/dist/warp/qualified-reference-contract.d.ts +76 -0
  218. package/dist/warp/qualified-reference-contract.d.ts.map +1 -0
  219. package/dist/warp/qualified-reference-contract.js +2 -0
  220. package/dist/warp/qualified-reference-contract.js.map +1 -0
  221. package/dist/warp/qualified-reference-language-adapters.d.ts +4 -0
  222. package/dist/warp/qualified-reference-language-adapters.d.ts.map +1 -0
  223. package/dist/warp/qualified-reference-language-adapters.js +148 -0
  224. package/dist/warp/qualified-reference-language-adapters.js.map +1 -0
  225. package/dist/warp/qualified-reference-resolver.d.ts +10 -0
  226. package/dist/warp/qualified-reference-resolver.d.ts.map +1 -0
  227. package/dist/warp/qualified-reference-resolver.js +222 -0
  228. package/dist/warp/qualified-reference-resolver.js.map +1 -0
  229. package/dist/warp/qualified-reference-shadows.d.ts +5 -0
  230. package/dist/warp/qualified-reference-shadows.d.ts.map +1 -0
  231. package/dist/warp/qualified-reference-shadows.js +601 -0
  232. package/dist/warp/qualified-reference-shadows.js.map +1 -0
  233. package/dist/warp/structural-reading-adapter.d.ts +2 -1
  234. package/dist/warp/structural-reading-adapter.d.ts.map +1 -1
  235. package/dist/warp/structural-reading-adapter.js +79 -27
  236. package/dist/warp/structural-reading-adapter.js.map +1 -1
  237. package/docs/CLI.md +10 -1
  238. package/docs/MCP.md +23 -1
  239. package/docs/SETUP.md +34 -0
  240. package/package.json +12 -7
  241. package/dist/operations/import-reference-impact.d.ts +0 -13
  242. package/dist/operations/import-reference-impact.d.ts.map +0 -1
  243. package/dist/operations/import-reference-impact.js +0 -101
  244. package/dist/operations/import-reference-impact.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-read-observation.d.ts","sourceRoot":"","sources":["../../src/mcp/workspace-read-observation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAQ7E,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,cAAc,GAAG,YAAY,CAAC;AAEjF,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,yBAAyB,EACpC,QAAQ,EAAE,sBAAsB,EAChC,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,UAAU,GACjB;IACD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,4BAA4B,GAAG,mBAAmB,CAAC;IACzE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAC3B,QAAQ,CAAC,OAAO,EAAE;YAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;YAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;SAC1B,EAAE,CAAC;KACL,CAAC;CACH,GAAG,IAAI,CAuEP"}
1
+ {"version":3,"file":"workspace-read-observation.d.ts","sourceRoot":"","sources":["../../src/mcp/workspace-read-observation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAQ7E,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,cAAc,GAAG,YAAY,CAAC;AAEjF,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,yBAAyB,EACpC,QAAQ,EAAE,sBAAsB,EAChC,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,UAAU,GACjB;IACD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,4BAA4B,GAAG,mBAAmB,CAAC;IACzE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE;QAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAC3B,QAAQ,CAAC,OAAO,EAAE;YAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;YACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;YAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;SAC1B,EAAE,CAAC;KACL,CAAC;CACH,GAAG,IAAI,CA2EP"}
@@ -33,7 +33,9 @@ export function buildWorkspaceReadObservation(execution, toolName, args, result)
33
33
  if (parsedResult === null) {
34
34
  return null;
35
35
  }
36
- if (typeof parsedResult.error === "string" || parsedResult.reason === "UNSUPPORTED_LANGUAGE") {
36
+ if (parsedResult.projection === "refused"
37
+ || typeof parsedResult.error === "string"
38
+ || parsedResult.reason === "UNSUPPORTED_LANGUAGE") {
37
39
  return null;
38
40
  }
39
41
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-read-observation.js","sourceRoot":"","sources":["../../src/mcp/workspace-read-observation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EACL,uBAAuB,EACvB,iCAAiC,EACjC,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,uCAAuC,CAAC;AAI/C,MAAM,UAAU,6BAA6B,CAC3C,SAAoC,EACpC,QAAgC,EAChC,IAAgB,EAChB,MAAkB;IAgBlB,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACzE,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;IAClF,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,kBAAkB,KAAK,IAAI;QAC5E,CAAC,CAAC,4BAA4B;QAC9B,CAAC,CAAC,mBAAmB,CAAC;IAExB,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,8BAA8B,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,WAAW;YACX,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,WAAW;YAC1C,SAAS,EAAE;gBACT,KAAK,EAAE,CAAC,aAAa,CAAC;gBACtB,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,EAAE;aACZ;SACF,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,iCAAiC,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,YAAY,CAAC,KAAK,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;YAC7F,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,OAAO,EAAE,cAAc;YACvB,UAAU,EAAE,SAAS;YACrB,WAAW;YACX,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,cAAc;YAC7C,SAAS,EAAE;gBACT,KAAK,EAAE,CAAC,aAAa,CAAC;gBACtB,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,EAAE;aACZ;SACF,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,+BAA+B,CAAC,MAAM,CAAC,CAAC;IAC7D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,SAAS;QACrB,WAAW;QACX,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,YAAY;QAC3C,SAAS,EAAE;YACT,KAAK,EAAE,CAAC,aAAa,CAAC;YACtB,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,aAAa;oBACnB,SAAS,EAAE,YAAY,CAAC,SAAS;oBACjC,OAAO,EAAE,YAAY,CAAC,OAAO;iBAC9B,CAAC;SACH;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workspace-read-observation.js","sourceRoot":"","sources":["../../src/mcp/workspace-read-observation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EACL,uBAAuB,EACvB,iCAAiC,EACjC,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,uCAAuC,CAAC;AAI/C,MAAM,UAAU,6BAA6B,CAC3C,SAAoC,EACpC,QAAgC,EAChC,IAAgB,EAChB,MAAkB;IAgBlB,MAAM,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACzE,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;IAClF,MAAM,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,kBAAkB,KAAK,IAAI;QAC5E,CAAC,CAAC,4BAA4B;QAC9B,CAAC,CAAC,mBAAmB,CAAC;IAExB,IAAI,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,8BAA8B,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,WAAW;YACX,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,WAAW;YAC1C,SAAS,EAAE;gBACT,KAAK,EAAE,CAAC,aAAa,CAAC;gBACtB,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,EAAE;aACZ;SACF,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,iCAAiC,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IACE,YAAY,CAAC,UAAU,KAAK,SAAS;eAClC,OAAO,YAAY,CAAC,KAAK,KAAK,QAAQ;eACtC,YAAY,CAAC,MAAM,KAAK,sBAAsB,EACjD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,OAAO,EAAE,cAAc;YACvB,UAAU,EAAE,SAAS;YACrB,WAAW;YACX,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,cAAc;YAC7C,SAAS,EAAE;gBACT,KAAK,EAAE,CAAC,aAAa,CAAC;gBACtB,OAAO,EAAE,EAAE;gBACX,OAAO,EAAE,EAAE;aACZ;SACF,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,+BAA+B,CAAC,MAAM,CAAC,CAAC;IAC7D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,SAAS;QACrB,WAAW;QACX,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,YAAY;QAC3C,SAAS,EAAE;YACT,KAAK,EAAE,CAAC,aAAa,CAAC;YACtB,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,aAAa;oBACnB,SAAS,EAAE,YAAY,CAAC,SAAS;oBACjC,OAAO,EAAE,YAAY,CAAC,OAAO;iBAC9B,CAAC;SACH;KACF,CAAC;AACJ,CAAC"}
@@ -81,6 +81,21 @@ export declare class WorkspaceCapabilityDeniedError extends Error {
81
81
  readonly code = "CAPABILITY_DENIED";
82
82
  constructor(toolName: string);
83
83
  }
84
+ export declare class WorkspaceRouteUnauthorizedError extends Error {
85
+ readonly code = "WORKSPACE_NOT_AUTHORIZED";
86
+ constructor(workspaceRoot: string);
87
+ }
88
+ export declare class WorkspaceResolutionError extends Error {
89
+ readonly code: string;
90
+ constructor(code: string, message: string);
91
+ }
92
+ export interface WorkspaceRouteEvidence {
93
+ readonly route: "explicit_cwd";
94
+ readonly requestedRoot: string;
95
+ readonly resolvedRoot: string;
96
+ readonly repoId: string;
97
+ readonly worktreeId: string;
98
+ }
84
99
  export interface WorkspaceExecutionContext {
85
100
  readonly sliceId: string;
86
101
  readonly repoId: string;
@@ -88,6 +103,7 @@ export interface WorkspaceExecutionContext {
88
103
  readonly projectRoot: string;
89
104
  readonly worktreeRoot: string;
90
105
  readonly gitCommonDir: string;
106
+ readonly workspaceRoute: WorkspaceRouteEvidence | null;
91
107
  readonly graftignorePatterns: readonly string[];
92
108
  readonly resolvePath: (input: string) => string;
93
109
  readonly capabilityProfile: WorkspaceCapabilityProfile;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-router-model.d.ts","sourceRoot":"","sources":["../../src/mcp/workspace-router-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-router-model.d.ts","sourceRoot":"","sources":["../../src/mcp/workspace-router-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,QAAQ,CAAC;AACpD,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,CAAC;AACrD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEpD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,0BAA0B,GAAG,IAAI,CAAC;CAC/D;AAED,MAAM,WAAW,qBAAsB,SAAQ,eAAe;IAC5D,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;AAEvF,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC3C;AAED,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,eAAe,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,SAAS,mBAAmB,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,qBAAqB,EAAE,4BAA4B,CAAC;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,QAAQ,CAAC,IAAI,uBAAuB;gBAExB,QAAQ,EAAE,MAAM;CAI7B;AAED,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,QAAQ,CAAC,IAAI,uBAAuB;gBAExB,QAAQ,EAAE,MAAM;CAI7B;AAED,qBAAa,+BAAgC,SAAQ,KAAK;IACxD,QAAQ,CAAC,IAAI,8BAA8B;gBAE/B,aAAa,EAAE,MAAM;CAIlC;AAED,qBAAa,wBAAyB,SAAQ,KAAK;IAE/C,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKlB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,QAAQ,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;IACvD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,gBAAgB,IAAI,oBAAoB,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,4BAA4B;IAC3C,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAC;IAC9F,SAAS,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,2BAA2B;IAC1C,yBAAyB,CAAC,KAAK,EAAE;QAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;KAC7B,GAAG,OAAO,8BAA8B,EAAE,uCAAuC,GAAG,IAAI,CAAC;CAC3F;AAED,eAAO,MAAM,iCAAiC,EAAE,0BAO9C,CAAC;AAEH,eAAO,MAAM,qCAAqC,EAAE,0BAOlD,CAAC"}
@@ -12,6 +12,21 @@ export class WorkspaceCapabilityDeniedError extends Error {
12
12
  this.name = "WorkspaceCapabilityDeniedError";
13
13
  }
14
14
  }
15
+ export class WorkspaceRouteUnauthorizedError extends Error {
16
+ code = "WORKSPACE_NOT_AUTHORIZED";
17
+ constructor(workspaceRoot) {
18
+ super(`Workspace ${workspaceRoot} is not authorized for routed daemon access. Call workspace_authorize or workspace_open first.`);
19
+ this.name = "WorkspaceRouteUnauthorizedError";
20
+ }
21
+ }
22
+ export class WorkspaceResolutionError extends Error {
23
+ code;
24
+ constructor(code, message) {
25
+ super(message);
26
+ this.code = code;
27
+ this.name = "WorkspaceResolutionError";
28
+ }
29
+ }
15
30
  export const DEFAULT_DAEMON_CAPABILITY_PROFILE = Object.freeze({
16
31
  boundedReads: true,
17
32
  structuralTools: true,
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-router-model.js","sourceRoot":"","sources":["../../src/mcp/workspace-router-model.ts"],"names":[],"mappings":"AAuFA,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IAC7C,IAAI,GAAG,mBAAmB,CAAC;IAEpC,YAAY,QAAgB;QAC1B,KAAK,CAAC,QAAQ,QAAQ,mEAAmE,CAAC,CAAC;QAC3F,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IAC9C,IAAI,GAAG,mBAAmB,CAAC;IAEpC,YAAY,QAAgB;QAC1B,KAAK,CAAC,QAAQ,QAAQ,2DAA2D,CAAC,CAAC;QACnF,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF;AA2CD,MAAM,CAAC,MAAM,iCAAiC,GAA+B,MAAM,CAAC,MAAM,CAAC;IACzF,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,oBAAoB;IACjC,UAAU,EAAE,KAAK;CAClB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qCAAqC,GAA+B,MAAM,CAAC,MAAM,CAAC;IAC7F,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,oBAAoB;IACjC,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"workspace-router-model.js","sourceRoot":"","sources":["../../src/mcp/workspace-router-model.ts"],"names":[],"mappings":"AAuFA,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IAC7C,IAAI,GAAG,mBAAmB,CAAC;IAEpC,YAAY,QAAgB;QAC1B,KAAK,CAAC,QAAQ,QAAQ,mEAAmE,CAAC,CAAC;QAC3F,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;CACF;AAED,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IAC9C,IAAI,GAAG,mBAAmB,CAAC;IAEpC,YAAY,QAAgB;QAC1B,KAAK,CAAC,QAAQ,QAAQ,2DAA2D,CAAC,CAAC;QACnF,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF;AAED,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IAC/C,IAAI,GAAG,0BAA0B,CAAC;IAE3C,YAAY,aAAqB;QAC/B,KAAK,CAAC,aAAa,aAAa,gGAAgG,CAAC,CAAC;QAClI,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC;IAChD,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAEtC;IADX,YACW,IAAY,EACrB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,SAAI,GAAJ,IAAI,CAAQ;QAIrB,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAoDD,MAAM,CAAC,MAAM,iCAAiC,GAA+B,MAAM,CAAC,MAAM,CAAC;IACzF,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,oBAAoB;IACjC,UAAU,EAAE,KAAK;CAClB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qCAAqC,GAA+B,MAAM,CAAC,MAAM,CAAC;IAC7F,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,oBAAoB;IACjC,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-router-resolution.d.ts","sourceRoot":"","sources":["../../src/mcp/workspace-router-resolution.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE3F,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvE;AA4BD,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,CA0BjD"}
1
+ {"version":3,"file":"workspace-router-resolution.d.ts","sourceRoot":"","sources":["../../src/mcp/workspace-router-resolution.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAE3F,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvE;AA4BD,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,SAAS,EACd,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,CA4CjD"}
@@ -46,11 +46,29 @@ export async function resolveWorkspaceRequest(git, request) {
46
46
  }
47
47
  const gitCommonDir = canonicalize(toAbsolutePath(worktreeRoot, rawGitCommonDir));
48
48
  const canonicalWorktreeRoot = canonicalize(worktreeRoot);
49
- return {
49
+ const resolved = {
50
50
  repoId: stableWorkspaceId("repo", gitCommonDir),
51
51
  worktreeId: stableWorkspaceId("worktree", canonicalWorktreeRoot),
52
52
  worktreeRoot: canonicalWorktreeRoot,
53
53
  gitCommonDir,
54
54
  };
55
+ const mismatchedHints = [
56
+ request.repoId !== undefined && request.repoId !== resolved.repoId ? "repoId" : null,
57
+ request.worktreeRoot !== undefined
58
+ && canonicalize(toAbsolutePath(cwd, request.worktreeRoot)) !== resolved.worktreeRoot
59
+ ? "worktreeRoot"
60
+ : null,
61
+ request.gitCommonDir !== undefined
62
+ && canonicalize(toAbsolutePath(resolved.worktreeRoot, request.gitCommonDir)) !== resolved.gitCommonDir
63
+ ? "gitCommonDir"
64
+ : null,
65
+ ].filter((field) => field !== null);
66
+ if (mismatchedHints.length > 0) {
67
+ return {
68
+ code: "WORKSPACE_IDENTITY_MISMATCH",
69
+ message: `Client workspace identity hints do not match the workspace resolved from cwd: ${mismatchedHints.join(", ")}`,
70
+ };
71
+ }
72
+ return resolved;
55
73
  }
56
74
  //# sourceMappingURL=workspace-router-resolution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-router-resolution.js","sourceRoot":"","sources":["../../src/mcp/workspace-router-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AASlC,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,KAAa;IAC7D,OAAO,GAAG,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAC7F,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,GAAc,EAAE,GAAW,EAAE,IAAuB;IAC9E,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACrC,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,KAAa;IACjD,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,SAAiB;IACrC,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,GAAc,EACd,OAA6B;IAE7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,wBAAwB,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC9G,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO;YACL,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,qCAAqC,GAAG,EAAE;SACpD,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,wBAAwB,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAClH,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,6BAA6B;YACnC,OAAO,EAAE,yCAAyC,GAAG,EAAE;SACxD,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,CAAC,cAAc,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC,CAAC;IACjF,MAAM,qBAAqB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IACzD,OAAO;QACL,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAE,YAAY,CAAC;QAC/C,UAAU,EAAE,iBAAiB,CAAC,UAAU,EAAE,qBAAqB,CAAC;QAChE,YAAY,EAAE,qBAAqB;QACnC,YAAY;KACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workspace-router-resolution.js","sourceRoot":"","sources":["../../src/mcp/workspace-router-resolution.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import type { WarpContext } from "../warp/context.js";
11
11
  import type { JsonObject } from "../contracts/json-object.js";
12
12
  import type { WarpPool } from "./warp-pool.js";
13
13
  import { GovernorTracker } from "../session/tracker.js";
14
- export { DEFAULT_DAEMON_CAPABILITY_PROFILE, DEFAULT_REPO_LOCAL_CAPABILITY_PROFILE, WorkspaceBindingRequiredError, WorkspaceCapabilityDeniedError, type CausalAttachResult, type OpenedWorkspaceSource, type OpenedWorkspaceView, type ResolvedWorkspace, type WorkspaceActionResult, type WorkspaceAuthorizationPolicy, type WorkspaceBindAction, type WorkspaceBindRequest, type WorkspaceCapabilityProfile, type WorkspaceExecutionContext, type WorkspaceListOpenedResult, type WorkspaceMode, type WorkspaceOpenRequest, type WorkspaceOpenResult, type WorkspaceSharedAttachPolicy, type WorkspaceStatus, } from "./workspace-router-model.js";
14
+ export { DEFAULT_DAEMON_CAPABILITY_PROFILE, DEFAULT_REPO_LOCAL_CAPABILITY_PROFILE, WorkspaceBindingRequiredError, WorkspaceCapabilityDeniedError, WorkspaceResolutionError, WorkspaceRouteUnauthorizedError, type CausalAttachResult, type OpenedWorkspaceSource, type OpenedWorkspaceView, type ResolvedWorkspace, type WorkspaceActionResult, type WorkspaceAuthorizationPolicy, type WorkspaceBindAction, type WorkspaceBindRequest, type WorkspaceCapabilityProfile, type WorkspaceExecutionContext, type WorkspaceListOpenedResult, type WorkspaceMode, type WorkspaceOpenRequest, type WorkspaceOpenResult, type WorkspaceRouteEvidence, type WorkspaceSharedAttachPolicy, type WorkspaceStatus, } from "./workspace-router-model.js";
15
15
  export { resolveWorkspaceRequest } from "./workspace-router-resolution.js";
16
16
  interface WorkspaceRouterOptions {
17
17
  readonly mode: WorkspaceMode;
@@ -35,6 +35,8 @@ export declare class WorkspaceRouter {
35
35
  private currentBinding;
36
36
  private initialization;
37
37
  private readonly openedWorkspaces;
38
+ private readonly routedBindings;
39
+ private readonly routedBindingInitializations;
38
40
  constructor(options: WorkspaceRouterOptions);
39
41
  initialize(): Promise<void>;
40
42
  get mode(): WorkspaceMode;
@@ -58,6 +60,11 @@ export declare class WorkspaceRouter {
58
60
  getWorkspaceOverlayFooting(): Promise<RuntimeWorkspaceOverlayFooting | null>;
59
61
  noteReadObservation(toolName: AttributedReadToolName, args: JsonObject, result: JsonObject, execution?: WorkspaceExecutionContext | null): Promise<void>;
60
62
  captureExecutionContext(): WorkspaceExecutionContext;
63
+ captureExecutionContextForWorkspace(request: WorkspaceBindRequest): Promise<WorkspaceExecutionContext>;
64
+ private createRoutedBinding;
65
+ private routedBindingMatches;
66
+ private noteRoutedBinding;
67
+ private buildExecutionContext;
61
68
  bind(request: WorkspaceBindRequest, actionName: string): Promise<WorkspaceActionResult>;
62
69
  rebind(request: WorkspaceBindRequest, actionName: string): Promise<WorkspaceActionResult>;
63
70
  declareAttach(declaration: PersistedLocalHistoryAttachDeclaration): Promise<CausalAttachResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-router.d.ts","sourceRoot":"","sources":["../../src/mcp/workspace-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-router.d.ts","sourceRoot":"","sources":["../../src/mcp/workspace-router.ts"],"names":[],"mappings":"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"}
@@ -7,13 +7,14 @@ import { RepoStateTracker } from "./repo-state.js";
7
7
  import { buildRuntimeStagedTarget } from "./runtime-staged-target.js";
8
8
  import { buildRuntimeWorkspaceOverlayFooting, } from "./runtime-workspace-overlay.js";
9
9
  import { buildWorkspaceReadObservation } from "./workspace-read-observation.js";
10
- import { DEFAULT_REPO_LOCAL_CAPABILITY_PROFILE, WorkspaceBindingRequiredError, } from "./workspace-router-model.js";
10
+ import { DEFAULT_REPO_LOCAL_CAPABILITY_PROFILE, WorkspaceBindingRequiredError, WorkspaceResolutionError, WorkspaceRouteUnauthorizedError, } from "./workspace-router-model.js";
11
11
  import { resolveWorkspaceRequest, stableWorkspaceId } from "./workspace-router-resolution.js";
12
12
  import { DEFAULT_WARP_WRITER_ID } from "../warp/writer-id.js";
13
13
  import { GovernorTracker } from "../session/tracker.js";
14
14
  import { boundWorkspaceStatus, buildPersistedLocalHistoryContext, buildPersistedLocalHistoryContextFromExecution, buildPersistedLocalHistoryGraphContext, buildWorkspaceCausalContext, createBoundWorkspace, createWorkspaceSlice, nextBindingSliceDir, resolveCheckoutBoundaryHookEvent, unboundWorkspaceStatus, } from "./workspace-router-runtime.js";
15
- export { DEFAULT_DAEMON_CAPABILITY_PROFILE, DEFAULT_REPO_LOCAL_CAPABILITY_PROFILE, WorkspaceBindingRequiredError, WorkspaceCapabilityDeniedError, } from "./workspace-router-model.js";
15
+ export { DEFAULT_DAEMON_CAPABILITY_PROFILE, DEFAULT_REPO_LOCAL_CAPABILITY_PROFILE, WorkspaceBindingRequiredError, WorkspaceCapabilityDeniedError, WorkspaceResolutionError, WorkspaceRouteUnauthorizedError, } from "./workspace-router-model.js";
16
16
  export { resolveWorkspaceRequest } from "./workspace-router-resolution.js";
17
+ const MAX_ROUTED_BINDINGS = 8;
17
18
  function workspaceCapabilityProfilesEqual(left, right) {
18
19
  const leftRuntimeLogs = left.runtimeLogs;
19
20
  const rightRuntimeLogs = right.runtimeLogs;
@@ -32,6 +33,8 @@ export class WorkspaceRouter {
32
33
  currentBinding = null;
33
34
  initialization = null;
34
35
  openedWorkspaces = new Map();
36
+ routedBindings = new Map();
37
+ routedBindingInitializations = new Map();
35
38
  constructor(options) {
36
39
  this.options = options;
37
40
  const initialProjectRoot = options.mode === "repo_local" ? options.projectRoot : undefined;
@@ -356,6 +359,89 @@ export class WorkspaceRouter {
356
359
  }
357
360
  captureExecutionContext() {
358
361
  const binding = this.requireBinding();
362
+ return this.buildExecutionContext(binding);
363
+ }
364
+ async captureExecutionContextForWorkspace(request) {
365
+ const resolved = await resolveWorkspaceRequest(this.options.git, request);
366
+ if ("code" in resolved) {
367
+ throw new WorkspaceResolutionError(resolved.code, resolved.message);
368
+ }
369
+ const workspaceRoute = Object.freeze({
370
+ route: "explicit_cwd",
371
+ requestedRoot: path.resolve(request.cwd),
372
+ resolvedRoot: resolved.worktreeRoot,
373
+ repoId: resolved.repoId,
374
+ worktreeId: resolved.worktreeId,
375
+ });
376
+ const capabilityProfile = this.options.mode === "repo_local"
377
+ ? DEFAULT_REPO_LOCAL_CAPABILITY_PROFILE
378
+ : (await this.options.authorizationPolicy?.getCapabilityProfile(resolved)) ?? null;
379
+ if (capabilityProfile === null) {
380
+ this.routedBindings.delete(resolved.worktreeId);
381
+ this.routedBindingInitializations.delete(resolved.worktreeId);
382
+ throw new WorkspaceRouteUnauthorizedError(resolved.worktreeRoot);
383
+ }
384
+ if (this.currentBinding !== null
385
+ && this.routedBindingMatches(this.currentBinding, resolved, capabilityProfile)) {
386
+ return this.buildExecutionContext(this.currentBinding, workspaceRoute);
387
+ }
388
+ const existing = this.routedBindings.get(resolved.worktreeId);
389
+ if (existing !== undefined && this.routedBindingMatches(existing, resolved, capabilityProfile)) {
390
+ this.noteRoutedBinding(existing);
391
+ return this.buildExecutionContext(existing, workspaceRoute);
392
+ }
393
+ const initializing = this.routedBindingInitializations.get(resolved.worktreeId);
394
+ if (initializing !== undefined) {
395
+ const binding = await initializing;
396
+ if (this.routedBindingMatches(binding, resolved, capabilityProfile)) {
397
+ this.noteRoutedBinding(binding);
398
+ return this.buildExecutionContext(binding, workspaceRoute);
399
+ }
400
+ }
401
+ const bindingInitialization = this.createRoutedBinding(resolved, capabilityProfile);
402
+ this.routedBindingInitializations.set(resolved.worktreeId, bindingInitialization);
403
+ let binding;
404
+ try {
405
+ binding = await bindingInitialization;
406
+ }
407
+ finally {
408
+ if (this.routedBindingInitializations.get(resolved.worktreeId) === bindingInitialization) {
409
+ this.routedBindingInitializations.delete(resolved.worktreeId);
410
+ }
411
+ }
412
+ this.noteRoutedBinding(binding);
413
+ this.noteOpenedWorkspace(resolved, capabilityProfile, this.options.mode === "daemon" ? "daemon_authorized" : "session_opened", false);
414
+ return this.buildExecutionContext(binding, workspaceRoute);
415
+ }
416
+ async createRoutedBinding(resolved, capabilityProfile) {
417
+ const routeDir = path.join(this.options.graftDir, "routes", `slice-${String(++this.bindingCounter).padStart(4, "0")}`);
418
+ await this.options.fs.mkdir(routeDir, { recursive: true });
419
+ const binding = await this.createBoundWorkspace(resolved, routeDir, capabilityProfile, undefined);
420
+ const repoState = binding.slice.repoState;
421
+ if (repoState === null) {
422
+ throw new WorkspaceBindingRequiredError("workspace");
423
+ }
424
+ await repoState.initialize();
425
+ return binding;
426
+ }
427
+ routedBindingMatches(binding, resolved, capabilityProfile) {
428
+ return binding.repoId === resolved.repoId
429
+ && binding.worktreeRoot === resolved.worktreeRoot
430
+ && binding.gitCommonDir === resolved.gitCommonDir
431
+ && workspaceCapabilityProfilesEqual(binding.capabilityProfile, capabilityProfile);
432
+ }
433
+ noteRoutedBinding(binding) {
434
+ this.routedBindings.delete(binding.worktreeId);
435
+ this.routedBindings.set(binding.worktreeId, binding);
436
+ while (this.routedBindings.size > MAX_ROUTED_BINDINGS) {
437
+ const oldest = this.routedBindings.keys().next().value;
438
+ if (oldest === undefined) {
439
+ return;
440
+ }
441
+ this.routedBindings.delete(oldest);
442
+ }
443
+ }
444
+ buildExecutionContext(binding, workspaceRoute = null) {
359
445
  const repoState = binding.slice.repoState;
360
446
  if (repoState === null) {
361
447
  throw new WorkspaceBindingRequiredError("workspace");
@@ -367,6 +453,7 @@ export class WorkspaceRouter {
367
453
  projectRoot: binding.worktreeRoot,
368
454
  worktreeRoot: binding.worktreeRoot,
369
455
  gitCommonDir: binding.gitCommonDir,
456
+ workspaceRoute,
370
457
  graftignorePatterns: binding.graftignorePatterns,
371
458
  resolvePath: binding.resolvePath,
372
459
  capabilityProfile: binding.capabilityProfile,
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-router.js","sourceRoot":"","sources":["../../src/mcp/workspace-router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAEL,2CAA2C,EAC3C,0BAA0B,GAK3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAA0C,MAAM,oCAAoC,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAwB,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EACL,mCAAmC,GAEpC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,6BAA6B,EAA+B,MAAM,iCAAiC,CAAC;AAC7G,OAAO,EACL,qCAAqC,EACrC,6BAA6B,GAiB9B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAM9F,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAGL,oBAAoB,EACpB,iCAAiC,EACjC,8CAA8C,EAC9C,sCAAsC,EACtC,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,gCAAgC,EAChC,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iCAAiC,EACjC,qCAAqC,EACrC,6BAA6B,EAC7B,8BAA8B,GAiB/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAwB3E,SAAS,gCAAgC,CACvC,IAAgC,EAChC,KAAiC;IAEjC,MAAM,eAAe,GAAW,IAAI,CAAC,WAAW,CAAC;IACjD,MAAM,gBAAgB,GAAW,KAAK,CAAC,WAAW,CAAC;IACnD,OAAO,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;WAC1C,IAAI,CAAC,eAAe,KAAK,KAAK,CAAC,eAAe;WAC9C,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc;WAC5C,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc;WAC5C,eAAe,KAAK,gBAAgB;WACpC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CAAC;AAC5C,CAAC;AAED,MAAM,OAAO,eAAe;IAQG;IAPrB,cAAc,GAAG,CAAC,CAAC;IACnB,cAAc,GAAG,CAAC,CAAC;IACnB,YAAY,CAAiB;IAC7B,cAAc,GAA0B,IAAI,CAAC;IAC7C,cAAc,GAAyB,IAAI,CAAC;IACnC,gBAAgB,GAAG,IAAI,GAAG,EAAiC,CAAC;IAE7E,YAA6B,OAA+B;QAA/B,YAAO,GAAP,OAAO,CAAwB;QAC1D,MAAM,kBAAkB,GAAG,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3F,IAAI,CAAC,YAAY,GAAG,oBAAoB,CAAC;YACvC,QAAQ,EAAE,OAAO,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC;YACnG,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,WAAW,EAAE,SAAS,MAAM,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACtE,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,cAAc,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,cAAc,GAAG,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;YACvF,MAAM,gBAAgB,GAAG,MAAM,IAAI,QAAQ;gBACzC,CAAC,CAAC;oBACE,MAAM,EAAE,iBAAiB,CAAC,MAAM,EAAE,WAAW,CAAC;oBAC9C,UAAU,EAAE,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC;oBACtD,YAAY,EAAE,WAAW;oBACzB,YAAY,EAAE,WAAW;iBAC1B;gBACH,CAAC,CAAC;oBACE,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,UAAU,EAAE,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC;oBACtD,YAAY,EAAE,WAAW;oBACzB,YAAY,EAAE,QAAQ,CAAC,YAAY;iBACpC,CAAC;YACN,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,oBAAoB,CACpD,gBAAgB,EAChB,IAAI,CAAC,OAAO,CAAC,QAAQ,EACrB,qCAAqC,EACrC,SAAS,EACT,IAAI,CAAC,YAAY,CAClB,CAAC;YACF,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC;YACxD,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,6BAA6B,CAAC,WAAW,CAAC,CAAC;YACvD,CAAC;YACD,MAAM,gBAAgB,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC;gBACnD,OAAO,EAAE,IAAI,CAAC,iCAAiC,CAAC,cAAc,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC5F,YAAY,EAAE,MAAM,IAAI,CAAC,sCAAsC,CAAC,cAAc,CAAC;aAChF,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,EAAE,qCAAqC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACrG,CAAC,CAAC,EAAE,CAAC;QAEL,MAAM,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;IACjC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;IACtC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC;IAC5C,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,mBAAmB,CAAC;IACnD,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,WAAW,CAAC;IAC3C,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1C,MAAM,mBAAmB,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QACjD,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;QAClD,MAAM,yBAAyB,GAAG,mBAAmB,CAAC,aAAa,KAAK,eAAe,CAAC,aAAa;YACnG,CAAC,CAAC,MAAM,IAAI,CAAC,gCAAgC,CAAC,OAAO,EAAE,mBAAmB,CAAC,UAAU,EAAE,eAAe,CAAC;YACvG,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,eAAe,GAAG,IAAI,CAAC,iCAAiC,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;QAC7F,MAAM,WAAW,GAAG,IAAI,CAAC,iCAAiC,CACxD,OAAO,EACP,eAAe,EACf,yBAAyB,CAC1B,CAAC;QACF,IAAI,eAAe,CAAC,eAAe,KAAK,WAAW,CAAC,eAAe,EAAE,CAAC;YACpE,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAoB,CAAC;gBAC5D,QAAQ,EAAE,eAAe;gBACzB,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE,MAAM,IAAI,CAAC,sCAAsC,CAAC,OAAO,CAAC;aAClE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACtE,CAAC;IAED,oBAAoB;QAClB,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,IAAI,IAAI,CAAC;QACjE,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YAC9B,gBAAgB;YAChB,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;iBAC5C,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;iBACrE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SAC9E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAA6B;QAC/C,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;YACvB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,KAAK;gBACd,iBAAiB,EAAE,KAAK;gBACxB,GAAG,IAAI,CAAC,SAAS,EAAE;gBACnB,SAAS,EAAE,QAAQ,CAAC,IAAI;gBACxB,KAAK,EAAE,QAAQ,CAAC,OAAO;aACxB,CAAC;QACJ,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY;YAC1D,CAAC,CAAC,qCAAqC;YACvC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC;QACrF,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,KAAK;gBACd,iBAAiB,EAAE,KAAK;gBACxB,GAAG,IAAI,CAAC,SAAS,EAAE;gBACnB,SAAS,EAAE,0BAA0B;gBACrC,KAAK,EAAE,aAAa,QAAQ,CAAC,YAAY,wEAAwE;aAClH,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;QAC1C,MAAM,MAAM,GAA0B,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAC9G,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAErF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,OAAO;gBACP,iBAAiB,EAAE,KAAK;gBACxB,GAAG,IAAI,CAAC,SAAS,EAAE;gBACnB,eAAe,EAAE,IAAI,CAAC,qBAAqB,CACzC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAChD,IAAI,CAAC,cAAc,EAAE,UAAU,IAAI,IAAI,CACxC;aACF,CAAC;QACJ,CAAC;QAED,IACE,IAAI,CAAC,cAAc,EAAE,UAAU,KAAK,QAAQ,CAAC,UAAU;eACpD,gCAAgC,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,EAC7F,CAAC;YACD,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACjD,OAAO;gBACL,EAAE,EAAE,IAAI;gBACR,OAAO;gBACP,iBAAiB,EAAE,KAAK;gBACxB,GAAG,IAAI,CAAC,SAAS,EAAE;gBACnB,eAAe,EAAE,IAAI,CAAC,qBAAqB,CACzC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAChD,IAAI,CAAC,cAAc,CAAC,UAAU,CAC/B;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAwB,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE;YACxE,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QACH,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,OAAO;YACP,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,GAAG,CAAC,MAAM,CAAC,EAAE;gBACX,CAAC,CAAC;oBACE,eAAe,EAAE,IAAI,CAAC,qBAAqB,CACzC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAChD,MAAM,CAAC,UAAU,CAClB;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,+BAA+B;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,IAAI,OAAO,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1D,OAAO;gBACL,YAAY,EAAE,MAAM;gBACpB,WAAW,EAAE,yBAAyB;gBACtC,WAAW,EAAE,IAAI;gBACjB,sBAAsB,EAAE,CAAC;gBACzB,MAAM,EAAE,KAAK;gBACb,aAAa,EAAE,IAAI;gBACnB,cAAc,EAAE,IAAI;gBACpB,aAAa,EAAE,IAAI;gBACnB,eAAe,EAAE,IAAI;gBACrB,QAAQ,EAAE,IAAI;gBACd,eAAe,EAAE,IAAI;gBACrB,4BAA4B,EAAE,IAAI;gBAClC,oBAAoB,EAAE,SAAS;gBAC/B,kBAAkB,EAAE,EAAE;gBACtB,WAAW,EAAE;oBACX,KAAK,EAAE;wBACL,OAAO,EAAE,SAAS;wBAClB,SAAS,EAAE,SAAS;wBACpB,WAAW,EAAE,SAAS;wBACtB,MAAM,EAAE,kCAAkC;wBAC1C,cAAc,EAAE,UAAU;qBAC3B;oBACD,UAAU,EAAE,SAAS;oBACrB,KAAK,EAAE,kBAAkB;oBACzB,QAAQ,EAAE,EAAE;iBACb;gBACD,eAAe,EAAE,IAAI;gBACrB,gBAAgB,EAAE,IAAI;gBACtB,qBAAqB,EAAE,IAAI;gBAC3B,SAAS,EAAE;oBACT,uBAAuB;oBACvB,aAAa;oBACb,cAAc;oBACd,mBAAmB;oBACnB,qBAAqB;oBACrB,6BAA6B;iBAC9B;gBACD,QAAQ,EAAE;oBACR,sBAAsB;oBACtB,mBAAmB;oBACnB,sBAAsB;oBACtB,4BAA4B;iBAC7B;gBACD,UAAU,EAAE,uCAAuC;aACpD,CAAC;QACJ,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACrD,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAC;QACzE,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAE/F,IAAI,SAAS,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,iCAAiC,CAAC;gBACzE,OAAO,EAAE,IAAI,CAAC,iCAAiC,CAAC,OAAO,EAAE,SAAS,CAAC;gBACnE,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;gBAChD,UAAU,EAAE,SAAS,CAAC,cAAc;gBACpC,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,KAAK;aACN,CAAC,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAC7F,CAAC;QAED,MAAM,YAAY,GAAG,wBAAwB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAErG,IAAI,YAAY,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;YAC9C,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAoB,CAAC;gBAC5D,OAAO,EAAE,IAAI,CAAC,iCAAiC,CAAC,OAAO,EAAE,SAAS,CAAC;gBACnE,YAAY;gBACZ,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,KAAK;aACN,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,IAAI,OAAO,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,wBAAwB,CAChE,IAAI,CAAC,SAAS,EAAE,EAChB,MAAM,IAAI,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAC3D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,KAAa;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,IAAI,OAAO,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1D,OAAO;gBACL,WAAW,EAAE,IAAI;gBACjB,KAAK;gBACL,kBAAkB,EAAE,CAAC;gBACrB,SAAS,EAAE,KAAK;gBAChB,KAAK,EAAE,EAAE;aACV,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAE7C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACrD,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,kBAAkB,CAC1D,MAAM,EACN,aAAa,EACb,KAAK,EACL,KAAK,CACN,CAAC;IACJ,CAAC;IAED,0BAA0B;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,IAAI,OAAO,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1D,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,mCAAmC,CACxC,IAAI,CAAC,OAAO,CAAC,EAAE,EACf,IAAI,CAAC,OAAO,CAAC,GAAG,EAChB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CACnC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,QAAgC,EAChC,IAAgB,EAChB,MAAkB,EAClB,SAA4C;QAE5C,MAAM,MAAM,GAAG,SAAS,IAAI,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAClE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,6BAA6B,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACtF,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,SAAS,CAChE,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,gBAAgB,EAAE,EACzB,MAAM,IAAI,CAAC,mDAAmD,CAAC,MAAM,CAAC,CACvE,CAAC;QAEF,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC;YAC3D,OAAO,EAAE,IAAI,CAAC,8CAA8C,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACjG,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,KAAK,EAAE,MAAM,IAAI,CAAC,mDAAmD,CAAC,MAAM,CAAC;YAC7E,GAAG,eAAe;SACnB,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QAC1C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,6BAA6B,CAAC,WAAW,CAAC,CAAC;QACvD,CAAC;QACD,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,WAAW,EAAE,OAAO,CAAC,YAAY;YACjC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;YAC5C,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC9E,MAAM,EAAE,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;YACxD,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;YAChC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;YAC1B,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO;YAC9B,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ;YAChC,SAAS;YACT,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA6B,EAAE,UAAkB;QAC1D,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAA6B,EAAE,UAAkB;QAC5D,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,QAAQ;gBAChB,iBAAiB,EAAE,KAAK;gBACxB,GAAG,IAAI,CAAC,SAAS,EAAE;gBACnB,SAAS,EAAE,iBAAiB;gBAC5B,KAAK,EAAE,wDAAwD;aAChE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,WAAmD;QAEnD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QACpC,IAAI,OAAO,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1D,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,QAAQ;gBAChB,GAAG,IAAI,CAAC,SAAS,EAAE;gBACnB,qBAAqB,EAAE,MAAM,IAAI,CAAC,+BAA+B,EAAE;gBACnE,SAAS,EAAE,iBAAiB;gBAC5B,KAAK,EAAE,qDAAqD;aAC7D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,aAAa,CAAC;gBACrD,OAAO,EAAE,IAAI,CAAC,iCAAiC,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAC5F,WAAW;gBACX,KAAK,EAAE,MAAM,IAAI,CAAC,sCAAsC,CAAC,OAAO,CAAC;aAClE,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,2CAA2C,EAAE,CAAC;gBACjE,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;oBACpF,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB;oBAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,UAAU,EAAE,OAAO,CAAC,UAAU;iBAC/B,CAAC,IAAI,IAAI,CAAC;gBACX,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;oBAChC,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC;wBAC3D,OAAO,EAAE,IAAI,CAAC,iCAAiC,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;wBAC5F,WAAW;wBACX,MAAM,EAAE,kBAAkB;wBAC1B,KAAK,EAAE,MAAM,IAAI,CAAC,sCAAsC,CAAC,OAAO,CAAC;qBAClE,CAAC,CAAC;oBACH,OAAO;wBACL,EAAE,EAAE,IAAI;wBACR,MAAM,EAAE,QAAQ;wBAChB,GAAG,IAAI,CAAC,SAAS,EAAE;wBACnB,qBAAqB,EAAE,MAAM,IAAI,CAAC,+BAA+B,EAAE;qBACpE,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,MAAM,EAAE,QAAQ;oBAChB,GAAG,IAAI,CAAC,SAAS,EAAE;oBACnB,qBAAqB,EAAE,MAAM,IAAI,CAAC,+BAA+B,EAAE;oBACnE,SAAS,EAAE,KAAK,CAAC,IAAI;oBACrB,KAAK,EAAE,KAAK,CAAC,OAAO;iBACrB,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO;YACL,EAAE,EAAE,IAAI;YACR,MAAM,EAAE,QAAQ;YAChB,GAAG,IAAI,CAAC,SAAS,EAAE;YACnB,qBAAqB,EAAE,MAAM,IAAI,CAAC,+BAA+B,EAAE;SACpE,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,MAA2B,EAC3B,OAA6B,EAC7B,UAAkB,EAClB,UAAyE,EAAE;QAE3E,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;YACvB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM;gBACN,iBAAiB,EAAE,KAAK;gBACxB,GAAG,IAAI,CAAC,SAAS,EAAE;gBACnB,SAAS,EAAE,QAAQ,CAAC,IAAI;gBACxB,KAAK,EAAE,QAAQ,CAAC,OAAO;aACxB,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACnF,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE3D,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,YAAY;YAC1D,CAAC,CAAC,qCAAqC;YACvC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,CAAC;QACrF,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM;gBACN,iBAAiB,EAAE,KAAK;gBACxB,GAAG,IAAI,CAAC,SAAS,EAAE;gBACnB,SAAS,EAAE,0BAA0B;gBACrC,KAAK,EAAE,aAAa,QAAQ,CAAC,YAAY,wEAAwE;aAClH,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;QACvG,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;QAClD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,6BAA6B,CAAC,WAAW,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC;QAC5C,MAAM,iBAAiB,GAAG,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC;QAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC;YACnD,OAAO,EAAE,IAAI,CAAC,iCAAiC,CAAC,WAAW,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC;YACtF,QAAQ,EAAE,eAAe,KAAK,IAAI,IAAI,iBAAiB,IAAI,IAAI;gBAC7D,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,eAAe,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YACzF,YAAY,EAAE,MAAM,IAAI,CAAC,sCAAsC,CAAC,WAAW,CAAC;YAC5E,aAAa,EAAE,eAAe,KAAK,IAAI;gBACrC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,MAAM,IAAI,CAAC,sCAAsC,CAAC,eAAe,CAAC;SACvE,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC;QACtC,IAAI,CAAC,mBAAmB,CACtB,QAAQ,EACR,iBAAiB,EACjB,OAAO,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,gBAAgB,CAAC,EACjG,IAAI,CACL,CAAC;QAEF,OAAO;YACL,EAAE,EAAE,IAAI;YACR,MAAM;YACN,iBAAiB,EAAE,IAAI;YACvB,GAAG,IAAI,CAAC,SAAS,EAAE;SACpB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,QAA2B,EAC3B,QAAgB,EAChB,iBAA6C,EAC7C,UAA8B,EAC9B,aAA8B;QAE9B,MAAM,KAAK,GAAG,aAAa,IAAI,oBAAoB,CAAC;YAClD,QAAQ;YACR,WAAW,EAAE,QAAQ,CAAC,YAAY;YAClC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YACnB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;YACrB,WAAW,EAAE,SAAS,MAAM,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;SACvE,CAAC,CAAC;QACH,OAAO,oBAAoB,CAAC;YAC1B,QAAQ;YACR,QAAQ;YACR,iBAAiB;YACjB,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,KAAK;YACL,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YACnB,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB;YACnD,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,sBAAsB;YACjE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;SAChC,CAAC,CAAC;IACL,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,6BAA6B,CAAC,WAAW,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEO,gBAAgB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC;QACvD,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,IAAI,6BAA6B,CAAC,WAAW,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,mBAAmB,CACzB,QAA2B,EAC3B,iBAA6C,EAC7C,MAA6B,EAC7B,SAAkB;QAElB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,OAAO,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3E,MAAM,OAAO,GAAG,OAAO,EAAE,MAAM,KAAK,QAAQ,CAAC,MAAM;eAC9C,OAAO,CAAC,YAAY,KAAK,QAAQ,CAAC,YAAY;eAC9C,OAAO,CAAC,YAAY,KAAK,QAAQ,CAAC,YAAY;eAC9C,OAAO,CAAC,MAAM,KAAK,UAAU;eAC7B,CAAC,gCAAgC,CAAC,OAAO,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;QACrF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC7C,GAAG,QAAQ;YACX,iBAAiB;YACjB,MAAM,EAAE,UAAU;YAClB,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,GAAG;YAClC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,eAAe,IAAI,IAAI,CAAC;SACtE,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,sBAAsB,CAAC,UAAkB;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE;YACpC,GAAG,OAAO;YACV,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAC1C,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,UAAkB;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,yCAAyC,UAAU,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,qBAAqB,CAC3B,MAA6B,EAC7B,gBAA+B;QAE/B,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,iBAAiB,EAAE,EAAE,GAAG,MAAM,CAAC,iBAAiB,EAAE;YAClD,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,gBAAgB,KAAK,MAAM,CAAC,UAAU;YAC9C,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,eAAe,EAAE,MAAM,CAAC,eAAe;SACxC,CAAC;IACJ,CAAC;IAEO,kBAAkB,CACxB,OAAuB,EACvB,WAA+C;QAE/C,OAAO,2BAA2B,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC3D,CAAC;IAEO,iCAAiC,CACvC,OAAuB,EACvB,WAA4B,EAC5B,YAAoF,IAAI;QAExF,OAAO,iCAAiC,CAAC;YACvC,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB;YACzD,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,OAAO;YACP,WAAW;YACX,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAEO,8CAA8C,CACpD,SAAoC,EACpC,WAA4B;QAE5B,OAAO,8CAA8C,CAAC;YACpD,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB;YACzD,SAAS;YACT,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,gCAAgC,CAC5C,OAAuB,EACvB,kBAA0B,EAC1B,WAA4B;QAE5B,OAAO,gCAAgC,CAAC;YACtC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YACnB,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;YACrB,OAAO;YACP,kBAAkB;YAClB,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAEO,8BAA8B;QACpC,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,sCAAsC,CAClD,OAAuB;QAEvB,IAAI,IAAI,CAAC,OAAO,CAAC,0BAA0B,KAAK,KAAK,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,sCAAsC,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACvF,CAAC;IAEO,KAAK,CAAC,mDAAmD,CAC/D,SAAoC;QAEpC,IAAI,IAAI,CAAC,OAAO,CAAC,0BAA0B,KAAK,KAAK,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,sCAAsC,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3F,CAAC;CACF"}
1
+ {"version":3,"file":"workspace-router.js","sourceRoot":"","sources":["../../src/mcp/workspace-router.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { OutlineEntry, JumpEntry } from "../parser/types.js";
2
- import type { FileSystem } from "../ports/filesystem.js";
2
+ import type { ObservedFile } from "./workspace-read-view.js";
3
3
  import type { ProseProjectionProvider } from "./colorful-prose-projection.js";
4
4
  export interface FileOutlineResult {
5
5
  path: string;
@@ -7,7 +7,11 @@ export interface FileOutlineResult {
7
7
  jumpTable: JumpEntry[];
8
8
  partial?: boolean | undefined;
9
9
  cacheHit?: boolean | undefined;
10
- reason?: "UNSUPPORTED_LANGUAGE" | undefined;
10
+ actual?: {
11
+ lines: number;
12
+ bytes: number;
13
+ } | undefined;
14
+ reason?: "UNSUPPORTED_LANGUAGE" | "INVALID_UTF8" | "UNADMITTED_PATH" | "NOT_FOUND" | undefined;
11
15
  error?: string | undefined;
12
16
  }
13
17
  export interface ExtractedFileOutline {
@@ -18,8 +22,13 @@ export interface ExtractedFileOutline {
18
22
  export declare function extractOutlineProjectionForContent(filePath: string, content: string, opts: {
19
23
  proseProjector?: ProseProjectionProvider | undefined;
20
24
  }): Promise<ExtractedFileOutline | null>;
21
- export declare function fileOutline(filePath: string, opts: {
22
- fs: FileSystem;
25
+ /**
26
+ * Extracts an outline from bytes already observed.
27
+ *
28
+ * Takes the observation rather than a filesystem so the symbols returned are
29
+ * necessarily the symbols of the bytes the caller evaluated and cached.
30
+ */
31
+ export declare function fileOutline(file: ObservedFile, opts?: {
23
32
  proseProjector?: ProseProjectionProvider | undefined;
24
33
  }): Promise<FileOutlineResult>;
25
34
  //# sourceMappingURL=file-outline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-outline.d.ts","sourceRoot":"","sources":["../../src/operations/file-outline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAmB,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAE/F,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC;AAED,wBAAsB,kCAAkC,CACtD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IAAE,cAAc,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAA;CAAE,GAC7D,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAwBtC;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;IAAE,EAAE,EAAE,UAAU,CAAC;IAAC,cAAc,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAA;CAAE,GAC7E,OAAO,CAAC,iBAAiB,CAAC,CAgC5B"}
1
+ {"version":3,"file":"file-outline.d.ts","sourceRoot":"","sources":["../../src/operations/file-outline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAmB,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAE/F,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IACtD,MAAM,CAAC,EAAE,sBAAsB,GAAG,cAAc,GAAG,iBAAiB,GAAG,WAAW,GAAG,SAAS,CAAC;IAC/F,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;IAChC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACxC;AAED,wBAAsB,kCAAkC,CACtD,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IAAE,cAAc,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAA;CAAE,GAC7D,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAwBtC;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,YAAY,EAClB,IAAI,GAAE;IAAE,cAAc,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAA;CAAO,GAClE,OAAO,CAAC,iBAAiB,CAAC,CAgC5B"}
@@ -23,19 +23,24 @@ export async function extractOutlineProjectionForContent(filePath, content, opts
23
23
  jumpTable: [...proseProjection.jumpTable],
24
24
  };
25
25
  }
26
- export async function fileOutline(filePath, opts) {
27
- let content;
28
- try {
29
- content = await opts.fs.readFile(filePath, "utf-8");
30
- }
31
- catch {
26
+ /**
27
+ * Extracts an outline from bytes already observed.
28
+ *
29
+ * Takes the observation rather than a filesystem so the symbols returned are
30
+ * necessarily the symbols of the bytes the caller evaluated and cached.
31
+ */
32
+ export async function fileOutline(file, opts = {}) {
33
+ const filePath = file.path;
34
+ if (file.utf8 === null) {
32
35
  return {
33
36
  path: filePath,
34
37
  outline: [],
35
38
  jumpTable: [],
36
- error: "File not found",
39
+ reason: "INVALID_UTF8",
40
+ error: "File is not valid UTF-8",
37
41
  };
38
42
  }
43
+ const content = file.utf8;
39
44
  const result = await extractOutlineProjectionForContent(filePath, content, {
40
45
  proseProjector: opts.proseProjector,
41
46
  });
@@ -1 +1 @@
1
- {"version":3,"file":"file-outline.js","sourceRoot":"","sources":["../../src/operations/file-outline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAqBlE,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,QAAgB,EAChB,OAAe,EACf,IAA8D;IAE9D,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;YACjC,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC;IACJ,CAAC;IAED,IAAI,eAAuC,CAAC;IAC5C,IAAI,CAAC;QACH,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC;QACrC,SAAS,EAAE,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAgB,EAChB,IAA8E;IAE9E,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,gBAAgB;SACxB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,kCAAkC,CAAC,QAAQ,EAAE,OAAO,EAAE;QACzE,cAAc,EAAE,IAAI,CAAC,cAAc;KACpC,CAAC,CAAC;IACH,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,sBAAsB;YAC9B,KAAK,EAAE,2DAA2D;SACnE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"file-outline.js","sourceRoot":"","sources":["../../src/operations/file-outline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAsBlE,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,QAAgB,EAChB,OAAe,EACf,IAA8D;IAE9D,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnE,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;YACjC,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC;IACJ,CAAC;IAED,IAAI,eAAuC,CAAC;IAC5C,IAAI,CAAC;QACH,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC;QACrC,SAAS,EAAE,CAAC,GAAG,eAAe,CAAC,SAAS,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAkB,EAClB,OAAiE,EAAE;IAEnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,yBAAyB;SACjC,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;IAE1B,MAAM,MAAM,GAAG,MAAM,kCAAkC,CAAC,QAAQ,EAAE,OAAO,EAAE;QACzE,cAAc,EAAE,IAAI,CAAC,cAAc;KACpC,CAAC,CAAC;IACH,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,sBAAsB;YAC9B,KAAK,EAAE,2DAA2D;SACnE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { FileSystem } from "../ports/filesystem.js";
1
+ import type { ObservedFile } from "./workspace-read-view.js";
2
2
  export interface ReadRangeResult {
3
3
  path: string;
4
4
  content?: string | undefined;
@@ -8,7 +8,12 @@ export interface ReadRangeResult {
8
8
  truncated?: boolean | undefined;
9
9
  clipped?: boolean | undefined;
10
10
  }
11
- export declare function readRange(filePath: string, start: number, end: number, opts: {
12
- fs: FileSystem;
13
- }): Promise<ReadRangeResult>;
11
+ /**
12
+ * Projects a line range from bytes already observed.
13
+ *
14
+ * Synchronous because it performs no I/O. The caller supplies the observation,
15
+ * so the range returned is necessarily cut from the same bytes the caller
16
+ * authorised.
17
+ */
18
+ export declare function readRange(file: ObservedFile, start: number, end: number): ReadRangeResult;
14
19
  //# sourceMappingURL=read-range.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"read-range.d.ts","sourceRoot":"","sources":["../../src/operations/read-range.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIzD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,EAAE,EAAE,UAAU,CAAA;CAAE,GACvB,OAAO,CAAC,eAAe,CAAC,CA4C1B"}
1
+ {"version":3,"file":"read-range.d.ts","sourceRoot":"","sources":["../../src/operations/read-range.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI7D,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,eAAe,CA2CjB"}
@@ -1,12 +1,17 @@
1
1
  const MAX_RANGE_LINES = 250;
2
- export async function readRange(filePath, start, end, opts) {
3
- let raw;
4
- try {
5
- raw = await opts.fs.readFile(filePath, "utf-8");
6
- }
7
- catch {
8
- return { path: filePath, reason: "NOT_FOUND" };
2
+ /**
3
+ * Projects a line range from bytes already observed.
4
+ *
5
+ * Synchronous because it performs no I/O. The caller supplies the observation,
6
+ * so the range returned is necessarily cut from the same bytes the caller
7
+ * authorised.
8
+ */
9
+ export function readRange(file, start, end) {
10
+ const filePath = file.path;
11
+ if (file.utf8 === null) {
12
+ return { path: filePath, reason: "INVALID_UTF8" };
9
13
  }
14
+ const raw = file.utf8;
10
15
  if (start > end) {
11
16
  return { path: filePath, reason: "INVALID_RANGE" };
12
17
  }