@babelize/mcp 1.0.4 → 1.0.5

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 (135) hide show
  1. package/dist/server.d.ts.map +1 -1
  2. package/dist/server.js +187 -59
  3. package/dist/server.js.map +1 -1
  4. package/dist/tools/babel-get.d.ts +2 -8
  5. package/dist/tools/babel-get.d.ts.map +1 -1
  6. package/dist/tools/babel-get.js +18 -26
  7. package/dist/tools/babel-get.js.map +1 -1
  8. package/dist/tools/babel-list.d.ts +2 -8
  9. package/dist/tools/babel-list.d.ts.map +1 -1
  10. package/dist/tools/babel-list.js +17 -28
  11. package/dist/tools/babel-list.js.map +1 -1
  12. package/dist/tools/engine-analyze.d.ts +2 -8
  13. package/dist/tools/engine-analyze.d.ts.map +1 -1
  14. package/dist/tools/engine-analyze.js +7 -16
  15. package/dist/tools/engine-analyze.js.map +1 -1
  16. package/dist/tools/glossary-delete.d.ts +2 -8
  17. package/dist/tools/glossary-delete.d.ts.map +1 -1
  18. package/dist/tools/glossary-delete.js +5 -14
  19. package/dist/tools/glossary-delete.js.map +1 -1
  20. package/dist/tools/glossary-export.d.ts +2 -8
  21. package/dist/tools/glossary-export.d.ts.map +1 -1
  22. package/dist/tools/glossary-export.js +6 -22
  23. package/dist/tools/glossary-export.js.map +1 -1
  24. package/dist/tools/glossary-get.d.ts +2 -8
  25. package/dist/tools/glossary-get.d.ts.map +1 -1
  26. package/dist/tools/glossary-get.js +13 -24
  27. package/dist/tools/glossary-get.js.map +1 -1
  28. package/dist/tools/glossary-import.d.ts +2 -8
  29. package/dist/tools/glossary-import.d.ts.map +1 -1
  30. package/dist/tools/glossary-import.js +11 -28
  31. package/dist/tools/glossary-import.js.map +1 -1
  32. package/dist/tools/glossary-set.d.ts +2 -8
  33. package/dist/tools/glossary-set.d.ts.map +1 -1
  34. package/dist/tools/glossary-set.js +12 -24
  35. package/dist/tools/glossary-set.js.map +1 -1
  36. package/dist/tools/invitation-send.d.ts +2 -8
  37. package/dist/tools/invitation-send.d.ts.map +1 -1
  38. package/dist/tools/invitation-send.js +10 -25
  39. package/dist/tools/invitation-send.js.map +1 -1
  40. package/dist/tools/language-codes.d.ts +2 -8
  41. package/dist/tools/language-codes.d.ts.map +1 -1
  42. package/dist/tools/language-codes.js +19 -37
  43. package/dist/tools/language-codes.js.map +1 -1
  44. package/dist/tools/language-list.d.ts +2 -8
  45. package/dist/tools/language-list.d.ts.map +1 -1
  46. package/dist/tools/language-list.js +9 -19
  47. package/dist/tools/language-list.js.map +1 -1
  48. package/dist/tools/me.d.ts +2 -8
  49. package/dist/tools/me.d.ts.map +1 -1
  50. package/dist/tools/me.js +13 -20
  51. package/dist/tools/me.js.map +1 -1
  52. package/dist/tools/member-list.d.ts +2 -8
  53. package/dist/tools/member-list.d.ts.map +1 -1
  54. package/dist/tools/member-list.js +15 -21
  55. package/dist/tools/member-list.js.map +1 -1
  56. package/dist/tools/pr-raise.d.ts +2 -8
  57. package/dist/tools/pr-raise.d.ts.map +1 -1
  58. package/dist/tools/pr-raise.js +12 -25
  59. package/dist/tools/pr-raise.js.map +1 -1
  60. package/dist/tools/project-create.d.ts +2 -8
  61. package/dist/tools/project-create.d.ts.map +1 -1
  62. package/dist/tools/project-create.js +26 -34
  63. package/dist/tools/project-create.js.map +1 -1
  64. package/dist/tools/project-download.d.ts +3 -8
  65. package/dist/tools/project-download.d.ts.map +1 -1
  66. package/dist/tools/project-download.js +15 -21
  67. package/dist/tools/project-download.js.map +1 -1
  68. package/dist/tools/project-get.d.ts +2 -8
  69. package/dist/tools/project-get.d.ts.map +1 -1
  70. package/dist/tools/project-get.js +15 -23
  71. package/dist/tools/project-get.js.map +1 -1
  72. package/dist/tools/project-language-add.d.ts +2 -8
  73. package/dist/tools/project-language-add.d.ts.map +1 -1
  74. package/dist/tools/project-language-add.js +9 -20
  75. package/dist/tools/project-language-add.js.map +1 -1
  76. package/dist/tools/project-language-remove.d.ts +2 -8
  77. package/dist/tools/project-language-remove.d.ts.map +1 -1
  78. package/dist/tools/project-language-remove.js +9 -14
  79. package/dist/tools/project-language-remove.js.map +1 -1
  80. package/dist/tools/project-list.d.ts +2 -8
  81. package/dist/tools/project-list.d.ts.map +1 -1
  82. package/dist/tools/project-list.js +21 -28
  83. package/dist/tools/project-list.js.map +1 -1
  84. package/dist/tools/project-sync.d.ts +2 -8
  85. package/dist/tools/project-sync.d.ts.map +1 -1
  86. package/dist/tools/project-sync.js +12 -21
  87. package/dist/tools/project-sync.js.map +1 -1
  88. package/dist/tools/provider-tokens-list.d.ts +2 -8
  89. package/dist/tools/provider-tokens-list.d.ts.map +1 -1
  90. package/dist/tools/provider-tokens-list.js +10 -20
  91. package/dist/tools/provider-tokens-list.js.map +1 -1
  92. package/dist/tools/run-and-wait.d.ts +19 -0
  93. package/dist/tools/run-and-wait.d.ts.map +1 -0
  94. package/dist/tools/run-and-wait.js +99 -0
  95. package/dist/tools/run-and-wait.js.map +1 -0
  96. package/dist/tools/run.d.ts +2 -8
  97. package/dist/tools/run.d.ts.map +1 -1
  98. package/dist/tools/run.js +17 -31
  99. package/dist/tools/run.js.map +1 -1
  100. package/dist/tools/scan.d.ts.map +1 -1
  101. package/dist/tools/scan.js +4 -7
  102. package/dist/tools/scan.js.map +1 -1
  103. package/dist/tools/status.d.ts +2 -8
  104. package/dist/tools/status.d.ts.map +1 -1
  105. package/dist/tools/status.js +33 -19
  106. package/dist/tools/status.js.map +1 -1
  107. package/dist/tools/tm-export.d.ts +2 -8
  108. package/dist/tools/tm-export.d.ts.map +1 -1
  109. package/dist/tools/tm-export.js +6 -22
  110. package/dist/tools/tm-export.js.map +1 -1
  111. package/dist/tools/tm-get.d.ts +2 -8
  112. package/dist/tools/tm-get.d.ts.map +1 -1
  113. package/dist/tools/tm-get.js +21 -31
  114. package/dist/tools/tm-get.js.map +1 -1
  115. package/dist/tools/tm-set.d.ts +2 -8
  116. package/dist/tools/tm-set.d.ts.map +1 -1
  117. package/dist/tools/tm-set.js +14 -35
  118. package/dist/tools/tm-set.js.map +1 -1
  119. package/dist/utils/api.d.ts +6 -0
  120. package/dist/utils/api.d.ts.map +1 -0
  121. package/dist/utils/api.js +45 -0
  122. package/dist/utils/api.js.map +1 -0
  123. package/dist/utils/errors.d.ts +9 -0
  124. package/dist/utils/errors.d.ts.map +1 -0
  125. package/dist/utils/errors.js +84 -0
  126. package/dist/utils/errors.js.map +1 -0
  127. package/dist/utils/response.d.ts +8 -0
  128. package/dist/utils/response.d.ts.map +1 -0
  129. package/dist/utils/response.js +17 -0
  130. package/dist/utils/response.js.map +1 -0
  131. package/dist/utils/scan-strings.d.ts +1 -1
  132. package/dist/utils/scan-strings.d.ts.map +1 -1
  133. package/dist/utils/scan-strings.js +129 -51
  134. package/dist/utils/scan-strings.js.map +1 -1
  135. package/package.json +2 -2
@@ -1,48 +1,40 @@
1
+ import { toErrorResponse } from '../utils/errors.js';
2
+ import { success } from '../utils/response.js';
3
+ import { asString, joinArray } from '../utils/api.js';
1
4
  export async function handleBabelGet(client, params) {
2
- const { babel_id } = params;
3
5
  try {
4
- const response = await client.get(`/babels/${babel_id}`);
6
+ const response = await client.get(`/babels/${params.babel_id}`);
5
7
  const b = response.data;
6
8
  const lines = [
7
- `📊 Babel Run: ${babel_id}`,
9
+ `📊 Babel Run: ${params.babel_id}`,
8
10
  ``,
9
- ` Status: ${String(b.status ?? 'unknown')}`,
10
- ` Project ID: ${String(b.project_id ?? '?')}`,
11
- ` Source: ${String(b.source_language ?? '?')}`,
12
- ` Targets: ${b.target_languages ? (Array.isArray(b.target_languages) ? b.target_languages.join(', ') : String(b.target_languages)) : '?'}`,
13
- ` Trigger: ${String(b.trigger_source ?? '?')}`,
14
- ` Created: ${String(b.created_at ?? '?')}`,
11
+ ` Status: ${asString(b.status, 'unknown')}`,
12
+ ` Project ID: ${asString(b.project_id)}`,
13
+ ` Source: ${asString(b.source_language)}`,
14
+ ` Targets: ${joinArray(b.target_languages)}`,
15
+ ` Trigger: ${asString(b.trigger_source)}`,
16
+ ` Created: ${asString(b.created_at)}`,
15
17
  ];
16
18
  if (b.completed_at) {
17
- lines.push(` Completed: ${String(b.completed_at)}`);
19
+ lines.push(` Completed: ${asString(b.completed_at)}`);
18
20
  }
19
21
  if (b.credits_used !== undefined && b.credits_used !== null) {
20
- lines.push(` Credits: ${String(b.credits_used)}`);
22
+ lines.push(` Credits: ${asString(b.credits_used)}`);
21
23
  }
22
24
  const logs = b.logs;
23
25
  if (logs && logs.length > 0) {
24
26
  lines.push('', ' Logs:');
25
27
  for (const log of logs) {
26
- const step = String(log.step ?? '?');
27
- const logStatus = String(log.status ?? '?');
28
- const message = String(log.message ?? '');
28
+ const step = asString(log.step);
29
+ const logStatus = asString(log.status);
30
+ const message = asString(log.message, '');
29
31
  lines.push(` • [${logStatus}] ${step}${message ? ` — ${message}` : ''}`);
30
32
  }
31
33
  }
32
- return {
33
- content: [{ type: 'text', text: lines.join('\n') }],
34
- };
34
+ return success(lines.join('\n'));
35
35
  }
36
36
  catch (err) {
37
- const message = err instanceof Object && err !== null && 'response' in err
38
- ? (err.response?.data?.error || 'Unknown error')
39
- : err instanceof Error
40
- ? err.message
41
- : 'Unknown error';
42
- return {
43
- content: [{ type: 'text', text: `❌ Failed to get babel: ${message}` }],
44
- isError: true,
45
- };
37
+ return toErrorResponse(err, 'Failed to get babel');
46
38
  }
47
39
  }
48
40
  //# sourceMappingURL=babel-get.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"babel-get.js","sourceRoot":"","sources":["../../src/tools/babel-get.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"babel-get.js","sourceRoot":"","sources":["../../src/tools/babel-get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAMtD,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAqB,EAAE,MAAsB;IAChF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChE,MAAM,CAAC,GAAG,QAAQ,CAAC,IAA+B,CAAC;QAEnD,MAAM,KAAK,GAAa;YACtB,iBAAiB,MAAM,CAAC,QAAQ,EAAE;YAClC,EAAE;YACF,kBAAkB,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE;YACjD,kBAAkB,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;YAC1C,kBAAkB,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE;YAC/C,kBAAkB,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE;YACjD,kBAAkB,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE;YAC9C,kBAAkB,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;SAC3C,CAAC;QAEF,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,CAAC,IAAkD,CAAC;QAClE,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC1C,KAAK,CAAC,IAAI,CAAC,UAAU,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,eAAe,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;IACrD,CAAC;AACH,CAAC"}
@@ -9,13 +9,7 @@ export declare function handleBabelList(client: AxiosInstance, params: BabelList
9
9
  type: "text";
10
10
  text: string;
11
11
  }[];
12
- isError?: undefined;
13
- } | {
14
- content: {
15
- type: "text";
16
- text: string;
17
- }[];
18
- isError: boolean;
19
- }>;
12
+ isError: true;
13
+ } | import("../utils/response.js").ToolResponse>;
20
14
  export {};
21
15
  //# sourceMappingURL=babel-list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"babel-list.d.ts","sourceRoot":"","sources":["../../src/tools/babel-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,UAAU,eAAe;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe;;;;;;;;;;;;GA6CnF"}
1
+ {"version":3,"file":"babel-list.d.ts","sourceRoot":"","sources":["../../src/tools/babel-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC,UAAU,eAAe;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe;;;;;;iDA8BnF"}
@@ -1,47 +1,36 @@
1
+ import { toErrorResponse } from '../utils/errors.js';
2
+ import { success, successWithData } from '../utils/response.js';
3
+ import { asString, joinArray, extractList } from '../utils/api.js';
1
4
  export async function handleBabelList(client, params) {
2
- const { project_id, page, limit } = params;
3
5
  try {
4
6
  const query = new URLSearchParams();
5
- if (project_id)
6
- query.set('project_id', project_id);
7
- if (page)
8
- query.set('page', String(page));
9
- if (limit)
10
- query.set('limit', String(limit));
7
+ if (params.project_id)
8
+ query.set('project_id', params.project_id);
9
+ if (params.page)
10
+ query.set('page', String(params.page));
11
+ if (params.limit)
12
+ query.set('limit', String(params.limit));
11
13
  const qs = query.toString();
12
14
  const url = `/babels${qs ? `?${qs}` : ''}`;
13
15
  const response = await client.get(url);
14
- const data = response.data;
15
- const babels = Array.isArray(data) ? data : data.data ?? [];
16
+ const babels = extractList(response.data, 'data');
16
17
  if (babels.length === 0) {
17
- return {
18
- content: [{ type: 'text', text: '📊 No translation runs found.' }],
19
- };
18
+ return success('📊 No translation runs found.');
20
19
  }
21
20
  const lines = [`📊 Translation Runs (${babels.length}):`, ''];
22
21
  for (const b of babels) {
23
- const id = String(b.id ?? '?');
24
- const status = String(b.status ?? 'unknown');
25
- const targets = b.target_languages ? (Array.isArray(b.target_languages) ? b.target_languages.join(', ') : String(b.target_languages)) : '?';
26
- const createdAt = String(b.created_at ?? '?');
22
+ const id = asString(b.id);
23
+ const status = asString(b.status, 'unknown');
24
+ const targets = joinArray(b.target_languages);
25
+ const createdAt = asString(b.created_at);
27
26
  lines.push(` • ${id} [${status}]`);
28
27
  lines.push(` Targets: ${targets} | Created: ${createdAt}`);
29
28
  lines.push('');
30
29
  }
31
- return {
32
- content: [{ type: 'text', text: lines.join('\n') }],
33
- };
30
+ return successWithData(lines.join('\n'), 'babelize://babels', babels);
34
31
  }
35
32
  catch (err) {
36
- const message = err instanceof Object && err !== null && 'response' in err
37
- ? (err.response?.data?.error || 'Unknown error')
38
- : err instanceof Error
39
- ? err.message
40
- : 'Unknown error';
41
- return {
42
- content: [{ type: 'text', text: `❌ Failed to list babels: ${message}` }],
43
- isError: true,
44
- };
33
+ return toErrorResponse(err, 'Failed to list babels');
45
34
  }
46
35
  }
47
36
  //# sourceMappingURL=babel-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"babel-list.js","sourceRoot":"","sources":["../../src/tools/babel-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"babel-list.js","sourceRoot":"","sources":["../../src/tools/babel-list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAQnE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAqB,EAAE,MAAuB;IAClF,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,UAAU;YAAE,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAClE,IAAI,MAAM,CAAC,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,KAAK;YAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAA8B,CAAC;QAE/E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,KAAK,GAAa,CAAC,wBAAwB,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;QACxE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,MAAM,GAAG,CAAC,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,iBAAiB,SAAS,EAAE,CAAC,CAAC;YAChE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,eAAe,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;IACvD,CAAC;AACH,CAAC"}
@@ -8,13 +8,7 @@ export declare function handleEngineAnalyze(client: AxiosInstance, params: Engin
8
8
  type: "text";
9
9
  text: string;
10
10
  }[];
11
- isError?: undefined;
12
- } | {
13
- content: {
14
- type: "text";
15
- text: string;
16
- }[];
17
- isError: boolean;
18
- }>;
11
+ isError: true;
12
+ } | import("../utils/response.js").ToolResponse>;
19
13
  export {};
20
14
  //# sourceMappingURL=engine-analyze.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine-analyze.d.ts","sourceRoot":"","sources":["../../src/tools/engine-analyze.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB;;;;;;;;;;;;GA6B3F"}
1
+ {"version":3,"file":"engine-analyze.d.ts","sourceRoot":"","sources":["../../src/tools/engine-analyze.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB;;;;;;iDAiB3F"}
@@ -1,29 +1,20 @@
1
+ import { toErrorResponse } from '../utils/errors.js';
2
+ import { success } from '../utils/response.js';
1
3
  export async function handleEngineAnalyze(client, params) {
2
- const { code, filename } = params;
3
4
  try {
4
- const body = { code };
5
- if (filename)
6
- body.filename = filename;
5
+ const body = { code: params.code };
6
+ if (params.filename)
7
+ body.filename = params.filename;
7
8
  const response = await client.post('/engine/analyze', body);
8
9
  const data = response.data;
9
10
  const lines = ['🔍 Analysis Results:'];
10
11
  for (const [key, val] of Object.entries(data)) {
11
12
  lines.push(` ${key}: ${val !== null && val !== undefined ? String(val) : '?'}`);
12
13
  }
13
- return {
14
- content: [{ type: 'text', text: lines.join('\n') }],
15
- };
14
+ return success(lines.join('\n'));
16
15
  }
17
16
  catch (err) {
18
- const message = err instanceof Object && err !== null && 'response' in err
19
- ? (err.response?.data?.error || 'Unknown error')
20
- : err instanceof Error
21
- ? err.message
22
- : 'Unknown error';
23
- return {
24
- content: [{ type: 'text', text: `❌ Failed to analyze code: ${message}` }],
25
- isError: true,
26
- };
17
+ return toErrorResponse(err, 'Failed to analyze code');
27
18
  }
28
19
  }
29
20
  //# sourceMappingURL=engine-analyze.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine-analyze.js","sourceRoot":"","sources":["../../src/tools/engine-analyze.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAqB,EAAE,MAA2B;IAC1F,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAElC,IAAI,CAAC;QACH,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,CAAC;QAC/C,IAAI,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEvC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAA+B,CAAC;QAEtD,MAAM,KAAK,GAAa,CAAC,sBAAsB,CAAC,CAAC;QACjD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;SAC7D,CAAC;IACJ,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,MAAM,IAAI,GAAG,KAAK,IAAI,IAAI,UAAU,IAAI,GAAG;YACxE,CAAC,CAAC,CAAE,GAAiD,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,eAAe,CAAC;YAC/F,CAAC,CAAC,GAAG,YAAY,KAAK;gBACpB,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,eAAe,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6BAA6B,OAAO,EAAE,EAAE,CAAC;YAClF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"engine-analyze.js","sourceRoot":"","sources":["../../src/tools/engine-analyze.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAO/C,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAqB,EAAE,MAA2B;IAC1F,IAAI,CAAC;QACH,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5D,IAAI,MAAM,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAErD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAA+B,CAAC;QAEtD,MAAM,KAAK,GAAa,CAAC,sBAAsB,CAAC,CAAC;QACjD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,eAAe,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;IACxD,CAAC;AACH,CAAC"}
@@ -8,13 +8,7 @@ export declare function handleGlossaryDelete(client: AxiosInstance, params: Glos
8
8
  type: "text";
9
9
  text: string;
10
10
  }[];
11
- isError?: undefined;
12
- } | {
13
- content: {
14
- type: "text";
15
- text: string;
16
- }[];
17
- isError: boolean;
18
- }>;
11
+ isError: true;
12
+ } | import("../utils/response.js").ToolResponse>;
19
13
  export {};
20
14
  //# sourceMappingURL=glossary-delete.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glossary-delete.d.ts","sourceRoot":"","sources":["../../src/tools/glossary-delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,UAAU,oBAAoB;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB;;;;;;;;;;;;GAoB7F"}
1
+ {"version":3,"file":"glossary-delete.d.ts","sourceRoot":"","sources":["../../src/tools/glossary-delete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,UAAU,oBAAoB;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB;;;;;;iDAO7F"}
@@ -1,21 +1,12 @@
1
+ import { toErrorResponse } from '../utils/errors.js';
2
+ import { success } from '../utils/response.js';
1
3
  export async function handleGlossaryDelete(client, params) {
2
- const { project_id, entry_id } = params;
3
4
  try {
4
- await client.delete(`/projects/${project_id}/glossary/${entry_id}`);
5
- return {
6
- content: [{ type: 'text', text: `✅ Glossary entry ${entry_id} deleted.` }],
7
- };
5
+ await client.delete(`/projects/${params.project_id}/glossary/${params.entry_id}`);
6
+ return success(`🗑️ Glossary entry deleted.\n Entry ID: ${params.entry_id}\n Project: ${params.project_id}`);
8
7
  }
9
8
  catch (err) {
10
- const message = err instanceof Object && err !== null && 'response' in err
11
- ? (err.response?.data?.error || 'Unknown error')
12
- : err instanceof Error
13
- ? err.message
14
- : 'Unknown error';
15
- return {
16
- content: [{ type: 'text', text: `❌ Failed to delete glossary entry: ${message}` }],
17
- isError: true,
18
- };
9
+ return toErrorResponse(err, 'Failed to delete glossary entry');
19
10
  }
20
11
  }
21
12
  //# sourceMappingURL=glossary-delete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"glossary-delete.js","sourceRoot":"","sources":["../../src/tools/glossary-delete.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAqB,EAAE,MAA4B;IAC5F,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAExC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,UAAU,aAAa,QAAQ,EAAE,CAAC,CAAC;QAEpE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,oBAAoB,QAAQ,WAAW,EAAE,CAAC;SACpF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,MAAM,IAAI,GAAG,KAAK,IAAI,IAAI,UAAU,IAAI,GAAG;YACxE,CAAC,CAAC,CAAE,GAAiD,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,eAAe,CAAC;YAC/F,CAAC,CAAC,GAAG,YAAY,KAAK;gBACpB,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,eAAe,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,sCAAsC,OAAO,EAAE,EAAE,CAAC;YAC3F,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"glossary-delete.js","sourceRoot":"","sources":["../../src/tools/glossary-delete.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAO/C,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAqB,EAAE,MAA4B;IAC5F,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,MAAM,CAAC,UAAU,aAAa,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClF,OAAO,OAAO,CAAC,4CAA4C,MAAM,CAAC,QAAQ,gBAAgB,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IACjH,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,eAAe,CAAC,GAAG,EAAE,iCAAiC,CAAC,CAAC;IACjE,CAAC;AACH,CAAC"}
@@ -7,13 +7,7 @@ export declare function handleGlossaryExport(client: AxiosInstance, params: Glos
7
7
  type: "text";
8
8
  text: string;
9
9
  }[];
10
- isError?: undefined;
11
- } | {
12
- content: {
13
- type: "text";
14
- text: string;
15
- }[];
16
- isError: boolean;
17
- }>;
10
+ isError: true;
11
+ } | import("../utils/response.js").ToolResponse>;
18
12
  export {};
19
13
  //# sourceMappingURL=glossary-export.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glossary-export.d.ts","sourceRoot":"","sources":["../../src/tools/glossary-export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,UAAU,oBAAoB;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB;;;;;;;;;;;;GA4B7F"}
1
+ {"version":3,"file":"glossary-export.d.ts","sourceRoot":"","sources":["../../src/tools/glossary-export.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,UAAU,oBAAoB;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB;;;;;;iDAS7F"}
@@ -1,29 +1,13 @@
1
+ import { toErrorResponse } from '../utils/errors.js';
2
+ import { success } from '../utils/response.js';
1
3
  export async function handleGlossaryExport(client, params) {
2
- const { project_id } = params;
3
4
  try {
4
- const response = await client.get(`/projects/${project_id}/glossary/export`, {
5
- responseType: 'text',
6
- });
7
- const csv = typeof response.data === 'string' ? response.data : String(response.data);
8
- return {
9
- content: [
10
- {
11
- type: 'text',
12
- text: `✅ Glossary CSV export for project ${project_id}:\n\n${csv}`,
13
- },
14
- ],
15
- };
5
+ const response = await client.get(`/projects/${params.project_id}/glossary/export`);
6
+ const csv = typeof response.data === 'string' ? response.data : JSON.stringify(response.data);
7
+ return success(`📖 Glossary CSV for project ${params.project_id}:\n\n${csv}`);
16
8
  }
17
9
  catch (err) {
18
- const message = err instanceof Object && err !== null && 'response' in err
19
- ? (err.response?.data?.error || 'Unknown error')
20
- : err instanceof Error
21
- ? err.message
22
- : 'Unknown error';
23
- return {
24
- content: [{ type: 'text', text: `❌ Failed to export glossary: ${message}` }],
25
- isError: true,
26
- };
10
+ return toErrorResponse(err, 'Failed to export glossary');
27
11
  }
28
12
  }
29
13
  //# sourceMappingURL=glossary-export.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"glossary-export.js","sourceRoot":"","sources":["../../src/tools/glossary-export.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAqB,EAAE,MAA4B;IAC5F,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,UAAU,kBAAkB,EAAE;YAC3E,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAEtF,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,qCAAqC,UAAU,QAAQ,GAAG,EAAE;iBACnE;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,MAAM,IAAI,GAAG,KAAK,IAAI,IAAI,UAAU,IAAI,GAAG;YACxE,CAAC,CAAC,CAAE,GAAiD,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,eAAe,CAAC;YAC/F,CAAC,CAAC,GAAG,YAAY,KAAK;gBACpB,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,eAAe,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gCAAgC,OAAO,EAAE,EAAE,CAAC;YACrF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"glossary-export.js","sourceRoot":"","sources":["../../src/tools/glossary-export.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAM/C,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAqB,EAAE,MAA4B;IAC5F,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,UAAU,kBAAkB,CAAC,CAAC;QACpF,MAAM,GAAG,GAAG,OAAO,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE9F,OAAO,OAAO,CAAC,+BAA+B,MAAM,CAAC,UAAU,QAAQ,GAAG,EAAE,CAAC,CAAC;IAChF,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,eAAe,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
@@ -8,13 +8,7 @@ export declare function handleGlossaryGet(client: AxiosInstance, params: Glossar
8
8
  type: "text";
9
9
  text: string;
10
10
  }[];
11
- isError?: undefined;
12
- } | {
13
- content: {
14
- type: "text";
15
- text: string;
16
- }[];
17
- isError: boolean;
18
- }>;
11
+ isError: true;
12
+ } | import("../utils/response.js").ToolResponse>;
19
13
  export {};
20
14
  //# sourceMappingURL=glossary-get.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glossary-get.d.ts","sourceRoot":"","sources":["../../src/tools/glossary-get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,UAAU,iBAAiB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB;;;;;;;;;;;;GAwDvF"}
1
+ {"version":3,"file":"glossary-get.d.ts","sourceRoot":"","sources":["../../src/tools/glossary-get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC,UAAU,iBAAiB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB;;;;;;iDAwCvF"}
@@ -1,31 +1,30 @@
1
+ import { toErrorResponse } from '../utils/errors.js';
2
+ import { success } from '../utils/response.js';
3
+ import { asString, extractList } from '../utils/api.js';
1
4
  export async function handleGlossaryGet(client, params) {
2
- const { project_id, search } = params;
3
5
  try {
4
6
  const searchParams = new URLSearchParams();
5
- if (search)
6
- searchParams.set('search', search);
7
+ if (params.search)
8
+ searchParams.set('search', params.search);
7
9
  const query = searchParams.toString();
8
- const url = `/projects/${project_id}/glossary${query ? `?${query}` : ''}`;
10
+ const url = `/projects/${params.project_id}/glossary${query ? `?${query}` : ''}`;
9
11
  const response = await client.get(url);
10
- const data = response.data;
11
- const rawEntries = Array.isArray(data) ? data : data.data ?? [];
12
+ const rawEntries = extractList(response.data, 'entries', 'data');
12
13
  const entries = [];
13
14
  for (const e of rawEntries) {
14
15
  if (e && typeof e === 'object') {
15
16
  entries.push({
16
- term: String(e.term ?? ''),
17
- type: String(e.type ?? 'never_translate'),
17
+ term: asString(e.term, ''),
18
+ type: asString(e.type, 'never_translate'),
18
19
  translations: e.translations,
19
20
  });
20
21
  }
21
22
  }
22
23
  if (entries.length === 0) {
23
- return {
24
- content: [{ type: 'text', text: '📖 No glossary entries found.' }],
25
- };
24
+ return success('📖 No glossary entries found.');
26
25
  }
27
26
  const lines = [
28
- `📖 Glossary (${entries.length} entries)${search ? ` matching "${search}"` : ''}:`,
27
+ `📖 Glossary (${entries.length} entries)${params.search ? ` matching "${params.search}"` : ''}:`,
29
28
  '',
30
29
  ];
31
30
  for (const entry of entries) {
@@ -34,20 +33,10 @@ export async function handleGlossaryGet(client, params) {
34
33
  : '(never translated)';
35
34
  lines.push(` • "${entry.term}" → ${translationStr} [${entry.type}]`);
36
35
  }
37
- return {
38
- content: [{ type: 'text', text: lines.join('\n') }],
39
- };
36
+ return success(lines.join('\n'));
40
37
  }
41
38
  catch (err) {
42
- const message = err instanceof Object && err !== null && 'response' in err
43
- ? (err.response?.data?.error || 'Unknown error')
44
- : err instanceof Error
45
- ? err.message
46
- : 'Unknown error';
47
- return {
48
- content: [{ type: 'text', text: `❌ Failed to get glossary: ${message}` }],
49
- isError: true,
50
- };
39
+ return toErrorResponse(err, 'Failed to get glossary');
51
40
  }
52
41
  }
53
42
  //# sourceMappingURL=glossary-get.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"glossary-get.js","sourceRoot":"","sources":["../../src/tools/glossary-get.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAqB,EAAE,MAAyB;IACtF,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;QAC3C,IAAI,MAAM;YAAE,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAE/C,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,aAAa,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC1E,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAA+B,CAAC;QACtD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAG,IAAgC,CAAC,IAAmD,IAAI,EAAE,CAAC;QAC7I,MAAM,OAAO,GAAiF,EAAE,CAAC;QACjG,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;oBAC1B,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,iBAAiB,CAAC;oBACzC,YAAY,EAAE,CAAC,CAAC,YAAkD;iBACnE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,+BAA+B,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAa;YACtB,gBAAgB,OAAO,CAAC,MAAM,YAAY,MAAM,CAAC,CAAC,CAAC,cAAc,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG;YAClF,EAAE;SACH,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC;gBACrF,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/E,CAAC,CAAC,oBAAoB,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,OAAO,cAAc,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QACzE,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;SAC7D,CAAC;IACJ,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,MAAM,IAAI,GAAG,KAAK,IAAI,IAAI,UAAU,IAAI,GAAG;YACxE,CAAC,CAAC,CAAE,GAAiD,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,eAAe,CAAC;YAC/F,CAAC,CAAC,GAAG,YAAY,KAAK;gBACpB,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,eAAe,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6BAA6B,OAAO,EAAE,EAAE,CAAC;YAClF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"glossary-get.js","sourceRoot":"","sources":["../../src/tools/glossary-get.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAOxD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAqB,EAAE,MAAyB;IACtF,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,MAAM;YAAE,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,aAAa,MAAM,CAAC,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACjF,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvC,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAA8B,CAAC;QAC9F,MAAM,OAAO,GAAiF,EAAE,CAAC;QACjG,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC1B,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,iBAAiB,CAAC;oBACzC,YAAY,EAAE,CAAC,CAAC,YAAkD;iBACnE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,KAAK,GAAa;YACtB,gBAAgB,OAAO,CAAC,MAAM,YAAY,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG;YAChG,EAAE;SACH,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,cAAc,GAAG,KAAK,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC;gBACrF,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC/E,CAAC,CAAC,oBAAoB,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,OAAO,cAAc,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,eAAe,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;IACxD,CAAC;AACH,CAAC"}
@@ -8,13 +8,7 @@ export declare function handleGlossaryImport(client: AxiosInstance, params: Glos
8
8
  type: "text";
9
9
  text: string;
10
10
  }[];
11
- isError: boolean;
12
- } | {
13
- content: {
14
- type: "text";
15
- text: string;
16
- }[];
17
- isError?: undefined;
18
- }>;
11
+ isError: true;
12
+ } | import("../utils/response.js").ToolResponse>;
19
13
  export {};
20
14
  //# sourceMappingURL=glossary-import.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glossary-import.d.ts","sourceRoot":"","sources":["../../src/tools/glossary-import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,UAAU,oBAAoB;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB;;;;;;;;;;;;GAqC7F"}
1
+ {"version":3,"file":"glossary-import.d.ts","sourceRoot":"","sources":["../../src/tools/glossary-import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC,UAAU,oBAAoB;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB;;;;;;iDAc7F"}
@@ -1,36 +1,19 @@
1
+ import { toErrorResponse } from '../utils/errors.js';
2
+ import { success } from '../utils/response.js';
3
+ import { asString } from '../utils/api.js';
1
4
  export async function handleGlossaryImport(client, params) {
2
- const { project_id, csv } = params;
3
- if (!csv.trim()) {
4
- return {
5
- content: [{ type: 'text', text: '❌ CSV content is required.' }],
6
- isError: true,
7
- };
8
- }
9
5
  try {
10
- const response = await client.post(`/projects/${project_id}/glossary/import`, { csv });
6
+ const response = await client.post(`/projects/${params.project_id}/glossary/import`, { csv: params.csv });
11
7
  const result = response.data;
12
- const imported = Number(result.imported ?? 0);
13
- const skipped = Number(result.skipped ?? 0);
14
- const message = String(result.message ?? `Imported ${imported} entries.`);
15
- return {
16
- content: [
17
- {
18
- type: 'text',
19
- text: `✅ Glossary import complete.\n Imported: ${imported}\n Skipped: ${skipped}\n ${message}`,
20
- },
21
- ],
22
- };
8
+ return success([
9
+ '📖 Glossary import complete.',
10
+ ` Imported: ${asString(result.imported, '0')}`,
11
+ ` Skipped: ${asString(result.skipped, '0')}`,
12
+ ` Message: ${asString(result.message, '')}`,
13
+ ].join('\n'));
23
14
  }
24
15
  catch (err) {
25
- const message = err instanceof Object && err !== null && 'response' in err
26
- ? (err.response?.data?.error || 'Unknown error')
27
- : err instanceof Error
28
- ? err.message
29
- : 'Unknown error';
30
- return {
31
- content: [{ type: 'text', text: `❌ Failed to import glossary: ${message}` }],
32
- isError: true,
33
- };
16
+ return toErrorResponse(err, 'Failed to import glossary');
34
17
  }
35
18
  }
36
19
  //# sourceMappingURL=glossary-import.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"glossary-import.js","sourceRoot":"","sources":["../../src/tools/glossary-import.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAqB,EAAE,MAA4B;IAC5F,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAEnC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QAChB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;YACxE,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,UAAU,kBAAkB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACvF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAA+B,CAAC;QAExD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,YAAY,QAAQ,WAAW,CAAC,CAAC;QAE1E,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,4CAA4C,QAAQ,gBAAgB,OAAO,OAAO,OAAO,EAAE;iBAClG;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,YAAY,MAAM,IAAI,GAAG,KAAK,IAAI,IAAI,UAAU,IAAI,GAAG;YACxE,CAAC,CAAC,CAAE,GAAiD,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,IAAI,eAAe,CAAC;YAC/F,CAAC,CAAC,GAAG,YAAY,KAAK;gBACpB,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,eAAe,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,gCAAgC,OAAO,EAAE,EAAE,CAAC;YACrF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"glossary-import.js","sourceRoot":"","sources":["../../src/tools/glossary-import.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAO3C,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAqB,EAAE,MAA4B;IAC5F,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,UAAU,kBAAkB,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1G,MAAM,MAAM,GAAG,QAAQ,CAAC,IAA+B,CAAC;QAExD,OAAO,OAAO,CAAC;YACb,8BAA8B;YAC9B,eAAe,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;YAC/C,eAAe,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;YAC9C,eAAe,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE;SAC9C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChB,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,eAAe,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
@@ -11,13 +11,7 @@ export declare function handleGlossarySet(client: AxiosInstance, params: Glossar
11
11
  type: "text";
12
12
  text: string;
13
13
  }[];
14
- isError: boolean;
15
- } | {
16
- content: {
17
- type: "text";
18
- text: string;
19
- }[];
20
- isError?: undefined;
21
- }>;
14
+ isError: true;
15
+ } | import("../utils/response.js").ToolResponse>;
22
16
  export {};
23
17
  //# sourceMappingURL=glossary-set.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glossary-set.d.ts","sourceRoot":"","sources":["../../src/tools/glossary-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,UAAU,iBAAiB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB;;;;;;;;;;;;GAqEvF"}
1
+ {"version":3,"file":"glossary-set.d.ts","sourceRoot":"","sources":["../../src/tools/glossary-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC,UAAU,iBAAiB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB;;;;;;iDAsDvF"}