@matimo/core 0.1.0-alpha.4 → 0.1.0-alpha.6

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 (124) hide show
  1. package/README.md +86 -0
  2. package/dist/approval/path-approval.d.ts +80 -0
  3. package/dist/approval/path-approval.d.ts.map +1 -0
  4. package/dist/approval/path-approval.js +170 -0
  5. package/dist/approval/path-approval.js.map +1 -0
  6. package/dist/auth/oauth2-config.d.ts.map +1 -0
  7. package/dist/auth/oauth2-config.js.map +1 -0
  8. package/dist/auth/oauth2-handler.d.ts.map +1 -0
  9. package/dist/auth/oauth2-handler.js.map +1 -0
  10. package/dist/auth/oauth2-provider-loader.d.ts.map +1 -0
  11. package/dist/auth/oauth2-provider-loader.js.map +1 -0
  12. package/dist/{src/core → core}/schema.d.ts +8 -3
  13. package/dist/core/schema.d.ts.map +1 -0
  14. package/dist/{src/core → core}/schema.js +4 -5
  15. package/dist/core/schema.js.map +1 -0
  16. package/dist/{src/core → core}/tool-loader.d.ts +16 -4
  17. package/dist/core/tool-loader.d.ts.map +1 -0
  18. package/dist/{src/core → core}/tool-loader.js +95 -50
  19. package/dist/core/tool-loader.js.map +1 -0
  20. package/dist/core/tool-registry.d.ts.map +1 -0
  21. package/dist/core/tool-registry.js.map +1 -0
  22. package/dist/core/types.d.ts.map +1 -0
  23. package/dist/{src/core → core}/types.js.map +1 -1
  24. package/dist/decorators/index.d.ts.map +1 -0
  25. package/dist/decorators/index.js.map +1 -0
  26. package/dist/decorators/tool-decorator.d.ts.map +1 -0
  27. package/dist/decorators/tool-decorator.js.map +1 -0
  28. package/dist/encodings/parameter-encoding.d.ts.map +1 -0
  29. package/dist/encodings/parameter-encoding.js.map +1 -0
  30. package/dist/errors/matimo-error.d.ts.map +1 -0
  31. package/dist/errors/matimo-error.js.map +1 -0
  32. package/dist/executors/command-executor.d.ts.map +1 -0
  33. package/dist/executors/command-executor.js.map +1 -0
  34. package/dist/executors/function-executor.d.ts.map +1 -0
  35. package/dist/executors/function-executor.js.map +1 -0
  36. package/dist/executors/http-executor.d.ts.map +1 -0
  37. package/dist/executors/http-executor.js.map +1 -0
  38. package/dist/{src/index.d.ts → index.d.ts} +2 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/{src/index.js → index.js} +2 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/integrations/langchain.d.ts.map +1 -0
  43. package/dist/integrations/langchain.js.map +1 -0
  44. package/dist/matimo-instance.d.ts.map +1 -0
  45. package/dist/matimo-instance.js.map +1 -0
  46. package/package.json +1 -1
  47. package/tools/calculator/calculator.ts +100 -107
  48. package/tools/calculator/definition.yaml +2 -3
  49. package/tools/edit/definition.yaml +114 -0
  50. package/tools/edit/edit.ts +195 -0
  51. package/tools/execute/definition.yaml +89 -0
  52. package/tools/execute/execute.ts +155 -0
  53. package/tools/read/definition.yaml +105 -0
  54. package/tools/read/read.ts +128 -0
  55. package/tools/search/definition.yaml +147 -0
  56. package/tools/search/search.ts +184 -0
  57. package/tools/web/definition.yaml +132 -0
  58. package/tools/web/web.ts +134 -0
  59. package/dist/src/auth/oauth2-config.d.ts.map +0 -1
  60. package/dist/src/auth/oauth2-config.js.map +0 -1
  61. package/dist/src/auth/oauth2-handler.d.ts.map +0 -1
  62. package/dist/src/auth/oauth2-handler.js.map +0 -1
  63. package/dist/src/auth/oauth2-provider-loader.d.ts.map +0 -1
  64. package/dist/src/auth/oauth2-provider-loader.js.map +0 -1
  65. package/dist/src/core/schema.d.ts.map +0 -1
  66. package/dist/src/core/schema.js.map +0 -1
  67. package/dist/src/core/tool-loader.d.ts.map +0 -1
  68. package/dist/src/core/tool-loader.js.map +0 -1
  69. package/dist/src/core/tool-registry.d.ts.map +0 -1
  70. package/dist/src/core/tool-registry.js.map +0 -1
  71. package/dist/src/core/types.d.ts.map +0 -1
  72. package/dist/src/decorators/index.d.ts.map +0 -1
  73. package/dist/src/decorators/index.js.map +0 -1
  74. package/dist/src/decorators/tool-decorator.d.ts.map +0 -1
  75. package/dist/src/decorators/tool-decorator.js.map +0 -1
  76. package/dist/src/encodings/parameter-encoding.d.ts.map +0 -1
  77. package/dist/src/encodings/parameter-encoding.js.map +0 -1
  78. package/dist/src/errors/matimo-error.d.ts.map +0 -1
  79. package/dist/src/errors/matimo-error.js.map +0 -1
  80. package/dist/src/executors/command-executor.d.ts.map +0 -1
  81. package/dist/src/executors/command-executor.js.map +0 -1
  82. package/dist/src/executors/function-executor.d.ts.map +0 -1
  83. package/dist/src/executors/function-executor.js.map +0 -1
  84. package/dist/src/executors/http-executor.d.ts.map +0 -1
  85. package/dist/src/executors/http-executor.js.map +0 -1
  86. package/dist/src/index.d.ts.map +0 -1
  87. package/dist/src/index.js.map +0 -1
  88. package/dist/src/integrations/langchain.d.ts.map +0 -1
  89. package/dist/src/integrations/langchain.js.map +0 -1
  90. package/dist/src/matimo-instance.d.ts.map +0 -1
  91. package/dist/src/matimo-instance.js.map +0 -1
  92. package/dist/tools/calculator/calculator.d.ts +0 -26
  93. package/dist/tools/calculator/calculator.d.ts.map +0 -1
  94. package/dist/tools/calculator/calculator.js +0 -104
  95. package/dist/tools/calculator/calculator.js.map +0 -1
  96. package/dist/tsconfig.tsbuildinfo +0 -1
  97. /package/dist/{src/auth → auth}/oauth2-config.d.ts +0 -0
  98. /package/dist/{src/auth → auth}/oauth2-config.js +0 -0
  99. /package/dist/{src/auth → auth}/oauth2-handler.d.ts +0 -0
  100. /package/dist/{src/auth → auth}/oauth2-handler.js +0 -0
  101. /package/dist/{src/auth → auth}/oauth2-provider-loader.d.ts +0 -0
  102. /package/dist/{src/auth → auth}/oauth2-provider-loader.js +0 -0
  103. /package/dist/{src/core → core}/tool-registry.d.ts +0 -0
  104. /package/dist/{src/core → core}/tool-registry.js +0 -0
  105. /package/dist/{src/core → core}/types.d.ts +0 -0
  106. /package/dist/{src/core → core}/types.js +0 -0
  107. /package/dist/{src/decorators → decorators}/index.d.ts +0 -0
  108. /package/dist/{src/decorators → decorators}/index.js +0 -0
  109. /package/dist/{src/decorators → decorators}/tool-decorator.d.ts +0 -0
  110. /package/dist/{src/decorators → decorators}/tool-decorator.js +0 -0
  111. /package/dist/{src/encodings → encodings}/parameter-encoding.d.ts +0 -0
  112. /package/dist/{src/encodings → encodings}/parameter-encoding.js +0 -0
  113. /package/dist/{src/errors → errors}/matimo-error.d.ts +0 -0
  114. /package/dist/{src/errors → errors}/matimo-error.js +0 -0
  115. /package/dist/{src/executors → executors}/command-executor.d.ts +0 -0
  116. /package/dist/{src/executors → executors}/command-executor.js +0 -0
  117. /package/dist/{src/executors → executors}/function-executor.d.ts +0 -0
  118. /package/dist/{src/executors → executors}/function-executor.js +0 -0
  119. /package/dist/{src/executors → executors}/http-executor.d.ts +0 -0
  120. /package/dist/{src/executors → executors}/http-executor.js +0 -0
  121. /package/dist/{src/integrations → integrations}/langchain.d.ts +0 -0
  122. /package/dist/{src/integrations → integrations}/langchain.js +0 -0
  123. /package/dist/{src/matimo-instance.d.ts → matimo-instance.d.ts} +0 -0
  124. /package/dist/{src/matimo-instance.js → matimo-instance.js} +0 -0
package/README.md ADDED
@@ -0,0 +1,86 @@
1
+ # @matimo/core — Core SDK for Matimo
2
+
3
+ Matimo core provides the TypeScript SDK that loads, validates, and executes YAML-defined tools across frameworks.
4
+
5
+ ## 📦 Installation
6
+
7
+ Install the unified package (includes core exports):
8
+
9
+ ```bash
10
+ # install unscope package which includes core and cli
11
+ npm install matimo
12
+ pnpm add matimo
13
+ # or install scoped core package directly
14
+ npm insatll @matimo/core
15
+ pnpm add @matimo/core
16
+ ```
17
+
18
+ ## 🔧 Purpose
19
+
20
+ `@matimo/core` contains:
21
+
22
+ - `MatimoInstance` — initialization, discovery, registry, and execution API
23
+ - Executors (command, http, function)
24
+ - Decorator utilities (`@tool`, `setGlobalMatimoInstance`)
25
+ - Zod-based schema validation for YAML tool definitions
26
+ - Error types (`MatimoError`) and structured error codes
27
+
28
+ This package is intended to be imported by applications, CLIs, and provider packages.
29
+
30
+ ## 🚀 Quick Start
31
+
32
+ ```typescript
33
+ import { MatimoInstance } from 'matimo';
34
+
35
+ // Auto-discover installed @matimo/* tool packages
36
+ const matimo = await MatimoInstance.init({ autoDiscover: true });
37
+
38
+ // List tools
39
+ console.log('Loaded', matimo.listTools().length, 'tools');
40
+
41
+ // Execute a tool
42
+ await matimo.execute('calculator', { operation: 'add', a: 1, b: 2 });
43
+ ```
44
+
45
+ ## 🧩 Usage Patterns
46
+
47
+ - Factory pattern: `MatimoInstance.init()` + `matimo.execute()`
48
+ - Decorator pattern: use `@tool()` and `setGlobalMatimoInstance()` for class-based code
49
+ - LangChain integration: convert Matimo tools to LangChain function schemas
50
+
51
+ See the full SDK docs: [docs/api-reference/SDK.md](../../docs/api-reference/SDK.md)
52
+
53
+ ## 🔐 Authentication
54
+
55
+ Tools declare authentication in their YAML definitions. `@matimo/core` supports:
56
+
57
+ - API keys (header/query)
58
+ - Bearer/basic tokens
59
+ - OAuth2 (provider integrations handled in provider packages)
60
+
61
+ Tokens are injected from environment variables by convention (for example `SLACK_BOT_TOKEN`, `GMAIL_ACCESS_TOKEN`).
62
+
63
+ ## 🧪 Testing & Development
64
+
65
+ To run core package tests:
66
+
67
+ ```bash
68
+ pnpm --filter "@matimo/core" test
69
+ ```
70
+
71
+ To build:
72
+
73
+ ```bash
74
+ pnpm --filter "@matimo/core" build
75
+ ```
76
+
77
+ ## 📚 Contributing
78
+
79
+ See the project CONTRIBUTING guide and `docs/tool-development/ADDING_TOOLS.md` for adding provider packages and tools.
80
+
81
+ - Contributing: https://github.com/tallclub/matimo/blob/main/CONTRIBUTING.md
82
+ - Add tools: ../../docs/tool-development/ADDING_TOOLS.md
83
+
84
+ ---
85
+
86
+ Part of the Matimo ecosystem — define tools once, use them everywhere.
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Path Approval Manager
3
+ * Interactive approval system for file system operations (read, edit, search)
4
+ *
5
+ * Users implement approval storage (file, DB, etc.) via callback.
6
+ * Matimo handles the approval flow and validation.
7
+ */
8
+ /**
9
+ * Approval callback — user implements this to handle interactive approval
10
+ * Can store approvals in file, DB, memory, etc.
11
+ */
12
+ export interface ApprovalCallback {
13
+ (requestPath: string, mode: 'read' | 'write' | 'search'): Promise<boolean>;
14
+ }
15
+ /**
16
+ * Path Approval Manager
17
+ * Validates file paths against permanent and temporary approvals
18
+ */
19
+ export declare class PathApprovalManager {
20
+ private permanentApprovals;
21
+ private approvalCallback;
22
+ private runtimeCache;
23
+ constructor();
24
+ /**
25
+ * Set the approval callback for interactive approvals
26
+ * Users implement this to prompt and store approvals
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * manager.setApprovalCallback(async (filePath, mode) => {
31
+ * const approved = await promptUser(`Allow ${mode} of ${filePath}?`);
32
+ * if (approved) {
33
+ * await fs.appendFile('.matimo-approvals', `${filePath}\n`);
34
+ * }
35
+ * return approved;
36
+ * });
37
+ * ```
38
+ */
39
+ setApprovalCallback(callback: ApprovalCallback): void;
40
+ /**
41
+ * Pre-approve a path for the current runtime session
42
+ * Useful for programmatic approval (e.g., called from tests or API)
43
+ */
44
+ approvePathForSession(filePath: string): void;
45
+ /**
46
+ * Check if a path is approved for the given operation
47
+ * - Returns true if path matches permanent approvals
48
+ * - Returns true if path was approved in current runtime session
49
+ * - Calls approval callback if interactive mode enabled
50
+ * - Returns false if user denies approval
51
+ *
52
+ * @throws {MatimoError} If approval callback not set and interactive approval needed
53
+ */
54
+ isApproved(filePath: string, mode?: 'read' | 'write' | 'search'): Promise<boolean>;
55
+ /**
56
+ * Check if a path matches any permanent approvals
57
+ * Supports glob patterns (*, **, ?)
58
+ */
59
+ private isPermanentlyApproved;
60
+ /**
61
+ * Clear runtime cache (e.g., at start of new session)
62
+ */
63
+ clearRuntimeCache(): void;
64
+ /**
65
+ * Get approval statistics for logging/audit
66
+ */
67
+ getStats(): {
68
+ permanentApprovalsCount: number;
69
+ runtimeApprovalsCount: number;
70
+ };
71
+ }
72
+ /**
73
+ * Get or create global path approval manager
74
+ */
75
+ export declare function getPathApprovalManager(): PathApprovalManager;
76
+ /**
77
+ * Set global path approval manager (for testing or custom initialization)
78
+ */
79
+ export declare function setPathApprovalManager(manager: PathApprovalManager): void;
80
+ //# sourceMappingURL=path-approval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-approval.d.ts","sourceRoot":"","sources":["../../src/approval/path-approval.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA2CH;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5E;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,YAAY,CAAmC;;IAUvD;;;;;;;;;;;;;;OAcG;IACH,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAIrD;;;OAGG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK7C;;;;;;;;OAQG;IACG,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,MAAM,GAAG,OAAO,GAAG,QAAkB,GAC1C,OAAO,CAAC,OAAO,CAAC;IAuCnB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;OAEG;IACH,QAAQ,IAAI;QACV,uBAAuB,EAAE,MAAM,CAAC;QAChC,qBAAqB,EAAE,MAAM,CAAC;KAC/B;CAMF;AAKD;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,mBAAmB,CAK5D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAEzE"}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Path Approval Manager
3
+ * Interactive approval system for file system operations (read, edit, search)
4
+ *
5
+ * Users implement approval storage (file, DB, etc.) via callback.
6
+ * Matimo handles the approval flow and validation.
7
+ */
8
+ import path from 'path';
9
+ import { MatimoError, ErrorCode } from '../errors/matimo-error';
10
+ /**
11
+ * Simple glob pattern matcher (native implementation)
12
+ * Supports: * (any chars in path segment), ** (any number of segments), ? (single char)
13
+ */
14
+ function matchesGlobPattern(filePath, pattern) {
15
+ // Resolve file path to absolute for comparison
16
+ const resolvedPath = path.resolve(filePath);
17
+ // For patterns: if it's absolute, use as is; if relative, resolve from cwd
18
+ const patternToCheck = pattern.startsWith('/') || pattern.match(/^[A-Z]:/i)
19
+ ? pattern // Already absolute
20
+ : path.resolve(pattern); // Relative pattern, resolve from cwd
21
+ // Normalize both to forward slashes for consistent regex
22
+ const normalizedPath = resolvedPath.split(path.sep).join('/');
23
+ const normalizedPattern = patternToCheck.split(path.sep).join('/');
24
+ // Convert glob pattern to regex using placeholders to avoid interference
25
+ const regexPattern = normalizedPattern
26
+ .replace(/\./g, '___DOT___') // Placeholder for .
27
+ .replace(/\*\*\//g, '___DBL_STAR_SLASH___') // Placeholder for **/
28
+ .replace(/\/\*\*/g, '___SLASH_DBL_STAR___') // Placeholder for /**
29
+ .replace(/\*\*/g, '___DBL_STAR___') // Placeholder for **
30
+ .replace(/\*/g, '___STAR___') // Placeholder for *
31
+ .replace(/\?/g, '___QUESTION___') // Placeholder for ?
32
+ // Now replace placeholders with regex patterns
33
+ .replace(/___DBL_STAR_SLASH___/g, '(?:.+/)?') // **/ matches zero or more path segments
34
+ .replace(/___SLASH_DBL_STAR___/g, '(?:/.+)?') // /** matches zero or more path segments
35
+ .replace(/___DBL_STAR___/g, '.*') // ** matches anything
36
+ .replace(/___STAR___/g, '[^/]*') // * matches any chars except /
37
+ .replace(/___QUESTION___/g, '[^/]') // ? matches single char except /
38
+ .replace(/___DOT___/g, '\\.'); // . becomes literal dot
39
+ const regex = new RegExp(`^${regexPattern}$`);
40
+ return regex.test(normalizedPath);
41
+ }
42
+ /**
43
+ * Path Approval Manager
44
+ * Validates file paths against permanent and temporary approvals
45
+ */
46
+ export class PathApprovalManager {
47
+ constructor() {
48
+ this.permanentApprovals = [];
49
+ this.approvalCallback = null;
50
+ this.runtimeCache = new Map();
51
+ // Load permanent approvals from environment variable
52
+ const allowedPathsEnv = process.env.MATIMO_EDIT_ALLOWED_PATHS;
53
+ if (allowedPathsEnv) {
54
+ this.permanentApprovals = allowedPathsEnv.split(',').map((p) => p.trim());
55
+ }
56
+ }
57
+ /**
58
+ * Set the approval callback for interactive approvals
59
+ * Users implement this to prompt and store approvals
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * manager.setApprovalCallback(async (filePath, mode) => {
64
+ * const approved = await promptUser(`Allow ${mode} of ${filePath}?`);
65
+ * if (approved) {
66
+ * await fs.appendFile('.matimo-approvals', `${filePath}\n`);
67
+ * }
68
+ * return approved;
69
+ * });
70
+ * ```
71
+ */
72
+ setApprovalCallback(callback) {
73
+ this.approvalCallback = callback;
74
+ }
75
+ /**
76
+ * Pre-approve a path for the current runtime session
77
+ * Useful for programmatic approval (e.g., called from tests or API)
78
+ */
79
+ approvePathForSession(filePath) {
80
+ const normalized = path.resolve(filePath);
81
+ this.runtimeCache.set(normalized, true);
82
+ }
83
+ /**
84
+ * Check if a path is approved for the given operation
85
+ * - Returns true if path matches permanent approvals
86
+ * - Returns true if path was approved in current runtime session
87
+ * - Calls approval callback if interactive mode enabled
88
+ * - Returns false if user denies approval
89
+ *
90
+ * @throws {MatimoError} If approval callback not set and interactive approval needed
91
+ */
92
+ async isApproved(filePath, mode = 'write') {
93
+ const normalized = path.resolve(filePath);
94
+ // Check runtime cache first
95
+ const cached = this.runtimeCache.get(normalized);
96
+ if (cached === true) {
97
+ return true;
98
+ }
99
+ if (cached === false) {
100
+ return false;
101
+ }
102
+ // Check permanent approvals
103
+ if (this.isPermanentlyApproved(normalized)) {
104
+ return true;
105
+ }
106
+ // If no callback set, deny access
107
+ if (!this.approvalCallback) {
108
+ throw new MatimoError('Path approval required but no approval callback set', ErrorCode.EXECUTION_FAILED, {
109
+ filePath: normalized,
110
+ mode,
111
+ hint: 'Set approval callback with manager.setApprovalCallback() or add path to MATIMO_EDIT_ALLOWED_PATHS',
112
+ });
113
+ }
114
+ // Ask for interactive approval
115
+ const approved = await this.approvalCallback(normalized, mode);
116
+ // Cache the decision for this session
117
+ this.runtimeCache.set(normalized, approved);
118
+ return approved;
119
+ }
120
+ /**
121
+ * Check if a path matches any permanent approvals
122
+ * Supports glob patterns (*, **, ?)
123
+ */
124
+ isPermanentlyApproved(filePath) {
125
+ const normalized = path.resolve(filePath);
126
+ return this.permanentApprovals.some((pattern) => {
127
+ // Handle both absolute paths and glob patterns
128
+ if (pattern.includes('*') || pattern.includes('?')) {
129
+ // Pattern contains wildcards, use glob matching
130
+ return matchesGlobPattern(normalized, pattern);
131
+ }
132
+ // Exact match or directory match (no wildcards)
133
+ const approvedPath = path.resolve(pattern);
134
+ return normalized === approvedPath || normalized.startsWith(approvedPath + path.sep);
135
+ });
136
+ }
137
+ /**
138
+ * Clear runtime cache (e.g., at start of new session)
139
+ */
140
+ clearRuntimeCache() {
141
+ this.runtimeCache.clear();
142
+ }
143
+ /**
144
+ * Get approval statistics for logging/audit
145
+ */
146
+ getStats() {
147
+ return {
148
+ permanentApprovalsCount: this.permanentApprovals.length,
149
+ runtimeApprovalsCount: this.runtimeCache.size,
150
+ };
151
+ }
152
+ }
153
+ // Singleton instance
154
+ let globalManager = null;
155
+ /**
156
+ * Get or create global path approval manager
157
+ */
158
+ export function getPathApprovalManager() {
159
+ if (!globalManager) {
160
+ globalManager = new PathApprovalManager();
161
+ }
162
+ return globalManager;
163
+ }
164
+ /**
165
+ * Set global path approval manager (for testing or custom initialization)
166
+ */
167
+ export function setPathApprovalManager(manager) {
168
+ globalManager = manager;
169
+ }
170
+ //# sourceMappingURL=path-approval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-approval.js","sourceRoot":"","sources":["../../src/approval/path-approval.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth2-config.d.ts","sourceRoot":"","sources":["../../src/auth/oauth2-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,cAAc,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth2-config.js","sourceRoot":"","sources":["../../src/auth/oauth2-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;;AA2EH;;;;;;;;;GASG"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth2-handler.d.ts","sourceRoot":"","sources":["../../src/auth/oauth2-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,YAAY,EACZ,WAAW,EACX,eAAe,EAEf,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,cAAc,CAAuB;IAE7C;;;;OAIG;gBACS,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,oBAAoB;IAoBvE;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,gBAAgB;IA2CxB;;OAEG;IACH,YAAY,IAAI,eAAe;IAI/B;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM;IAmB1D;;;;;OAKG;IACG,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA2B9E;;;;;OAKG;IACG,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAuC3F;;;OAGG;IACG,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBpD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAKzC;;OAEG;IACH,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;CAGlD;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth2-handler.js","sourceRoot":"","sources":["../../src/auth/oauth2-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,MAAM,OAAO,aAAa;IAMxB;;;;OAIG;IACH,YAAY,MAAoB,EAAE,cAAqC;QACrE,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,IAAI,WAAW,CACnB,+CAA+C,EAC/C,SAAS,CAAC,WAAW,EACrB,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAC9B,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,sCAAsC;QAC/E,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,IAAI,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE1E,mCAAmC;QACnC,0EAA0E;QAC1E,+CAA+C;QAC/C,8DAA8D;QAC9D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,gBAAgB,CAAC,MAAoB;QAC3C,gEAAgE;QAChE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC,SAAS,CAAC;QAC1B,CAAC;QAED,oCAAoC;QACpC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAClF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAEpF,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC;gBAChC,MAAM,IAAI,WAAW,CACnB,2CAA2C,MAAM,CAAC,QAAQ,gBAAgB,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,uBAAuB,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,yBAAyB,EACpL,SAAS,CAAC,WAAW,EACrB,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAC9B,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,gBAAgB,EAAE,UAAU;gBAC5B,QAAQ,EAAE,WAAW;gBACrB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;aAC5E,CAAC;QACJ,CAAC;QAED,mDAAmD;QACnD,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvE,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,qBAAqB;QACrB,MAAM,IAAI,WAAW,CACnB,gCAAgC,MAAM,CAAC,QAAQ;;iBAEpC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;iBAC7B,MAAM,CAAC,QAAQ,uCAAuC,EACjE,SAAS,CAAC,WAAW,EACrB,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAC9B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,OAA6B;QAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE1D,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC/B,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YACrC,aAAa,EAAE,MAAM;YACrB,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;YAC/B,KAAK;YACL,+BAA+B;YAC/B,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI;gBACvC,WAAW,EAAE,SAAS,EAAE,wBAAwB;gBAChD,MAAM,EAAE,SAAS,EAAE,uBAAuB;aAC3C,CAAC;SACH,CAAC,CAAC;QAEH,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;IACnE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,IAAY,EAAE,MAAc;QACrD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACzD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC/B,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACvC,IAAI;gBACJ,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBACrC,UAAU,EAAE,oBAAoB;aACjC,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAqB,CAAC;YACrD,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAE7D,oDAAoD;YACpD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,WAAW,CACnB,iDAAiD,EACjD,SAAS,CAAC,WAAW,EACrB;gBACE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,KAAK,EAAG,KAAe,CAAC,OAAO;aAChC,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAAc,EAAE,YAAyB;QAClE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5C,OAAO,YAAY,CAAC,CAAC,oBAAoB;QAC3C,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YAC/B,MAAM,IAAI,WAAW,CACnB,kCAAkC,MAAM,8BAA8B,EACtE,SAAS,CAAC,WAAW,EACrB,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAC3C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;gBACzD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC/B,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACvC,aAAa,EAAE,YAAY,CAAC,YAAY;gBACxC,UAAU,EAAE,eAAe;aAC5B,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAqB,CAAC;YACrD,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAC5C,aAAa,EACb,MAAM,EACN,YAAY,CAAC,YAAY,CAC1B,CAAC;YAEF,8DAA8D;YAC9D,OAAO,cAAc,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,WAAW,CAAC,yBAAyB,EAAE,SAAS,CAAC,WAAW,EAAE;gBACtE,MAAM;gBACN,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC9B,KAAK,EAAG,KAAe,CAAC,OAAO;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,KAAkB;QAClC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YAC9B,sCAAsC;YACtC,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE;gBACzC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;gBAC/B,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACvC,KAAK,EAAE,KAAK,CAAC,WAAW;aACzB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,oDAAoD;QACtD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,KAAkB;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,OAAO,GAAG,IAAI,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACpD,CAAC;IAED;;OAEG;IACK,kBAAkB,CACxB,QAAuB,EACvB,MAAc,EACd,oBAA6B;QAE7B,OAAO;YACL,WAAW,EAAE,QAAQ,CAAC,YAAY;YAClC,YAAY,EAAE,QAAQ,CAAC,aAAa,IAAI,oBAAoB;YAC5D,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,UAAU,GAAG,IAAI;YAClD,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YACvD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,mBAAmB;QACzB,OAAO,CACL,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAC1F,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,KAAkB;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,YAAoB;QACxC,IAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC;IACzC,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth2-provider-loader.d.ts","sourceRoot":"","sources":["../../src/auth/oauth2-provider-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAA8B,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAErF;;;;;;;;GAQG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAA2C;IAC5D,OAAO,CAAC,WAAW,CAA8C;gBAErD,SAAS,EAAE,MAAM;IAI7B;;;;;;;;OAQG;IACG,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAqC5D;;;;OAIG;IACH,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAI9D;;;;OAIG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAInE;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAIzB;;OAEG;IACH,SAAS,CAAC,0BAA0B,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI;IAU1E;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAMzB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth2-provider-loader.js","sourceRoot":"","sources":["../../src/auth/oauth2-provider-loader.ts"],"names":[],"mappings":"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"}
@@ -189,9 +189,14 @@ export declare const ToolDefinitionSchema: z.ZodObject<{
189
189
  deprecated: z.ZodOptional<z.ZodBoolean>;
190
190
  tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
191
191
  deprecation_message: z.ZodOptional<z.ZodString>;
192
- _definitionPath: z.ZodOptional<z.ZodString>;
193
- }, z.core.$loose>;
194
- export type ToolDefinition = z.infer<typeof ToolDefinitionSchema>;
192
+ }, z.core.$strip>;
193
+ export type ToolDefinition = z.infer<typeof ToolDefinitionSchema> & {
194
+ /**
195
+ * Internal metadata indicating where this tool definition was loaded from.
196
+ * Not part of the external schema; added programmatically after validation.
197
+ */
198
+ _definitionPath?: string;
199
+ };
195
200
  export declare const OAuth2EndpointsSchema: z.ZodObject<{
196
201
  authorizationUrl: z.ZodString;
197
202
  tokenUrl: z.ZodString;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;GAGG;AAGH,eAAO,MAAM,eAAe;;;;;;;;;;;;;iBAO1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAGxD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;iBAM3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAG1D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAiChC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAG9D,eAAO,MAAM,mBAAmB;;;;;;;;iBAK9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAGhE,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAG9D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuB/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,GAAG;IAClE;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAKF,eAAO,MAAM,qBAAqB;;;;iBAIhC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAGpE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;iBAanC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc,CAkBpE;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,OAAO,GAAG,kBAAkB,CAsBhF"}
@@ -76,8 +76,7 @@ export const RateLimitingSchema = z.object({
76
76
  quota_per_hour: z.number().optional(),
77
77
  });
78
78
  // Complete tool definition
79
- export const ToolDefinitionSchema = z
80
- .object({
79
+ export const ToolDefinitionSchema = z.object({
81
80
  name: z.string(),
82
81
  description: z.string(),
83
82
  version: z.string(),
@@ -97,9 +96,9 @@ export const ToolDefinitionSchema = z
97
96
  deprecated: z.boolean().optional(),
98
97
  tags: z.array(z.string()).optional(),
99
98
  deprecation_message: z.string().optional(),
100
- _definitionPath: z.string().optional(),
101
- })
102
- .passthrough(); // Allow additional properties like _definitionPath
99
+ // _definitionPath: z.string().optional(), // Internal use for tracking source file path
100
+ });
101
+ // export type ToolDefinition = z.infer<typeof ToolDefinitionSchema>;
103
102
  // OAuth2 provider endpoints schema
104
103
  export const OAuth2EndpointsSchema = z.object({
105
104
  authorizationUrl: z.string().url(),
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/core/schema.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,19 @@ import { ToolDefinition } from './schema';
2
2
  /**
3
3
  * Tool Loader - Loads and validates YAML/JSON tool definitions
4
4
  * Implements TDD pattern: test failures guide implementation
5
+ * Features caching for efficient discovery with thousands of tools
5
6
  */
6
7
  export declare class ToolLoader {
8
+ /**
9
+ * Static cache for discovered paths - populated on first autoDiscover call
10
+ * Subsequent calls return cached result (O(1) instead of O(n))
11
+ */
12
+ private static discoveredPathsCache;
13
+ /**
14
+ * Discover packages using only fs and path (no createRequire needed)
15
+ * Searches for tools in node_modules/@matimo/* and workspace packages
16
+ */
17
+ private getNodeModulesPath;
7
18
  /**
8
19
  * Load a single tool from a YAML or JSON file
9
20
  * @param filePath - Path to tool definition file
@@ -25,15 +36,16 @@ export declare class ToolLoader {
25
36
  */
26
37
  loadToolFromObject(data: unknown): ToolDefinition;
27
38
  /**
28
- * Auto-discover tool packages in node_modules/@matimo/*
39
+ * Auto-discover tool packages in node_modules/@matimo/* and core tools
40
+ * Features efficient caching: first call discovers, subsequent calls return cached result
29
41
  * @returns Array of paths to tool directories
30
42
  */
31
43
  autoDiscoverPackages(): string[];
32
44
  /**
33
- * Get node_modules path intelligently
34
- * Works in both normal and monorepo installations
45
+ * Clear the discovery cache (useful for testing or dynamic tool loading scenarios)
46
+ * @internal Used for testing only
35
47
  */
36
- private getNodeModulesPath;
48
+ static clearDiscoveryCache(): void;
37
49
  /**
38
50
  * Load tools from multiple directories
39
51
  * @param dirPaths - Array of directory paths
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-loader.d.ts","sourceRoot":"","sources":["../../src/core/tool-loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAA0B,MAAM,UAAU,CAAC;AAGlE;;;;GAIG;AAEH,qBAAa,UAAU;IACrB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAyB;IAC5D;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc;IAgDlD;;;;;OAKG;IACH,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;IAkDpE;;;;OAIG;IACH,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,cAAc;IAIjD;;;;OAIG;IACH,oBAAoB,IAAI,MAAM,EAAE;IAkFhC;;;OAGG;IACH,MAAM,CAAC,mBAAmB,IAAI,IAAI;IAIlC;;;;OAIG;IACH,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC;CAkB5E;AAED,eAAe,UAAU,CAAC"}