@memberjunction/core-actions 2.105.0 → 2.107.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 (41) hide show
  1. package/dist/config.d.ts +112 -0
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js +34 -2
  4. package/dist/config.js.map +1 -1
  5. package/dist/custom/ai/summarize-content.action.d.ts +72 -0
  6. package/dist/custom/ai/summarize-content.action.d.ts.map +1 -0
  7. package/dist/custom/ai/summarize-content.action.js +388 -0
  8. package/dist/custom/ai/summarize-content.action.js.map +1 -0
  9. package/dist/custom/data/execute-research-query.action.d.ts +96 -0
  10. package/dist/custom/data/execute-research-query.action.d.ts.map +1 -0
  11. package/dist/custom/data/execute-research-query.action.js +413 -0
  12. package/dist/custom/data/execute-research-query.action.js.map +1 -0
  13. package/dist/custom/data/explore-database-schema.action.d.ts +91 -0
  14. package/dist/custom/data/explore-database-schema.action.d.ts.map +1 -0
  15. package/dist/custom/data/explore-database-schema.action.js +406 -0
  16. package/dist/custom/data/explore-database-schema.action.js.map +1 -0
  17. package/dist/custom/files/index.d.ts +2 -0
  18. package/dist/custom/files/index.d.ts.map +1 -1
  19. package/dist/custom/files/index.js +5 -1
  20. package/dist/custom/files/index.js.map +1 -1
  21. package/dist/custom/files/list-storage-providers.action.d.ts +52 -0
  22. package/dist/custom/files/list-storage-providers.action.d.ts.map +1 -0
  23. package/dist/custom/files/list-storage-providers.action.js +175 -0
  24. package/dist/custom/files/list-storage-providers.action.js.map +1 -0
  25. package/dist/custom/files/search-storage-files.action.d.ts +61 -0
  26. package/dist/custom/files/search-storage-files.action.d.ts.map +1 -0
  27. package/dist/custom/files/search-storage-files.action.js +183 -0
  28. package/dist/custom/files/search-storage-files.action.js.map +1 -0
  29. package/dist/custom/web/google-custom-search.action.d.ts +55 -0
  30. package/dist/custom/web/google-custom-search.action.d.ts.map +1 -0
  31. package/dist/custom/web/google-custom-search.action.js +310 -0
  32. package/dist/custom/web/google-custom-search.action.js.map +1 -0
  33. package/dist/generated/action_subclasses.d.ts +51 -3
  34. package/dist/generated/action_subclasses.d.ts.map +1 -1
  35. package/dist/generated/action_subclasses.js +174 -90
  36. package/dist/generated/action_subclasses.js.map +1 -1
  37. package/dist/index.d.ts +4 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +16 -0
  40. package/dist/index.js.map +1 -1
  41. package/package.json +13 -11
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summarize-content.action.js","sourceRoot":"","sources":["../../../src/custom/ai/summarize-content.action.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+DAAgG;AAChG,qDAAyE;AACzE,mDAAuD;AACvD,+CAA0D;AAqB1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEI,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,oBAAU;IAExC,KAAK,CAAC,iBAAiB,CAAC,MAAuB;QACrD,IAAI,CAAC;YACD,qBAAqB;YACrB,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;YACvE,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;YAChF,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;YACrE,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,iCAAiC,CAAC,CAAC;YACpG,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YAElE,8CAA8C;YAC9C,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,iBAAiB,CACzB,kDAAkD,EAClD,eAAe,CAClB,CAAC;YACN,CAAC;YAED,uDAAuD;YACvD,IAAI,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC,iBAAiB,CACzB,uEAAuE,EACvE,oBAAoB,CACvB,CAAC;YACN,CAAC;YAED,IAAI,WAAmB,CAAC;YACxB,IAAI,cAAsB,CAAC;YAE3B,gCAAgC;YAChC,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;gBAChE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;oBACvB,OAAO,IAAI,CAAC,iBAAiB,CACzB,6BAA6B,WAAW,CAAC,KAAK,EAAE,EAChD,cAAc,CACjB,CAAC;gBACN,CAAC;gBACD,WAAW,GAAG,WAAW,CAAC,OAAQ,CAAC;gBACnC,cAAc,GAAG,GAAG,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACJ,uBAAuB;gBACvB,WAAW,GAAG,OAAQ,CAAC;gBACvB,cAAc,GAAG,SAAU,CAAC;YAChC,CAAC;YAED,4DAA4D;YAC5D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,cAAc,EAAE;gBAC1E,YAAY;gBACZ,gBAAgB;gBAChB,YAAY;gBACZ,YAAY;gBACZ,MAAM;aACT,EAAE,MAAM,CAAC,CAAC;YAEX,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,iBAAiB,CACzB,+BAA+B,aAAa,CAAC,KAAK,EAAE,EACpD,sBAAsB,CACzB,CAAC;YACN,CAAC;YAED,wBAAwB;YACxB,MAAM,UAAU,GAAG,aAAa,CAAC,IAAqB,CAAC;YACvD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YAC3D,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;YAC/D,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACtB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;YACjE,CAAC;YAED,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,SAAS;gBACrB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;aAC/C,CAAC;QAEN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAA,eAAQ,EAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC,iBAAiB,CACzB,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EACtF,kBAAkB,CACrB,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAC7B,GAAW,EACX,MAAuB;QAEvB,IAAI,CAAC;YACD,gDAAgD;YAChD,MAAM,YAAY,GAAkB,CAAC;oBACjC,IAAI,EAAE,KAAK;oBACX,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,GAAG;iBACb,CAAC,CAAC;YAEH,0CAA0C;YAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAElG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,MAAM,CAAC,OAAO,IAAI,0BAA0B;iBACtD,CAAC;YACN,CAAC;YAED,8BAA8B;YAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;YACrC,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,OAAO;aACV,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAChE,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CACzB,OAAe,EACf,SAAiB,EACjB,OAMC,EACD,MAAuB;QAEvB,IAAI,CAAC;YACD,iCAAiC;YACjC,MAAM,gBAAgB,GAAG;gBACrB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,OAAO,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,mBAAmB,OAAO,CAAC,MAAM,0BAA0B,OAAO,CAAC,YAAY,QAAQ;qBACvG;oBACD,SAAS,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,8BAA8B;qBAC9C;oBACD,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI;wBAC5B,SAAS,EAAE;4BACP,IAAI,EAAE,OAAO;4BACb,WAAW,EAAE,SAAS,OAAO,CAAC,YAAY,yCAAyC;4BACnF,KAAK,EAAE;gCACH,IAAI,EAAE,QAAQ;gCACd,UAAU,EAAE;oCACR,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE;oCACjE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;oCACpE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;oCACpE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;oCACtE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE;iCAC5E;gCACD,QAAQ,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC;6BACzC;yBACJ;qBACJ,CAAC;oBACF,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC;wBAC9D,SAAS,EAAE;4BACP,IAAI,EAAE,OAAO;4BACb,WAAW,EAAE,gCAAgC;4BAC7C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC5B;qBACJ,CAAC,CAAC,CAAC,EAAE,CAAC;oBACP,QAAQ,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACR,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;4BAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAChC;qBACJ;iBACJ;gBACD,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC;aACjD,CAAC;YAEF,wBAAwB;YACxB,MAAM,UAAU,GAAG;gBACf,OAAO;gBACP,SAAS;gBACT,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;aACrD,CAAC;YAEF,+DAA+D;YAC/D,MAAM,YAAY,GAAkB,CAAC;oBACjC,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,mBAAmB;iBAC7B,EAAE;oBACC,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;iBACpC,EAAE;oBACC,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,aAAa;iBACvB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAE/F,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,MAAM,CAAC,OAAO,IAAI,6BAA6B;iBACzD,CAAC;YACN,CAAC;YAED,mBAAmB;YACnB,IAAI,YAAiB,CAAC;YACtB,IAAI,CAAC;gBACD,oEAAoE;gBACpE,YAAY,GAAG,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;oBAC7C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;oBAC5B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YACzB,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBAClB,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,gCAAgC,UAAU,EAAE;iBACtD,CAAC;YACN,CAAC;YAED,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,YAAY;aACrB,CAAC;QAEN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAChE,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CACvB,UAAkB,EAClB,MAAqB,EACrB,WAAgB;QAEhB,uCAAuC;QACvC,MAAM,EAAE,OAAO,EAAE,GAAG,wDAAa,sBAAsB,GAAC,CAAC;QACzD,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC;YAC5B,UAAU,EAAE,SAAS;YACrB,WAAW,EAAE,SAAS,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG;YACvD,UAAU,EAAE,eAAe;SAC9B,EAAE,WAAW,CAAC,CAAC;QAEhB,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,kBAAkB;gBAC9B,OAAO,EAAE,WAAW,UAAU,aAAa;aAC9C,CAAC;QACN,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEjC,wBAAwB;QACxB,MAAM,SAAS,GAAG,IAAI,8BAAe,EAAE,CAAC;QACxC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;QAC1B,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;QAC1B,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;QACpC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,kCAAkC;QAElE,qBAAqB;QACrB,MAAM,MAAM,GAAG,IAAI,4BAAkB,EAAE,CAAC;QACxC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAEvD,OAAO;YACH,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;YACtD,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,MAAM,EAAE,YAAY,CAAC,MAAM;SAC9B,CAAC;IACN,CAAC;IAED,iDAAiD;IACzC,cAAc,CAAC,MAAuB,EAAE,SAAiB,EAAE,YAAqB;QACpF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC9D,OAAO,YAAY,CAAC;QACxB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC;IACnD,CAAC;IAEO,eAAe,CAAC,MAAuB,EAAE,SAAiB,EAAE,YAAoB;QACpF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC9D,OAAO,YAAY,CAAC;QACxB,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;IACjD,CAAC;IAEO,eAAe,CAAC,MAAuB,EAAE,SAAiB,EAAE,YAAqB;QACrF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YAC9D,OAAO,YAAY,CAAC;QACxB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACvD,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;IAEO,cAAc,CAAC,MAAuB,EAAE,IAAY,EAAE,KAAc;QACxE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,KAAK;SACf,CAAC,CAAC;IACP,CAAC;IAEO,iBAAiB,CAAC,OAAe,EAAE,IAAY;QACnD,OAAO;YACH,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,OAAO;YAChB,UAAU,EAAE,IAAI;SACnB,CAAC;IACN,CAAC;CACJ,CAAA;AAnWY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,sBAAa,EAAC,oBAAU,EAAE,mBAAmB,CAAC;GAClC,sBAAsB,CAmWlC;AAED;;GAEG;AACH,SAAgB,0BAA0B;IACtC,2GAA2G;AAC/G,CAAC;AAFD,gEAEC"}
@@ -0,0 +1,96 @@
1
+ import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
2
+ import { BaseAction } from "@memberjunction/actions";
3
+ /**
4
+ * Action that executes read-only SQL SELECT queries for research purposes with
5
+ * comprehensive security validation.
6
+ *
7
+ * Security Features:
8
+ * - SQL syntax validation using node-sql-parser
9
+ * - SELECT-only enforcement (rejects INSERT, UPDATE, DELETE, DROP, etc.)
10
+ * - Dangerous operation detection (EXEC, xp_, sp_, dynamic SQL, etc.)
11
+ * - Query timeout protection
12
+ * - Audit logging of all queries
13
+ * - Result size limiting
14
+ *
15
+ * Performance Features:
16
+ * - Configurable row limits to prevent overwhelming results
17
+ * - Optional execution plan for performance analysis
18
+ * - Execution time tracking
19
+ * - Validation warnings for potentially slow queries
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * // Simple SELECT query
24
+ * await runAction({
25
+ * ActionName: 'Execute Research Query',
26
+ * Params: [{
27
+ * Name: 'Query',
28
+ * Value: 'SELECT TOP 100 * FROM Customers WHERE Country = @Country'
29
+ * }]
30
+ * });
31
+ *
32
+ * // Query with timeout and execution plan
33
+ * await runAction({
34
+ * ActionName: 'Execute Research Query',
35
+ * Params: [{
36
+ * Name: 'Query',
37
+ * Value: 'SELECT COUNT(*) FROM Orders GROUP BY CustomerID'
38
+ * }, {
39
+ * Name: 'Timeout',
40
+ * Value: 60
41
+ * }, {
42
+ * Name: 'IncludeExecutionPlan',
43
+ * Value: true
44
+ * }]
45
+ * });
46
+ * ```
47
+ */
48
+ export declare class ExecuteResearchQueryAction extends BaseAction {
49
+ private readonly parser;
50
+ /**
51
+ * List of dangerous SQL keywords and patterns that should be blocked
52
+ */
53
+ private readonly DANGEROUS_PATTERNS;
54
+ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
55
+ /**
56
+ * Validates query for security concerns
57
+ */
58
+ private validateQuerySecurity;
59
+ /**
60
+ * Validates SQL syntax using node-sql-parser
61
+ */
62
+ private validateQuerySyntax;
63
+ /**
64
+ * Ensures query has a row limit to prevent overwhelming results
65
+ */
66
+ private ensureRowLimit;
67
+ /**
68
+ * Generates validation warnings for potentially problematic queries
69
+ */
70
+ private generateValidationWarnings;
71
+ /**
72
+ * Formats results as CSV string
73
+ */
74
+ private formatAsCSV;
75
+ /**
76
+ * Formats results as ASCII table
77
+ */
78
+ private formatAsTable;
79
+ /**
80
+ * Helper to get string parameter value
81
+ */
82
+ private getStringParam;
83
+ /**
84
+ * Helper to get numeric parameter value
85
+ */
86
+ private getNumericParam;
87
+ /**
88
+ * Helper to get boolean parameter value
89
+ */
90
+ private getBooleanParam;
91
+ }
92
+ /**
93
+ * Load function to ensure the class is registered and not tree-shaken
94
+ */
95
+ export declare function LoadExecuteResearchQueryAction(): void;
96
+ //# sourceMappingURL=execute-research-query.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-research-query.action.d.ts","sourceRoot":"","sources":["../../../src/custom/data/execute-research-query.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAMrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,qBACa,0BAA2B,SAAQ,UAAU;IAEtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IAEvC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAwBjC;cAEc,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAiKvF;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA4B7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAiBtB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA8BlC;;OAEG;IACH,OAAO,CAAC,WAAW;IAuBnB;;OAEG;IACH,OAAO,CAAC,aAAa;IA4BrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;IACH,OAAO,CAAC,eAAe;CAY1B;AAED;;GAEG;AACH,wBAAgB,8BAA8B,SAE7C"}
@@ -0,0 +1,413 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.LoadExecuteResearchQueryAction = exports.ExecuteResearchQueryAction = void 0;
10
+ const global_1 = require("@memberjunction/global");
11
+ const actions_1 = require("@memberjunction/actions");
12
+ const global_2 = require("@memberjunction/global");
13
+ const core_1 = require("@memberjunction/core");
14
+ const node_sql_parser_1 = require("node-sql-parser");
15
+ /**
16
+ * Action that executes read-only SQL SELECT queries for research purposes with
17
+ * comprehensive security validation.
18
+ *
19
+ * Security Features:
20
+ * - SQL syntax validation using node-sql-parser
21
+ * - SELECT-only enforcement (rejects INSERT, UPDATE, DELETE, DROP, etc.)
22
+ * - Dangerous operation detection (EXEC, xp_, sp_, dynamic SQL, etc.)
23
+ * - Query timeout protection
24
+ * - Audit logging of all queries
25
+ * - Result size limiting
26
+ *
27
+ * Performance Features:
28
+ * - Configurable row limits to prevent overwhelming results
29
+ * - Optional execution plan for performance analysis
30
+ * - Execution time tracking
31
+ * - Validation warnings for potentially slow queries
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * // Simple SELECT query
36
+ * await runAction({
37
+ * ActionName: 'Execute Research Query',
38
+ * Params: [{
39
+ * Name: 'Query',
40
+ * Value: 'SELECT TOP 100 * FROM Customers WHERE Country = @Country'
41
+ * }]
42
+ * });
43
+ *
44
+ * // Query with timeout and execution plan
45
+ * await runAction({
46
+ * ActionName: 'Execute Research Query',
47
+ * Params: [{
48
+ * Name: 'Query',
49
+ * Value: 'SELECT COUNT(*) FROM Orders GROUP BY CustomerID'
50
+ * }, {
51
+ * Name: 'Timeout',
52
+ * Value: 60
53
+ * }, {
54
+ * Name: 'IncludeExecutionPlan',
55
+ * Value: true
56
+ * }]
57
+ * });
58
+ * ```
59
+ */
60
+ let ExecuteResearchQueryAction = class ExecuteResearchQueryAction extends actions_1.BaseAction {
61
+ parser = new node_sql_parser_1.Parser();
62
+ /**
63
+ * List of dangerous SQL keywords and patterns that should be blocked
64
+ */
65
+ DANGEROUS_PATTERNS = [
66
+ /\bEXEC\b/i,
67
+ /\bEXECUTE\b/i,
68
+ /\bsp_/i,
69
+ /\bxp_/i,
70
+ /\bOPENROWSET\b/i,
71
+ /\bOPENQUERY\b/i,
72
+ /\bOPENDATASOURCE\b/i,
73
+ /\bINSERT\b/i,
74
+ /\bUPDATE\b/i,
75
+ /\bDELETE\b/i,
76
+ /\bDROP\b/i,
77
+ /\bCREATE\b/i,
78
+ /\bALTER\b/i,
79
+ /\bTRUNCATE\b/i,
80
+ /\bGRANT\b/i,
81
+ /\bREVOKE\b/i,
82
+ /\bDENY\b/i,
83
+ /\bBACKUP\b/i,
84
+ /\bRESTORE\b/i,
85
+ /\bSHUTDOWN\b/i,
86
+ /\bDBCC\b/i,
87
+ /--\+/, // SQL hints
88
+ /\/\*\+/ // Oracle-style hints
89
+ ];
90
+ async InternalRunAction(params) {
91
+ const startTime = Date.now();
92
+ try {
93
+ // Extract parameters
94
+ const query = this.getStringParam(params, "query");
95
+ if (!query) {
96
+ return {
97
+ Success: false,
98
+ ResultCode: "MISSING_QUERY",
99
+ Message: "Query parameter is required"
100
+ };
101
+ }
102
+ const maxRows = this.getNumericParam(params, "maxrows", 1000);
103
+ const timeout = this.getNumericParam(params, "timeout", 30);
104
+ const includeExecutionPlan = this.getBooleanParam(params, "includeexecutionplan", false);
105
+ const resultFormat = this.getStringParam(params, "resultformat") || 'json';
106
+ // Validate query security
107
+ const securityValidation = this.validateQuerySecurity(query);
108
+ if (!securityValidation.isValid) {
109
+ return {
110
+ Success: false,
111
+ ResultCode: securityValidation.resultCode,
112
+ Message: securityValidation.message
113
+ };
114
+ }
115
+ // Parse and validate SQL syntax
116
+ const syntaxValidation = this.validateQuerySyntax(query);
117
+ if (!syntaxValidation.isValid) {
118
+ return {
119
+ Success: false,
120
+ ResultCode: "INVALID_SQL_SYNTAX",
121
+ Message: syntaxValidation.message
122
+ };
123
+ }
124
+ // Ensure query returns limited results
125
+ const limitedQuery = this.ensureRowLimit(query, maxRows);
126
+ const dataProvider = core_1.BaseEntity.Provider;
127
+ let executionPlanData = undefined;
128
+ try {
129
+ // Get execution plan if requested
130
+ if (includeExecutionPlan) {
131
+ const planQuery = `SET SHOWPLAN_XML ON;\n${limitedQuery}\nSET SHOWPLAN_XML OFF;`;
132
+ try {
133
+ const planResult = await dataProvider.ExecuteSQL(planQuery, null, {
134
+ description: 'Execute Research Query - Get Execution Plan',
135
+ ignoreLogging: false
136
+ }, params.ContextUser);
137
+ if (planResult.recordset && planResult.recordset.length > 0) {
138
+ executionPlanData = planResult.recordset[0];
139
+ }
140
+ }
141
+ catch (planError) {
142
+ // Execution plan is optional, log error but continue
143
+ (0, core_1.LogError)(`Failed to retrieve execution plan: ${planError}`);
144
+ }
145
+ }
146
+ // Execute the query with timeout
147
+ // Note: SQL Server timeout is in seconds for request.timeout
148
+ const queryStartTime = Date.now();
149
+ const result = await Promise.race([
150
+ dataProvider.ExecuteSQL(limitedQuery, null, {
151
+ description: 'Execute Research Query',
152
+ ignoreLogging: false,
153
+ isMutation: false
154
+ }, params.ContextUser),
155
+ new Promise((_, reject) => setTimeout(() => reject(new Error('Query timeout exceeded')), timeout * 1000))
156
+ ]);
157
+ const executionTimeMs = Date.now() - queryStartTime;
158
+ const results = result.recordset || [];
159
+ // Get column metadata
160
+ const columns = result.recordset && result.recordset.columns
161
+ ? Object.entries(result.recordset.columns).map(([name, col]) => ({
162
+ ColumnName: name,
163
+ DataType: col.type?.name || 'unknown',
164
+ IsNullable: col.nullable !== false
165
+ }))
166
+ : [];
167
+ const wasTruncated = results.length >= maxRows;
168
+ // Generate validation warnings
169
+ const warnings = this.generateValidationWarnings(query, results.length, executionTimeMs);
170
+ // Format results based on requested format
171
+ let formattedResults = results;
172
+ if (resultFormat === 'csv') {
173
+ formattedResults = this.formatAsCSV(results);
174
+ }
175
+ else if (resultFormat === 'table') {
176
+ formattedResults = this.formatAsTable(results);
177
+ }
178
+ const totalExecutionTime = Date.now() - startTime;
179
+ return {
180
+ Success: true,
181
+ ResultCode: "SUCCESS",
182
+ Message: `Query executed successfully, returned ${results.length} row(s) in ${executionTimeMs}ms`,
183
+ Results: formattedResults,
184
+ Columns: columns,
185
+ RowCount: results.length,
186
+ ExecutionTimeMs: executionTimeMs,
187
+ TotalTimeMs: totalExecutionTime,
188
+ WasTruncated: wasTruncated,
189
+ ExecutionPlan: executionPlanData,
190
+ ValidationWarnings: warnings,
191
+ Query: limitedQuery
192
+ };
193
+ }
194
+ catch (queryError) {
195
+ // Handle query timeout
196
+ if (queryError.message && queryError.message.includes('timeout')) {
197
+ return {
198
+ Success: false,
199
+ ResultCode: "QUERY_TIMEOUT",
200
+ Message: `Query execution exceeded ${timeout} second timeout. Consider optimizing query or increasing timeout parameter.`
201
+ };
202
+ }
203
+ // Handle permission errors
204
+ if (queryError.message &&
205
+ (queryError.message.toLowerCase().includes('permission') ||
206
+ queryError.message.toLowerCase().includes('denied'))) {
207
+ return {
208
+ Success: false,
209
+ ResultCode: "PERMISSION_DENIED",
210
+ Message: `Insufficient permissions to execute query: ${queryError.message}`
211
+ };
212
+ }
213
+ // Handle other database errors
214
+ return {
215
+ Success: false,
216
+ ResultCode: "DATABASE_ERROR",
217
+ Message: `Database error occurred: ${queryError.message || String(queryError)}`
218
+ };
219
+ }
220
+ }
221
+ catch (error) {
222
+ const errorMessage = error instanceof Error ? error.message : String(error);
223
+ return {
224
+ Success: false,
225
+ ResultCode: "QUERY_EXECUTION_FAILED",
226
+ Message: `Query execution failed: ${errorMessage}`
227
+ };
228
+ }
229
+ }
230
+ /**
231
+ * Validates query for security concerns
232
+ */
233
+ validateQuerySecurity(query) {
234
+ // Check for dangerous patterns
235
+ for (const pattern of this.DANGEROUS_PATTERNS) {
236
+ if (pattern.test(query)) {
237
+ return {
238
+ isValid: false,
239
+ message: `Query contains potentially dangerous operation: ${pattern.source}. Only SELECT queries are allowed.`,
240
+ resultCode: 'DANGEROUS_QUERY'
241
+ };
242
+ }
243
+ }
244
+ // Check if query starts with SELECT (allowing for whitespace and comments)
245
+ const trimmedQuery = query.trim();
246
+ const cleanQuery = trimmedQuery.replace(/^\/\*[\s\S]*?\*\//, '').replace(/^--.*$/gm, '').trim();
247
+ if (!cleanQuery.toUpperCase().startsWith('SELECT') &&
248
+ !cleanQuery.toUpperCase().startsWith('WITH')) { // Allow CTEs
249
+ return {
250
+ isValid: false,
251
+ message: 'Only SELECT queries are allowed. Query must start with SELECT or WITH (for Common Table Expressions).',
252
+ resultCode: 'NOT_SELECT_STATEMENT'
253
+ };
254
+ }
255
+ return { isValid: true };
256
+ }
257
+ /**
258
+ * Validates SQL syntax using node-sql-parser
259
+ */
260
+ validateQuerySyntax(query) {
261
+ try {
262
+ // Parse the query to validate syntax
263
+ // node-sql-parser will throw if syntax is invalid
264
+ this.parser.astify(query, { database: 'mssql' });
265
+ return { isValid: true };
266
+ }
267
+ catch (parseError) {
268
+ return {
269
+ isValid: false,
270
+ message: `SQL syntax error: ${parseError.message || String(parseError)}`
271
+ };
272
+ }
273
+ }
274
+ /**
275
+ * Ensures query has a row limit to prevent overwhelming results
276
+ */
277
+ ensureRowLimit(query, maxRows) {
278
+ // Check if query already has TOP clause
279
+ const hasTop = /SELECT\s+TOP\s+\d+/i.test(query);
280
+ if (hasTop) {
281
+ return query;
282
+ }
283
+ // Check if query has OFFSET-FETCH (SQL Server 2012+)
284
+ const hasOffsetFetch = /OFFSET\s+\d+\s+ROWS\s+FETCH/i.test(query);
285
+ if (hasOffsetFetch) {
286
+ return query;
287
+ }
288
+ // Add TOP clause
289
+ return query.replace(/^(\s*SELECT\s+)/i, `$1TOP ${maxRows} `);
290
+ }
291
+ /**
292
+ * Generates validation warnings for potentially problematic queries
293
+ */
294
+ generateValidationWarnings(query, rowCount, executionTimeMs) {
295
+ const warnings = [];
296
+ // Warn about slow queries
297
+ if (executionTimeMs > 5000) {
298
+ warnings.push(`Query took ${executionTimeMs}ms to execute. Consider adding indexes or optimizing query.`);
299
+ }
300
+ // Warn about SELECT *
301
+ if (/SELECT\s+\*/i.test(query)) {
302
+ warnings.push('Query uses SELECT *. Specifying explicit columns improves performance and clarity.');
303
+ }
304
+ // Warn about missing WHERE clause on large result sets
305
+ if (rowCount > 100 && !/WHERE/i.test(query)) {
306
+ warnings.push('Query returned many rows without WHERE clause. Consider adding filters for better performance.');
307
+ }
308
+ // Warn about potential Cartesian products
309
+ const fromCount = (query.match(/FROM/gi) || []).length;
310
+ const joinCount = (query.match(/JOIN/gi) || []).length;
311
+ const whereCount = (query.match(/WHERE/gi) || []).length;
312
+ if (fromCount > 1 && joinCount === 0 && whereCount === 0) {
313
+ warnings.push('Query may contain Cartesian product (multiple tables without JOIN or WHERE). This can be very slow.');
314
+ }
315
+ return warnings;
316
+ }
317
+ /**
318
+ * Formats results as CSV string
319
+ */
320
+ formatAsCSV(results) {
321
+ if (results.length === 0)
322
+ return '';
323
+ const headers = Object.keys(results[0]);
324
+ const csvRows = [headers.join(',')];
325
+ for (const row of results) {
326
+ const values = headers.map(header => {
327
+ const value = row[header];
328
+ if (value == null)
329
+ return '';
330
+ // Escape quotes and wrap in quotes if contains comma or quote
331
+ const stringValue = String(value);
332
+ if (stringValue.includes(',') || stringValue.includes('"') || stringValue.includes('\n')) {
333
+ return `"${stringValue.replace(/"/g, '""')}"`;
334
+ }
335
+ return stringValue;
336
+ });
337
+ csvRows.push(values.join(','));
338
+ }
339
+ return csvRows.join('\n');
340
+ }
341
+ /**
342
+ * Formats results as ASCII table
343
+ */
344
+ formatAsTable(results) {
345
+ if (results.length === 0)
346
+ return 'No results';
347
+ const headers = Object.keys(results[0]);
348
+ // Calculate column widths
349
+ const widths = headers.map(header => {
350
+ const valueWidths = results.map(row => String(row[header] ?? '').length);
351
+ return Math.max(header.length, ...valueWidths, 3);
352
+ });
353
+ // Build separator
354
+ const separator = '+' + widths.map(w => '-'.repeat(w + 2)).join('+') + '+';
355
+ // Build header row
356
+ const headerRow = '|' + headers.map((h, i) => ` ${h.padEnd(widths[i])} `).join('|') + '|';
357
+ // Build data rows
358
+ const dataRows = results.map(row => {
359
+ return '|' + headers.map((h, i) => {
360
+ const value = String(row[h] ?? '').substring(0, widths[i]);
361
+ return ` ${value.padEnd(widths[i])} `;
362
+ }).join('|') + '|';
363
+ });
364
+ return [separator, headerRow, separator, ...dataRows, separator].join('\n');
365
+ }
366
+ /**
367
+ * Helper to get string parameter value
368
+ */
369
+ getStringParam(params, paramName) {
370
+ const param = params.Params.find(p => p.Name.toLowerCase() === paramName.toLowerCase() &&
371
+ p.Type === 'Input');
372
+ return param?.Value ? String(param.Value) : undefined;
373
+ }
374
+ /**
375
+ * Helper to get numeric parameter value
376
+ */
377
+ getNumericParam(params, paramName, defaultValue) {
378
+ const param = params.Params.find(p => p.Name.toLowerCase() === paramName.toLowerCase() &&
379
+ p.Type === 'Input');
380
+ if (param?.Value != null) {
381
+ const num = Number(param.Value);
382
+ return isNaN(num) ? defaultValue : num;
383
+ }
384
+ return defaultValue;
385
+ }
386
+ /**
387
+ * Helper to get boolean parameter value
388
+ */
389
+ getBooleanParam(params, paramName, defaultValue) {
390
+ const param = params.Params.find(p => p.Name.toLowerCase() === paramName.toLowerCase() &&
391
+ p.Type === 'Input');
392
+ if (param?.Value != null) {
393
+ const val = String(param.Value).toLowerCase();
394
+ if (val === 'true' || val === '1' || val === 'yes')
395
+ return true;
396
+ if (val === 'false' || val === '0' || val === 'no')
397
+ return false;
398
+ }
399
+ return defaultValue;
400
+ }
401
+ };
402
+ exports.ExecuteResearchQueryAction = ExecuteResearchQueryAction;
403
+ exports.ExecuteResearchQueryAction = ExecuteResearchQueryAction = __decorate([
404
+ (0, global_1.RegisterClass)(actions_1.BaseAction, "Execute Research Query")
405
+ ], ExecuteResearchQueryAction);
406
+ /**
407
+ * Load function to ensure the class is registered and not tree-shaken
408
+ */
409
+ function LoadExecuteResearchQueryAction() {
410
+ global_2.MJGlobal.Instance.ClassFactory.GetRegistration(actions_1.BaseAction, "Execute Research Query");
411
+ }
412
+ exports.LoadExecuteResearchQueryAction = LoadExecuteResearchQueryAction;
413
+ //# sourceMappingURL=execute-research-query.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute-research-query.action.js","sourceRoot":"","sources":["../../../src/custom/data/execute-research-query.action.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ import { ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
2
+ import { BaseAction } from "@memberjunction/actions";
3
+ /**
4
+ * Action that retrieves comprehensive database schema information using MemberJunction's
5
+ * rich metadata layer instead of raw INFORMATION_SCHEMA queries.
6
+ *
7
+ * This action provides research agents with deep understanding of the data model including:
8
+ * - Business context (descriptions, display names)
9
+ * - Field metadata (types, defaults, value lists, related entities)
10
+ * - Semantic relationships (not just foreign keys)
11
+ * - Virtual entities (logical, not physical)
12
+ * - API permissions and settings
13
+ * - Audit configuration
14
+ * - UI display preferences
15
+ *
16
+ * Features:
17
+ * - Entity name pattern filtering with wildcards
18
+ * - Schema filtering (focus on specific schemas)
19
+ * - Optional field details with rich metadata
20
+ * - Optional relationship information with semantic meaning
21
+ * - Optional permission information
22
+ * - Virtual entity support
23
+ * - Scope-based filtering
24
+ * - Configurable output size limits
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * // Get all customer-related entities with full metadata
29
+ * await runAction({
30
+ * ActionName: 'Explore Database Schema',
31
+ * Params: [{
32
+ * Name: 'EntityPattern',
33
+ * Value: '%Customer%'
34
+ * }, {
35
+ * Name: 'IncludeFields',
36
+ * Value: true
37
+ * }, {
38
+ * Name: 'IncludeRelationships',
39
+ * Value: true
40
+ * }]
41
+ * });
42
+ * ```
43
+ */
44
+ export declare class ExploreDatabaseSchemaAction extends BaseAction {
45
+ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
46
+ /**
47
+ * Filter entities based on parameters
48
+ */
49
+ private filterEntities;
50
+ /**
51
+ * Check if entity name matches pattern (supports % and * wildcards)
52
+ */
53
+ private matchesPattern;
54
+ /**
55
+ * Format EntityInfo into research-friendly structure
56
+ */
57
+ private formatEntityInfo;
58
+ /**
59
+ * Format EntityFieldInfo into research-friendly structure
60
+ */
61
+ private formatFieldInfo;
62
+ /**
63
+ * Format EntityRelationshipInfo into research-friendly structure
64
+ */
65
+ private formatRelationshipInfo;
66
+ /**
67
+ * Group entities by schema name
68
+ */
69
+ private groupBySchema;
70
+ /**
71
+ * Calculate summary statistics
72
+ */
73
+ private calculateSummary;
74
+ /**
75
+ * Helper to get string parameter value
76
+ */
77
+ private getStringParam;
78
+ /**
79
+ * Helper to get numeric parameter value
80
+ */
81
+ private getNumericParam;
82
+ /**
83
+ * Helper to get boolean parameter value
84
+ */
85
+ private getBooleanParam;
86
+ }
87
+ /**
88
+ * Load function to ensure the class is registered and not tree-shaken
89
+ */
90
+ export declare function LoadExploreDatabaseSchemaAction(): void;
91
+ //# sourceMappingURL=explore-database-schema.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explore-database-schema.action.d.ts","sourceRoot":"","sources":["../../../src/custom/data/explore-database-schema.action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAIrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBACa,2BAA4B,SAAQ,UAAU;cAEvC,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAiFvF;;OAEG;IACH,OAAO,CAAC,cAAc;IA2CtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgFxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAwDvB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;IACH,OAAO,CAAC,aAAa;IA+BrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;IACH,OAAO,CAAC,eAAe;CAY1B;AAED;;GAEG;AACH,wBAAgB,+BAA+B,SAE9C"}