@matimo/core 0.1.0-alpha.12.1 → 0.1.0-alpha.14

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 (118) hide show
  1. package/README.md +169 -8
  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 +29 -8
  7. package/dist/core/schema.d.ts.map +1 -1
  8. package/dist/core/schema.js +10 -3
  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/types.d.ts +155 -6
  27. package/dist/core/types.d.ts.map +1 -1
  28. package/dist/errors/matimo-error.d.ts +3 -1
  29. package/dist/errors/matimo-error.d.ts.map +1 -1
  30. package/dist/errors/matimo-error.js +2 -0
  31. package/dist/errors/matimo-error.js.map +1 -1
  32. package/dist/executors/command-executor.d.ts.map +1 -1
  33. package/dist/executors/command-executor.js +13 -2
  34. package/dist/executors/command-executor.js.map +1 -1
  35. package/dist/executors/function-executor.d.ts.map +1 -1
  36. package/dist/executors/function-executor.js +33 -20
  37. package/dist/executors/function-executor.js.map +1 -1
  38. package/dist/index.d.ts +20 -3
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +14 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/integrations/langchain.d.ts +55 -0
  43. package/dist/integrations/langchain.d.ts.map +1 -1
  44. package/dist/integrations/langchain.js +66 -0
  45. package/dist/integrations/langchain.js.map +1 -1
  46. package/dist/logging/winston-logger.d.ts.map +1 -1
  47. package/dist/logging/winston-logger.js +9 -1
  48. package/dist/logging/winston-logger.js.map +1 -1
  49. package/dist/matimo-instance.d.ts +171 -6
  50. package/dist/matimo-instance.d.ts.map +1 -1
  51. package/dist/matimo-instance.js +602 -13
  52. package/dist/matimo-instance.js.map +1 -1
  53. package/dist/mcp/mcp-server.d.ts +25 -0
  54. package/dist/mcp/mcp-server.d.ts.map +1 -1
  55. package/dist/mcp/mcp-server.js +128 -21
  56. package/dist/mcp/mcp-server.js.map +1 -1
  57. package/dist/mcp/tool-converter.d.ts.map +1 -1
  58. package/dist/mcp/tool-converter.js +10 -1
  59. package/dist/mcp/tool-converter.js.map +1 -1
  60. package/dist/policy/approval-manifest.d.ts +74 -0
  61. package/dist/policy/approval-manifest.d.ts.map +1 -0
  62. package/dist/policy/approval-manifest.js +183 -0
  63. package/dist/policy/approval-manifest.js.map +1 -0
  64. package/dist/policy/content-validator.d.ts +19 -0
  65. package/dist/policy/content-validator.d.ts.map +1 -0
  66. package/dist/policy/content-validator.js +196 -0
  67. package/dist/policy/content-validator.js.map +1 -0
  68. package/dist/policy/default-policy.d.ts +46 -0
  69. package/dist/policy/default-policy.d.ts.map +1 -0
  70. package/dist/policy/default-policy.js +241 -0
  71. package/dist/policy/default-policy.js.map +1 -0
  72. package/dist/policy/events.d.ts +71 -0
  73. package/dist/policy/events.d.ts.map +1 -0
  74. package/dist/policy/events.js +8 -0
  75. package/dist/policy/events.js.map +1 -0
  76. package/dist/policy/index.d.ts +13 -0
  77. package/dist/policy/index.d.ts.map +1 -0
  78. package/dist/policy/index.js +9 -0
  79. package/dist/policy/index.js.map +1 -0
  80. package/dist/policy/integrity-tracker.d.ts +62 -0
  81. package/dist/policy/integrity-tracker.d.ts.map +1 -0
  82. package/dist/policy/integrity-tracker.js +79 -0
  83. package/dist/policy/integrity-tracker.js.map +1 -0
  84. package/dist/policy/policy-loader.d.ts +58 -0
  85. package/dist/policy/policy-loader.d.ts.map +1 -0
  86. package/dist/policy/policy-loader.js +153 -0
  87. package/dist/policy/policy-loader.js.map +1 -0
  88. package/dist/policy/risk-classifier.d.ts +18 -0
  89. package/dist/policy/risk-classifier.d.ts.map +1 -0
  90. package/dist/policy/risk-classifier.js +43 -0
  91. package/dist/policy/risk-classifier.js.map +1 -0
  92. package/dist/policy/types.d.ts +126 -0
  93. package/dist/policy/types.d.ts.map +1 -0
  94. package/dist/policy/types.js +8 -0
  95. package/dist/policy/types.js.map +1 -0
  96. package/package.json +5 -5
  97. package/tools/matimo_approve_tool/definition.yaml +36 -0
  98. package/tools/matimo_approve_tool/matimo_approve_tool.ts +90 -0
  99. package/tools/matimo_create_skill/definition.yaml +46 -0
  100. package/tools/matimo_create_skill/matimo_create_skill.ts +75 -0
  101. package/tools/matimo_create_tool/definition.yaml +48 -0
  102. package/tools/matimo_create_tool/matimo_create_tool.ts +137 -0
  103. package/tools/matimo_get_skill/definition.yaml +60 -0
  104. package/tools/matimo_get_skill/matimo_get_skill.ts +182 -0
  105. package/tools/matimo_get_tool_status/definition.yaml +42 -0
  106. package/tools/matimo_get_tool_status/matimo_get_tool_status.ts +101 -0
  107. package/tools/matimo_list_skills/definition.yaml +52 -0
  108. package/tools/matimo_list_skills/matimo_list_skills.ts +138 -0
  109. package/tools/matimo_list_user_tools/definition.yaml +32 -0
  110. package/tools/matimo_list_user_tools/matimo_list_user_tools.ts +74 -0
  111. package/tools/matimo_reload_tools/definition.yaml +35 -0
  112. package/tools/matimo_reload_tools/matimo_reload_tools.ts +29 -0
  113. package/tools/matimo_validate_skill/definition.yaml +43 -0
  114. package/tools/matimo_validate_skill/matimo_validate_skill.ts +137 -0
  115. package/tools/matimo_validate_tool/definition.yaml +34 -0
  116. package/tools/matimo_validate_tool/matimo_validate_tool.ts +168 -0
  117. package/tools/shared/skill-validation.ts +335 -0
  118. package/LICENSE +0 -21
package/dist/index.d.ts CHANGED
@@ -4,10 +4,17 @@
4
4
  * Framework-agnostic SDK that enables any developer to integrate 1000+ tools
5
5
  * across any AI framework (LangChain, CrewAI, Anthropic SDK, etc.).
6
6
  */
7
- export type { Parameter, AuthConfig, HttpExecution, CommandExecution, FunctionExecution, OutputSchema, RateLimitConfig, ErrorHandlingConfig, ToolDefinition, ExecuteOptions, } from './core/types';
7
+ export type { Parameter, AuthConfig, HttpExecution, CommandExecution, FunctionExecution, OutputSchema, RateLimitConfig, ErrorHandlingConfig, ToolDefinition, ExecuteOptions, SkillDefinition, SkillFrontmatter, ParsedSkill, SkillSummary, SearchSkillsOptions, BundledResources, SkillCatalogInfo, SkillSection, SkillContentOptions, EmbeddingProvider, } from './core/types';
8
8
  export { ParameterSchema, AuthConfigSchema, ExecutionConfigSchema } from './core/schema';
9
9
  export { ToolLoader } from './core/tool-loader';
10
10
  export { ToolRegistry } from './core/tool-registry';
11
+ export { SkillLoader } from './core/skill-loader';
12
+ export { SkillRegistry } from './core/skill-registry';
13
+ export type { SemanticSearchResult } from './core/skill-registry';
14
+ export { parseSkillSections, extractSkillContent, listSkillSections, } from './core/skill-content-parser';
15
+ export { extractSkillMetadata } from './core/skill-loader';
16
+ export type { ParsedSkillContent } from './core/skill-content-parser';
17
+ export { TfIdfEmbeddingProvider, cosineSimilarity } from './core/tfidf-embedding';
11
18
  export { CommandExecutor } from './executors/command-executor';
12
19
  export { HttpExecutor } from './executors/http-executor';
13
20
  export { FunctionExecutor } from './executors/function-executor';
@@ -23,8 +30,18 @@ export type { OAuth2Provider, OAuth2Token, OAuth2Config, AuthorizationOptions, T
23
30
  export type { ProviderDefinition } from './core/schema';
24
31
  export { OAuth2ProviderLoader } from './auth/oauth2-provider-loader';
25
32
  export { OAuth2Handler } from './auth/oauth2-handler';
26
- export { convertToolsToLangChain } from './integrations/langchain';
27
- export type { LangChainTool } from './integrations/langchain';
33
+ export { convertToolsToLangChain, getSkillsMetadata, buildRelevantSkillPrompt, } from './integrations/langchain';
34
+ export type { LangChainTool, SkillContext } from './integrations/langchain';
35
+ export type { PolicyEngine, PolicyContext, PolicyDecision, PolicyConfig, PolicyTier, RiskLevel, Violation, ValidationResult, ValidationContext, HITLCallback, HITLRequest, } from './policy/types';
36
+ export { DefaultPolicyEngine, getTierForTool } from './policy/default-policy';
37
+ export { validateToolContent, isSSRFTarget } from './policy/content-validator';
38
+ export { classifyRisk } from './policy/risk-classifier';
39
+ export { ToolIntegrityTracker } from './policy/integrity-tracker';
40
+ export { ApprovalManifest } from './policy/approval-manifest';
41
+ export { loadPolicyFromFile, parsePolicyFile } from './policy/policy-loader';
42
+ export type { MatimoEvent, MatimoEventHandler } from './policy/events';
43
+ export { ToolDefinitionSchema, validateToolDefinition } from './core/schema';
44
+ export type { ReloadResult } from './matimo-instance';
28
45
  export { ApprovalHandler, getGlobalApprovalHandler } from './approval/approval-handler';
29
46
  export type { ApprovalRequest, ApprovalCallback } from './approval/approval-handler';
30
47
  export { MCPServer, createMCPServer } from './mcp/index';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,cAAc,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,YAAY,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAG9E,OAAO,EACL,IAAI,EACJ,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7E,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,YAAY,EACV,cAAc,EACd,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,aAAa,EACb,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,YAAY,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAK9D,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACxF,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAIrF,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACzD,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGpD,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,6 +7,11 @@
7
7
  export { ParameterSchema, AuthConfigSchema, ExecutionConfigSchema } from './core/schema';
8
8
  export { ToolLoader } from './core/tool-loader';
9
9
  export { ToolRegistry } from './core/tool-registry';
10
+ export { SkillLoader } from './core/skill-loader';
11
+ export { SkillRegistry } from './core/skill-registry';
12
+ export { parseSkillSections, extractSkillContent, listSkillSections, } from './core/skill-content-parser';
13
+ export { extractSkillMetadata } from './core/skill-loader';
14
+ export { TfIdfEmbeddingProvider, cosineSimilarity } from './core/tfidf-embedding';
10
15
  // Executors
11
16
  export { CommandExecutor } from './executors/command-executor';
12
17
  export { HttpExecutor } from './executors/http-executor';
@@ -25,7 +30,15 @@ export { MatimoInstance, matimo } from './matimo-instance';
25
30
  export { OAuth2ProviderLoader } from './auth/oauth2-provider-loader';
26
31
  export { OAuth2Handler } from './auth/oauth2-handler';
27
32
  // LangChain integration
28
- export { convertToolsToLangChain } from './integrations/langchain';
33
+ export { convertToolsToLangChain, getSkillsMetadata, buildRelevantSkillPrompt, } from './integrations/langchain';
34
+ export { DefaultPolicyEngine, getTierForTool } from './policy/default-policy';
35
+ export { validateToolContent, isSSRFTarget } from './policy/content-validator';
36
+ export { classifyRisk } from './policy/risk-classifier';
37
+ export { ToolIntegrityTracker } from './policy/integrity-tracker';
38
+ export { ApprovalManifest } from './policy/approval-manifest';
39
+ export { loadPolicyFromFile, parsePolicyFile } from './policy/policy-loader';
40
+ // Schema validation
41
+ export { ToolDefinitionSchema, validateToolDefinition } from './core/schema';
29
42
  // Generic Approval System - Simple, scalable flow for any tool
30
43
  // Tools declare requires_approval in YAML, or system detects destructive keywords
31
44
  // Single approval callback handles all tools - no per-provider logic needed
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,YAAY;AACZ,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,qBAAqB;AACrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAGzE,aAAa;AACb,OAAO,EACL,IAAI,EACJ,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAErC,iBAAiB;AACjB,OAAO,EACL,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,UAAU;AACV,OAAO,EAIL,eAAe,EACf,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7E,gCAAgC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAa3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,wBAAwB;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAGnE,+DAA+D;AAC/D,kFAAkF;AAClF,4EAA4E;AAC5E,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAGxF,kDAAkD;AAClD,oEAAoE;AACpE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAKzD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyBH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAElF,YAAY;AACZ,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,qBAAqB;AACrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAGzE,aAAa;AACb,OAAO,EACL,IAAI,EACJ,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAErC,iBAAiB;AACjB,OAAO,EACL,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,UAAU;AACV,OAAO,EAIL,eAAe,EACf,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7E,gCAAgC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAa3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,wBAAwB;AACxB,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAqBlC,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG7E,oBAAoB;AACpB,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAK7E,+DAA+D;AAC/D,kFAAkF;AAClF,4EAA4E;AAC5E,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAGxF,kDAAkD;AAClD,oEAAoE;AACpE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAKzD,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,aAAa,CAAC"}
@@ -43,4 +43,59 @@ export interface LangChainTool {
43
43
  * ```
44
44
  */
45
45
  export declare function convertToolsToLangChain(tools: ToolDefinition[], matimo: MatimoInstance, secrets?: Record<string, string>, secretParamNames?: Set<string>): Promise<LangChainTool[]>;
46
+ export interface SkillContext {
47
+ name: string;
48
+ description: string;
49
+ content: string;
50
+ }
51
+ /**
52
+ * Return Level 1 metadata (name + description) for all available skills.
53
+ *
54
+ * Token-safe — only a few lines per skill. Include this in the system prompt
55
+ * so the agent knows what skills exist and can request them by name, mirroring
56
+ * what `matimo_list_skills` does in the tool-based flow.
57
+ *
58
+ * @example
59
+ * ```ts
60
+ * const meta = getSkillsMetadata(matimo);
61
+ * // → [{ name: 'code-review', description: 'Code review checklist' }, ...]
62
+ * ```
63
+ */
64
+ export declare function getSkillsMetadata(matimo: MatimoInstance): Array<{
65
+ name: string;
66
+ description: string;
67
+ }>;
68
+ /**
69
+ * Build a per-request system prompt snippet from semantically relevant skills.
70
+ *
71
+ * Uses TF-IDF semantic search (built-in, zero dependencies) to rank all skills
72
+ * against the user's query and loads full content only for the top matches.
73
+ * This preserves the progressive disclosure model without MCP:
74
+ *
75
+ * Level 1 at startup → Level 2 per-request (only relevant skills)
76
+ *
77
+ * @param matimo - Initialised MatimoInstance
78
+ * @param query - The user's current message/query; drives semantic ranking
79
+ * @param options.topK - Max skills to load (default 3); keeps token cost bounded
80
+ * @param options.minScore - Minimum cosine similarity to include (default 0.3)
81
+ * @param options.header - Custom header text (optional)
82
+ * @returns Formatted string ready to inject as a context block, or empty string
83
+ * when no skills score above `minScore`.
84
+ *
85
+ * @example
86
+ * ```ts
87
+ * // In your ReAct loop, per message:
88
+ * const skillContext = await buildRelevantSkillPrompt(matimo, userMessage, { topK: 2 });
89
+ * const messages = [
90
+ * new SystemMessage(baseSystemPrompt),
91
+ * ...(skillContext ? [new SystemMessage(skillContext)] : []),
92
+ * new HumanMessage(userMessage),
93
+ * ];
94
+ * ```
95
+ */
96
+ export declare function buildRelevantSkillPrompt(matimo: MatimoInstance, query: string, options?: {
97
+ topK?: number;
98
+ minScore?: number;
99
+ header?: string;
100
+ }): Promise<string>;
46
101
  //# sourceMappingURL=langchain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9D;AAiMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,cAAc,EAAE,EACvB,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACpC,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC7B,OAAO,CAAC,aAAa,EAAE,CAAC,CAiB1B"}
1
+ {"version":3,"file":"langchain.d.ts","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;IACpB,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9D;AAiMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,cAAc,EAAE,EACvB,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACpC,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC7B,OAAO,CAAC,aAAa,EAAE,CAAC,CAiB1B;AAoBD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,GACrB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAK9C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAClE,OAAO,CAAC,MAAM,CAAC,CAwBjB"}
@@ -195,4 +195,70 @@ export async function convertToolsToLangChain(tools, matimo, secrets = {}, secre
195
195
  }
196
196
  return Promise.all(tools.map((tool) => convertTool(matimo, tool, detectedSecrets, secrets)));
197
197
  }
198
+ /**
199
+ * Return Level 1 metadata (name + description) for all available skills.
200
+ *
201
+ * Token-safe — only a few lines per skill. Include this in the system prompt
202
+ * so the agent knows what skills exist and can request them by name, mirroring
203
+ * what `matimo_list_skills` does in the tool-based flow.
204
+ *
205
+ * @example
206
+ * ```ts
207
+ * const meta = getSkillsMetadata(matimo);
208
+ * // → [{ name: 'code-review', description: 'Code review checklist' }, ...]
209
+ * ```
210
+ */
211
+ export function getSkillsMetadata(matimo) {
212
+ return matimo.listSkills().map((s) => ({
213
+ name: s.name,
214
+ description: s.description ?? '',
215
+ }));
216
+ }
217
+ /**
218
+ * Build a per-request system prompt snippet from semantically relevant skills.
219
+ *
220
+ * Uses TF-IDF semantic search (built-in, zero dependencies) to rank all skills
221
+ * against the user's query and loads full content only for the top matches.
222
+ * This preserves the progressive disclosure model without MCP:
223
+ *
224
+ * Level 1 at startup → Level 2 per-request (only relevant skills)
225
+ *
226
+ * @param matimo - Initialised MatimoInstance
227
+ * @param query - The user's current message/query; drives semantic ranking
228
+ * @param options.topK - Max skills to load (default 3); keeps token cost bounded
229
+ * @param options.minScore - Minimum cosine similarity to include (default 0.3)
230
+ * @param options.header - Custom header text (optional)
231
+ * @returns Formatted string ready to inject as a context block, or empty string
232
+ * when no skills score above `minScore`.
233
+ *
234
+ * @example
235
+ * ```ts
236
+ * // In your ReAct loop, per message:
237
+ * const skillContext = await buildRelevantSkillPrompt(matimo, userMessage, { topK: 2 });
238
+ * const messages = [
239
+ * new SystemMessage(baseSystemPrompt),
240
+ * ...(skillContext ? [new SystemMessage(skillContext)] : []),
241
+ * new HumanMessage(userMessage),
242
+ * ];
243
+ * ```
244
+ */
245
+ export async function buildRelevantSkillPrompt(matimo, query, options = {}) {
246
+ const { topK = 3, minScore = 0.3 } = options;
247
+ const searchResults = await matimo.semanticSearchSkills(query, { limit: topK, minScore });
248
+ if (searchResults.length === 0)
249
+ return '';
250
+ const blocks = [];
251
+ for (const result of searchResults) {
252
+ const content = matimo.getSkillContent(result.skill.name);
253
+ if (content) {
254
+ const desc = result.skill.description ? `_${result.skill.description}_\n\n` : '';
255
+ blocks.push(`## Skill: ${result.skill.name} (relevance: ${result.score.toFixed(2)})\n${desc}${content}`);
256
+ }
257
+ }
258
+ if (blocks.length === 0)
259
+ return '';
260
+ const header = options.header ??
261
+ 'The following skills are relevant to the current request — apply their guidelines:';
262
+ return [header, ...blocks].join('\n\n');
263
+ }
198
264
  //# sourceMappingURL=langchain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"langchain.js","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"langchain.js","sourceRoot":"","sources":["../../src/integrations/langchain.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"winston-logger.d.ts","sourceRoot":"","sources":["../../src/logging/winston-logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEnE;;;;;;GAMG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IACtD,OAAO,CAAC,aAAa,CAAiB;gBAE1B,MAAM,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE;IAkBxE,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,YAAY;IAsBpB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAG7D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAS/D"}
1
+ {"version":3,"file":"winston-logger.d.ts","sourceRoot":"","sources":["../../src/logging/winston-logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEnE;;;;;;GAMG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IACtD,OAAO,CAAC,aAAa,CAAiB;gBAE1B,MAAM,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE;IA0BxE,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,YAAY;IAsBpB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAG7D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAS/D"}
@@ -14,9 +14,17 @@ export class WinstonMatimoLogger {
14
14
  const format = this.createFormat(config.logFormat);
15
15
  this.winstonLogger = winston.createLogger({
16
16
  level: winstonLevel,
17
+ // When logLevel is 'silent', suppress ALL output. This is critical for
18
+ // MCP stdio transport where stdout is reserved for JSON-RPC messages —
19
+ // any non-JSON output (even error logs) corrupts the protocol.
20
+ silent: config.logLevel === 'silent',
17
21
  format,
18
22
  transports: [
19
23
  new winston.transports.Console({
24
+ // Write ALL log levels to stderr instead of stdout. This prevents
25
+ // log output from corrupting stdio-based protocols (e.g., MCP)
26
+ // where stdout is reserved for structured messages.
27
+ stderrLevels: ['error', 'warn', 'info', 'debug'],
20
28
  format: winston.format.combine(winston.format.colorize(), format),
21
29
  }),
22
30
  ],
@@ -24,7 +32,7 @@ export class WinstonMatimoLogger {
24
32
  }
25
33
  mapLogLevel(level) {
26
34
  const levelMap = {
27
- silent: 'error', // Log errors even in silent mode (they'll be filtered at transport level)
35
+ silent: 'error', // Winston level when silent actual suppression handled by silent: true
28
36
  error: 'error',
29
37
  warn: 'warn',
30
38
  info: 'info',
@@ -1 +1 @@
1
- {"version":3,"file":"winston-logger.js","sourceRoot":"","sources":["../../src/logging/winston-logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"winston-logger.js","sourceRoot":"","sources":["../../src/logging/winston-logger.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,68 @@
1
- import { ToolDefinition } from './core/schema';
1
+ import { ToolRegistry } from './core/tool-registry';
2
+ import type { SemanticSearchResult } from './core/skill-registry';
3
+ import { ToolDefinition, SkillDefinition, SkillSummary, SearchSkillsOptions, SkillContentOptions, EmbeddingProvider } from './core/types';
2
4
  import { MatimoLogger, LoggerConfig } from './logging';
3
5
  import type { ExecuteOptions } from './core/types';
6
+ import type { PolicyEngine, PolicyContext, PolicyConfig, HITLCallback } from './policy/types';
7
+ import { ToolIntegrityTracker } from './policy/integrity-tracker';
8
+ import { ApprovalManifest } from './policy/approval-manifest';
9
+ import type { MatimoEventHandler } from './policy/events';
10
+ /**
11
+ * Result of a hot-reload operation
12
+ */
13
+ export interface ReloadResult {
14
+ loaded: number;
15
+ removed: number;
16
+ revalidated: number;
17
+ rejected: string[];
18
+ /** True if a mid-load failure caused the registry to be restored to its previous state. */
19
+ rolledBack?: boolean;
20
+ }
4
21
  /**
5
22
  * Options for MatimoInstance initialization
6
23
  */
7
24
  export interface InitOptions extends LoggerConfig {
8
25
  toolPaths?: string[];
26
+ /** Skill paths for discovering SKILL.md files (Level 1 discovery) */
27
+ skillPaths?: string[];
9
28
  autoDiscover?: boolean;
10
29
  includeCore?: boolean;
30
+ /** Custom PolicyEngine implementation. Mutually exclusive with policyConfig and policyFile. */
31
+ policy?: PolicyEngine;
32
+ /** Shorthand to create a DefaultPolicyEngine. Ignored if `policy` is provided. */
33
+ policyConfig?: PolicyConfig;
34
+ /** Path to a policy.yaml file. Loaded into a DefaultPolicyEngine. Ignored if `policy` is provided. */
35
+ policyFile?: string;
36
+ /** Paths containing trusted (developer-authored) tools. Defaults to auto-discovered @matimo/* paths. */
37
+ trustedPaths?: string[];
38
+ /** Paths containing untrusted (agent-created) tools. These tools undergo content validation. */
39
+ untrustedPaths?: string[];
40
+ /** HMAC secret for approval manifest. Overrides MATIMO_APPROVAL_SECRET env. */
41
+ approvalSecret?: string;
42
+ /** Directory for .matimo-approvals.json. Defaults to process.cwd(). */
43
+ approvalDir?: string;
44
+ /** Event handler for audit events (tool creation, approval, execution, etc.) */
45
+ onEvent?: MatimoEventHandler;
46
+ /**
47
+ * Human-in-the-loop callback for quarantined tools.
48
+ * Called when a tool enters `pending_approval` state (medium-risk in prod with enableHITL).
49
+ * Return `true` to approve, `false` to reject.
50
+ * If not set, quarantined tools are rejected by default.
51
+ */
52
+ onHITL?: HITLCallback;
11
53
  }
12
54
  /**
13
55
  * Matimo Instance - Single initialization point for tool execution
14
56
  * Combines loader, registry, and executors into one interface
15
57
  */
16
58
  export declare class MatimoInstance {
59
+ #private;
17
60
  private toolPaths;
61
+ private skillPaths;
18
62
  private loader;
19
63
  private registry;
64
+ private skillLoader;
65
+ private skillRegistry;
20
66
  private commandExecutor;
21
67
  private httpExecutor;
22
68
  private functionExecutor;
@@ -80,27 +126,28 @@ export declare class MatimoInstance {
80
126
  */
81
127
  getTool(toolName: string): ToolDefinition | undefined;
82
128
  /**
83
- * List all available tools
129
+ * List all available tools, optionally filtered by policy.
130
+ * @param context - PolicyContext for filtering. If omitted and policy is active, returns all tools (backward compatible).
84
131
  * @returns Array of tool definitions
85
132
  */
86
- listTools(): ToolDefinition[];
133
+ listTools(context?: PolicyContext): ToolDefinition[];
87
134
  /**
88
135
  * Get all available tools (alias for listTools)
89
136
  * @returns Array of tool definitions
90
137
  */
91
- getAllTools(): ToolDefinition[];
138
+ getAllTools(context?: PolicyContext): ToolDefinition[];
92
139
  /**
93
140
  * Search tools by name or description
94
141
  * @param query - Search query
95
142
  * @returns Matching tools
96
143
  */
97
- searchTools(query: string): ToolDefinition[];
144
+ searchTools(query: string, context?: PolicyContext): ToolDefinition[];
98
145
  /**
99
146
  * Get tools by tag
100
147
  * @param tag - Tag to search for
101
148
  * @returns Tools with the given tag
102
149
  */
103
- getToolsByTag(tag: string): ToolDefinition[];
150
+ getToolsByTag(tag: string, context?: PolicyContext): ToolDefinition[];
104
151
  /**
105
152
  * Return the credential key names that a tool expects.
106
153
  *
@@ -124,6 +171,74 @@ export declare class MatimoInstance {
124
171
  * @throws `MatimoError(TOOL_NOT_FOUND)` if the tool doesn't exist
125
172
  */
126
173
  getRequiredCredentials(toolName: string): string[];
174
+ /**
175
+ * List all available skills (Level 1 discovery - minimal context)
176
+ * @returns Array of skill summaries
177
+ */
178
+ listSkills(): SkillSummary[];
179
+ /**
180
+ * Get a single skill by name (Level 2 activation - full content)
181
+ * @param name - Skill name
182
+ * @returns Skill definition or null
183
+ */
184
+ getSkill(name: string): SkillDefinition | null;
185
+ /**
186
+ * Get selective skill content — only the sections an agent needs.
187
+ * Prevents dumping entire SKILL.md files into the LLM context window.
188
+ *
189
+ * @example
190
+ * // Get only error handling, max 500 tokens
191
+ * matimo.getSkillContent('postgres-query-operations', {
192
+ * sections: ['Error Handling'],
193
+ * maxTokens: 500,
194
+ * })
195
+ */
196
+ getSkillContent(name: string, options?: SkillContentOptions): string | null;
197
+ /**
198
+ * List all sections of a skill with their token costs.
199
+ * Agents use this to decide which sections to load before activating.
200
+ */
201
+ getSkillSections(name: string): Array<{
202
+ path: string;
203
+ level: number;
204
+ tokenEstimate: number;
205
+ }> | null;
206
+ /**
207
+ * Search skills by keyword, category, difficulty, etc.
208
+ * Set `options.semantic = true` for embedding-based similarity ranking.
209
+ * @param options - Search options
210
+ * @returns Matching skills
211
+ */
212
+ searchSkills(options?: SearchSkillsOptions): SkillSummary[];
213
+ /**
214
+ * Semantic search with relevance scores.
215
+ * Uses embeddings to find skills by meaning, not just keywords.
216
+ *
217
+ * @example
218
+ * const results = await matimo.semanticSearchSkills('How do I handle Postgres locking?');
219
+ * // → [{ skill: { name: 'postgres-query-operations' }, score: 0.82 }]
220
+ */
221
+ semanticSearchSkills(query: string, options?: {
222
+ limit?: number;
223
+ minScore?: number;
224
+ }): Promise<SemanticSearchResult[]>;
225
+ /**
226
+ * Set a custom embedding provider for semantic skill search.
227
+ * If not set, a built-in TF-IDF provider is used.
228
+ */
229
+ setSkillEmbeddingProvider(provider: EmbeddingProvider): void;
230
+ /**
231
+ * Get a bundled resource from a skill (Level 3 resources)
232
+ * @param skillName - Skill name
233
+ * @param resourcePath - Relative path to resource (e.g., "scripts/extract.py")
234
+ * @returns Resource content
235
+ */
236
+ getSkillResource(skillName: string, resourcePath: string): string;
237
+ /**
238
+ * Get all skill paths
239
+ * @returns Array of skill paths
240
+ */
241
+ getSkillPaths(): string[];
127
242
  /**
128
243
  * Automatically inject parameters from environment variables
129
244
  * Uses a YAML-native, scale-friendly approach:
@@ -139,6 +254,12 @@ export declare class MatimoInstance {
139
254
  * Credential values are never logged.
140
255
  */
141
256
  private injectAuthParameters;
257
+ /**
258
+ * After injectAuthParameters(), verify no auth-looking placeholders remain unfilled.
259
+ * Only checks HTTP headers (where auth credentials are injected) — not query params or body.
260
+ * Throws AUTH_FAILED with actionable guidance naming the missing env var(s).
261
+ */
262
+ private assertAuthParamsFilled;
142
263
  /**
143
264
  * Extract all parameter placeholders from execution config
144
265
  * Scans headers, body, URL, and query_params for {paramName} patterns
@@ -152,6 +273,50 @@ export declare class MatimoInstance {
152
273
  * Get the appropriate executor for a tool
153
274
  */
154
275
  private getExecutor;
276
+ /**
277
+ * Hot-reload tools from all configured paths.
278
+ * Re-validates untrusted tools via content validator and integrity tracker.
279
+ * Tools that fail validation are rejected and not loaded.
280
+ *
281
+ * Atomic: if loading fails mid-way (e.g. I/O error), the registry is restored
282
+ * to its previous state and `rolledBack: true` is included in the result.
283
+ */
284
+ reloadTools(): Promise<ReloadResult>;
285
+ /**
286
+ * Check if a policy engine is active.
287
+ */
288
+ hasPolicy(): boolean;
289
+ /**
290
+ * Get the approval manifest (if policy engine is active).
291
+ */
292
+ getApprovalManifest(): ApprovalManifest | null;
293
+ /**
294
+ * Get the integrity tracker.
295
+ */
296
+ getIntegrityTracker(): ToolIntegrityTracker;
297
+ /**
298
+ * Get the tool registry (for advanced use cases).
299
+ */
300
+ getRegistry(): ToolRegistry;
301
+ /**
302
+ * Set a Human-in-the-Loop callback for quarantined tools.
303
+ * The callback is invoked when a tool with `pending_approval` status is executed.
304
+ * Return `true` to approve, `false` to reject.
305
+ */
306
+ setHITLCallback(callback: HITLCallback | null): void;
307
+ /**
308
+ * Hot-reload the policy engine at runtime.
309
+ *
310
+ * - If `configOrFile` is a `PolicyConfig` object, creates a new `DefaultPolicyEngine`.
311
+ * - If `configOrFile` is a string, re-reads and parses the YAML file.
312
+ * - If omitted and the instance was initialized with `policyFile`, re-reads that file.
313
+ *
314
+ * The new policy is validated before swap — if validation fails, the old policy remains active.
315
+ * After swap, all tools are re-validated against the new policy via `reloadTools()`.
316
+ *
317
+ * @returns The ReloadResult from the subsequent tool re-validation.
318
+ */
319
+ reloadPolicy(configOrFile?: PolicyConfig | string): Promise<ReloadResult>;
155
320
  }
156
321
  /**
157
322
  * Matimo namespace - Entry point for the SDK
@@ -1 +1 @@
1
- {"version":3,"file":"matimo-instance.d.ts","sourceRoot":"","sources":["../src/matimo-instance.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EACL,YAAY,EACZ,YAAY,EAIb,MAAM,WAAW,CAAC;AAEnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,eAAe,CAAkB;IAEzC,OAAO;IAaP;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;WACU,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAqE1E;;;OAGG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB;;;OAGG;IACH,SAAS,IAAI,YAAY;IAIzB;;;;;;;;;;;;OAYG;IACG,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC;IA4FnB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIrD;;;OAGG;IACH,SAAS,IAAI,cAAc,EAAE;IAI7B;;;OAGG;IACH,WAAW,IAAI,cAAc,EAAE;IAI/B;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE;IAI5C;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE;IAI5C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IA4ClD;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,oBAAoB;IAyD5B;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAkDpC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0C3B;;OAEG;IACH,OAAO,CAAC,WAAW;CAiBpB;AAED;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB;;;;OAIG;oBACmB,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CAGvD,CAAC"}
1
+ {"version":3,"file":"matimo-instance.d.ts","sourceRoot":"","sources":["../src/matimo-instance.ts"],"names":[],"mappings":"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"}