codesift-mcp 0.17.0 → 0.20.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 (156) hide show
  1. package/dist/cli/commands-daemon.d.ts.map +1 -1
  2. package/dist/cli/commands-daemon.js +32 -0
  3. package/dist/cli/commands-daemon.js.map +1 -1
  4. package/dist/cli/commands-maintenance.d.ts.map +1 -1
  5. package/dist/cli/commands-maintenance.js +173 -3
  6. package/dist/cli/commands-maintenance.js.map +1 -1
  7. package/dist/cli/hooks/pre-compact.d.ts.map +1 -1
  8. package/dist/cli/hooks/pre-compact.js +4 -0
  9. package/dist/cli/hooks/pre-compact.js.map +1 -1
  10. package/dist/cli/hooks/session.d.ts.map +1 -1
  11. package/dist/cli/hooks/session.js +5 -0
  12. package/dist/cli/hooks/session.js.map +1 -1
  13. package/dist/cli/hooks/wiki.d.ts +13 -0
  14. package/dist/cli/hooks/wiki.d.ts.map +1 -1
  15. package/dist/cli/hooks/wiki.js +19 -2
  16. package/dist/cli/hooks/wiki.js.map +1 -1
  17. package/dist/cli/owner-only-file.d.ts +9 -0
  18. package/dist/cli/owner-only-file.d.ts.map +1 -1
  19. package/dist/cli/owner-only-file.js +40 -8
  20. package/dist/cli/owner-only-file.js.map +1 -1
  21. package/dist/cli/service.d.ts.map +1 -1
  22. package/dist/cli/service.js +7 -1
  23. package/dist/cli/service.js.map +1 -1
  24. package/dist/cli/setup/claude.js +3 -3
  25. package/dist/cli/setup/claude.js.map +1 -1
  26. package/dist/cli/setup/codex.js +4 -4
  27. package/dist/cli/setup/codex.js.map +1 -1
  28. package/dist/cli/setup/fs.d.ts +2 -0
  29. package/dist/cli/setup/fs.d.ts.map +1 -1
  30. package/dist/cli/setup/fs.js +4 -1
  31. package/dist/cli/setup/fs.js.map +1 -1
  32. package/dist/cli/setup/gemini.js +4 -4
  33. package/dist/cli/setup/gemini.js.map +1 -1
  34. package/dist/cli/setup/hooks.d.ts +10 -0
  35. package/dist/cli/setup/hooks.d.ts.map +1 -1
  36. package/dist/cli/setup/hooks.js +25 -3
  37. package/dist/cli/setup/hooks.js.map +1 -1
  38. package/dist/instructions.d.ts +22 -1
  39. package/dist/instructions.d.ts.map +1 -1
  40. package/dist/instructions.js +61 -1
  41. package/dist/instructions.js.map +1 -1
  42. package/dist/lsp/lsp-client.d.ts +1 -1
  43. package/dist/lsp/lsp-client.d.ts.map +1 -1
  44. package/dist/lsp/lsp-client.js +2 -1
  45. package/dist/lsp/lsp-client.js.map +1 -1
  46. package/dist/lsp/lsp-manager.d.ts.map +1 -1
  47. package/dist/lsp/lsp-manager.js +10 -2
  48. package/dist/lsp/lsp-manager.js.map +1 -1
  49. package/dist/lsp/lsp-servers.d.ts +7 -0
  50. package/dist/lsp/lsp-servers.d.ts.map +1 -1
  51. package/dist/lsp/lsp-servers.js +78 -0
  52. package/dist/lsp/lsp-servers.js.map +1 -1
  53. package/dist/parser/parser-manager.d.ts.map +1 -1
  54. package/dist/parser/parser-manager.js +8 -2
  55. package/dist/parser/parser-manager.js.map +1 -1
  56. package/dist/register-tool-groups/core/symbols.d.ts.map +1 -1
  57. package/dist/register-tool-groups/core/symbols.js +71 -6
  58. package/dist/register-tool-groups/core/symbols.js.map +1 -1
  59. package/dist/register-tools/discovery.d.ts +7 -0
  60. package/dist/register-tools/discovery.d.ts.map +1 -1
  61. package/dist/register-tools/discovery.js +8 -1
  62. package/dist/register-tools/discovery.js.map +1 -1
  63. package/dist/search/bm25-store.d.ts +10 -0
  64. package/dist/search/bm25-store.d.ts.map +1 -1
  65. package/dist/search/bm25-store.js +140 -10
  66. package/dist/search/bm25-store.js.map +1 -1
  67. package/dist/search/bm25.d.ts +22 -0
  68. package/dist/search/bm25.d.ts.map +1 -1
  69. package/dist/search/bm25.js +43 -0
  70. package/dist/search/bm25.js.map +1 -1
  71. package/dist/server-helpers/cache-report.d.ts +36 -0
  72. package/dist/server-helpers/cache-report.d.ts.map +1 -0
  73. package/dist/server-helpers/cache-report.js +26 -0
  74. package/dist/server-helpers/cache-report.js.map +1 -0
  75. package/dist/server-helpers/health-vitals.d.ts.map +1 -1
  76. package/dist/server-helpers/health-vitals.js +19 -11
  77. package/dist/server-helpers/health-vitals.js.map +1 -1
  78. package/dist/server-helpers/response-budget.d.ts +24 -0
  79. package/dist/server-helpers/response-budget.d.ts.map +1 -0
  80. package/dist/server-helpers/response-budget.js +29 -0
  81. package/dist/server-helpers/response-budget.js.map +1 -0
  82. package/dist/server-helpers/response-hints.d.ts.map +1 -1
  83. package/dist/server-helpers/response-hints.js +43 -0
  84. package/dist/server-helpers/response-hints.js.map +1 -1
  85. package/dist/server-helpers/shown-source.d.ts +59 -0
  86. package/dist/server-helpers/shown-source.d.ts.map +1 -0
  87. package/dist/server-helpers/shown-source.js +175 -0
  88. package/dist/server-helpers/shown-source.js.map +1 -0
  89. package/dist/server-helpers/stdio-envelope.d.ts +31 -0
  90. package/dist/server-helpers/stdio-envelope.d.ts.map +1 -0
  91. package/dist/server-helpers/stdio-envelope.js +67 -0
  92. package/dist/server-helpers/stdio-envelope.js.map +1 -0
  93. package/dist/server-helpers.d.ts +7 -0
  94. package/dist/server-helpers.d.ts.map +1 -1
  95. package/dist/server-helpers.js +51 -10
  96. package/dist/server-helpers.js.map +1 -1
  97. package/dist/server.d.ts.map +1 -1
  98. package/dist/server.js +107 -45
  99. package/dist/server.js.map +1 -1
  100. package/dist/storage/_shared.d.ts +25 -0
  101. package/dist/storage/_shared.d.ts.map +1 -1
  102. package/dist/storage/_shared.js +39 -6
  103. package/dist/storage/_shared.js.map +1 -1
  104. package/dist/storage/session-state.d.ts +7 -0
  105. package/dist/storage/session-state.d.ts.map +1 -1
  106. package/dist/storage/session-state.js +3 -0
  107. package/dist/storage/session-state.js.map +1 -1
  108. package/dist/storage/shared-embedding-cache.d.ts.map +1 -1
  109. package/dist/storage/shared-embedding-cache.js +153 -2
  110. package/dist/storage/shared-embedding-cache.js.map +1 -1
  111. package/dist/storage/telemetry/config.d.ts +18 -0
  112. package/dist/storage/telemetry/config.d.ts.map +1 -1
  113. package/dist/storage/telemetry/config.js +26 -0
  114. package/dist/storage/telemetry/config.js.map +1 -1
  115. package/dist/storage/telemetry/uploader.d.ts.map +1 -1
  116. package/dist/storage/telemetry/uploader.js +4 -2
  117. package/dist/storage/telemetry/uploader.js.map +1 -1
  118. package/dist/storage/usage-tracker.d.ts +11 -0
  119. package/dist/storage/usage-tracker.d.ts.map +1 -1
  120. package/dist/storage/usage-tracker.js +18 -0
  121. package/dist/storage/usage-tracker.js.map +1 -1
  122. package/dist/tools/conversation-cache.d.ts +23 -3
  123. package/dist/tools/conversation-cache.d.ts.map +1 -1
  124. package/dist/tools/conversation-cache.js +141 -4
  125. package/dist/tools/conversation-cache.js.map +1 -1
  126. package/dist/tools/conversation-index-tools.d.ts +12 -0
  127. package/dist/tools/conversation-index-tools.d.ts.map +1 -1
  128. package/dist/tools/conversation-index-tools.js +315 -4
  129. package/dist/tools/conversation-index-tools.js.map +1 -1
  130. package/dist/tools/conversation-search-tools.d.ts +0 -5
  131. package/dist/tools/conversation-search-tools.d.ts.map +1 -1
  132. package/dist/tools/conversation-search-tools.js +77 -6
  133. package/dist/tools/conversation-search-tools.js.map +1 -1
  134. package/dist/tools/explore-tools.d.ts +9 -0
  135. package/dist/tools/explore-tools.d.ts.map +1 -0
  136. package/dist/tools/explore-tools.js +177 -0
  137. package/dist/tools/explore-tools.js.map +1 -0
  138. package/dist/tools/graph-tools.d.ts +7 -0
  139. package/dist/tools/graph-tools.d.ts.map +1 -1
  140. package/dist/tools/graph-tools.js +36 -0
  141. package/dist/tools/graph-tools.js.map +1 -1
  142. package/dist/tools/index-tools/state.d.ts +15 -1
  143. package/dist/tools/index-tools/state.d.ts.map +1 -1
  144. package/dist/tools/index-tools/state.js +25 -39
  145. package/dist/tools/index-tools/state.js.map +1 -1
  146. package/dist/tools/insights-tools.d.ts.map +1 -1
  147. package/dist/tools/insights-tools.js +6 -3
  148. package/dist/tools/insights-tools.js.map +1 -1
  149. package/dist/utils/import-graph/edge-cache.d.ts.map +1 -1
  150. package/dist/utils/import-graph/edge-cache.js +9 -1
  151. package/dist/utils/import-graph/edge-cache.js.map +1 -1
  152. package/package.json +3 -3
  153. package/rules/codesift.md +19 -0
  154. package/rules/codesift.mdc +19 -0
  155. package/rules/codex.md +19 -0
  156. package/rules/gemini.md +19 -0
@@ -1 +1 @@
1
- {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../../src/register-tool-groups/core/symbols.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAA4B,MAAM,cAAc,CAAC;AACtH,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAkB,MAAM,YAAY,CAAC;AACtV,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,2FAA2F;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAE/E,kFAAkF;AAClF,iFAAiF;AACjF,kFAAkF;AAClF,4BAA4B;AAC5B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B;;;;;;;;;;GAUG;AACH,SAAS,iBAAiB,CAAC,SAA4B;IACrD,IAAI,SAAS,CAAC,MAAM,KAAK,WAAW;QAAE,OAAO,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;SAC7D,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,CACL,kBAAkB,SAAS,CAAC,SAAS,IAAI,SAAS,mCAAmC;QACrF,qEAAqE,MAAM,IAAI;QAC/E,kDAAkD,CACnD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,GAAY;IACpC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAC9E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAA0B;IAC7D,2BAA2B;IAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;YACzB,IAAI,EAAE,YAAY;YAClB,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,8CAA8C;YAC1D,YAAY,EAAE,aAAa,CAAC,MAAM;YAClC,WAAW,EAAE,8HAA8H;YAC3I,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;gBAC/F,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAC5B,+FAA+F;oBAC/F,2FAA2F;oBAC3F,uFAAuF,CACxF;gBACD,eAAe,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;aACtF,CAAC,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,IAAI,GAAkC,EAAE,CAAC;gBAC/C,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI;oBAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAA0B,CAAC;gBACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAmB,CAAC;gBAC1C,IAAI,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAClE,IAAI,YAAY,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,sEAAsE;oBACtE,8CAA8C;oBAC9C,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;oBAC7E,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAc,EAAE,QAAQ,CAAC,CAAC;oBACxE,IAAI,KAAK,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;wBAChC,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,IAAc,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;wBAC3D,IAAI,MAAM;4BAAE,YAAY,GAAG,cAAc,QAAQ,OAAO,KAAK,KAAK,CAAC;oBACrE,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,qEAAqE;oBACrE,4EAA4E;oBAC5E,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;oBAC3E,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAC3E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAClH,OAAO,WAAW,QAAQ,+BAA+B,WAAW,EAAE,CAAC;oBACzE,CAAC;oBACD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,IAAc,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;oBAC9E,OAAO,IAAI,IAAI,WAAW,QAAQ,uEAAuE,CAAC;gBAC5G,CAAC;gBACD,IAAI,IAAI,GAAG,YAAY,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACnE,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChD,IAAI,IAAI,wBAAwB,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9J,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,EAAE;IACH,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;YACzB,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,mCAAmC;YAC/C,WAAW,EAAE,wDAAwD;YACrE,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;gBAC/F,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC;oBAClB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACjC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACrC,CAAC,CAAC,QAAQ,CACT,gGAAgG;oBAChG,qFAAqF;oBACrF,iCAAiC,CAClC;aACF,CAAC,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,GAAG,GAAG,IAAI,CAAC,UAAsB,CAAC;gBACxC,IAAI,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAc,EAAE,GAAG,CAAC,CAAC;gBAEtD,wEAAwE;gBACxE,0EAA0E;gBAC1E,0EAA0E;gBAC1E,yEAAyE;gBACzE,iEAAiE;gBACjE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;gBACnC,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC7B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAChD,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;oBAC7E,MAAM,KAAK,GAAa,EAAE,CAAC;oBAC3B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;wBACrB,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;4BAAE,SAAS;wBAC/B,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAc,EAAE,EAAE,CAAC,CAAC;wBAClE,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;4BAClC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BAClB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBACnB,CAAC;oBACH,CAAC;oBACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrB,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAc,EAAE,KAAK,CAAC,CAAC,CAAC;oBACpE,CAAC;gBACH,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAChD,wEAAwE;gBACxE,IAAI,WAAW,GAAG,EAAE,CAAC;gBACrB,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC7B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBAChD,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC3E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;wBAC3E,MAAM,KAAK,GAAa,EAAE,CAAC;wBAC3B,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;4BACpC,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;4BACjE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCACpB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BAC7D,CAAC;iCAAM,CAAC;gCACN,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;4BAC5C,CAAC;wBACH,CAAC;wBACD,WAAW,GAAG,sBAAsB,OAAO,CAAC,MAAM,wBAAwB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/F,CAAC;gBACH,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,IAAc,EAAE,aAAa,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;gBAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;YACvD,CAAC;SACF,EAAE;IACH,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;YACzB,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,iDAAiD;YAC7D,WAAW,EAAE,4EAA4E;YACzF,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;gBAC/F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;gBAChE,YAAY,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;aAC/E,CAAC,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,IAAc,EAAE,IAAI,CAAC,KAAe,EAAE,IAAI,CAAC,YAAmC,CAAC,CAAC;gBACtH,IAAI,CAAC,MAAM;oBAAE,OAAO,IAAI,CAAC;gBACzB,IAAI,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/F,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACtB,IAAI,IAAI,2BAA2B,MAAM,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClF,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,EAAE;IACH,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;YACzB,IAAI,EAAE,oBAAoB;YAC1B,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,yDAAyD;YACrE,WAAW,EAAE,iEAAiE;YAC9E,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;gBAC/F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;aACxD,CAAC,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAc,EAAE,IAAI,CAAC,WAAqB,CAAC,CAAC;gBACvF,IAAI,CAAC,MAAM;oBAAE,OAAO,IAAI,CAAC;gBACzB,OAAO,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YACtF,CAAC;SACF,EAAE;IACH,kCAAkC;IAClC,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;YACzB,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,gDAAgD;YAC5D,YAAY,EAAE,aAAa,CAAC,UAAU;YACtC,WAAW,EAAE,yKAAyK;YACtL,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;gBAC/F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;gBACtG,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC;oBACpB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACjC,UAAU,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACrC,CAAC,CAAC,QAAQ,EAAE;qBACV,QAAQ,CAAC,oFAAoF,CAAC;gBACjG,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;gBAC5E,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,gIAAgI,CAAC;gBAC3J,gBAAgB,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,wIAAwI,CAAC;aAC7K,CAAC,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAoC,CAAC;gBACxD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,sEAAsE;oBACtE,kEAAkE;oBAClE,MAAM,IAAI,GAA+E,EAAE,CAAC;oBAC5F,MAAM,KAAK,GAAG,MAAM,mBAAmB,CAAC,IAAI,CAAC,IAAc,EAAE,KAAK,EAAE,IAAI,CAAC,YAAkC,EAAE,IAAI,CAAC,CAAC;oBACnH,sFAAsF;oBACtF,sFAAsF;oBACtF,mEAAmE;oBACnE,MAAM,gBAAgB,GAA2B,EAAE,CAAC;oBACpD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wBACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;wBACzB,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;4BAClC,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;4BACrC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;wBACvC,CAAC;oBACH,CAAC;oBACD,oFAAoF;oBACpF,uFAAuF;oBACvF,sFAAsF;oBACtF,4EAA4E;oBAC5E,OAAO;wBACL,UAAU,EAAE,KAAK;wBACjB,qFAAqF;wBACrF,sFAAsF;wBACtF,oFAAoF;wBACpF,4DAA4D;wBAC5D,aAAa,EAAE,IAAI,CAAC,QAAQ,IAAI;4BAC9B,MAAM,EAAE,SAAkB;4BAC1B,MAAM,EAAE,oFAAoF;yBAC7F;wBACD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC;4BAC1C,CAAC,CAAC,EAAE,cAAc,EAAE,gBAAgB,EAAE;4BACtC,CAAC,CAAC,EAAE,CAAC;qBACR,CAAC;gBACJ,CAAC;gBACD,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjF,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAc,EAAE,IAAI,CAAC,WAAqB,EAAE,IAAI,CAAC,YAAkC,CAAC,CAAC;gBAC/H,yFAAyF;gBACzF,gFAAgF;gBAChF,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC;gBACvD,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACnG,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBACpD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;gBACxC,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACxD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,MAAM,GAAG,OAAO,mCAAmC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnG,MAAM,WAAW,GAAG,cAAc,GAAG,CAAC;oBACpC,CAAC,CAAC,MAAM,cAAc,8DAA8D;oBACpF,CAAC,CAAC,EAAE,CAAC;gBACP,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,IAAc,EAAE,iBAAiB,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;gBAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,QAAQ,GAAG,WAAW,CAAC;YAClE,CAAC;SACF,EAAE;IACH,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;YACzB,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,uEAAuE;YACnF,YAAY,EAAE,aAAa,CAAC,QAAQ;YACpC,WAAW,EAAE,4JAA4J;YACzK,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;gBAC/F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;gBAC/D,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACrE,KAAK,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;gBAC/E,cAAc,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;gBAC5F,aAAa,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;gBACvF,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;gBAClI,kBAAkB,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,6HAA6H,CAAC;aACpK,CAAC,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAc,EAAE,IAAI,CAAC,WAAqB,EAAE,IAAI,CAAC,SAAsB,EAAE;oBAChH,KAAK,EAAE,IAAI,CAAC,KAA2B;oBACvC,cAAc,EAAE,IAAI,CAAC,cAAqC;oBAC1D,aAAa,EAAE,IAAI,CAAC,aAAoC;oBACxD,aAAa,EAAE,IAAI,CAAC,aAA+C;oBACnE,kBAAkB,EAAE,IAAI,CAAC,kBAAyC;iBACnE,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,iBAAiB,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;gBAC7D,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,IAAI,IAAI,UAAU,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAE,MAAkC,CAAC,QAAQ,CAAC,IAAK,MAAkC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC;gBACjN,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,IAAc,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;gBACvF,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YACvC,CAAC;SACF,EAAE;IACH,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;YACzB,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,2DAA2D;YACvE,YAAY,EAAE,aAAa,CAAC,cAAc;YAC1C,WAAW,EAAE,2DAA2D;YACxE,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;gBAC/F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;gBACvF,KAAK,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;gBACvD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;gBACjF,cAAc,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;aAClG,CAAC,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,IAAc,EAAE,IAAI,CAAC,KAAe,EAAE;oBAC7E,KAAK,EAAE,IAAI,CAAC,KAA2B;oBACvC,KAAK,EAAE,IAAI,CAAC,KAA2B;oBACvC,cAAc,EAAE,IAAI,CAAC,cAAqC;iBAC3D,CAAC,CAAC;gBACH,OAAO,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;YACtD,CAAC;SACF,EAAE;IACH,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;YACzB,IAAI,EAAE,aAAa;YACnB,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,+EAA+E;YAC3F,WAAW,EAAE,sEAAsE;YACnF,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;gBAC/F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;gBACvF,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;aAClI,CAAC,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAc,EAAE,IAAI,CAAC,IAAc,EAAE,IAAI,CAAC,aAA+C,CAAC,CAAC;gBAChI,OAAO,iBAAiB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAClD,CAAC;SACF,EAAE;IACH,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;YACzB,IAAI,EAAE,kBAAkB;YACxB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,oDAAoD;YAChE,YAAY,EAAE,aAAa,CAAC,UAAU;YACtC,WAAW,EAAE,gHAAgH;YAC7H,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;gBAC/F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;gBACrE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;gBACrG,IAAI,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;gBAC7D,SAAS,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,IAAI,CAAC,IAAc,EACnB,IAAI,CAAC,WAAqB,EAC1B,IAAI,CAAC,SAA+B,EACpC,IAAI,CAAC,IAA0B,EAC/B,IAAI,CAAC,SAA+B,CACrC,CAAC;gBACF,IAAI,CAAC,MAAM;oBAAE,OAAO,IAAI,CAAC;gBACzB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;YAC3E,CAAC;SACF,EAAE;IACH,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;YACzB,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,iEAAiE;YAC7E,YAAY,EAAE,aAAa,CAAC,QAAQ;YACpC,WAAW,EAAE,mFAAmF;YAChG,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;gBAC/F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;gBACpE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;gBACvE,IAAI,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBAC5C,SAAS,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;aAC7C,CAAC,CAAC;YACH,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAC5B,IAAI,CAAC,IAAc,EACnB,IAAI,CAAC,WAAqB,EAC1B,IAAI,CAAC,SAA+B,EACpC,IAAI,CAAC,IAA0B,EAC/B,IAAI,CAAC,SAA+B,CACrC;SACF,EAAE;IACH,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;YACzB,IAAI,EAAE,eAAe;YACrB,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,gDAAgD;YAC5D,YAAY,EAAE,aAAa,CAAC,YAAY;YACxC,WAAW,EAAE,0EAA0E;YACvF,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;gBAC/F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;gBACxE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;gBACxD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;gBACvE,IAAI,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBAC5C,SAAS,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;aAC7C,CAAC,CAAC;YACH,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAC7B,IAAI,CAAC,IAAc,EACnB,IAAI,CAAC,WAAqB,EAC1B,IAAI,CAAC,QAAkB,EACvB,IAAI,CAAC,SAA+B,EACpC,IAAI,CAAC,IAA0B,EAC/B,IAAI,CAAC,SAA+B,CACrC;SACF,EAAE;IACH,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;YACzB,IAAI,EAAE,oBAAoB;YAC1B,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,iFAAiF;YAC7F,YAAY,EAAE,aAAa,CAAC,aAAa;YACzC,WAAW,EAAE,8EAA8E;YAC3F,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;gBACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;gBAC/F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;gBACzE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;gBAC3F,IAAI,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBAC5C,SAAS,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;aAC7C,CAAC,CAAC;YACH,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CACnC,IAAI,CAAC,IAAc,EACnB,IAAI,CAAC,WAAqB,EAC1B,IAAI,CAAC,SAA+B,EACpC,IAAI,CAAC,IAA0B,EAC/B,IAAI,CAAC,SAA+B,CACrC,CAAC;gBAEF,IAAI,MAAM,CAAC,GAAG,KAAK,aAAa,EAAE,CAAC;oBACjC,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;gBACvB,CAAC;gBAED,sBAAsB;gBACtB,MAAM,KAAK,GAAa,EAAE,CAAC;gBAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;gBAExG,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,KAAK,CAAC,IAAI,CAAC,yBAAyB,MAAM,CAAC,QAAQ,CAAC,MAAM,OAAO,CAAC,CAAC;oBACnE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAChC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;oBAC5D,CAAC;gBACH,CAAC;gBAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,KAAK,CAAC,IAAI,CAAC,yBAAyB,MAAM,CAAC,QAAQ,CAAC,MAAM,OAAO,CAAC,CAAC;oBACnE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAChC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;oBAC5D,CAAC;gBACH,CAAC;gBAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjE,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;gBACvD,CAAC;gBAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;SACF,EAAE;CACJ,CAAC"}
1
+ {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../../src/register-tool-groups/core/symbols.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,13 @@ export declare const ALWAYS_VISIBLE_TOOL_NAMES: readonly ["search_text", "get_fi
18
18
  * changing the default surface moves adoption sharply, so the default is not something to tune from
19
19
  * a benchmark.
20
20
  */
21
+ /**
22
+ * The single-tool surface: `explore` for "where is X and how does it connect", `search_text` for
23
+ * literal strings the symbol index cannot answer, `index_file` so edits stay visible. codegraph v1.6
24
+ * ships one tool by default; this is that arm, selectable for an A/B against the core surface
25
+ * (CODESIFT_TOOL_SURFACE=single). An explicit CODESIFT_VISIBLE_TOOLS still wins.
26
+ */
27
+ export declare const SINGLE_TOOL_SURFACE: ReadonlySet<string>;
21
28
  export declare function resolveVisibleToolNames(): ReadonlySet<string>;
22
29
  export declare const CORE_TOOL_NAMES: Set<string>;
23
30
  export declare function setFrozenToolListHost(value: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/register-tools/discovery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAItF,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,YACpC,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,0BAA0B,EAC1B,oBAAoB,CACZ,CAAC;AAEX,kGAAkG;AAClG;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,IAAI,WAAW,CAAC,MAAM,CAAC,CAS7D;AAED,eAAO,MAAM,eAAe,aAsE1B,CAAC;AA2BH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE1D;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,YAC1C,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,CAChB,CAAC;AAEX,sDAAsD;AACtD,wBAAgB,kBAAkB,IAAI,SAAS,cAAc,EAAE,CAE9D;AAED,eAAO,MAAM,mBAAmB,6BAE/B,CAAC;AA8BF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAetH;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1E;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACzE,CAAC,CAAC;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAOD,yEAAyE;AACzE,wBAAgB,iCAAiC,IAAI,IAAI,CAExD;AAmCD,iFAAiF;AACjF,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,mBAAmB,CAsD9F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1F,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAmDA"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/register-tools/discovery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAItF,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,YACpC,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,0BAA0B,EAC1B,oBAAoB,CACZ,CAAC;AAEX,kGAAkG;AAClG;;;;;;;;;;;;;;;GAeG;AACH;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAqD,CAAC;AAE1G,wBAAgB,uBAAuB,IAAI,WAAW,CAAC,MAAM,CAAC,CAS7D;AAED,eAAO,MAAM,eAAe,aAsE1B,CAAC;AA2BH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE1D;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,YAC1C,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,CAChB,CAAC;AAEX,sDAAsD;AACtD,wBAAgB,kBAAkB,IAAI,SAAS,cAAc,EAAE,CAE9D;AAED,eAAO,MAAM,mBAAmB,6BAE/B,CAAC;AA8BF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,cAAc,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAetH;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1E;AAED,UAAU,mBAAmB;IAC3B,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,OAAO,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACzE,CAAC,CAAC;IACH,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAOD,yEAAyE;AACzE,wBAAgB,iCAAiC,IAAI,IAAI,CAExD;AAmCD,iFAAiF;AACjF,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,mBAAmB,CAsD9F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1F,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAmDA"}
@@ -29,10 +29,17 @@ export const ALWAYS_VISIBLE_TOOL_NAMES = [
29
29
  * changing the default surface moves adoption sharply, so the default is not something to tune from
30
30
  * a benchmark.
31
31
  */
32
+ /**
33
+ * The single-tool surface: `explore` for "where is X and how does it connect", `search_text` for
34
+ * literal strings the symbol index cannot answer, `index_file` so edits stay visible. codegraph v1.6
35
+ * ships one tool by default; this is that arm, selectable for an A/B against the core surface
36
+ * (CODESIFT_TOOL_SURFACE=single). An explicit CODESIFT_VISIBLE_TOOLS still wins.
37
+ */
38
+ export const SINGLE_TOOL_SURFACE = new Set(["explore", "search_text", "index_file"]);
32
39
  export function resolveVisibleToolNames() {
33
40
  const raw = process.env["CODESIFT_VISIBLE_TOOLS"];
34
41
  if (!raw)
35
- return CORE_TOOL_NAMES;
42
+ return process.env["CODESIFT_TOOL_SURFACE"] === "single" ? SINGLE_TOOL_SURFACE : CORE_TOOL_NAMES;
36
43
  const names = raw
37
44
  .split(",")
38
45
  .map((n) => n.trim())
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/register-tools/discovery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,kFAAkF;AAClF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,aAAa;IACb,kBAAkB;IAClB,WAAW;IACX,YAAY;IACZ,gBAAgB;IAChB,eAAe;IACf,0BAA0B;IAC1B,oBAAoB;CACZ,CAAC;AAEX,kGAAkG;AAClG;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAClD,IAAI,CAAC,GAAG;QAAE,OAAO,eAAe,CAAC;IACjC,MAAM,KAAK,GAAG,GAAG;SACd,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,gGAAgG;IAChG,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,GAAG,yBAAyB;IAC5B,iDAAiD;IACjD,YAAY;IACZ,YAAY;IACZ,iBAAiB;IACjB,qBAAqB;IACrB,2EAA2E;IAC3E,+EAA+E;IAC/E,oEAAoE;IACpE,8EAA8E;IAC9E,+EAA+E;IAC/E,wEAAwE;IACxE,0CAA0C;IAC1C,iBAAiB;IACjB,0DAA0D;IAC1D,kBAAkB,EAAS,qCAAqC;IAChE,aAAa,EAAc,gCAAgC;IAC3D,iBAAiB,EAAU,0BAA0B;IACrD,eAAe,EAAY,2BAA2B;IACtD,sBAAsB,EAAK,wBAAwB;IACnD,oBAAoB,EAAO,qCAAqC;IAChE,oBAAoB,EAAO,wBAAwB;IACnD,oBAAoB,EAAO,wBAAwB;IACnD,0BAA0B,EAAC,wBAAwB;IACnD,kBAAkB,EAAS,wBAAwB;IACnD,kBAAkB,EAAS,wBAAwB;IACnD,iBAAiB,EAAU,wBAAwB;IACnD,aAAa,EAAc,wBAAwB;IACnD,gBAAgB,EAAW,iDAAiD;IAC5E,qBAAqB,EAAM,6CAA6C;IACxE,aAAa,EAAc,oCAAoC;IAC/D,gBAAgB,EAAW,wCAAwC;IACnE,0BAA0B,EAAC,0CAA0C;IACrE,yBAAyB,EAAE,6CAA6C;IACxE,+BAA+B;IAC/B,mBAAmB,EAAQ,wBAAwB;IACnD,kBAAkB,EAAS,uBAAuB;IAClD,aAAa,EAAc,uBAAuB;IAClD,eAAe,EAAY,uBAAuB;IAClD,iBAAiB,EAAU,uBAAuB;IAClD,kBAAkB,EAAS,uBAAuB;IAClD,0BAA0B;IAC1B,YAAY,EAAe,0CAA0C;IACrE,YAAY,EAAe,gEAAgE;IAC3F,mCAAmC;IACnC,cAAc,EAAa,kBAAkB;IAC7C,gBAAgB,EAAW,yCAAyC;IACpE,gBAAgB,EAAW,qCAAqC;IAChE,sBAAsB,EAAK,wDAAwD;IACnF,sBAAsB,EAAK,+BAA+B;IAC1D,iBAAiB,EAAU,kBAAkB;IAC7C,wBAAwB,EAAG,qBAAqB;IAChD,cAAc,EAAa,iCAAiC;IAC5D,+BAA+B;IAC/B,uBAAuB;IACvB,wFAAwF;IACxF,iBAAiB;IACjB,sBAAsB;IACtB,qBAAqB;IACrB,uBAAuB;IACvB,2BAA2B;IAC3B,aAAa;IACb,+BAA+B;IAC/B,wBAAwB,EAAG,+CAA+C;IAC1E,kBAAkB,EAAS,mDAAmD;IAC9E,wBAAwB;IACxB,kBAAkB;IAClB,uBAAuB;IACvB,iBAAiB;CAClB,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH;;;;GAIG;AACH,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,kBAAkB,GAAG,KAAK,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,IAAI,kBAAkB;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,gBAAgB;IAChB,aAAa;IACb,oBAAoB;IACpB,qBAAqB;IACrB,eAAe;IACf,aAAa;IACb,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,wBAAwB;CAChB,CAAC;AAEX,sDAAsD;AACtD,MAAM,UAAU,kBAAkB;IAChC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACxC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAClD,CAAC;AAEF,MAAM,cAAc,GAAkB,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;IACvB,WAAW,EAAE,IAAI,CAAC,WAAW;IAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;CAC5B,CAAC,CAAC,CAAC;AAEJ,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,CACjC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAClE,CAAa,CAAC;AAEf,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA2E,CAAC;AAa7G,SAAS,kBAAkB;IACzB,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAmB;IACnD,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;QAC3D,MAAM,MAAM,GAAG,GAAmB,CAAC;QACnC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,KAAK,CAAC;QAClD,OAAO;YACL,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,CAAC,UAAU;YACrB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;SACtC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAaD,8EAA8E;AAC9E,iFAAiF;AACjF,gFAAgF;AAChF,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA+B,CAAC;AAElE,yEAAyE;AACzE,MAAM,UAAU,iCAAiC;IAC/C,kBAAkB,CAAC,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH;;;;;;;;;;GAUG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAuB,CAAC;AACxD,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,SAAS,YAAY,CAAC,SAAiB;IACrC,IAAI,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,8FAA8F;QAC9F,mEAAmE;QACnE,IAAI,gBAAgB,CAAC,IAAI,IAAI,oBAAoB,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACpD,IAAI,MAAM,KAAK,SAAS;gBAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;QACD,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAChB,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,+BAA+B;IAC7C,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAe,EAAE,IAA0B;IACvE,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU;IAC9C,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IAEnC,6FAA6F;IAC7F,8FAA8F;IAC9F,4FAA4F;IAC5F,8FAA8F;IAC9F,yDAAyD;IACzD,EAAE;IACF,gGAAgG;IAChG,+DAA+D;IAC/D,MAAM,UAAU,GAAG,CAAC,iBAAiB,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEhF,MAAM,KAAK,GAAiC,EAAE,CAAC;IAC/C,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,8FAA8F;QAC9F,6FAA6F;QAC7F,4CAA4C;QAC5C,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,eAAe;gBACzC,WAAW,EAAE,kFAAkF;gBAC/F,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;gBACtC,MAAM,EAAE,EAAE;aACX,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAChC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,eAAe,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5M,CAAC;QACD,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,eAAe;YACzC,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;YACtC,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,QAAiB;IAM5D,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,eAAe,CAAC;IAEnC,IAAI,QAAQ,GAAG,SAAS,CAAC;IACzB,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,mCAAmC;IACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;QACpH,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,KAAK,EAAE,CAAC;YACxC,uBAAuB;YACvB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,8DAA8D;QAC9D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,GAAG,CAAC,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,mEAAmE;QACnE,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,OAAO;YACpB,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,WAAW,IAAI,QAAQ,EAAE,CACzE;YACH,CAAC,CAAC,EAAE,CAAC;QACP,OAAO;YACL,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;YACjB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,eAAe;YAC5C,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC7C,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC9C,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SAC1C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,KAAK;QACL,OAAO;QACP,WAAW,EAAE,gBAAgB,CAAC,MAAM;QACpC,UAAU;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/register-tools/discovery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,kFAAkF;AAClF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,aAAa;IACb,kBAAkB;IAClB,WAAW;IACX,YAAY;IACZ,gBAAgB;IAChB,eAAe;IACf,0BAA0B;IAC1B,oBAAoB;CACZ,CAAC;AAEX,kGAAkG;AAClG;;;;;;;;;;;;;;;GAeG;AACH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;AAE1G,MAAM,UAAU,uBAAuB;IACrC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAClD,IAAI,CAAC,GAAG;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC;IAC3G,MAAM,KAAK,GAAG,GAAG;SACd,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,gGAAgG;IAChG,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IACrC,GAAG,yBAAyB;IAC5B,iDAAiD;IACjD,YAAY;IACZ,YAAY;IACZ,iBAAiB;IACjB,qBAAqB;IACrB,2EAA2E;IAC3E,+EAA+E;IAC/E,oEAAoE;IACpE,8EAA8E;IAC9E,+EAA+E;IAC/E,wEAAwE;IACxE,0CAA0C;IAC1C,iBAAiB;IACjB,0DAA0D;IAC1D,kBAAkB,EAAS,qCAAqC;IAChE,aAAa,EAAc,gCAAgC;IAC3D,iBAAiB,EAAU,0BAA0B;IACrD,eAAe,EAAY,2BAA2B;IACtD,sBAAsB,EAAK,wBAAwB;IACnD,oBAAoB,EAAO,qCAAqC;IAChE,oBAAoB,EAAO,wBAAwB;IACnD,oBAAoB,EAAO,wBAAwB;IACnD,0BAA0B,EAAC,wBAAwB;IACnD,kBAAkB,EAAS,wBAAwB;IACnD,kBAAkB,EAAS,wBAAwB;IACnD,iBAAiB,EAAU,wBAAwB;IACnD,aAAa,EAAc,wBAAwB;IACnD,gBAAgB,EAAW,iDAAiD;IAC5E,qBAAqB,EAAM,6CAA6C;IACxE,aAAa,EAAc,oCAAoC;IAC/D,gBAAgB,EAAW,wCAAwC;IACnE,0BAA0B,EAAC,0CAA0C;IACrE,yBAAyB,EAAE,6CAA6C;IACxE,+BAA+B;IAC/B,mBAAmB,EAAQ,wBAAwB;IACnD,kBAAkB,EAAS,uBAAuB;IAClD,aAAa,EAAc,uBAAuB;IAClD,eAAe,EAAY,uBAAuB;IAClD,iBAAiB,EAAU,uBAAuB;IAClD,kBAAkB,EAAS,uBAAuB;IAClD,0BAA0B;IAC1B,YAAY,EAAe,0CAA0C;IACrE,YAAY,EAAe,gEAAgE;IAC3F,mCAAmC;IACnC,cAAc,EAAa,kBAAkB;IAC7C,gBAAgB,EAAW,yCAAyC;IACpE,gBAAgB,EAAW,qCAAqC;IAChE,sBAAsB,EAAK,wDAAwD;IACnF,sBAAsB,EAAK,+BAA+B;IAC1D,iBAAiB,EAAU,kBAAkB;IAC7C,wBAAwB,EAAG,qBAAqB;IAChD,cAAc,EAAa,iCAAiC;IAC5D,+BAA+B;IAC/B,uBAAuB;IACvB,wFAAwF;IACxF,iBAAiB;IACjB,sBAAsB;IACtB,qBAAqB;IACrB,uBAAuB;IACvB,2BAA2B;IAC3B,aAAa;IACb,+BAA+B;IAC/B,wBAAwB,EAAG,+CAA+C;IAC1E,kBAAkB,EAAS,mDAAmD;IAC9E,wBAAwB;IACxB,kBAAkB;IAClB,uBAAuB;IACvB,iBAAiB;CAClB,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACH;;;;GAIG;AACH,IAAI,kBAAkB,GAAG,KAAK,CAAC;AAE/B,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,kBAAkB,GAAG,KAAK,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,IAAI,kBAAkB;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,gBAAgB;IAChB,aAAa;IACb,oBAAoB;IACpB,qBAAqB;IACrB,eAAe;IACf,aAAa;IACb,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,wBAAwB;CAChB,CAAC;AAEX,sDAAsD;AACtD,MAAM,UAAU,kBAAkB;IAChC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CACxC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAClD,CAAC;AAEF,MAAM,cAAc,GAAkB,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,EAAE,IAAI,CAAC,IAAI;IACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;IACvB,WAAW,EAAE,IAAI,CAAC,WAAW;IAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;CAC5B,CAAC,CAAC,CAAC;AAEJ,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,CACjC,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAClE,CAAa,CAAC;AAEf,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA2E,CAAC;AAa7G,SAAS,kBAAkB;IACzB,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAmB;IACnD,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;QAC3D,MAAM,MAAM,GAAG,GAAmB,CAAC;QACnC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,KAAK,CAAC;QAClD,OAAO;YACL,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,CAAC,UAAU;YACrB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;SACtC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAaD,8EAA8E;AAC9E,iFAAiF;AACjF,gFAAgF;AAChF,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA+B,CAAC;AAElE,yEAAyE;AACzE,MAAM,UAAU,iCAAiC;IAC/C,kBAAkB,CAAC,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED;;;GAGG;AACH;;;;;;;;;;GAUG;AACH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAuB,CAAC;AACxD,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAEjC,SAAS,YAAY,CAAC,SAAiB;IACrC,IAAI,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,8FAA8F;QAC9F,mEAAmE;QACnE,IAAI,gBAAgB,CAAC,IAAI,IAAI,oBAAoB,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YACpD,IAAI,MAAM,KAAK,SAAS;gBAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC;QACD,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QAChB,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,+BAA+B;IAC7C,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAe,EAAE,IAA0B;IACvE,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU;IAC9C,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;IAEnC,6FAA6F;IAC7F,8FAA8F;IAC9F,4FAA4F;IAC5F,8FAA8F;IAC9F,yDAAyD;IACzD,EAAE;IACF,gGAAgG;IAChG,+DAA+D;IAC/D,MAAM,UAAU,GAAG,CAAC,iBAAiB,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEhF,MAAM,KAAK,GAAiC,EAAE,CAAC;IAC/C,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,8FAA8F;QAC9F,6FAA6F;QAC7F,4CAA4C;QAC5C,IAAI,CAAC,KAAK,IAAI,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC;gBACT,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,eAAe;gBACzC,WAAW,EAAE,kFAAkF;gBAC/F,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;gBACtC,MAAM,EAAE,EAAE;aACX,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAClE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAChC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,eAAe,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5M,CAAC;QACD,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,eAAe;YACzC,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;YACtC,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa,EAAE,QAAiB;IAM5D,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,eAAe,CAAC;IAEnC,IAAI,QAAQ,GAAG,SAAS,CAAC;IACzB,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,mCAAmC;IACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;QACpH,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,KAAK,EAAE,CAAC;YACxC,uBAAuB;YACvB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,KAAK,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,8DAA8D;QAC9D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,GAAG,CAAC,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,MAAM;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;SAC1B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,mEAAmE;QACnE,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,OAAO;YACpB,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,WAAW,IAAI,QAAQ,EAAE,CACzE;YACH,CAAC,CAAC,EAAE,CAAC;QACP,OAAO;YACL,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;YACjB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,eAAe;YAC5C,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC7C,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC9C,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;SAC1C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,OAAO;QACL,KAAK;QACL,OAAO;QACP,WAAW,EAAE,gBAAgB,CAAC,MAAM;QACpC,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -1,5 +1,15 @@
1
1
  import type { BM25Index } from "./bm25.js";
2
2
  import type { CodeIndex } from "../types.js";
3
+ /**
4
+ * The format version this build writes, so `prune` can reclaim files no build can read.
5
+ *
6
+ * A format bump strands every existing file: `isStale` rejects the old header and the index rebuilds,
7
+ * but the bytes only go away when that repo is indexed again — and a repo nobody touches is never
8
+ * indexed again. Measured at the v1 -> v2 bump: 47.78 GB of `.bm25.ndjson` on this machine, all of it
9
+ * unreadable the moment the version changed. The shared embedding cache has the same hazard and the
10
+ * same answer (`currentSharedCacheFilename`).
11
+ */
12
+ export declare function bm25FormatVersion(): number;
3
13
  export declare function bm25PathFor(indexPath: string): string;
4
14
  export declare function saveBM25Index(indexPath: string, index: BM25Index, code: CodeIndex): Promise<void>;
5
15
  export declare function loadBM25Index(indexPath: string, code: CodeIndex): Promise<BM25Index | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"bm25-store.d.ts","sourceRoot":"","sources":["../../src/search/bm25-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AA6DzD,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAkE3B"}
1
+ {"version":3,"file":"bm25-store.d.ts","sourceRoot":"","sources":["../../src/search/bm25-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAc,MAAM,aAAa,CAAC;AAgGzD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,IAAI,CAAC,CAiEf;AAgBD,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAwG3B"}
@@ -1,6 +1,7 @@
1
1
  import { createReadStream, createWriteStream } from "node:fs";
2
2
  import { rename, unlink, stat } from "node:fs/promises";
3
3
  import { createInterface } from "node:readline";
4
+ import { cleanupOrphanTempFiles } from "../storage/_shared.js";
4
5
  /**
5
6
  * Persist a BM25 index next to the code index it was built from.
6
7
  *
@@ -16,9 +17,41 @@ import { createInterface } from "node:readline";
16
17
  * `symbols` is deliberately NOT written. Every one of those objects is already in the code index
17
18
  * that gets loaded first, so persisting them would double the bytes on a disk that is, on this
18
19
  * machine, the actual bottleneck. They are reattached on load from that index.
20
+ *
21
+ * ---------------------------------------------------------------------------
22
+ * v2: symbol ids are interned. Why the format changed (measured 2026-09-27)
23
+ * ---------------------------------------------------------------------------
24
+ *
25
+ * v1 wrote the full symbol id — `repo:file:name:line`, averaging 121 characters — into every
26
+ * postings entry. A document appears once per token it contains, so each id was written many times:
27
+ * measured on a real 53 MB index, 398,712 postings pairs over 17,410 distinct ids, i.e. **22.9
28
+ * repeats each**, and **91% of the file was id strings**.
29
+ *
30
+ * That made the 13x claim above false in practice, which is what this comment used to promise. On
31
+ * the largest conversation index here (159,626 turns) v1 produced a **1,975 MB** file, and loading
32
+ * it was only **1.4x** faster than rebuilding from scratch — parsing two billion characters of
33
+ * repeated strings costs about what tokenising the corpus costs. The cache was not worth its disk:
34
+ * 47.78 GB of `.bm25.ndjson` across this machine's code repos.
35
+ *
36
+ * So the ids move into a table written before the postings, and postings reference them by index.
37
+ * The table is chunked because one JSON array of every id exceeds V8's maximum string length on a
38
+ * large repo — the same reason this file is line-delimited at all.
39
+ *
40
+ * A number where v1 had a string is the only wire change, and the reader accepts BOTH: an id absent
41
+ * from the table (which cannot happen for an index this writer produced, but would be a silent wrong
42
+ * answer if it did) is written as a string and read as one. The version bump is what migrates
43
+ * existing caches — `isStale` rejects a v1 header, the index rebuilds, and the rewrite is v2.
19
44
  */
20
45
  /** Bump on any format change: a mismatch rebuilds rather than misreads. */
21
- const FORMAT_VERSION = 1;
46
+ const FORMAT_VERSION = 2;
47
+ /**
48
+ * Symbol ids per `["s", …]` line.
49
+ *
50
+ * Bounded for the same reason the file is line-delimited: at 121 characters an id, one array of a
51
+ * large repo's 352,166 ids is 42 MB of JSON — comfortable, but the bound is what keeps a repo ten
52
+ * times larger from hitting the string ceiling instead of degrading.
53
+ */
54
+ const ID_CHUNK = 20_000;
22
55
  const FIELDS = ["name", "signature", "docstring", "body", "comments"];
23
56
  function headerFor(index, code) {
24
57
  return {
@@ -46,32 +79,72 @@ function isStale(header, code) {
46
79
  return true;
47
80
  return header.indexUpdatedAt !== (code.updated_at ?? code.created_at ?? 0);
48
81
  }
82
+ /**
83
+ * The format version this build writes, so `prune` can reclaim files no build can read.
84
+ *
85
+ * A format bump strands every existing file: `isStale` rejects the old header and the index rebuilds,
86
+ * but the bytes only go away when that repo is indexed again — and a repo nobody touches is never
87
+ * indexed again. Measured at the v1 -> v2 bump: 47.78 GB of `.bm25.ndjson` on this machine, all of it
88
+ * unreadable the moment the version changed. The shared embedding cache has the same hazard and the
89
+ * same answer (`currentSharedCacheFilename`).
90
+ */
91
+ export function bm25FormatVersion() {
92
+ return FORMAT_VERSION;
93
+ }
49
94
  export function bm25PathFor(indexPath) {
50
95
  return indexPath.replace(/\.index\.json$/, "").replace(/\.index\.db$/, "") + ".bm25.ndjson";
51
96
  }
52
97
  export async function saveBM25Index(indexPath, index, code) {
53
98
  const target = bm25PathFor(indexPath);
99
+ // Reclaim temp halves left by a writer that was KILLED rather than failed — the `catch` below
100
+ // only runs when the write throws. This writer produces the largest orphans in the data dir by a
101
+ // wide margin: measured 2026-09-27, 13 abandoned `.bm25.ndjson.tmp.*` holding 6.93 GB of the
102
+ // 7.17 GB total, the oldest three weeks old. It was the only large-artifact writer that never
103
+ // swept, and `prune` cannot reach these either — its sweep skips any hash belonging to a LIVE
104
+ // repo, which is what every one of those 13 was.
105
+ await cleanupOrphanTempFiles(target);
54
106
  // Temp + rename, like every other artifact here: a process killed mid-write must not leave a
55
107
  // truncated file that the next start would read as a complete index.
56
- const temp = `${target}.tmp.${process.pid}`;
108
+ //
109
+ // The name carries a per-call NONCE, not just the pid. Temp-then-rename makes ONE writer's write
110
+ // atomic and says nothing about two writers sharing a temp NAME: with `.tmp.<pid>` alone, two
111
+ // concurrent misses for the same repo IN THE SAME PROCESS — the shared daemon's normal shape, and
112
+ // there is no single-flight guard on the BM25 miss path the way `withIndexLoadSlot` guards index
113
+ // loads — open the same path, interleave into one inode, and whichever renames last wins with
114
+ // spliced content. `atomicWriteFile` in `storage/_shared.ts` already carried this reasoning in its
115
+ // own comment; this writer did not. Found by the behaviour audit of this release, against a comment
116
+ // of mine that asserted the opposite.
117
+ const temp = `${target}.tmp.${process.pid}.${Date.now()}.${Math.random().toString(36).slice(2, 8)}`;
57
118
  const out = createWriteStream(temp, { encoding: "utf-8" });
58
119
  const write = (line) => out.write(line) ? Promise.resolve() : new Promise((r) => out.once("drain", () => r()));
59
120
  try {
60
121
  await write(`${JSON.stringify(headerFor(index, code))}\n`);
122
+ // The id table goes out FIRST, because postings reference it by position and the reader is a
123
+ // single forward pass over the stream. `fieldLengths` is the authoritative document set: it has
124
+ // exactly one entry per indexed document, which is what a posting can refer to.
125
+ const idIndex = new Map();
126
+ for (const id of index.fieldLengths.keys())
127
+ idIndex.set(id, idIndex.size);
128
+ const ids = [...idIndex.keys()];
129
+ for (let start = 0; start < ids.length; start += ID_CHUNK) {
130
+ await write(`${JSON.stringify(["s", start, ids.slice(start, start + ID_CHUNK)])}\n`);
131
+ }
61
132
  for (const field of FIELDS) {
62
133
  for (const [token, postings] of index.fields[field]) {
63
- // Flat [id, tf, id, tf, …]: half the JSON of an array of pairs, and it rebuilds with one
64
- // loop rather than a destructuring per entry.
134
+ // Flat [ref, tf, ref, tf, …]: half the JSON of an array of pairs, and it rebuilds with one
135
+ // loop rather than a destructuring per entry. `ref` is the id's index in the table above, or
136
+ // the id itself when it is not in it — see the v2 note in the file header.
65
137
  const flat = [];
66
138
  for (const [id, tf] of postings) {
67
- flat.push(id);
139
+ flat.push(idIndex.get(id) ?? id);
68
140
  flat.push(tf);
69
141
  }
70
142
  await write(`${JSON.stringify(["p", field, token, flat])}\n`);
71
143
  }
72
144
  }
73
145
  for (const [id, lengths] of index.fieldLengths) {
74
- await write(`${JSON.stringify(["l", id, lengths.name, lengths.signature, lengths.docstring, lengths.body, lengths.comments])}\n`);
146
+ const ref = idIndex.get(id) ?? id;
147
+ await write(`${JSON.stringify(["l", ref, lengths.name, lengths.signature, lengths.docstring, lengths.body, lengths.comments])}\n`);
75
148
  }
76
149
  for (const [file, score] of index.centrality) {
77
150
  await write(`${JSON.stringify(["c", file, score])}\n`);
@@ -87,6 +160,21 @@ export async function saveBM25Index(indexPath, index, code) {
87
160
  // Never fail a build over its cache. The caller has a working index in memory either way.
88
161
  }
89
162
  }
163
+ /**
164
+ * A postings reference back to a symbol id.
165
+ *
166
+ * `null`, not a fallback, when a numeric reference has no entry in the table: that means the table
167
+ * was truncated or the chunk that held it was lost, and inventing an id there would produce an index
168
+ * that searches cleanly and returns the wrong symbol. The caller treats `null` the same as a corrupt
169
+ * file and rebuilds, which is always correct.
170
+ */
171
+ function resolveId(ref, idTable) {
172
+ if (typeof ref === "string")
173
+ return ref;
174
+ if (typeof ref !== "number")
175
+ return null;
176
+ return idTable[ref] ?? null;
177
+ }
90
178
  export async function loadBM25Index(indexPath, code) {
91
179
  const target = bm25PathFor(indexPath);
92
180
  try {
@@ -102,6 +190,7 @@ export async function loadBM25Index(indexPath, code) {
102
190
  };
103
191
  const fieldLengths = new Map();
104
192
  const centrality = new Map();
193
+ const idTable = [];
105
194
  let header = null;
106
195
  try {
107
196
  const rl = createInterface({ input: createReadStream(target, { encoding: "utf-8" }), crlfDelay: Infinity });
@@ -120,16 +209,57 @@ export async function loadBM25Index(indexPath, code) {
120
209
  }
121
210
  const row = JSON.parse(line);
122
211
  const kind = row[0];
123
- if (kind === "p") {
212
+ if (kind === "s") {
213
+ // Chunks arrive in order and each states its own start, so a reordered or missing chunk
214
+ // leaves holes rather than shifting every id after it by one — a shift would attach the
215
+ // wrong symbol to every posting and still look like a valid index.
216
+ //
217
+ // The parameters come off disk, so they are bounded before use: a corrupt `start` would
218
+ // index the array at an arbitrary offset (V8 drops it into dictionary mode and the load
219
+ // degrades into a crawl), and a corrupt row shape would put non-strings in the table.
220
+ // A cache that cannot be trusted is rebuilt — that is always correct, and the alternative
221
+ // here is a slow death on a file nobody can read anyway.
222
+ const start = row[1];
223
+ const chunk = row[2];
224
+ // Bounded by the file's OWN header rather than a round constant: the table can never hold
225
+ // more ids than the index has documents, and `symbolCount` was already read and validated
226
+ // against the live index by `isStale` above. An arbitrary 50M ceiling still permitted a
227
+ // 50M-element sparse array from one corrupt integer; this permits exactly what the file
228
+ // claims to contain. Tightened after the cross-model review called the constant too loose.
229
+ const maxIds = header.symbolCount;
230
+ if (typeof start !== "number" || !Number.isInteger(start) || start < 0 ||
231
+ !Array.isArray(chunk) || chunk.length > maxIds || start + chunk.length > maxIds) {
232
+ return null;
233
+ }
234
+ for (let i = 0; i < chunk.length; i++) {
235
+ const id = chunk[i];
236
+ if (typeof id !== "string")
237
+ return null;
238
+ // Two chunks claiming the same slot is not something this writer can produce, so a file
239
+ // that does is corrupt — and taking the later one would attach a DIFFERENT symbol to every
240
+ // posting that referenced it, which searches cleanly and answers wrongly. Rebuild instead.
241
+ if (idTable[start + i] !== undefined)
242
+ return null;
243
+ idTable[start + i] = id;
244
+ }
245
+ }
246
+ else if (kind === "p") {
124
247
  const field = row[1];
125
248
  const flat = row[3];
126
249
  const postings = new Map();
127
- for (let i = 0; i < flat.length; i += 2)
128
- postings.set(flat[i], flat[i + 1]);
250
+ for (let i = 0; i < flat.length; i += 2) {
251
+ const id = resolveId(flat[i], idTable);
252
+ if (id === null)
253
+ return null;
254
+ postings.set(id, flat[i + 1]);
255
+ }
129
256
  fields[field].set(row[2], postings);
130
257
  }
131
258
  else if (kind === "l") {
132
- fieldLengths.set(row[1], {
259
+ const id = resolveId(row[1], idTable);
260
+ if (id === null)
261
+ return null;
262
+ fieldLengths.set(id, {
133
263
  name: row[2], signature: row[3], docstring: row[4],
134
264
  body: row[5], comments: row[6],
135
265
  });
@@ -1 +1 @@
1
- {"version":3,"file":"bm25-store.js","sourceRoot":"","sources":["../../src/search/bm25-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bm25-store.js","sourceRoot":"","sources":["../../src/search/bm25-store.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,28 @@ export declare function updateBM25ForFile(index: BM25Index, file: string, symbol
43
43
  * Synchronous build. Correct, and fine for small inputs — the tool-ranker index is ~150 entries.
44
44
  * Do NOT use it on a repository index inside the daemon: see buildBM25IndexYielding.
45
45
  */
46
+ /**
47
+ * Bytes a BM25 index occupies, from its own token totals.
48
+ *
49
+ * Measured with a heapUsed delta around a real build: 352,125 symbols / 12,882,846 tokens cost
50
+ * 399 MB, i.e. 32.5 B per token — the postings maps dominate, so tokens are the quantity to price
51
+ * by, not symbols. Rounded UP to 40, on the same reasoning as the index footprint: over-reporting
52
+ * evicts something that would have fitted, under-reporting silently breaks the budget. Re-measured
53
+ * 2026-09-27 on a 344,179-symbol / 14,126,954-token index: estimate 565 MB against 498 MB actual,
54
+ * so it still errs by 12% in the safe direction.
55
+ *
56
+ * It lives here, beside the structure it prices, because there are TWO caches of BM25 indexes — the
57
+ * code one in `index-tools/state.ts` and the conversation one in `tools/conversation-cache.ts`. A
58
+ * copy of this per cache is how their budgets drift apart.
59
+ */
60
+ export declare function bm25FootprintBytes(index: BM25Index): number;
61
+ /**
62
+ * Resident budget for one BM25 cache, in bytes.
63
+ *
64
+ * Same RAM tiers as the index and embedding budgets, so all of them agree about what a machine this
65
+ * size is willing to hold. `CODESIFT_MAX_BM25_CACHE_MB` overrides.
66
+ */
67
+ export declare function bm25CacheBudgetBytes(env?: NodeJS.ProcessEnv): number;
46
68
  export declare function buildBM25Index(symbols: CodeSymbol[]): BM25Index;
47
69
  /**
48
70
  * Same index, built without monopolising the event loop.
@@ -1 +1 @@
1
- {"version":3,"file":"bm25.d.ts","sourceRoot":"","sources":["../../src/search/bm25.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAe5D,KAAK,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,CAAC;AAE1E,MAAM,WAAW,SAAS;IACxB,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5D,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3C,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjC,sFAAsF;IACtF,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,uFAAuF;IACvF,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBnD;AA8MD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAsB7F;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,SAAS,CAI/D;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAQtF;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GACtC,YAAY,EAAE,CAwFhB;AAKD,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAWnE"}
1
+ {"version":3,"file":"bm25.d.ts","sourceRoot":"","sources":["../../src/search/bm25.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAe5D,KAAK,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,CAAC;AAE1E,MAAM,WAAW,SAAS;IACxB,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC5D,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3C,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjC,sFAAsF;IACtF,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,uFAAuF;IACvF,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBnD;AA8MD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAsB7F;AAED;;;GAGG;AACH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAM3D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAUjF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,SAAS,CAI/D;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAQtF;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,GACtC,YAAY,EAAE,CAwFhB;AAKD,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAWnE"}
@@ -1,3 +1,4 @@
1
+ import { totalmem } from "node:os";
1
2
  import { tokenizeIdentifier } from "../parser/symbol-utils.js";
2
3
  import { isTestFile } from "../utils/test-file.js";
3
4
  // BM25 parameters
@@ -250,6 +251,48 @@ export function updateBM25ForFile(index, file, symbols) {
250
251
  * Synchronous build. Correct, and fine for small inputs — the tool-ranker index is ~150 entries.
251
252
  * Do NOT use it on a repository index inside the daemon: see buildBM25IndexYielding.
252
253
  */
254
+ /**
255
+ * Bytes a BM25 index occupies, from its own token totals.
256
+ *
257
+ * Measured with a heapUsed delta around a real build: 352,125 symbols / 12,882,846 tokens cost
258
+ * 399 MB, i.e. 32.5 B per token — the postings maps dominate, so tokens are the quantity to price
259
+ * by, not symbols. Rounded UP to 40, on the same reasoning as the index footprint: over-reporting
260
+ * evicts something that would have fitted, under-reporting silently breaks the budget. Re-measured
261
+ * 2026-09-27 on a 344,179-symbol / 14,126,954-token index: estimate 565 MB against 498 MB actual,
262
+ * so it still errs by 12% in the safe direction.
263
+ *
264
+ * It lives here, beside the structure it prices, because there are TWO caches of BM25 indexes — the
265
+ * code one in `index-tools/state.ts` and the conversation one in `tools/conversation-cache.ts`. A
266
+ * copy of this per cache is how their budgets drift apart.
267
+ */
268
+ export function bm25FootprintBytes(index) {
269
+ let tokens = 0;
270
+ for (const field of Object.keys(index.totalFieldLengths)) {
271
+ tokens += index.totalFieldLengths[field];
272
+ }
273
+ return tokens * 40;
274
+ }
275
+ /**
276
+ * Resident budget for one BM25 cache, in bytes.
277
+ *
278
+ * Same RAM tiers as the index and embedding budgets, so all of them agree about what a machine this
279
+ * size is willing to hold. `CODESIFT_MAX_BM25_CACHE_MB` overrides.
280
+ */
281
+ export function bm25CacheBudgetBytes(env = process.env) {
282
+ const raw = env["CODESIFT_MAX_BM25_CACHE_MB"];
283
+ if (raw !== undefined) {
284
+ const parsed = Number.parseInt(raw, 10);
285
+ if (Number.isFinite(parsed) && parsed > 0)
286
+ return parsed * 1024 * 1024;
287
+ }
288
+ let totalGb = 8;
289
+ try {
290
+ totalGb = totalmem() / 1024 ** 3;
291
+ }
292
+ catch { /* keep the floor */ }
293
+ const mb = totalGb <= 16 ? 256 : totalGb <= 32 ? 512 : 1024;
294
+ return mb * 1024 * 1024;
295
+ }
253
296
  export function buildBM25Index(symbols) {
254
297
  const acc = newAccumulator();
255
298
  for (const symbol of symbols)