@finos/legend-lego 2.0.195 → 2.0.197

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 (52) hide show
  1. package/lib/code-editor/CodeEditor.d.ts.map +1 -1
  2. package/lib/code-editor/CodeEditor.js +14 -1
  3. package/lib/code-editor/CodeEditor.js.map +1 -1
  4. package/lib/index.css +2 -2
  5. package/lib/index.css.map +1 -1
  6. package/lib/legend-ai/LegendAITypes.d.ts +33 -0
  7. package/lib/legend-ai/LegendAITypes.d.ts.map +1 -1
  8. package/lib/legend-ai/LegendAITypes.js +39 -1
  9. package/lib/legend-ai/LegendAITypes.js.map +1 -1
  10. package/lib/legend-ai/LegendAI_LegendApplicationPlugin_Extension.d.ts +96 -1
  11. package/lib/legend-ai/LegendAI_LegendApplicationPlugin_Extension.d.ts.map +1 -1
  12. package/lib/legend-ai/LegendAI_LegendApplicationPlugin_Extension.js +56 -0
  13. package/lib/legend-ai/LegendAI_LegendApplicationPlugin_Extension.js.map +1 -1
  14. package/lib/legend-ai/__test-utils__/LegendAITestUtils.d.ts.map +1 -1
  15. package/lib/legend-ai/__test-utils__/LegendAITestUtils.js +6 -0
  16. package/lib/legend-ai/__test-utils__/LegendAITestUtils.js.map +1 -1
  17. package/lib/legend-ai/components/LegendAIAnalysisPanel.d.ts +24 -0
  18. package/lib/legend-ai/components/LegendAIAnalysisPanel.d.ts.map +1 -0
  19. package/lib/legend-ai/components/LegendAIAnalysisPanel.js +35 -0
  20. package/lib/legend-ai/components/LegendAIAnalysisPanel.js.map +1 -0
  21. package/lib/legend-ai/components/LegendAIAnalysisUtils.d.ts +23 -0
  22. package/lib/legend-ai/components/LegendAIAnalysisUtils.d.ts.map +1 -0
  23. package/lib/legend-ai/components/LegendAIAnalysisUtils.js +168 -0
  24. package/lib/legend-ai/components/LegendAIAnalysisUtils.js.map +1 -0
  25. package/lib/legend-ai/components/LegendAICharts.d.ts +25 -0
  26. package/lib/legend-ai/components/LegendAICharts.d.ts.map +1 -0
  27. package/lib/legend-ai/components/LegendAICharts.js +70 -0
  28. package/lib/legend-ai/components/LegendAICharts.js.map +1 -0
  29. package/lib/legend-ai/components/LegendAIChat.d.ts +2 -1
  30. package/lib/legend-ai/components/LegendAIChat.d.ts.map +1 -1
  31. package/lib/legend-ai/components/LegendAIChat.js +14 -10
  32. package/lib/legend-ai/components/LegendAIChat.js.map +1 -1
  33. package/lib/legend-ai/index.d.ts +5 -2
  34. package/lib/legend-ai/index.d.ts.map +1 -1
  35. package/lib/legend-ai/index.js +5 -2
  36. package/lib/legend-ai/index.js.map +1 -1
  37. package/lib/legend-ai/stores/LegendAIChatState.d.ts +12 -5
  38. package/lib/legend-ai/stores/LegendAIChatState.d.ts.map +1 -1
  39. package/lib/legend-ai/stores/LegendAIChatState.js +604 -69
  40. package/lib/legend-ai/stores/LegendAIChatState.js.map +1 -1
  41. package/package.json +5 -5
  42. package/src/code-editor/CodeEditor.tsx +19 -0
  43. package/src/legend-ai/LegendAITypes.ts +51 -1
  44. package/src/legend-ai/LegendAI_LegendApplicationPlugin_Extension.ts +169 -0
  45. package/src/legend-ai/__test-utils__/LegendAITestUtils.ts +9 -0
  46. package/src/legend-ai/components/LegendAIAnalysisPanel.tsx +102 -0
  47. package/src/legend-ai/components/LegendAIAnalysisUtils.ts +226 -0
  48. package/src/legend-ai/components/LegendAICharts.tsx +166 -0
  49. package/src/legend-ai/components/LegendAIChat.tsx +74 -26
  50. package/src/legend-ai/index.ts +18 -0
  51. package/src/legend-ai/stores/LegendAIChatState.ts +1039 -128
  52. package/tsconfig.json +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"LegendAIChatState.js","sourceRoot":"","sources":["../../../src/legend-ai/stores/LegendAIChatState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EASL,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,oBAAoB,GACrB,MAAM,kDAAkD,CAAC;AAG1D,MAAM,wBAAwB,GAAG,GAAG,CAAC;AACrC,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAC9C,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAErC,MAAM,2BAA2B,GAAG,yBAAyB,CAAC;AAE9D,SAAS,kBAAkB,CAAC,OAAiB;IAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QACzB,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;AACL,CAAC;AAMD,SAAS,iBAAiB,CACxB,IAAY;IAEZ,OAAO;QACL,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE;QACpD;YACE,EAAE,EAAE,IAAI,EAAE;YACV,IAAI,EAAE,mBAAmB,CAAC,SAAS;YACnC,aAAa,EAAE,EAAE;YACjB,GAAG,EAAE,IAAI;YACT,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;YACd,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,KAAK;YAClB,gBAAgB,EAAE,EAAE;SACrB;KACF,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,mBAAmB,CACjC,WAA0B,EAC1B,OAA6E;IAE7E,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;QACnB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1B,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,IAAI,EAAE,IAAI,KAAK,mBAAmB,CAAC,SAAS,EAAE,CAAC;YACjD,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,WAA0B,EAC1B,KAAa;IAEb,mBAAmB,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzC,aAAa,EAAE;YACb,GAAG,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7B,CAAC,CAAC,MAAM,KAAK,0BAA0B,CAAC,MAAM;gBAC5C,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,0BAA0B,CAAC,IAAI,EAAE;gBACnD,CAAC,CAAC,CAAC,CACN;YACD,EAAE,KAAK,EAAE,MAAM,EAAE,0BAA0B,CAAC,MAAM,EAAE;SACrD;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,WAA0B;IAC9D,mBAAmB,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzC,aAAa,EAAE,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACzC,CAAC,CAAC,MAAM,KAAK,0BAA0B,CAAC,MAAM;YAC5C,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,0BAA0B,CAAC,IAAI,EAAE;YACnD,CAAC,CAAC,CAAC,CACN;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,WAA0B,EAC1B,QAAgB,EAChB,SAAiB;IAEjB,mBAAmB,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzC,aAAa,EAAE,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACzC,CAAC,CAAC,MAAM,KAAK,0BAA0B,CAAC,MAAM;YAC5C,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,0BAA0B,CAAC,KAAK,EAAE;YACpD,CAAC,CAAC,CAAC,CACN;QACD,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC;QAClD,YAAY,EAAE,KAAK;QACnB,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;KAC/D,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,QAA2B;IAE3B,MAAM,OAAO,GAA+B,EAAE,CAAC;IAC/C,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,IACE,OAAO,EAAE,IAAI,KAAK,mBAAmB,CAAC,IAAI;YAC1C,OAAO,EAAE,IAAI,KAAK,mBAAmB,CAAC,SAAS,EAC/C,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC;oBACX,QAAQ,EAAE,OAAO,CAAC,IAAI;oBACtB,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,MAAM,EAAE,sBAAsB,CAAC,UAAU;iBAC1C,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC;oBACX,QAAQ,EAAE,OAAO,CAAC,IAAI;oBACtB,GAAG,EAAE,OAAO,CAAC,UAAU;oBACvB,MAAM,EAAE,sBAAsB,CAAC,QAAQ;iBACxC,CAAC,CAAC;YACL,CAAC;YACD,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;aAAM,CAAC;YACN,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,QAA4B;IACvD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5B,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,OAAe,EACf,UAA8B,EAC9B,QAA4B;IAE5B,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;IACxB,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,mBAAmB,UAAU,GAAG,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,yBAAyB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAAc,EACd,QAA4B;IAE5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAEtC,MAAM,iBAAiB,GACrB,6DAA6D,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7E,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,SAAS;aACnB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,cAAc,CAAC,CAAC,UAAU,CAAC,iCAAiC,EAAE,mBAAmB,CAAC,CAAC,WAAW,EAAE,EAAE,CACrG;aACA,IAAI,CAAC,OAAO,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CACX,sCAAsC,UAAU,EAAE,EAClD,6CAA6C,IAAI,GAAG,CACrD,CAAC;QACF,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,0BAA0B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC,CAAC;IACzD,IACE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC3B,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC;YAC7B,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACnC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAC/B,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChE,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,yBAAyB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACpE,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,2BAA2B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB;IAI9C,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAClE,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;IAC5D,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IACrD,MAAM,gBAAgB,GAAG,SAAS,CAAC,KAAK,CACtC,UAAU,GAAG,2BAA2B,CAAC,MAAM,CAChD,CAAC;IACF,MAAM,gBAAgB,GAAG,gBAAgB;SACtC,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;SACrD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAgB,EAChB,QAAiC,EACjC,OAAiC,EACjC,SAAiB,EACjB,oBAA8B;IAE9B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IACzD,eAAe,CAAC,WAAW,EAAE,oCAAoC,CAAC,CAAC;IACnE,MAAM,kBAAkB,GAAG,MAAM,CAAC,mBAAmB,CACnD,QAAQ,EACR,QAAQ,EACR,OAAO,CACR,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IACnE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GACnD,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACnC,MAAM,gBAAgB,GACpB,oBAAoB,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,eAAe;QACvD,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,iBAAiB,CAAC;IACxB,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACnC,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QACtC,UAAU,EAAE,MAAM;QAClB,gBAAgB;QAChB,YAAY,EAAE,KAAK;QACnB,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;KAC/D,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAgB,EAChB,QAA4B,EAC5B,WAAmB,EACnB,OAAiC,EACjC,SAAiB;IAEjB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IACzD,eAAe,CAAC,WAAW,EAAE,0CAA0C,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,MAAM,CAAC,oBAAoB,CACxC,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,OAAO,CACR,CAAC;IACF,eAAe,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;IAExD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,EACJ,GAAG,EAAE,YAAY,EACjB,OAAO,EACP,UAAU,GACX,GAAG,MAAM,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAE9C,IAAI,OAAO,EAAE,CAAC;QACZ,eAAe,CAAC,WAAW,EAAE,sBAAsB,OAAO,EAAE,CAAC,CAAC;QAC9D,uBAAuB,CACrB,WAAW,EACX,6BAA6B,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAC5D,SAAS,CACV,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,eAAe,CAAC,WAAW,EAAE,qCAAqC,CAAC,CAAC;QACpE,uBAAuB,CACrB,WAAW,EACX,yGAAyG,EACzG,SAAS,CACV,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,IAAI,0BAA0B,CAAC;IAC1E,IAAI,UAAU,GAAG,YAAY,CAAC;IAE9B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACxD,eAAe,CACb,WAAW,EACX,gCAAgC,OAAO,IAAI,WAAW,MAAM,CAC7D,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CACzC,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,OAAO,CACR,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAE3D,IAAI,WAAW,CAAC,OAAO,KAAK,oBAAoB,CAAC,IAAI,EAAE,CAAC;YACtD,qBAAqB,CAAC,WAAW,CAAC,CAAC;YACnC,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,MAAM,WAAW,GAAG,UAAU,CAAC;QAC/B,MAAM,YAAY,GAAG,WAAW,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;QACtD,IACE,YAAY,KAAK,SAAS;YAC1B,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAC9C,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC7C,YAAY,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAC7C,CAAC;YACD,eAAe,CAAC,WAAW,EAAE,4BAA4B,OAAO,GAAG,CAAC,CAAC;YACrE,UAAU,GAAG,YAAY,CAAC;QAC5B,CAAC;QAED,IAAI,UAAU,KAAK,WAAW,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YAC1D,eAAe,CACb,WAAW,EACX,qDAAqD,CACtD,CAAC;YACF,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,qBAAqB,CAC5B,SAAyC,EACzC,WAA0B,EAC1B,aAAqB,EACrB,SAAiB;IAEjB,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;IAC5B,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACnC,eAAe,CACb,WAAW,EACX,aAAa,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAC9D,CAAC;IACF,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAEnC,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QACtC,QAAQ,EAAE,EAAE,UAAU,EAAE,wBAAwB,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;QAC1E,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,YAAY,EAAE,KAAK;QACnB,WAAW,EAAE,KAAK;QAClB,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;KAC/D,CAAC,CAAC,CAAC;IACJ,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAAW,EACX,QAA4B,EAC5B,MAAsB,EACtB,MAAkD,EAClD,WAA0B,EAC1B,SAAiB,EACjB,sBAAmE;IAEnE,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,oBAAoB,CAAC,YAAY,CAC1D,CAAC;QACF,MAAM,SAAS,GACb,aAAa,IAAI,sBAAsB;YACrC,CAAC,CAAC,MAAM,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,sBAAsB,EAAE,MAAM,CAAC;YACvE,CAAC,CAAC,MAAM,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC3C,OAAO,qBAAqB,CAC1B,SAAS,EACT,WAAW,EACX,aAAa,EACb,SAAS,CACV,CAAC;IACJ,CAAC;IAAC,OAAO,YAAY,EAAE,CAAC;QACtB,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAChC,eAAe,CACb,WAAW,EACX,qBAAqB,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,iCAAiC,CAAC,EAAE,CACxF,CAAC;QACF,uBAAuB,CACrB,WAAW,EACX,0BAA0B,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC1D,SAAS,CACV,CAAC;QACF,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YACtC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1D,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC,CAAC;QACJ,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,SAAiB,EACjB,oBAAuD,EACvD,sBAAkE,EAClE,MAAsB,EACtB,MAAkD,EAClD,WAA0B,EAC1B,SAAiB;IAEjB,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,eAAe,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAC7C,SAAS,EACT,oBAAoB,EACpB,sBAAsB,EACtB,MAAM,CACP,CAAC;QACF,OAAO,qBAAqB,CAC1B,SAAS,EACT,WAAW,EACX,aAAa,EACb,SAAS,CACV,CAAC;IACJ,CAAC;IAAC,OAAO,YAAY,EAAE,CAAC;QACtB,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAChC,eAAe,CACb,WAAW,EACX,qBAAqB,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,iCAAiC,CAAC,EAAE,CACxF,CAAC;QACF,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACnC,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YACtC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1D,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,KAAK;YACnB,KAAK,EAAE,qBAAqB,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,EAAE;YACrF,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SAC/D,CAAC,CAAC,CAAC;QACJ,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACnC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,QAAgB,EAChB,sBAAkE,EAClE,SAAkC,EAClC,OAAiC,EACjC,oBAAwD;IAExD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,eAAe,CAAC,WAAW,EAAE,sCAAsC,CAAC,CAAC;QACrE,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAC3D,QAAQ,EACR,sBAAsB,EACtB,MAAM,CACP,CAAC;QAEF,eAAe,CACb,WAAW,EACX,sBAAsB,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,gBAAgB,CAAC,UAAU,EAAE,CACrG,CAAC;QACF,IAAI,gBAAgB,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,eAAe,CACb,WAAW,EACX,SAAS,gBAAgB,CAAC,eAAe,CAAC,MAAM,mBAAmB,CACpE,CAAC;QACJ,CAAC;QAED,eAAe,CAAC,WAAW,EAAE,6CAA6C,CAAC,CAAC;QAC5E,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,4BAA4B,CACpE;YACE,aAAa,EAAE,QAAQ;YACvB,kCAAkC,EAAE;gBAClC,wBAAwB,EAAE,sBAAsB;gBAChD,WAAW,EAAE,gBAAgB,CAAC,UAAU;gBACxC,gBAAgB,EAAE,gBAAgB,CAAC,eAAe;aACnD;SACF,EACD,MAAM,CACP,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAClE,qBAAqB,CAAC,WAAW,CAAC,CAAC;QACnC,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YACtC,GAAG,EAAE,oBAAoB,CAAC,YAAY;YACtC,UAAU,EAAE,YAAY;YACxB,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;gBACtC,YAAY,EAAE,KAAK;gBACnB,WAAW,EAAE,KAAK;gBAClB,KAAK,EACH,mEAAmE;gBACrE,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aAC/D,CAAC,CAAC,CAAC;YACJ,OAAO;QACT,CAAC;QAED,MAAM,yBAAyB,CAC7B,oBAAoB,CAAC,YAAY,EACjC,oBAAoB,EACpB,sBAAsB,EACtB,MAAM,EACN,MAAM,EACN,WAAW,EACX,SAAS,CACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACzB,eAAe,CACb,WAAW,EACX,UAAU,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,iCAAiC,CAAC,EAAE,CACtE,CAAC;QACF,uBAAuB,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,QAAgB,EAChB,QAA4B,EAC5B,WAAmB,EACnB,QAAiC,EACjC,OAAiC,EACjC,SAAiB,EACjB,mBAAsD;IAEtD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAChD,MAAM,sBAAsB,GAAG,mBAAmB,EAAE,sBAAsB,CAAC;IAC3E,MAAM,oBAAoB,GAAG,mBAAmB,EAAE,oBAAoB,CAAC;IAEvE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,eAAe,IAAI,sBAAsB,EAAE,CAAC;YACrD,qBAAqB,CAAC,WAAW,CAAC,CAAC;YACnC,MAAM,8BAA8B,CAClC,QAAQ,EACR,sBAAsB,EACtB,QAAQ,EACR,OAAO,EACP,oBAAoB,CACrB,CAAC;YACF,OAAO;QACT,CAAC;QACD,uBAAuB,CACrB,WAAW,EACX,wCAAwC,EACxC,SAAS,CACV,CAAC;QACF,OAAO;IACT,CAAC;IAED,eAAe,CAAC,WAAW,EAAE,kCAAkC,CAAC,CAAC;IAEjE,MAAM,SAAS,GAAG,MAAM,mBAAmB,CACzC,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,OAAO,EACP,SAAS,CACV,CAAC;IAEF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,IAAI,MAAM,CAAC,eAAe,IAAI,sBAAsB,EAAE,CAAC;YACrD,eAAe,CACb,WAAW,EACX,8EAA8E,CAC/E,CAAC;YACF,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;gBACtC,KAAK,EAAE,IAAI;gBACX,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC,CAAC;YACJ,MAAM,8BAA8B,CAClC,QAAQ,EACR,sBAAsB,EACtB,QAAQ,EACR,OAAO,EACP,oBAAoB,CACrB,CAAC;YACF,OAAO;QACT,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACnC,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;QACtC,GAAG,EAAE,SAAS;QACd,UAAU,EAAE,eAAe;QAC3B,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC,CAAC;IAEJ,MAAM,SAAS,GAAG,MAAM,mBAAmB,CACzC,SAAS,EACT,QAAQ,EACR,MAAM,EACN,MAAM,EACN,WAAW,EACX,SAAS,EACT,sBAAsB,CACvB,CAAC;IAEF,IACE,SAAS,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM,CAAC,eAAe;QACtB,sBAAsB,EACtB,CAAC;QACD,eAAe,CACb,WAAW,EACX,iEAAiE,CAClE,CAAC;QACF,mBAAmB,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;YACtC,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,IAAI;YACX,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC,CAAC;QACJ,MAAM,8BAA8B,CAClC,QAAQ,EACR,sBAAsB,EACtB,QAAQ,EACR,OAAO,EACP,oBAAoB,CACrB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,QAA4B,EAC5B,WAAmB,EACnB,QAAiC,EACjC,OAAiC,EACjC,sBAAmE,EACnE,oBAAwD;IAExD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,eAAe,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAAC;QAE3D,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAChD,QAAQ,EACR,QAAQ,CAAC,MAAM,GAAG,CAAC,EACnB,MAAM,EACN,YAAY,CACb,CAAC;QAEF,IAAI,MAAM,KAAK,sBAAsB,CAAC,QAAQ,EAAE,CAAC;YAC/C,MAAM,sBAAsB,CAC1B,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,SAAS,EACT,QAAQ,CAAC,MAAM,GAAG,CAAC,CACpB,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,MAAM,KAAK,sBAAsB,CAAC,YAAY,EAAE,CAAC;YACnD,IAAI,MAAM,CAAC,eAAe,IAAI,sBAAsB,EAAE,CAAC;gBACrD,qBAAqB,CAAC,WAAW,CAAC,CAAC;gBACnC,MAAM,8BAA8B,CAClC,QAAQ,EACR,sBAAsB,EACtB,QAAQ,EACR,OAAO,EACP,oBAAoB,CACrB,CAAC;gBACF,OAAO;YACT,CAAC;YACD,eAAe,CACb,WAAW,EACX,sDAAsD,CACvD,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,CACpB,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,OAAO,EACP,SAAS,EACT,sBAAsB;YACpB,CAAC,CAAC;gBACE,sBAAsB;gBACtB,GAAG,CAAC,oBAAoB,KAAK,SAAS;oBACpC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC;aAC9B;YACH,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACzB,eAAe,CACb,WAAW,EACX,UAAU,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,iCAAiC,CAAC,EAAE,CACtE,CAAC;QACF,uBAAuB,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAAgB,EAChB,MAA8B,EAC9B,QAA4B,EAC5B,WAAmB,EACnB,QAAiC,EACjC,OAAiC,EACjC,mBAAsD;IAEtD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IACxC,MAAM,sBAAsB,GAAG,mBAAmB,EAAE,sBAAsB,CAAC;IAC3E,MAAM,oBAAoB,GAAG,mBAAmB,EAAE,oBAAoB,CAAC;IAEvE,IAAI,MAAM,KAAK,sBAAsB,CAAC,QAAQ,EAAE,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,sBAAsB,CAC1B,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,SAAS,EACT,QAAQ,CAAC,MAAM,GAAG,CAAC,CACpB,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,MAAM,KAAK,sBAAsB,CAAC,YAAY,EAAE,CAAC;QACnD,IAAI,MAAM,CAAC,eAAe,IAAI,sBAAsB,EAAE,CAAC;YACrD,MAAM,8BAA8B,CAClC,QAAQ,EACR,sBAAsB,EACtB,QAAQ,EACR,OAAO,EACP,oBAAoB,CACrB,CAAC;YACF,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,IAAI,CAAC;QACH,eAAe,CAAC,WAAW,EAAE,yBAAyB,CAAC,CAAC;QACxD,MAAM,gBAAgB,CACpB,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,OAAO,EACP,SAAS,EACT,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACzB,eAAe,CACb,WAAW,EACX,UAAU,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,iCAAiC,CAAC,EAAE,CACtE,CAAC;QACF,uBAAuB,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,QAA4B,EAC5B,WAAmB,EACnB,MAAsB,EACtB,QAAiC,EACjC,MAAkD,EAClD,sBAAmE,EACnE,oBAAwD,EACrC,EAAE;IACrB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAoB,EAAE,CAAC,CAAC;IAChE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CACtD,IAAI,GAAG,EAAE,CACV,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,MAAM,CAC3B,SAAS,CACV,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC;QACnC,IAAI,EAAE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,YAAY,CAAC;QACjC,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,IAAI,cAAc,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBACzC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE;QACnD,mBAAmB,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,WAAW,CAAC,EAAE,CAAC,CAAC;QAChB,mBAAmB,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QAC/B,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,cAAc,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACzC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACrC,cAAc,CAAC,OAAO,GAAG,SAAS,CAAC;QACrC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,gBAAgB,GAAG,WAAW,CAClC,CACE,IAAY,EACZ,OAGkB,EACZ,EAAE;QACR,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACnD,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,eAAe,CAAC,EAAE,CAAC,CAAC;QACpB,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,cAAc,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACzC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACrC,cAAc,CAAC,OAAO,GAAG,SAAS,CAAC;QACrC,CAAC;QACD,cAAc,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACvC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;iBACtB,KAAK,CAAC,IAAI,EAAE,CAAC;iBACb,OAAO,CAAC,GAAG,EAAE;gBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,cAAc,CAAC,OAAO,GAAG,SAAS,CAAC;YACrC,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC,EACD,CAAC,SAAS,EAAE,QAAQ,CAAC,CACtB,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAC7B,GAAS,EAAE,CACT,gBAAgB,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAClD,eAAe,CACb,OAAO,EACP,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,EACxC,sBAAsB,EACtB,oBAAoB,CACrB,CACF,EACH;QACE,YAAY;QACZ,gBAAgB;QAChB,QAAQ;QACR,WAAW;QACX,MAAM;QACN,QAAQ;QACR,MAAM;QACN,sBAAsB;QACtB,oBAAoB;KACrB,CACF,CAAC;IAEF,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,IAAY,EAAE,MAA8B,EAAQ,EAAE,CACrD,gBAAgB,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAC1C,yBAAyB,CACvB,OAAO,EACP,MAAM,EACN,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,EACxC,sBAAsB;QACpB,CAAC,CAAC;YACE,sBAAsB;YACtB,GAAG,CAAC,oBAAoB,KAAK,SAAS;gBACpC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC;SAC9B;QACH,CAAC,CAAC,SAAS,CACd,CACF,EACH;QACE,gBAAgB;QAChB,QAAQ;QACR,WAAW;QACX,MAAM;QACN,QAAQ;QACR,MAAM;QACN,sBAAsB;QACtB,oBAAoB;KACrB,CACF,CAAC;IAEF,OAAO;QACL,YAAY;QACZ,eAAe;QACf,SAAS;QACT,QAAQ;QACR,WAAW;QACX,qBAAqB;QACrB,SAAS;QACT,gBAAgB;QAChB,cAAc;QACd,eAAe;KAChB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"LegendAIChatState.js","sourceRoot":"","sources":["../../../src/legend-ai/stores/LegendAIChatState.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-lego",
3
- "version": "2.0.195",
3
+ "version": "2.0.197",
4
4
  "description": "Legend code editor support",
5
5
  "keywords": [
6
6
  "legend",
@@ -50,10 +50,10 @@
50
50
  "test:watch": "jest --watch"
51
51
  },
52
52
  "dependencies": {
53
- "@finos/legend-application": "16.0.109",
54
- "@finos/legend-art": "7.1.150",
55
- "@finos/legend-code-editor": "2.0.175",
56
- "@finos/legend-graph": "32.6.7",
53
+ "@finos/legend-application": "16.0.111",
54
+ "@finos/legend-art": "7.1.152",
55
+ "@finos/legend-code-editor": "2.0.177",
56
+ "@finos/legend-graph": "32.6.8",
57
57
  "@finos/legend-shared": "11.0.25",
58
58
  "@types/css-font-loading-module": "0.0.14",
59
59
  "@types/react": "19.0.10",
@@ -31,7 +31,9 @@ import {
31
31
  clearMarkers,
32
32
  CODE_EDITOR_THEME,
33
33
  configureCodeEditor,
34
+ getCodeEditorThemeForAppTheme,
34
35
  } from '@finos/legend-code-editor';
36
+ import { autorun } from 'mobx';
35
37
  import {
36
38
  DEFAULT_TAB_SIZE,
37
39
  useApplicationStore,
@@ -85,6 +87,23 @@ export const configureCodeEditorComponent = async (
85
87
  commandArgs: keyCombination,
86
88
  })),
87
89
  );
90
+
91
+ // Sync Monaco's global editor theme with the application's color theme.
92
+ // `monaco.editor.setTheme` is process-global — calling it here applies the
93
+ // new theme to every existing Monaco instance, and any editor created later
94
+ // with no explicit `theme:` option will inherit it as well. The autorun
95
+ // runs once immediately (setting the initial theme based on whatever
96
+ // colorTheme the app booted with) and re-runs on every theme change.
97
+ //
98
+ // This is intentionally a long-lived subscription with no disposer — it's
99
+ // application lifetime, the editor module is initialized once per app boot.
100
+ autorun(() => {
101
+ monacoEditorAPI.setTheme(
102
+ getCodeEditorThemeForAppTheme(
103
+ applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled,
104
+ ),
105
+ );
106
+ });
88
107
  };
89
108
 
90
109
  /**
@@ -65,6 +65,10 @@ export class LegendAIConfig {
65
65
  maxJudgeAttempts?: number;
66
66
  /** Lakehouse runtime environment name (e.g. 'prod', 'uat'). Defaults to 'prod' when not set. */
67
67
  lakehouseEnvironment?: string;
68
+ /** URL to EngHub documentation for Legend AI setup. */
69
+ enghubDocUrl?: string;
70
+ /** URL to EntHub request access page for the AI coverage app. */
71
+ enthubRequestAccessUrl?: string;
68
72
  }
69
73
 
70
74
  export const DEFAULT_LEGEND_AI_CONFIG: LegendAIConfig = Object.freeze({
@@ -77,6 +81,17 @@ export const DEFAULT_LEGEND_AI_CONFIG: LegendAIConfig = Object.freeze({
77
81
  engineUrl: undefined,
78
82
  });
79
83
 
84
+ /** Runtime environment name that indicates production. */
85
+ export const LAKEHOUSE_ENV_PROD = 'prod';
86
+ /** EngHub coverage app name for production. */
87
+ export const COVERAGE_NAME_PROD = 'legend-ai';
88
+ /** EngHub coverage app name for non-production (sandbox). */
89
+ export const COVERAGE_NAME_SANDBOX = 'Legend-AI-Sandbox';
90
+
91
+ /** Action ID used to offer the Legend AI Orchestrator as a fallback. */
92
+ export const LEGEND_AI_ORCHESTRATOR_FALLBACK_ACTION_ID =
93
+ 'orchestrator-fallback';
94
+
80
95
  export function findLegendAIPlugin(
81
96
  plugins: LegendApplicationPlugin[],
82
97
  ): LegendAI_LegendApplicationPlugin_Extension | undefined {
@@ -108,10 +123,29 @@ export enum LegendAIThinkingStepStatus {
108
123
  }
109
124
 
110
125
  export class LegendAIThinkingStep {
126
+ id!: string;
111
127
  label!: string;
112
128
  status!: LegendAIThinkingStepStatus;
113
129
  }
114
130
 
131
+ export enum LegendAIErrorType {
132
+ PERMISSION = 'PERMISSION',
133
+ NETWORK = 'NETWORK',
134
+ EXECUTION = 'EXECUTION',
135
+ GENERATION = 'GENERATION',
136
+ GENERAL = 'GENERAL',
137
+ }
138
+
139
+ export class LegendAIServiceError extends Error {
140
+ override name = 'LegendAIServiceError';
141
+ errorType: LegendAIErrorType;
142
+
143
+ constructor(message: string, errorType: LegendAIErrorType) {
144
+ super(message);
145
+ this.errorType = errorType;
146
+ }
147
+ }
148
+
115
149
  export enum LegendAIMessageRole {
116
150
  USER = 'user',
117
151
  ASSISTANT = 'assistant',
@@ -123,20 +157,28 @@ export class LegendAIUserMessage {
123
157
  text!: string;
124
158
  }
125
159
 
160
+ export interface LegendAIFallbackAction {
161
+ label: string;
162
+ actionId: string;
163
+ }
164
+
126
165
  export class LegendAIAssistantMessage {
127
166
  id!: string;
128
167
  role!: LegendAIMessageRole.ASSISTANT;
129
168
  thinkingSteps!: LegendAIThinkingStep[];
130
169
  sql!: string | null;
131
170
  textAnswer!: string | null;
171
+ dataContext!: string | null;
132
172
  gridData!: LegendAIGridData | null;
133
173
  error!: string | null;
174
+ errorType!: LegendAIErrorType | null;
134
175
  sqlGenTime!: string | null;
135
176
  execTime!: string | null;
136
177
  thinkingDuration!: string | null;
137
178
  isProcessing!: boolean;
138
179
  isExecuting!: boolean;
139
180
  suggestedQueries!: string[];
181
+ fallbackAction!: LegendAIFallbackAction | null;
140
182
  }
141
183
 
142
184
  export type LegendAIMessage = LegendAIUserMessage | LegendAIAssistantMessage;
@@ -158,6 +200,7 @@ export interface LegendAIChatState {
158
200
  messages: LegendAIMessage[];
159
201
  askQuestion: () => void;
160
202
  askQuestionWithIntent: (text: string, intent: LegendAIQuestionIntent) => void;
203
+ runFallbackAction: (messageId: string) => void;
161
204
  clearChat: () => void;
162
205
  expandedThinking: Set<number>;
163
206
  toggleThinking: (index: number) => void;
@@ -240,10 +283,15 @@ export const DATA_QUERY_SIGNAL_PATTERNS: readonly RegExp[] = Object.freeze([
240
283
  /\b(?:which\s+\w+s?\s+(?:does|do|did|has|have|is|are|generate|earn|produce))\b/,
241
284
  /\b(?:how\s+(?:much|many|often))\b/,
242
285
  /\b\d{4}[-/]\d{2}[-/]\d{2}\b/,
286
+ /\b(?:january|february|march|april|may|june|july|august|september|october|november|december)\s+\d/,
243
287
  /\b(?:as\s+of|since|before|after|between|from|until|latest|recent|yesterday|today)\b/,
244
288
  /\blast\s+(?:year|month|week|quarter|fiscal)\b/,
245
289
  /\b(?:fiscal\s+(?:year|quarter)|fy\s*\d|q[1-4]\s*\d{4})\b/,
246
290
  /\b(?:sedol|isin|cusip|ticker|symbol)[\s:=]*\w+/,
291
+ /\([A-Z]{1,5}\)/,
292
+ /\b(?:bonds?|securities|equities|options?|futures?|swaps?)\b/,
293
+ /\b(?:stocks?|cds|etfs?|funds?)\b/,
294
+ /\b(?:score|scores|spread|spreads|yield|yields|duration|convexity|coupon|nav|oas|dv01|notional|bid|ask|mid|vwap)\b/,
247
295
  /\b(?:revenue|sales|income|profit|earnings|margin|growth|volume|price|rate|exposure)\b/,
248
296
  /\b(?:breakdown|distribution|composition|split|allocation|attribution|ranking|trend)\b/,
249
297
  /\b(?:per\s+(?:country|region|year|month|quarter|segment|category))\b/,
@@ -296,11 +344,13 @@ export function classifyQuestionIntentFast(
296
344
  const dataScore = countPatternMatches(q, DATA_QUERY_SIGNAL_PATTERNS);
297
345
 
298
346
  if (metaScore > 0 && dataScore === 0) {
347
+ const isStructural =
348
+ PRODUCT_REFERENCE_PATTERN.test(q) || STRUCTURAL_KEYWORD_PATTERN.test(q);
299
349
  return {
300
350
  intent: LegendAIQuestionIntent.METADATA,
301
351
  metaScore,
302
352
  dataScore,
303
- ambiguous: false,
353
+ ambiguous: hasServices && !isStructural,
304
354
  };
305
355
  }
306
356
  if (dataScore > 0 && metaScore === 0) {
@@ -79,6 +79,50 @@ export class LegendAIResolvedEntities {
79
79
  relatedEntities!: string[];
80
80
  }
81
81
 
82
+ export class LegendAIEntityCandidate {
83
+ datasetName!: string;
84
+ description?: string;
85
+ modelPath!: string;
86
+ similarityScore!: number;
87
+ }
88
+
89
+ export enum LegendAIChartType {
90
+ BAR = 'bar',
91
+ LINE = 'line',
92
+ PIE = 'pie',
93
+ TABLE = 'table',
94
+ NONE = 'none',
95
+ }
96
+
97
+ export class LegendAIChartRecommendation {
98
+ chartType!: LegendAIChartType;
99
+ xAxis?: string;
100
+ yAxis?: string;
101
+ label?: string;
102
+ reasoning!: string;
103
+ }
104
+
105
+ export class LegendAIKeyMetric {
106
+ label!: string;
107
+ value!: string;
108
+ detail?: string;
109
+ }
110
+
111
+ export class LegendAIChartDataPoint {
112
+ label!: string;
113
+ value!: number;
114
+ color?: string;
115
+ colorIndex?: number;
116
+ }
117
+
118
+ export class LegendAIResultAnalysis {
119
+ summary!: string;
120
+ chartRecommendation?: LegendAIChartRecommendation;
121
+ keyMetrics!: LegendAIKeyMetric[];
122
+ chartData!: LegendAIChartDataPoint[];
123
+ suggestedQueries!: string[];
124
+ }
125
+
82
126
  /**
83
127
  * @deprecated Use {@link QueryExplicitExecutionContextInfo} from `@finos/legend-graph` directly.
84
128
  */
@@ -182,6 +226,7 @@ export abstract class LegendAI_LegendApplicationPlugin_Extension extends LegendA
182
226
  query: string,
183
227
  dataProductCoordinates: LegendAIOrchestratorDataProductCoordinates,
184
228
  config: LegendAIConfig,
229
+ pureExecutionContext?: QueryExplicitExecutionContextInfo,
185
230
  ): Promise<LegendAIResolvedEntities>;
186
231
 
187
232
  /**
@@ -205,4 +250,128 @@ export abstract class LegendAI_LegendApplicationPlugin_Extension extends LegendA
205
250
  dataProductCoordinates: LegendAIOrchestratorDataProductCoordinates,
206
251
  config: LegendAIConfig,
207
252
  ): Promise<LegendAISqlExecutionResultData>;
253
+
254
+ /**
255
+ * Analyze query results using the LLM to produce a summary, chart
256
+ * recommendation, key metrics, and suggested follow-up queries.
257
+ */
258
+ abstract analyzeQueryResults(
259
+ question: string,
260
+ query: string,
261
+ columns: string[],
262
+ rows: TDSRowDataType[],
263
+ metadata: LegendAIProductMetadata,
264
+ config: LegendAIConfig,
265
+ ): Promise<LegendAIResultAnalysis | undefined>;
266
+
267
+ /**
268
+ * Build a fallback analysis when the query returns no results.
269
+ */
270
+ abstract buildNoResultsFallback(
271
+ question: string,
272
+ query: string,
273
+ metadata: LegendAIProductMetadata,
274
+ config: LegendAIConfig,
275
+ ): Promise<LegendAIResultAnalysis | undefined>;
276
+
277
+ /**
278
+ * Build a contextual summary of the data product for the user.
279
+ */
280
+ abstract buildDataContextSummary(
281
+ question: string,
282
+ metadata: LegendAIProductMetadata,
283
+ config: LegendAIConfig,
284
+ ): Promise<string | undefined>;
285
+
286
+ /**
287
+ * Build a fallback message when query execution fails.
288
+ */
289
+ abstract buildFailureFallback(
290
+ question: string,
291
+ errorMessage: string,
292
+ metadata: LegendAIProductMetadata,
293
+ config: LegendAIConfig,
294
+ ): Promise<string | undefined>;
295
+
296
+ /**
297
+ * Given a user question and pre-fetched entity search candidates, disambiguate
298
+ * which entity is the correct root for the query. Uses LLM disambiguation
299
+ * and/or probing to pick the best entity.
300
+ */
301
+ abstract disambiguateEntity(
302
+ question: string,
303
+ candidates: LegendAIEntityCandidate[],
304
+ config: LegendAIConfig,
305
+ pureExecutionContext?: QueryExplicitExecutionContextInfo,
306
+ dataProductCoordinates?: LegendAIOrchestratorDataProductCoordinates,
307
+ ): Promise<LegendAIResolvedEntities>;
308
+
309
+ /**
310
+ * Given a user question and candidate data products (with their matched fields),
311
+ * use the LLM to pick the top N most relevant products.
312
+ * Returns 0-based indices into the candidates array, ordered by relevance.
313
+ * Returns undefined if reranking is not possible (e.g. LLM unavailable).
314
+ */
315
+ abstract rerankProducts(
316
+ question: string,
317
+ candidates: {
318
+ title: string;
319
+ description: string;
320
+ matchedFields: string[];
321
+ }[],
322
+ allFieldNames: string[],
323
+ topN: number,
324
+ config: LegendAIConfig,
325
+ ): Promise<number[] | undefined>;
326
+
327
+ /**
328
+ * Given a user question and available services, use LLM to select the most
329
+ * relevant service(s) for SQL generation. Returns the filtered subset of
330
+ * services. Default implementation returns all services (no pre-filtering).
331
+ * Override in plugins to add LLM-based service selection.
332
+ */
333
+ selectRelevantServices(
334
+ _question: string,
335
+ services: TDSServiceSchema[],
336
+ _config: LegendAIConfig,
337
+ ): Promise<TDSServiceSchema[]> {
338
+ return Promise.resolve(services);
339
+ }
340
+
341
+ /**
342
+ * Probe a service by executing SELECT * LIMIT 1 to discover the real column
343
+ * names from the engine. Returns the actual column names or undefined if
344
+ * probing fails (non-fatal). This is the ground truth for column names.
345
+ */
346
+ probeServiceColumns(
347
+ _service: TDSServiceSchema,
348
+ _coordinates: string,
349
+ _config: LegendAIConfig,
350
+ ): Promise<string[] | undefined> {
351
+ return Promise.resolve(undefined);
352
+ }
353
+
354
+ /**
355
+ * Build an error correction prompt that feeds the execution error back to
356
+ * the LLM and asks it to fix the SQL. Used in the execution retry loop.
357
+ */
358
+ abstract buildErrorCorrectionPrompt(
359
+ failedSql: string,
360
+ errorMessage: string,
361
+ question: string,
362
+ services: TDSServiceSchema[],
363
+ coordinates: string,
364
+ availableColumns?: string[],
365
+ ): string;
366
+
367
+ /**
368
+ * Build a zero-row correction prompt that asks the LLM to relax or fix
369
+ * filters when a syntactically valid query returns 0 rows.
370
+ */
371
+ abstract buildZeroRowCorrectionPrompt(
372
+ sql: string,
373
+ question: string,
374
+ services: TDSServiceSchema[],
375
+ coordinates: string,
376
+ ): string;
208
377
  }
@@ -55,14 +55,17 @@ export const TEST__makeAssistantMessage = (
55
55
  thinkingSteps: [],
56
56
  sql: null,
57
57
  textAnswer: null,
58
+ dataContext: null,
58
59
  gridData: null,
59
60
  error: null,
61
+ errorType: null,
60
62
  sqlGenTime: null,
61
63
  execTime: null,
62
64
  thinkingDuration: null,
63
65
  isProcessing: true,
64
66
  isExecuting: false,
65
67
  suggestedQueries: [],
68
+ fallbackAction: null,
66
69
  ...overrides,
67
70
  });
68
71
  export const TEST__seedAssistant = (setter: MessageSetter): void => {
@@ -135,5 +138,11 @@ export const TEST__createMockLegendAIPlugin = (
135
138
  extractJudgeResult: (_a: string): LegendAIJudgeResult => ({
136
139
  verdict: LegendAIJudgeVerdict.PASS,
137
140
  }),
141
+ selectRelevantServices: (
142
+ _q: string,
143
+ services: TDSServiceSchema[],
144
+ ): Promise<TDSServiceSchema[]> => Promise.resolve(services),
145
+ buildErrorCorrectionPrompt: (): string => '',
146
+ buildZeroRowCorrectionPrompt: (): string => '',
138
147
  ...overrides,
139
148
  }) as LegendAI_LegendApplicationPlugin_Extension;
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Copyright (c) 2026-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { useMemo } from 'react';
18
+ import { LegendAIChartType } from '../LegendAI_LegendApplicationPlugin_Extension.js';
19
+ import type { LegendAIGridData } from '../LegendAITypes.js';
20
+ import {
21
+ computeKeyMetrics,
22
+ computeChartData,
23
+ inferChartType,
24
+ findNumericColumnName,
25
+ } from './LegendAIAnalysisUtils.js';
26
+ import { LegendAIBarChart, LegendAIDonutChart } from './LegendAICharts.js';
27
+
28
+ export const LegendAIAnalysisPanel = (props: {
29
+ gridData: LegendAIGridData;
30
+ summary: string;
31
+ SummaryRenderer: React.ComponentType<{ value: string }>;
32
+ }): React.ReactNode => {
33
+ const { gridData, summary, SummaryRenderer } = props;
34
+
35
+ const metrics = useMemo(() => computeKeyMetrics(gridData), [gridData]);
36
+
37
+ const chartType = useMemo(() => inferChartType(gridData), [gridData]);
38
+
39
+ const chartData = useMemo(
40
+ () =>
41
+ chartType === LegendAIChartType.NONE ? [] : computeChartData(gridData),
42
+ [gridData, chartType],
43
+ );
44
+
45
+ const numericColName = useMemo(
46
+ () => findNumericColumnName(gridData),
47
+ [gridData],
48
+ );
49
+
50
+ const donutTitleProp = useMemo(
51
+ () =>
52
+ numericColName === undefined
53
+ ? {}
54
+ : { title: `${numericColName} Distribution` },
55
+ [numericColName],
56
+ );
57
+ const barTitleProp = useMemo(
58
+ () =>
59
+ numericColName === undefined
60
+ ? {}
61
+ : { title: `Top ${chartData.length} by ${numericColName}` },
62
+ [numericColName, chartData.length],
63
+ );
64
+
65
+ return (
66
+ <div className="legend-ai-analysis">
67
+ {metrics.length > 0 && (
68
+ <div className="legend-ai-analysis__metrics">
69
+ {metrics.map((m) => (
70
+ <div key={m.label} className="legend-ai-analysis__metric-card">
71
+ <span className="legend-ai-analysis__metric-value">
72
+ {m.value}
73
+ </span>
74
+ <span className="legend-ai-analysis__metric-label">
75
+ {m.label}
76
+ </span>
77
+ {m.detail !== undefined && (
78
+ <span className="legend-ai-analysis__metric-detail">
79
+ {m.detail}
80
+ </span>
81
+ )}
82
+ </div>
83
+ ))}
84
+ </div>
85
+ )}
86
+
87
+ {chartData.length > 0 && (
88
+ <div className="legend-ai-analysis__chart-section">
89
+ {chartType === LegendAIChartType.PIE ? (
90
+ <LegendAIDonutChart data={chartData} {...donutTitleProp} />
91
+ ) : (
92
+ <LegendAIBarChart data={chartData} {...barTitleProp} />
93
+ )}
94
+ </div>
95
+ )}
96
+
97
+ <div className="legend-ai-analysis__narrative">
98
+ <SummaryRenderer value={summary} />
99
+ </div>
100
+ </div>
101
+ );
102
+ };