@hydranium/core 1.0.0-next.278 → 1.0.0-next.279

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.
@@ -122,13 +122,13 @@ export class DefaultModelService {
122
122
  catch {
123
123
  // NEVER rejects, deliberately. This gate is about TIMING — "the
124
124
  // initial build has finished" — not about whether it succeeded, and
125
- // Langium's `ready` (what it replaced) could not reject at all.
126
- // `workspaceInitialized` can: it rejects on a cancelled initial
127
- // build (routine — any write preempts one) and on a failed one
128
- // (e.g. a disposed connection at teardown). Propagating either would
129
- // fail every `waitForReady` for the rest of the process lifetime,
130
- // a far worse failure than the late gate this exists to fix. The
131
- // workspace manager logs the outcome.
125
+ // the workspace manager's `ready` (what it replaced) rejects only on
126
+ // a failed startup. `workspaceInitialized` also rejects on a
127
+ // cancelled initial build (routine — any write preempts one) and on
128
+ // a failed one (e.g. a disposed connection at teardown).
129
+ // Propagating either would fail every `waitForReady` for the rest
130
+ // of the process lifetime, a far worse failure than the late gate
131
+ // this exists to fix. The workspace manager logs the outcome.
132
132
  }
133
133
  })();
134
134
  // One persistent listener mirroring non-LSP-client changes back to the LSP
@@ -1 +1 @@
1
- {"version":3,"file":"model-service.js","sourceRoot":"","sources":["../../../src/langium/model-service/model-service.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAEJ,aAAa,EAGb,eAAe,EACf,UAAU,EACV,SAAS,EAIT,kBAAkB,EAClB,sBAAsB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEJ,aAAa,EAEb,kBAAkB,EAClB,oBAAoB,EACpB,QAAQ,EAEV,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AACzH,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAenE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC,kCAAkC,EAAE,cAAc,CAAC,CAAC;AAEnG,iHAAiH;AACjH,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAuRtC,MAAM,OAAO,mBAAmB;IAwFP,QAAQ;IA1EX,MAAM,CAAS;IAClC;;;;;;;OAOG;IACgB,SAAS,CAAoB;IAChD,iFAAiF;IAC9D,oBAAoB,CAA2B;IAElE;;;;;OAKG;IACgB,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC9C,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE3D,oFAAoF;IACjE,QAAQ,GAAG,IAAI,GAAG,EAAuD,CAAC;IAC7F;;;;;OAKG;IACO,oBAAoB,CAAc;IAC5C,2GAA2G;IACxF,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5D;;;OAGG;IACgB,iBAAiB,GAAG,IAAI,GAAG,EAAgE,CAAC;IAE/G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACM,KAAK,CAAgB;IAE9B,YACsB,QAA8B,EACjD,OAAO,GAAwB,EAAE;wBADd,QAAQ;QAG3B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC3F,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC;QACtD,IAAI,CAAC,oBAAoB,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,IAAI,KAAK,CAAC,CAAC;QACxF,oEAAoE;QACpE,wEAAwE;QACxE,SAAS;QACT,wEAAwE;QACxE,wEAAwE;QACxE,mBAAmB;QACnB,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE;YACtB,IAAI,CAAC;gBACF,MAAM,QAAQ,CAAC,SAAS,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;YACnE,CAAC;YAAC,MAAM,CAAC;gBACN,gEAAgE;gBAChE,oEAAoE;gBACpE,gEAAgE;gBAChE,gEAAgE;gBAChE,+DAA+D;gBAC/D,qEAAqE;gBACrE,kEAAkE;gBAClE,iEAAiE;gBACjE,sCAAsC;YACzC,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;QACL,2EAA2E;QAC3E,gEAAgE;QAChE,2EAA2E;QAC3E,4EAA4E;QAC5E,wEAAwE;QACxE,4EAA4E;QAC5E,8DAA8D;QAC9D,0BAA0B;QAC1B,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,eAAe,CACpD,gBAAgB,CAAC,YAAY,EAC7B,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,mCAAmC,CAAC,CAC1G,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,yBAAyB;IACzB,+DAA+D;IAE/D;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,oBAAoB,CAAC,GAAW,EAAE,KAAoB,EAAE,WAA+B;QAC1F,OAAO,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACnG,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,sBAAsB,CAAC,GAAW,EAAE,WAA+B;QACtE,OAAO,IAAI,CAAC,kBAAkB,CAC3B,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC,CACxH,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACO,KAAK,CAAC,6BAA6B,CAC1C,GAAiB,EACjB,KAAoB,EACpB,WAA+B,EAC/B,OAAO,GAAsB,EAAE;QAE/B,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,6DAA6D;QAC7D,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;QACpH,MAAM,IAAI,CAAC,MAAM;aACb,OAAO,CAAC,GAAG,CAAC;aACZ,IAAI,CACF,4BAA4B,aAAa,CAAC,KAAK,CAAC,GAAG,EACnD,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,EACjF,OAAO,CACT,CAAC;QACL,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACjD,OAAO,KAAK,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC1F,CAAC;IAED;;;;;;;;OAQG;IACO,KAAK,CAAC,eAAe,CAC5B,GAAQ,EACR,KAAoB,EACpB,WAAoC,EACpC,WAA+B,EAC/B,OAAO,GAAsB,EAAE;QAE/B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC;QACxD,MAAM,WAAW,GAAG,EAAE,eAAe,EAAE,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC/D,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9D,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO;QACV,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,IAAI,CAAC,MAAM;iBACP,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;iBACvB,KAAK,CAAC,eAAe,GAAG,CAAC,QAAQ,EAAE,aAAa,aAAa,CAAC,KAAK,CAAC,QAAQ,WAAW,WAAW,CAAC,CAAC;YACxG,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;YACxD,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QACjE,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACO,mBAAmB,CAAC,GAAQ,EAAE,WAAW,GAAsB,iBAAiB,CAAC,IAAI,EAAE,KAAqB;QACnH,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC;QACxD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,qGAAqG;YACrG,KAAK,EAAE,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBAC7B,MAAM,IAAI,GAAG,0DAA0D,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvG,IAAI,SAAS,EAAE,CAAC;oBACb,qDAAqD;oBACrD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnD,CAAC;qBAAM,IAAI,KAAK,EAAE,CAAC;oBAChB,wGAAwG;oBACxG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACL,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,QAAQ,EAAE,qBAAqB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrH,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,qEAAqE;YACrE,0CAA0C;YAC1C,IAAI,WAAW,CAAC,uBAAuB,EAAE,CAAC;gBACvC,KAAK,GAAG,IAAI,CAAC;gBACb,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM,CAAC,kBAAkB,CAAC,CAAC;gBAC3B,OAAO;YACV,CAAC;YACD,MAAM,IAAI,GAAG,CAAC,MAAkB,EAAQ,EAAE;gBACvC,KAAK,GAAG,IAAI,CAAC;gBACb,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,UAAU,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE;gBACnF,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;oBACtC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACjB,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE;gBACxD,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;oBACpE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACjB,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,WAAW,CAAC,uBAAuB,CAAC,GAAG,EAAE;gBACzD,SAAS,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;QACN,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,mBAAmB,CAAC,KAAoB,EAAE,WAA+B;QAC5E,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,2BAA2B,aAAa,CAAC,KAAK,CAAC,GAAG,EAClD,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,EAC3E,OAAO,CACT,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,KAAqB,EAAE,WAA+B;QAC9E,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IACtF,CAAC;IAED;;;;;;;;OAQG;IACO,KAAK,CAAC,gBAAgB,CAC7B,GAAiB,EACjB,KAAqB,EACrB,WAA+B;QAE/B,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,6DAA6D;QAC7D,yEAAyE;QACzE,qEAAqE;QACrE,iDAAiD;QACjD,EAAE;QACF,0EAA0E;QAC1E,sEAAsE;QACtE,wEAAwE;QACxE,gEAAgE;QAChE,0EAA0E;QAC1E,yEAAyE;QACzE,2EAA2E;QAC3E,oEAAoE;QACpE,EAAE;QACF,2EAA2E;QAC3E,2EAA2E;QAC3E,yDAAyD;QACzD,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,yBAAyB,EAAE,CAAC,EAAE,CAAC;YAC5F,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACL,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACzB,uEAAuE;YACvE,wDAAwD;YACxD,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,IAAI,CAAC,6BAA6B,CAAC,GAAG,EAAE,KAAK,IAAI,gBAAgB,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACvH,CAAC;IAED,cAAc,CAAC,GAAW;QACvB,IAAI,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC;YAC3D,MAAM,IAAI,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,WAA+B;QACtD,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1G,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,WAA+B;QACtD,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAC1G,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,WAA+B;QACvD,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IACnH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,WAA+B;QACvD,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC;IACrH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAW,EAAE,WAA+B;QACzD,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,mBAAmB,CAAC,GAAW,EAAE,KAAqB,EAAE,WAA+B;QAC1F,OAAO,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAClG,CAAC;IAED;;;;;;;;;OASG;IACO,KAAK,CAAC,4BAA4B,CACzC,GAAiB,EACjB,KAAqB,EACrB,WAA+B;QAE/B,MAAM,MAAM,GAAG,KAAK,IAAI,gBAAgB,CAAC,YAAY,CAAC;QACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7E,OAAO,IAAI,CAAC,6BAA6B,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACO,KAAK,CAAC,UAAU,CAAC,GAAW,EAAE,WAA+B;QACpE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjD,uEAAuE;QACvE,2DAA2D;QAC3D,MAAM,OAAO,GAAG,CAAC,KAAK,IAAmB,EAAE;YACxC,MAAM,IAAI,CAAC,6BAA6B,CAAC,SAAS,EAAE,gBAAgB,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAChH,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,CAAC,CAAC,EAAE,CAAC;QACL,mHAAmH;QACnH,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAE,IAAY,EAAQ,EAAE;YAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,KAAK,CAAC,yBAAyB,IAAI,EAAE,CAAC,CAAC;YACjD,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBAC3F,MAAM,CAAC,IAAI,CAAC,sBAAsB,IAAI,2BAA2B,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACrG,CAAC;iBAAM,CAAC;gBACL,MAAM,CAAC,KAAK,CAAC,sBAAsB,IAAI,KAAK,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChF,CAAC;QACJ,CAAC,CAAC;QACF,IAAI,CAAC;YACF,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBACxF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAwB,sBAAsB,uBAAuB,CAAC,CAAC;gBACrG,4GAA4G;gBAC5G,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC;YACxF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACrB,2DAA2D;YAC3D,gBAAgB,CAAC,GAAG,EAAE,uCAAuC,CAAC,CAAC;QAClE,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,GAAW;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,aAAa,CAAC,GAAW;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,GAAW;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9F,OAAO,SAAS,CAAC;QACpB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,aAAa,CAAC,QAAQ,CAAmC,CAAC;QACtH,OAAO,QAAQ,CAAC,KAAK,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACnG,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,GAAW;QACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACtE,CAAC;IAED,+DAA+D;IAC/D,kBAAkB;IAClB,+DAA+D;IAE/D,aAAa,CACV,KAAc,EACd,QAAiB,EACjB,OAAO,GAAsC,EAAE;QAE/C,MAAM,YAAY,GAAG,KAAK,IAAI,SAAS,CAAC;QACxC,MAAM,EAAE,GAAG,QAAQ,IAAI,GAAG,YAAY,IAAI,UAAU,EAAE,EAAE,CAAC;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC;QAC5D,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC;YAC1F,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QACD,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,oBAAoB,KAAK,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE;YACnE,qEAAqE;YACrE,kEAAkE;YAClE,iEAAiE;YACjE,8DAA8D;YAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACzC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,IAAI,OAAkE,CAAC;QACvE,IAAI,CAAC;YACF,sEAAsE;YACtE,mEAAmE;YACnE,6CAA6C;YAC7C,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAKzE,CAAC;QACL,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACrB,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC/B,MAAM,GAAG,CAAC;QACb,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/B,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,OAAO,CAAC;IAClB,CAAC;IAED,UAAU,CAAC,QAAgB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,WAAW,CAAC,GAAW,EAAE,KAAyB,EAAE,WAA+B;QACtF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QAChB,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC;QACzF,sEAAsE;QACtE,wEAAwE;QACxE,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5E,IAAI,MAAM,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC5D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACxB,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACxF,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxG,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACxD,OAAO,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAO,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9F,CAAC;IAED,+DAA+D;IAC/D,iEAAiE;IACjE,+DAA+D;IAE/D;;;;;;;;;;;;;;;;;;OAkBG;IACO,oBAAoB,CAAC,QAAyB;QACrD,6EAA6E;QAC7E,iEAAiE;QACjE,qEAAqE;QACrE,kEAAkE;QAClE,uEAAuE;QACvE,+EAA+E;QAC/E,2EAA2E;QAC3E,+EAA+E;QAC/E,8EAA8E;QAC9E,gFAAgF;QAChF,kDAAkD;QAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3F,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;QACrF,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACO,gBAAgB,CAAC,GAAW,EAAE,IAAY;QACjD,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;OAMG;IACO,SAAS,CAAC,GAAW,EAAE,IAAY;QAC1C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO;QACV,CAAC;QACD,2EAA2E;QAC3E,uEAAuE;QACvE,wEAAwE;QACxE,2EAA2E;QAC3E,wEAAwE;QACxE,sEAAsE;QACtE,sEAAsE;QACtE,oEAAoE;QACpE,uDAAuD;QACvD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE;aAC3B,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;aACpC,OAAO,CAAC,GAAG,EAAE;YACX,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;gBACtC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;QACJ,CAAC,CAAC,CAAC;QACN,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;OAQG;IACO,SAAS;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACzE,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,GAAW;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC;gBACF,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC;gBAC5D,IAAI,MAAM,GAAG,MAAM,aAAa,CAAC,yBAAyB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBACnG,IAAI,MAAM,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;oBACzG,iEAAiE;oBACjE,+DAA+D;oBAC/D,qEAAqE;oBACrE,iEAAiE;oBACjE,iEAAiE;oBACjE,kEAAkE;oBAClE,iEAAiE;oBACjE,+DAA+D;oBAC/D,kEAAkE;oBAClE,2CAA2C;oBAC3C,EAAE;oBACF,mEAAmE;oBACnE,qEAAqE;oBACrE,oEAAoE;oBACpE,oEAAoE;oBACpE,+DAA+D;oBAC/D,sEAAsE;oBACtE,oEAAoE;oBACpE,oEAAoE;oBACpE,qEAAqE;oBACrE,+DAA+D;oBAC/D,SAAS,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;oBACzF,MAAM,GAAG,MAAM,aAAa,CAAC,yBAAyB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;oBAC/F,IAAI,MAAM,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;wBAC7B,SAAS,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;oBACnG,CAAC;gBACJ,CAAC;YACJ,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACrB,oEAAoE;gBACpE,8DAA8D;gBAC9D,oEAAoE;gBACpE,gEAAgE;gBAChE,iEAAiE;gBACjE,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1B,SAAS,CAAC,KAAK,CAAC,gBAAgB,kBAAkB,+BAA+B,CAAC,CAAC;gBACtF,CAAC;qBAAM,CAAC;oBACL,SAAS,CAAC,KAAK,CAAC,gBAAgB,kBAAkB,YAAY,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChG,CAAC;YACJ,CAAC;QACJ,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,gBAAgB;IAChB,+DAA+D;IAE/D,cAAc,CAAC,QAA+D,EAAE,MAAM,GAAqB,EAAE;QAC1G,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,aAAa,CAAC,SAAS,CAAC;QACtD,IAAI,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4C,CAAC;YACpE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,eAAe,CACpD,KAAK,EACL,kBAAkB,CACf,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,EACpF,6BAA6B,CAC/B,CACH,CAAC;YACF,WAAW,GAAG,OAAO,CAAC;QACzB,CAAC;QACD,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC7D,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,aAAa,CAAC,QAA2C,EAAE,MAAM,GAAoC,EAAE;QACpG,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,aAAa,CAAC,SAAS,CAAC;QACtD,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;YACvF,IAAI,WAAW,CAAC,uBAAuB,EAAE,CAAC;gBACvC,OAAO;YACV,CAAC;YACD,IAAI,CAAC;gBACF,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACzH,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrF,CAAC;QACJ,CAAC,CAAC,CAAC;IACN,CAAC;IAED,YAAY,CAAC,QAA6D,EAAE,MAAM,GAAqB,EAAE;QACtG,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YAC5D,sEAAsE;YACtE,qBAAqB;YACrB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC5D,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC7B,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnG,CAAC;QACJ,CAAC,CAAC,CAAC;IACN,CAAC;IAED,cAAc,CAAC,QAA4C,EAAE,MAAM,GAAqB,EAAE;QACvF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;YAC3E,KAAK,MAAM,UAAU,IAAI,OAAO,EAAE,CAAC;gBAChC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC/D,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;oBAC7B,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvH,CAAC;YACJ,CAAC;QACJ,CAAC,CAAC,CAAC;IACN,CAAC;IAED,cAAc,CAAC,QAAiD,EAAE,MAAM,GAAqB,EAAE;QAC5F,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE;YACnE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;QACJ,CAAC,CAAC,CAAC;IACN,CAAC;IAED,eAAe,CAAC,QAA6C,EAAE,MAAM,GAAqB,EAAE;QACzF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE;YACvE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;QACJ,CAAC,CAAC,CAAC;IACN,CAAC;IAED,cAAc,CAAC,QAAoB,EAAE,MAA2D;QAC7F,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAC7D,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC;gBACpG,QAAQ,EAAE,CAAC;YACd,CAAC;QACJ,CAAC,CAAC,CAAC;IACN,CAAC;IAES,SAAS,CAAC,MAAwB;QACzC,OAAO,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzF,CAAC;IAES,OAAO,CAAC,MAAgC,EAAE,GAAiB;QAClE,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,GAAG,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACO,aAAa,CACpB,KAAoB,EACpB,WAAkE,EAClE,QAAyB,EACzB,WAA8B;QAE9B,IAAI,WAAW,CAAC,uBAAuB,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACjE,OAAO;QACV,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1F,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;QACV,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC;QAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAmC,CAAC;QACnF,MAAM,KAAK,GAAyC,MAAM,CAAC,MAAM,CAAC;YAC/D,mEAAmE;YACnE,6BAA6B;YAC7B,QAAQ,EACL,KAAK,IAAI,aAAa,CAAC,SAAS;gBAC7B,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;gBAC1F,CAAC,CAAE,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAoC;YAC7E,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC;YACpC,KAAK;SACP,CAAC,CAAC;QACH,KAAK,MAAM,EAAE,QAAQ,EAAE,IAAI,QAAQ,EAAE,CAAC;YACnC,oEAAoE;YACpE,mEAAmE;YACnE,IAAI,WAAW,CAAC,uBAAuB,EAAE,CAAC;gBACvC,MAAM,kBAAkB,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC;gBACF,QAAQ,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,kCAAkC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChG,CAAC;QACJ,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,uCAAuC;IACvC,+DAA+D;IAE/D;;;;;;;;;;;;;;;;;;;OAmBG;IACO,SAAS,CAAC,GAAW,EAAE,IAAe;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAChF,OAAO,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjE,CAAC;IAED,+DAA+D;IAC/D,0CAA0C;IAC1C,+DAA+D;IAE/D;;;;OAIG;IACO,KAAK,CAAC,oBAAoB,CAAC,GAAW,EAAE,OAAY;QAC3D,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC;IACpE,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,YAAY,CAAC,GAAW,EAAE,KAAgB,EAAE,WAA+B;QACxF,mEAAmE;QACnE,uEAAuE;QACvE,6DAA6D;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,oBAAoB,CAAC;QACrH,IAAI,CAAC,OAAO,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,KAAyB,CAAC;QACpH,OAAO,CAAC,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAc,CAAC;IAC3E,CAAC;IAED;;;;;;;OAOG;IACO,aAAa,CAAC,GAAQ;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC3E,OAAO,QAAQ;YACZ,CAAC,CAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,aAAa,CAAC,QAAQ,CAAoC;YACxG,CAAC,CAAC,WAAW,CAAC,MAAM,CAAoB,GAAG,CAAC,QAAQ,EAAE,EAAE,kBAAkB,EAAE,SAA4B,CAAC,CAAC;IAChH,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACO,kBAAkB,CAAC,QAAwC;QAClE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,QAAQ,CAAC;QACxD,OAAO,IAAI,CAAC;IACf,CAAC;CACH"}
1
+ {"version":3,"file":"model-service.js","sourceRoot":"","sources":["../../../src/langium/model-service/model-service.ts"],"names":[],"mappings":"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"}
@@ -136,6 +136,8 @@ export declare class HydraniumWorkspaceManager extends DefaultWorkspaceManager {
136
136
  protected readonly warnUnservedDocuments: boolean;
137
137
  /** URIs of the documents the running startup's file traversal loaded; see {@link loadWorkspaceDocuments}. */
138
138
  protected readonly traversedUris: Set<string>;
139
+ /** How many documents {@link loadWorkspaceDocuments} reads and parses before it may yield; below 1 counts as 1. */
140
+ protected readonly loadChunkSize: number;
139
141
  constructor(services: ServerSharedServicesMinimal, options?: HydraniumWorkspaceManagerOptions);
140
142
  /**
141
143
  * Contribution form of Langium's `loadAdditionalDocuments`. Runs the base
@@ -169,8 +171,17 @@ export declare class HydraniumWorkspaceManager extends DefaultWorkspaceManager {
169
171
  protected warnIfUnroutable(document: LangiumDocument): void;
170
172
  protected performStartup(folders: WorkspaceFolder[]): Promise<LangiumDocument[]>;
171
173
  /**
172
- * Record each document the file traversal loads, so startup can tell them
173
- * from the documents `loadAdditionalDocuments` seeded, through the
174
+ * Load the documents the file traversal found through
175
+ * {@link loadTraversedDocument}, {@link loadChunkSize} at a time, yielding
176
+ * between chunks once Langium's interruption period has passed. Langium's
177
+ * own load starts every read at once and parses each as it returns: over a
178
+ * synchronous provider nothing else runs until the last file has parsed, and
179
+ * over the Node provider incoming messages wait through long runs of parses.
180
+ * The cost: at most a chunk of reads is in flight, and each chunk waits for
181
+ * its slowest read, so slow storage takes a round per chunk, not one burst.
182
+ *
183
+ * Each loaded document is recorded, so startup can tell them from the
184
+ * documents `loadAdditionalDocuments` seeded, through the
174
185
  * `additionalDocuments` group or an override of its own.
175
186
  *
176
187
  * The traversal found each of its documents through the provider, so asking
@@ -182,6 +193,20 @@ export declare class HydraniumWorkspaceManager extends DefaultWorkspaceManager {
182
193
  * about each of them.
183
194
  */
184
195
  protected loadWorkspaceDocuments(uris: Stream<URI>, collector: (document: LangiumDocument) => void): Promise<void>;
196
+ /**
197
+ * Load one document the file traversal found, or answer `undefined` to
198
+ * leave it out of the workspace.
199
+ *
200
+ * A file whose read fails and that the provider's `existsSettled`, or
201
+ * `exists` for a provider without it, reports gone is left out with a debug
202
+ * line, since it went between the scan and the read. A file still there is
203
+ * read once more, since a replacing rename can hide its name for a moment;
204
+ * that read's failure, and cancellation, fail the startup. A check that
205
+ * throws counts the file as there, since it cannot say the file went. The
206
+ * skip is the startup's only: other callers of `getOrCreateDocument` still
207
+ * get the read error.
208
+ */
209
+ protected loadTraversedDocument(uri: URI): Promise<LangiumDocument | undefined>;
185
210
  /**
186
211
  * Warn once when the bound `FileSystemProvider` cannot serve a seeded
187
212
  * document, naming each such document's scheme.
@@ -278,7 +303,9 @@ export declare class HydraniumWorkspaceManager extends DefaultWorkspaceManager {
278
303
  *
279
304
  * A failed setup is logged here, since every framework waiter on
280
305
  * {@link workspaceInitialized} discards the rejection; an override that
281
- * rejects the deferred itself logs its own failure.
306
+ * rejects the deferred itself logs its own failure. A failed startup also
307
+ * rejects `ready`, so its waiters fail rather than wait forever; an override
308
+ * that skips `super` and catches a failed startup rejects `_ready` too.
282
309
  */
283
310
  initializeWorkspace(folders: WorkspaceFolder[], cancelToken?: CancellationToken): Promise<void>;
284
311
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"hydranium-workspace-manager.d.ts","sourceRoot":"","sources":["../../../src/langium/workspace/hydranium-workspace-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hydranium-workspace-manager.d.ts","sourceRoot":"","sources":["../../../src/langium/workspace/hydranium-workspace-manager.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,8 @@
7
7
  * SPDX-License-Identifier: MIT
8
8
  ********************************************************************************/
9
9
  import { Deferred, describeError, describeErrorWithStack } from '@hydranium/protocol';
10
- import { DefaultWorkspaceManager, DocumentState, isOperationCancelled, UriUtils } from '@hydranium/langium';
10
+ import { DefaultWorkspaceManager, DocumentState, interruptAndCheck, isOperationCancelled, UriUtils } from '@hydranium/langium';
11
+ import { CancellationTokenSource } from 'vscode-languageserver';
11
12
  import { resolveLogFilePlaceholder, toLogFileWorkspaceToken } from '../diagnostics/logger.js';
12
13
  import { findRealpathDivergence } from './document-uri-policy.js';
13
14
  import { collectAdditionalDocuments } from './additional-document-contribution.js';
@@ -27,6 +28,12 @@ let operationCancelledSuppressionInstalled = false;
27
28
  * every later tree's genuine rejections to a logger nobody is reading.
28
29
  */
29
30
  let operationCancelledSuppressionLogger;
31
+ /**
32
+ * Never cancelled: `interruptAndCheck` yields only for a token other than
33
+ * `CancellationToken.None`, and the load must not stop part-way, since Langium
34
+ * checks for cancellation once every document exists.
35
+ */
36
+ const LOAD_YIELD_TOKEN = new CancellationTokenSource().token;
30
37
  /**
31
38
  * Decide what to do with a process-level unhandled promise rejection.
32
39
  *
@@ -152,6 +159,8 @@ export class HydraniumWorkspaceManager extends DefaultWorkspaceManager {
152
159
  warnUnservedDocuments;
153
160
  /** URIs of the documents the running startup's file traversal loaded; see {@link loadWorkspaceDocuments}. */
154
161
  traversedUris = new Set();
162
+ /** How many documents {@link loadWorkspaceDocuments} reads and parses before it may yield; below 1 counts as 1. */
163
+ loadChunkSize = 10;
155
164
  constructor(services, options = {}) {
156
165
  super(services);
157
166
  this.projectManager = services.workspace.ProjectManager;
@@ -263,8 +272,17 @@ export class HydraniumWorkspaceManager extends DefaultWorkspaceManager {
263
272
  return this.withDiscoveredDescriptors(documents, discovered);
264
273
  }
265
274
  /**
266
- * Record each document the file traversal loads, so startup can tell them
267
- * from the documents `loadAdditionalDocuments` seeded, through the
275
+ * Load the documents the file traversal found through
276
+ * {@link loadTraversedDocument}, {@link loadChunkSize} at a time, yielding
277
+ * between chunks once Langium's interruption period has passed. Langium's
278
+ * own load starts every read at once and parses each as it returns: over a
279
+ * synchronous provider nothing else runs until the last file has parsed, and
280
+ * over the Node provider incoming messages wait through long runs of parses.
281
+ * The cost: at most a chunk of reads is in flight, and each chunk waits for
282
+ * its slowest read, so slow storage takes a round per chunk, not one burst.
283
+ *
284
+ * Each loaded document is recorded, so startup can tell them from the
285
+ * documents `loadAdditionalDocuments` seeded, through the
268
286
  * `additionalDocuments` group or an override of its own.
269
287
  *
270
288
  * The traversal found each of its documents through the provider, so asking
@@ -276,10 +294,49 @@ export class HydraniumWorkspaceManager extends DefaultWorkspaceManager {
276
294
  * about each of them.
277
295
  */
278
296
  async loadWorkspaceDocuments(uris, collector) {
279
- await super.loadWorkspaceDocuments(uris, document => {
280
- this.traversedUris.add(document.uri.toString());
281
- collector(document);
282
- });
297
+ const pending = uris.toArray();
298
+ const chunkSize = Math.max(1, this.loadChunkSize);
299
+ for (let i = 0; i < pending.length; i += chunkSize) {
300
+ if (i > 0) {
301
+ await interruptAndCheck(LOAD_YIELD_TOKEN);
302
+ }
303
+ await Promise.all(pending.slice(i, i + chunkSize).map(async (uri) => {
304
+ const document = await this.loadTraversedDocument(uri);
305
+ if (document) {
306
+ this.traversedUris.add(document.uri.toString());
307
+ collector(document);
308
+ }
309
+ }));
310
+ }
311
+ }
312
+ /**
313
+ * Load one document the file traversal found, or answer `undefined` to
314
+ * leave it out of the workspace.
315
+ *
316
+ * A file whose read fails and that the provider's `existsSettled`, or
317
+ * `exists` for a provider without it, reports gone is left out with a debug
318
+ * line, since it went between the scan and the read. A file still there is
319
+ * read once more, since a replacing rename can hide its name for a moment;
320
+ * that read's failure, and cancellation, fail the startup. A check that
321
+ * throws counts the file as there, since it cannot say the file went. The
322
+ * skip is the startup's only: other callers of `getOrCreateDocument` still
323
+ * get the read error.
324
+ */
325
+ async loadTraversedDocument(uri) {
326
+ try {
327
+ return await this.langiumDocuments.getOrCreateDocument(uri);
328
+ }
329
+ catch (error) {
330
+ if (isOperationCancelled(error)) {
331
+ throw error;
332
+ }
333
+ const fileSystem = this.writableFileSystemProvider;
334
+ if (!(await (fileSystem.existsSettled?.(uri) ?? fileSystem.exists(uri)).catch(() => true))) {
335
+ this.tracer.debug(`Skipped ${uri.toString()}: it was removed between the workspace scan and its load`);
336
+ return undefined;
337
+ }
338
+ return this.langiumDocuments.getOrCreateDocument(uri);
339
+ }
283
340
  }
284
341
  /**
285
342
  * Warn once when the bound `FileSystemProvider` cannot serve a seeded
@@ -442,7 +499,9 @@ export class HydraniumWorkspaceManager extends DefaultWorkspaceManager {
442
499
  *
443
500
  * A failed setup is logged here, since every framework waiter on
444
501
  * {@link workspaceInitialized} discards the rejection; an override that
445
- * rejects the deferred itself logs its own failure.
502
+ * rejects the deferred itself logs its own failure. A failed startup also
503
+ * rejects `ready`, so its waiters fail rather than wait forever; an override
504
+ * that skips `super` and catches a failed startup rejects `_ready` too.
446
505
  */
447
506
  async initializeWorkspace(folders, cancelToken) {
448
507
  try {
@@ -457,6 +516,10 @@ export class HydraniumWorkspaceManager extends DefaultWorkspaceManager {
457
516
  this.tracer.error(`Initial workspace build failed: ${describeErrorWithStack(error)}`);
458
517
  }
459
518
  this.workspaceInitializedDeferred.reject(error);
519
+ // Langium settles `ready` only after a startup that succeeded. Marked
520
+ // handled, as logged above; a no-op once startup has resolved it.
521
+ this._ready.reject(error);
522
+ this._ready.promise.catch(() => undefined);
460
523
  throw error;
461
524
  }
462
525
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hydranium-workspace-manager.js","sourceRoot":"","sources":["../../../src/langium/workspace/hydranium-workspace-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hydranium-workspace-manager.js","sourceRoot":"","sources":["../../../src/langium/workspace/hydranium-workspace-manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hydranium/core",
3
- "version": "1.0.0-next.278",
3
+ "version": "1.0.0-next.279",
4
4
  "description": "Foundational runtime of the hydranium framework: AST coordination layer (services, integrity, AST extension, serialization, multi-client documents) plus the LSP textual head at the /lsp subpath. Consumed by protocol-head packages (@hydranium/data-server, @hydranium/glsp-server).",
5
5
  "keywords": [
6
6
  "ast",
@@ -83,8 +83,8 @@
83
83
  "diff": "^5.2.0"
84
84
  },
85
85
  "devDependencies": {
86
- "@hydranium/langium": "1.0.0-next.278",
87
- "@hydranium/protocol": "1.0.0-next.278",
86
+ "@hydranium/langium": "1.0.0-next.279",
87
+ "@hydranium/protocol": "1.0.0-next.279",
88
88
  "@playwright/test": "^1.40.0",
89
89
  "@types/diff": "^5.2.0",
90
90
  "rimraf": "^5.0.0",
@@ -96,8 +96,8 @@
96
96
  "vscode-languageserver-types": "^3.17.5"
97
97
  },
98
98
  "peerDependencies": {
99
- "@hydranium/langium": "1.0.0-next.278",
100
- "@hydranium/protocol": "1.0.0-next.278",
99
+ "@hydranium/langium": "1.0.0-next.279",
100
+ "@hydranium/protocol": "1.0.0-next.279",
101
101
  "@playwright/test": "^1.40.0",
102
102
  "vscode-jsonrpc": "^9.0.0",
103
103
  "vscode-languageserver": "~10.0.1",
@@ -457,13 +457,13 @@ export class DefaultModelService<
457
457
  } catch {
458
458
  // NEVER rejects, deliberately. This gate is about TIMING — "the
459
459
  // initial build has finished" — not about whether it succeeded, and
460
- // Langium's `ready` (what it replaced) could not reject at all.
461
- // `workspaceInitialized` can: it rejects on a cancelled initial
462
- // build (routine — any write preempts one) and on a failed one
463
- // (e.g. a disposed connection at teardown). Propagating either would
464
- // fail every `waitForReady` for the rest of the process lifetime,
465
- // a far worse failure than the late gate this exists to fix. The
466
- // workspace manager logs the outcome.
460
+ // the workspace manager's `ready` (what it replaced) rejects only on
461
+ // a failed startup. `workspaceInitialized` also rejects on a
462
+ // cancelled initial build (routine — any write preempts one) and on
463
+ // a failed one (e.g. a disposed connection at teardown).
464
+ // Propagating either would fail every `waitForReady` for the rest
465
+ // of the process lifetime, a far worse failure than the late gate
466
+ // this exists to fix. The workspace manager logs the outcome.
467
467
  }
468
468
  })();
469
469
  // One persistent listener mirroring non-LSP-client changes back to the LSP
@@ -11,13 +11,14 @@ import { Deferred, type Logger, type Tracer, describeError, describeErrorWithSta
11
11
  import {
12
12
  DefaultWorkspaceManager,
13
13
  DocumentState,
14
+ interruptAndCheck,
14
15
  isOperationCancelled,
15
16
  type LangiumDocument,
16
17
  type Stream,
17
18
  UriUtils,
18
19
  type URI
19
20
  } from '@hydranium/langium';
20
- import { type CancellationToken, type InitializeParams } from 'vscode-languageserver';
21
+ import { type CancellationToken, CancellationTokenSource, type InitializeParams } from 'vscode-languageserver';
21
22
  import type { WorkspaceFolder } from 'vscode-languageserver-types';
22
23
  import { type LogNameOptions, resolveLogFilePlaceholder, toLogFileWorkspaceToken } from '../diagnostics/logger.js';
23
24
  import type { ServerLocale } from '../../locale/server-locale.js';
@@ -46,6 +47,13 @@ let operationCancelledSuppressionInstalled = false;
46
47
  */
47
48
  let operationCancelledSuppressionLogger: Logger | undefined;
48
49
 
50
+ /**
51
+ * Never cancelled: `interruptAndCheck` yields only for a token other than
52
+ * `CancellationToken.None`, and the load must not stop part-way, since Langium
53
+ * checks for cancellation once every document exists.
54
+ */
55
+ const LOAD_YIELD_TOKEN = new CancellationTokenSource().token;
56
+
49
57
  /**
50
58
  * Decide what to do with a process-level unhandled promise rejection.
51
59
  *
@@ -188,6 +196,8 @@ export class HydraniumWorkspaceManager extends DefaultWorkspaceManager {
188
196
  protected readonly warnUnservedDocuments: boolean;
189
197
  /** URIs of the documents the running startup's file traversal loaded; see {@link loadWorkspaceDocuments}. */
190
198
  protected readonly traversedUris = new Set<string>();
199
+ /** How many documents {@link loadWorkspaceDocuments} reads and parses before it may yield; below 1 counts as 1. */
200
+ protected readonly loadChunkSize: number = 10;
191
201
 
192
202
  constructor(services: ServerSharedServicesMinimal, options: HydraniumWorkspaceManagerOptions = {}) {
193
203
  super(services);
@@ -313,8 +323,17 @@ export class HydraniumWorkspaceManager extends DefaultWorkspaceManager {
313
323
  }
314
324
 
315
325
  /**
316
- * Record each document the file traversal loads, so startup can tell them
317
- * from the documents `loadAdditionalDocuments` seeded, through the
326
+ * Load the documents the file traversal found through
327
+ * {@link loadTraversedDocument}, {@link loadChunkSize} at a time, yielding
328
+ * between chunks once Langium's interruption period has passed. Langium's
329
+ * own load starts every read at once and parses each as it returns: over a
330
+ * synchronous provider nothing else runs until the last file has parsed, and
331
+ * over the Node provider incoming messages wait through long runs of parses.
332
+ * The cost: at most a chunk of reads is in flight, and each chunk waits for
333
+ * its slowest read, so slow storage takes a round per chunk, not one burst.
334
+ *
335
+ * Each loaded document is recorded, so startup can tell them from the
336
+ * documents `loadAdditionalDocuments` seeded, through the
318
337
  * `additionalDocuments` group or an override of its own.
319
338
  *
320
339
  * The traversal found each of its documents through the provider, so asking
@@ -326,10 +345,51 @@ export class HydraniumWorkspaceManager extends DefaultWorkspaceManager {
326
345
  * about each of them.
327
346
  */
328
347
  protected override async loadWorkspaceDocuments(uris: Stream<URI>, collector: (document: LangiumDocument) => void): Promise<void> {
329
- await super.loadWorkspaceDocuments(uris, document => {
330
- this.traversedUris.add(document.uri.toString());
331
- collector(document);
332
- });
348
+ const pending = uris.toArray();
349
+ const chunkSize = Math.max(1, this.loadChunkSize);
350
+ for (let i = 0; i < pending.length; i += chunkSize) {
351
+ if (i > 0) {
352
+ await interruptAndCheck(LOAD_YIELD_TOKEN);
353
+ }
354
+ await Promise.all(
355
+ pending.slice(i, i + chunkSize).map(async uri => {
356
+ const document = await this.loadTraversedDocument(uri);
357
+ if (document) {
358
+ this.traversedUris.add(document.uri.toString());
359
+ collector(document);
360
+ }
361
+ })
362
+ );
363
+ }
364
+ }
365
+
366
+ /**
367
+ * Load one document the file traversal found, or answer `undefined` to
368
+ * leave it out of the workspace.
369
+ *
370
+ * A file whose read fails and that the provider's `existsSettled`, or
371
+ * `exists` for a provider without it, reports gone is left out with a debug
372
+ * line, since it went between the scan and the read. A file still there is
373
+ * read once more, since a replacing rename can hide its name for a moment;
374
+ * that read's failure, and cancellation, fail the startup. A check that
375
+ * throws counts the file as there, since it cannot say the file went. The
376
+ * skip is the startup's only: other callers of `getOrCreateDocument` still
377
+ * get the read error.
378
+ */
379
+ protected async loadTraversedDocument(uri: URI): Promise<LangiumDocument | undefined> {
380
+ try {
381
+ return await this.langiumDocuments.getOrCreateDocument(uri);
382
+ } catch (error: unknown) {
383
+ if (isOperationCancelled(error)) {
384
+ throw error;
385
+ }
386
+ const fileSystem = this.writableFileSystemProvider;
387
+ if (!(await (fileSystem.existsSettled?.(uri) ?? fileSystem.exists(uri)).catch(() => true))) {
388
+ this.tracer.debug(`Skipped ${uri.toString()}: it was removed between the workspace scan and its load`);
389
+ return undefined;
390
+ }
391
+ return this.langiumDocuments.getOrCreateDocument(uri);
392
+ }
333
393
  }
334
394
 
335
395
  /**
@@ -500,7 +560,9 @@ export class HydraniumWorkspaceManager extends DefaultWorkspaceManager {
500
560
  *
501
561
  * A failed setup is logged here, since every framework waiter on
502
562
  * {@link workspaceInitialized} discards the rejection; an override that
503
- * rejects the deferred itself logs its own failure.
563
+ * rejects the deferred itself logs its own failure. A failed startup also
564
+ * rejects `ready`, so its waiters fail rather than wait forever; an override
565
+ * that skips `super` and catches a failed startup rejects `_ready` too.
504
566
  */
505
567
  override async initializeWorkspace(folders: WorkspaceFolder[], cancelToken?: CancellationToken): Promise<void> {
506
568
  try {
@@ -513,6 +575,10 @@ export class HydraniumWorkspaceManager extends DefaultWorkspaceManager {
513
575
  this.tracer.error(`Initial workspace build failed: ${describeErrorWithStack(error)}`);
514
576
  }
515
577
  this.workspaceInitializedDeferred.reject(error);
578
+ // Langium settles `ready` only after a startup that succeeded. Marked
579
+ // handled, as logged above; a no-op once startup has resolved it.
580
+ this._ready.reject(error);
581
+ this._ready.promise.catch(() => undefined);
516
582
  throw error;
517
583
  }
518
584
  }