@cortexkit/aft-opencode 0.10.1 → 0.11.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 (83) hide show
  1. package/dist/config.d.ts.map +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +25395 -345
  4. package/dist/pool.d.ts +1 -1
  5. package/dist/pool.d.ts.map +1 -1
  6. package/dist/shared/tui-config.d.ts.map +1 -1
  7. package/dist/shared/url-fetch.d.ts +11 -0
  8. package/dist/shared/url-fetch.d.ts.map +1 -0
  9. package/dist/tools/reading.d.ts.map +1 -1
  10. package/dist/types.d.ts +2 -0
  11. package/dist/types.d.ts.map +1 -1
  12. package/package.json +9 -9
  13. package/src/shared/tui-config.ts +3 -100
  14. package/src/shared/url-fetch.ts +237 -0
  15. package/dist/bridge.js +0 -325
  16. package/dist/bridge.js.map +0 -1
  17. package/dist/config.js +0 -304
  18. package/dist/config.js.map +0 -1
  19. package/dist/downloader.js +0 -198
  20. package/dist/downloader.js.map +0 -1
  21. package/dist/index.js.map +0 -1
  22. package/dist/logger.js +0 -78
  23. package/dist/logger.js.map +0 -1
  24. package/dist/lsp.js +0 -79
  25. package/dist/lsp.js.map +0 -1
  26. package/dist/metadata-store.js +0 -53
  27. package/dist/metadata-store.js.map +0 -1
  28. package/dist/normalize-schemas.js +0 -45
  29. package/dist/normalize-schemas.js.map +0 -1
  30. package/dist/notifications.js +0 -307
  31. package/dist/notifications.js.map +0 -1
  32. package/dist/onnx-runtime.js +0 -203
  33. package/dist/onnx-runtime.js.map +0 -1
  34. package/dist/patch-parser.js +0 -247
  35. package/dist/patch-parser.js.map +0 -1
  36. package/dist/platform.js +0 -31
  37. package/dist/platform.js.map +0 -1
  38. package/dist/pool.js +0 -130
  39. package/dist/pool.js.map +0 -1
  40. package/dist/resolver.js +0 -179
  41. package/dist/resolver.js.map +0 -1
  42. package/dist/shared/opencode-config-dir.js +0 -26
  43. package/dist/shared/opencode-config-dir.js.map +0 -1
  44. package/dist/shared/rpc-client.js +0 -108
  45. package/dist/shared/rpc-client.js.map +0 -1
  46. package/dist/shared/rpc-server.js +0 -120
  47. package/dist/shared/rpc-server.js.map +0 -1
  48. package/dist/shared/rpc-utils.js +0 -20
  49. package/dist/shared/rpc-utils.js.map +0 -1
  50. package/dist/shared/runtime.js +0 -14
  51. package/dist/shared/runtime.js.map +0 -1
  52. package/dist/shared/status.js +0 -135
  53. package/dist/shared/status.js.map +0 -1
  54. package/dist/shared/tui-config.js +0 -134
  55. package/dist/shared/tui-config.js.map +0 -1
  56. package/dist/tools/ast.js +0 -200
  57. package/dist/tools/ast.js.map +0 -1
  58. package/dist/tools/conflicts.js +0 -20
  59. package/dist/tools/conflicts.js.map +0 -1
  60. package/dist/tools/hoisted.js +0 -870
  61. package/dist/tools/hoisted.js.map +0 -1
  62. package/dist/tools/imports.js +0 -90
  63. package/dist/tools/imports.js.map +0 -1
  64. package/dist/tools/lsp.js +0 -58
  65. package/dist/tools/lsp.js.map +0 -1
  66. package/dist/tools/navigation.js +0 -58
  67. package/dist/tools/navigation.js.map +0 -1
  68. package/dist/tools/permissions.js +0 -50
  69. package/dist/tools/permissions.js.map +0 -1
  70. package/dist/tools/reading.js +0 -229
  71. package/dist/tools/reading.js.map +0 -1
  72. package/dist/tools/refactoring.js +0 -129
  73. package/dist/tools/refactoring.js.map +0 -1
  74. package/dist/tools/safety.js +0 -83
  75. package/dist/tools/safety.js.map +0 -1
  76. package/dist/tools/search.js +0 -108
  77. package/dist/tools/search.js.map +0 -1
  78. package/dist/tools/semantic.js +0 -35
  79. package/dist/tools/semantic.js.map +0 -1
  80. package/dist/tools/structure.js +0 -157
  81. package/dist/tools/structure.js.map +0 -1
  82. package/dist/types.js +0 -2
  83. package/dist/types.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"hoisted.js","sourceRoot":"","sources":["../../src/tools/hoisted.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGnE,gFAAgF;AAChF,SAAS,SAAS,CAAC,GAAY;IAC7B,MAAM,CAAC,GAAG,GAA6D,CAAC;IACxE,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,CAAC;AAC3C,CAAC;AAED,yGAAyG;AACzG,SAAS,kBAAkB,CAAC,EAAU,EAAE,QAAgB;IACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,oEAAoE;AACpE,SAAS,gBAAgB,CAAC,EAAU,EAAE,MAAc,EAAE,KAAa;IACjE,kEAAkE;IAClE,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,QAAQ;IACrC,IAAI,MAAM,CAAC,MAAM,GAAG,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;QACxD,OAAO,UAAU,EAAE,iCAAiC,QAAQ,GAAG,IAAI,OAAO,CAAC;IAC7E,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,IAAI,GAAG,UAAU,EAAE,8EAA8E,EAAE,SAAS,EAAE,IAAI,CAAC;IACvH,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;IACpB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACrD,IAAI,WAAW,KAAK,CAAC,CAAC;gBAAE,WAAW,GAAG,CAAC,CAAC;YACxC,UAAU,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,IAAI,WAAW,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;IACpD,IAAI,IAAI,OAAO,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ,KAAK,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,QAAQ,OAAO,CAAC;IACjK,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,EAAE,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC/D,MAAM,EAAE,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACd,IAAI,IAAI,IAAI,EAAE,IAAI,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,IAAI,EAAE,KAAK,SAAS;gBAAE,IAAI,IAAI,IAAI,EAAE,IAAI,CAAC;YACzC,IAAI,EAAE,KAAK,SAAS;gBAAE,IAAI,IAAI,IAAI,EAAE,IAAI,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAEtB,8EAA8E;AAC9E,iEAAiE;AACjE,4EAA4E;AAC5E,8EAA8E;AAE9E,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;mIAkB0G,CAAC;AAEpI;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,GAAkB;IAC/C,OAAO;QACL,WAAW,EAAE,gBAAgB;QAC7B,IAAI,EAAE;YACJ,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,CAAC,kEAAkE,CAAC;YAC/E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;YAC/E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACtF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;YAC5E,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,8FAA8F,CAC/F;SACJ;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAmB,EAAE;YAChD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACxE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAkB,CAAC;YAErC,yBAAyB;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAEtF,mBAAmB;YACnB,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,UAAU,EAAE,MAAM;gBAClB,QAAQ,EAAE,CAAC,QAAQ,CAAC;gBACpB,MAAM,EAAE,CAAC,GAAG,CAAC;gBACb,QAAQ,EAAE,EAAE;aACb,CAAC,CAAC;YAEH,uDAAuD;YACvD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,OAAO,GAA2B;gBACtC,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,YAAY;gBACpB,OAAO,EAAE,YAAY;gBACrB,OAAO,EAAE,YAAY;gBACrB,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,iBAAiB;aAC1B,CAAC;YACF,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;gBACxC,IAAI,QAAQ,GAAG,CAAC,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC9E,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;gBACvB,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY;gBACd,CAAC;gBACD,MAAM,OAAO,GACX,QAAQ,GAAG,IAAI,GAAG,IAAI;oBACpB,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;oBAC9C,CAAC,CAAC,QAAQ,GAAG,IAAI;wBACf,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;wBACrC,CAAC,CAAC,GAAG,QAAQ,QAAQ,CAAC;gBAC5B,MAAM,GAAG,GAAG,GAAG,KAAK,oBAAoB,CAAC;gBACzC,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;gBACrC,IAAI,SAAS,EAAE,CAAC;oBACd,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE;wBAC9C,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;wBAChD,QAAQ,EAAE;4BACR,OAAO,EAAE,GAAG;4BACZ,QAAQ,EAAE,QAAQ;4BAClB,OAAO;4BACP,KAAK,EAAE,IAAI,KAAK,iBAAiB;yBAClC;qBACF,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,GAAG,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,YAAY,QAAQ,EAAE,CAAC;YACjF,CAAC;YAED,qFAAqF;YACrF,IAAI,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC3B,IAAI,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzD,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;gBACxB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC7B,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YAED,0DAA0D;YAC1D,MAAM,MAAM,GAA4B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC3D,IAAI,SAAS,KAAK,SAAS;gBAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;YAC3D,IAAI,OAAO,KAAK,SAAS;gBAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;YACrD,oEAAoE;YACpE,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;gBAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAErF,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAE/C,uCAAuC;YACvC,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAE,IAAI,CAAC,OAAkB,IAAI,aAAa,CAAC,CAAC;YAC7D,CAAC;YAED,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YAEtC,qBAAqB;YACrB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,EAAE,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;oBAClE,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC3F,CAAC;gBACD,OAAQ,IAAI,CAAC,OAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC;YAED,kBAAkB;YAClB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,EAAE,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;oBAClE,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC3F,CAAC;gBACD,OAAO,IAAI,CAAC,OAAiB,CAAC;YAChC,CAAC;YAED,iDAAiD;YACjD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,EAAE,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;gBAClE,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3F,CAAC;YACD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAiB,CAAC;YAEpC,mCAAmC;YACnC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,MAAM,IAAI,oBAAoB,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,OAAO,IAAI,CAAC,WAAW,kDAAkD,CAAC;YAC1I,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E,SAAS,mBAAmB,CAAC,YAAoB;IAC/C,OAAO;;;;;;;;;;;;gDAYuC,YAAY;;wHAE4D,CAAC;AACzH,CAAC;AAED,SAAS,eAAe,CAAC,GAAkB,EAAE,YAAY,GAAG,MAAM;IAChE,OAAO;QACL,WAAW,EAAE,mBAAmB,CAAC,YAAY,CAAC;QAC9C,IAAI,EAAE;YACJ,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,CAAC,kEAAkE,CAAC;YAC/E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;SACtE;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAmB,EAAE;YAChD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACxE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAkB,CAAC;YACrC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAiB,CAAC;YAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAEtF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAE1D,mBAAmB;YACnB,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,UAAU,EAAE,MAAM;gBAClB,QAAQ,EAAE,CAAC,OAAO,CAAC;gBACnB,MAAM,EAAE,CAAC,GAAG,CAAC;gBACb,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;aACjC,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;gBACtC,IAAI,EAAE,QAAQ;gBACd,OAAO;gBACP,WAAW,EAAE,IAAI;gBACjB,WAAW,EAAE,IAAI;gBACjB,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YAEH,gDAAgD;YAChD,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAE,IAAI,CAAC,OAAkB,IAAI,cAAc,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,eAAe,CAAC;YAClE,IAAI,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,kBAAkB,CAAC;YAEjD,uCAAuC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,eAA6D,CAAC;YACjF,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;gBAC3D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,MAAM,IAAI,wCAAwC,CAAC;oBACnD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;wBACvB,MAAM,IAAI,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC;oBAC/C,CAAC;gBACH,CAAC;YACH,CAAC;YAED,sFAAsF;YACtF,MAAM,IAAI,GAAG,IAAI,CAAC,IAEL,CAAC;YACd,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,EAAE,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC1D,MAAM,aAAa,GAAG,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC;gBACzC,MAAM,YAAY,GAAG,IAAI,EAAE,KAAK,IAAI,OAAO,CAAC;gBAC5C,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE;oBAC3C,KAAK,EAAE,EAAE;oBACT,QAAQ,EAAE;wBACR,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,YAAY,CAAC;wBAC7D,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,MAAM,EAAE,aAAa;4BACrB,KAAK,EAAE,YAAY;4BACnB,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC;4BAC/B,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,CAAC;yBAChC;wBACD,WAAW,EAAE,EAAE;qBAChB;iBACF,CAAC,CAAC;YACL,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,SAAS,kBAAkB,CAAC,aAAqB;IAC/C,OAAO;;;;4GAImG,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mJA6C0B,CAAC;IAClJ,wFAAwF;IACxF,0FAA0F;IAC1F,4FAA4F;AAC9F,CAAC;AAED,SAAS,cAAc,CAAC,GAAkB,EAAE,aAAa,GAAG,OAAO;IACjE,OAAO;QACL,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC;QAC9C,IAAI,EAAE;YACJ,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,qIAAqI,CACtI;YACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YAC5F,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,+EAA+E,CAAC;YAC5F,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACtE,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,6DAA6D,CAAC;YAC1E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;YACvF,KAAK,EAAE,CAAC;iBACL,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;iBACxC,QAAQ,EAAE;iBACV,QAAQ,CACP,2JAA2J,CAC5J;YACH,UAAU,EAAE,CAAC;iBACV,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;iBACxC,QAAQ,EAAE;iBACV,QAAQ,CACP,iPAAiP,CAClP;YACH,MAAM,EAAE,CAAC;iBACN,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,iEAAiE,CAAC;SAC/E;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAmB,EAAE;YAChD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAExE,gCAAgC;YAChC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,IAAI,CAAC,UAA4C,CAAC;gBAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAc,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAEjE,MAAM,OAAO,CAAC,GAAG,CAAC;oBAChB,UAAU,EAAE,MAAM;oBAClB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CACpE;oBACD,MAAM,EAAE,CAAC,GAAG,CAAC;oBACb,QAAQ,EAAE,EAAE;iBACb,CAAC,CAAC;gBAEH,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACnC,GAAG,EAAE;oBACL,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,IAAc,CAAC;wBACtC,CAAC,CAAC,EAAE,CAAC,IAAI;wBACT,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,IAAc,CAAC;iBACvD,CAAC,CAAC,CAAC;gBAEJ,MAAM,MAAM,GAA4B,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;gBACpE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;gBACtC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;gBACtD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,QAAkB,CAAC;YACrC,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAE/D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAEtF,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAE1D,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,UAAU,EAAE,MAAM;gBAClB,QAAQ,EAAE,CAAC,OAAO,CAAC;gBACnB,MAAM,EAAE,CAAC,GAAG,CAAC;gBACb,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;aACjC,CAAC,CAAC;YAEH,MAAM,MAAM,GAA4B,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAE3D,oCAAoC;YACpC,IAAI,OAAe,CAAC;YAEpB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,0DAA0D;gBAC1D,OAAO,GAAG,OAAO,CAAC;gBAClB,MAAM,CAAC,KAAK,GAAI,IAAI,CAAC,KAAwC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACzE,MAAM,UAAU,GAA4B,EAAE,CAAC;oBAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;wBAChD,IAAI,GAAG,KAAK,WAAW;4BAAE,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC;6BAC7C,IAAI,GAAG,KAAK,WAAW;4BAAE,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC;6BACxD,IAAI,GAAG,KAAK,WAAW;4BAAE,UAAU,CAAC,UAAU,GAAG,KAAK,CAAC;6BACvD,IAAI,GAAG,KAAK,SAAS;4BAAE,UAAU,CAAC,QAAQ,GAAG,KAAK,CAAC;;4BACnD,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBAC/B,CAAC;oBACD,OAAO,UAAU,CAAC;gBACpB,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,IACL,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAC/B,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ;gBAClC,IAAI,CAAC,OAAO,KAAK,SAAS,EAC1B,CAAC;gBACD,8EAA8E;gBAC9E,iFAAiF;gBACjF,OAAO,GAAG,aAAa,CAAC;gBACxB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC5B,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;gBAC7B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAChC,CAAC;iBAAM,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAC9C,yEAAyE;gBACzE,OAAO,GAAG,YAAY,CAAC;gBACvB,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC9B,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;gBAC1C,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;oBAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;gBACxE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;oBAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACzE,CAAC;iBAAM,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC5C,aAAa;gBACb,OAAO,GAAG,OAAO,CAAC;gBAClB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC9B,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,gGAAgG,CACjG,CAAC;YACJ,CAAC;YAED,IAAI,IAAI,CAAC,MAAM;gBAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;YAC5C,yEAAyE;YACzE,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;YAE7C,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAEhD,sFAAsF;YACtF,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAKjB,CAAC;gBACF,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;gBAClC,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,EAAE,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;oBAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;oBACxC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;oBACtC,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE;wBAC3C,KAAK,EAAE,EAAE;wBACT,QAAQ,EAAE;4BACR,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,YAAY,CAAC;4BAC7D,QAAQ,EAAE;gCACR,IAAI,EAAE,QAAQ;gCACd,MAAM,EAAE,aAAa;gCACrB,KAAK,EAAE,YAAY;gCACnB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC;gCAC9B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC;6BAC/B;4BACD,WAAW,EAAE,EAAE;yBAChB;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAElC,oEAAoE;YACpE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,IAAI,CAAC,eAA6D,CAAC;gBACjF,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;oBAC3D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACjF,MAAM,IAAI,yCAAyC,SAAS,EAAE,CAAC;oBACjE,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8KA0C8I,CAAC;AAE/K,SAAS,oBAAoB,CAAC,GAAkB;IAC9C,OAAO;QACL,WAAW,EAAE,uBAAuB;QACpC,IAAI,EAAE;YACJ,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;SAClF;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAmB,EAAE;YAChD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACxE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAmB,CAAC;YAC3C,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAE3D,kBAAkB;YAClB,IAAI,KAA0C,CAAC;YAC/C,IAAI,CAAC;gBACH,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YAChC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,CAAC;YAED,uCAAuC;YACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CACzE,CAAC;YAEF,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,UAAU,EAAE,MAAM;gBAClB,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,CAAC,GAAG,CAAC;gBACb,QAAQ,EAAE,EAAE;aACb,CAAC,CAAC;YAEH,oDAAoD;YACpD,MAAM,cAAc,GAAG,eAAe,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACnD,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE;oBAC9B,IAAI,EAAE,cAAc;oBACpB,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;iBAC/D,CAAC,CAAC;gBACH,iBAAiB,GAAG,IAAI,CAAC;YAC3B,CAAC;YAAC,MAAM,CAAC;gBACP,wEAAwE;YAC1E,CAAC;YAED,uDAAuD;YACvD,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,MAAM,YAAY,GAA+D,EAAE,CAAC;YACpF,IAAI,WAAW,GAAG,KAAK,CAAC;YAExB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE5D,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;oBAClB,KAAK,KAAK,CAAC,CAAC,CAAC;wBACX,IAAI,CAAC;4BACH,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;gCACzB,IAAI,EAAE,QAAQ;gCACd,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI;gCAC5E,WAAW,EAAE,IAAI;gCACjB,WAAW,EAAE,IAAI;6BAClB,CAAC,CAAC;4BACH,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;4BAClE,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;wBACvC,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,WAAW,GAAG,IAAI,CAAC;4BACnB,OAAO,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACvF,CAAC;wBACD,MAAM;oBACR,CAAC;oBAED,KAAK,QAAQ,CAAC,CAAC,CAAC;wBACd,IAAI,CAAC;4BACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;4BAC7E,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;4BACrD,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;4BACnD,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;wBACvC,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,WAAW,GAAG,IAAI,CAAC;4BACnB,OAAO,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACvF,CAAC;wBACD,MAAM;oBACR,CAAC;oBAED,KAAK,QAAQ,CAAC,CAAC,CAAC;wBACd,IAAI,CAAC;4BACH,0CAA0C;4BAC1C,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;4BAC/D,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;4BAEtE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS;gCAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;gCACjD,CAAC,CAAC,QAAQ,CAAC;4BAEb,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;gCAC7C,IAAI,EAAE,UAAU;gCAChB,OAAO,EAAE,UAAU;gCACnB,WAAW,EAAE,IAAI;gCACjB,WAAW,EAAE,IAAI;6BAClB,CAAC,CAAC;4BAEH,qCAAqC;4BACrC,MAAM,KAAK,GAAG,WAAW,CAAC,eAEb,CAAC;4BACd,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;gCAC3D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCACtB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oCAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oCACjF,OAAO,CAAC,IAAI,CAAC,4BAA4B,OAAO,kBAAkB,SAAS,EAAE,CAAC,CAAC;gCACjF,CAAC;4BACH,CAAC;4BAED,mCAAmC;4BACnC,YAAY,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;4BAErE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gCACnB,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gCACrD,OAAO,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;4BACrE,CAAC;iCAAM,CAAC;gCACN,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;4BACvC,CAAC;wBACH,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,WAAW,GAAG,IAAI,CAAC;4BACnB,OAAO,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,KAAK,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;4BACrF,MAAM;wBACR,CAAC;wBACD,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,yDAAyD;YACzD,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,iBAAiB,EAAE,CAAC;oBACtB,IAAI,CAAC;wBACH,MAAM,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;wBAClE,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;oBACpE,CAAC;oBAAC,MAAM,CAAC;wBACP,OAAO,CAAC,IAAI,CACV,2EAA2E,CAC5E,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;gBACvF,CAAC;gBACD,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAED,8EAA8E;YAC9E,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YAClC,IAAI,MAAM,EAAE,CAAC;gBACX,0DAA0D;gBAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBACzF,OAAO;wBACL,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;wBACjD,YAAY,EAAE,OAAO;wBACrB,IAAI,EAAE,CAAC,CAAC,IAAI;qBACb,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,4FAA4F;gBAC5F,MAAM,QAAQ,GAAG,KAAK;qBACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACT,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBACxE,OAAO,GAAG,MAAM,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;gBACvC,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,MAAM,KAAK,GAAG,0CAA0C,QAAQ,EAAE,CAAC;gBAEnE,qEAAqE;gBACrE,MAAM,QAAQ,GAAG,YAAY;qBAC1B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;qBAC3D,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEd,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE;oBAC3C,KAAK;oBACL,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,KAAK;qBACN;iBACF,CAAC,CAAC;YACL,CAAC;YAED,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E,MAAM,kBAAkB,GACtB,gCAAgC;IAChC,2FAA2F,CAAC;AAE9F,SAAS,gBAAgB,CAAC,GAAkB;IAC1C,OAAO;QACL,WAAW,EAAE,kBAAkB;QAC/B,IAAI,EAAE;YACJ,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;SACxD;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAmB,EAAE;YAChD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAkB,CAAC;gBACvD,CAAC,CAAE,IAAI,CAAC,QAAmB;gBAC3B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,QAAkB,CAAC,CAAC;YAE7D,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,UAAU,EAAE,MAAM;gBAClB,QAAQ,EAAE,CAAC,QAAQ,CAAC;gBACpB,MAAM,EAAE,CAAC,GAAG,CAAC;gBACb,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;aAC/B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YACpE,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAE,MAAM,CAAC,OAAkB,IAAI,eAAe,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,MAAM,gBAAgB,GACpB,+FAA+F;IAC/F,iDAAiD,CAAC;AAEpD,SAAS,cAAc,CAAC,GAAkB;IACxC,OAAO;QACL,WAAW,EAAE,gBAAgB;QAC7B,IAAI,EAAE;YACJ,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACzD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;SAC1D;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAmB,EAAE;YAChD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAkB,CAAC;gBACvD,CAAC,CAAE,IAAI,CAAC,QAAmB;gBAC3B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,QAAkB,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAqB,CAAC;gBAC1D,CAAC,CAAE,IAAI,CAAC,WAAsB;gBAC9B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,WAAqB,CAAC,CAAC;YAEhE,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,UAAU,EAAE,MAAM;gBAClB,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAC9B,MAAM,EAAE,CAAC,GAAG,CAAC;gBACb,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;aAC7B,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;gBAC5C,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,QAAQ;aACtB,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAE,MAAM,CAAC,OAAkB,IAAI,aAAa,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,GAAkB;IAC7C,OAAO;QACL,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC;QACzB,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC;QACnC,IAAI,EAAE,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC;QAClC,WAAW,EAAE,oBAAoB,CAAC,GAAG,CAAC;QACtC,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC;QACjC,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAkB;IACjD,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAErD,OAAO;QACL,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC;QAC7B,SAAS,EAAE,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC;QAC3C,QAAQ,EAAE;YACR,GAAG,WAAW;YACd,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAmB,EAAE;gBAChD,MAAM,SAAS,GAAG,IAA+B,CAAC;gBAClD,MAAM,cAAc,GAClB,SAAS,CAAC,IAAI,KAAK,SAAS;oBAC5B,SAAS,CAAC,QAAQ,KAAK,SAAS;oBAChC,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;oBAChC,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE;oBAC5C,CAAC,CAAC,SAAS,CAAC;gBAChB,OAAO,WAAW,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC;SACF;QACD,eAAe,EAAE,oBAAoB,CAAC,GAAG,CAAC;QAC1C,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC;QACjC,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC;KAC9B,CAAC;AACJ,CAAC"}
@@ -1,90 +0,0 @@
1
- import { tool } from "@opencode-ai/plugin";
2
- import { askEditPermission, permissionDeniedResponse, resolveAbsolutePath, resolveRelativePattern, } from "./permissions.js";
3
- const z = tool.schema;
4
- /**
5
- * Tool definitions for import management commands: add_import, remove_import, organize_imports.
6
- */
7
- export function importTools(ctx) {
8
- return {
9
- aft_import: {
10
- description: "Language-aware import management. Supports TS, JS, TSX, Python, Rust, and Go.\n\n" +
11
- "Ops:\n" +
12
- "- 'add': Add an import. Auto-detects group (stdlib/external/internal), deduplicates. Requires 'module'. Optional 'names', 'defaultImport', 'typeOnly'.\n" +
13
- "- 'remove': Remove an import or a specific named import. Requires 'module'. Provide 'removeName' to remove a single named import; omit to remove the entire import.\n" +
14
- "- 'organize': Re-sort and re-group all imports by language convention, deduplicate. Requires only 'filePath'.\n\n" +
15
- "Returns:\n" +
16
- "- Dry run (any op): { ok, dry_run, diff, syntax_valid? }\n" +
17
- "- add: { file, added, module, group?, already_present?, formatted?, syntax_valid?, format_skipped_reason?, validation_errors?, validate_skipped_reason?, backup_id?, lsp_diagnostics? }\n" +
18
- "- remove: { file, removed, module, name?, formatted, syntax_valid?, format_skipped_reason?, validation_errors?, validate_skipped_reason?, backup_id?, lsp_diagnostics? }\n" +
19
- "- organize: { file, groups: [{ name, count }], removed_duplicates, formatted?, syntax_valid?, format_skipped_reason?, validation_errors?, validate_skipped_reason?, backup_id?, lsp_diagnostics? }",
20
- // Parameters are Zod-optional because different ops need different subsets.
21
- // Runtime guards below validate per-op requirements and give clear errors.
22
- args: {
23
- op: z.enum(["add", "remove", "organize"]).describe("Import operation"),
24
- filePath: z.string().describe("Path to the file (absolute or relative to project root)"),
25
- module: z
26
- .string()
27
- .optional()
28
- .describe("Module path (required for add, remove — e.g. 'react', './utils', 'std::fmt')"),
29
- names: z
30
- .array(z.string())
31
- .optional()
32
- .describe("Named imports to add (e.g. ['useState', 'useEffect'])"),
33
- defaultImport: z.string().optional().describe("Default import name (e.g. 'React')"),
34
- typeOnly: z.boolean().optional().describe("Type-only import (TS only, default: false)"),
35
- removeName: z
36
- .string()
37
- .optional()
38
- .describe("Named import to remove for 'remove' op; omit to remove entire import"),
39
- validate: z
40
- .enum(["syntax", "full"])
41
- .optional()
42
- .describe("Validation level: 'syntax' (default) or 'full'. Syntax = tree-sitter parse check only. Full = also runs LSP type-checking (slower, catches more errors)"),
43
- dryRun: z
44
- .boolean()
45
- .optional()
46
- .describe("Preview without modifying the file (default: false)"),
47
- },
48
- execute: async (args, context) => {
49
- const bridge = ctx.pool.getBridge(context.directory, context.sessionID);
50
- const op = args.op;
51
- const isDryRun = args.dryRun === true;
52
- if ((op === "add" || op === "remove") && typeof args.module !== "string") {
53
- throw new Error(`'module' is required for '${op}' op`);
54
- }
55
- if (!isDryRun) {
56
- const filePath = resolveAbsolutePath(context, args.filePath);
57
- const permissionError = await askEditPermission(context, [resolveRelativePattern(context, args.filePath)], { filepath: filePath });
58
- if (permissionError)
59
- return permissionDeniedResponse(permissionError);
60
- }
61
- const commandMap = {
62
- add: "add_import",
63
- remove: "remove_import",
64
- organize: "organize_imports",
65
- };
66
- const params = { file: args.filePath };
67
- if (args.module !== undefined)
68
- params.module = args.module;
69
- if (args.names !== undefined)
70
- params.names = args.names;
71
- if (args.defaultImport !== undefined)
72
- params.default_import = args.defaultImport;
73
- if (args.typeOnly !== undefined)
74
- params.type_only = args.typeOnly;
75
- if (args.removeName !== undefined)
76
- params.name = args.removeName;
77
- if (args.validate !== undefined)
78
- params.validate = args.validate;
79
- if (args.dryRun !== undefined)
80
- params.dry_run = args.dryRun;
81
- const response = await bridge.send(commandMap[op], params);
82
- if (response.success === false) {
83
- throw new Error(response.message || `${op} failed`);
84
- }
85
- return JSON.stringify(response);
86
- },
87
- },
88
- };
89
- }
90
- //# sourceMappingURL=imports.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"imports.js","sourceRoot":"","sources":["../../src/tools/imports.ts"],"names":[],"mappings":"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"}
package/dist/tools/lsp.js DELETED
@@ -1,58 +0,0 @@
1
- import { tool } from "@opencode-ai/plugin";
2
- const z = tool.schema;
3
- /**
4
- * Tool definitions for LSP commands: diagnostics.
5
- */
6
- export function lspTools(ctx) {
7
- const diagnosticsTool = {
8
- description: "Get errors, warnings, hints from a language server. " +
9
- "Returns: { diagnostics: Array<{ file, line, column, end_line, end_column, severity, message, code }>, total: number, files_with_errors: number }.",
10
- args: {
11
- filePath: z
12
- .string()
13
- .optional()
14
- .describe("Path to file to get diagnostics for. Provide 'filePath' for a single file, 'directory' for all files under a path, or omit both for all tracked files"),
15
- directory: z
16
- .string()
17
- .optional()
18
- .describe("Path to directory to get diagnostics for all files under it. Mutually exclusive with 'filePath'"),
19
- severity: z
20
- .enum(["error", "warning", "information", "hint", "all"])
21
- .optional()
22
- .describe("Filter by severity — 'error', 'warning', 'information', 'hint', 'all' (default: 'all')"),
23
- waitMs: z
24
- .number()
25
- .optional()
26
- .describe("Wait N ms for fresh diagnostics before returning (max 10000, default: 0). Use after edits to let the server re-analyze."),
27
- },
28
- execute: async (args, context) => {
29
- const bridge = ctx.pool.getBridge(context.directory, context.sessionID);
30
- const filePath = args.filePath || undefined; // treat empty string as absent
31
- const directory = args.directory || undefined;
32
- if (filePath !== undefined && directory !== undefined) {
33
- throw new Error("'filePath' and 'directory' are mutually exclusive — provide one or neither");
34
- }
35
- const params = {};
36
- if (filePath !== undefined)
37
- params.file = filePath;
38
- if (directory !== undefined)
39
- params.directory = directory;
40
- if (args.severity !== undefined)
41
- params.severity = args.severity;
42
- if (args.waitMs !== undefined)
43
- params.wait_ms = args.waitMs;
44
- const result = await bridge.send("lsp_diagnostics", params);
45
- if (result.success === false) {
46
- throw new Error(result.message || "lsp_diagnostics failed");
47
- }
48
- return JSON.stringify(result);
49
- },
50
- };
51
- // When hoisting: register as lsp_diagnostics (override oh-my-opencode's)
52
- // When not hoisting: register as aft_lsp_diagnostics
53
- const hoisting = ctx.config.hoist_builtin_tools !== false;
54
- return {
55
- [hoisting ? "lsp_diagnostics" : "aft_lsp_diagnostics"]: diagnosticsTool,
56
- };
57
- }
58
- //# sourceMappingURL=lsp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lsp.js","sourceRoot":"","sources":["../../src/tools/lsp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG3C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AACtB;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAkB;IACzC,MAAM,eAAe,GAAmB;QACtC,WAAW,EACT,sDAAsD;YACtD,mJAAmJ;QACrJ,IAAI,EAAE;YACJ,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,uJAAuJ,CACxJ;YACH,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,iGAAiG,CAClG;YACH,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;iBACxD,QAAQ,EAAE;iBACV,QAAQ,CACP,wFAAwF,CACzF;YACH,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,yHAAyH,CAC1H;SACJ;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAmB,EAAE;YAChD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,+BAA+B;YAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;YAC9C,IAAI,QAAQ,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBACtD,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YACnD,IAAI,SAAS,KAAK,SAAS;gBAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;YAC1D,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YACjE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;gBAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;YAC5D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;YAC5D,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CAAE,MAAM,CAAC,OAAkB,IAAI,wBAAwB,CAAC,CAAC;YAC1E,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;KACF,CAAC;IAEF,yEAAyE;IACzE,qDAAqD;IACrD,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,mBAAmB,KAAK,KAAK,CAAC;IAC1D,OAAO;QACL,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,CAAC,EAAE,eAAe;KACxE,CAAC;AACJ,CAAC"}
@@ -1,58 +0,0 @@
1
- import { tool } from "@opencode-ai/plugin";
2
- const z = tool.schema;
3
- /**
4
- * Tool definitions for navigation commands: configure, call_tree, callers, trace_to, impact, and trace_data.
5
- */
6
- export function navigationTools(ctx) {
7
- return {
8
- aft_navigate: {
9
- description: "Navigate code structure across files using call graph analysis.\n\n" +
10
- "Ops:\n" +
11
- "- 'call_tree': See what a function calls (forward traversal). Use to understand dependencies before modifying a function.\n" +
12
- "- 'callers': Find all call sites of a symbol. Use before renaming or changing a function's signature.\n" +
13
- "- 'trace_to': Trace how execution reaches a function from entry points (routes, exports, main). Use to understand context around deeply-nested code.\n" +
14
- "- 'impact': Analyze what breaks if a symbol changes. Returns affected callers with signatures and entry point status.\n" +
15
- "- 'trace_data': Follow a value through variable assignments and function parameters across files. Requires 'symbol' (scope to trace from) and 'expression'.\n\n" +
16
- "All ops require both 'filePath' and 'symbol'. The 'expression' parameter is additionally required for trace_data.\n\n",
17
- // Parameters are Zod-optional because different ops need different subsets.
18
- // Runtime guards below validate per-op requirements and give clear errors.
19
- args: {
20
- op: z
21
- .enum(["call_tree", "callers", "trace_to", "impact", "trace_data"])
22
- .describe("Navigation operation"),
23
- filePath: z
24
- .string()
25
- .describe("Path to the source file containing the symbol (absolute or relative to project root)"),
26
- symbol: z.string().describe("Name of the symbol to analyze"),
27
- depth: z
28
- .number()
29
- .optional()
30
- .describe("Max traversal depth (default: call_tree=5, callers=1, trace_to=10, impact=5, trace_data=5)"),
31
- expression: z
32
- .string()
33
- .optional()
34
- .describe("Expression to track through data flow (required for trace_data op)"),
35
- },
36
- execute: async (args, context) => {
37
- const bridge = ctx.pool.getBridge(context.directory, context.sessionID);
38
- const params = {
39
- file: args.filePath,
40
- symbol: args.symbol,
41
- };
42
- if (args.depth !== undefined)
43
- params.depth = Number(args.depth);
44
- if (args.expression !== undefined)
45
- params.expression = args.expression;
46
- if (args.op === "trace_data" && typeof args.expression !== "string") {
47
- throw new Error("'expression' is required for 'trace_data' op");
48
- }
49
- const response = await bridge.send(args.op, params);
50
- if (response.success === false) {
51
- throw new Error(response.message || `${args.op} failed`);
52
- }
53
- return JSON.stringify(response);
54
- },
55
- },
56
- };
57
- }
58
- //# sourceMappingURL=navigation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/tools/navigation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG3C,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;AAEtB;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAkB;IAChD,OAAO;QACL,YAAY,EAAE;YACZ,WAAW,EACT,qEAAqE;gBACrE,QAAQ;gBACR,6HAA6H;gBAC7H,yGAAyG;gBACzG,wJAAwJ;gBACxJ,yHAAyH;gBACzH,iKAAiK;gBACjK,uHAAuH;YACzH,4EAA4E;YAC5E,2EAA2E;YAC3E,IAAI,EAAE;gBACJ,EAAE,EAAE,CAAC;qBACF,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;qBAClE,QAAQ,CAAC,sBAAsB,CAAC;gBACnC,QAAQ,EAAE,CAAC;qBACR,MAAM,EAAE;qBACR,QAAQ,CACP,sFAAsF,CACvF;gBACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;gBAC5D,KAAK,EAAE,CAAC;qBACL,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CACP,4FAA4F,CAC7F;gBACH,UAAU,EAAE,CAAC;qBACV,MAAM,EAAE;qBACR,QAAQ,EAAE;qBACV,QAAQ,CAAC,oEAAoE,CAAC;aAClF;YACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAmB,EAAE;gBAChD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBACxE,MAAM,MAAM,GAA4B;oBACtC,IAAI,EAAE,IAAI,CAAC,QAAQ;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB,CAAC;gBACF,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;oBAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAChE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;oBAAE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBACvE,IAAI,IAAI,CAAC,EAAE,KAAK,YAAY,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;oBACpE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAClE,CAAC;gBACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAY,EAAE,MAAM,CAAC,CAAC;gBAC9D,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CAAE,QAAQ,CAAC,OAAkB,IAAI,GAAG,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;gBACvE,CAAC;gBACD,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1,50 +0,0 @@
1
- import * as path from "node:path";
2
- export function resolveAbsolutePath(context, target) {
3
- return path.isAbsolute(target) ? target : path.resolve(context.directory, target);
4
- }
5
- export function resolveRelativePattern(context, target) {
6
- return path.relative(context.worktree, resolveAbsolutePath(context, target)) || ".";
7
- }
8
- export function resolveRelativePatterns(context, targets) {
9
- const seen = new Set();
10
- const patterns = [];
11
- for (const target of targets) {
12
- if (!target)
13
- continue;
14
- const pattern = resolveRelativePattern(context, target);
15
- if (seen.has(pattern))
16
- continue;
17
- seen.add(pattern);
18
- patterns.push(pattern);
19
- }
20
- return patterns;
21
- }
22
- export function workspacePattern(_context) {
23
- return ".";
24
- }
25
- export async function askEditPermission(context, patterns, metadata = {}) {
26
- try {
27
- await context.ask({
28
- permission: "edit",
29
- patterns: patterns.length > 0 ? patterns : [workspacePattern(context)],
30
- always: ["*"],
31
- metadata,
32
- });
33
- return undefined;
34
- }
35
- catch (error) {
36
- if (error instanceof Error && error.message) {
37
- return error.message;
38
- }
39
- return "Permission denied.";
40
- }
41
- }
42
- export function permissionDeniedResponse(message) {
43
- return JSON.stringify({
44
- success: false,
45
- code: "permission_denied",
46
- message,
47
- error: message,
48
- });
49
- }
50
- //# sourceMappingURL=permissions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../src/tools/permissions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,MAAM,UAAU,mBAAmB,CAAC,OAAoB,EAAE,MAAc;IACtE,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAoB,EAAE,MAAc;IACzE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAoB,EAAE,OAAiB;IAC7E,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACxD,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAS;QAChC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAqB;IACpD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAoB,EACpB,QAAkB,EAClB,WAAoC,EAAE;IAEtC,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,UAAU,EAAE,MAAM;YAClB,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACtE,MAAM,EAAE,CAAC,GAAG,CAAC;YACb,QAAQ;SACT,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC,OAAO,CAAC;QACvB,CAAC;QACD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,mBAAmB;QACzB,OAAO;QACP,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;AACL,CAAC"}
@@ -1,229 +0,0 @@
1
- import { readdir } from "node:fs/promises";
2
- import { extname, join, resolve } from "node:path";
3
- import { tool } from "@opencode-ai/plugin";
4
- /** File extensions that aft_outline supports via tree-sitter or markdown parser */
5
- const OUTLINE_EXTENSIONS = new Set([
6
- ".ts",
7
- ".tsx",
8
- ".js",
9
- ".jsx",
10
- ".mjs",
11
- ".cjs",
12
- ".rs",
13
- ".go",
14
- ".py",
15
- ".rb",
16
- ".c",
17
- ".cpp",
18
- ".h",
19
- ".hpp",
20
- ".cs",
21
- ".java",
22
- ".kt",
23
- ".scala",
24
- ".swift",
25
- ".lua",
26
- ".ex",
27
- ".exs",
28
- ".hs",
29
- ".sol",
30
- ".nix",
31
- ".md",
32
- ".mdx",
33
- ".css",
34
- ".html",
35
- ".json",
36
- ".yaml",
37
- ".yml",
38
- ".sh",
39
- ".bash",
40
- ]);
41
- const z = tool.schema;
42
- /**
43
- * Tool definitions for code reading commands: outline + zoom.
44
- */
45
- export function readingTools(ctx) {
46
- return {
47
- aft_outline: {
48
- description: "Get a structural outline of a source file, multiple files, or an entire directory — lists all top-level symbols with their kind, name, line range, and visibility. Use this to understand file/directory structure before editing.\n" +
49
- "Each entry includes 'name', 'kind' (function/class/struct/heading/etc), 'range', 'signature', and 'members' (nested children like methods in classes or sub-headings in markdown).\n" +
50
- "For Markdown files (.md, .mdx): returns heading hierarchy — h1/h2/h3 as nested symbols with section ranges covering all content until the next same-level heading.\n\n" +
51
- "Provide 'filePath', 'files', or 'directory'. Priority: directory > files > filePath. If multiple provided, highest-priority wins.\n" +
52
- "Directory mode skips commonly ignored directories and dot-prefixed directories.",
53
- args: {
54
- filePath: z
55
- .string()
56
- .optional()
57
- .describe("Path to a single file to outline (ignored if 'files' or 'directory' is also provided)"),
58
- files: z
59
- .array(z.string())
60
- .optional()
61
- .describe("Array of file paths to outline in one call (ignored if 'directory' is also provided)"),
62
- // The 200-file cap is intentionally only in .describe() — not in the main description —
63
- // because it's a parameter-level detail. The cap is silent (no warning on truncation).
64
- directory: z
65
- .string()
66
- .optional()
67
- .describe("Path to a directory — outlines all source files under it recursively (capped at 200 files, takes priority over 'filePath' and 'files')"),
68
- },
69
- execute: async (args, context) => {
70
- const bridge = ctx.pool.getBridge(context.directory, context.sessionID);
71
- const filesArg = Array.isArray(args.files) ? args.files : undefined;
72
- if (!args.filePath && !filesArg?.length && !args.directory) {
73
- throw new Error("Provide exactly one of 'filePath', 'files', or 'directory'");
74
- }
75
- // Directory mode: discover source files recursively and batch outline
76
- // Also auto-detect when filePath is a directory and route here
77
- let dirArg = typeof args.directory === "string" ? args.directory : undefined;
78
- if (!dirArg && typeof args.filePath === "string" && !Array.isArray(args.files)) {
79
- try {
80
- const { stat } = await import("node:fs/promises");
81
- const resolved = resolve(context.directory, args.filePath);
82
- const st = await stat(resolved);
83
- if (st.isDirectory()) {
84
- dirArg = args.filePath;
85
- }
86
- }
87
- catch {
88
- // Not a directory or doesn't exist — fall through to normal file handling
89
- }
90
- }
91
- if (dirArg) {
92
- const dirPath = resolve(context.directory, dirArg);
93
- const files = await discoverSourceFiles(dirPath);
94
- if (files.length === 0) {
95
- return JSON.stringify({
96
- success: false,
97
- message: `No source files found under ${dirArg}`,
98
- });
99
- }
100
- const response = await bridge.send("outline", { files });
101
- if (response.success === false) {
102
- throw new Error(response.message || "outline failed");
103
- }
104
- return response.text;
105
- }
106
- if (Array.isArray(args.files) && args.files.length > 0) {
107
- const response = await bridge.send("outline", { files: args.files });
108
- if (response.success === false) {
109
- throw new Error(response.message || "outline failed");
110
- }
111
- return response.text;
112
- }
113
- const response = await bridge.send("outline", { file: args.filePath });
114
- if (response.success === false) {
115
- throw new Error(response.message || "outline failed");
116
- }
117
- return response.text;
118
- },
119
- },
120
- aft_zoom: {
121
- description: `Inspect code symbols with call-graph annotations. Returns the full source of named symbols with what they call and what calls them.
122
-
123
- Use this when you need to understand a specific function, class, or type in detail.
124
-
125
- **Modes:**
126
-
127
- 1. **Inspect symbol** — pass filePath + symbol
128
- Returns full source + call graph annotations.
129
- Example: { "filePath": "src/app.ts", "symbol": "handleRequest" }
130
-
131
- 2. **Inspect multiple symbols** — pass filePath + symbols array
132
- Returns multiple symbols in one call.
133
- Example: { "filePath": "src/app.ts", "symbols": ["Config", "createApp"] }
134
-
135
- For Markdown files, use heading text as symbol name.
136
-
137
- Mode priority: symbols array > single symbol.`,
138
- args: {
139
- filePath: z.string().describe("Path to file (absolute or relative to project root)"),
140
- symbol: z.string().optional().describe("Name of a single symbol to inspect"),
141
- symbols: z
142
- .array(z.string())
143
- .optional()
144
- .describe("Array of symbol names to inspect in one call"),
145
- contextLines: z
146
- .number()
147
- .optional()
148
- .describe("Lines of context before/after the symbol (default: 3)"),
149
- },
150
- execute: async (args, context) => {
151
- const bridge = ctx.pool.getBridge(context.directory, context.sessionID);
152
- const file = args.filePath;
153
- // Multi-symbol mode: make separate zoom calls in parallel and combine results
154
- if (Array.isArray(args.symbols) && args.symbols.length > 0) {
155
- const results = await Promise.all(args.symbols.map((sym) => {
156
- const params = { file, symbol: sym };
157
- if (args.contextLines !== undefined)
158
- params.context_lines = args.contextLines;
159
- return bridge.send("zoom", params);
160
- }));
161
- return JSON.stringify(results);
162
- }
163
- // Single symbol mode
164
- const params = { file };
165
- if (typeof args.symbol === "string")
166
- params.symbol = args.symbol;
167
- if (args.contextLines !== undefined)
168
- params.context_lines = args.contextLines;
169
- const data = await bridge.send("zoom", params);
170
- if (data.success === false) {
171
- throw new Error(data.message || "zoom failed");
172
- }
173
- return JSON.stringify(data);
174
- },
175
- },
176
- };
177
- }
178
- /** Recursively discover source files under a directory, skipping common noise directories */
179
- const SKIP_DIRS = new Set([
180
- "node_modules",
181
- ".git",
182
- "dist",
183
- "build",
184
- "out",
185
- ".next",
186
- ".nuxt",
187
- "target",
188
- "__pycache__",
189
- ".venv",
190
- "venv",
191
- "vendor",
192
- ".turbo",
193
- "coverage",
194
- ".nyc_output",
195
- ".cache",
196
- ]);
197
- async function discoverSourceFiles(dir, maxFiles = 200) {
198
- const files = [];
199
- async function walk(current) {
200
- if (files.length >= maxFiles)
201
- return;
202
- let entries;
203
- try {
204
- entries = await readdir(current, { withFileTypes: true });
205
- }
206
- catch {
207
- return; // permission denied, not a directory, etc.
208
- }
209
- for (const entry of entries) {
210
- if (files.length >= maxFiles)
211
- return;
212
- if (entry.isDirectory()) {
213
- if (!SKIP_DIRS.has(entry.name) && !entry.name.startsWith(".")) {
214
- await walk(join(current, entry.name));
215
- }
216
- }
217
- else if (entry.isFile()) {
218
- const ext = extname(entry.name).toLowerCase();
219
- if (OUTLINE_EXTENSIONS.has(ext)) {
220
- files.push(join(current, entry.name));
221
- }
222
- }
223
- }
224
- }
225
- await walk(dir);
226
- files.sort();
227
- return files;
228
- }
229
- //# sourceMappingURL=reading.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reading.js","sourceRoot":"","sources":["../../src/tools/reading.ts"],"names":[],"mappings":"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"}