@matimo/core 0.1.0-alpha.7.1 → 0.1.0-alpha.9
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/destructive-keywords.yaml +70 -0
- package/dist/approval/approval-handler.d.ts +74 -0
- package/dist/approval/approval-handler.d.ts.map +1 -0
- package/dist/approval/approval-handler.js +210 -0
- package/dist/approval/approval-handler.js.map +1 -0
- package/dist/core/schema.d.ts +8 -2
- package/dist/core/schema.d.ts.map +1 -1
- package/dist/core/schema.js +8 -2
- package/dist/core/schema.js.map +1 -1
- package/dist/core/types.d.ts +5 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/executors/function-executor.d.ts.map +1 -1
- package/dist/executors/function-executor.js +27 -10
- package/dist/executors/function-executor.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -4
- package/dist/index.js.map +1 -1
- package/dist/logging/index.d.ts +3 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +3 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/logging/logger.d.ts +96 -0
- package/dist/logging/logger.d.ts.map +1 -0
- package/dist/logging/logger.js +53 -0
- package/dist/logging/logger.js.map +1 -0
- package/dist/logging/winston-logger.d.ts +29 -0
- package/dist/logging/winston-logger.d.ts.map +1 -0
- package/dist/logging/winston-logger.js +73 -0
- package/dist/logging/winston-logger.js.map +1 -0
- package/dist/matimo-instance.d.ts +19 -3
- package/dist/matimo-instance.d.ts.map +1 -1
- package/dist/matimo-instance.js +108 -9
- package/dist/matimo-instance.js.map +1 -1
- package/package.json +3 -1
- package/tools/calculator/calculator.ts +27 -0
- package/tools/edit/definition.yaml +1 -0
- package/tools/edit/edit.ts +2 -10
- package/tools/execute/definition.yaml +1 -0
- package/tools/execute/execute.ts +53 -1
- package/tools/read/definition.yaml +1 -0
- package/tools/read/read.ts +1 -11
- package/tools/search/definition.yaml +12 -11
- package/tools/search/search.ts +16 -8
- package/dist/approval/path-approval.d.ts +0 -80
- package/dist/approval/path-approval.d.ts.map +0 -1
- package/dist/approval/path-approval.js +0 -170
- package/dist/approval/path-approval.js.map +0 -1
- package/dist/approval/sql-approval.d.ts +0 -23
- package/dist/approval/sql-approval.d.ts.map +0 -1
- package/dist/approval/sql-approval.js +0 -85
- package/dist/approval/sql-approval.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -17,14 +17,17 @@ export { applyParameterEncodings } from './encodings/parameter-encoding';
|
|
|
17
17
|
export { tool, setGlobalMatimoInstance, getGlobalMatimoInstance, } from './decorators/tool-decorator';
|
|
18
18
|
// Error handling
|
|
19
19
|
export { MatimoError, ErrorCode, createValidationError, createExecutionError, } from './errors/matimo-error';
|
|
20
|
+
// Logging
|
|
21
|
+
export { getLoggerConfig, setGlobalMatimoLogger, getGlobalMatimoLogger, } from './logging';
|
|
22
|
+
export { WinstonMatimoLogger, createLogger } from './logging/winston-logger';
|
|
20
23
|
// Matimo instance and namespace
|
|
21
24
|
export { MatimoInstance, matimo } from './matimo-instance';
|
|
22
25
|
export { OAuth2ProviderLoader } from './auth/oauth2-provider-loader';
|
|
23
26
|
export { OAuth2Handler } from './auth/oauth2-handler';
|
|
24
27
|
// LangChain integration
|
|
25
28
|
export { convertToolsToLangChain } from './integrations/langchain';
|
|
26
|
-
//
|
|
27
|
-
|
|
28
|
-
//
|
|
29
|
-
export {
|
|
29
|
+
// Generic Approval System - Simple, scalable flow for any tool
|
|
30
|
+
// Tools declare requires_approval in YAML, or system detects destructive keywords
|
|
31
|
+
// Single approval callback handles all tools - no per-provider logic needed
|
|
32
|
+
export { ApprovalHandler, getGlobalApprovalHandler } from './approval/approval-handler';
|
|
30
33
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,YAAY;AACZ,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,qBAAqB;AACrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAGzE,aAAa;AACb,OAAO,EACL,IAAI,EACJ,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAErC,iBAAiB;AACjB,OAAO,EACL,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,gCAAgC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAa3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,wBAAwB;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAGnE
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAcH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,YAAY;AACZ,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,qBAAqB;AACrB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAGzE,aAAa;AACb,OAAO,EACL,IAAI,EACJ,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAErC,iBAAiB;AACjB,OAAO,EACL,WAAW,EACX,SAAS,EACT,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,UAAU;AACV,OAAO,EAIL,eAAe,EACf,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7E,gCAAgC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAa3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,wBAAwB;AACxB,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAGnE,+DAA+D;AAC/D,kFAAkF;AAClF,4EAA4E;AAC5E,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/logging/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,eAAe,EACf,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logger interface for Matimo SDK
|
|
3
|
+
* Provides a contract for logging implementations allowing users to plug in
|
|
4
|
+
* their own loggers (Winston, Pino, custom) or use the default Winston logger.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* // Use default Winston logger
|
|
9
|
+
* const matimo = await MatimoInstance.init({
|
|
10
|
+
* toolPaths: ['./tools'],
|
|
11
|
+
* logLevel: 'debug'
|
|
12
|
+
* });
|
|
13
|
+
*
|
|
14
|
+
* // Use custom logger
|
|
15
|
+
* const customLogger = { info: (...) => {}, warn: (...) => {}, ... };
|
|
16
|
+
* const matimo = await MatimoInstance.init({
|
|
17
|
+
* toolPaths: ['./tools'],
|
|
18
|
+
* logger: customLogger
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export interface MatimoLogger {
|
|
23
|
+
/**
|
|
24
|
+
* Log an informational message with optional metadata
|
|
25
|
+
*/
|
|
26
|
+
info(message: string, meta?: Record<string, unknown>): void;
|
|
27
|
+
/**
|
|
28
|
+
* Log a warning message with optional metadata
|
|
29
|
+
*/
|
|
30
|
+
warn(message: string, meta?: Record<string, unknown>): void;
|
|
31
|
+
/**
|
|
32
|
+
* Log an error message with optional metadata
|
|
33
|
+
*/
|
|
34
|
+
error(message: string, meta?: Record<string, unknown>): void;
|
|
35
|
+
/**
|
|
36
|
+
* Log a debug message with optional metadata
|
|
37
|
+
*/
|
|
38
|
+
debug(message: string, meta?: Record<string, unknown>): void;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Log level for Matimo logger
|
|
42
|
+
* silent: No logs (useful for testing)
|
|
43
|
+
* error: Only errors
|
|
44
|
+
* warn: Warnings and errors
|
|
45
|
+
* info: Info, warnings, and errors
|
|
46
|
+
* debug: All logs including debug messages
|
|
47
|
+
*/
|
|
48
|
+
export type LogLevel = 'silent' | 'error' | 'warn' | 'info' | 'debug';
|
|
49
|
+
/**
|
|
50
|
+
* Logger configuration options
|
|
51
|
+
*/
|
|
52
|
+
export interface LoggerConfig {
|
|
53
|
+
/**
|
|
54
|
+
* Log level for output (default: 'info')
|
|
55
|
+
* Environment variable: MATIMO_LOG_LEVEL
|
|
56
|
+
*/
|
|
57
|
+
logLevel?: LogLevel;
|
|
58
|
+
/**
|
|
59
|
+
* Log format: 'json' for structured logging, 'simple' for human-readable
|
|
60
|
+
* Default: 'json' in production, 'simple' in development
|
|
61
|
+
* Environment variable: MATIMO_LOG_FORMAT
|
|
62
|
+
*/
|
|
63
|
+
logFormat?: 'json' | 'simple';
|
|
64
|
+
/**
|
|
65
|
+
* Custom logger instance. If provided, overrides all other logger options.
|
|
66
|
+
* Allows users to plug in Winston, Pino, or any custom logger.
|
|
67
|
+
*/
|
|
68
|
+
logger?: MatimoLogger;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get logger configuration from environment variables and config object
|
|
72
|
+
* Environment variables take precedence over programmatic config.
|
|
73
|
+
* Supports:
|
|
74
|
+
* - MATIMO_LOG_LEVEL: 'silent' | 'error' | 'warn' | 'info' | 'debug'
|
|
75
|
+
* - MATIMO_LOG_FORMAT: 'json' | 'simple'
|
|
76
|
+
*/
|
|
77
|
+
export declare function getLoggerConfig(config?: LoggerConfig): {
|
|
78
|
+
logLevel: LogLevel;
|
|
79
|
+
logFormat: 'json' | 'simple';
|
|
80
|
+
logger?: MatimoLogger;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Set the global Matimo logger instance
|
|
84
|
+
* Called by MatimoInstance.init() during initialization
|
|
85
|
+
*
|
|
86
|
+
* @internal
|
|
87
|
+
*/
|
|
88
|
+
export declare function setGlobalMatimoLogger(logger: MatimoLogger): void;
|
|
89
|
+
/**
|
|
90
|
+
* Get the global Matimo logger instance
|
|
91
|
+
* Returns a no-op logger if not initialized (safe fallback)
|
|
92
|
+
*
|
|
93
|
+
* @internal
|
|
94
|
+
*/
|
|
95
|
+
export declare function getGlobalMatimoLogger(): MatimoLogger;
|
|
96
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logging/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE5D;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE5D;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE7D;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CAC9D;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAE9B;;;OAGG;IACH,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG;IACtD,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB,CAYA;AAUD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,YAAY,CAWpD"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get logger configuration from environment variables and config object
|
|
3
|
+
* Environment variables take precedence over programmatic config.
|
|
4
|
+
* Supports:
|
|
5
|
+
* - MATIMO_LOG_LEVEL: 'silent' | 'error' | 'warn' | 'info' | 'debug'
|
|
6
|
+
* - MATIMO_LOG_FORMAT: 'json' | 'simple'
|
|
7
|
+
*/
|
|
8
|
+
export function getLoggerConfig(config) {
|
|
9
|
+
const logLevel = process.env.MATIMO_LOG_LEVEL || config?.logLevel || 'info';
|
|
10
|
+
const logFormat = process.env.MATIMO_LOG_FORMAT ||
|
|
11
|
+
config?.logFormat ||
|
|
12
|
+
(process.env.NODE_ENV === 'production' ? 'json' : 'simple');
|
|
13
|
+
return {
|
|
14
|
+
logLevel,
|
|
15
|
+
logFormat,
|
|
16
|
+
logger: config?.logger,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Global logger instance used by Matimo modules
|
|
21
|
+
* Set via setGlobalMatimoLogger, accessed via getGlobalMatimoLogger
|
|
22
|
+
*
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
let globalMatimoLogger;
|
|
26
|
+
/**
|
|
27
|
+
* Set the global Matimo logger instance
|
|
28
|
+
* Called by MatimoInstance.init() during initialization
|
|
29
|
+
*
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
export function setGlobalMatimoLogger(logger) {
|
|
33
|
+
globalMatimoLogger = logger;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get the global Matimo logger instance
|
|
37
|
+
* Returns a no-op logger if not initialized (safe fallback)
|
|
38
|
+
*
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
export function getGlobalMatimoLogger() {
|
|
42
|
+
if (!globalMatimoLogger) {
|
|
43
|
+
// Return no-op logger if not initialized (safe fallback for tests/edge cases)
|
|
44
|
+
return {
|
|
45
|
+
info: () => { },
|
|
46
|
+
warn: () => { },
|
|
47
|
+
error: () => { },
|
|
48
|
+
debug: () => { },
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return globalMatimoLogger;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logging/logger.ts"],"names":[],"mappings":"AA6EA;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,MAAqB;IAKnD,MAAM,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,gBAA6B,IAAI,MAAM,EAAE,QAAQ,IAAI,MAAM,CAAC;IAC1F,MAAM,SAAS,GACZ,OAAO,CAAC,GAAG,CAAC,iBAAuC;QACpD,MAAM,EAAE,SAAS;QACjB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE9D,OAAO;QACL,QAAQ;QACR,SAAS;QACT,MAAM,EAAE,MAAM,EAAE,MAAM;KACvB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,IAAI,kBAA4C,CAAC;AAEjD;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAoB;IACxD,kBAAkB,GAAG,MAAM,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,8EAA8E;QAC9E,OAAO;YACL,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;YACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;YACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;YACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;SAChB,CAAC;IACJ,CAAC;IACD,OAAO,kBAAkB,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { MatimoLogger, LogLevel, LoggerConfig } from './logger.js';
|
|
2
|
+
/**
|
|
3
|
+
* Winston-based logger implementation for Matimo SDK
|
|
4
|
+
* Provides structured logging with optional JSON format for production use.
|
|
5
|
+
* Supports environment variable overrides for log level and format.
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export declare class WinstonMatimoLogger implements MatimoLogger {
|
|
10
|
+
private winstonLogger;
|
|
11
|
+
constructor(config: {
|
|
12
|
+
logLevel: LogLevel;
|
|
13
|
+
logFormat: 'json' | 'simple';
|
|
14
|
+
});
|
|
15
|
+
private mapLogLevel;
|
|
16
|
+
private createFormat;
|
|
17
|
+
info(message: string, meta?: Record<string, unknown>): void;
|
|
18
|
+
warn(message: string, meta?: Record<string, unknown>): void;
|
|
19
|
+
error(message: string, meta?: Record<string, unknown>): void;
|
|
20
|
+
debug(message: string, meta?: Record<string, unknown>): void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Create a logger from config
|
|
24
|
+
* Uses Winston if no custom logger provided, otherwise returns the custom logger
|
|
25
|
+
*
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export declare function createLogger(config: LoggerConfig): MatimoLogger;
|
|
29
|
+
//# sourceMappingURL=winston-logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"winston-logger.d.ts","sourceRoot":"","sources":["../../src/logging/winston-logger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEnE;;;;;;GAMG;AACH,qBAAa,mBAAoB,YAAW,YAAY;IACtD,OAAO,CAAC,aAAa,CAAiB;gBAE1B,MAAM,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE;IAkBxE,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,YAAY;IAsBpB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI5D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAG7D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAS/D"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import winston from 'winston';
|
|
2
|
+
/**
|
|
3
|
+
* Winston-based logger implementation for Matimo SDK
|
|
4
|
+
* Provides structured logging with optional JSON format for production use.
|
|
5
|
+
* Supports environment variable overrides for log level and format.
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export class WinstonMatimoLogger {
|
|
10
|
+
constructor(config) {
|
|
11
|
+
// Map Matimo log levels to Winston levels
|
|
12
|
+
const winstonLevel = this.mapLogLevel(config.logLevel);
|
|
13
|
+
// Create format based on config
|
|
14
|
+
const format = this.createFormat(config.logFormat);
|
|
15
|
+
this.winstonLogger = winston.createLogger({
|
|
16
|
+
level: winstonLevel,
|
|
17
|
+
format,
|
|
18
|
+
transports: [
|
|
19
|
+
new winston.transports.Console({
|
|
20
|
+
format: winston.format.combine(winston.format.colorize(), format),
|
|
21
|
+
}),
|
|
22
|
+
],
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
mapLogLevel(level) {
|
|
26
|
+
const levelMap = {
|
|
27
|
+
silent: 'error', // Log errors even in silent mode (they'll be filtered at transport level)
|
|
28
|
+
error: 'error',
|
|
29
|
+
warn: 'warn',
|
|
30
|
+
info: 'info',
|
|
31
|
+
debug: 'debug',
|
|
32
|
+
};
|
|
33
|
+
return levelMap[level];
|
|
34
|
+
}
|
|
35
|
+
createFormat(format) {
|
|
36
|
+
if (format === 'json') {
|
|
37
|
+
return winston.format.combine(winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston.format.errors({ stack: true }), winston.format.splat(), winston.format.json());
|
|
38
|
+
}
|
|
39
|
+
// Simple human-readable format
|
|
40
|
+
return winston.format.combine(winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston.format.errors({ stack: true }), winston.format.splat(), winston.format.printf(({ timestamp, level, message, ...meta }) => {
|
|
41
|
+
const metaStr = Object.keys(meta).length > 0 ? JSON.stringify(meta, null, 2) : '';
|
|
42
|
+
return `[${timestamp}] [${level.toUpperCase()}] ${message}${metaStr ? '\n' + metaStr : ''}`;
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
info(message, meta) {
|
|
46
|
+
this.winstonLogger.info(message, meta);
|
|
47
|
+
}
|
|
48
|
+
warn(message, meta) {
|
|
49
|
+
this.winstonLogger.warn(message, meta);
|
|
50
|
+
}
|
|
51
|
+
error(message, meta) {
|
|
52
|
+
this.winstonLogger.error(message, meta);
|
|
53
|
+
}
|
|
54
|
+
debug(message, meta) {
|
|
55
|
+
this.winstonLogger.debug(message, meta);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Create a logger from config
|
|
60
|
+
* Uses Winston if no custom logger provided, otherwise returns the custom logger
|
|
61
|
+
*
|
|
62
|
+
* @internal
|
|
63
|
+
*/
|
|
64
|
+
export function createLogger(config) {
|
|
65
|
+
if (config.logger) {
|
|
66
|
+
return config.logger;
|
|
67
|
+
}
|
|
68
|
+
return new WinstonMatimoLogger({
|
|
69
|
+
logLevel: config.logLevel || 'info',
|
|
70
|
+
logFormat: config.logFormat || (process.env.NODE_ENV === 'production' ? 'json' : 'simple'),
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=winston-logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"winston-logger.js","sourceRoot":"","sources":["../../src/logging/winston-logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { ToolDefinition } from './core/schema';
|
|
2
|
+
import { MatimoLogger, LoggerConfig } from './logging';
|
|
2
3
|
/**
|
|
3
4
|
* Options for MatimoInstance initialization
|
|
4
5
|
*/
|
|
5
|
-
export interface InitOptions {
|
|
6
|
+
export interface InitOptions extends LoggerConfig {
|
|
6
7
|
toolPaths?: string[];
|
|
7
8
|
autoDiscover?: boolean;
|
|
8
9
|
includeCore?: boolean;
|
|
@@ -18,6 +19,8 @@ export declare class MatimoInstance {
|
|
|
18
19
|
private commandExecutor;
|
|
19
20
|
private httpExecutor;
|
|
20
21
|
private functionExecutor;
|
|
22
|
+
private logger;
|
|
23
|
+
private approvalHandler;
|
|
21
24
|
private constructor();
|
|
22
25
|
/**
|
|
23
26
|
* Initialize Matimo with tools from directory or auto-discovery
|
|
@@ -31,9 +34,17 @@ export declare class MatimoInstance {
|
|
|
31
34
|
* // New - auto-discovery
|
|
32
35
|
* const matimo = await MatimoInstance.init({ autoDiscover: true });
|
|
33
36
|
*
|
|
34
|
-
* // Explicit paths
|
|
37
|
+
* // Explicit paths with logging config
|
|
35
38
|
* const matimo = await MatimoInstance.init({
|
|
36
|
-
* toolPaths: ['./tools',
|
|
39
|
+
* toolPaths: ['./tools'],
|
|
40
|
+
* logLevel: 'debug',
|
|
41
|
+
* logFormat: 'json'
|
|
42
|
+
* });
|
|
43
|
+
*
|
|
44
|
+
* // Custom logger
|
|
45
|
+
* const matimo = await MatimoInstance.init({
|
|
46
|
+
* toolPaths: ['./tools'],
|
|
47
|
+
* logger: myCustomLogger
|
|
37
48
|
* });
|
|
38
49
|
*/
|
|
39
50
|
static init(options?: InitOptions | string): Promise<MatimoInstance>;
|
|
@@ -42,6 +53,11 @@ export declare class MatimoInstance {
|
|
|
42
53
|
* @returns Array of tool paths
|
|
43
54
|
*/
|
|
44
55
|
getToolPaths(): string[];
|
|
56
|
+
/**
|
|
57
|
+
* Get the logger instance
|
|
58
|
+
* @returns MatimoLogger instance
|
|
59
|
+
*/
|
|
60
|
+
getLogger(): MatimoLogger;
|
|
45
61
|
/**
|
|
46
62
|
* Execute a tool by name with parameters
|
|
47
63
|
* @param toolName - Name of the tool to execute
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matimo-instance.d.ts","sourceRoot":"","sources":["../src/matimo-instance.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"matimo-instance.d.ts","sourceRoot":"","sources":["../src/matimo-instance.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EACL,YAAY,EACZ,YAAY,EAIb,MAAM,WAAW,CAAC;AAGnB;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,eAAe,CAAkB;IAEzC,OAAO;IAaP;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;WACU,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAqE1E;;;OAGG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB;;;OAGG;IACH,SAAS,IAAI,YAAY;IAIzB;;;;;OAKG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAiFlF;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIrD;;;OAGG;IACH,SAAS,IAAI,cAAc,EAAE;IAI7B;;;OAGG;IACH,WAAW,IAAI,cAAc,EAAE;IAI/B;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE;IAI5C;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE;IAI5C;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,oBAAoB;IAmD5B;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAkDpC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0C3B;;OAEG;IACH,OAAO,CAAC,WAAW;CAiBpB;AAED;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB;;;;OAIG;oBACmB,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CAGvD,CAAC"}
|
package/dist/matimo-instance.js
CHANGED
|
@@ -5,13 +5,16 @@ import { CommandExecutor } from './executors/command-executor';
|
|
|
5
5
|
import { HttpExecutor } from './executors/http-executor';
|
|
6
6
|
import { FunctionExecutor } from './executors/function-executor';
|
|
7
7
|
import { MatimoError, ErrorCode } from './errors/matimo-error';
|
|
8
|
+
import { getLoggerConfig, createLogger, setGlobalMatimoLogger, } from './logging';
|
|
9
|
+
import { getGlobalApprovalHandler } from './approval/approval-handler';
|
|
8
10
|
/**
|
|
9
11
|
* Matimo Instance - Single initialization point for tool execution
|
|
10
12
|
* Combines loader, registry, and executors into one interface
|
|
11
13
|
*/
|
|
12
14
|
export class MatimoInstance {
|
|
13
|
-
constructor(toolPaths) {
|
|
15
|
+
constructor(toolPaths, logger) {
|
|
14
16
|
this.toolPaths = toolPaths;
|
|
17
|
+
this.logger = logger;
|
|
15
18
|
this.loader = new ToolLoader();
|
|
16
19
|
this.registry = new ToolRegistry();
|
|
17
20
|
// Use the first path (primary) as working directory for command executor
|
|
@@ -19,6 +22,7 @@ export class MatimoInstance {
|
|
|
19
22
|
this.commandExecutor = new CommandExecutor(workingDir);
|
|
20
23
|
this.httpExecutor = new HttpExecutor();
|
|
21
24
|
this.functionExecutor = new FunctionExecutor(toolPaths[0] || '');
|
|
25
|
+
this.approvalHandler = getGlobalApprovalHandler();
|
|
22
26
|
}
|
|
23
27
|
/**
|
|
24
28
|
* Initialize Matimo with tools from directory or auto-discovery
|
|
@@ -32,9 +36,17 @@ export class MatimoInstance {
|
|
|
32
36
|
* // New - auto-discovery
|
|
33
37
|
* const matimo = await MatimoInstance.init({ autoDiscover: true });
|
|
34
38
|
*
|
|
35
|
-
* // Explicit paths
|
|
39
|
+
* // Explicit paths with logging config
|
|
36
40
|
* const matimo = await MatimoInstance.init({
|
|
37
|
-
* toolPaths: ['./tools',
|
|
41
|
+
* toolPaths: ['./tools'],
|
|
42
|
+
* logLevel: 'debug',
|
|
43
|
+
* logFormat: 'json'
|
|
44
|
+
* });
|
|
45
|
+
*
|
|
46
|
+
* // Custom logger
|
|
47
|
+
* const matimo = await MatimoInstance.init({
|
|
48
|
+
* toolPaths: ['./tools'],
|
|
49
|
+
* logger: myCustomLogger
|
|
38
50
|
* });
|
|
39
51
|
*/
|
|
40
52
|
static async init(options) {
|
|
@@ -54,6 +66,21 @@ export class MatimoInstance {
|
|
|
54
66
|
...options,
|
|
55
67
|
};
|
|
56
68
|
}
|
|
69
|
+
// Initialize logger from config and environment variables
|
|
70
|
+
const loggerConfig = getLoggerConfig({
|
|
71
|
+
logLevel: finalOptions.logLevel,
|
|
72
|
+
logFormat: finalOptions.logFormat,
|
|
73
|
+
logger: finalOptions.logger,
|
|
74
|
+
});
|
|
75
|
+
const logger = createLogger(loggerConfig);
|
|
76
|
+
// Set global logger for use by modules
|
|
77
|
+
setGlobalMatimoLogger(logger);
|
|
78
|
+
logger.debug('Matimo SDK initializing', {
|
|
79
|
+
logLevel: loggerConfig.logLevel,
|
|
80
|
+
logFormat: loggerConfig.logFormat,
|
|
81
|
+
hasPaths: !!finalOptions.toolPaths?.length,
|
|
82
|
+
autoDiscover: finalOptions.autoDiscover,
|
|
83
|
+
});
|
|
57
84
|
const toolPaths = [];
|
|
58
85
|
// Include core tools (calculator, etc.) - currently not used in monorepo
|
|
59
86
|
// Use explicit toolPaths or autoDiscover instead
|
|
@@ -61,16 +88,22 @@ export class MatimoInstance {
|
|
|
61
88
|
// Add explicit paths
|
|
62
89
|
if (finalOptions.toolPaths) {
|
|
63
90
|
toolPaths.push(...finalOptions.toolPaths);
|
|
91
|
+
logger.debug(`Adding explicit tool paths`, { count: finalOptions.toolPaths.length });
|
|
64
92
|
}
|
|
65
93
|
// Auto-discover @matimo/* packages
|
|
66
94
|
if (finalOptions.autoDiscover) {
|
|
67
95
|
const discoveredPaths = new ToolLoader().autoDiscoverPackages();
|
|
68
96
|
toolPaths.push(...discoveredPaths);
|
|
97
|
+
logger.debug(`Auto-discovered tool paths`, { count: discoveredPaths.length });
|
|
69
98
|
}
|
|
70
|
-
const instance = new MatimoInstance(toolPaths);
|
|
99
|
+
const instance = new MatimoInstance(toolPaths, logger);
|
|
71
100
|
// Load tools from all paths
|
|
72
101
|
const allTools = instance.loader.loadToolsFromMultiplePaths(toolPaths);
|
|
73
102
|
instance.registry.registerAll(Array.from(allTools.values()));
|
|
103
|
+
logger.info(`Matimo SDK initialized successfully`, {
|
|
104
|
+
toolCount: allTools.size,
|
|
105
|
+
paths: toolPaths.length,
|
|
106
|
+
});
|
|
74
107
|
return instance;
|
|
75
108
|
}
|
|
76
109
|
/**
|
|
@@ -80,6 +113,13 @@ export class MatimoInstance {
|
|
|
80
113
|
getToolPaths() {
|
|
81
114
|
return [...this.toolPaths];
|
|
82
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* Get the logger instance
|
|
118
|
+
* @returns MatimoLogger instance
|
|
119
|
+
*/
|
|
120
|
+
getLogger() {
|
|
121
|
+
return this.logger;
|
|
122
|
+
}
|
|
83
123
|
/**
|
|
84
124
|
* Execute a tool by name with parameters
|
|
85
125
|
* @param toolName - Name of the tool to execute
|
|
@@ -89,15 +129,74 @@ export class MatimoInstance {
|
|
|
89
129
|
async execute(toolName, params) {
|
|
90
130
|
const tool = this.registry.get(toolName);
|
|
91
131
|
if (!tool) {
|
|
132
|
+
const availableTools = this.registry.getAll().map((t) => t.name);
|
|
133
|
+
this.logger.error(`Tool not found: ${toolName}`, {
|
|
134
|
+
toolName,
|
|
135
|
+
availableTools,
|
|
136
|
+
});
|
|
92
137
|
throw new MatimoError(`Tool '${toolName}' not found in registry`, ErrorCode.TOOL_NOT_FOUND, {
|
|
93
138
|
toolName,
|
|
94
|
-
availableTools
|
|
139
|
+
availableTools,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
this.logger.debug(`Executing tool: ${toolName}`, {
|
|
143
|
+
toolName,
|
|
144
|
+
paramCount: Object.keys(params).length,
|
|
145
|
+
});
|
|
146
|
+
try {
|
|
147
|
+
// Simple approval flow:
|
|
148
|
+
// 1. Check if tool requires approval (from YAML or keyword detection)
|
|
149
|
+
// 2. Check if pre-approved via env vars
|
|
150
|
+
// 3. Call approval callback if not pre-approved
|
|
151
|
+
// Prefer execution-type-specific checks to reduce false positives.
|
|
152
|
+
// - `command` tools: scan `params.command`
|
|
153
|
+
// - SQL tools (convention): scan `params.sql`
|
|
154
|
+
// If configured via `MATIMO_APPROVAL_SCAN_ALL_PARAMS=true`, fall back
|
|
155
|
+
// to scanning all string-valued params.
|
|
156
|
+
const executionType = (tool.execution.type || '');
|
|
157
|
+
let scanContent;
|
|
158
|
+
if (executionType === 'command' && typeof params.command === 'string') {
|
|
159
|
+
scanContent = params.command;
|
|
160
|
+
}
|
|
161
|
+
else if (typeof params.sql === 'string') {
|
|
162
|
+
scanContent = params.sql;
|
|
163
|
+
}
|
|
164
|
+
else if (process.env.MATIMO_APPROVAL_SCAN_ALL_PARAMS === 'true') {
|
|
165
|
+
const parts = [];
|
|
166
|
+
for (const val of Object.values(params)) {
|
|
167
|
+
if (typeof val === 'string')
|
|
168
|
+
parts.push(val);
|
|
169
|
+
}
|
|
170
|
+
if (parts.length > 0)
|
|
171
|
+
scanContent = parts.join(' ');
|
|
172
|
+
}
|
|
173
|
+
const requiresApproval = this.approvalHandler.requiresApproval(tool.requires_approval, scanContent);
|
|
174
|
+
if (requiresApproval && !this.approvalHandler.isPreApproved(toolName)) {
|
|
175
|
+
this.logger.debug(`Approval required for: ${toolName}`, { toolName });
|
|
176
|
+
await this.approvalHandler.requestApproval({
|
|
177
|
+
toolName,
|
|
178
|
+
description: tool.description,
|
|
179
|
+
params,
|
|
180
|
+
});
|
|
181
|
+
this.logger.info(`Destructive operation approved: ${toolName}`, { toolName });
|
|
182
|
+
}
|
|
183
|
+
// Auto-inject authentication parameters from environment variables
|
|
184
|
+
const finalParams = this.injectAuthParameters(tool, params);
|
|
185
|
+
const executor = this.getExecutor(tool);
|
|
186
|
+
const result = await executor.execute(tool, finalParams);
|
|
187
|
+
this.logger.debug(`Tool executed successfully: ${toolName}`, {
|
|
188
|
+
toolName,
|
|
189
|
+
hasResult: !!result,
|
|
190
|
+
});
|
|
191
|
+
return result;
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
this.logger.error(`Tool execution failed: ${toolName}`, {
|
|
195
|
+
toolName,
|
|
196
|
+
error: error instanceof Error ? error.message : String(error),
|
|
95
197
|
});
|
|
198
|
+
throw error;
|
|
96
199
|
}
|
|
97
|
-
// Auto-inject authentication parameters from environment variables
|
|
98
|
-
const finalParams = this.injectAuthParameters(tool, params);
|
|
99
|
-
const executor = this.getExecutor(tool);
|
|
100
|
-
return executor.execute(tool, finalParams);
|
|
101
200
|
}
|
|
102
201
|
/**
|
|
103
202
|
* Get a tool definition by name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matimo-instance.js","sourceRoot":"","sources":["../src/matimo-instance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"matimo-instance.js","sourceRoot":"","sources":["../src/matimo-instance.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matimo/core",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.9",
|
|
4
4
|
"description": "Core SDK for Matimo: Framework-agnostic YAML-driven tool ecosystem for AI agents.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -46,6 +46,7 @@
|
|
|
46
46
|
"files": [
|
|
47
47
|
"dist",
|
|
48
48
|
"tools",
|
|
49
|
+
"destructive-keywords.yaml",
|
|
49
50
|
"README.md",
|
|
50
51
|
"LICENSE"
|
|
51
52
|
],
|
|
@@ -57,6 +58,7 @@
|
|
|
57
58
|
"axios": "^1.13.4",
|
|
58
59
|
"dotenv": "^17.2.3",
|
|
59
60
|
"js-yaml": "^4.1.1",
|
|
61
|
+
"winston": "^3.19.0",
|
|
60
62
|
"yaml": "^2.8.2",
|
|
61
63
|
"zod": "^4.3.6"
|
|
62
64
|
},
|