@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.
Files changed (52) hide show
  1. package/destructive-keywords.yaml +70 -0
  2. package/dist/approval/approval-handler.d.ts +74 -0
  3. package/dist/approval/approval-handler.d.ts.map +1 -0
  4. package/dist/approval/approval-handler.js +210 -0
  5. package/dist/approval/approval-handler.js.map +1 -0
  6. package/dist/core/schema.d.ts +8 -2
  7. package/dist/core/schema.d.ts.map +1 -1
  8. package/dist/core/schema.js +8 -2
  9. package/dist/core/schema.js.map +1 -1
  10. package/dist/core/types.d.ts +5 -0
  11. package/dist/core/types.d.ts.map +1 -1
  12. package/dist/executors/function-executor.d.ts.map +1 -1
  13. package/dist/executors/function-executor.js +27 -10
  14. package/dist/executors/function-executor.js.map +1 -1
  15. package/dist/index.d.ts +4 -4
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +7 -4
  18. package/dist/index.js.map +1 -1
  19. package/dist/logging/index.d.ts +3 -0
  20. package/dist/logging/index.d.ts.map +1 -0
  21. package/dist/logging/index.js +3 -0
  22. package/dist/logging/index.js.map +1 -0
  23. package/dist/logging/logger.d.ts +96 -0
  24. package/dist/logging/logger.d.ts.map +1 -0
  25. package/dist/logging/logger.js +53 -0
  26. package/dist/logging/logger.js.map +1 -0
  27. package/dist/logging/winston-logger.d.ts +29 -0
  28. package/dist/logging/winston-logger.d.ts.map +1 -0
  29. package/dist/logging/winston-logger.js +73 -0
  30. package/dist/logging/winston-logger.js.map +1 -0
  31. package/dist/matimo-instance.d.ts +19 -3
  32. package/dist/matimo-instance.d.ts.map +1 -1
  33. package/dist/matimo-instance.js +108 -9
  34. package/dist/matimo-instance.js.map +1 -1
  35. package/package.json +3 -1
  36. package/tools/calculator/calculator.ts +27 -0
  37. package/tools/edit/definition.yaml +1 -0
  38. package/tools/edit/edit.ts +2 -10
  39. package/tools/execute/definition.yaml +1 -0
  40. package/tools/execute/execute.ts +53 -1
  41. package/tools/read/definition.yaml +1 -0
  42. package/tools/read/read.ts +1 -11
  43. package/tools/search/definition.yaml +12 -11
  44. package/tools/search/search.ts +16 -8
  45. package/dist/approval/path-approval.d.ts +0 -80
  46. package/dist/approval/path-approval.d.ts.map +0 -1
  47. package/dist/approval/path-approval.js +0 -170
  48. package/dist/approval/path-approval.js.map +0 -1
  49. package/dist/approval/sql-approval.d.ts +0 -23
  50. package/dist/approval/sql-approval.d.ts.map +0 -1
  51. package/dist/approval/sql-approval.js +0 -85
  52. 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
- // Path Approval System
27
- export { PathApprovalManager, getPathApprovalManager, setPathApprovalManager, } from './approval/path-approval';
28
- // SQL Approval System
29
- export { SQLApprovalManager, getSQLApprovalManager, setSQLApprovalManager, } from './approval/sql-approval';
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,uBAAuB;AACvB,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAGlC,sBAAsB;AACtB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC"}
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,3 @@
1
+ export { MatimoLogger, LogLevel, LoggerConfig, getLoggerConfig, setGlobalMatimoLogger, getGlobalMatimoLogger, } from './logger.js';
2
+ export { WinstonMatimoLogger, createLogger } from './winston-logger.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ export { getLoggerConfig, setGlobalMatimoLogger, getGlobalMatimoLogger, } from './logger.js';
2
+ export { WinstonMatimoLogger, createLogger } from './winston-logger.js';
3
+ //# sourceMappingURL=index.js.map
@@ -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', require.resolve('@matimo/slack/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;AAG/C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,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;IAE3C,OAAO;IAWP;;;;;;;;;;;;;;;;OAgBG;WACU,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA4C1E;;;OAGG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB;;;;;OAKG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBlF;;;;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;IAoD5B;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAkDpC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0C3B;;OAEG;IACH,OAAO,CAAC,WAAW;CAiBpB;AAED;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB;;;;OAIG;oBACmB,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CAGvD,CAAC"}
1
+ {"version":3,"file":"matimo-instance.d.ts","sourceRoot":"","sources":["../src/matimo-instance.ts"],"names":[],"mappings":"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"}
@@ -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', require.resolve('@matimo/slack/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: this.registry.getAll().map((t) => t.name),
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.7.1",
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
  },