@domainlang/language 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/out/domain-lang-module.d.ts +2 -0
  2. package/out/domain-lang-module.js +21 -2
  3. package/out/domain-lang-module.js.map +1 -1
  4. package/out/lsp/domain-lang-completion.d.ts +142 -1
  5. package/out/lsp/domain-lang-completion.js +620 -22
  6. package/out/lsp/domain-lang-completion.js.map +1 -1
  7. package/out/lsp/domain-lang-document-symbol-provider.d.ts +79 -0
  8. package/out/lsp/domain-lang-document-symbol-provider.js +210 -0
  9. package/out/lsp/domain-lang-document-symbol-provider.js.map +1 -0
  10. package/out/lsp/domain-lang-index-manager.d.ts +34 -5
  11. package/out/lsp/domain-lang-index-manager.js +66 -27
  12. package/out/lsp/domain-lang-index-manager.js.map +1 -1
  13. package/out/lsp/domain-lang-node-kind-provider.d.ts +27 -0
  14. package/out/lsp/domain-lang-node-kind-provider.js +87 -0
  15. package/out/lsp/domain-lang-node-kind-provider.js.map +1 -0
  16. package/out/lsp/domain-lang-scope-provider.d.ts +53 -20
  17. package/out/lsp/domain-lang-scope-provider.js +119 -44
  18. package/out/lsp/domain-lang-scope-provider.js.map +1 -1
  19. package/out/lsp/domain-lang-workspace-manager.d.ts +23 -2
  20. package/out/lsp/domain-lang-workspace-manager.js +51 -6
  21. package/out/lsp/domain-lang-workspace-manager.js.map +1 -1
  22. package/out/lsp/hover/domain-lang-hover.d.ts +16 -6
  23. package/out/lsp/hover/domain-lang-hover.js +160 -134
  24. package/out/lsp/hover/domain-lang-hover.js.map +1 -1
  25. package/out/lsp/hover/hover-builders.d.ts +57 -0
  26. package/out/lsp/hover/hover-builders.js +171 -0
  27. package/out/lsp/hover/hover-builders.js.map +1 -0
  28. package/out/main.js +2 -1
  29. package/out/main.js.map +1 -1
  30. package/out/sdk/index.d.ts +2 -1
  31. package/out/sdk/index.js +1 -1
  32. package/out/sdk/index.js.map +1 -1
  33. package/out/sdk/loader-node.js +1 -1
  34. package/out/sdk/loader-node.js.map +1 -1
  35. package/out/sdk/loader.d.ts +55 -2
  36. package/out/sdk/loader.js +87 -28
  37. package/out/sdk/loader.js.map +1 -1
  38. package/out/sdk/query.js +14 -11
  39. package/out/sdk/query.js.map +1 -1
  40. package/out/services/package-boundary-detector.d.ts +101 -0
  41. package/out/services/package-boundary-detector.js +211 -0
  42. package/out/services/package-boundary-detector.js.map +1 -0
  43. package/out/services/performance-optimizer.js +6 -2
  44. package/out/services/performance-optimizer.js.map +1 -1
  45. package/out/services/types.d.ts +24 -0
  46. package/out/services/types.js.map +1 -1
  47. package/out/services/workspace-manager.d.ts +73 -6
  48. package/out/services/workspace-manager.js +210 -57
  49. package/out/services/workspace-manager.js.map +1 -1
  50. package/out/utils/import-utils.d.ts +9 -6
  51. package/out/utils/import-utils.js +26 -15
  52. package/out/utils/import-utils.js.map +1 -1
  53. package/out/validation/constants.d.ts +7 -0
  54. package/out/validation/constants.js +21 -3
  55. package/out/validation/constants.js.map +1 -1
  56. package/out/validation/import.d.ts +11 -1
  57. package/out/validation/import.js +42 -14
  58. package/out/validation/import.js.map +1 -1
  59. package/out/validation/maps.js +50 -1
  60. package/out/validation/maps.js.map +1 -1
  61. package/package.json +5 -5
  62. package/src/domain-lang-module.ts +24 -3
  63. package/src/lsp/domain-lang-completion.ts +736 -27
  64. package/src/lsp/domain-lang-document-symbol-provider.ts +254 -0
  65. package/src/lsp/domain-lang-index-manager.ts +79 -27
  66. package/src/lsp/domain-lang-node-kind-provider.ts +119 -0
  67. package/src/lsp/domain-lang-scope-provider.ts +171 -55
  68. package/src/lsp/domain-lang-workspace-manager.ts +64 -6
  69. package/src/lsp/hover/domain-lang-hover.ts +189 -131
  70. package/src/lsp/hover/hover-builders.ts +208 -0
  71. package/src/main.ts +3 -1
  72. package/src/sdk/index.ts +2 -1
  73. package/src/sdk/loader-node.ts +2 -1
  74. package/src/sdk/loader.ts +125 -34
  75. package/src/sdk/query.ts +15 -11
  76. package/src/services/package-boundary-detector.ts +238 -0
  77. package/src/services/performance-optimizer.ts +6 -2
  78. package/src/services/types.ts +25 -0
  79. package/src/services/workspace-manager.ts +259 -62
  80. package/src/utils/import-utils.ts +27 -15
  81. package/src/validation/constants.ts +23 -6
  82. package/src/validation/import.ts +49 -14
  83. package/src/validation/maps.ts +59 -2
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/sdk/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/sdk/query.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAanC,OAAO,EACH,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,OAAO,EACP,sBAAsB,EACtB,MAAM,EACN,SAAS,GACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EACH,aAAa,EACb,uBAAuB,EACvB,aAAa,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AASvF;;;GAGG;AACH,MAAM,eAAe,GAAG,IAAI,OAAO,EAAS,CAAC;AAE7C;;;;;GAKG;AACH,SAAS,eAAe,CAAC,KAAY;IACjC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC5B,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,KAAY;IAClC,eAAe,CAAC,KAAK,CAAC,CAAC;IACvB,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgC;IACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;IACzC,eAAe,CAAC,KAAK,CAAC,CAAC;IACvB,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,QAA4B,EAAE,WAAgB;IACvE,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACrF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,uBAAuB,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC;IACzC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,iCAAiC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,eAAe,CAAC,KAAK,CAAC,CAAC;IACvB,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,SAAS;IAKX,YAAY,KAAY;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAqB,EAAE,CAAC;IACnD,CAAC;IAED;;OAEG;IACK,UAAU;QACd,IAAI,CAAC,OAAO,KAAZ,IAAI,CAAC,OAAO,GAAK,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAC;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,OAAO;QACH,uDAAuD;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,QAAQ,CAAC,CAAC,cAAc;YACpB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjB,MAAM,IAAI,CAAC;gBACf,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,IAAI,gBAAgB,CAAC,cAAc,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpE,CAAC;IAED,eAAe;QACX,uDAAuD;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,QAAQ,CAAC,CAAC,UAAU;YAChB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,CAAC;gBACf,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,IAAI,kBAAkB,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,KAAK;QACD,mCAAmC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,QAAQ,CAAC,CAAC,YAAY;YAClB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACf,MAAM,IAAI,CAAC;gBACf,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,IAAI,gBAAgB,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClE,CAAC;IAED,eAAe;QACX,mCAAmC;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,QAAQ,CAAC,CAAC,aAAa;YACnB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,CAAC;gBACf,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,IAAI,gBAAgB,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACnE,CAAC;IAED,aAAa;QACT,8EAA8E;QAC9E,OAAO,IAAI,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/E,CAAC;IAED,qDAAqD;IAC7C,CAAC,oBAAoB;QACzB,KAAK,CAAC,CAAC,IAAI,CAAC,kCAAkC,EAAE,CAAC;QACjD,KAAK,CAAC,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC;IACjD,CAAC;IAED,6DAA6D;IACrD,CAAC,kCAAkC;QACvC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;oBACtE,IAAI,IAAI,EAAE,CAAC;wBACP,MAAM,IAAI,CAAC;oBACf,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,yDAAyD;IACjD,CAAC,8BAA8B;QACnC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnC,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;oBACvE,IAAI,IAAI,EAAE,CAAC;wBACP,MAAM,IAAI,CAAC;oBACf,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,WAAW;QACP,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,QAAQ,CAAC,CAAC,YAAY;YAClB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrB,MAAM,IAAI,CAAC;gBACf,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,IAAI,gBAAgB,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClE,CAAC;IAED,UAAU;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,QAAQ,CAAC,CAAC,YAAY;YAClB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpB,MAAM,IAAI,CAAC;gBACf,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,IAAI,gBAAgB,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClE,CAAC;IAED,UAAU;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,QAAQ,CAAC,CAAC,UAAU;YAChB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnD,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/B,MAAM,IAAI,CAAC;gBACf,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,IAAI,gBAAgB,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAA8B,GAAW;QAC1C,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAkB,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,IAAY;QACf,uBAAuB;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAS,IAAI,CAAC,CAAC;QACvC,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,iCAAiC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,cAAc,CAAC,IAAY;QACvB,uBAAuB;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAiB,IAAI,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,iCAAiC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACxC,CAAC;IAED,EAAE,CAAC,IAAY;QACX,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,IAAY;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,GAAG,CAAC,IAAa;QACb,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1D,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACnE,CAAC;QACL,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;OAGG;IACK,sBAAsB,CAC1B,GAAiB,EACjB,YAAwC,EACxC,MAAuC;QAEvC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAE9D,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO;YACH,IAAI;YACJ,KAAK;YACL,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,YAAY,EAAE,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC;YAC7C,MAAM;YACN,OAAO,EAAE,GAAG;SACf,CAAC;IACN,CAAC;IAED;;;OAGG;IACK,iBAAiB,CACrB,GAAsB,EACtB,YAAwC;QAExC,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,YAAY,CAAC;QACxB,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;IACzB,CAAC;IAED;;;OAGG;IACK,qBAAqB,CAAC,GAAiB;QAC3C,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;QACtC,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;QAExC,0CAA0C;QAC1C,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACrF,OAAO,aAAa,CAAC;QACzB,CAAC;QAED,4BAA4B;QAC5B,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,OAAO,cAAc,CAAC;QAC1B,CAAC;QAED,8BAA8B;QAC9B,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/D,OAAO,kBAAkB,CAAC;QAC9B,CAAC;QAED,yCAAyC;QACzC,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,oBAAoB,CAAC;QAChC,CAAC;QAED,gBAAgB;QAChB,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,cAAc,CAAC;QAC1B,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,gBAAgB;IAIlB,YACI,KAAkB,EACC,WAAkC,EACrD,aAA0C,EAAE;QADzB,gBAAW,GAAX,WAAW,CAAuB;QAGrD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,SAA+B;QACjC,OAAO,IAAI,gBAAgB,CACvB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,EAChB,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CACrC,CAAC;IACN,CAAC;IAED,QAAQ,CAAC,OAAwB;QAC7B,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9F,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAO,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,IAA0B,CAAC;YACxC,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAClD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,CAAC,OAAwB;QAC5B,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9F,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,IAAO,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,IAA0B,CAAC;YACxC,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;gBAClC,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;YACL,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAClD,CAAC;IAED,OAAO;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK;QACD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACnB,KAAK,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QACd,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,CAAC;YACf,CAAC;QACL,CAAC;IACL,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,kBAAmB,SAAQ,gBAAgC;IAC7D,YACI,KAA+B,EAC/B,WAAkC,EACjB,OAAqB,EACtC,aAAuD,EAAE;QAEzD,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAHrB,YAAO,GAAP,OAAO,CAAc;IAI1C,CAAC;IAEQ,KAAK,CAAC,SAA4C;QACvD,OAAO,IAAI,kBAAkB,CACzB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,OAAO,EACZ,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CACrC,CAAC;IACN,CAAC;IAEQ,QAAQ,CAAC,OAAwB;QACtC,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAmB,CAAC;IACrD,CAAC;IAEQ,OAAO,CAAC,OAAwB;QACrC,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAmB,CAAC;IACpD,CAAC;IAED,QAAQ,CAAC,MAAuB;QAC5B,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QACrE,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC;IACjE,CAAC;IAED,QAAQ,CAAC,IAAmB;QACxB,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAE7D,uDAAuD;QACvD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxD,OAAO,IAAI,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3E,CAAC;QAED,kCAAkC;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC;IAClE,CAAC;IAED,kBAAkB,CAAC,cAAuC;QACtD,MAAM,kBAAkB,GAAG,OAAO,cAAc,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC;QAErG,uDAAuD;QACvD,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;YAC5E,OAAO,IAAI,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3E,CAAC;QAED,kCAAkC;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,uBAAuB,CAAC,EAAE,CAAC,EAAE,IAAI,KAAK,kBAAkB,CAAC,CAAC;IACtF,CAAC;IAED,YAAY,CAAC,GAAW,EAAE,KAAc;QACpC,8EAA8E;QAC9E,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1D,OAAO,IAAI,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3E,CAAC;QAED,kCAAkC;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;YACnB,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,KAAK,KAAK,SAAS,IAAI,SAAS,KAAK,KAAK,CAAC;QACtD,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,GAAW;IAC5B,OAAO,GAAG,CAAC,UAAU,CAAC,qBAAqB,EAAE,MAAM,CAAC,GAAG,CAAA,KAAK,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAkB;IACpD,MAAM,WAAW,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAEhD,8DAA8D;IAC9D,mEAAmE;IACnE,uEAAuE;IACvE,yCAAyC;IACzC,iCAAiC;IACjC,4DAA4D;IAC5D,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE;QACxB,uBAAuB,EAAE;YACrB,GAAG,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,EAAE,CAAC;YACtC,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SACrB;QACD,aAAa,EAAE;YACX,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5B,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SACrB;QACD,WAAW,EAAE;YACT,GAAG,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5B,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SACrB;QACD,GAAG,EAAE;YACD,GAAG,EAAE,GAAG,EAAE;gBACN,IAAI,EAAE,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,sBAAsB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;oBACrF,OAAO,WAAW,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;gBAChE,CAAC;gBACD,OAAO,EAAE,CAAC,IAAI,CAAC;YACnB,CAAC;YACD,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SACrB;QACD,iBAAiB;QACjB,iBAAiB,EAAE;YACf,KAAK,EAAE,CAAC,IAA6B,EAAW,EAAE;gBAC9C,MAAM,cAAc,GAAG,uBAAuB,CAAC,EAAE,CAAC,CAAC;gBACnD,IAAI,CAAC,cAAc;oBAAE,OAAO,KAAK,CAAC;gBAClC,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;gBAChE,IAAI,CAAC,UAAU;oBAAE,OAAO,KAAK,CAAC;gBAC9B,OAAO,cAAc,CAAC,IAAI,KAAK,UAAU,CAAC;YAC9C,CAAC;YACD,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SACrB;QACD,OAAO,EAAE;YACL,KAAK,EAAE,CAAC,IAAmB,EAAW,EAAE;gBACpC,MAAM,IAAI,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC/B,IAAI,CAAC,IAAI;oBAAE,OAAO,KAAK,CAAC;gBACxB,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;gBAChE,IAAI,CAAC,UAAU;oBAAE,OAAO,KAAK,CAAC;gBAC9B,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;YACpC,CAAC;YACD,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SACrB;QACD,WAAW,EAAE;YACT,KAAK,EAAE,CAAC,GAAW,EAAE,KAAc,EAAW,EAAE;gBAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;gBACnC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpC,IAAI,SAAS,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAC;gBAC1C,OAAO,KAAK,KAAK,SAAS,IAAI,SAAS,KAAK,KAAK,CAAC;YACtD,CAAC;YACD,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SACrB;KACJ,CAAC,CAAC;AACP,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAAC,MAAc;IACxC,MAAM,WAAW,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAEhD,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE;QAC5B,GAAG,EAAE;YACD,GAAG,EAAE,GAAG,EAAE;gBACN,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,sBAAsB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;oBACjG,OAAO,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxE,CAAC;gBACD,OAAO,MAAM,CAAC,IAAI,CAAC;YACvB,CAAC;YACD,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SACrB;QACD,iBAAiB;QACjB,OAAO,EAAE;YACL,KAAK,EAAE,CAAC,IAA6B,EAAW,EAAE;gBAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;gBAC9B,IAAI,CAAC,IAAI;oBAAE,OAAO,KAAK,CAAC;gBACxB,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;gBAChE,IAAI,CAAC,UAAU;oBAAE,OAAO,KAAK,CAAC;gBAC9B,OAAO,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;YACpC,CAAC;YACD,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SACrB;KACJ,CAAC,CAAC;AACP,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAiB,EAAE,YAA6B;IAChF,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE;QACzB,eAAe,EAAE;YACb,GAAG,EAAE,GAAG,EAAE;gBACN,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtB,OAAO,YAAY,EAAE,IAAI,IAAI,MAAM,CAAC;gBACxC,CAAC;gBACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;YAC1C,CAAC;YACD,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SACrB;QACD,gBAAgB,EAAE;YACd,GAAG,EAAE,GAAG,EAAE;gBACN,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvB,OAAO,YAAY,EAAE,IAAI,IAAI,MAAM,CAAC;gBACxC,CAAC;gBACD,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;YAC3C,CAAC;YACD,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SACrB;QACD,eAAe,EAAE;YACb,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK;YAC9B,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SACrB;QACD,oEAAoE;QACpE,UAAU,EAAE;YACR,KAAK,EAAE,CAAC,OAAe,EAAW,EAAE;gBAChC,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;oBACtD,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SACrB;QACD,cAAc,EAAE;YACZ,KAAK,EAAE,CAAC,OAAe,EAAW,EAAE;gBAChC,OAAO,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAClE,CAAC;YACD,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SACrB;QACD,eAAe,EAAE;YACb,KAAK,EAAE,CAAC,OAAe,EAAW,EAAE;gBAChC,OAAO,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SACrB;QACD,UAAU,EAAE;YACR,KAAK,EAAE,CAAC,IAAsB,EAAW,EAAE;gBACvC,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;gBACxE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,CAAC;YACD,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SACrB;QACD,YAAY,EAAE;YACV,KAAK,EAAE,CAAC,IAAsB,EAAW,EAAE;gBACvC,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;gBACxE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC;YACD,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SACrB;KACJ,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,KAAY;IACtC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC5B,oDAAoD;YACpD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnC,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;aAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,2DAA2D;YAC3D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,KAAY;IACrC,eAAe,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Package Boundary Detector
3
+ *
4
+ * Determines package boundaries for import scoping.
5
+ * Per ADR-003, package boundaries are defined by:
6
+ * - External packages: Files within .dlang/packages/ sharing the same model.yaml
7
+ * - Local files: Each file is its own boundary (non-transitive)
8
+ *
9
+ * Used by DomainLangScopeProvider to enable transitive imports within
10
+ * package boundaries while keeping local file imports non-transitive.
11
+ */
12
+ import { URI } from 'langium';
13
+ /**
14
+ * Detects and caches package boundaries for efficient scope resolution.
15
+ */
16
+ export declare class PackageBoundaryDetector {
17
+ /**
18
+ * Cache mapping document URI to its package root path.
19
+ * - External packages: path to directory containing model.yaml
20
+ * - Local files: null (no package boundary)
21
+ */
22
+ private readonly packageRootCache;
23
+ /**
24
+ * Determines if a document is part of an external package.
25
+ *
26
+ * External packages are stored in .dlang/packages/owner/repo/commit/
27
+ *
28
+ * @param documentUri - The URI of the document to check
29
+ * @returns true if document is in an external package
30
+ */
31
+ isExternalPackage(documentUri: URI | string): boolean;
32
+ /**
33
+ * Gets the package root for a document.
34
+ *
35
+ * For external packages (.dlang/packages/), walks up from the document
36
+ * to find the nearest model.yaml file within the package structure.
37
+ *
38
+ * For local files, returns null (no package boundary).
39
+ *
40
+ * @param documentUri - The URI of the document
41
+ * @returns Absolute path to package root, or null if not in a package
42
+ */
43
+ getPackageRoot(documentUri: URI | string): Promise<string | null>;
44
+ /**
45
+ * Checks if two documents are in the same package (synchronous heuristic).
46
+ *
47
+ * This is a fast, synchronous check that compares package commit directories
48
+ * without filesystem access. Documents are in the same package if:
49
+ * - Both are in .dlang/packages/ AND
50
+ * - They share the same owner/repo/commit path
51
+ *
52
+ * This is used by the scope provider which needs synchronous access.
53
+ *
54
+ * Structure: .dlang/packages/owner/repo/commit/...
55
+ *
56
+ * @param doc1Uri - URI of first document
57
+ * @param doc2Uri - URI of second document
58
+ * @returns true if both are in the same package commit directory
59
+ */
60
+ areInSamePackageSync(doc1Uri: URI | string, doc2Uri: URI | string): boolean;
61
+ /**
62
+ * Gets the package commit directory (owner/repo/commit) from a path.
63
+ *
64
+ * @param fsPath - Filesystem path
65
+ * @returns Commit directory path or null
66
+ */
67
+ private getPackageCommitDirectory;
68
+ /**
69
+ * Checks if two documents are in the same package.
70
+ *
71
+ * Documents are in the same package if:
72
+ * - Both are external packages AND
73
+ * - They share the same package root (model.yaml location)
74
+ *
75
+ * Local files are never in the same package (each is isolated).
76
+ *
77
+ * @param doc1Uri - URI of first document
78
+ * @param doc2Uri - URI of second document
79
+ * @returns true if both documents are in the same package
80
+ */
81
+ areInSamePackage(doc1Uri: URI | string, doc2Uri: URI | string): Promise<boolean>;
82
+ /**
83
+ * Finds the package root for an external package by walking up to find model.yaml.
84
+ *
85
+ * External packages have structure: .dlang/packages/owner/repo/commit/...
86
+ * The model.yaml should be at the commit level or just below it.
87
+ *
88
+ * @param fsPath - Filesystem path of the document
89
+ * @returns Path to directory containing model.yaml, or null
90
+ */
91
+ private findPackageRootForExternal;
92
+ /**
93
+ * Converts a URI to a filesystem path.
94
+ */
95
+ private toFsPath;
96
+ /**
97
+ * Clears the package root cache.
98
+ * Call this when packages are installed/removed.
99
+ */
100
+ clearCache(): void;
101
+ }
@@ -0,0 +1,211 @@
1
+ /**
2
+ * Package Boundary Detector
3
+ *
4
+ * Determines package boundaries for import scoping.
5
+ * Per ADR-003, package boundaries are defined by:
6
+ * - External packages: Files within .dlang/packages/ sharing the same model.yaml
7
+ * - Local files: Each file is its own boundary (non-transitive)
8
+ *
9
+ * Used by DomainLangScopeProvider to enable transitive imports within
10
+ * package boundaries while keeping local file imports non-transitive.
11
+ */
12
+ import * as path from 'node:path';
13
+ import * as fs from 'node:fs/promises';
14
+ import { URI } from 'langium';
15
+ /**
16
+ * Detects and caches package boundaries for efficient scope resolution.
17
+ */
18
+ export class PackageBoundaryDetector {
19
+ constructor() {
20
+ /**
21
+ * Cache mapping document URI to its package root path.
22
+ * - External packages: path to directory containing model.yaml
23
+ * - Local files: null (no package boundary)
24
+ */
25
+ this.packageRootCache = new Map();
26
+ }
27
+ /**
28
+ * Determines if a document is part of an external package.
29
+ *
30
+ * External packages are stored in .dlang/packages/owner/repo/commit/
31
+ *
32
+ * @param documentUri - The URI of the document to check
33
+ * @returns true if document is in an external package
34
+ */
35
+ isExternalPackage(documentUri) {
36
+ const fsPath = this.toFsPath(documentUri);
37
+ const normalized = fsPath.split(path.sep);
38
+ // Check if path contains .dlang/packages/
39
+ const dlangIndex = normalized.indexOf('.dlang');
40
+ if (dlangIndex === -1) {
41
+ return false;
42
+ }
43
+ return dlangIndex + 1 < normalized.length &&
44
+ normalized[dlangIndex + 1] === 'packages';
45
+ }
46
+ /**
47
+ * Gets the package root for a document.
48
+ *
49
+ * For external packages (.dlang/packages/), walks up from the document
50
+ * to find the nearest model.yaml file within the package structure.
51
+ *
52
+ * For local files, returns null (no package boundary).
53
+ *
54
+ * @param documentUri - The URI of the document
55
+ * @returns Absolute path to package root, or null if not in a package
56
+ */
57
+ async getPackageRoot(documentUri) {
58
+ const uriString = documentUri.toString();
59
+ // Check cache first
60
+ if (this.packageRootCache.has(uriString)) {
61
+ return this.packageRootCache.get(uriString) ?? null;
62
+ }
63
+ // If not an external package, it has no package boundary
64
+ if (!this.isExternalPackage(documentUri)) {
65
+ this.packageRootCache.set(uriString, null);
66
+ return null;
67
+ }
68
+ const fsPath = this.toFsPath(documentUri);
69
+ const packageRoot = await this.findPackageRootForExternal(fsPath);
70
+ this.packageRootCache.set(uriString, packageRoot);
71
+ return packageRoot;
72
+ }
73
+ /**
74
+ * Checks if two documents are in the same package (synchronous heuristic).
75
+ *
76
+ * This is a fast, synchronous check that compares package commit directories
77
+ * without filesystem access. Documents are in the same package if:
78
+ * - Both are in .dlang/packages/ AND
79
+ * - They share the same owner/repo/commit path
80
+ *
81
+ * This is used by the scope provider which needs synchronous access.
82
+ *
83
+ * Structure: .dlang/packages/owner/repo/commit/...
84
+ *
85
+ * @param doc1Uri - URI of first document
86
+ * @param doc2Uri - URI of second document
87
+ * @returns true if both are in the same package commit directory
88
+ */
89
+ areInSamePackageSync(doc1Uri, doc2Uri) {
90
+ // Both must be external packages
91
+ if (!this.isExternalPackage(doc1Uri) || !this.isExternalPackage(doc2Uri)) {
92
+ return false;
93
+ }
94
+ const path1 = this.toFsPath(doc1Uri);
95
+ const path2 = this.toFsPath(doc2Uri);
96
+ const root1 = this.getPackageCommitDirectory(path1);
97
+ const root2 = this.getPackageCommitDirectory(path2);
98
+ return root1 !== null && root1 === root2;
99
+ }
100
+ /**
101
+ * Gets the package commit directory (owner/repo/commit) from a path.
102
+ *
103
+ * @param fsPath - Filesystem path
104
+ * @returns Commit directory path or null
105
+ */
106
+ getPackageCommitDirectory(fsPath) {
107
+ const normalized = fsPath.split(path.sep);
108
+ const dlangIndex = normalized.indexOf('.dlang');
109
+ if (dlangIndex === -1) {
110
+ return null;
111
+ }
112
+ const packagesIndex = dlangIndex + 1;
113
+ if (packagesIndex >= normalized.length || normalized[packagesIndex] !== 'packages') {
114
+ return null;
115
+ }
116
+ // Commit directory is at: .dlang/packages/owner/repo/commit
117
+ const commitIndex = packagesIndex + 3;
118
+ if (commitIndex >= normalized.length) {
119
+ return null;
120
+ }
121
+ // Return the path up to and including the commit directory
122
+ return normalized.slice(0, commitIndex + 1).join(path.sep);
123
+ }
124
+ /**
125
+ * Checks if two documents are in the same package.
126
+ *
127
+ * Documents are in the same package if:
128
+ * - Both are external packages AND
129
+ * - They share the same package root (model.yaml location)
130
+ *
131
+ * Local files are never in the same package (each is isolated).
132
+ *
133
+ * @param doc1Uri - URI of first document
134
+ * @param doc2Uri - URI of second document
135
+ * @returns true if both documents are in the same package
136
+ */
137
+ async areInSamePackage(doc1Uri, doc2Uri) {
138
+ const root1 = await this.getPackageRoot(doc1Uri);
139
+ const root2 = await this.getPackageRoot(doc2Uri);
140
+ // If either is not in a package, they can't be in the same package
141
+ if (!root1 || !root2) {
142
+ return false;
143
+ }
144
+ return root1 === root2;
145
+ }
146
+ /**
147
+ * Finds the package root for an external package by walking up to find model.yaml.
148
+ *
149
+ * External packages have structure: .dlang/packages/owner/repo/commit/...
150
+ * The model.yaml should be at the commit level or just below it.
151
+ *
152
+ * @param fsPath - Filesystem path of the document
153
+ * @returns Path to directory containing model.yaml, or null
154
+ */
155
+ async findPackageRootForExternal(fsPath) {
156
+ const normalized = fsPath.split(path.sep);
157
+ const dlangIndex = normalized.indexOf('.dlang');
158
+ if (dlangIndex === -1) {
159
+ return null;
160
+ }
161
+ // Find the packages directory
162
+ const packagesIndex = dlangIndex + 1;
163
+ if (packagesIndex >= normalized.length || normalized[packagesIndex] !== 'packages') {
164
+ return null;
165
+ }
166
+ // Start from the commit directory level
167
+ // Structure: .dlang/packages/owner/repo/commit/
168
+ const commitIndex = packagesIndex + 3;
169
+ if (commitIndex >= normalized.length) {
170
+ return null;
171
+ }
172
+ // Walk up from the document path to the commit directory
173
+ let currentPath = path.dirname(fsPath);
174
+ const commitPath = normalized.slice(0, commitIndex + 1).join(path.sep);
175
+ // Search upward for model.yaml, but don't go above the commit directory
176
+ while (currentPath.length >= commitPath.length) {
177
+ const manifestPath = path.join(currentPath, 'model.yaml');
178
+ try {
179
+ await fs.access(manifestPath);
180
+ return currentPath;
181
+ }
182
+ catch {
183
+ // model.yaml not found at this level, continue upward
184
+ }
185
+ const parent = path.dirname(currentPath);
186
+ if (parent === currentPath) {
187
+ // Reached filesystem root without finding model.yaml
188
+ break;
189
+ }
190
+ currentPath = parent;
191
+ }
192
+ return null;
193
+ }
194
+ /**
195
+ * Converts a URI to a filesystem path.
196
+ */
197
+ toFsPath(uri) {
198
+ if (typeof uri === 'string') {
199
+ uri = URI.parse(uri);
200
+ }
201
+ return uri.fsPath;
202
+ }
203
+ /**
204
+ * Clears the package root cache.
205
+ * Call this when packages are installed/removed.
206
+ */
207
+ clearCache() {
208
+ this.packageRootCache.clear();
209
+ }
210
+ }
211
+ //# sourceMappingURL=package-boundary-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-boundary-detector.js","sourceRoot":"","sources":["../../src/services/package-boundary-detector.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,8 @@ export class PerformanceOptimizer {
56
56
  }
57
57
  try {
58
58
  const content = await fs.readFile(manifestPath, 'utf-8');
59
- const manifest = JSON.parse(content);
59
+ const { parse } = await import('yaml');
60
+ const manifest = parse(content);
60
61
  this.manifestCache.set(cacheKey, {
61
62
  value: manifest,
62
63
  timestamp: Date.now(),
@@ -100,7 +101,10 @@ export class PerformanceOptimizer {
100
101
  try {
101
102
  const stat = await fs.stat(lockPath);
102
103
  const cached = this.lockFileCache.get(workspaceRoot);
103
- if (cached && stat.mtimeMs > cached.timestamp) {
104
+ // Floor mtimeMs to integer precision to match Date.now()
105
+ // some filesystems (e.g. APFS) report sub-millisecond mtime,
106
+ // which can exceed the integer timestamp from Date.now().
107
+ if (cached && Math.floor(stat.mtimeMs) > cached.timestamp) {
104
108
  stale.push(workspaceRoot);
105
109
  }
106
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"performance-optimizer.js","sourceRoot":"","sources":["../../src/services/performance-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAUlC;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAK7B,YAAY,UAAiC,EAAE;QAJvC,kBAAa,GAAG,IAAI,GAAG,EAAgC,CAAC;QACxD,kBAAa,GAAG,IAAI,GAAG,EAA+B,CAAC;QAI3D,yBAAyB;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,aAAqB;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEhD,gCAAgC;QAChC,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1D,OAAO,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC;QAED,iBAAiB;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAa,CAAC;YAEjD,WAAW;YACX,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE;gBAC7B,KAAK,EAAE,QAAQ;gBACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACxB,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,YAAoB;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEhD,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1D,OAAO,MAAM,CAAC,KAAK,CAAC;QACxB,CAAC;QAED,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAErC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE;gBAC7B,KAAK,EAAE,QAAQ;gBACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACxB,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,aAAqB;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,cAAc;QACV,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,aAAa;QACT,OAAO;YACH,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;YAClC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;SACrC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACnB,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YACxD,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAErD,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC5C,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC9B,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACL,6BAA6B;gBAC7B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,QAAgB;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;CACJ;AAED;;GAEG;AACH,IAAI,eAAiD,CAAC;AAEtD;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAC9B,IAAI,CAAC,eAAe,EAAE,CAAC;QACnB,eAAe,GAAG,IAAI,oBAAoB,EAAE,CAAC;IACjD,CAAC;IACD,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAChC,eAAe,GAAG,SAAS,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"performance-optimizer.js","sourceRoot":"","sources":["../../src/services/performance-optimizer.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,30 @@
37
37
  *
38
38
  * @module services/types
39
39
  */
40
+ /**
41
+ * Information about an import statement tracked during indexing.
42
+ *
43
+ * Used by IndexManager to track both the import's resolved location
44
+ * and its alias (if any) for scope resolution.
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * // import "larsbaunwall/ddd-types" as ddd
49
+ * const info: ImportInfo = {
50
+ * specifier: "larsbaunwall/ddd-types",
51
+ * alias: "ddd",
52
+ * resolvedUri: "file:///.dlang/packages/larsbaunwall/ddd-types/abc123/index.dlang"
53
+ * };
54
+ * ```
55
+ */
56
+ export interface ImportInfo {
57
+ /** The import specifier as written in source (e.g., "./file.dlang", "owner/repo") */
58
+ readonly specifier: string;
59
+ /** Optional alias from 'as' clause (e.g., "ddd" in 'import "pkg" as ddd') */
60
+ readonly alias?: string;
61
+ /** Resolved absolute URI of the imported document */
62
+ readonly resolvedUri: string;
63
+ }
40
64
  /**
41
65
  * Type of git reference for version pinning.
42
66
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/services/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AA+GH;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAmB;IACxD,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/services/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAwIH;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAmB;IACxD,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC;AACnD,CAAC"}
@@ -2,6 +2,11 @@ import type { LockFile, ModelManifest, DependencySpec, ExtendedDependencySpec, P
2
2
  /**
3
3
  * Coordinates workspace discovery and manifest/lock file reading.
4
4
  *
5
+ * **Multi-Root Support:**
6
+ * Maintains separate contexts for each workspace root (directory with model.yaml).
7
+ * This enables correct resolution in multi-project setups where sub-projects
8
+ * have their own model.yaml files.
9
+ *
5
10
  * This is a read-only service for the LSP - it does NOT:
6
11
  * - Generate lock files (use CLI: `dlang install`)
7
12
  * - Download packages (use CLI: `dlang install`)
@@ -15,16 +20,41 @@ import type { LockFile, ModelManifest, DependencySpec, ExtendedDependencySpec, P
15
20
  export declare class WorkspaceManager {
16
21
  private readonly manifestFiles;
17
22
  private readonly lockFiles;
18
- private workspaceRoot;
19
- private lockFile;
20
- private initializePromise;
21
- private manifestCache;
23
+ /**
24
+ * Cache of workspace contexts by resolved workspace root path.
25
+ * Supports multiple independent workspaces in a single session.
26
+ */
27
+ private readonly workspaceContexts;
28
+ /**
29
+ * Cache mapping start paths to their resolved workspace roots.
30
+ * Avoids repeated directory tree walking for the same paths.
31
+ */
32
+ private readonly pathToRootCache;
33
+ /**
34
+ * The currently active workspace root (set by last initialize() call).
35
+ * Used by methods like getWorkspaceRoot(), getManifest(), etc.
36
+ */
37
+ private activeRoot;
22
38
  constructor(options?: WorkspaceManagerOptions);
39
+ /**
40
+ * Returns the active workspace context, or undefined if not initialized.
41
+ * All methods that need context should call this after ensureInitialized().
42
+ */
43
+ private getActiveContext;
23
44
  /**
24
45
  * Finds the workspace root and loads any existing lock file.
25
- * Repeated calls await the same initialization work.
46
+ *
47
+ * **Multi-Root Support:**
48
+ * Each call may switch to a different workspace context based on the startPath.
49
+ * The workspace root is the nearest ancestor directory containing model.yaml.
50
+ *
51
+ * @param startPath - Directory to start searching from (usually document directory)
26
52
  */
27
53
  initialize(startPath: string): Promise<void>;
54
+ /**
55
+ * Initializes a workspace context by loading its lock file.
56
+ */
57
+ private initializeContext;
28
58
  /**
29
59
  * Returns the absolute path of the workspace root.
30
60
  * @throws Error if {@link initialize} has not completed successfully.
@@ -33,8 +63,19 @@ export declare class WorkspaceManager {
33
63
  /**
34
64
  * Returns the project-local package cache directory.
35
65
  * Per PRS-010: .dlang/packages/
66
+ *
67
+ * If the current workspace root is inside a cached package,
68
+ * walks up to find the actual project root's cache directory.
36
69
  */
37
70
  getCacheDir(): string;
71
+ /**
72
+ * Finds the actual project root when inside a cached package.
73
+ *
74
+ * Cached packages are stored in: <project>/.dlang/packages/<owner>/<repo>/<commit>/
75
+ * If workspaceRoot is inside this structure, returns <project>
76
+ * Otherwise returns workspaceRoot unchanged.
77
+ */
78
+ private findProjectRootFromCache;
38
79
  /**
39
80
  * Resolves the manifest file path within the workspace, if present.
40
81
  */
@@ -44,6 +85,20 @@ export declare class WorkspaceManager {
44
85
  * Uses cached contents when unchanged on disk.
45
86
  */
46
87
  getManifest(): Promise<ModelManifest | undefined>;
88
+ /**
89
+ * Returns the cached manifest synchronously (if available).
90
+ * Used by LSP features that need synchronous access (like completion).
91
+ * Returns undefined if manifest hasn't been loaded yet.
92
+ */
93
+ getCachedManifest(): ModelManifest | undefined;
94
+ /**
95
+ * Ensures the manifest is loaded and returns it.
96
+ * Use this over getCachedManifest() when you need to guarantee the manifest
97
+ * is available (e.g., in async LSP operations like completions).
98
+ *
99
+ * @returns The manifest or undefined if no model.yaml exists
100
+ */
101
+ ensureManifestLoaded(): Promise<ModelManifest | undefined>;
47
102
  /**
48
103
  * Gets the currently cached lock file.
49
104
  * Returns undefined if no lock file exists (run `dlang install` to create one).
@@ -94,11 +149,23 @@ export declare class WorkspaceManager {
94
149
  * Reads the entry point from a cached package's model.yaml.
95
150
  */
96
151
  private readPackageEntry;
97
- private performInitialization;
98
152
  private ensureInitialized;
99
153
  private loadLockFileFromDisk;
100
154
  private tryReadLockFile;
101
155
  private loadManifest;
156
+ /**
157
+ * Reads, validates, and caches a manifest file.
158
+ */
159
+ private readAndCacheManifest;
160
+ /**
161
+ * Handles errors from manifest loading, distinguishing recoverable
162
+ * errors (missing file, parse errors) from unexpected ones.
163
+ */
164
+ private handleManifestError;
165
+ /**
166
+ * Clears the manifest cache on the given context, if available.
167
+ */
168
+ private clearManifestCache;
102
169
  /**
103
170
  * Validates manifest structure and dependency configurations.
104
171
  * Throws detailed errors for invalid manifests.