@matimo/core 0.1.0-alpha.9 → 0.1.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 (169) hide show
  1. package/README.md +341 -14
  2. package/dist/approval/approval-handler.d.ts +5 -1
  3. package/dist/approval/approval-handler.d.ts.map +1 -1
  4. package/dist/approval/approval-handler.js +6 -0
  5. package/dist/approval/approval-handler.js.map +1 -1
  6. package/dist/core/schema.d.ts +41 -10
  7. package/dist/core/schema.d.ts.map +1 -1
  8. package/dist/core/schema.js +40 -4
  9. package/dist/core/schema.js.map +1 -1
  10. package/dist/core/skill-content-parser.d.ts +91 -0
  11. package/dist/core/skill-content-parser.d.ts.map +1 -0
  12. package/dist/core/skill-content-parser.js +248 -0
  13. package/dist/core/skill-content-parser.js.map +1 -0
  14. package/dist/core/skill-loader.d.ts +46 -0
  15. package/dist/core/skill-loader.d.ts.map +1 -0
  16. package/dist/core/skill-loader.js +310 -0
  17. package/dist/core/skill-loader.js.map +1 -0
  18. package/dist/core/skill-registry.d.ts +131 -0
  19. package/dist/core/skill-registry.d.ts.map +1 -0
  20. package/dist/core/skill-registry.js +316 -0
  21. package/dist/core/skill-registry.js.map +1 -0
  22. package/dist/core/tfidf-embedding.d.ts +45 -0
  23. package/dist/core/tfidf-embedding.d.ts.map +1 -0
  24. package/dist/core/tfidf-embedding.js +199 -0
  25. package/dist/core/tfidf-embedding.js.map +1 -0
  26. package/dist/core/tool-loader.d.ts +3 -1
  27. package/dist/core/tool-loader.d.ts.map +1 -1
  28. package/dist/core/tool-loader.js +33 -10
  29. package/dist/core/tool-loader.js.map +1 -1
  30. package/dist/core/types.d.ts +203 -6
  31. package/dist/core/types.d.ts.map +1 -1
  32. package/dist/encodings/parameter-encoding.d.ts +1 -1
  33. package/dist/encodings/parameter-encoding.d.ts.map +1 -1
  34. package/dist/encodings/parameter-encoding.js +9 -4
  35. package/dist/encodings/parameter-encoding.js.map +1 -1
  36. package/dist/errors/matimo-error.d.ts +11 -2
  37. package/dist/errors/matimo-error.d.ts.map +1 -1
  38. package/dist/errors/matimo-error.js +25 -1
  39. package/dist/errors/matimo-error.js.map +1 -1
  40. package/dist/executors/command-executor.d.ts +9 -2
  41. package/dist/executors/command-executor.d.ts.map +1 -1
  42. package/dist/executors/command-executor.js +29 -5
  43. package/dist/executors/command-executor.js.map +1 -1
  44. package/dist/executors/function-executor.d.ts +10 -3
  45. package/dist/executors/function-executor.d.ts.map +1 -1
  46. package/dist/executors/function-executor.js +44 -24
  47. package/dist/executors/function-executor.js.map +1 -1
  48. package/dist/executors/http-executor.d.ts +79 -4
  49. package/dist/executors/http-executor.d.ts.map +1 -1
  50. package/dist/executors/http-executor.js +232 -28
  51. package/dist/executors/http-executor.js.map +1 -1
  52. package/dist/index.d.ts +25 -3
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +19 -1
  55. package/dist/index.js.map +1 -1
  56. package/dist/integrations/langchain.d.ts +55 -0
  57. package/dist/integrations/langchain.d.ts.map +1 -1
  58. package/dist/integrations/langchain.js +71 -4
  59. package/dist/integrations/langchain.js.map +1 -1
  60. package/dist/logging/winston-logger.d.ts.map +1 -1
  61. package/dist/logging/winston-logger.js +9 -1
  62. package/dist/logging/winston-logger.js.map +1 -1
  63. package/dist/matimo-instance.d.ts +230 -18
  64. package/dist/matimo-instance.d.ts.map +1 -1
  65. package/dist/matimo-instance.js +739 -40
  66. package/dist/matimo-instance.js.map +1 -1
  67. package/dist/mcp/index.d.ts +18 -0
  68. package/dist/mcp/index.d.ts.map +1 -0
  69. package/dist/mcp/index.js +24 -0
  70. package/dist/mcp/index.js.map +1 -0
  71. package/dist/mcp/mcp-server.d.ts +141 -0
  72. package/dist/mcp/mcp-server.d.ts.map +1 -0
  73. package/dist/mcp/mcp-server.js +754 -0
  74. package/dist/mcp/mcp-server.js.map +1 -0
  75. package/dist/mcp/secrets/aws-resolver.d.ts +41 -0
  76. package/dist/mcp/secrets/aws-resolver.d.ts.map +1 -0
  77. package/dist/mcp/secrets/aws-resolver.js +141 -0
  78. package/dist/mcp/secrets/aws-resolver.js.map +1 -0
  79. package/dist/mcp/secrets/dotenv-resolver.d.ts +23 -0
  80. package/dist/mcp/secrets/dotenv-resolver.d.ts.map +1 -0
  81. package/dist/mcp/secrets/dotenv-resolver.js +94 -0
  82. package/dist/mcp/secrets/dotenv-resolver.js.map +1 -0
  83. package/dist/mcp/secrets/env-resolver.d.ts +14 -0
  84. package/dist/mcp/secrets/env-resolver.d.ts.map +1 -0
  85. package/dist/mcp/secrets/env-resolver.js +27 -0
  86. package/dist/mcp/secrets/env-resolver.js.map +1 -0
  87. package/dist/mcp/secrets/index.d.ts +14 -0
  88. package/dist/mcp/secrets/index.d.ts.map +1 -0
  89. package/dist/mcp/secrets/index.js +13 -0
  90. package/dist/mcp/secrets/index.js.map +1 -0
  91. package/dist/mcp/secrets/resolver-chain.d.ts +34 -0
  92. package/dist/mcp/secrets/resolver-chain.d.ts.map +1 -0
  93. package/dist/mcp/secrets/resolver-chain.js +141 -0
  94. package/dist/mcp/secrets/resolver-chain.js.map +1 -0
  95. package/dist/mcp/secrets/types.d.ts +73 -0
  96. package/dist/mcp/secrets/types.d.ts.map +1 -0
  97. package/dist/mcp/secrets/types.js +8 -0
  98. package/dist/mcp/secrets/types.js.map +1 -0
  99. package/dist/mcp/secrets/vault-resolver.d.ts +43 -0
  100. package/dist/mcp/secrets/vault-resolver.d.ts.map +1 -0
  101. package/dist/mcp/secrets/vault-resolver.js +127 -0
  102. package/dist/mcp/secrets/vault-resolver.js.map +1 -0
  103. package/dist/mcp/tool-converter.d.ts +40 -0
  104. package/dist/mcp/tool-converter.d.ts.map +1 -0
  105. package/dist/mcp/tool-converter.js +185 -0
  106. package/dist/mcp/tool-converter.js.map +1 -0
  107. package/dist/policy/approval-manifest.d.ts +76 -0
  108. package/dist/policy/approval-manifest.d.ts.map +1 -0
  109. package/dist/policy/approval-manifest.js +197 -0
  110. package/dist/policy/approval-manifest.js.map +1 -0
  111. package/dist/policy/content-validator.d.ts +19 -0
  112. package/dist/policy/content-validator.d.ts.map +1 -0
  113. package/dist/policy/content-validator.js +196 -0
  114. package/dist/policy/content-validator.js.map +1 -0
  115. package/dist/policy/default-policy.d.ts +46 -0
  116. package/dist/policy/default-policy.d.ts.map +1 -0
  117. package/dist/policy/default-policy.js +241 -0
  118. package/dist/policy/default-policy.js.map +1 -0
  119. package/dist/policy/events.d.ts +71 -0
  120. package/dist/policy/events.d.ts.map +1 -0
  121. package/dist/policy/events.js +8 -0
  122. package/dist/policy/events.js.map +1 -0
  123. package/dist/policy/index.d.ts +13 -0
  124. package/dist/policy/index.d.ts.map +1 -0
  125. package/dist/policy/index.js +9 -0
  126. package/dist/policy/index.js.map +1 -0
  127. package/dist/policy/integrity-tracker.d.ts +62 -0
  128. package/dist/policy/integrity-tracker.d.ts.map +1 -0
  129. package/dist/policy/integrity-tracker.js +79 -0
  130. package/dist/policy/integrity-tracker.js.map +1 -0
  131. package/dist/policy/policy-loader.d.ts +58 -0
  132. package/dist/policy/policy-loader.d.ts.map +1 -0
  133. package/dist/policy/policy-loader.js +156 -0
  134. package/dist/policy/policy-loader.js.map +1 -0
  135. package/dist/policy/risk-classifier.d.ts +18 -0
  136. package/dist/policy/risk-classifier.d.ts.map +1 -0
  137. package/dist/policy/risk-classifier.js +47 -0
  138. package/dist/policy/risk-classifier.js.map +1 -0
  139. package/dist/policy/types.d.ts +131 -0
  140. package/dist/policy/types.d.ts.map +1 -0
  141. package/dist/policy/types.js +8 -0
  142. package/dist/policy/types.js.map +1 -0
  143. package/package.json +22 -6
  144. package/tools/matimo_approve_tool/definition.yaml +36 -0
  145. package/tools/matimo_approve_tool/matimo_approve_tool.ts +90 -0
  146. package/tools/matimo_create_skill/definition.yaml +46 -0
  147. package/tools/matimo_create_skill/matimo_create_skill.ts +75 -0
  148. package/tools/matimo_create_tool/definition.yaml +48 -0
  149. package/tools/matimo_create_tool/matimo_create_tool.ts +137 -0
  150. package/tools/matimo_get_skill/definition.yaml +60 -0
  151. package/tools/matimo_get_skill/matimo_get_skill.ts +182 -0
  152. package/tools/matimo_get_tool/definition.yaml +36 -0
  153. package/tools/matimo_get_tool/matimo_get_tool.ts +56 -0
  154. package/tools/matimo_get_tool_status/definition.yaml +42 -0
  155. package/tools/matimo_get_tool_status/matimo_get_tool_status.ts +101 -0
  156. package/tools/matimo_list_skills/definition.yaml +52 -0
  157. package/tools/matimo_list_skills/matimo_list_skills.ts +138 -0
  158. package/tools/matimo_list_user_tools/definition.yaml +32 -0
  159. package/tools/matimo_list_user_tools/matimo_list_user_tools.ts +74 -0
  160. package/tools/matimo_reload_tools/definition.yaml +35 -0
  161. package/tools/matimo_reload_tools/matimo_reload_tools.ts +29 -0
  162. package/tools/matimo_search_tools/definition.yaml +32 -0
  163. package/tools/matimo_search_tools/matimo_search_tools.ts +82 -0
  164. package/tools/matimo_validate_skill/definition.yaml +43 -0
  165. package/tools/matimo_validate_skill/matimo_validate_skill.ts +137 -0
  166. package/tools/matimo_validate_tool/definition.yaml +34 -0
  167. package/tools/matimo_validate_tool/matimo_validate_tool.ts +168 -0
  168. package/tools/shared/skill-validation.ts +335 -0
  169. package/LICENSE +0 -21
@@ -1 +1 @@
1
- {"version":3,"file":"tool-loader.js","sourceRoot":"","sources":["../../src/core/tool-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-loader.js","sourceRoot":"","sources":["../../src/core/tool-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,EAAkB,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;GAIG;AAEH,MAAM,OAAO,UAAU;IAMrB;;;;;OAKG;IACK,kBAAkB;QACxB,IAAI,CAAC;YACH,yCAAyC;YACzC,IAAI,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBAC3D,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;oBACtD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC/B,OAAO,WAAW,CAAC;oBACrB,CAAC;gBACH,CAAC;gBACD,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1C,CAAC;YAED,4DAA4D;YAC5D,2EAA2E;YAC3E,4DAA4D;YAC5D,+EAA+E;YAC/E,WAAW,GAAG,SAAS,CAAC;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;gBAC3D,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;oBACtD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC/B,OAAO,WAAW,CAAC;oBACrB,CAAC;gBACH,CAAC;gBACD,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAC1C,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,QAAgB;QAC/B,YAAY;QACZ,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,WAAW,CAAC,wBAAwB,QAAQ,EAAE,EAAE,SAAS,CAAC,cAAc,EAAE;gBAClF,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEnD,gCAAgC;QAChC,IAAI,MAAe,CAAC;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAEjD,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACtC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,WAAW,CACnB,4BAA4B,GAAG,sBAAsB,EACrD,SAAS,CAAC,cAAc,EACxB;gBACE,QAAQ;gBACR,aAAa,EAAE,GAAG;aACnB,CACF,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;YAC5C,2EAA2E;YAC3E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,IAAI,WAAW,CACnB,8BAA8B,QAAQ,MAAM,OAAO,EAAE,EACrD,SAAS,CAAC,cAAc,EACxB;gBACE,QAAQ;gBACR,aAAa,EAAE,OAAO;aACvB,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,sBAAsB,CAAC,OAAe;QACpC,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;QAEhD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,WAAW,CAAC,8BAA8B,OAAO,EAAE,EAAE,SAAS,CAAC,cAAc,EAAE;gBACvF,aAAa,EAAE,OAAO;aACvB,CAAC,CAAC;QACL,CAAC;QAED,oFAAoF;QACpF,6DAA6D;QAC7D,MAAM,aAAa,GAAG,CAAC,GAAW,EAAY,EAAE;YAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAE7D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAE5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACzC,CAAC;qBAAM,IACL,KAAK,CAAC,MAAM,EAAE;oBACd,CAAC,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;wBAC/C,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC7C,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QAEzC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACzC,4EAA4E;gBAC5E,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,qEAAqE;gBACrE,yEAAyE;YAC3E,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,IAAa;QAC9B,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,oBAAoB;QAClB,0DAA0D;QAC1D,IAAI,UAAU,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YAC7C,OAAO,UAAU,CAAC,oBAAoB,CAAC;QACzC,CAAC;QAED,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,8FAA8F;QAC9F,IAAI,CAAC;YACH,wCAAwC;YACxC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAClD,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC7E,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBACjC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;YAED,uEAAuE;YACvE,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;gBAC/C,IAAI,KAAK,GAAG,KAAK,CAAC;gBAClB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;oBAC/B,IAAI,KAAK;wBAAE,MAAM;oBACjB,IAAI,WAAW,GAAG,IAAI,CAAC;oBACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC5B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;wBAC1E,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;4BACjC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;4BACpC,KAAK,GAAG,IAAI,CAAC;4BACb,MAAM;wBACR,CAAC;wBACD,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,yCAAyC;QAC3C,CAAC;QAED,2FAA2F;QAC3F,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAElD,IAAI,eAAe,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBACtD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;gBAE9D,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oBACnC,wCAAwC;oBACxC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;oBAEzE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;wBAC5B,kCAAkC;wBAClC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;4BAC1B,SAAS;wBACX,CAAC;wBAED,4CAA4C;wBAC5C,IAAI,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;wBAChC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC1C,IAAI,CAAC;gCACH,kCAAkC;gCAClC,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;4BAC5E,CAAC;4BAAC,MAAM,CAAC;gCACP,SAAS;4BACX,CAAC;wBACH,CAAC;wBAED,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;4BACzC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;4BAClE,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gCAC7B,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;4BAClC,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;QAED,+FAA+F;QAC/F,UAAU,CAAC,oBAAoB,GAAG,eAAe,CAAC;QAElD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,mBAAmB;QACxB,UAAU,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,0BAA0B,CAAC,QAAkB;QAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;QAEnD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;gBACnD,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,KAAK,EAAE,CAAC;oBACvC,wCAAwC;oBACxC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,8CAA8C;gBAC9C,qCAAqC;YACvC,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;;AAlSD;;;GAGG;AACY,+BAAoB,GAAoB,IAAI,CAAC;AAiS9D,eAAe,UAAU,CAAC"}
@@ -18,10 +18,21 @@ export interface Parameter {
18
18
  * Authentication configuration for a tool
19
19
  */
20
20
  export interface AuthConfig {
21
- type: 'none' | 'api_key' | 'oauth2' | 'basic' | 'bearer';
21
+ type?: 'none' | 'api_key' | 'oauth2' | 'basic' | 'bearer' | 'custom';
22
22
  location?: 'header' | 'query' | 'body';
23
23
  name?: string;
24
24
  scheme?: string;
25
+ /**
26
+ * For type: basic — name of the environment variable holding the HTTP Basic Auth username.
27
+ * HttpExecutor will read this env var and the password_env var, base64-encode them as
28
+ * "username:password", and inject `Authorization: Basic <encoded>` automatically.
29
+ */
30
+ username_env?: string;
31
+ /**
32
+ * For type: basic — name of the environment variable holding the HTTP Basic Auth password.
33
+ * Used together with username_env to build the Authorization header automatically.
34
+ */
35
+ password_env?: string;
25
36
  }
26
37
  /**
27
38
  * HTTP execution configuration
@@ -31,7 +42,7 @@ export interface HttpExecution {
31
42
  method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
32
43
  url: string;
33
44
  headers?: Record<string, string>;
34
- body?: Record<string, unknown>;
45
+ body?: unknown;
35
46
  params?: Record<string, string>;
36
47
  query_params?: Record<string, string>;
37
48
  parameter_encoding?: ParameterEncodingConfig[];
@@ -59,12 +70,15 @@ export interface FunctionExecution {
59
70
  timeout?: number;
60
71
  }
61
72
  /**
62
- * Output schema for tool response validation
73
+ * Output schema for tool response validation.
74
+ * TypeScript interface inferred from Zod schema in schema.ts.
75
+ * Properties allows nested output schemas or any unknown structure for flexibility.
63
76
  */
64
77
  export interface OutputSchema {
65
- type: 'object' | 'array' | 'string' | 'number' | 'boolean';
66
- properties?: Record<string, OutputSchema>;
78
+ type?: string;
79
+ properties?: Record<string, unknown>;
67
80
  items?: OutputSchema;
81
+ required?: string[];
68
82
  description?: string;
69
83
  }
70
84
  /**
@@ -100,7 +114,7 @@ export interface ToolDefinition {
100
114
  name: string;
101
115
  version: string;
102
116
  description: string;
103
- parameters: Record<string, Parameter>;
117
+ parameters?: Record<string, Parameter>;
104
118
  execution: HttpExecution | CommandExecution | FunctionExecution;
105
119
  authentication?: AuthConfig;
106
120
  output_schema?: OutputSchema;
@@ -115,6 +129,13 @@ export interface ToolDefinition {
115
129
  * Set to true for destructive operations (CREATE, DELETE, DROP, etc.)
116
130
  */
117
131
  requires_approval?: boolean;
132
+ /**
133
+ * Tool lifecycle status. Tools without a status are treated as 'approved'.
134
+ * - draft: Agent-created, not yet human-reviewed
135
+ * - approved: Human-reviewed and ready for use
136
+ * - deprecated: Scheduled for removal
137
+ */
138
+ status?: 'draft' | 'approved' | 'deprecated';
118
139
  /**
119
140
  * Internal: Path to the tool definition file (set by ToolLoader)
120
141
  * Used to resolve relative paths for function executors
@@ -159,4 +180,180 @@ export interface ValidationResult {
159
180
  valid: boolean;
160
181
  errors: ValidationError[];
161
182
  }
183
+ /**
184
+ * Options for MatimoInstance.execute()
185
+ *
186
+ * @example
187
+ * // Single-tenant (reads from process.env)
188
+ * await matimo.execute('slack-send-message', { channel: '#general', text: 'Hello' });
189
+ *
190
+ * // Multi-tenant (credentials supplied per call — never touches process.env)
191
+ * await matimo.execute('slack-send-message', { channel: '#general', text: 'Hello' }, {
192
+ * credentials: { SLACK_BOT_TOKEN: 'xoxb-tenant-a-token' },
193
+ * });
194
+ */
195
+ export interface ExecuteOptions {
196
+ /**
197
+ * Maximum time (ms) to wait for the tool to complete.
198
+ * Overrides the timeout defined in the tool's YAML definition.
199
+ */
200
+ timeout?: number;
201
+ /**
202
+ * Per-call credential overrides. Keys must match the env-var names that the
203
+ * tool's YAML references (e.g. `SLACK_BOT_TOKEN`, `GITHUB_ACCESS_TOKEN`).
204
+ *
205
+ * When provided:
206
+ * - **HttpExecutor**: used for Authorization headers / query params / Basic Auth
207
+ * instead of `process.env`.
208
+ * - **CommandExecutor**: injected as environment variables into the child process
209
+ * (`{ ...process.env, ...credentials }`), so spawned scripts see them normally.
210
+ * - **FunctionExecutor**: passed as `context.credentials` to the tool function.
211
+ *
212
+ * When NOT provided the current behaviour is unchanged — credentials are read
213
+ * from `process.env` as before (fully backward-compatible).
214
+ *
215
+ * SECURITY: values are never logged, never persisted, and held only for the
216
+ * duration of the execute() call.
217
+ */
218
+ credentials?: Record<string, string>;
219
+ /**
220
+ * Policy context for the current execution. When a PolicyEngine is active,
221
+ * this context is checked against the tool's requirements before execution.
222
+ */
223
+ context?: import('../policy/types').PolicyContext;
224
+ /**
225
+ * Skip approval check for this execution. Use when the caller (e.g., MCP layer)
226
+ * has already confirmed approval out-of-band, to avoid re-prompting the user.
227
+ * Does not override policy-level quarantine checks (pending_approval state).
228
+ * Default: false
229
+ */
230
+ approved?: boolean;
231
+ }
232
+ /**
233
+ * Bundled resources within a skill directory (scripts, references, assets)
234
+ */
235
+ export interface BundledResources {
236
+ scripts: string[];
237
+ references: string[];
238
+ assets: string[];
239
+ other: string[];
240
+ }
241
+ /**
242
+ * YAML frontmatter for a SKILL.md file
243
+ * Follows agentskills.io/specification
244
+ */
245
+ export interface SkillFrontmatter {
246
+ name: string;
247
+ description: string;
248
+ version?: string;
249
+ license?: string;
250
+ compatibility?: string;
251
+ 'allowed-tools'?: string | string[];
252
+ metadata?: Record<string, string>;
253
+ }
254
+ /**
255
+ * A single section of a skill body, parsed from Markdown headings.
256
+ */
257
+ export interface SkillSection {
258
+ heading: string;
259
+ level: number;
260
+ content: string;
261
+ tokenEstimate: number;
262
+ children: SkillSection[];
263
+ path: string;
264
+ }
265
+ /**
266
+ * Parsed skill content (frontmatter + body + structured sections)
267
+ */
268
+ export interface ParsedSkill {
269
+ frontmatter: SkillFrontmatter;
270
+ body: string;
271
+ raw: string;
272
+ sections?: SkillSection[];
273
+ totalTokens?: number;
274
+ }
275
+ /**
276
+ * Catalog metadata for a skill (download count, rating, etc.)
277
+ */
278
+ export interface SkillCatalogInfo {
279
+ author: string;
280
+ downloads: number;
281
+ rating: number;
282
+ tags: string[];
283
+ publishedAt: string;
284
+ updatedAt: string;
285
+ repository?: string;
286
+ checksum?: string;
287
+ }
288
+ /**
289
+ * Complete skill definition
290
+ * Implements agentskills.io specification with Matimo extensions
291
+ */
292
+ export interface SkillDefinition {
293
+ name: string;
294
+ description: string;
295
+ version?: string;
296
+ license?: string;
297
+ compatibility?: string;
298
+ allowedTools?: string[];
299
+ metadata?: Record<string, string>;
300
+ body: string;
301
+ /** Structured sections parsed from Markdown headings */
302
+ sections?: SkillSection[];
303
+ /** Approximate total token count for the skill body */
304
+ totalTokens?: number;
305
+ resources: BundledResources;
306
+ source: 'builtin' | 'user' | 'catalog';
307
+ _path?: string;
308
+ catalogInfo?: SkillCatalogInfo;
309
+ dependsOn?: string[];
310
+ }
311
+ /**
312
+ * Skill summary for discovery (Level 1 - minimal context)
313
+ */
314
+ export interface SkillSummary {
315
+ name: string;
316
+ description: string;
317
+ version?: string;
318
+ license?: string;
319
+ metadata?: Record<string, string>;
320
+ source: 'builtin' | 'user' | 'catalog';
321
+ }
322
+ /**
323
+ * Options for searching skills
324
+ */
325
+ export interface SearchSkillsOptions {
326
+ query?: string;
327
+ category?: string;
328
+ difficulty?: string;
329
+ tags?: string[];
330
+ author?: string;
331
+ limit?: number;
332
+ offset?: number;
333
+ /** Use semantic search via embeddings (requires an EmbeddingProvider) */
334
+ semantic?: boolean;
335
+ }
336
+ /**
337
+ * Options for selective skill content loading
338
+ */
339
+ export interface SkillContentOptions {
340
+ /** Only return sections matching these headings (case-insensitive partial match) */
341
+ sections?: string[];
342
+ /** Maximum total tokens to return */
343
+ maxTokens?: number;
344
+ /** Include the preamble (default: true) */
345
+ includePreamble?: boolean;
346
+ /** Depth limit for section inclusion (1 = top-level only) */
347
+ maxDepth?: number;
348
+ }
349
+ /**
350
+ * Pluggable embedding provider for semantic skill search.
351
+ * Implement this interface to connect to OpenAI, Cohere, local models, etc.
352
+ */
353
+ export interface EmbeddingProvider {
354
+ embed(text: string): Promise<number[]>;
355
+ embedBatch(texts: string[]): Promise<number[][]>;
356
+ /** Embedding dimensionality */
357
+ dimensions: number;
358
+ }
162
359
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ export declare function applyParameterEncodings(params: Record<string, unknown>,
33
33
  * Authorization: 'Bearer {GMAIL_ACCESS_TOKEN}'
34
34
  *
35
35
  * parameter_encoding:
36
- * - source: [to, subject, body, cc, bcc, is_html]
36
+ * - source: [to, subject, body, cc, bcc, isHtml]
37
37
  * target: raw
38
38
  * encoding: mime_rfc2822_base64url
39
39
  *
@@ -1 +1 @@
1
- {"version":3,"file":"parameter-encoding.d.ts","sourceRoot":"","sources":["../../src/encodings/parameter-encoding.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,EAAE,uBAAuB,EAAE,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBzB;AAkFD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG"}
1
+ {"version":3,"file":"parameter-encoding.d.ts","sourceRoot":"","sources":["../../src/encodings/parameter-encoding.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,EAAE,uBAAuB,EAAE,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBzB;AAsFD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG"}
@@ -57,7 +57,8 @@ function encodeMimeRfc2822(sourceValues) {
57
57
  const body = sourceValues.body;
58
58
  const cc = sourceValues.cc;
59
59
  const bcc = sourceValues.bcc;
60
- const isHtml = sourceValues.is_html || false;
60
+ // Accept both camelCase (`isHtml`) and snake_case (`is_html`) for backward compatibility
61
+ const isHtml = (sourceValues.isHtml ?? sourceValues.is_html) || false;
61
62
  if (!to || !subject || !body) {
62
63
  throw new MatimoError('MIME encoding requires: to, subject, body parameters', ErrorCode.INVALID_PARAMETER, {
63
64
  requiredFields: ['to', 'subject', 'body'],
@@ -78,8 +79,12 @@ function encodeMimeRfc2822(sourceValues) {
78
79
  message += body;
79
80
  // Convert to base64url
80
81
  const base64 = Buffer.from(message).toString('base64');
81
- // Replace standard base64 characters with URL-safe variants
82
- return base64.replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
82
+ // Replace standard base64 characters with URL-safe variants, then strip
83
+ // trailing padding. Use while+endsWith instead of a regex to avoid ReDoS.
84
+ let result = base64.replace(/\+/g, '-').replace(/\//g, '_');
85
+ while (result.endsWith('='))
86
+ result = result.slice(0, -1);
87
+ return result;
83
88
  }
84
89
  /**
85
90
  * Encode parameters as URL-encoded form data
@@ -105,7 +110,7 @@ function encodeUrlParams(sourceValues) {
105
110
  * Authorization: 'Bearer {GMAIL_ACCESS_TOKEN}'
106
111
  *
107
112
  * parameter_encoding:
108
- * - source: [to, subject, body, cc, bcc, is_html]
113
+ * - source: [to, subject, body, cc, bcc, isHtml]
109
114
  * target: raw
110
115
  * encoding: mime_rfc2822_base64url
111
116
  *
@@ -1 +1 @@
1
- {"version":3,"file":"parameter-encoding.js","sourceRoot":"","sources":["../../src/encodings/parameter-encoding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameter-encoding.js","sourceRoot":"","sources":["../../src/encodings/parameter-encoding.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,9 @@ export declare enum ErrorCode {
12
12
  TIMEOUT = "TIMEOUT",
13
13
  NETWORK_ERROR = "NETWORK_ERROR",
14
14
  INVALID_PARAMETER = "INVALID_PARAMETER",
15
- UNKNOWN_ERROR = "UNKNOWN_ERROR"
15
+ UNKNOWN_ERROR = "UNKNOWN_ERROR",
16
+ POLICY_DENIED = "POLICY_DENIED",
17
+ POLICY_TIER_BLOCKED = "POLICY_TIER_BLOCKED"
16
18
  }
17
19
  /**
18
20
  * Custom error class for Matimo
@@ -20,9 +22,16 @@ export declare enum ErrorCode {
20
22
  export declare class MatimoError extends Error {
21
23
  code: ErrorCode;
22
24
  details?: Record<string, unknown> | undefined;
23
- constructor(message: string, code: ErrorCode, details?: Record<string, unknown> | undefined);
25
+ cause?: Error | unknown;
26
+ constructor(message: string, code: ErrorCode, details?: Record<string, unknown> | undefined, cause?: Error | unknown);
24
27
  toJSON(): Record<string, unknown>;
25
28
  }
29
+ /**
30
+ * Normalize an HTTP/Axios-style error into a MatimoError preserving useful metadata.
31
+ * This avoids importing axios in the errors module and works with any object
32
+ * that follows the common `error.response` shape.
33
+ */
34
+ export declare function fromHttpError(error: unknown, message?: string): MatimoError;
26
35
  /**
27
36
  * Create a validation error with context
28
37
  */
@@ -1 +1 @@
1
- {"version":3,"file":"matimo-error.d.ts","sourceRoot":"","sources":["../../src/errors/matimo-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oBAAY,SAAS;IACnB,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;CAChC;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAG3B,IAAI,EAAE,SAAS;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAFxC,OAAO,EAAE,MAAM,EACR,IAAI,EAAE,SAAS,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;IAM1C,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAQlC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,WAAW,CAEb;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,WAAW,CAEb"}
1
+ {"version":3,"file":"matimo-error.d.ts","sourceRoot":"","sources":["../../src/errors/matimo-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oBAAY,SAAS;IACnB,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB;CAC5C;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAK3B,IAAI,EAAE,SAAS;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IALnC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;gBAG7B,OAAO,EAAE,MAAM,EACR,IAAI,EAAE,SAAS,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA,EACxC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO;IAOzB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAYlC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,SAAwB,eAW5E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,WAAW,CAEb;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,WAAW,CAEb"}
@@ -14,16 +14,19 @@ export var ErrorCode;
14
14
  ErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR";
15
15
  ErrorCode["INVALID_PARAMETER"] = "INVALID_PARAMETER";
16
16
  ErrorCode["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
17
+ ErrorCode["POLICY_DENIED"] = "POLICY_DENIED";
18
+ ErrorCode["POLICY_TIER_BLOCKED"] = "POLICY_TIER_BLOCKED";
17
19
  })(ErrorCode || (ErrorCode = {}));
18
20
  /**
19
21
  * Custom error class for Matimo
20
22
  */
21
23
  export class MatimoError extends Error {
22
- constructor(message, code, details) {
24
+ constructor(message, code, details, cause) {
23
25
  super(message);
24
26
  this.code = code;
25
27
  this.details = details;
26
28
  this.name = 'MatimoError';
29
+ this.cause = cause;
27
30
  }
28
31
  toJSON() {
29
32
  return {
@@ -31,9 +34,30 @@ export class MatimoError extends Error {
31
34
  message: this.message,
32
35
  code: this.code,
33
36
  details: this.details,
37
+ cause: this.cause instanceof Error
38
+ ? { message: this.cause.message, name: this.cause.name }
39
+ : this.cause,
34
40
  };
35
41
  }
36
42
  }
43
+ /**
44
+ * Normalize an HTTP/Axios-style error into a MatimoError preserving useful metadata.
45
+ * This avoids importing axios in the errors module and works with any object
46
+ * that follows the common `error.response` shape.
47
+ */
48
+ export function fromHttpError(error, message = 'HTTP request failed') {
49
+ // Attempt to extract common HTTP error fields
50
+ const asAny = error;
51
+ const response = asAny?.response;
52
+ const statusCode = response?.status ?? 500;
53
+ const details = response?.data;
54
+ const meta = { statusCode };
55
+ if (details !== undefined)
56
+ meta.details = details;
57
+ // Preserve original error message/cause for debugging (redaction handled elsewhere)
58
+ meta.originalError = asAny?.message ?? String(error ?? '');
59
+ return new MatimoError(message, ErrorCode.EXECUTION_FAILED, meta, error);
60
+ }
37
61
  /**
38
62
  * Create a validation error with context
39
63
  */
@@ -1 +1 @@
1
- {"version":3,"file":"matimo-error.js","sourceRoot":"","sources":["../../src/errors/matimo-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAN,IAAY,SAYX;AAZD,WAAY,SAAS;IACnB,8CAAiC,CAAA;IACjC,kDAAqC,CAAA;IACrC,wCAA2B,CAAA;IAC3B,8CAAiC,CAAA;IACjC,8CAAiC,CAAA;IACjC,oDAAuC,CAAA;IACvC,wDAA2C,CAAA;IAC3C,gCAAmB,CAAA;IACnB,4CAA+B,CAAA;IAC/B,oDAAuC,CAAA;IACvC,4CAA+B,CAAA;AACjC,CAAC,EAZW,SAAS,KAAT,SAAS,QAYpB;AAED;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,YACE,OAAe,EACR,IAAe,EACf,OAAiC;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAW;QACf,YAAO,GAAP,OAAO,CAA0B;QAGxC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAe,EACf,OAAiC;IAEjC,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,OAAiC;IAEjC,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC"}
1
+ {"version":3,"file":"matimo-error.js","sourceRoot":"","sources":["../../src/errors/matimo-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAN,IAAY,SAcX;AAdD,WAAY,SAAS;IACnB,8CAAiC,CAAA;IACjC,kDAAqC,CAAA;IACrC,wCAA2B,CAAA;IAC3B,8CAAiC,CAAA;IACjC,8CAAiC,CAAA;IACjC,oDAAuC,CAAA;IACvC,wDAA2C,CAAA;IAC3C,gCAAmB,CAAA;IACnB,4CAA+B,CAAA;IAC/B,oDAAuC,CAAA;IACvC,4CAA+B,CAAA;IAC/B,4CAA+B,CAAA;IAC/B,wDAA2C,CAAA;AAC7C,CAAC,EAdW,SAAS,KAAT,SAAS,QAcpB;AAED;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAGpC,YACE,OAAe,EACR,IAAe,EACf,OAAiC,EACxC,KAAuB;QAEvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAW;QACf,YAAO,GAAP,OAAO,CAA0B;QAIxC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EACH,IAAI,CAAC,KAAK,YAAY,KAAK;gBACzB,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBACxD,CAAC,CAAC,IAAI,CAAC,KAAK;SACjB,CAAC;IACJ,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc,EAAE,OAAO,GAAG,qBAAqB;IAC3E,8CAA8C;IAC9C,MAAM,KAAK,GAAG,KAA4C,CAAC;IAC3D,MAAM,QAAQ,GAAG,KAAK,EAAE,QAA+C,CAAC;IACxE,MAAM,UAAU,GAAI,QAAQ,EAAE,MAA6B,IAAI,GAAG,CAAC;IACnE,MAAM,OAAO,GAAG,QAAQ,EAAE,IAA2C,CAAC;IACtE,MAAM,IAAI,GAA4B,EAAE,UAAU,EAAE,CAAC;IACrD,IAAI,OAAO,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAClD,oFAAoF;IACpF,IAAI,CAAC,aAAa,GAAG,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3D,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAe,EACf,OAAiC;IAEjC,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,OAAiC;IAEjC,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC"}
@@ -7,9 +7,16 @@ export declare class CommandExecutor {
7
7
  private cwd?;
8
8
  constructor(cwd?: string);
9
9
  /**
10
- * Execute a tool that runs a shell command
10
+ * Execute a tool that runs a shell command.
11
+ *
12
+ * @param tool - Tool definition
13
+ * @param params - Tool parameters
14
+ * @param credentials - Optional per-call credential overrides. Keys must match the env-var
15
+ * names used by the tool (e.g. `SLACK_BOT_TOKEN`). When provided they are merged on top of
16
+ * `process.env` inside the child process so the spawned script sees them as normal env vars.
17
+ * Values are never logged. Falls back to the current environment when not provided.
11
18
  */
12
- execute(tool: ToolDefinition, params: Record<string, unknown>): Promise<unknown>;
19
+ execute(tool: ToolDefinition, params: Record<string, unknown>, credentials?: Record<string, string>): Promise<unknown>;
13
20
  /**
14
21
  * Replace parameter placeholders in a string
15
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"command-executor.d.ts","sourceRoot":"","sources":["../../src/executors/command-executor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD;;;GAGG;AAEH,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAAC,CAAS;gBAET,GAAG,CAAC,EAAE,MAAM;IAIxB;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAqFtF;;OAEG;IACH,OAAO,CAAC,cAAc;CAQvB;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"command-executor.d.ts","sourceRoot":"","sources":["../../src/executors/command-executor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD;;;GAGG;AAEH,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAAC,CAAS;gBAET,GAAG,CAAC,EAAE,MAAM;IAIxB;;;;;;;;;OASG;IACG,OAAO,CACX,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,OAAO,CAAC,OAAO,CAAC;IA4GnB;;OAEG;IACH,OAAO,CAAC,cAAc;CASvB;AAED,eAAe,eAAe,CAAC"}
@@ -9,9 +9,16 @@ export class CommandExecutor {
9
9
  this.cwd = cwd;
10
10
  }
11
11
  /**
12
- * Execute a tool that runs a shell command
12
+ * Execute a tool that runs a shell command.
13
+ *
14
+ * @param tool - Tool definition
15
+ * @param params - Tool parameters
16
+ * @param credentials - Optional per-call credential overrides. Keys must match the env-var
17
+ * names used by the tool (e.g. `SLACK_BOT_TOKEN`). When provided they are merged on top of
18
+ * `process.env` inside the child process so the spawned script sees them as normal env vars.
19
+ * Values are never logged. Falls back to the current environment when not provided.
13
20
  */
14
- async execute(tool, params) {
21
+ async execute(tool, params, credentials) {
15
22
  if (tool.execution.type !== 'command') {
16
23
  throw new MatimoError('Tool execution type is not command', ErrorCode.EXECUTION_FAILED, {
17
24
  expectedType: 'command',
@@ -20,13 +27,29 @@ export class CommandExecutor {
20
27
  }
21
28
  const { command, args = [], timeout = 30000 } = tool.execution;
22
29
  const startTime = Date.now();
23
- // Implement parameter templating
24
- const templatedCommand = this.templateString(command, params);
30
+ // SECURITY: command must be a fixed executable — never a templated value.
31
+ // Only 'args' may contain {placeholder} tokens.
32
+ // ReDoS protection: commands are typically <256 chars; limit regex testing to 1024 chars
33
+ // to prevent polynomial backtracking on malicious inputs (e.g. repeated opening braces).
34
+ if (command.length <= 1024 && /\{[^}]+\}/u.test(command)) {
35
+ throw new MatimoError(`execution.command must not contain parameter placeholders — only 'args' may be templated. ` +
36
+ `Found: '${command}'. Move the dynamic part into 'args'.`, ErrorCode.EXECUTION_FAILED, { toolName: tool.name });
37
+ }
38
+ else if (command.length > 1024) {
39
+ throw new MatimoError(`execution.command exceeds maximum length (1024 chars): ${command.length} chars. ` +
40
+ 'Command must be a simple executable path.', ErrorCode.EXECUTION_FAILED, { toolName: tool.name, length: command.length });
41
+ }
42
+ const templatedCommand = command; // Never template the executable
25
43
  const templatedArgs = args.map((arg) => this.templateString(arg, params));
26
44
  return new Promise((resolve) => {
27
45
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
28
46
  const spawnOptions = {
29
47
  stdio: ['pipe', 'pipe', 'pipe'],
48
+ // Merge per-call credentials on top of the current environment so that
49
+ // the spawned process sees them as ordinary env vars. This is safe:
50
+ // values are held only in memory for the duration of the spawn setup
51
+ // and are never written to disk or logged.
52
+ env: credentials ? { ...process.env, ...credentials } : process.env,
30
53
  };
31
54
  // Set working directory if provided
32
55
  if (this.cwd) {
@@ -89,7 +112,8 @@ export class CommandExecutor {
89
112
  let result = str;
90
113
  for (const [key, value] of Object.entries(params)) {
91
114
  const placeholder = `{${key}}`;
92
- result = result.replace(new RegExp(placeholder, 'g'), String(value));
115
+ const replacement = String(value);
116
+ result = result.replace(new RegExp(placeholder, 'g'), () => replacement);
93
117
  }
94
118
  return result;
95
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"command-executor.js","sourceRoot":"","sources":["../../src/executors/command-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;GAGG;AAEH,MAAM,OAAO,eAAe;IAG1B,YAAY,GAAY;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,IAAoB,EAAE,MAA+B;QACjE,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,WAAW,CAAC,oCAAoC,EAAE,SAAS,CAAC,gBAAgB,EAAE;gBACtF,YAAY,EAAE,SAAS;gBACvB,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;aAChC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,iCAAiC;QACjC,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;QAE1E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,8DAA8D;YAC9D,MAAM,YAAY,GAAQ;gBACxB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC;YAEF,oCAAoC;YACpC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YAC9B,CAAC;YAED,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;YAEnE,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,iBAAiB;YACjB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,QAAQ,GAAG,IAAI,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC,EAAE,OAAO,CAAC,CAAC;YAEZ,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAExC,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,CAAC;wBACN,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,SAAS;wBAChB,QAAQ,EAAE,CAAC,CAAC;wBACZ,QAAQ;qBACT,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,CAAC;oBAC3B,MAAM,OAAO,GAAG,QAAQ,KAAK,CAAC,CAAC;oBAE/B,OAAO,CAAC;wBACN,OAAO;wBACP,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;wBACrB,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE;wBACrB,QAAQ;wBACR,QAAQ;qBACT,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC1B,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAExC,OAAO,CAAC;oBACN,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,KAAK,CAAC,OAAO;oBACpB,QAAQ,EAAE,CAAC,CAAC;oBACZ,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,GAAW,EAAE,MAA+B;QACjE,IAAI,MAAM,GAAG,GAAG,CAAC;QACjB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,WAAW,GAAG,IAAI,GAAG,GAAG,CAAC;YAC/B,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"command-executor.js","sourceRoot":"","sources":["../../src/executors/command-executor.ts"],"names":[],"mappings":"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"}
@@ -14,10 +14,17 @@ export declare class FunctionExecutor {
14
14
  private toolsPath;
15
15
  constructor(toolsPath?: string);
16
16
  /**
17
- * Execute a tool that runs an async function
18
- * Supports both embedded code and external .ts/.js files
17
+ * Execute a tool that runs an async function.
18
+ * Supports both embedded code and external .ts/.js files.
19
+ *
20
+ * @param tool - Tool definition
21
+ * @param params - Tool parameters
22
+ * @param credentials - Optional per-call credential overrides passed as `context.credentials`
23
+ * to the tool function. The function can use them with:
24
+ * `const token = context?.credentials?.MY_TOKEN ?? process.env.MY_TOKEN;`
25
+ * Values are never logged. Falls back to undefined when not provided.
19
26
  */
20
- execute(tool: ToolDefinition, params: Record<string, unknown>): Promise<unknown>;
27
+ execute(tool: ToolDefinition, params: Record<string, unknown>, credentials?: Record<string, string>): Promise<unknown>;
21
28
  }
22
29
  export default FunctionExecutor;
23
30
  //# sourceMappingURL=function-executor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"function-executor.d.ts","sourceRoot":"","sources":["../../src/executors/function-executor.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIhD;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,CAAC,EAAE,MAAM;IAI9B;;;OAGG;IACG,OAAO,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAkLvF;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"function-executor.d.ts","sourceRoot":"","sources":["../../src/executors/function-executor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIhD;;;;;;;;;;GAUG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAS;gBAEd,SAAS,CAAC,EAAE,MAAM;IAI9B;;;;;;;;;;OAUG;IACG,OAAO,CACX,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,OAAO,CAAC,OAAO,CAAC;CAkMpB;AAED,eAAe,gBAAgB,CAAC"}