@babelize/mcp 1.0.1 → 1.0.3

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 (107) hide show
  1. package/README.md +66 -6
  2. package/dist/index.js +29 -6
  3. package/dist/index.js.map +1 -1
  4. package/dist/server.d.ts.map +1 -1
  5. package/dist/server.js +330 -40
  6. package/dist/server.js.map +1 -1
  7. package/dist/tools/babel-get.d.ts +19 -0
  8. package/dist/tools/babel-get.d.ts.map +1 -0
  9. package/dist/tools/babel-get.js +48 -0
  10. package/dist/tools/babel-get.js.map +1 -0
  11. package/dist/tools/babel-list.d.ts +21 -0
  12. package/dist/tools/babel-list.d.ts.map +1 -0
  13. package/dist/tools/babel-list.js +47 -0
  14. package/dist/tools/babel-list.js.map +1 -0
  15. package/dist/tools/engine-analyze.d.ts +20 -0
  16. package/dist/tools/engine-analyze.d.ts.map +1 -0
  17. package/dist/tools/engine-analyze.js +29 -0
  18. package/dist/tools/engine-analyze.js.map +1 -0
  19. package/dist/tools/glossary-delete.d.ts +20 -0
  20. package/dist/tools/glossary-delete.d.ts.map +1 -0
  21. package/dist/tools/glossary-delete.js +21 -0
  22. package/dist/tools/glossary-delete.js.map +1 -0
  23. package/dist/tools/glossary-export.d.ts +19 -0
  24. package/dist/tools/glossary-export.d.ts.map +1 -0
  25. package/dist/tools/glossary-export.js +29 -0
  26. package/dist/tools/glossary-export.js.map +1 -0
  27. package/dist/tools/glossary-import.d.ts +20 -0
  28. package/dist/tools/glossary-import.d.ts.map +1 -0
  29. package/dist/tools/glossary-import.js +36 -0
  30. package/dist/tools/glossary-import.js.map +1 -0
  31. package/dist/tools/invitation-send.d.ts +21 -0
  32. package/dist/tools/invitation-send.d.ts.map +1 -0
  33. package/dist/tools/invitation-send.js +32 -0
  34. package/dist/tools/invitation-send.js.map +1 -0
  35. package/dist/tools/language-codes.d.ts +21 -0
  36. package/dist/tools/language-codes.d.ts.map +1 -0
  37. package/dist/tools/language-codes.js +77 -0
  38. package/dist/tools/language-codes.js.map +1 -0
  39. package/dist/tools/language-list.d.ts +15 -0
  40. package/dist/tools/language-list.d.ts.map +1 -0
  41. package/dist/tools/language-list.js +34 -0
  42. package/dist/tools/language-list.js.map +1 -0
  43. package/dist/tools/me.d.ts +15 -0
  44. package/dist/tools/me.d.ts.map +1 -0
  45. package/dist/tools/me.js +37 -0
  46. package/dist/tools/me.js.map +1 -0
  47. package/dist/tools/member-list.d.ts +19 -0
  48. package/dist/tools/member-list.d.ts.map +1 -0
  49. package/dist/tools/member-list.js +35 -0
  50. package/dist/tools/member-list.js.map +1 -0
  51. package/dist/tools/pr-raise.d.ts +19 -0
  52. package/dist/tools/pr-raise.d.ts.map +1 -0
  53. package/dist/tools/pr-raise.js +33 -0
  54. package/dist/tools/pr-raise.js.map +1 -0
  55. package/dist/tools/project-create.d.ts +24 -0
  56. package/dist/tools/project-create.d.ts.map +1 -0
  57. package/dist/tools/project-create.js +43 -0
  58. package/dist/tools/project-create.js.map +1 -0
  59. package/dist/tools/project-download.d.ts +19 -0
  60. package/dist/tools/project-download.d.ts.map +1 -0
  61. package/dist/tools/project-download.js +32 -0
  62. package/dist/tools/project-download.js.map +1 -0
  63. package/dist/tools/project-get.d.ts +19 -0
  64. package/dist/tools/project-get.d.ts.map +1 -0
  65. package/dist/tools/project-get.js +35 -0
  66. package/dist/tools/project-get.js.map +1 -0
  67. package/dist/tools/project-language-add.d.ts +20 -0
  68. package/dist/tools/project-language-add.d.ts.map +1 -0
  69. package/dist/tools/project-language-add.js +27 -0
  70. package/dist/tools/project-language-add.js.map +1 -0
  71. package/dist/tools/project-language-remove.d.ts +20 -0
  72. package/dist/tools/project-language-remove.d.ts.map +1 -0
  73. package/dist/tools/project-language-remove.js +21 -0
  74. package/dist/tools/project-language-remove.js.map +1 -0
  75. package/dist/tools/project-list.d.ts +20 -0
  76. package/dist/tools/project-list.d.ts.map +1 -0
  77. package/dist/tools/project-list.js +46 -0
  78. package/dist/tools/project-list.js.map +1 -0
  79. package/dist/tools/project-sync.d.ts +19 -0
  80. package/dist/tools/project-sync.d.ts.map +1 -0
  81. package/dist/tools/project-sync.js +29 -0
  82. package/dist/tools/project-sync.js.map +1 -0
  83. package/dist/tools/provider-tokens-list.d.ts +15 -0
  84. package/dist/tools/provider-tokens-list.d.ts.map +1 -0
  85. package/dist/tools/provider-tokens-list.js +33 -0
  86. package/dist/tools/provider-tokens-list.js.map +1 -0
  87. package/dist/tools/run.d.ts +1 -0
  88. package/dist/tools/run.d.ts.map +1 -1
  89. package/dist/tools/run.js +6 -3
  90. package/dist/tools/run.js.map +1 -1
  91. package/dist/tools/tm-export.d.ts +19 -0
  92. package/dist/tools/tm-export.d.ts.map +1 -0
  93. package/dist/tools/tm-export.js +29 -0
  94. package/dist/tools/tm-export.js.map +1 -0
  95. package/dist/tools/tm-get.d.ts +21 -0
  96. package/dist/tools/tm-get.d.ts.map +1 -0
  97. package/dist/tools/tm-get.js +45 -0
  98. package/dist/tools/tm-get.js.map +1 -0
  99. package/dist/tools/tm-set.d.ts +23 -0
  100. package/dist/tools/tm-set.d.ts.map +1 -0
  101. package/dist/tools/tm-set.js +44 -0
  102. package/dist/tools/tm-set.js.map +1 -0
  103. package/dist/utils/scan-strings.d.ts +1 -0
  104. package/dist/utils/scan-strings.d.ts.map +1 -1
  105. package/dist/utils/scan-strings.js +59 -1
  106. package/dist/utils/scan-strings.js.map +1 -1
  107. package/package.json +5 -1
@@ -0,0 +1,19 @@
1
+ import { AxiosInstance } from 'axios';
2
+ interface MemberListParams {
3
+ project_id: string;
4
+ }
5
+ export declare function handleMemberList(client: AxiosInstance, params: MemberListParams): Promise<{
6
+ content: {
7
+ type: "text";
8
+ text: string;
9
+ }[];
10
+ isError?: undefined;
11
+ } | {
12
+ content: {
13
+ type: "text";
14
+ text: string;
15
+ }[];
16
+ isError: boolean;
17
+ }>;
18
+ export {};
19
+ //# sourceMappingURL=member-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member-list.d.ts","sourceRoot":"","sources":["../../src/tools/member-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,UAAU,gBAAgB;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB;;;;;;;;;;;;GAoCrF"}
@@ -0,0 +1,35 @@
1
+ export async function handleMemberList(client, params) {
2
+ const { project_id } = params;
3
+ try {
4
+ const response = await client.get(`/projects/${project_id}/members`);
5
+ const members = Array.isArray(response.data) ? response.data : [];
6
+ if (members.length === 0) {
7
+ return {
8
+ content: [{ type: 'text', text: '👥 No members found for this project.' }],
9
+ };
10
+ }
11
+ const lines = [`👥 Project Members (${members.length}):`, ''];
12
+ for (const m of members) {
13
+ const email = String(m.email ?? m.user?.email ?? '?');
14
+ const roles = m.project_roles
15
+ ? (Array.isArray(m.project_roles) ? m.project_roles.map((r) => String(r.name ?? '?')).join(', ') : String(m.project_roles.name ?? '?'))
16
+ : '?';
17
+ lines.push(` • ${email} [${roles}]`);
18
+ }
19
+ return {
20
+ content: [{ type: 'text', text: lines.join('\n') }],
21
+ };
22
+ }
23
+ catch (err) {
24
+ const message = err instanceof Object && err !== null && 'response' in err
25
+ ? (err.response?.data?.error || 'Unknown error')
26
+ : err instanceof Error
27
+ ? err.message
28
+ : 'Unknown error';
29
+ return {
30
+ content: [{ type: 'text', text: `❌ Failed to list members: ${message}` }],
31
+ isError: true,
32
+ };
33
+ }
34
+ }
35
+ //# sourceMappingURL=member-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member-list.js","sourceRoot":"","sources":["../../src/tools/member-list.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAqB,EAAE,MAAwB;IACpF,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,UAAU,UAAU,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAElE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,uCAAuC,EAAE,CAAC;aACpF,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAa,CAAC,uBAAuB,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;QACxE,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,CAAC,CAAC,aAAa;gBAC3B,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAA0B,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAE,CAAC,CAAC,aAAyC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;gBAC7L,CAAC,CAAC,GAAG,CAAC;YACR,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,MAAM,KAAK,GAAG,CAAC,CAAC;QACzC,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"}
@@ -0,0 +1,19 @@
1
+ import { AxiosInstance } from 'axios';
2
+ interface PrRaiseParams {
3
+ project_id: string;
4
+ }
5
+ export declare function handlePrRaise(client: AxiosInstance, params: PrRaiseParams): Promise<{
6
+ content: {
7
+ type: "text";
8
+ text: string;
9
+ }[];
10
+ isError?: undefined;
11
+ } | {
12
+ content: {
13
+ type: "text";
14
+ text: string;
15
+ }[];
16
+ isError: boolean;
17
+ }>;
18
+ export {};
19
+ //# sourceMappingURL=pr-raise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-raise.d.ts","sourceRoot":"","sources":["../../src/tools/pr-raise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa;;;;;;;;;;;;GAiC/E"}
@@ -0,0 +1,33 @@
1
+ export async function handlePrRaise(client, params) {
2
+ const { project_id } = params;
3
+ try {
4
+ const response = await client.post(`/projects/${project_id}/raise-pr`);
5
+ const result = response.data;
6
+ const prUrl = String(result.pr_url ?? result.url ?? '?');
7
+ const prNumber = result.pr_number ?? result.number ?? '?';
8
+ return {
9
+ content: [
10
+ {
11
+ type: 'text',
12
+ text: [
13
+ `✅ Pull request created!`,
14
+ ` PR URL: ${prUrl}`,
15
+ ` PR #: ${prNumber}`,
16
+ ].join('\n'),
17
+ },
18
+ ],
19
+ };
20
+ }
21
+ catch (err) {
22
+ const message = err instanceof Object && err !== null && 'response' in err
23
+ ? (err.response?.data?.error || 'Unknown error')
24
+ : err instanceof Error
25
+ ? err.message
26
+ : 'Unknown error';
27
+ return {
28
+ content: [{ type: 'text', text: `❌ Failed to raise PR: ${message}` }],
29
+ isError: true,
30
+ };
31
+ }
32
+ }
33
+ //# sourceMappingURL=pr-raise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-raise.js","sourceRoot":"","sources":["../../src/tools/pr-raise.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAqB,EAAE,MAAqB;IAC9E,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,UAAU,WAAW,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAA+B,CAAC;QAExD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;QAE1D,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;wBACJ,yBAAyB;wBACzB,cAAc,KAAK,EAAE;wBACrB,cAAc,QAAQ,EAAE;qBACzB,CAAC,IAAI,CAAC,IAAI,CAAC;iBACb;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,yBAAyB,OAAO,EAAE,EAAE,CAAC;YAC9E,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { AxiosInstance } from 'axios';
2
+ interface ProjectCreateParams {
3
+ name: string;
4
+ source_language?: string;
5
+ target_languages?: string[];
6
+ repo_url?: string;
7
+ branch?: string;
8
+ brand_voice?: string;
9
+ }
10
+ export declare function handleProjectCreate(client: AxiosInstance, params: ProjectCreateParams): Promise<{
11
+ content: {
12
+ type: "text";
13
+ text: string;
14
+ }[];
15
+ isError?: undefined;
16
+ } | {
17
+ content: {
18
+ type: "text";
19
+ text: string;
20
+ }[];
21
+ isError: boolean;
22
+ }>;
23
+ export {};
24
+ //# sourceMappingURL=project-create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-create.d.ts","sourceRoot":"","sources":["../../src/tools/project-create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB;;;;;;;;;;;;GAsC3F"}
@@ -0,0 +1,43 @@
1
+ export async function handleProjectCreate(client, params) {
2
+ const { name, source_language, target_languages, repo_url, branch, brand_voice } = params;
3
+ try {
4
+ const body = { name };
5
+ if (source_language)
6
+ body.source_language = source_language;
7
+ if (target_languages)
8
+ body.target_languages = target_languages;
9
+ if (repo_url)
10
+ body.repo_url = repo_url;
11
+ if (branch)
12
+ body.branch = branch;
13
+ if (brand_voice)
14
+ body.brand_voice = brand_voice;
15
+ const response = await client.post('/projects', body);
16
+ const p = response.data;
17
+ return {
18
+ content: [
19
+ {
20
+ type: 'text',
21
+ text: [
22
+ `✅ Project created!`,
23
+ ` Name: ${String(p.name ?? name)}`,
24
+ ` ID: ${String(p.id ?? '?')}`,
25
+ ` Status: ${String(p.status ?? 'created')}`,
26
+ ].join('\n'),
27
+ },
28
+ ],
29
+ };
30
+ }
31
+ catch (err) {
32
+ const message = err instanceof Object && err !== null && 'response' in err
33
+ ? (err.response?.data?.error || 'Unknown error')
34
+ : err instanceof Error
35
+ ? err.message
36
+ : 'Unknown error';
37
+ return {
38
+ content: [{ type: 'text', text: `❌ Failed to create project: ${message}` }],
39
+ isError: true,
40
+ };
41
+ }
42
+ }
43
+ //# sourceMappingURL=project-create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-create.js","sourceRoot":"","sources":["../../src/tools/project-create.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,MAAqB,EAAE,MAA2B;IAC1F,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAE1F,IAAI,CAAC;QACH,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,CAAC;QAC/C,IAAI,eAAe;YAAE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QAC5D,IAAI,gBAAgB;YAAE,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC/D,IAAI,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACvC,IAAI,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACjC,IAAI,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAEhD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,QAAQ,CAAC,IAA+B,CAAC;QAEnD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE;wBACJ,oBAAoB;wBACpB,aAAa,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE;wBACrC,aAAa,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE;wBAClC,aAAa,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;qBAC7C,CAAC,IAAI,CAAC,IAAI,CAAC;iBACb;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,+BAA+B,OAAO,EAAE,EAAE,CAAC;YACpF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { AxiosInstance } from 'axios';
2
+ interface ProjectDownloadParams {
3
+ project_id: string;
4
+ }
5
+ export declare function handleProjectDownload(client: AxiosInstance, params: ProjectDownloadParams): Promise<{
6
+ content: {
7
+ type: "text";
8
+ text: string;
9
+ }[];
10
+ isError?: undefined;
11
+ } | {
12
+ content: {
13
+ type: "text";
14
+ text: string;
15
+ }[];
16
+ isError: boolean;
17
+ }>;
18
+ export {};
19
+ //# sourceMappingURL=project-download.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-download.d.ts","sourceRoot":"","sources":["../../src/tools/project-download.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,UAAU,qBAAqB;IAC7B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,qBAAqB;;;;;;;;;;;;GAgC/F"}
@@ -0,0 +1,32 @@
1
+ export async function handleProjectDownload(client, params) {
2
+ const { project_id } = params;
3
+ try {
4
+ const response = await client.get(`/projects/${project_id}/download`, {
5
+ responseType: 'arraybuffer',
6
+ });
7
+ const contentLength = response.headers['content-length'];
8
+ const size = contentLength ? `${(Number(contentLength) / 1024 / 1024).toFixed(2)} MB` : `${response.data.byteLength} bytes`;
9
+ const disposition = response.headers['content-disposition'] ?? '';
10
+ const filename = disposition.match(/filename="?(.+?)"?$/)?.[1] ?? `project-${project_id}.zip`;
11
+ return {
12
+ content: [
13
+ {
14
+ type: 'text',
15
+ text: `✅ Project ZIP downloaded.\n File: ${filename}\n Size: ${size}`,
16
+ },
17
+ ],
18
+ };
19
+ }
20
+ catch (err) {
21
+ const message = err instanceof Object && err !== null && 'response' in err
22
+ ? (err.response?.data?.error || 'Unknown error')
23
+ : err instanceof Error
24
+ ? err.message
25
+ : 'Unknown error';
26
+ return {
27
+ content: [{ type: 'text', text: `❌ Failed to download project: ${message}` }],
28
+ isError: true,
29
+ };
30
+ }
31
+ }
32
+ //# sourceMappingURL=project-download.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-download.js","sourceRoot":"","sources":["../../src/tools/project-download.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAAqB,EAAE,MAA6B;IAC9F,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,UAAU,WAAW,EAAE;YACpE,YAAY,EAAE,aAAa;SAC5B,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAI,QAAQ,CAAC,IAAoB,CAAC,UAAU,QAAQ,CAAC;QAC7I,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,WAAW,UAAU,MAAM,CAAC;QAE9F,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,sCAAsC,QAAQ,aAAa,IAAI,EAAE;iBACxE;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,iCAAiC,OAAO,EAAE,EAAE,CAAC;YACtF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { AxiosInstance } from 'axios';
2
+ interface ProjectGetParams {
3
+ project_id: string;
4
+ }
5
+ export declare function handleProjectGet(client: AxiosInstance, params: ProjectGetParams): Promise<{
6
+ content: {
7
+ type: "text";
8
+ text: string;
9
+ }[];
10
+ isError?: undefined;
11
+ } | {
12
+ content: {
13
+ type: "text";
14
+ text: string;
15
+ }[];
16
+ isError: boolean;
17
+ }>;
18
+ export {};
19
+ //# sourceMappingURL=project-get.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-get.d.ts","sourceRoot":"","sources":["../../src/tools/project-get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,UAAU,gBAAgB;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB;;;;;;;;;;;;GAoCrF"}
@@ -0,0 +1,35 @@
1
+ export async function handleProjectGet(client, params) {
2
+ const { project_id } = params;
3
+ try {
4
+ const response = await client.get(`/projects/${project_id}`);
5
+ const p = response.data;
6
+ const lines = [
7
+ `📁 Project: ${String(p.name ?? 'Unnamed')}`,
8
+ ``,
9
+ ` ID: ${String(p.id ?? '?')}`,
10
+ ` Status: ${String(p.status ?? 'unknown')}`,
11
+ ` Source language: ${String(p.source_language ?? '?')}`,
12
+ ` Target langs: ${p.target_languages ? (Array.isArray(p.target_languages) ? p.target_languages.join(', ') : String(p.target_languages)) : 'none'}`,
13
+ ` Source: ${String(p.source ?? '?')}`,
14
+ ` Created: ${String(p.created_at ?? '?')}`,
15
+ ];
16
+ if (p.brand_voice) {
17
+ lines.push(` Brand voice: ${String(p.brand_voice)}`);
18
+ }
19
+ return {
20
+ content: [{ type: 'text', text: lines.join('\n') }],
21
+ };
22
+ }
23
+ catch (err) {
24
+ const message = err instanceof Object && err !== null && 'response' in err
25
+ ? (err.response?.data?.error || 'Unknown error')
26
+ : err instanceof Error
27
+ ? err.message
28
+ : 'Unknown error';
29
+ return {
30
+ content: [{ type: 'text', text: `❌ Failed to get project: ${message}` }],
31
+ isError: true,
32
+ };
33
+ }
34
+ }
35
+ //# sourceMappingURL=project-get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-get.js","sourceRoot":"","sources":["../../src/tools/project-get.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAqB,EAAE,MAAwB;IACpF,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,UAAU,EAAE,CAAC,CAAC;QAC7D,MAAM,CAAC,GAAG,QAAQ,CAAC,IAA+B,CAAC;QAEnD,MAAM,KAAK,GAAa;YACtB,eAAe,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,EAAE;YAC5C,EAAE;YACF,sBAAsB,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE;YAC3C,sBAAsB,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,EAAE;YACrD,sBAAsB,MAAM,CAAC,CAAC,CAAC,eAAe,IAAI,GAAG,CAAC,EAAE;YACxD,sBAAsB,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;YACtJ,sBAAsB,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE;YAC/C,sBAAsB,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,EAAE;SACpD,CAAC;QAEF,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC5D,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,4BAA4B,OAAO,EAAE,EAAE,CAAC;YACjF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { AxiosInstance } from 'axios';
2
+ interface ProjectLanguageAddParams {
3
+ project_id: string;
4
+ language_id: string;
5
+ }
6
+ export declare function handleProjectLanguageAdd(client: AxiosInstance, params: ProjectLanguageAddParams): Promise<{
7
+ content: {
8
+ type: "text";
9
+ text: string;
10
+ }[];
11
+ isError?: undefined;
12
+ } | {
13
+ content: {
14
+ type: "text";
15
+ text: string;
16
+ }[];
17
+ isError: boolean;
18
+ }>;
19
+ export {};
20
+ //# sourceMappingURL=project-language-add.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-language-add.d.ts","sourceRoot":"","sources":["../../src/tools/project-language-add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,UAAU,wBAAwB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,wBAAwB;;;;;;;;;;;;GA0BrG"}
@@ -0,0 +1,27 @@
1
+ export async function handleProjectLanguageAdd(client, params) {
2
+ const { project_id, language_id } = params;
3
+ try {
4
+ const response = await client.post(`/projects/${project_id}/languages`, { language_id });
5
+ const result = response.data;
6
+ return {
7
+ content: [
8
+ {
9
+ type: 'text',
10
+ text: `✅ Language added to project.\n Project: ${project_id}\n Language ID: ${language_id}`,
11
+ },
12
+ ],
13
+ };
14
+ }
15
+ catch (err) {
16
+ const message = err instanceof Object && err !== null && 'response' in err
17
+ ? (err.response?.data?.error || 'Unknown error')
18
+ : err instanceof Error
19
+ ? err.message
20
+ : 'Unknown error';
21
+ return {
22
+ content: [{ type: 'text', text: `❌ Failed to add language: ${message}` }],
23
+ isError: true,
24
+ };
25
+ }
26
+ }
27
+ //# sourceMappingURL=project-language-add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-language-add.js","sourceRoot":"","sources":["../../src/tools/project-language-add.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,MAAqB,EAAE,MAAgC;IACpG,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,UAAU,YAAY,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;QACzF,MAAM,MAAM,GAAG,QAAQ,CAAC,IAA+B,CAAC;QAExD,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,4CAA4C,UAAU,oBAAoB,WAAW,EAAE;iBAC9F;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,6BAA6B,OAAO,EAAE,EAAE,CAAC;YAClF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { AxiosInstance } from 'axios';
2
+ interface ProjectLanguageRemoveParams {
3
+ project_id: string;
4
+ language_id: string;
5
+ }
6
+ export declare function handleProjectLanguageRemove(client: AxiosInstance, params: ProjectLanguageRemoveParams): Promise<{
7
+ content: {
8
+ type: "text";
9
+ text: string;
10
+ }[];
11
+ isError?: undefined;
12
+ } | {
13
+ content: {
14
+ type: "text";
15
+ text: string;
16
+ }[];
17
+ isError: boolean;
18
+ }>;
19
+ export {};
20
+ //# sourceMappingURL=project-language-remove.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-language-remove.d.ts","sourceRoot":"","sources":["../../src/tools/project-language-remove.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,UAAU,2BAA2B;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,2BAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,2BAA2B;;;;;;;;;;;;GAoB3G"}
@@ -0,0 +1,21 @@
1
+ export async function handleProjectLanguageRemove(client, params) {
2
+ const { project_id, language_id } = params;
3
+ try {
4
+ await client.delete(`/projects/${project_id}/languages/${language_id}`);
5
+ return {
6
+ content: [{ type: 'text', text: `✅ Language ${language_id} removed from project ${project_id}.` }],
7
+ };
8
+ }
9
+ 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 remove language: ${message}` }],
17
+ isError: true,
18
+ };
19
+ }
20
+ }
21
+ //# sourceMappingURL=project-language-remove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-language-remove.js","sourceRoot":"","sources":["../../src/tools/project-language-remove.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,MAAqB,EAAE,MAAmC;IAC1G,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAE3C,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,MAAM,CAAC,aAAa,UAAU,cAAc,WAAW,EAAE,CAAC,CAAC;QAExE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,cAAc,WAAW,yBAAyB,UAAU,GAAG,EAAE,CAAC;SAC5G,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"}
@@ -0,0 +1,20 @@
1
+ import { AxiosInstance } from 'axios';
2
+ interface ProjectListParams {
3
+ page?: number;
4
+ limit?: number;
5
+ }
6
+ export declare function handleProjectList(client: AxiosInstance, params: ProjectListParams): Promise<{
7
+ content: {
8
+ type: "text";
9
+ text: string;
10
+ }[];
11
+ isError?: undefined;
12
+ } | {
13
+ content: {
14
+ type: "text";
15
+ text: string;
16
+ }[];
17
+ isError: boolean;
18
+ }>;
19
+ export {};
20
+ //# sourceMappingURL=project-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-list.d.ts","sourceRoot":"","sources":["../../src/tools/project-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB;;;;;;;;;;;;GA6CvF"}
@@ -0,0 +1,46 @@
1
+ export async function handleProjectList(client, params) {
2
+ const { page, limit } = params;
3
+ try {
4
+ const query = new URLSearchParams();
5
+ if (page)
6
+ query.set('page', String(page));
7
+ if (limit)
8
+ query.set('limit', String(limit));
9
+ const qs = query.toString();
10
+ const url = `/projects${qs ? `?${qs}` : ''}`;
11
+ const response = await client.get(url);
12
+ const data = response.data;
13
+ const projects = Array.isArray(data) ? data : data.data ?? [];
14
+ if (projects.length === 0) {
15
+ return {
16
+ content: [{ type: 'text', text: '📁 No projects found. Create one with babelize_project_create.' }],
17
+ };
18
+ }
19
+ const lines = [`📁 Projects (${projects.length}):`, ''];
20
+ for (const p of projects) {
21
+ const name = String(p.name ?? 'Unnamed');
22
+ const id = String(p.id ?? '?');
23
+ const status = String(p.status ?? 'unknown');
24
+ const source = String(p.source_language ?? '?');
25
+ const targets = p.target_languages ? (Array.isArray(p.target_languages) ? p.target_languages.join(', ') : String(p.target_languages)) : 'none';
26
+ lines.push(` • ${name}`);
27
+ lines.push(` ID: ${id} | Status: ${status} | Source: ${source} | Targets: ${targets}`);
28
+ lines.push('');
29
+ }
30
+ return {
31
+ content: [{ type: 'text', text: lines.join('\n') }],
32
+ };
33
+ }
34
+ catch (err) {
35
+ const message = err instanceof Object && err !== null && 'response' in err
36
+ ? (err.response?.data?.error || 'Unknown error')
37
+ : err instanceof Error
38
+ ? err.message
39
+ : 'Unknown error';
40
+ return {
41
+ content: [{ type: 'text', text: `❌ Failed to list projects: ${message}` }],
42
+ isError: true,
43
+ };
44
+ }
45
+ }
46
+ //# sourceMappingURL=project-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-list.js","sourceRoot":"","sources":["../../src/tools/project-list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { AxiosInstance } from 'axios';
2
+ interface ProjectSyncParams {
3
+ project_id: string;
4
+ }
5
+ export declare function handleProjectSync(client: AxiosInstance, params: ProjectSyncParams): Promise<{
6
+ content: {
7
+ type: "text";
8
+ text: string;
9
+ }[];
10
+ isError?: undefined;
11
+ } | {
12
+ content: {
13
+ type: "text";
14
+ text: string;
15
+ }[];
16
+ isError: boolean;
17
+ }>;
18
+ export {};
19
+ //# sourceMappingURL=project-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-sync.d.ts","sourceRoot":"","sources":["../../src/tools/project-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,UAAU,iBAAiB;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,iBAAiB;;;;;;;;;;;;GA6BvF"}
@@ -0,0 +1,29 @@
1
+ export async function handleProjectSync(client, params) {
2
+ const { project_id } = params;
3
+ try {
4
+ const response = await client.post(`/projects/${project_id}/sync`);
5
+ const result = response.data;
6
+ const status = String(result.status ?? 'triggered');
7
+ const message = String(result.message ?? 'Sync triggered.');
8
+ return {
9
+ content: [
10
+ {
11
+ type: 'text',
12
+ text: `🔄 Sync for project ${project_id}:\n Status: ${status}\n ${message}`,
13
+ },
14
+ ],
15
+ };
16
+ }
17
+ 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 sync project: ${message}` }],
25
+ isError: true,
26
+ };
27
+ }
28
+ }
29
+ //# sourceMappingURL=project-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-sync.js","sourceRoot":"","sources":["../../src/tools/project-sync.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAqB,EAAE,MAAyB;IACtF,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;IAE9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,UAAU,OAAO,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,QAAQ,CAAC,IAA+B,CAAC;QAExD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,WAAW,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,iBAAiB,CAAC,CAAC;QAE5D,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,uBAAuB,UAAU,gBAAgB,MAAM,OAAO,OAAO,EAAE;iBAC9E;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,6BAA6B,OAAO,EAAE,EAAE,CAAC;YAClF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { AxiosInstance } from 'axios';
2
+ export declare function handleProviderTokensList(client: AxiosInstance): Promise<{
3
+ content: {
4
+ type: "text";
5
+ text: string;
6
+ }[];
7
+ isError?: undefined;
8
+ } | {
9
+ content: {
10
+ type: "text";
11
+ text: string;
12
+ }[];
13
+ isError: boolean;
14
+ }>;
15
+ //# sourceMappingURL=provider-tokens-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-tokens-list.d.ts","sourceRoot":"","sources":["../../src/tools/provider-tokens-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,aAAa;;;;;;;;;;;;GAiCnE"}
@@ -0,0 +1,33 @@
1
+ export async function handleProviderTokensList(client) {
2
+ try {
3
+ const response = await client.get('/auth/provider-tokens');
4
+ const tokens = Array.isArray(response.data) ? response.data : [];
5
+ if (tokens.length === 0) {
6
+ return {
7
+ content: [{ type: 'text', text: '🔑 No provider tokens configured. Use babelize_run with the default provider or add a BYOK token.' }],
8
+ };
9
+ }
10
+ const lines = [`🔑 Provider Tokens (${tokens.length}):`, ''];
11
+ for (const t of tokens) {
12
+ const provider = String(t.provider ?? '?');
13
+ const createdAt = String(t.created_at ?? '?');
14
+ const expiresAt = t.expires_at ? String(t.expires_at) : 'never';
15
+ lines.push(` • ${provider.padEnd(12)} Created: ${createdAt} | Expires: ${expiresAt}`);
16
+ }
17
+ return {
18
+ content: [{ type: 'text', text: lines.join('\n') }],
19
+ };
20
+ }
21
+ catch (err) {
22
+ const message = err instanceof Object && err !== null && 'response' in err
23
+ ? (err.response?.data?.error || 'Unknown error')
24
+ : err instanceof Error
25
+ ? err.message
26
+ : 'Unknown error';
27
+ return {
28
+ content: [{ type: 'text', text: `❌ Failed to list provider tokens: ${message}` }],
29
+ isError: true,
30
+ };
31
+ }
32
+ }
33
+ //# sourceMappingURL=provider-tokens-list.js.map