@matimo/core 0.1.0-alpha.9 → 0.1.2
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 +341 -14
- 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 +7 -1
- package/dist/approval/approval-handler.js.map +1 -1
- package/dist/auth/oauth2-handler.d.ts +2 -2
- package/dist/auth/oauth2-handler.d.ts.map +1 -1
- package/dist/auth/oauth2-handler.js +2 -2
- package/dist/auth/oauth2-handler.js.map +1 -1
- package/dist/auth/oauth2-provider-loader.d.ts +2 -2
- package/dist/auth/oauth2-provider-loader.d.ts.map +1 -1
- package/dist/auth/oauth2-provider-loader.js +2 -2
- package/dist/auth/oauth2-provider-loader.js.map +1 -1
- package/dist/core/schema.d.ts +42 -11
- package/dist/core/schema.d.ts.map +1 -1
- package/dist/core/schema.js +42 -6
- 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 +311 -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/tool-loader.d.ts +4 -2
- package/dist/core/tool-loader.d.ts.map +1 -1
- package/dist/core/tool-loader.js +35 -12
- package/dist/core/tool-loader.js.map +1 -1
- package/dist/core/tool-registry.d.ts +1 -1
- package/dist/core/tool-registry.d.ts.map +1 -1
- package/dist/core/tool-registry.js +1 -1
- package/dist/core/tool-registry.js.map +1 -1
- package/dist/core/types.d.ts +204 -7
- package/dist/core/types.d.ts.map +1 -1
- package/dist/decorators/index.d.ts +1 -1
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/index.js +1 -1
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/tool-decorator.js +1 -1
- package/dist/decorators/tool-decorator.js.map +1 -1
- package/dist/encodings/parameter-encoding.d.ts +1 -1
- package/dist/encodings/parameter-encoding.d.ts.map +1 -1
- package/dist/encodings/parameter-encoding.js +10 -5
- package/dist/encodings/parameter-encoding.js.map +1 -1
- package/dist/errors/matimo-error.d.ts +11 -2
- package/dist/errors/matimo-error.d.ts.map +1 -1
- package/dist/errors/matimo-error.js +25 -1
- package/dist/errors/matimo-error.js.map +1 -1
- package/dist/executors/command-executor.d.ts +10 -3
- package/dist/executors/command-executor.d.ts.map +1 -1
- package/dist/executors/command-executor.js +30 -6
- package/dist/executors/command-executor.js.map +1 -1
- package/dist/executors/function-executor.d.ts +11 -4
- package/dist/executors/function-executor.d.ts.map +1 -1
- package/dist/executors/function-executor.js +46 -26
- package/dist/executors/function-executor.js.map +1 -1
- package/dist/executors/http-executor.d.ts +80 -5
- package/dist/executors/http-executor.d.ts.map +1 -1
- package/dist/executors/http-executor.js +233 -29
- package/dist/executors/http-executor.js.map +1 -1
- package/dist/index.d.ts +45 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -16
- package/dist/index.js.map +1 -1
- package/dist/integrations/langchain.d.ts +57 -2
- package/dist/integrations/langchain.d.ts.map +1 -1
- package/dist/integrations/langchain.js +71 -4
- 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 +231 -19
- package/dist/matimo-instance.d.ts.map +1 -1
- package/dist/matimo-instance.js +747 -48
- package/dist/matimo-instance.js.map +1 -1
- package/dist/mcp/index.d.ts +18 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +24 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/mcp-server.d.ts +141 -0
- package/dist/mcp/mcp-server.d.ts.map +1 -0
- package/dist/mcp/mcp-server.js +754 -0
- package/dist/mcp/mcp-server.js.map +1 -0
- package/dist/mcp/secrets/aws-resolver.d.ts +41 -0
- package/dist/mcp/secrets/aws-resolver.d.ts.map +1 -0
- package/dist/mcp/secrets/aws-resolver.js +141 -0
- package/dist/mcp/secrets/aws-resolver.js.map +1 -0
- package/dist/mcp/secrets/dotenv-resolver.d.ts +23 -0
- package/dist/mcp/secrets/dotenv-resolver.d.ts.map +1 -0
- package/dist/mcp/secrets/dotenv-resolver.js +94 -0
- package/dist/mcp/secrets/dotenv-resolver.js.map +1 -0
- package/dist/mcp/secrets/env-resolver.d.ts +14 -0
- package/dist/mcp/secrets/env-resolver.d.ts.map +1 -0
- package/dist/mcp/secrets/env-resolver.js +27 -0
- package/dist/mcp/secrets/env-resolver.js.map +1 -0
- package/dist/mcp/secrets/index.d.ts +14 -0
- package/dist/mcp/secrets/index.d.ts.map +1 -0
- package/dist/mcp/secrets/index.js +13 -0
- package/dist/mcp/secrets/index.js.map +1 -0
- package/dist/mcp/secrets/resolver-chain.d.ts +34 -0
- package/dist/mcp/secrets/resolver-chain.d.ts.map +1 -0
- package/dist/mcp/secrets/resolver-chain.js +141 -0
- package/dist/mcp/secrets/resolver-chain.js.map +1 -0
- package/dist/mcp/secrets/types.d.ts +73 -0
- package/dist/mcp/secrets/types.d.ts.map +1 -0
- package/dist/mcp/secrets/types.js +8 -0
- package/dist/mcp/secrets/types.js.map +1 -0
- package/dist/mcp/secrets/vault-resolver.d.ts +43 -0
- package/dist/mcp/secrets/vault-resolver.d.ts.map +1 -0
- package/dist/mcp/secrets/vault-resolver.js +127 -0
- package/dist/mcp/secrets/vault-resolver.js.map +1 -0
- package/dist/mcp/tool-converter.d.ts +40 -0
- package/dist/mcp/tool-converter.d.ts.map +1 -0
- package/dist/mcp/tool-converter.js +185 -0
- package/dist/mcp/tool-converter.js.map +1 -0
- package/dist/policy/approval-manifest.d.ts +76 -0
- package/dist/policy/approval-manifest.d.ts.map +1 -0
- package/dist/policy/approval-manifest.js +197 -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 +156 -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 +47 -0
- package/dist/policy/risk-classifier.js.map +1 -0
- package/dist/policy/types.d.ts +131 -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 +22 -6
- 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/definition.yaml +36 -0
- package/tools/matimo_get_tool/matimo_get_tool.ts +56 -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_search_tools/definition.yaml +32 -0
- package/tools/matimo_search_tools/matimo_search_tools.ts +82 -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/LICENSE +0 -21
package/dist/core/tool-loader.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
2
|
import * as path from 'path';
|
|
3
3
|
import * as YAML from 'js-yaml';
|
|
4
|
-
import { validateToolDefinition } from './schema';
|
|
5
|
-
import { MatimoError, ErrorCode } from '../errors/matimo-error';
|
|
4
|
+
import { validateToolDefinition } from './schema.js';
|
|
5
|
+
import { MatimoError, ErrorCode } from '../errors/matimo-error.js';
|
|
6
6
|
/**
|
|
7
7
|
* Tool Loader - Loads and validates YAML/JSON tool definitions
|
|
8
8
|
* Implements TDD pattern: test failures guide implementation
|
|
@@ -11,16 +11,32 @@ import { MatimoError, ErrorCode } from '../errors/matimo-error';
|
|
|
11
11
|
export class ToolLoader {
|
|
12
12
|
/**
|
|
13
13
|
* Discover packages using only fs and path (no createRequire needed)
|
|
14
|
-
* Searches for tools in node_modules/@matimo/* and workspace packages
|
|
14
|
+
* Searches for tools in node_modules/@matimo/* and workspace packages.
|
|
15
|
+
* Tries process.cwd() first, then falls back to __dirname-based discovery
|
|
16
|
+
* (critical for Claude Desktop where cwd may be '/' on macOS).
|
|
15
17
|
*/
|
|
16
18
|
getNodeModulesPath() {
|
|
17
19
|
try {
|
|
18
|
-
//
|
|
20
|
+
// Strategy 1: Walk up from process.cwd()
|
|
19
21
|
let currentPath = process.cwd();
|
|
20
22
|
for (let i = 0; i < 15; i++) {
|
|
21
23
|
const nodeModules = path.join(currentPath, 'node_modules');
|
|
22
24
|
if (fs.existsSync(nodeModules)) {
|
|
23
|
-
|
|
25
|
+
const matimoScope = path.join(nodeModules, '@matimo');
|
|
26
|
+
if (fs.existsSync(matimoScope)) {
|
|
27
|
+
return nodeModules;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
currentPath = path.dirname(currentPath);
|
|
31
|
+
}
|
|
32
|
+
// Strategy 2: Walk up from this file's location (__dirname)
|
|
33
|
+
// When this code is in node_modules/@matimo/core/dist/core/tool-loader.js,
|
|
34
|
+
// walking up will find the node_modules directory directly.
|
|
35
|
+
// When in monorepo at packages/core/src/core/, it will find root node_modules.
|
|
36
|
+
currentPath = __dirname;
|
|
37
|
+
for (let i = 0; i < 10; i++) {
|
|
38
|
+
const nodeModules = path.join(currentPath, 'node_modules');
|
|
39
|
+
if (fs.existsSync(nodeModules)) {
|
|
24
40
|
const matimoScope = path.join(nodeModules, '@matimo');
|
|
25
41
|
if (fs.existsSync(matimoScope)) {
|
|
26
42
|
return nodeModules;
|
|
@@ -154,16 +170,23 @@ export class ToolLoader {
|
|
|
154
170
|
discoveredPaths.push(coreToolsPath);
|
|
155
171
|
}
|
|
156
172
|
}
|
|
157
|
-
// If not found in node_modules, try workspace
|
|
173
|
+
// If not found in node_modules, try workspace (from cwd and __dirname)
|
|
158
174
|
if (discoveredPaths.length === 0) {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
if (
|
|
163
|
-
discoveredPaths.push(coreToolsPath);
|
|
175
|
+
const searchRoots = [process.cwd(), __dirname];
|
|
176
|
+
let found = false;
|
|
177
|
+
for (const root of searchRoots) {
|
|
178
|
+
if (found)
|
|
164
179
|
break;
|
|
180
|
+
let currentPath = root;
|
|
181
|
+
for (let i = 0; i < 20; i++) {
|
|
182
|
+
const coreToolsPath = path.join(currentPath, 'packages', 'core', 'tools');
|
|
183
|
+
if (fs.existsSync(coreToolsPath)) {
|
|
184
|
+
discoveredPaths.push(coreToolsPath);
|
|
185
|
+
found = true;
|
|
186
|
+
break;
|
|
187
|
+
}
|
|
188
|
+
currentPath = path.dirname(currentPath);
|
|
165
189
|
}
|
|
166
|
-
currentPath = path.dirname(currentPath);
|
|
167
190
|
}
|
|
168
191
|
}
|
|
169
192
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-loader.js","sourceRoot":"","sources":["../../src/core/tool-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAChC,OAAO,EAAkB,sBAAsB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tool-loader.js","sourceRoot":"","sources":["../../src/core/tool-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../src/core/tool-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../src/core/tool-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C;;;GAGG;AAEH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,UAAU,CAAuC;IAEzD;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAqBpC;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI;IAM1C;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI7C;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACH,MAAM,IAAI,cAAc,EAAE;IAI1B;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE;IAQvC;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE;IASvC;;OAEG;IACH,KAAK,IAAI,MAAM;IAIf;;OAEG;IACH,KAAK,IAAI,IAAI;CAId;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/core/tool-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../src/core/tool-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Core type definitions for Matimo tool ecosystem
|
|
3
3
|
*/
|
|
4
|
-
import { ParameterEncodingConfig } from '../encodings/parameter-encoding';
|
|
4
|
+
import { ParameterEncodingConfig } from '../encodings/parameter-encoding.js';
|
|
5
5
|
/**
|
|
6
6
|
* Parameter definition for a tool
|
|
7
7
|
*/
|
|
@@ -18,10 +18,21 @@ export interface Parameter {
|
|
|
18
18
|
* Authentication configuration for a tool
|
|
19
19
|
*/
|
|
20
20
|
export interface AuthConfig {
|
|
21
|
-
type
|
|
21
|
+
type?: 'none' | 'api_key' | 'oauth2' | 'basic' | 'bearer' | 'custom';
|
|
22
22
|
location?: 'header' | 'query' | 'body';
|
|
23
23
|
name?: string;
|
|
24
24
|
scheme?: string;
|
|
25
|
+
/**
|
|
26
|
+
* For type: basic — name of the environment variable holding the HTTP Basic Auth username.
|
|
27
|
+
* HttpExecutor will read this env var and the password_env var, base64-encode them as
|
|
28
|
+
* "username:password", and inject `Authorization: Basic <encoded>` automatically.
|
|
29
|
+
*/
|
|
30
|
+
username_env?: string;
|
|
31
|
+
/**
|
|
32
|
+
* For type: basic — name of the environment variable holding the HTTP Basic Auth password.
|
|
33
|
+
* Used together with username_env to build the Authorization header automatically.
|
|
34
|
+
*/
|
|
35
|
+
password_env?: string;
|
|
25
36
|
}
|
|
26
37
|
/**
|
|
27
38
|
* HTTP execution configuration
|
|
@@ -31,7 +42,7 @@ export interface HttpExecution {
|
|
|
31
42
|
method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
|
|
32
43
|
url: string;
|
|
33
44
|
headers?: Record<string, string>;
|
|
34
|
-
body?:
|
|
45
|
+
body?: unknown;
|
|
35
46
|
params?: Record<string, string>;
|
|
36
47
|
query_params?: Record<string, string>;
|
|
37
48
|
parameter_encoding?: ParameterEncodingConfig[];
|
|
@@ -59,12 +70,15 @@ export interface FunctionExecution {
|
|
|
59
70
|
timeout?: number;
|
|
60
71
|
}
|
|
61
72
|
/**
|
|
62
|
-
* Output schema for tool response validation
|
|
73
|
+
* Output schema for tool response validation.
|
|
74
|
+
* TypeScript interface inferred from Zod schema in schema.ts.
|
|
75
|
+
* Properties allows nested output schemas or any unknown structure for flexibility.
|
|
63
76
|
*/
|
|
64
77
|
export interface OutputSchema {
|
|
65
|
-
type
|
|
66
|
-
properties?: Record<string,
|
|
78
|
+
type?: string;
|
|
79
|
+
properties?: Record<string, unknown>;
|
|
67
80
|
items?: OutputSchema;
|
|
81
|
+
required?: string[];
|
|
68
82
|
description?: string;
|
|
69
83
|
}
|
|
70
84
|
/**
|
|
@@ -100,7 +114,7 @@ export interface ToolDefinition {
|
|
|
100
114
|
name: string;
|
|
101
115
|
version: string;
|
|
102
116
|
description: string;
|
|
103
|
-
parameters
|
|
117
|
+
parameters?: Record<string, Parameter>;
|
|
104
118
|
execution: HttpExecution | CommandExecution | FunctionExecution;
|
|
105
119
|
authentication?: AuthConfig;
|
|
106
120
|
output_schema?: OutputSchema;
|
|
@@ -115,6 +129,13 @@ export interface ToolDefinition {
|
|
|
115
129
|
* Set to true for destructive operations (CREATE, DELETE, DROP, etc.)
|
|
116
130
|
*/
|
|
117
131
|
requires_approval?: boolean;
|
|
132
|
+
/**
|
|
133
|
+
* Tool lifecycle status. Tools without a status are treated as 'approved'.
|
|
134
|
+
* - draft: Agent-created, not yet human-reviewed
|
|
135
|
+
* - approved: Human-reviewed and ready for use
|
|
136
|
+
* - deprecated: Scheduled for removal
|
|
137
|
+
*/
|
|
138
|
+
status?: 'draft' | 'approved' | 'deprecated';
|
|
118
139
|
/**
|
|
119
140
|
* Internal: Path to the tool definition file (set by ToolLoader)
|
|
120
141
|
* Used to resolve relative paths for function executors
|
|
@@ -159,4 +180,180 @@ export interface ValidationResult {
|
|
|
159
180
|
valid: boolean;
|
|
160
181
|
errors: ValidationError[];
|
|
161
182
|
}
|
|
183
|
+
/**
|
|
184
|
+
* Options for MatimoInstance.execute()
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* // Single-tenant (reads from process.env)
|
|
188
|
+
* await matimo.execute('slack-send-message', { channel: '#general', text: 'Hello' });
|
|
189
|
+
*
|
|
190
|
+
* // Multi-tenant (credentials supplied per call — never touches process.env)
|
|
191
|
+
* await matimo.execute('slack-send-message', { channel: '#general', text: 'Hello' }, {
|
|
192
|
+
* credentials: { SLACK_BOT_TOKEN: 'xoxb-tenant-a-token' },
|
|
193
|
+
* });
|
|
194
|
+
*/
|
|
195
|
+
export interface ExecuteOptions {
|
|
196
|
+
/**
|
|
197
|
+
* Maximum time (ms) to wait for the tool to complete.
|
|
198
|
+
* Overrides the timeout defined in the tool's YAML definition.
|
|
199
|
+
*/
|
|
200
|
+
timeout?: number;
|
|
201
|
+
/**
|
|
202
|
+
* Per-call credential overrides. Keys must match the env-var names that the
|
|
203
|
+
* tool's YAML references (e.g. `SLACK_BOT_TOKEN`, `GITHUB_ACCESS_TOKEN`).
|
|
204
|
+
*
|
|
205
|
+
* When provided:
|
|
206
|
+
* - **HttpExecutor**: used for Authorization headers / query params / Basic Auth
|
|
207
|
+
* instead of `process.env`.
|
|
208
|
+
* - **CommandExecutor**: injected as environment variables into the child process
|
|
209
|
+
* (`{ ...process.env, ...credentials }`), so spawned scripts see them normally.
|
|
210
|
+
* - **FunctionExecutor**: passed as `context.credentials` to the tool function.
|
|
211
|
+
*
|
|
212
|
+
* When NOT provided the current behaviour is unchanged — credentials are read
|
|
213
|
+
* from `process.env` as before (fully backward-compatible).
|
|
214
|
+
*
|
|
215
|
+
* SECURITY: values are never logged, never persisted, and held only for the
|
|
216
|
+
* duration of the execute() call.
|
|
217
|
+
*/
|
|
218
|
+
credentials?: Record<string, string>;
|
|
219
|
+
/**
|
|
220
|
+
* Policy context for the current execution. When a PolicyEngine is active,
|
|
221
|
+
* this context is checked against the tool's requirements before execution.
|
|
222
|
+
*/
|
|
223
|
+
context?: import('../policy/types').PolicyContext;
|
|
224
|
+
/**
|
|
225
|
+
* Skip approval check for this execution. Use when the caller (e.g., MCP layer)
|
|
226
|
+
* has already confirmed approval out-of-band, to avoid re-prompting the user.
|
|
227
|
+
* Does not override policy-level quarantine checks (pending_approval state).
|
|
228
|
+
* Default: false
|
|
229
|
+
*/
|
|
230
|
+
approved?: boolean;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Bundled resources within a skill directory (scripts, references, assets)
|
|
234
|
+
*/
|
|
235
|
+
export interface BundledResources {
|
|
236
|
+
scripts: string[];
|
|
237
|
+
references: string[];
|
|
238
|
+
assets: string[];
|
|
239
|
+
other: string[];
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* YAML frontmatter for a SKILL.md file
|
|
243
|
+
* Follows agentskills.io/specification
|
|
244
|
+
*/
|
|
245
|
+
export interface SkillFrontmatter {
|
|
246
|
+
name: string;
|
|
247
|
+
description: string;
|
|
248
|
+
version?: string;
|
|
249
|
+
license?: string;
|
|
250
|
+
compatibility?: string;
|
|
251
|
+
'allowed-tools'?: string | string[];
|
|
252
|
+
metadata?: Record<string, string>;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* A single section of a skill body, parsed from Markdown headings.
|
|
256
|
+
*/
|
|
257
|
+
export interface SkillSection {
|
|
258
|
+
heading: string;
|
|
259
|
+
level: number;
|
|
260
|
+
content: string;
|
|
261
|
+
tokenEstimate: number;
|
|
262
|
+
children: SkillSection[];
|
|
263
|
+
path: string;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Parsed skill content (frontmatter + body + structured sections)
|
|
267
|
+
*/
|
|
268
|
+
export interface ParsedSkill {
|
|
269
|
+
frontmatter: SkillFrontmatter;
|
|
270
|
+
body: string;
|
|
271
|
+
raw: string;
|
|
272
|
+
sections?: SkillSection[];
|
|
273
|
+
totalTokens?: number;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Catalog metadata for a skill (download count, rating, etc.)
|
|
277
|
+
*/
|
|
278
|
+
export interface SkillCatalogInfo {
|
|
279
|
+
author: string;
|
|
280
|
+
downloads: number;
|
|
281
|
+
rating: number;
|
|
282
|
+
tags: string[];
|
|
283
|
+
publishedAt: string;
|
|
284
|
+
updatedAt: string;
|
|
285
|
+
repository?: string;
|
|
286
|
+
checksum?: string;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Complete skill definition
|
|
290
|
+
* Implements agentskills.io specification with Matimo extensions
|
|
291
|
+
*/
|
|
292
|
+
export interface SkillDefinition {
|
|
293
|
+
name: string;
|
|
294
|
+
description: string;
|
|
295
|
+
version?: string;
|
|
296
|
+
license?: string;
|
|
297
|
+
compatibility?: string;
|
|
298
|
+
allowedTools?: string[];
|
|
299
|
+
metadata?: Record<string, string>;
|
|
300
|
+
body: string;
|
|
301
|
+
/** Structured sections parsed from Markdown headings */
|
|
302
|
+
sections?: SkillSection[];
|
|
303
|
+
/** Approximate total token count for the skill body */
|
|
304
|
+
totalTokens?: number;
|
|
305
|
+
resources: BundledResources;
|
|
306
|
+
source: 'builtin' | 'user' | 'catalog';
|
|
307
|
+
_path?: string;
|
|
308
|
+
catalogInfo?: SkillCatalogInfo;
|
|
309
|
+
dependsOn?: string[];
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Skill summary for discovery (Level 1 - minimal context)
|
|
313
|
+
*/
|
|
314
|
+
export interface SkillSummary {
|
|
315
|
+
name: string;
|
|
316
|
+
description: string;
|
|
317
|
+
version?: string;
|
|
318
|
+
license?: string;
|
|
319
|
+
metadata?: Record<string, string>;
|
|
320
|
+
source: 'builtin' | 'user' | 'catalog';
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Options for searching skills
|
|
324
|
+
*/
|
|
325
|
+
export interface SearchSkillsOptions {
|
|
326
|
+
query?: string;
|
|
327
|
+
category?: string;
|
|
328
|
+
difficulty?: string;
|
|
329
|
+
tags?: string[];
|
|
330
|
+
author?: string;
|
|
331
|
+
limit?: number;
|
|
332
|
+
offset?: number;
|
|
333
|
+
/** Use semantic search via embeddings (requires an EmbeddingProvider) */
|
|
334
|
+
semantic?: boolean;
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Options for selective skill content loading
|
|
338
|
+
*/
|
|
339
|
+
export interface SkillContentOptions {
|
|
340
|
+
/** Only return sections matching these headings (case-insensitive partial match) */
|
|
341
|
+
sections?: string[];
|
|
342
|
+
/** Maximum total tokens to return */
|
|
343
|
+
maxTokens?: number;
|
|
344
|
+
/** Include the preamble (default: true) */
|
|
345
|
+
includePreamble?: boolean;
|
|
346
|
+
/** Depth limit for section inclusion (1 = top-level only) */
|
|
347
|
+
maxDepth?: number;
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Pluggable embedding provider for semantic skill search.
|
|
351
|
+
* Implement this interface to connect to OpenAI, Cohere, local models, etc.
|
|
352
|
+
*/
|
|
353
|
+
export interface EmbeddingProvider {
|
|
354
|
+
embed(text: string): Promise<number[]>;
|
|
355
|
+
embedBatch(texts: string[]): Promise<number[][]>;
|
|
356
|
+
/** Embedding dimensionality */
|
|
357
|
+
dimensions: number;
|
|
358
|
+
}
|
|
162
359
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { tool, setGlobalMatimoInstance, getGlobalMatimoInstance } from './tool-decorator';
|
|
1
|
+
export { tool, setGlobalMatimoInstance, getGlobalMatimoInstance } from './tool-decorator.js';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/decorators/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { tool, setGlobalMatimoInstance, getGlobalMatimoInstance } from './tool-decorator';
|
|
1
|
+
export { tool, setGlobalMatimoInstance, getGlobalMatimoInstance } from './tool-decorator.js';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/decorators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-decorator.js","sourceRoot":"","sources":["../../src/decorators/tool-decorator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tool-decorator.js","sourceRoot":"","sources":["../../src/decorators/tool-decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,7 @@ export declare function applyParameterEncodings(params: Record<string, unknown>,
|
|
|
33
33
|
* Authorization: 'Bearer {GMAIL_ACCESS_TOKEN}'
|
|
34
34
|
*
|
|
35
35
|
* parameter_encoding:
|
|
36
|
-
* - source: [to, subject, body, cc, bcc,
|
|
36
|
+
* - source: [to, subject, body, cc, bcc, isHtml]
|
|
37
37
|
* target: raw
|
|
38
38
|
* encoding: mime_rfc2822_base64url
|
|
39
39
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameter-encoding.d.ts","sourceRoot":"","sources":["../../src/encodings/parameter-encoding.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,EAAE,uBAAuB,EAAE,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBzB;
|
|
1
|
+
{"version":3,"file":"parameter-encoding.d.ts","sourceRoot":"","sources":["../../src/encodings/parameter-encoding.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,SAAS,EAAE,uBAAuB,EAAE,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoBzB;AAsFD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* This is YAML-driven via the parameter_encoding directive in tool definitions.
|
|
6
6
|
* No tool-specific code needed - keeps Matimo universal.
|
|
7
7
|
*/
|
|
8
|
-
import { MatimoError, ErrorCode } from '../errors/matimo-error';
|
|
8
|
+
import { MatimoError, ErrorCode } from '../errors/matimo-error.js';
|
|
9
9
|
/**
|
|
10
10
|
* Apply parameter encodings to transform input parameters
|
|
11
11
|
* @param params - User-provided parameters
|
|
@@ -57,7 +57,8 @@ function encodeMimeRfc2822(sourceValues) {
|
|
|
57
57
|
const body = sourceValues.body;
|
|
58
58
|
const cc = sourceValues.cc;
|
|
59
59
|
const bcc = sourceValues.bcc;
|
|
60
|
-
|
|
60
|
+
// Accept both camelCase (`isHtml`) and snake_case (`is_html`) for backward compatibility
|
|
61
|
+
const isHtml = (sourceValues.isHtml ?? sourceValues.is_html) || false;
|
|
61
62
|
if (!to || !subject || !body) {
|
|
62
63
|
throw new MatimoError('MIME encoding requires: to, subject, body parameters', ErrorCode.INVALID_PARAMETER, {
|
|
63
64
|
requiredFields: ['to', 'subject', 'body'],
|
|
@@ -78,8 +79,12 @@ function encodeMimeRfc2822(sourceValues) {
|
|
|
78
79
|
message += body;
|
|
79
80
|
// Convert to base64url
|
|
80
81
|
const base64 = Buffer.from(message).toString('base64');
|
|
81
|
-
// Replace standard base64 characters with URL-safe variants
|
|
82
|
-
|
|
82
|
+
// Replace standard base64 characters with URL-safe variants, then strip
|
|
83
|
+
// trailing padding. Use while+endsWith instead of a regex to avoid ReDoS.
|
|
84
|
+
let result = base64.replace(/\+/g, '-').replace(/\//g, '_');
|
|
85
|
+
while (result.endsWith('='))
|
|
86
|
+
result = result.slice(0, -1);
|
|
87
|
+
return result;
|
|
83
88
|
}
|
|
84
89
|
/**
|
|
85
90
|
* Encode parameters as URL-encoded form data
|
|
@@ -105,7 +110,7 @@ function encodeUrlParams(sourceValues) {
|
|
|
105
110
|
* Authorization: 'Bearer {GMAIL_ACCESS_TOKEN}'
|
|
106
111
|
*
|
|
107
112
|
* parameter_encoding:
|
|
108
|
-
* - source: [to, subject, body, cc, bcc,
|
|
113
|
+
* - source: [to, subject, body, cc, bcc, isHtml]
|
|
109
114
|
* target: raw
|
|
110
115
|
* encoding: mime_rfc2822_base64url
|
|
111
116
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameter-encoding.js","sourceRoot":"","sources":["../../src/encodings/parameter-encoding.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"parameter-encoding.js","sourceRoot":"","sources":["../../src/encodings/parameter-encoding.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,9 @@ export declare enum ErrorCode {
|
|
|
12
12
|
TIMEOUT = "TIMEOUT",
|
|
13
13
|
NETWORK_ERROR = "NETWORK_ERROR",
|
|
14
14
|
INVALID_PARAMETER = "INVALID_PARAMETER",
|
|
15
|
-
UNKNOWN_ERROR = "UNKNOWN_ERROR"
|
|
15
|
+
UNKNOWN_ERROR = "UNKNOWN_ERROR",
|
|
16
|
+
POLICY_DENIED = "POLICY_DENIED",
|
|
17
|
+
POLICY_TIER_BLOCKED = "POLICY_TIER_BLOCKED"
|
|
16
18
|
}
|
|
17
19
|
/**
|
|
18
20
|
* Custom error class for Matimo
|
|
@@ -20,9 +22,16 @@ export declare enum ErrorCode {
|
|
|
20
22
|
export declare class MatimoError extends Error {
|
|
21
23
|
code: ErrorCode;
|
|
22
24
|
details?: Record<string, unknown> | undefined;
|
|
23
|
-
|
|
25
|
+
cause?: Error | unknown;
|
|
26
|
+
constructor(message: string, code: ErrorCode, details?: Record<string, unknown> | undefined, cause?: Error | unknown);
|
|
24
27
|
toJSON(): Record<string, unknown>;
|
|
25
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Normalize an HTTP/Axios-style error into a MatimoError preserving useful metadata.
|
|
31
|
+
* This avoids importing axios in the errors module and works with any object
|
|
32
|
+
* that follows the common `error.response` shape.
|
|
33
|
+
*/
|
|
34
|
+
export declare function fromHttpError(error: unknown, message?: string): MatimoError;
|
|
26
35
|
/**
|
|
27
36
|
* Create a validation error with context
|
|
28
37
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matimo-error.d.ts","sourceRoot":"","sources":["../../src/errors/matimo-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oBAAY,SAAS;IACnB,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;
|
|
1
|
+
{"version":3,"file":"matimo-error.d.ts","sourceRoot":"","sources":["../../src/errors/matimo-error.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oBAAY,SAAS;IACnB,cAAc,mBAAmB;IACjC,gBAAgB,qBAAqB;IACrC,WAAW,gBAAgB;IAC3B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;IACjC,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,mBAAmB,wBAAwB;CAC5C;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK;IAK3B,IAAI,EAAE,SAAS;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IALnC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;gBAG7B,OAAO,EAAE,MAAM,EACR,IAAI,EAAE,SAAS,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA,EACxC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO;IAOzB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAYlC;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,SAAwB,eAW5E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,WAAW,CAEb;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,WAAW,CAEb"}
|
|
@@ -14,16 +14,19 @@ export var ErrorCode;
|
|
|
14
14
|
ErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR";
|
|
15
15
|
ErrorCode["INVALID_PARAMETER"] = "INVALID_PARAMETER";
|
|
16
16
|
ErrorCode["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
|
|
17
|
+
ErrorCode["POLICY_DENIED"] = "POLICY_DENIED";
|
|
18
|
+
ErrorCode["POLICY_TIER_BLOCKED"] = "POLICY_TIER_BLOCKED";
|
|
17
19
|
})(ErrorCode || (ErrorCode = {}));
|
|
18
20
|
/**
|
|
19
21
|
* Custom error class for Matimo
|
|
20
22
|
*/
|
|
21
23
|
export class MatimoError extends Error {
|
|
22
|
-
constructor(message, code, details) {
|
|
24
|
+
constructor(message, code, details, cause) {
|
|
23
25
|
super(message);
|
|
24
26
|
this.code = code;
|
|
25
27
|
this.details = details;
|
|
26
28
|
this.name = 'MatimoError';
|
|
29
|
+
this.cause = cause;
|
|
27
30
|
}
|
|
28
31
|
toJSON() {
|
|
29
32
|
return {
|
|
@@ -31,9 +34,30 @@ export class MatimoError extends Error {
|
|
|
31
34
|
message: this.message,
|
|
32
35
|
code: this.code,
|
|
33
36
|
details: this.details,
|
|
37
|
+
cause: this.cause instanceof Error
|
|
38
|
+
? { message: this.cause.message, name: this.cause.name }
|
|
39
|
+
: this.cause,
|
|
34
40
|
};
|
|
35
41
|
}
|
|
36
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Normalize an HTTP/Axios-style error into a MatimoError preserving useful metadata.
|
|
45
|
+
* This avoids importing axios in the errors module and works with any object
|
|
46
|
+
* that follows the common `error.response` shape.
|
|
47
|
+
*/
|
|
48
|
+
export function fromHttpError(error, message = 'HTTP request failed') {
|
|
49
|
+
// Attempt to extract common HTTP error fields
|
|
50
|
+
const asAny = error;
|
|
51
|
+
const response = asAny?.response;
|
|
52
|
+
const statusCode = response?.status ?? 500;
|
|
53
|
+
const details = response?.data;
|
|
54
|
+
const meta = { statusCode };
|
|
55
|
+
if (details !== undefined)
|
|
56
|
+
meta.details = details;
|
|
57
|
+
// Preserve original error message/cause for debugging (redaction handled elsewhere)
|
|
58
|
+
meta.originalError = asAny?.message ?? String(error ?? '');
|
|
59
|
+
return new MatimoError(message, ErrorCode.EXECUTION_FAILED, meta, error);
|
|
60
|
+
}
|
|
37
61
|
/**
|
|
38
62
|
* Create a validation error with context
|
|
39
63
|
*/
|