arc-1 0.1.4 → 0.3.0

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 (57) hide show
  1. package/LICENSE +1 -0
  2. package/dist/adt/btp.js +1 -1
  3. package/dist/adt/client.d.ts +5 -1
  4. package/dist/adt/client.d.ts.map +1 -1
  5. package/dist/adt/client.js +30 -3
  6. package/dist/adt/client.js.map +1 -1
  7. package/dist/adt/config.d.ts +7 -1
  8. package/dist/adt/config.d.ts.map +1 -1
  9. package/dist/adt/config.js +1 -1
  10. package/dist/adt/config.js.map +1 -1
  11. package/dist/adt/errors.d.ts +8 -0
  12. package/dist/adt/errors.d.ts.map +1 -1
  13. package/dist/adt/errors.js +34 -1
  14. package/dist/adt/errors.js.map +1 -1
  15. package/dist/adt/features.d.ts +11 -2
  16. package/dist/adt/features.d.ts.map +1 -1
  17. package/dist/adt/features.js +37 -12
  18. package/dist/adt/features.js.map +1 -1
  19. package/dist/adt/http.d.ts +7 -0
  20. package/dist/adt/http.d.ts.map +1 -1
  21. package/dist/adt/http.js +14 -4
  22. package/dist/adt/http.js.map +1 -1
  23. package/dist/adt/oauth.d.ts +120 -0
  24. package/dist/adt/oauth.d.ts.map +1 -0
  25. package/dist/adt/oauth.js +321 -0
  26. package/dist/adt/oauth.js.map +1 -0
  27. package/dist/adt/types.d.ts +14 -0
  28. package/dist/adt/types.d.ts.map +1 -1
  29. package/dist/adt/xml-parser.d.ts +8 -1
  30. package/dist/adt/xml-parser.d.ts.map +1 -1
  31. package/dist/adt/xml-parser.js +54 -1
  32. package/dist/adt/xml-parser.js.map +1 -1
  33. package/dist/handlers/intent.d.ts +3 -0
  34. package/dist/handlers/intent.d.ts.map +1 -1
  35. package/dist/handlers/intent.js +154 -9
  36. package/dist/handlers/intent.js.map +1 -1
  37. package/dist/handlers/tools.d.ts +5 -0
  38. package/dist/handlers/tools.d.ts.map +1 -1
  39. package/dist/handlers/tools.js +187 -59
  40. package/dist/handlers/tools.js.map +1 -1
  41. package/dist/server/audit.d.ts +2 -0
  42. package/dist/server/audit.d.ts.map +1 -1
  43. package/dist/server/audit.js.map +1 -1
  44. package/dist/server/config.d.ts.map +1 -1
  45. package/dist/server/config.js +9 -1
  46. package/dist/server/config.js.map +1 -1
  47. package/dist/server/http.js +1 -1
  48. package/dist/server/http.js.map +1 -1
  49. package/dist/server/server.d.ts +2 -1
  50. package/dist/server/server.d.ts.map +1 -1
  51. package/dist/server/server.js +34 -6
  52. package/dist/server/server.js.map +1 -1
  53. package/dist/server/types.d.ts +5 -0
  54. package/dist/server/types.d.ts.map +1 -1
  55. package/dist/server/types.js +3 -1
  56. package/dist/server/types.js.map +1 -1
  57. package/package.json +7 -2
@@ -12,6 +12,7 @@
12
12
  import type { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types.js';
13
13
  import type { Server } from '@modelcontextprotocol/sdk/server/index.js';
14
14
  import type { AdtClient } from '../adt/client.js';
15
+ import type { ResolvedFeatures } from '../adt/types.js';
15
16
  import type { ServerConfig } from '../server/types.js';
16
17
  /** MCP tool call result */
17
18
  export interface ToolResult {
@@ -43,4 +44,6 @@ export declare const TOOL_SCOPES: Record<string, string>;
43
44
  export declare function handleToolCall(client: AdtClient, _config: ServerConfig, toolName: string, args: Record<string, unknown>, authInfo?: AuthInfo, _server?: Server): Promise<ToolResult>;
44
45
  /** Reset cached features (for testing) */
45
46
  export declare function resetCachedFeatures(): void;
47
+ /** Set cached features directly (for testing BTP mode, etc.) */
48
+ export declare function setCachedFeatures(features: ResolvedFeatures | undefined): void;
46
49
  //# sourceMappingURL=intent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../ts-src/handlers/intent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAalD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,2BAA2B;AAC3B,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAY9C,CAAC;AAuCF;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC,CA2HrB;AA4XD,0CAA0C;AAC1C,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
1
+ {"version":3,"file":"intent.d.ts","sourceRoot":"","sources":["../../ts-src/handlers/intent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAC/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAOlD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,2BAA2B;AAC3B,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAY9C,CAAC;AAuCF;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC,CA8HrB;AAgiBD,0CAA0C;AAC1C,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,gEAAgE;AAChE,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAE9E"}
@@ -59,7 +59,7 @@ function formatErrorForLLM(err, message, _tool, args) {
59
59
  return `${message}\n\nHint: Object "${name}" (type ${type}) was not found. Use SAPSearch with query "${name}" to verify the name exists and check the correct type.`;
60
60
  }
61
61
  if (err.isUnauthorized || err.isForbidden) {
62
- return `${message}\n\nHint: Authorization error. The configured SAP user may lack permissions for this object.`;
62
+ return `${message}\n\nHint: Authorization error. Check SAP_CLIENT (default: '100'), SAP_USER, and SAP_PASSWORD. The configured SAP user may lack permissions for this object.`;
63
63
  }
64
64
  }
65
65
  if (err instanceof AdtNetworkError) {
@@ -163,7 +163,9 @@ export async function handleToolCall(client, _config, toolName, args, authInfo,
163
163
  result = errorResult(`Unknown tool: ${toolName}`);
164
164
  }
165
165
  const durationMs = Date.now() - start;
166
- const resultSize = result.content.reduce((acc, c) => acc + c.text.length, 0);
166
+ const fullText = result.content.map((c) => c.text).join('');
167
+ const resultSize = fullText.length;
168
+ const resultPreview = fullText.length > 500 ? `${fullText.slice(0, 500)}...` : fullText;
167
169
  logger.emitAudit({
168
170
  timestamp: new Date().toISOString(),
169
171
  level: 'info',
@@ -176,6 +178,7 @@ export async function handleToolCall(client, _config, toolName, args, authInfo,
176
178
  status: result.isError ? 'error' : 'success',
177
179
  errorMessage: result.isError ? result.content[0]?.text : undefined,
178
180
  resultSize,
181
+ resultPreview,
179
182
  });
180
183
  return result;
181
184
  }
@@ -200,9 +203,26 @@ export async function handleToolCall(client, _config, toolName, args, authInfo,
200
203
  });
201
204
  }
202
205
  // ─── Individual Tool Handlers ────────────────────────────────────────
206
+ /** Check if the connected system is BTP ABAP Environment */
207
+ function isBtpSystem() {
208
+ return cachedFeatures?.systemType === 'btp';
209
+ }
210
+ /** BTP-specific error messages for unavailable operations */
211
+ const BTP_HINTS = {
212
+ PROG: 'Executable programs (reports) are not available on BTP ABAP Environment. Use CLAS with IF_OO_ADT_CLASSRUN for console applications.',
213
+ INCL: 'Includes are not available on BTP ABAP Environment. Use classes and interfaces instead — INCLUDE is forbidden in ABAP Cloud.',
214
+ VIEW: 'Classic DDIC views are not available on BTP ABAP Environment. Use DDLS (CDS views) instead.',
215
+ TEXT_ELEMENTS: 'Text elements are not available on BTP ABAP Environment (no classic programs). Use message classes or constant classes instead.',
216
+ VARIANTS: 'Variants are not available on BTP ABAP Environment (no classic programs).',
217
+ SOBJ: 'BOR business objects (SOBJ) are not available on BTP ABAP Environment. Use RAP behavior definitions (BDEF) instead.',
218
+ };
203
219
  async function handleSAPRead(client, args) {
204
220
  const type = String(args.type ?? '');
205
221
  const name = String(args.name ?? '');
222
+ // BTP: return helpful error for unavailable types
223
+ if (isBtpSystem() && BTP_HINTS[type]) {
224
+ return errorResult(BTP_HINTS[type]);
225
+ }
206
226
  switch (type) {
207
227
  case 'PROG':
208
228
  return textResult(await client.getProgram(name));
@@ -210,9 +230,37 @@ async function handleSAPRead(client, args) {
210
230
  return textResult(await client.getClass(name, args.include));
211
231
  case 'INTF':
212
232
  return textResult(await client.getInterface(name));
213
- case 'FUNC':
214
- return textResult(await client.getFunction(String(args.group ?? ''), name));
233
+ case 'FUNC': {
234
+ let group = String(args.group ?? '');
235
+ if (!group) {
236
+ const resolved = await client.resolveFunctionGroup(name);
237
+ if (!resolved) {
238
+ return errorResult(`Cannot resolve function group for "${name}". Provide the group parameter explicitly, or use SAPSearch("${name}") to find the function group.`);
239
+ }
240
+ group = resolved;
241
+ }
242
+ return textResult(await client.getFunction(group, name));
243
+ }
215
244
  case 'FUGR': {
245
+ const expand = Boolean(args.expand_includes);
246
+ if (expand) {
247
+ const source = await client.getFunctionGroupSource(name);
248
+ // Match INCLUDE statements but skip ABAP comment lines (starting with *)
249
+ const includePattern = /^[^*\n]*\bINCLUDE\s+(\S+)\s*\./gim;
250
+ const parts = [`=== FUGR ${name} (main) ===\n${source}`];
251
+ let m;
252
+ while ((m = includePattern.exec(source)) !== null) {
253
+ const inclName = m[1];
254
+ try {
255
+ const inclSource = await client.getInclude(inclName);
256
+ parts.push(`\n=== ${inclName} ===\n${inclSource}`);
257
+ }
258
+ catch {
259
+ parts.push(`\n=== ${inclName} ===\n[Could not read include "${inclName}"]`);
260
+ }
261
+ }
262
+ return textResult(parts.join('\n'));
263
+ }
216
264
  const fg = await client.getFunctionGroup(name);
217
265
  return textResult(JSON.stringify(fg, null, 2));
218
266
  }
@@ -233,6 +281,34 @@ async function handleSAPRead(client, args) {
233
281
  const data = await client.getTableContents(name, maxRows, args.sqlFilter);
234
282
  return textResult(JSON.stringify(data, null, 2));
235
283
  }
284
+ case 'SOBJ': {
285
+ const method = String(args.method ?? '');
286
+ // Sanitize inputs to prevent SQL injection — BOR names are alphanumeric + underscore only
287
+ const safeName = name.toUpperCase().replace(/[^A-Z0-9_/]/g, '');
288
+ const safeMethod = method.toUpperCase().replace(/[^A-Z0-9_]/g, '');
289
+ if (safeName !== name.toUpperCase().replace(/\s/g, '')) {
290
+ return errorResult(`Invalid BOR object name: "${name}". Only alphanumeric characters, underscores, and slashes are allowed.`);
291
+ }
292
+ if (safeMethod) {
293
+ // Read specific BOR method implementation via SWOTLV lookup
294
+ const data = await client.runQuery(`SELECT PROGNAME, FORMNAME FROM SWOTLV WHERE LOBJTYPE = '${safeName}' AND VERB = '${safeMethod}'`, 1);
295
+ if (data.rows.length > 0) {
296
+ const prog = String(data.rows[0].PROGNAME ?? '').trim();
297
+ if (!prog) {
298
+ return errorResult(`BOR method "${method}" on "${name}" has no program assigned.`);
299
+ }
300
+ const source = await client.getProgram(prog);
301
+ return textResult(`=== BOR ${name}.${method} (program: ${prog}, form: ${String(data.rows[0].FORMNAME ?? '').trim()}) ===\n${source}`);
302
+ }
303
+ return errorResult(`BOR method "${method}" not found on object type "${name}". Use SAPRead(type="SOBJ", name="${name}") without method to list all methods.`);
304
+ }
305
+ // List all methods for this BOR object
306
+ const methods = await client.runQuery(`SELECT VERB, PROGNAME, FORMNAME, DESCRIPT FROM SWOTLV WHERE LOBJTYPE = '${safeName}'`, 100);
307
+ if (methods.rows.length === 0) {
308
+ return errorResult(`No BOR methods found for object type "${name}". Verify the BOR object type name.`);
309
+ }
310
+ return textResult(JSON.stringify(methods, null, 2));
311
+ }
236
312
  case 'DEVC': {
237
313
  const contents = await client.getPackageContents(name);
238
314
  return textResult(JSON.stringify(contents, null, 2));
@@ -250,20 +326,61 @@ async function handleSAPRead(client, args) {
250
326
  case 'VARIANTS':
251
327
  return textResult(await client.getVariants(name));
252
328
  default:
253
- return errorResult(`Unknown SAPRead type: ${type}. Supported: PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, BDEF, SRVD, TABL, VIEW, TABLE_CONTENTS, DEVC, SYSTEM, COMPONENTS, MESSAGES, TEXT_ELEMENTS, VARIANTS`);
329
+ return errorResult(`Unknown SAPRead type: ${type}. Supported: PROG, CLAS, INTF, FUNC, FUGR, INCL, DDLS, BDEF, SRVD, TABL, VIEW, TABLE_CONTENTS, DEVC, SOBJ, SYSTEM, COMPONENTS, MESSAGES, TEXT_ELEMENTS, VARIANTS`);
254
330
  }
255
331
  }
256
332
  async function handleSAPSearch(client, args) {
257
333
  const query = String(args.query ?? '');
258
334
  const maxResults = Number(args.maxResults ?? 100);
335
+ const searchType = String(args.searchType ?? 'object');
336
+ if (searchType === 'source_code') {
337
+ const objectType = args.objectType;
338
+ const packageName = args.packageName;
339
+ try {
340
+ const results = await client.searchSource(query, maxResults, objectType, packageName);
341
+ return textResult(JSON.stringify(results, null, 2));
342
+ }
343
+ catch (err) {
344
+ if (err instanceof AdtApiError && (err.statusCode === 404 || err.statusCode === 501)) {
345
+ return errorResult(`Source code search is not available on this SAP system (requires SAP_BASIS ≥ 7.51). ` +
346
+ `Use SAPSearch with searchType="object" to search by object name instead, or use SAPQuery to search metadata tables.`);
347
+ }
348
+ throw err;
349
+ }
350
+ }
259
351
  const results = await client.searchObject(query, maxResults);
260
352
  return textResult(JSON.stringify(results, null, 2));
261
353
  }
262
354
  async function handleSAPQuery(client, args) {
263
355
  const sql = String(args.sql ?? '');
264
356
  const maxRows = Number(args.maxRows ?? 100);
265
- const data = await client.runQuery(sql, maxRows);
266
- return textResult(JSON.stringify(data, null, 2));
357
+ try {
358
+ const data = await client.runQuery(sql, maxRows);
359
+ return textResult(JSON.stringify(data, null, 2));
360
+ }
361
+ catch (err) {
362
+ if (err instanceof AdtApiError && err.isNotFound) {
363
+ // Try to extract table name from SQL and suggest similar names
364
+ const tableMatch = sql.match(/FROM\s+["']?([A-Za-z0-9_/$]+)["']?/i);
365
+ if (tableMatch) {
366
+ const tableName = tableMatch[1];
367
+ try {
368
+ const suggestions = await client.searchObject(`${tableName}*`, 10);
369
+ const tableNames = suggestions
370
+ .filter((s) => s.objectType.startsWith('TABL') || s.objectType.startsWith('VIEW') || s.objectType.startsWith('DDLS'))
371
+ .map((s) => s.objectName)
372
+ .slice(0, 5);
373
+ if (tableNames.length > 0) {
374
+ return errorResult(`Table "${tableName}" not found.\n\nDid you mean: ${tableNames.join(', ')}?\n\nUse SAPSearch("${tableName}*") for more results, or discover tables with: SAPQuery(sql="SELECT tabname FROM dd02l WHERE tabname LIKE '%${tableName}%'")`);
375
+ }
376
+ }
377
+ catch {
378
+ // Search failed — fall through to original error
379
+ }
380
+ }
381
+ }
382
+ throw err;
383
+ }
267
384
  }
268
385
  async function handleSAPLint(_client, args) {
269
386
  const action = String(args.action ?? '');
@@ -372,12 +489,33 @@ async function handleSAPActivate(client, args) {
372
489
  // ─── SAPNavigate Handler ─────────────────────────────────────────────
373
490
  async function handleSAPNavigate(client, args) {
374
491
  const action = String(args.action ?? '');
375
- const uri = String(args.uri ?? '');
492
+ let uri = String(args.uri ?? '');
376
493
  const line = Number(args.line ?? 1);
377
494
  const column = Number(args.column ?? 1);
378
495
  const source = String(args.source ?? '');
496
+ // Allow symbolic type+name as alternative to uri for references
497
+ if (!uri && args.type && args.name) {
498
+ const symType = String(args.type);
499
+ const symName = String(args.name);
500
+ if (symType === 'FUNC') {
501
+ // FUNC needs group to build URL — auto-resolve it
502
+ const group = await client.resolveFunctionGroup(symName);
503
+ if (group) {
504
+ uri = `/sap/bc/adt/functions/groups/${encodeURIComponent(group)}/fmodules/${encodeURIComponent(symName)}`;
505
+ }
506
+ else {
507
+ return errorResult(`Cannot resolve function group for "${symName}". Provide the full uri parameter, or use SAPSearch("${symName}") to find the ADT URI.`);
508
+ }
509
+ }
510
+ else {
511
+ uri = objectUrlForType(symType, symName);
512
+ }
513
+ }
379
514
  switch (action) {
380
515
  case 'definition': {
516
+ if (!uri) {
517
+ return errorResult('Provide uri (or type+name) and line+column for definition lookup.');
518
+ }
381
519
  const result = await findDefinition(client.http, client.safety, uri, line, column, source);
382
520
  if (!result) {
383
521
  return textResult('No definition found at this position.');
@@ -385,6 +523,9 @@ async function handleSAPNavigate(client, args) {
385
523
  return textResult(JSON.stringify(result, null, 2));
386
524
  }
387
525
  case 'references': {
526
+ if (!uri) {
527
+ return errorResult('Provide uri or type+name to find references.');
528
+ }
388
529
  const results = await findReferences(client.http, client.safety, uri);
389
530
  if (results.length === 0) {
390
531
  return textResult('No references found.');
@@ -525,7 +666,7 @@ async function handleSAPManage(client, config, args) {
525
666
  featureConfig.amdp = config.featureAmdp;
526
667
  featureConfig.ui5 = config.featureUi5;
527
668
  featureConfig.transport = config.featureTransport;
528
- cachedFeatures = await probeFeatures(client.http, featureConfig);
669
+ cachedFeatures = await probeFeatures(client.http, featureConfig, config.systemType);
529
670
  return textResult(JSON.stringify(cachedFeatures, null, 2));
530
671
  }
531
672
  default:
@@ -536,4 +677,8 @@ async function handleSAPManage(client, config, args) {
536
677
  export function resetCachedFeatures() {
537
678
  cachedFeatures = undefined;
538
679
  }
680
+ /** Set cached features directly (for testing BTP mode, etc.) */
681
+ export function setCachedFeatures(features) {
682
+ cachedFeatures = features;
683
+ }
539
684
  //# sourceMappingURL=intent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../ts-src/handlers/intent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intent.js","sourceRoot":"","sources":["../../ts-src/handlers/intent.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,11 @@
10
10
  * instead of 200+ individual tools (one per object type per operation),
11
11
  * we group by *intent* with a `type` parameter for routing.
12
12
  * This keeps the LLM's tool selection simple and the context window small.
13
+ *
14
+ * Tool definitions adapt based on system type (BTP vs on-premise):
15
+ * - BTP ABAP Environment: removes unavailable types (PROG, INCL, VIEW,
16
+ * TEXT_ELEMENTS, VARIANTS), adjusts descriptions for restricted features
17
+ * - On-premise: full tool set with all types and descriptions
13
18
  */
14
19
  import type { ServerConfig } from '../server/types.js';
15
20
  export interface ToolDefinition {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../ts-src/handlers/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,EAAE,CA4QzE"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../ts-src/handlers/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAgKD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,EAAE,CA+QzE"}