@olane/o-tool-registry 1.0.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 (147) hide show
  1. package/README.md +253 -0
  2. package/dist/apple/apple.tool.d.ts +70 -0
  3. package/dist/apple/apple.tool.d.ts.map +1 -0
  4. package/dist/apple/apple.tool.js +12 -0
  5. package/dist/apple/apple.tool.js.map +1 -0
  6. package/dist/apple/index.d.ts +1 -0
  7. package/dist/apple/index.d.ts.map +1 -0
  8. package/dist/apple/index.js +1 -0
  9. package/dist/apple/index.js.map +1 -0
  10. package/dist/apple/notes.tool.d.ts +78 -0
  11. package/dist/apple/notes.tool.d.ts.map +1 -0
  12. package/dist/apple/notes.tool.js +216 -0
  13. package/dist/apple/notes.tool.js.map +1 -0
  14. package/dist/auth/index.d.ts +4 -0
  15. package/dist/auth/index.d.ts.map +1 -0
  16. package/dist/auth/index.js +4 -0
  17. package/dist/auth/index.js.map +1 -0
  18. package/dist/auth/interfaces/index.d.ts +4 -0
  19. package/dist/auth/interfaces/index.d.ts.map +1 -0
  20. package/dist/auth/interfaces/index.js +4 -0
  21. package/dist/auth/interfaces/index.js.map +1 -0
  22. package/dist/auth/interfaces/oAuth-tokens.interface.d.ts +9 -0
  23. package/dist/auth/interfaces/oAuth-tokens.interface.d.ts.map +1 -0
  24. package/dist/auth/interfaces/oAuth-tokens.interface.js +2 -0
  25. package/dist/auth/interfaces/oAuth-tokens.interface.js.map +1 -0
  26. package/dist/auth/interfaces/oAuth-user-info.interface.d.ts +8 -0
  27. package/dist/auth/interfaces/oAuth-user-info.interface.d.ts.map +1 -0
  28. package/dist/auth/interfaces/oAuth-user-info.interface.js +2 -0
  29. package/dist/auth/interfaces/oAuth-user-info.interface.js.map +1 -0
  30. package/dist/auth/interfaces/oAuth.config.d.ts +14 -0
  31. package/dist/auth/interfaces/oAuth.config.d.ts.map +1 -0
  32. package/dist/auth/interfaces/oAuth.config.js +2 -0
  33. package/dist/auth/interfaces/oAuth.config.js.map +1 -0
  34. package/dist/auth/methods/auth.methods.d.ts +5 -0
  35. package/dist/auth/methods/auth.methods.d.ts.map +1 -0
  36. package/dist/auth/methods/auth.methods.js +303 -0
  37. package/dist/auth/methods/auth.methods.js.map +1 -0
  38. package/dist/auth/oAuth.tool.d.ts +20 -0
  39. package/dist/auth/oAuth.tool.d.ts.map +1 -0
  40. package/dist/auth/oAuth.tool.js +410 -0
  41. package/dist/auth/oAuth.tool.js.map +1 -0
  42. package/dist/embeddings/embeddings.tool.d.ts +70 -0
  43. package/dist/embeddings/embeddings.tool.d.ts.map +1 -0
  44. package/dist/embeddings/embeddings.tool.js +12 -0
  45. package/dist/embeddings/embeddings.tool.js.map +1 -0
  46. package/dist/embeddings/huggingface-text-embeddings.tool.d.ts +9 -0
  47. package/dist/embeddings/huggingface-text-embeddings.tool.d.ts.map +1 -0
  48. package/dist/embeddings/huggingface-text-embeddings.tool.js +23 -0
  49. package/dist/embeddings/huggingface-text-embeddings.tool.js.map +1 -0
  50. package/dist/embeddings/index.d.ts +4 -0
  51. package/dist/embeddings/index.d.ts.map +1 -0
  52. package/dist/embeddings/index.js +4 -0
  53. package/dist/embeddings/index.js.map +1 -0
  54. package/dist/embeddings/methods/text-embeddings.method.d.ts +5 -0
  55. package/dist/embeddings/methods/text-embeddings.method.d.ts.map +1 -0
  56. package/dist/embeddings/methods/text-embeddings.method.js +30 -0
  57. package/dist/embeddings/methods/text-embeddings.method.js.map +1 -0
  58. package/dist/embeddings/text-embeddings.tool.d.ts +72 -0
  59. package/dist/embeddings/text-embeddings.tool.d.ts.map +1 -0
  60. package/dist/embeddings/text-embeddings.tool.js +14 -0
  61. package/dist/embeddings/text-embeddings.tool.js.map +1 -0
  62. package/dist/index.d.ts +7 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +7 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/init.d.ts +3 -0
  67. package/dist/init.d.ts.map +1 -0
  68. package/dist/init.js +37 -0
  69. package/dist/init.js.map +1 -0
  70. package/dist/intelligence/anthropic-intelligence.tool.d.ts +258 -0
  71. package/dist/intelligence/anthropic-intelligence.tool.d.ts.map +1 -0
  72. package/dist/intelligence/anthropic-intelligence.tool.js +447 -0
  73. package/dist/intelligence/anthropic-intelligence.tool.js.map +1 -0
  74. package/dist/intelligence/gemini-intelligence.tool.d.ts +78 -0
  75. package/dist/intelligence/gemini-intelligence.tool.d.ts.map +1 -0
  76. package/dist/intelligence/gemini-intelligence.tool.js +254 -0
  77. package/dist/intelligence/gemini-intelligence.tool.js.map +1 -0
  78. package/dist/intelligence/index.d.ts +6 -0
  79. package/dist/intelligence/index.d.ts.map +1 -0
  80. package/dist/intelligence/index.js +6 -0
  81. package/dist/intelligence/index.js.map +1 -0
  82. package/dist/intelligence/intelligence.tool.d.ts +76 -0
  83. package/dist/intelligence/intelligence.tool.d.ts.map +1 -0
  84. package/dist/intelligence/intelligence.tool.js +109 -0
  85. package/dist/intelligence/intelligence.tool.js.map +1 -0
  86. package/dist/intelligence/methods/intelligence.methods.d.ts +5 -0
  87. package/dist/intelligence/methods/intelligence.methods.d.ts.map +1 -0
  88. package/dist/intelligence/methods/intelligence.methods.js +99 -0
  89. package/dist/intelligence/methods/intelligence.methods.js.map +1 -0
  90. package/dist/intelligence/ollama-intelligence.tool.d.ts +79 -0
  91. package/dist/intelligence/ollama-intelligence.tool.d.ts.map +1 -0
  92. package/dist/intelligence/ollama-intelligence.tool.js +288 -0
  93. package/dist/intelligence/ollama-intelligence.tool.js.map +1 -0
  94. package/dist/intelligence/openai-intelligence.tool.d.ts +79 -0
  95. package/dist/intelligence/openai-intelligence.tool.d.ts.map +1 -0
  96. package/dist/intelligence/openai-intelligence.tool.js +242 -0
  97. package/dist/intelligence/openai-intelligence.tool.js.map +1 -0
  98. package/dist/intelligence/perplexity-intelligence.tool.d.ts +76 -0
  99. package/dist/intelligence/perplexity-intelligence.tool.d.ts.map +1 -0
  100. package/dist/intelligence/perplexity-intelligence.tool.js +292 -0
  101. package/dist/intelligence/perplexity-intelligence.tool.js.map +1 -0
  102. package/dist/mcp/index.d.ts +3 -0
  103. package/dist/mcp/index.d.ts.map +1 -0
  104. package/dist/mcp/index.js +3 -0
  105. package/dist/mcp/index.js.map +1 -0
  106. package/dist/mcp/mcp-bridge.tool.d.ts +76 -0
  107. package/dist/mcp/mcp-bridge.tool.d.ts.map +1 -0
  108. package/dist/mcp/mcp-bridge.tool.js +115 -0
  109. package/dist/mcp/mcp-bridge.tool.js.map +1 -0
  110. package/dist/mcp/mcp.tool.d.ts +85 -0
  111. package/dist/mcp/mcp.tool.d.ts.map +1 -0
  112. package/dist/mcp/mcp.tool.js +80 -0
  113. package/dist/mcp/mcp.tool.js.map +1 -0
  114. package/dist/mcp/methods/mcp-bridge.methods.d.ts +5 -0
  115. package/dist/mcp/methods/mcp-bridge.methods.d.ts.map +1 -0
  116. package/dist/mcp/methods/mcp-bridge.methods.js +52 -0
  117. package/dist/mcp/methods/mcp-bridge.methods.js.map +1 -0
  118. package/dist/nlp/index.d.ts +2 -0
  119. package/dist/nlp/index.d.ts.map +1 -0
  120. package/dist/nlp/index.js +2 -0
  121. package/dist/nlp/index.js.map +1 -0
  122. package/dist/nlp/methods/nlp.methods.d.ts +5 -0
  123. package/dist/nlp/methods/nlp.methods.d.ts.map +1 -0
  124. package/dist/nlp/methods/nlp.methods.js +16 -0
  125. package/dist/nlp/methods/nlp.methods.js.map +1 -0
  126. package/dist/nlp/ner.tool.d.ts +71 -0
  127. package/dist/nlp/ner.tool.d.ts.map +1 -0
  128. package/dist/nlp/ner.tool.js +26 -0
  129. package/dist/nlp/ner.tool.js.map +1 -0
  130. package/dist/tsconfig.tsbuildinfo +1 -0
  131. package/dist/vector-store/index.d.ts +3 -0
  132. package/dist/vector-store/index.d.ts.map +1 -0
  133. package/dist/vector-store/index.js +3 -0
  134. package/dist/vector-store/index.js.map +1 -0
  135. package/dist/vector-store/langchain-memory.vector-store.tool.d.ts +14 -0
  136. package/dist/vector-store/langchain-memory.vector-store.tool.d.ts.map +1 -0
  137. package/dist/vector-store/langchain-memory.vector-store.tool.js +64 -0
  138. package/dist/vector-store/langchain-memory.vector-store.tool.js.map +1 -0
  139. package/dist/vector-store/methods/vector-store.methods.d.ts +5 -0
  140. package/dist/vector-store/methods/vector-store.methods.d.ts.map +1 -0
  141. package/dist/vector-store/methods/vector-store.methods.js +61 -0
  142. package/dist/vector-store/methods/vector-store.methods.js.map +1 -0
  143. package/dist/vector-store/vector-memory.tool.d.ts +75 -0
  144. package/dist/vector-store/vector-memory.tool.d.ts.map +1 -0
  145. package/dist/vector-store/vector-memory.tool.js +14 -0
  146. package/dist/vector-store/vector-memory.tool.js.map +1 -0
  147. package/package.json +90 -0
@@ -0,0 +1,410 @@
1
+ import { oHostNodeTool } from '@olane/o-tool';
2
+ import { oAddress } from '@olane/o-core';
3
+ import { oauthMethods } from './methods/auth.methods';
4
+ export class OAuthTool extends oHostNodeTool {
5
+ oauthConfigs = new Map();
6
+ tokenStore = new Map();
7
+ constructor(config) {
8
+ super({
9
+ ...config,
10
+ address: new oAddress('o://oauth'),
11
+ description: 'Generic OAuth client tool for custom OAuth provider services',
12
+ methods: oauthMethods,
13
+ });
14
+ }
15
+ async _tool_configure(request) {
16
+ const { serviceName, ...config } = request.params;
17
+ if (!serviceName) {
18
+ throw new Error('Service name is required');
19
+ }
20
+ const oauthConfig = {
21
+ clientId: config.clientId,
22
+ clientSecret: config.clientSecret,
23
+ redirectUri: config.redirectUri,
24
+ authorizationUrl: config.authorizationUrl,
25
+ tokenUrl: config.tokenUrl,
26
+ userInfoUrl: config.userInfoUrl,
27
+ scope: config.scope || 'openid profile email',
28
+ responseType: config.responseType || 'code',
29
+ grantType: config.grantType || 'authorization_code',
30
+ tokenValidationUrl: config.tokenValidationUrl,
31
+ tokenRevocationUrl: config.tokenRevocationUrl,
32
+ };
33
+ this.oauthConfigs.set(serviceName, oauthConfig);
34
+ this.logger.info(`OAuth configuration saved for service: ${serviceName}`);
35
+ return {
36
+ success: true,
37
+ serviceName,
38
+ message: `OAuth configuration saved for service: ${serviceName}`,
39
+ endpoints: {
40
+ authorization: config.authorizationUrl,
41
+ token: config.tokenUrl,
42
+ userInfo: config.userInfoUrl,
43
+ tokenValidation: config.tokenValidationUrl,
44
+ tokenRevocation: config.tokenRevocationUrl,
45
+ },
46
+ };
47
+ }
48
+ async _tool_getAuthorizationUrl(request) {
49
+ const { serviceName, state, scope, additionalParams } = request.params;
50
+ const config = this.oauthConfigs.get(serviceName);
51
+ if (!config) {
52
+ throw new Error(`OAuth configuration not found for service: ${serviceName}`);
53
+ }
54
+ const url = new URL(config.authorizationUrl);
55
+ url.searchParams.set('client_id', config.clientId);
56
+ url.searchParams.set('redirect_uri', config.redirectUri);
57
+ url.searchParams.set('response_type', config.responseType || 'code');
58
+ url.searchParams.set('scope', scope || config.scope);
59
+ if (state) {
60
+ url.searchParams.set('state', state);
61
+ }
62
+ if (config.responseType === 'code') {
63
+ const codeVerifier = this.generateCodeVerifier();
64
+ const codeChallenge = await this.generateCodeChallenge(codeVerifier);
65
+ url.searchParams.set('code_challenge', codeChallenge);
66
+ url.searchParams.set('code_challenge_method', 'S256');
67
+ this.tokenStore.set(`${serviceName}_code_verifier`, {
68
+ code_verifier: codeVerifier,
69
+ access_token: '',
70
+ token_type: '',
71
+ });
72
+ }
73
+ if (additionalParams && typeof additionalParams === 'object') {
74
+ Object.entries(additionalParams).forEach(([key, value]) => {
75
+ if (typeof value === 'string') {
76
+ url.searchParams.set(key, value);
77
+ }
78
+ });
79
+ }
80
+ return {
81
+ authorizationUrl: url.toString(),
82
+ serviceName,
83
+ state,
84
+ scope: scope || config.scope,
85
+ };
86
+ }
87
+ async _tool_exchangeCode(request) {
88
+ const { serviceName, code, state } = request.params;
89
+ const config = this.oauthConfigs.get(serviceName);
90
+ if (!config) {
91
+ throw new Error(`OAuth configuration not found for service: ${serviceName}`);
92
+ }
93
+ const tokenData = {
94
+ grant_type: config.grantType,
95
+ client_id: config.clientId,
96
+ redirect_uri: config.redirectUri,
97
+ code,
98
+ };
99
+ if (config.clientSecret) {
100
+ tokenData.client_secret = config.clientSecret;
101
+ }
102
+ const storedVerifier = this.tokenStore.get(`${serviceName}_code_verifier`);
103
+ if (storedVerifier?.code_verifier) {
104
+ tokenData.code_verifier = storedVerifier.code_verifier;
105
+ this.tokenStore.delete(`${serviceName}_code_verifier`);
106
+ }
107
+ try {
108
+ const response = await fetch(config.tokenUrl, {
109
+ method: 'POST',
110
+ headers: {
111
+ 'Content-Type': 'application/x-www-form-urlencoded',
112
+ },
113
+ body: new URLSearchParams(tokenData),
114
+ });
115
+ if (!response.ok) {
116
+ const errorText = await response.text();
117
+ throw new Error(`Token exchange failed: ${response.status} ${errorText}`);
118
+ }
119
+ const tokens = await response.json();
120
+ this.tokenStore.set(`${serviceName}_tokens`, tokens);
121
+ this.logger.info(`Token exchange successful for service: ${serviceName}`);
122
+ return {
123
+ success: true,
124
+ serviceName,
125
+ tokens: {
126
+ access_token: tokens.access_token,
127
+ refresh_token: tokens.refresh_token,
128
+ token_type: tokens.token_type,
129
+ expires_in: tokens.expires_in,
130
+ scope: tokens.scope,
131
+ },
132
+ };
133
+ }
134
+ catch (error) {
135
+ this.logger.error(`Token exchange failed for service ${serviceName}:`, error);
136
+ throw error;
137
+ }
138
+ }
139
+ async _tool_refreshToken(request) {
140
+ const { serviceName, refreshToken } = request.params;
141
+ const config = this.oauthConfigs.get(serviceName);
142
+ if (!config) {
143
+ throw new Error(`OAuth configuration not found for service: ${serviceName}`);
144
+ }
145
+ const tokenData = {
146
+ grant_type: 'refresh_token',
147
+ client_id: config.clientId,
148
+ refresh_token: refreshToken,
149
+ };
150
+ if (config.clientSecret) {
151
+ tokenData.client_secret = config.clientSecret;
152
+ }
153
+ try {
154
+ const response = await fetch(config.tokenUrl, {
155
+ method: 'POST',
156
+ headers: {
157
+ 'Content-Type': 'application/x-www-form-urlencoded',
158
+ },
159
+ body: new URLSearchParams(tokenData),
160
+ });
161
+ if (!response.ok) {
162
+ const errorText = await response.text();
163
+ throw new Error(`Token refresh failed: ${response.status} ${errorText}`);
164
+ }
165
+ const tokens = await response.json();
166
+ const existingTokens = this.tokenStore.get(`${serviceName}_tokens`);
167
+ if (existingTokens) {
168
+ existingTokens.access_token = tokens.access_token;
169
+ existingTokens.expires_in = tokens.expires_in;
170
+ if (tokens.refresh_token) {
171
+ existingTokens.refresh_token = tokens.refresh_token;
172
+ }
173
+ this.tokenStore.set(`${serviceName}_tokens`, existingTokens);
174
+ }
175
+ this.logger.info(`Token refresh successful for service: ${serviceName}`);
176
+ return {
177
+ success: true,
178
+ serviceName,
179
+ tokens: {
180
+ access_token: tokens.access_token,
181
+ refresh_token: tokens.refresh_token,
182
+ token_type: tokens.token_type,
183
+ expires_in: tokens.expires_in,
184
+ scope: tokens.scope,
185
+ },
186
+ };
187
+ }
188
+ catch (error) {
189
+ this.logger.error(`Token refresh failed for service ${serviceName}:`, error);
190
+ throw error;
191
+ }
192
+ }
193
+ async _tool_getUserInfo(request) {
194
+ const { serviceName, accessToken, userInfoUrl } = request.params;
195
+ const config = this.oauthConfigs.get(serviceName);
196
+ if (!config) {
197
+ throw new Error(`OAuth configuration not found for service: ${serviceName}`);
198
+ }
199
+ const url = userInfoUrl || config.userInfoUrl;
200
+ if (!url) {
201
+ throw new Error(`No user info URL configured for service: ${serviceName}`);
202
+ }
203
+ try {
204
+ const response = await fetch(url, {
205
+ headers: {
206
+ Authorization: `Bearer ${accessToken}`,
207
+ Accept: 'application/json',
208
+ },
209
+ });
210
+ if (!response.ok) {
211
+ const errorText = await response.text();
212
+ throw new Error(`User info request failed: ${response.status} ${errorText}`);
213
+ }
214
+ const userInfo = await response.json();
215
+ return {
216
+ success: true,
217
+ serviceName,
218
+ userInfo,
219
+ };
220
+ }
221
+ catch (error) {
222
+ this.logger.error(`User info request failed for service ${serviceName}:`, error);
223
+ throw error;
224
+ }
225
+ }
226
+ async _tool_validateToken(request) {
227
+ const { serviceName, accessToken, tokenValidationUrl } = request.params;
228
+ const config = this.oauthConfigs.get(serviceName);
229
+ if (!config) {
230
+ throw new Error(`OAuth configuration not found for service: ${serviceName}`);
231
+ }
232
+ const url = tokenValidationUrl || config.tokenValidationUrl;
233
+ if (!url) {
234
+ throw new Error(`No token validation URL configured for service: ${serviceName}`);
235
+ }
236
+ try {
237
+ const response = await fetch(url, {
238
+ headers: {
239
+ Authorization: `Bearer ${accessToken}`,
240
+ Accept: 'application/json',
241
+ },
242
+ });
243
+ const isValid = response.ok;
244
+ return {
245
+ success: true,
246
+ serviceName,
247
+ isValid,
248
+ status: response.status,
249
+ statusText: response.statusText,
250
+ };
251
+ }
252
+ catch (error) {
253
+ this.logger.error(`Token validation failed for service ${serviceName}:`, error);
254
+ return {
255
+ success: true,
256
+ serviceName,
257
+ isValid: false,
258
+ error: error.message,
259
+ };
260
+ }
261
+ }
262
+ async _tool_revokeToken(request) {
263
+ const { serviceName, token, tokenType = 'access_token', tokenRevocationUrl, } = request.params;
264
+ const config = this.oauthConfigs.get(serviceName);
265
+ if (!config) {
266
+ throw new Error(`OAuth configuration not found for service: ${serviceName}`);
267
+ }
268
+ const url = tokenRevocationUrl || config.tokenRevocationUrl;
269
+ if (!url) {
270
+ throw new Error(`No token revocation URL configured for service: ${serviceName}`);
271
+ }
272
+ const revocationData = {
273
+ token,
274
+ client_id: config.clientId,
275
+ };
276
+ if (config.clientSecret) {
277
+ revocationData.client_secret = config.clientSecret;
278
+ }
279
+ try {
280
+ const response = await fetch(url, {
281
+ method: 'POST',
282
+ headers: {
283
+ 'Content-Type': 'application/x-www-form-urlencoded',
284
+ },
285
+ body: new URLSearchParams(revocationData),
286
+ });
287
+ const isRevoked = response.ok;
288
+ if (isRevoked) {
289
+ const storedTokens = this.tokenStore.get(`${serviceName}_tokens`);
290
+ if (storedTokens) {
291
+ if (tokenType === 'access_token' &&
292
+ storedTokens.access_token === token) {
293
+ this.tokenStore.delete(`${serviceName}_tokens`);
294
+ }
295
+ else if (tokenType === 'refresh_token' &&
296
+ storedTokens.refresh_token === token) {
297
+ delete storedTokens.refresh_token;
298
+ this.tokenStore.set(`${serviceName}_tokens`, storedTokens);
299
+ }
300
+ }
301
+ }
302
+ return {
303
+ success: true,
304
+ serviceName,
305
+ isRevoked,
306
+ tokenType,
307
+ status: response.status,
308
+ statusText: response.statusText,
309
+ };
310
+ }
311
+ catch (error) {
312
+ this.logger.error(`Token revocation failed for service ${serviceName}:`, error);
313
+ return {
314
+ success: true,
315
+ serviceName,
316
+ isRevoked: false,
317
+ tokenType,
318
+ error: error.message,
319
+ };
320
+ }
321
+ }
322
+ async _tool_listServices(request) {
323
+ const services = Array.from(this.oauthConfigs.keys());
324
+ return {
325
+ success: true,
326
+ services,
327
+ count: services.length,
328
+ };
329
+ }
330
+ async _tool_getStoredTokens(request) {
331
+ const { serviceName } = request.params;
332
+ if (serviceName) {
333
+ const tokens = this.tokenStore.get(`${serviceName}_tokens`);
334
+ return {
335
+ success: true,
336
+ serviceName,
337
+ hasTokens: !!tokens,
338
+ tokens: tokens
339
+ ? {
340
+ access_token: tokens.access_token,
341
+ refresh_token: tokens.refresh_token,
342
+ token_type: tokens.token_type,
343
+ expires_in: tokens.expires_in,
344
+ scope: tokens.scope,
345
+ }
346
+ : null,
347
+ };
348
+ }
349
+ else {
350
+ const allTokens = {};
351
+ for (const [key, value] of this.tokenStore.entries()) {
352
+ if (key.endsWith('_tokens')) {
353
+ const serviceName = key.replace('_tokens', '');
354
+ allTokens[serviceName] = {
355
+ access_token: value.access_token,
356
+ refresh_token: value.refresh_token,
357
+ token_type: value.token_type,
358
+ expires_in: value.expires_in,
359
+ scope: value.scope,
360
+ };
361
+ }
362
+ }
363
+ return {
364
+ success: true,
365
+ tokens: allTokens,
366
+ };
367
+ }
368
+ }
369
+ async _tool_clearTokens(request) {
370
+ const { serviceName } = request.params;
371
+ if (serviceName) {
372
+ this.tokenStore.delete(`${serviceName}_tokens`);
373
+ this.tokenStore.delete(`${serviceName}_code_verifier`);
374
+ return {
375
+ success: true,
376
+ serviceName,
377
+ message: `Tokens cleared for service: ${serviceName}`,
378
+ };
379
+ }
380
+ else {
381
+ for (const key of this.tokenStore.keys()) {
382
+ if (key.endsWith('_tokens') || key.endsWith('_code_verifier')) {
383
+ this.tokenStore.delete(key);
384
+ }
385
+ }
386
+ return {
387
+ success: true,
388
+ message: 'All tokens cleared',
389
+ };
390
+ }
391
+ }
392
+ generateCodeVerifier() {
393
+ const array = new Uint8Array(32);
394
+ crypto.getRandomValues(array);
395
+ return this.base64URLEncode(array);
396
+ }
397
+ async generateCodeChallenge(verifier) {
398
+ const encoder = new TextEncoder();
399
+ const data = encoder.encode(verifier);
400
+ const digest = await crypto.subtle.digest('SHA-256', data);
401
+ return this.base64URLEncode(new Uint8Array(digest));
402
+ }
403
+ base64URLEncode(buffer) {
404
+ return btoa(String.fromCharCode(...buffer))
405
+ .replace(/\+/g, '-')
406
+ .replace(/\//g, '_')
407
+ .replace(/=/g, '');
408
+ }
409
+ }
410
+ //# sourceMappingURL=oAuth.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oAuth.tool.js","sourceRoot":"","sources":["../../src/auth/oAuth.tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import { oAddress, oVirtualNode } from '@olane/o-core';
2
+ import { oToolConfig } from '@olane/o-tool';
3
+ declare const EmbeddingsTool_base: (new (...args: any[]) => {
4
+ validateToolCall(oRequest: import("@olane/o-core").oRequest): boolean;
5
+ handleProtocol(address: oAddress): Promise<void>;
6
+ initialize(): Promise<void>;
7
+ use(address: oAddress, data: {
8
+ [key: string]: unknown;
9
+ }, config?: import("@olane/o-core").UseOptions): Promise<import("@olane/o-core").oResponse>;
10
+ handleStream(streamData: import("@olane/o-config/dist").IncomingStreamData): Promise<void>;
11
+ execute(req: import("@olane/o-core").oRequest, stream?: import("@olane/o-config/dist").Stream): Promise<import("@olane/o-tool").RunResult>;
12
+ run(request: import("@olane/o-core").oRequest, stream?: import("@olane/o-config/dist").Stream): Promise<import("@olane/o-tool").RunResult>;
13
+ myTools(): string[];
14
+ myToolParams(tool: string): Record<string, any>;
15
+ callMyTool(request: import("@olane/o-core").oRequest, stream?: import("@olane/o-config/dist").Stream): Promise<import("@olane/o-tool").ToolResult>;
16
+ index(): Promise<{
17
+ provider: string;
18
+ summary: string;
19
+ } | {
20
+ summary: string | null;
21
+ provider?: undefined;
22
+ }>;
23
+ _tool_index_network(request: import("@olane/o-core").oRequest): Promise<import("@olane/o-tool").ToolResult>;
24
+ whoami(): Promise<{
25
+ tools: string[];
26
+ description: string;
27
+ }>;
28
+ findMissingParams(methodName: string, params: any): import("@olane/o-protocol/dist").oParameter[];
29
+ readonly config: import("@olane/o-core").CoreConfig;
30
+ p2pNode: import("@olane/o-config/dist").Libp2p;
31
+ logger: import("@olane/o-core").Logger;
32
+ networkConfig: import("@olane/o-config/dist").Libp2pConfig;
33
+ address: oAddress;
34
+ readonly staticAddress: oAddress;
35
+ peerId: import("@olane/o-config/dist").PeerId;
36
+ state: import("@olane/o-core").NodeState;
37
+ errors: Error[];
38
+ connectionManager: import("@olane/o-core").oConnectionManager;
39
+ leaders: import("@olane/o-config/dist").Multiaddr[];
40
+ addressResolution: import("@olane/o-core").oAddressResolution;
41
+ readonly description: string;
42
+ dependencies: import("@olane/o-core").oDependency[];
43
+ methods: {
44
+ [key: string]: import("@olane/o-protocol/dist").oMethod;
45
+ };
46
+ successCount: number;
47
+ errorCount: number;
48
+ get type(): import("@olane/o-core").NodeType;
49
+ get transports(): string[];
50
+ get parent(): oAddress | null;
51
+ get parentTransports(): import("@olane/o-config/dist").Multiaddr[];
52
+ getTransports(address: oAddress): import("@olane/o-config/dist").Multiaddr[];
53
+ handleStaticAddressTranslation(addressInput: oAddress): Promise<oAddress>;
54
+ translateAddress(addressWithLeaderTransports: oAddress): Promise<{
55
+ nextHopAddress: oAddress;
56
+ targetAddress: oAddress;
57
+ }>;
58
+ advertiseToNetwork(): Promise<void>;
59
+ connectToParent(): Promise<void>;
60
+ register(): Promise<void>;
61
+ connect(nextHopAddress: oAddress, targetAddress: oAddress): Promise<import("@olane/o-core").oConnection>;
62
+ teardown(): Promise<void>;
63
+ start(): Promise<void>;
64
+ stop(): Promise<void>;
65
+ }) & typeof oVirtualNode;
66
+ export declare class EmbeddingsTool extends EmbeddingsTool_base {
67
+ constructor(config: oToolConfig);
68
+ }
69
+ export {};
70
+ //# sourceMappingURL=embeddings.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeddings.tool.d.ts","sourceRoot":"","sources":["../../src/embeddings/embeddings.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;;;;;;;aAYkP,CAAC;;yDAA6I,CAAC;yDAAoE,CAAC;;;gEAAiK,CAAC;;;;;;gBAA4L,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAVj1B,qBAAa,cAAe,SAAQ,mBAAmB;gBACzC,MAAM,EAAE,WAAW;CAQhC"}
@@ -0,0 +1,12 @@
1
+ import { oTool } from '@olane/o-tool';
2
+ import { oAddress, oVirtualNode } from '@olane/o-core';
3
+ export class EmbeddingsTool extends oTool(oVirtualNode) {
4
+ constructor(config) {
5
+ super({
6
+ ...config,
7
+ address: new oAddress('o://embeddings'),
8
+ description: config.description || 'Generic base class for embeddings tools',
9
+ });
10
+ }
11
+ }
12
+ //# sourceMappingURL=embeddings.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeddings.tool.js","sourceRoot":"","sources":["../../src/embeddings/embeddings.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGvD,MAAM,OAAO,cAAe,SAAQ,KAAK,CAAC,YAAY,CAAC;IACrD,YAAY,MAAmB;QAC7B,KAAK,CAAC;YACJ,GAAG,MAAM;YACT,OAAO,EAAE,IAAI,QAAQ,CAAC,gBAAgB,CAAC;YACvC,WAAW,EACT,MAAM,CAAC,WAAW,IAAI,yCAAyC;SAClE,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ import { oRequest } from '@olane/o-core';
2
+ import { TextEmbeddingsTool } from './text-embeddings.tool';
3
+ export declare class HuggingfaceTextEmbeddingsTool extends TextEmbeddingsTool {
4
+ private model;
5
+ initialize(): Promise<void>;
6
+ _tool_embed_documents(request: oRequest): Promise<number[][]>;
7
+ _tool_embed_query(request: oRequest): Promise<number[]>;
8
+ }
9
+ //# sourceMappingURL=huggingface-text-embeddings.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"huggingface-text-embeddings.tool.d.ts","sourceRoot":"","sources":["../../src/embeddings/huggingface-text-embeddings.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,qBAAa,6BAA8B,SAAQ,kBAAkB;IACnE,OAAO,CAAC,KAAK,CAAoC;IAE3C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,qBAAqB,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAM7D,iBAAiB,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAM9D"}
@@ -0,0 +1,23 @@
1
+ import { TextEmbeddingsTool } from './text-embeddings.tool';
2
+ import { HuggingFaceTransformersEmbeddings } from '@langchain/community/embeddings/huggingface_transformers';
3
+ export class HuggingfaceTextEmbeddingsTool extends TextEmbeddingsTool {
4
+ model;
5
+ async initialize() {
6
+ await super.initialize();
7
+ this.model = new HuggingFaceTransformersEmbeddings({
8
+ model: 'Xenova/all-MiniLM-L6-v2',
9
+ });
10
+ }
11
+ async _tool_embed_documents(request) {
12
+ const { documents } = request.params;
13
+ const result = await this.model.embedDocuments(documents);
14
+ return result;
15
+ }
16
+ async _tool_embed_query(request) {
17
+ const { query } = request.params;
18
+ console.log('Embedding query: ', request.params);
19
+ const result = await this.model.embedQuery(query);
20
+ return result;
21
+ }
22
+ }
23
+ //# sourceMappingURL=huggingface-text-embeddings.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"huggingface-text-embeddings.tool.js","sourceRoot":"","sources":["../../src/embeddings/huggingface-text-embeddings.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,iCAAiC,EAAE,MAAM,0DAA0D,CAAC;AAE7G,MAAM,OAAO,6BAA8B,SAAQ,kBAAkB;IAC3D,KAAK,CAAoC;IAEjD,KAAK,CAAC,UAAU;QACd,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,IAAI,iCAAiC,CAAC;YACjD,KAAK,EAAE,yBAAyB;SACjC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,OAAiB;QAC3C,MAAM,EAAE,SAAS,EAAE,GAAQ,OAAO,CAAC,MAAM,CAAC;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,OAAiB;QACvC,MAAM,EAAE,KAAK,EAAE,GAAQ,OAAO,CAAC,MAAM,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ export * from './huggingface-text-embeddings.tool';
2
+ export * from './text-embeddings.tool';
3
+ export * from './embeddings.tool';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/embeddings/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './huggingface-text-embeddings.tool';
2
+ export * from './text-embeddings.tool';
3
+ export * from './embeddings.tool';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/embeddings/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { oMethod } from '@olane/o-protocol';
2
+ export declare const TEXT_EMBEDDINGS_PARAMS: {
3
+ [key: string]: oMethod;
4
+ };
5
+ //# sourceMappingURL=text-embeddings.method.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-embeddings.method.d.ts","sourceRoot":"","sources":["../../../src/embeddings/methods/text-embeddings.method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,eAAO,MAAM,sBAAsB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CA4B5D,CAAC"}
@@ -0,0 +1,30 @@
1
+ export const TEXT_EMBEDDINGS_PARAMS = {
2
+ embed_documents: {
3
+ name: 'embed_documents',
4
+ description: 'Embed documents',
5
+ dependencies: [],
6
+ parameters: [
7
+ {
8
+ name: 'documents',
9
+ type: 'array',
10
+ value: 'string[]',
11
+ description: 'The documents to embed',
12
+ required: true,
13
+ },
14
+ ],
15
+ },
16
+ embed_query: {
17
+ name: 'embed_query',
18
+ description: 'Embed a query',
19
+ dependencies: [],
20
+ parameters: [
21
+ {
22
+ name: 'query',
23
+ type: 'string',
24
+ value: 'string',
25
+ description: 'The query to embed',
26
+ },
27
+ ],
28
+ },
29
+ };
30
+ //# sourceMappingURL=text-embeddings.method.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-embeddings.method.js","sourceRoot":"","sources":["../../../src/embeddings/methods/text-embeddings.method.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAA+B;IAChE,eAAe,EAAE;QACf,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,iBAAiB;QAC9B,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,wBAAwB;gBACrC,QAAQ,EAAE,IAAI;aACf;SACF;KACF;IACD,WAAW,EAAE;QACX,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,eAAe;QAC5B,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE;YACV;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;gBACf,WAAW,EAAE,oBAAoB;aAClC;SACF;KACF;CACF,CAAC"}