@matimo/core 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 +169 -8
- package/dist/approval/approval-handler.d.ts +5 -1
- package/dist/approval/approval-handler.d.ts.map +1 -1
- package/dist/approval/approval-handler.js +6 -0
- package/dist/approval/approval-handler.js.map +1 -1
- package/dist/core/schema.d.ts +29 -8
- package/dist/core/schema.d.ts.map +1 -1
- package/dist/core/schema.js +10 -3
- package/dist/core/schema.js.map +1 -1
- package/dist/core/skill-content-parser.d.ts +91 -0
- package/dist/core/skill-content-parser.d.ts.map +1 -0
- package/dist/core/skill-content-parser.js +248 -0
- package/dist/core/skill-content-parser.js.map +1 -0
- package/dist/core/skill-loader.d.ts +46 -0
- package/dist/core/skill-loader.d.ts.map +1 -0
- package/dist/core/skill-loader.js +310 -0
- package/dist/core/skill-loader.js.map +1 -0
- package/dist/core/skill-registry.d.ts +131 -0
- package/dist/core/skill-registry.d.ts.map +1 -0
- package/dist/core/skill-registry.js +316 -0
- package/dist/core/skill-registry.js.map +1 -0
- package/dist/core/tfidf-embedding.d.ts +45 -0
- package/dist/core/tfidf-embedding.d.ts.map +1 -0
- package/dist/core/tfidf-embedding.js +199 -0
- package/dist/core/tfidf-embedding.js.map +1 -0
- package/dist/core/types.d.ts +155 -6
- package/dist/core/types.d.ts.map +1 -1
- package/dist/errors/matimo-error.d.ts +3 -1
- package/dist/errors/matimo-error.d.ts.map +1 -1
- package/dist/errors/matimo-error.js +2 -0
- package/dist/errors/matimo-error.js.map +1 -1
- package/dist/index.d.ts +20 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/langchain.d.ts +55 -0
- package/dist/integrations/langchain.d.ts.map +1 -1
- package/dist/integrations/langchain.js +66 -0
- package/dist/integrations/langchain.js.map +1 -1
- package/dist/logging/winston-logger.d.ts.map +1 -1
- package/dist/logging/winston-logger.js +9 -1
- package/dist/logging/winston-logger.js.map +1 -1
- package/dist/matimo-instance.d.ts +171 -6
- package/dist/matimo-instance.d.ts.map +1 -1
- package/dist/matimo-instance.js +602 -13
- package/dist/matimo-instance.js.map +1 -1
- package/dist/mcp/mcp-server.d.ts +23 -0
- package/dist/mcp/mcp-server.d.ts.map +1 -1
- package/dist/mcp/mcp-server.js +119 -8
- package/dist/mcp/mcp-server.js.map +1 -1
- package/dist/mcp/tool-converter.d.ts.map +1 -1
- package/dist/mcp/tool-converter.js +10 -1
- package/dist/mcp/tool-converter.js.map +1 -1
- package/dist/policy/approval-manifest.d.ts +74 -0
- package/dist/policy/approval-manifest.d.ts.map +1 -0
- package/dist/policy/approval-manifest.js +178 -0
- package/dist/policy/approval-manifest.js.map +1 -0
- package/dist/policy/content-validator.d.ts +19 -0
- package/dist/policy/content-validator.d.ts.map +1 -0
- package/dist/policy/content-validator.js +196 -0
- package/dist/policy/content-validator.js.map +1 -0
- package/dist/policy/default-policy.d.ts +46 -0
- package/dist/policy/default-policy.d.ts.map +1 -0
- package/dist/policy/default-policy.js +241 -0
- package/dist/policy/default-policy.js.map +1 -0
- package/dist/policy/events.d.ts +71 -0
- package/dist/policy/events.d.ts.map +1 -0
- package/dist/policy/events.js +8 -0
- package/dist/policy/events.js.map +1 -0
- package/dist/policy/index.d.ts +13 -0
- package/dist/policy/index.d.ts.map +1 -0
- package/dist/policy/index.js +9 -0
- package/dist/policy/index.js.map +1 -0
- package/dist/policy/integrity-tracker.d.ts +62 -0
- package/dist/policy/integrity-tracker.d.ts.map +1 -0
- package/dist/policy/integrity-tracker.js +79 -0
- package/dist/policy/integrity-tracker.js.map +1 -0
- package/dist/policy/policy-loader.d.ts +58 -0
- package/dist/policy/policy-loader.d.ts.map +1 -0
- package/dist/policy/policy-loader.js +153 -0
- package/dist/policy/policy-loader.js.map +1 -0
- package/dist/policy/risk-classifier.d.ts +18 -0
- package/dist/policy/risk-classifier.d.ts.map +1 -0
- package/dist/policy/risk-classifier.js +43 -0
- package/dist/policy/risk-classifier.js.map +1 -0
- package/dist/policy/types.d.ts +126 -0
- package/dist/policy/types.d.ts.map +1 -0
- package/dist/policy/types.js +8 -0
- package/dist/policy/types.js.map +1 -0
- package/package.json +2 -2
- package/tools/matimo_approve_tool/definition.yaml +36 -0
- package/tools/matimo_approve_tool/matimo_approve_tool.ts +90 -0
- package/tools/matimo_create_skill/definition.yaml +46 -0
- package/tools/matimo_create_skill/matimo_create_skill.ts +75 -0
- package/tools/matimo_create_tool/definition.yaml +48 -0
- package/tools/matimo_create_tool/matimo_create_tool.ts +137 -0
- package/tools/matimo_get_skill/definition.yaml +60 -0
- package/tools/matimo_get_skill/matimo_get_skill.ts +182 -0
- package/tools/matimo_get_tool_status/definition.yaml +42 -0
- package/tools/matimo_get_tool_status/matimo_get_tool_status.ts +101 -0
- package/tools/matimo_list_skills/definition.yaml +52 -0
- package/tools/matimo_list_skills/matimo_list_skills.ts +138 -0
- package/tools/matimo_list_user_tools/definition.yaml +32 -0
- package/tools/matimo_list_user_tools/matimo_list_user_tools.ts +74 -0
- package/tools/matimo_reload_tools/definition.yaml +35 -0
- package/tools/matimo_reload_tools/matimo_reload_tools.ts +29 -0
- package/tools/matimo_validate_skill/definition.yaml +43 -0
- package/tools/matimo_validate_skill/matimo_validate_skill.ts +137 -0
- package/tools/matimo_validate_tool/definition.yaml +34 -0
- package/tools/matimo_validate_tool/matimo_validate_tool.ts +168 -0
- package/tools/shared/skill-validation.ts +335 -0
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ Install the unified package (includes core exports):
|
|
|
11
11
|
npm install matimo
|
|
12
12
|
pnpm add matimo
|
|
13
13
|
# or install scoped core package directly
|
|
14
|
-
npm
|
|
14
|
+
npm install @matimo/core
|
|
15
15
|
pnpm add @matimo/core
|
|
16
16
|
```
|
|
17
17
|
|
|
@@ -21,6 +21,10 @@ pnpm add @matimo/core
|
|
|
21
21
|
|
|
22
22
|
- `MatimoInstance` — initialization, discovery, registry, and execution API
|
|
23
23
|
- **Executors** — Command (shell), HTTP (REST with object/array embedding), Function (JS/TS)
|
|
24
|
+
- **Policy Engine** — content validation, risk classification, RBAC, integrity tracking
|
|
25
|
+
- **Meta-Tools** — 9 built-in tools for tool lifecycle management (create, validate, approve, reload, list, skill)
|
|
26
|
+
- **Approval System** — human-in-the-loop approval with interactive, auto-approve, and MCP patterns
|
|
27
|
+
- **MCP Server** — Model Context Protocol server with HTTP and stdio transports
|
|
24
28
|
- Decorator utilities (`@tool`, `setGlobalMatimoInstance`)
|
|
25
29
|
- Zod-based schema validation for YAML tool definitions
|
|
26
30
|
- **Structured error handling** — `MatimoError` with error chaining via optional `cause` field
|
|
@@ -45,8 +49,9 @@ await matimo.execute('calculator', { operation: 'add', a: 1, b: 2 });
|
|
|
45
49
|
|
|
46
50
|
## 🛠 Included Core Tools
|
|
47
51
|
|
|
48
|
-
`@matimo/core` includes
|
|
52
|
+
`@matimo/core` includes 15 built-in tools:
|
|
49
53
|
|
|
54
|
+
### Utility Tools
|
|
50
55
|
- **`execute`** — Run shell commands with output capture, timeout, and working directory control
|
|
51
56
|
- **`read`** — Read files with line range support and encoding detection
|
|
52
57
|
- **`edit`** — Edit/replace content in files with backup
|
|
@@ -54,6 +59,17 @@ await matimo.execute('calculator', { operation: 'add', a: 1, b: 2 });
|
|
|
54
59
|
- **`web`** — Fetch and parse web content
|
|
55
60
|
- **`calculator`** — Basic arithmetic operations
|
|
56
61
|
|
|
62
|
+
### Meta-Tools (Tool Lifecycle Management)
|
|
63
|
+
- **`matimo_validate_tool`** — Validate YAML against schema + policy rules, returns risk level
|
|
64
|
+
- **`matimo_create_tool`** — Write a new tool to disk with safety enforcement (forces draft + requires_approval)
|
|
65
|
+
- **`matimo_approve_tool`** — Promote a draft tool with HMAC-signed approval manifest
|
|
66
|
+
- **`matimo_reload_tools`** — Hot-reload all tools into the live registry without restart
|
|
67
|
+
- **`matimo_list_user_tools`** — List tools in a directory with risk classification and status
|
|
68
|
+
- **`matimo_create_skill`** — Create SKILL.md files with validated YAML frontmatter
|
|
69
|
+
- **`matimo_list_skills`** — List skills in a directory with name, description, and path
|
|
70
|
+
- **`matimo_get_skill`** — Read a skill's full content by name for agent context
|
|
71
|
+
- **`matimo_validate_skill`** — Validate a skill against the Agent Skills specification
|
|
72
|
+
|
|
57
73
|
All core tools use **function-based execution** (not shell commands) for better performance and reliability.
|
|
58
74
|
|
|
59
75
|
## 🧩 Usage Patterns
|
|
@@ -192,6 +208,146 @@ export NOTION_API_KEY=ntn_...
|
|
|
192
208
|
- ✅ HTTP Executor validates all authentication before making requests
|
|
193
209
|
- ✅ Missing credentials throw `MatimoError(AUTH_FAILED)` with helpful guidance
|
|
194
210
|
|
|
211
|
+
## 🛡 Policy Engine
|
|
212
|
+
|
|
213
|
+
The policy engine provides defense-in-depth security for AI agent tool usage. Policy is defined at deploy time and `Object.freeze()`'d at runtime — agents cannot modify it.
|
|
214
|
+
|
|
215
|
+
```typescript
|
|
216
|
+
import { MatimoInstance } from 'matimo';
|
|
217
|
+
import type { PolicyConfig } from 'matimo';
|
|
218
|
+
|
|
219
|
+
const policyConfig: PolicyConfig = {
|
|
220
|
+
allowedDomains: ['api.github.com', 'api.slack.com'],
|
|
221
|
+
allowedHttpMethods: ['GET', 'POST'],
|
|
222
|
+
allowCommandTools: false,
|
|
223
|
+
allowFunctionTools: false,
|
|
224
|
+
protectedNamespaces: ['matimo_'],
|
|
225
|
+
};
|
|
226
|
+
|
|
227
|
+
const matimo = await MatimoInstance.init({
|
|
228
|
+
toolPaths: ['./tools', './agent-tools'],
|
|
229
|
+
untrustedPaths: ['./agent-tools'],
|
|
230
|
+
policyConfig,
|
|
231
|
+
});
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### Content Validator (9 Rules)
|
|
235
|
+
|
|
236
|
+
| Rule | Severity | What It Checks |
|
|
237
|
+
|------|----------|----------------|
|
|
238
|
+
| `no-function-execution` | critical | Blocks arbitrary code execution |
|
|
239
|
+
| `no-command-execution` | critical | Blocks shell injection |
|
|
240
|
+
| `no-ssrf` | critical | Blocks internal IPs/metadata endpoints |
|
|
241
|
+
| `unauthorized-credential` | high | Blocks unapproved credentials |
|
|
242
|
+
| `reserved-namespace` | high | Blocks hijacking of `matimo_` prefix |
|
|
243
|
+
| `forced-approval` | medium | Enforces `requires_approval: true` |
|
|
244
|
+
| `blocked-http-method` | high | Blocks disallowed HTTP methods |
|
|
245
|
+
| `blocked-domain` | high | Blocks disallowed domains |
|
|
246
|
+
| `forced-draft-status` | medium | Enforces `status: draft` on new tools |
|
|
247
|
+
|
|
248
|
+
### Risk Classification
|
|
249
|
+
|
|
250
|
+
| Risk Level | Criteria |
|
|
251
|
+
|-----------|----------|
|
|
252
|
+
| **critical** | `execution.type: function` |
|
|
253
|
+
| **high** | `execution.type: command`, HTTP `DELETE`, `requires_approval: true` |
|
|
254
|
+
| **medium** | HTTP `POST`, `PUT`, `PATCH` |
|
|
255
|
+
| **low** | HTTP `GET`, `HEAD`, `OPTIONS` |
|
|
256
|
+
|
|
257
|
+
See the full guide: [docs/tool-development/POLICY_AND_LIFECYCLE.md](../../docs/tool-development/POLICY_AND_LIFECYCLE.md)
|
|
258
|
+
|
|
259
|
+
## 🔄 Tool Lifecycle (Create → Approve → Reload → Use)
|
|
260
|
+
|
|
261
|
+
Agents can create tools at runtime with full policy enforcement:
|
|
262
|
+
|
|
263
|
+
```typescript
|
|
264
|
+
// 1. Create — writes YAML to disk (forces draft + requires_approval)
|
|
265
|
+
await matimo.execute('matimo_create_tool', {
|
|
266
|
+
name: 'city_lookup',
|
|
267
|
+
target_dir: './agent-tools',
|
|
268
|
+
yaml_content: `
|
|
269
|
+
name: city_lookup
|
|
270
|
+
version: '1.0.0'
|
|
271
|
+
description: Look up user information including city and address details
|
|
272
|
+
parameters:
|
|
273
|
+
id: { type: string, required: true }
|
|
274
|
+
execution:
|
|
275
|
+
type: http
|
|
276
|
+
method: GET
|
|
277
|
+
url: 'https://jsonplaceholder.typicode.com/users/{id}'
|
|
278
|
+
`,
|
|
279
|
+
});
|
|
280
|
+
|
|
281
|
+
// 2. Approve — re-validates, signs HMAC, updates status to approved
|
|
282
|
+
await matimo.execute('matimo_approve_tool', {
|
|
283
|
+
name: 'city_lookup',
|
|
284
|
+
tool_dir: './agent-tools',
|
|
285
|
+
});
|
|
286
|
+
|
|
287
|
+
// 3. Reload — clears registry, re-reads YAML, re-validates untrusted tools
|
|
288
|
+
await matimo.execute('matimo_reload_tools', {});
|
|
289
|
+
|
|
290
|
+
// 4. Use — tool is now in the live registry
|
|
291
|
+
const result = await matimo.execute('city_lookup', { id: '1' });
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
This lifecycle works identically across SDK, LangChain, and MCP interfaces.
|
|
295
|
+
|
|
296
|
+
See the full reference: [docs/tool-development/META_TOOLS.md](../../docs/tool-development/META_TOOLS.md)
|
|
297
|
+
|
|
298
|
+
## ✅ Approval System
|
|
299
|
+
|
|
300
|
+
Tools with `requires_approval: true` require human confirmation before execution:
|
|
301
|
+
|
|
302
|
+
```typescript
|
|
303
|
+
import { getGlobalApprovalHandler } from 'matimo';
|
|
304
|
+
|
|
305
|
+
// Interactive terminal approval
|
|
306
|
+
getGlobalApprovalHandler().setApprovalCallback(async (request) => {
|
|
307
|
+
console.log(`Tool: ${request.toolName}`);
|
|
308
|
+
console.log(`Params: ${JSON.stringify(request.params)}`);
|
|
309
|
+
// return true to approve, false to reject
|
|
310
|
+
return await promptUser('Approve? (y/n)');
|
|
311
|
+
});
|
|
312
|
+
|
|
313
|
+
// Auto-approve (CI/CD only)
|
|
314
|
+
process.env.MATIMO_AUTO_APPROVE = 'true';
|
|
315
|
+
|
|
316
|
+
// Pre-approved patterns
|
|
317
|
+
process.env.MATIMO_APPROVED_PATTERNS = 'calculator,weather_*';
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
**MCP approval:** MCP clients pass `_matimo_approved: true` in arguments for tools that require approval.
|
|
321
|
+
|
|
322
|
+
See: [docs/APPROVAL-SYSTEM.md](../../docs/APPROVAL-SYSTEM.md)
|
|
323
|
+
|
|
324
|
+
## 🌐 MCP Server
|
|
325
|
+
|
|
326
|
+
Serve Matimo tools via the Model Context Protocol:
|
|
327
|
+
|
|
328
|
+
```typescript
|
|
329
|
+
import { MCPServer } from 'matimo';
|
|
330
|
+
|
|
331
|
+
const server = new MCPServer({
|
|
332
|
+
transport: 'http',
|
|
333
|
+
port: 3000,
|
|
334
|
+
toolPaths: ['./tools'],
|
|
335
|
+
policyConfig: { allowCommandTools: false },
|
|
336
|
+
mcpToken: process.env.MCP_TOKEN,
|
|
337
|
+
});
|
|
338
|
+
|
|
339
|
+
await server.start();
|
|
340
|
+
// Tools available at POST http://localhost:3000/mcp
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
**Supports:**
|
|
344
|
+
- HTTP and stdio transports
|
|
345
|
+
- Bearer token authentication
|
|
346
|
+
- Tool lifecycle via meta-tools (create, approve, reload)
|
|
347
|
+
- Automatic `notifications/tools/list_changed` on reload
|
|
348
|
+
|
|
349
|
+
See: [docs/MCP.md](../../docs/MCP.md)
|
|
350
|
+
|
|
195
351
|
## ✅ Validation & Output Schema
|
|
196
352
|
|
|
197
353
|
All tool execution includes automatic validation:
|
|
@@ -240,12 +396,17 @@ To build:
|
|
|
240
396
|
pnpm --filter "@matimo/core" build
|
|
241
397
|
```
|
|
242
398
|
|
|
243
|
-
## 📚
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
-
|
|
248
|
-
-
|
|
399
|
+
## 📚 Documentation
|
|
400
|
+
|
|
401
|
+
- [Quick Start](../../docs/getting-started/QUICK_START.md)
|
|
402
|
+
- [API Reference](../../docs/api-reference/SDK.md)
|
|
403
|
+
- [Policy & Lifecycle Guide](../../docs/tool-development/POLICY_AND_LIFECYCLE.md)
|
|
404
|
+
- [Meta-Tools Reference](../../docs/tool-development/META_TOOLS.md)
|
|
405
|
+
- [Approval System](../../docs/APPROVAL-SYSTEM.md)
|
|
406
|
+
- [MCP Server](../../docs/MCP.md)
|
|
407
|
+
- [Tool Specification](../../docs/tool-development/TOOL_SPECIFICATION.md)
|
|
408
|
+
- [Adding Tools](../../docs/tool-development/ADDING_TOOLS.md)
|
|
409
|
+
- [Contributing](https://github.com/tallclub/matimo/blob/main/CONTRIBUTING.md)
|
|
249
410
|
|
|
250
411
|
---
|
|
251
412
|
|
|
@@ -42,7 +42,11 @@ export declare class ApprovalHandler {
|
|
|
42
42
|
/**
|
|
43
43
|
* Set approval callback for interactive/custom approval
|
|
44
44
|
*/
|
|
45
|
-
setApprovalCallback(callback: ApprovalCallback): void;
|
|
45
|
+
setApprovalCallback(callback: ApprovalCallback | null): void;
|
|
46
|
+
/**
|
|
47
|
+
* Get the current approval callback (for save/restore patterns)
|
|
48
|
+
*/
|
|
49
|
+
getApprovalCallback(): ApprovalCallback | null;
|
|
46
50
|
/**
|
|
47
51
|
* Check if a tool requires approval based on YAML definition or supplied content.
|
|
48
52
|
* @param requiresApproval In Yaml - From tool definition `requires_approval` field
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-handler.d.ts","sourceRoot":"","sources":["../../src/approval/approval-handler.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE9E;;;;;;;;;GASG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,mBAAmB,CAAgB;;IAsB3C;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAqD/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyB1B;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"approval-handler.d.ts","sourceRoot":"","sources":["../../src/approval/approval-handler.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE9E;;;;;;;;;GASG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,mBAAmB,CAAgB;;IAsB3C;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAqD/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyB1B;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI;IAI5D;;OAEG;IACH,mBAAmB,IAAI,gBAAgB,GAAG,IAAI;IAI9C;;;;;;;;OAQG;IACH,gBAAgB,CAAC,sBAAsB,EAAE,OAAO,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO;IAexF;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAgBxC;;;OAGG;IACG,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B9D;;OAEG;IACH,OAAO,CAAC,cAAc;CAavB;AAKD;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,eAAe,CAK1D"}
|
|
@@ -122,6 +122,12 @@ export class ApprovalHandler {
|
|
|
122
122
|
setApprovalCallback(callback) {
|
|
123
123
|
this.approvalCallback = callback;
|
|
124
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Get the current approval callback (for save/restore patterns)
|
|
127
|
+
*/
|
|
128
|
+
getApprovalCallback() {
|
|
129
|
+
return this.approvalCallback;
|
|
130
|
+
}
|
|
125
131
|
/**
|
|
126
132
|
* Check if a tool requires approval based on YAML definition or supplied content.
|
|
127
133
|
* @param requiresApproval In Yaml - From tool definition `requires_approval` field
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-handler.js","sourceRoot":"","sources":["../../src/approval/approval-handler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"approval-handler.js","sourceRoot":"","sources":["../../src/approval/approval-handler.ts"],"names":[],"mappings":"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"}
|
package/dist/core/schema.d.ts
CHANGED
|
@@ -20,11 +20,12 @@ export declare const ParameterSchema: z.ZodObject<{
|
|
|
20
20
|
export type Parameter = z.infer<typeof ParameterSchema>;
|
|
21
21
|
export declare const AuthConfigSchema: z.ZodObject<{
|
|
22
22
|
type: z.ZodOptional<z.ZodEnum<{
|
|
23
|
+
custom: "custom";
|
|
24
|
+
none: "none";
|
|
23
25
|
api_key: "api_key";
|
|
24
|
-
oauth2: "oauth2";
|
|
25
26
|
basic: "basic";
|
|
26
27
|
bearer: "bearer";
|
|
27
|
-
|
|
28
|
+
oauth2: "oauth2";
|
|
28
29
|
}>>;
|
|
29
30
|
location: z.ZodOptional<z.ZodEnum<{
|
|
30
31
|
body: "body";
|
|
@@ -72,7 +73,13 @@ export declare const ExecutionConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject
|
|
|
72
73
|
}, z.core.$strip>], "type">;
|
|
73
74
|
export type ExecutionConfig = z.infer<typeof ExecutionConfigSchema>;
|
|
74
75
|
export declare const OutputSchemaSchema: z.ZodObject<{
|
|
75
|
-
type: z.ZodOptional<z.
|
|
76
|
+
type: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
77
|
+
string: "string";
|
|
78
|
+
number: "number";
|
|
79
|
+
boolean: "boolean";
|
|
80
|
+
object: "object";
|
|
81
|
+
array: "array";
|
|
82
|
+
}>, z.ZodString]>>;
|
|
76
83
|
properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
77
84
|
required: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
78
85
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -81,8 +88,9 @@ export type OutputSchema = z.infer<typeof OutputSchemaSchema>;
|
|
|
81
88
|
export declare const ErrorHandlingSchema: z.ZodObject<{
|
|
82
89
|
retry: z.ZodOptional<z.ZodNumber>;
|
|
83
90
|
backoff_type: z.ZodOptional<z.ZodEnum<{
|
|
84
|
-
exponential: "exponential";
|
|
85
91
|
linear: "linear";
|
|
92
|
+
exponential: "exponential";
|
|
93
|
+
fixed: "fixed";
|
|
86
94
|
}>>;
|
|
87
95
|
initial_delay_ms: z.ZodOptional<z.ZodNumber>;
|
|
88
96
|
max_delay_ms: z.ZodOptional<z.ZodNumber>;
|
|
@@ -147,11 +155,12 @@ export declare const ToolDefinitionSchema: z.ZodObject<{
|
|
|
147
155
|
}, z.core.$strip>], "type">;
|
|
148
156
|
authentication: z.ZodOptional<z.ZodObject<{
|
|
149
157
|
type: z.ZodOptional<z.ZodEnum<{
|
|
158
|
+
custom: "custom";
|
|
159
|
+
none: "none";
|
|
150
160
|
api_key: "api_key";
|
|
151
|
-
oauth2: "oauth2";
|
|
152
161
|
basic: "basic";
|
|
153
162
|
bearer: "bearer";
|
|
154
|
-
|
|
163
|
+
oauth2: "oauth2";
|
|
155
164
|
}>>;
|
|
156
165
|
location: z.ZodOptional<z.ZodEnum<{
|
|
157
166
|
body: "body";
|
|
@@ -165,7 +174,13 @@ export declare const ToolDefinitionSchema: z.ZodObject<{
|
|
|
165
174
|
password_env: z.ZodOptional<z.ZodString>;
|
|
166
175
|
}, z.core.$strip>>;
|
|
167
176
|
output_schema: z.ZodOptional<z.ZodObject<{
|
|
168
|
-
type: z.ZodOptional<z.
|
|
177
|
+
type: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
178
|
+
string: "string";
|
|
179
|
+
number: "number";
|
|
180
|
+
boolean: "boolean";
|
|
181
|
+
object: "object";
|
|
182
|
+
array: "array";
|
|
183
|
+
}>, z.ZodString]>>;
|
|
169
184
|
properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
170
185
|
required: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
171
186
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -173,8 +188,9 @@ export declare const ToolDefinitionSchema: z.ZodObject<{
|
|
|
173
188
|
error_handling: z.ZodOptional<z.ZodObject<{
|
|
174
189
|
retry: z.ZodOptional<z.ZodNumber>;
|
|
175
190
|
backoff_type: z.ZodOptional<z.ZodEnum<{
|
|
176
|
-
exponential: "exponential";
|
|
177
191
|
linear: "linear";
|
|
192
|
+
exponential: "exponential";
|
|
193
|
+
fixed: "fixed";
|
|
178
194
|
}>>;
|
|
179
195
|
initial_delay_ms: z.ZodOptional<z.ZodNumber>;
|
|
180
196
|
max_delay_ms: z.ZodOptional<z.ZodNumber>;
|
|
@@ -194,6 +210,11 @@ export declare const ToolDefinitionSchema: z.ZodObject<{
|
|
|
194
210
|
deprecated: z.ZodOptional<z.ZodBoolean>;
|
|
195
211
|
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
196
212
|
deprecation_message: z.ZodOptional<z.ZodString>;
|
|
213
|
+
status: z.ZodOptional<z.ZodEnum<{
|
|
214
|
+
deprecated: "deprecated";
|
|
215
|
+
draft: "draft";
|
|
216
|
+
approved: "approved";
|
|
217
|
+
}>>;
|
|
197
218
|
}, z.core.$strip>;
|
|
198
219
|
export type ToolDefinition = z.infer<typeof ToolDefinitionSchema> & {
|
|
199
220
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;GAGG;AAGH,eAAO,MAAM,eAAe;;;;;;;;;;;;;iBAO1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAGxD,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;GAGG;AAGH,eAAO,MAAM,eAAe;;;;;;;;;;;;;iBAO1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAGxD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;iBAkB3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG1D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAiChC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,eAAO,MAAM,kBAAkB;;;;;;;;;;;iBAU7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAG9D,eAAO,MAAM,mBAAmB;;;;;;;;;iBAK9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAGhE,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAG9D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyB/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,GAAG;IAClE;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAKF,eAAO,MAAM,qBAAqB;;;;iBAIhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;iBAanC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CAkBpE;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,OAAO,GAAG,kBAAkB,CAsBhF"}
|
package/dist/core/schema.js
CHANGED
|
@@ -15,7 +15,7 @@ export const ParameterSchema = z.object({
|
|
|
15
15
|
});
|
|
16
16
|
// Authentication configuration
|
|
17
17
|
export const AuthConfigSchema = z.object({
|
|
18
|
-
type: z.enum(['api_key', 'basic', 'bearer', 'oauth2', 'custom']).optional(),
|
|
18
|
+
type: z.enum(['none', 'api_key', 'basic', 'bearer', 'oauth2', 'custom']).optional(),
|
|
19
19
|
location: z.enum(['header', 'query', 'body']).optional(),
|
|
20
20
|
name: z.string().optional(),
|
|
21
21
|
provider: z.string().optional(),
|
|
@@ -67,8 +67,14 @@ export const ExecutionConfigSchema = z.discriminatedUnion('type', [
|
|
|
67
67
|
}),
|
|
68
68
|
]);
|
|
69
69
|
// Output schema for validation
|
|
70
|
+
// Aligned with TypeScript interface: type should be one of the known types (or unknown string for extensibility)
|
|
70
71
|
export const OutputSchemaSchema = z.object({
|
|
71
|
-
type: z
|
|
72
|
+
type: z
|
|
73
|
+
.union([
|
|
74
|
+
z.enum(['string', 'number', 'boolean', 'array', 'object']),
|
|
75
|
+
z.string(), // Allow other custom types for extensibility
|
|
76
|
+
])
|
|
77
|
+
.optional(),
|
|
72
78
|
properties: z.record(z.string(), z.unknown()).optional(),
|
|
73
79
|
required: z.array(z.string()).optional(),
|
|
74
80
|
description: z.string().optional(),
|
|
@@ -76,7 +82,7 @@ export const OutputSchemaSchema = z.object({
|
|
|
76
82
|
// Error handling configuration
|
|
77
83
|
export const ErrorHandlingSchema = z.object({
|
|
78
84
|
retry: z.number().optional(),
|
|
79
|
-
backoff_type: z.enum(['linear', 'exponential']).optional(),
|
|
85
|
+
backoff_type: z.enum(['linear', 'exponential', 'fixed']).optional(),
|
|
80
86
|
initial_delay_ms: z.number().optional(),
|
|
81
87
|
max_delay_ms: z.number().optional(),
|
|
82
88
|
});
|
|
@@ -109,6 +115,7 @@ export const ToolDefinitionSchema = z.object({
|
|
|
109
115
|
deprecated: z.boolean().optional(),
|
|
110
116
|
tags: z.array(z.string()).optional(),
|
|
111
117
|
deprecation_message: z.string().optional(),
|
|
118
|
+
status: z.enum(['draft', 'approved', 'deprecated']).optional(),
|
|
112
119
|
// _definitionPath: z.string().optional(), // Internal use for tracking source file path
|
|
113
120
|
});
|
|
114
121
|
// export type ToolDefinition = z.infer<typeof ToolDefinitionSchema>;
|
package/dist/core/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;GAGG;AAEH,wCAAwC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAIH,+BAA+B;AAC/B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;GAGG;AAEH,wCAAwC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;IACjC,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAIH,+BAA+B;AAC/B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnF,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC;;;;;OAKG;IACH,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC;;;OAGG;IACH,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAIH,uDAAuD;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAChE,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACpC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC1B,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC7B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;QACf,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACpD,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC5B,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACzD,kBAAkB,EAAE,CAAC;aAClB,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;YACpB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;SACtD,CAAC,CACH;aACA,QAAQ,EAAE;QACb,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC;CACH,CAAC,CAAC;AAIH,+BAA+B;AAC/B,iHAAiH;AACjH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,CAAC;SACJ,KAAK,CAAC;QACL,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1D,CAAC,CAAC,MAAM,EAAE,EAAE,6CAA6C;KAC1D,CAAC;SACD,QAAQ,EAAE;IACb,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxD,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAIH,+BAA+B;AAC/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnE,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAIH,8BAA8B;AAC9B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAIH,2BAA2B;AAC3B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,QAAQ,EAAE;IAC5D,SAAS,EAAE,qBAAqB;IAChC,cAAc,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IAC3C,aAAa,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAC5C,cAAc,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IAC9C,aAAa,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAC5C,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACzC,QAAQ,EAAE,CAAC;SACR,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACnC,CAAC,CACH;SACA,QAAQ,EAAE;IACb,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC9D,wFAAwF;CACzF,CAAC,CAAC;AAUH,qEAAqE;AAErE,mCAAmC;AACnC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC1B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAIH,6BAA6B;AAC7B,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,SAAS,EAAE,qBAAqB;QAChC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC7C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;KACvC,CAAC;CACH,CAAC,CAAC;AAIH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAa;IAClD,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAEpD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,6CAA6C;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACnE,OAAO,OAAO,IAAI,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC;QACzD,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,IAAI,WAAW,CAAC,mCAAmC,MAAM,EAAE,EAAE,SAAS,CAAC,cAAc,EAAE;YAC3F,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAiB;IAC1D,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,6CAA6C;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACnE,OAAO,OAAO,IAAI,KAAK,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC;QACzD,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,MAAM,IAAI,WAAW,CACnB,uCAAuC,MAAM,EAAE,EAC/C,SAAS,CAAC,cAAc,EACxB;YACE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;SAC5B,CACF,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skill Content Parser — Markdown AST-based section chunking
|
|
3
|
+
*
|
|
4
|
+
* Breaks skill bodies into structured sections so agents load only the parts
|
|
5
|
+
* they need instead of dumping the entire SKILL.md into context.
|
|
6
|
+
*
|
|
7
|
+
* Uses lightweight heading-based parsing (no external Markdown AST library
|
|
8
|
+
* needed) to produce a tree of sections with token-count estimates.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* A single section of a skill body, parsed from Markdown headings.
|
|
12
|
+
*/
|
|
13
|
+
export interface SkillSection {
|
|
14
|
+
/** Heading text (e.g., "Error Handling") */
|
|
15
|
+
heading: string;
|
|
16
|
+
/** Heading level (1-6) */
|
|
17
|
+
level: number;
|
|
18
|
+
/** Raw Markdown content under this heading (excluding sub-headings) */
|
|
19
|
+
content: string;
|
|
20
|
+
/** Approximate token count (words ÷ 0.75 — conservative estimate) */
|
|
21
|
+
tokenEstimate: number;
|
|
22
|
+
/** Nested sub-sections */
|
|
23
|
+
children: SkillSection[];
|
|
24
|
+
/** Dot-path for addressing (e.g., "Error Handling.Rate Limits") */
|
|
25
|
+
path: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Result of parsing a skill body into sections.
|
|
29
|
+
*/
|
|
30
|
+
export interface ParsedSkillContent {
|
|
31
|
+
/** Top-level intro content before any heading */
|
|
32
|
+
preamble: string;
|
|
33
|
+
/** Token estimate for preamble */
|
|
34
|
+
preambleTokens: number;
|
|
35
|
+
/** All top-level sections (with nested children) */
|
|
36
|
+
sections: SkillSection[];
|
|
37
|
+
/** Total token estimate for the entire body */
|
|
38
|
+
totalTokens: number;
|
|
39
|
+
/** Flat index: heading path → section reference (for fast lookup) */
|
|
40
|
+
index: Map<string, SkillSection>;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Options for retrieving skill content with selective loading.
|
|
44
|
+
*/
|
|
45
|
+
export interface SkillContentOptions {
|
|
46
|
+
/** Only return sections matching these heading paths (case-insensitive partial match) */
|
|
47
|
+
sections?: string[];
|
|
48
|
+
/** Maximum total tokens to return (truncates from the end) */
|
|
49
|
+
maxTokens?: number;
|
|
50
|
+
/** Include the preamble (default: true) */
|
|
51
|
+
includePreamble?: boolean;
|
|
52
|
+
/** Depth limit for section inclusion (1 = top-level only, 2 = include children, etc.) */
|
|
53
|
+
maxDepth?: number;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Parse a Markdown skill body into a tree of sections.
|
|
57
|
+
*
|
|
58
|
+
* This is a lightweight parser that splits on ATX headings (lines starting
|
|
59
|
+
* with #). It does NOT handle:
|
|
60
|
+
* - Setext headings (underline style)
|
|
61
|
+
* - Headings inside code blocks (these are treated as content)
|
|
62
|
+
*
|
|
63
|
+
* For SKILL.md files (which follow a consistent format), this is sufficient.
|
|
64
|
+
*/
|
|
65
|
+
export declare function parseSkillSections(body: string): ParsedSkillContent;
|
|
66
|
+
/**
|
|
67
|
+
* Selectively extract content from a parsed skill body.
|
|
68
|
+
*
|
|
69
|
+
* This is the key function for context management — instead of dumping the
|
|
70
|
+
* entire SKILL.md into the LLM's context window, agents call this to get
|
|
71
|
+
* only the sections they need.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* // Get only the error handling section
|
|
75
|
+
* extractSkillContent(parsed, { sections: ['Error Handling'] })
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* // Get top-level overview only (no sub-sections), max 500 tokens
|
|
79
|
+
* extractSkillContent(parsed, { maxDepth: 1, maxTokens: 500 })
|
|
80
|
+
*/
|
|
81
|
+
export declare function extractSkillContent(parsed: ParsedSkillContent, options?: SkillContentOptions): string;
|
|
82
|
+
/**
|
|
83
|
+
* Get a flat list of all section headings with their token costs.
|
|
84
|
+
* Useful for agents to decide which sections to load.
|
|
85
|
+
*/
|
|
86
|
+
export declare function listSkillSections(parsed: ParsedSkillContent): Array<{
|
|
87
|
+
path: string;
|
|
88
|
+
level: number;
|
|
89
|
+
tokenEstimate: number;
|
|
90
|
+
}>;
|
|
91
|
+
//# sourceMappingURL=skill-content-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skill-content-parser.d.ts","sourceRoot":"","sources":["../../src/core/skill-content-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,yFAAyF;IACzF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAkCD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CA6GnE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,kBAAkB,EAC1B,OAAO,GAAE,mBAAwB,GAChC,MAAM,CA4ER;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,kBAAkB,GACzB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB/D"}
|