matimo 0.1.0-alpha.12.1 → 0.1.0-alpha.13
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.
- package/README.md +63 -0
- package/package.json +3 -3
- package/packages/cli/dist/cli.d.ts.map +1 -1
- package/packages/cli/dist/cli.js +16 -0
- package/packages/cli/dist/cli.js.map +1 -1
- package/packages/cli/dist/commands/doctor.d.ts +2 -0
- package/packages/cli/dist/commands/doctor.d.ts.map +1 -0
- package/packages/cli/dist/commands/doctor.js +174 -0
- package/packages/cli/dist/commands/doctor.js.map +1 -0
- package/packages/cli/dist/commands/mcp.d.ts +2 -1
- package/packages/cli/dist/commands/mcp.d.ts.map +1 -1
- package/packages/cli/dist/commands/mcp.js +9 -1
- package/packages/cli/dist/commands/mcp.js.map +1 -1
- package/packages/cli/dist/commands/review.d.ts +10 -0
- package/packages/cli/dist/commands/review.d.ts.map +1 -0
- package/packages/cli/dist/commands/review.js +176 -0
- package/packages/cli/dist/commands/review.js.map +1 -0
- package/packages/core/dist/approval/approval-handler.d.ts +5 -1
- package/packages/core/dist/approval/approval-handler.d.ts.map +1 -1
- package/packages/core/dist/approval/approval-handler.js +6 -0
- package/packages/core/dist/approval/approval-handler.js.map +1 -1
- package/packages/core/dist/core/schema.d.ts +29 -8
- package/packages/core/dist/core/schema.d.ts.map +1 -1
- package/packages/core/dist/core/schema.js +10 -3
- package/packages/core/dist/core/schema.js.map +1 -1
- package/packages/core/dist/core/skill-content-parser.d.ts +91 -0
- package/packages/core/dist/core/skill-content-parser.d.ts.map +1 -0
- package/packages/core/dist/core/skill-content-parser.js +248 -0
- package/packages/core/dist/core/skill-content-parser.js.map +1 -0
- package/packages/core/dist/core/skill-loader.d.ts +46 -0
- package/packages/core/dist/core/skill-loader.d.ts.map +1 -0
- package/packages/core/dist/core/skill-loader.js +310 -0
- package/packages/core/dist/core/skill-loader.js.map +1 -0
- package/packages/core/dist/core/skill-registry.d.ts +131 -0
- package/packages/core/dist/core/skill-registry.d.ts.map +1 -0
- package/packages/core/dist/core/skill-registry.js +316 -0
- package/packages/core/dist/core/skill-registry.js.map +1 -0
- package/packages/core/dist/core/tfidf-embedding.d.ts +45 -0
- package/packages/core/dist/core/tfidf-embedding.d.ts.map +1 -0
- package/packages/core/dist/core/tfidf-embedding.js +199 -0
- package/packages/core/dist/core/tfidf-embedding.js.map +1 -0
- package/packages/core/dist/core/types.d.ts +155 -6
- package/packages/core/dist/core/types.d.ts.map +1 -1
- package/packages/core/dist/errors/matimo-error.d.ts +3 -1
- package/packages/core/dist/errors/matimo-error.d.ts.map +1 -1
- package/packages/core/dist/errors/matimo-error.js +2 -0
- package/packages/core/dist/errors/matimo-error.js.map +1 -1
- package/packages/core/dist/index.d.ts +20 -3
- package/packages/core/dist/index.d.ts.map +1 -1
- package/packages/core/dist/index.js +14 -1
- package/packages/core/dist/index.js.map +1 -1
- package/packages/core/dist/integrations/langchain.d.ts +55 -0
- package/packages/core/dist/integrations/langchain.d.ts.map +1 -1
- package/packages/core/dist/integrations/langchain.js +66 -0
- package/packages/core/dist/integrations/langchain.js.map +1 -1
- package/packages/core/dist/logging/winston-logger.d.ts.map +1 -1
- package/packages/core/dist/logging/winston-logger.js +9 -1
- package/packages/core/dist/logging/winston-logger.js.map +1 -1
- package/packages/core/dist/matimo-instance.d.ts +171 -6
- package/packages/core/dist/matimo-instance.d.ts.map +1 -1
- package/packages/core/dist/matimo-instance.js +602 -13
- package/packages/core/dist/matimo-instance.js.map +1 -1
- package/packages/core/dist/mcp/mcp-server.d.ts +23 -0
- package/packages/core/dist/mcp/mcp-server.d.ts.map +1 -1
- package/packages/core/dist/mcp/mcp-server.js +119 -8
- package/packages/core/dist/mcp/mcp-server.js.map +1 -1
- package/packages/core/dist/mcp/tool-converter.d.ts.map +1 -1
- package/packages/core/dist/mcp/tool-converter.js +10 -1
- package/packages/core/dist/mcp/tool-converter.js.map +1 -1
- package/packages/core/dist/policy/approval-manifest.d.ts +74 -0
- package/packages/core/dist/policy/approval-manifest.d.ts.map +1 -0
- package/packages/core/dist/policy/approval-manifest.js +178 -0
- package/packages/core/dist/policy/approval-manifest.js.map +1 -0
- package/packages/core/dist/policy/content-validator.d.ts +19 -0
- package/packages/core/dist/policy/content-validator.d.ts.map +1 -0
- package/packages/core/dist/policy/content-validator.js +196 -0
- package/packages/core/dist/policy/content-validator.js.map +1 -0
- package/packages/core/dist/policy/default-policy.d.ts +46 -0
- package/packages/core/dist/policy/default-policy.d.ts.map +1 -0
- package/packages/core/dist/policy/default-policy.js +241 -0
- package/packages/core/dist/policy/default-policy.js.map +1 -0
- package/packages/core/dist/policy/events.d.ts +71 -0
- package/packages/core/dist/policy/events.d.ts.map +1 -0
- package/packages/core/dist/policy/events.js +8 -0
- package/packages/core/dist/policy/events.js.map +1 -0
- package/packages/core/dist/policy/index.d.ts +13 -0
- package/packages/core/dist/policy/index.d.ts.map +1 -0
- package/packages/core/dist/policy/index.js +9 -0
- package/packages/core/dist/policy/index.js.map +1 -0
- package/packages/core/dist/policy/integrity-tracker.d.ts +62 -0
- package/packages/core/dist/policy/integrity-tracker.d.ts.map +1 -0
- package/packages/core/dist/policy/integrity-tracker.js +79 -0
- package/packages/core/dist/policy/integrity-tracker.js.map +1 -0
- package/packages/core/dist/policy/policy-loader.d.ts +58 -0
- package/packages/core/dist/policy/policy-loader.d.ts.map +1 -0
- package/packages/core/dist/policy/policy-loader.js +153 -0
- package/packages/core/dist/policy/policy-loader.js.map +1 -0
- package/packages/core/dist/policy/risk-classifier.d.ts +18 -0
- package/packages/core/dist/policy/risk-classifier.d.ts.map +1 -0
- package/packages/core/dist/policy/risk-classifier.js +43 -0
- package/packages/core/dist/policy/risk-classifier.js.map +1 -0
- package/packages/core/dist/policy/types.d.ts +126 -0
- package/packages/core/dist/policy/types.d.ts.map +1 -0
- package/packages/core/dist/policy/types.js +8 -0
- package/packages/core/dist/policy/types.js.map +1 -0
|
@@ -1,22 +1,68 @@
|
|
|
1
|
-
import {
|
|
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":"
|
|
1
|
+
{"version":3,"file":"matimo-instance.d.ts","sourceRoot":"","sources":["../src/matimo-instance.ts"],"names":[],"mappings":"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"}
|