@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.
- package/README.md +66 -6
- package/dist/index.js +29 -6
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +330 -40
- package/dist/server.js.map +1 -1
- package/dist/tools/babel-get.d.ts +19 -0
- package/dist/tools/babel-get.d.ts.map +1 -0
- package/dist/tools/babel-get.js +48 -0
- package/dist/tools/babel-get.js.map +1 -0
- package/dist/tools/babel-list.d.ts +21 -0
- package/dist/tools/babel-list.d.ts.map +1 -0
- package/dist/tools/babel-list.js +47 -0
- package/dist/tools/babel-list.js.map +1 -0
- package/dist/tools/engine-analyze.d.ts +20 -0
- package/dist/tools/engine-analyze.d.ts.map +1 -0
- package/dist/tools/engine-analyze.js +29 -0
- package/dist/tools/engine-analyze.js.map +1 -0
- package/dist/tools/glossary-delete.d.ts +20 -0
- package/dist/tools/glossary-delete.d.ts.map +1 -0
- package/dist/tools/glossary-delete.js +21 -0
- package/dist/tools/glossary-delete.js.map +1 -0
- package/dist/tools/glossary-export.d.ts +19 -0
- package/dist/tools/glossary-export.d.ts.map +1 -0
- package/dist/tools/glossary-export.js +29 -0
- package/dist/tools/glossary-export.js.map +1 -0
- package/dist/tools/glossary-import.d.ts +20 -0
- package/dist/tools/glossary-import.d.ts.map +1 -0
- package/dist/tools/glossary-import.js +36 -0
- package/dist/tools/glossary-import.js.map +1 -0
- package/dist/tools/invitation-send.d.ts +21 -0
- package/dist/tools/invitation-send.d.ts.map +1 -0
- package/dist/tools/invitation-send.js +32 -0
- package/dist/tools/invitation-send.js.map +1 -0
- package/dist/tools/language-codes.d.ts +21 -0
- package/dist/tools/language-codes.d.ts.map +1 -0
- package/dist/tools/language-codes.js +77 -0
- package/dist/tools/language-codes.js.map +1 -0
- package/dist/tools/language-list.d.ts +15 -0
- package/dist/tools/language-list.d.ts.map +1 -0
- package/dist/tools/language-list.js +34 -0
- package/dist/tools/language-list.js.map +1 -0
- package/dist/tools/me.d.ts +15 -0
- package/dist/tools/me.d.ts.map +1 -0
- package/dist/tools/me.js +37 -0
- package/dist/tools/me.js.map +1 -0
- package/dist/tools/member-list.d.ts +19 -0
- package/dist/tools/member-list.d.ts.map +1 -0
- package/dist/tools/member-list.js +35 -0
- package/dist/tools/member-list.js.map +1 -0
- package/dist/tools/pr-raise.d.ts +19 -0
- package/dist/tools/pr-raise.d.ts.map +1 -0
- package/dist/tools/pr-raise.js +33 -0
- package/dist/tools/pr-raise.js.map +1 -0
- package/dist/tools/project-create.d.ts +24 -0
- package/dist/tools/project-create.d.ts.map +1 -0
- package/dist/tools/project-create.js +43 -0
- package/dist/tools/project-create.js.map +1 -0
- package/dist/tools/project-download.d.ts +19 -0
- package/dist/tools/project-download.d.ts.map +1 -0
- package/dist/tools/project-download.js +32 -0
- package/dist/tools/project-download.js.map +1 -0
- package/dist/tools/project-get.d.ts +19 -0
- package/dist/tools/project-get.d.ts.map +1 -0
- package/dist/tools/project-get.js +35 -0
- package/dist/tools/project-get.js.map +1 -0
- package/dist/tools/project-language-add.d.ts +20 -0
- package/dist/tools/project-language-add.d.ts.map +1 -0
- package/dist/tools/project-language-add.js +27 -0
- package/dist/tools/project-language-add.js.map +1 -0
- package/dist/tools/project-language-remove.d.ts +20 -0
- package/dist/tools/project-language-remove.d.ts.map +1 -0
- package/dist/tools/project-language-remove.js +21 -0
- package/dist/tools/project-language-remove.js.map +1 -0
- package/dist/tools/project-list.d.ts +20 -0
- package/dist/tools/project-list.d.ts.map +1 -0
- package/dist/tools/project-list.js +46 -0
- package/dist/tools/project-list.js.map +1 -0
- package/dist/tools/project-sync.d.ts +19 -0
- package/dist/tools/project-sync.d.ts.map +1 -0
- package/dist/tools/project-sync.js +29 -0
- package/dist/tools/project-sync.js.map +1 -0
- package/dist/tools/provider-tokens-list.d.ts +15 -0
- package/dist/tools/provider-tokens-list.d.ts.map +1 -0
- package/dist/tools/provider-tokens-list.js +33 -0
- package/dist/tools/provider-tokens-list.js.map +1 -0
- package/dist/tools/run.d.ts +1 -0
- package/dist/tools/run.d.ts.map +1 -1
- package/dist/tools/run.js +6 -3
- package/dist/tools/run.js.map +1 -1
- package/dist/tools/tm-export.d.ts +19 -0
- package/dist/tools/tm-export.d.ts.map +1 -0
- package/dist/tools/tm-export.js +29 -0
- package/dist/tools/tm-export.js.map +1 -0
- package/dist/tools/tm-get.d.ts +21 -0
- package/dist/tools/tm-get.d.ts.map +1 -0
- package/dist/tools/tm-get.js +45 -0
- package/dist/tools/tm-get.js.map +1 -0
- package/dist/tools/tm-set.d.ts +23 -0
- package/dist/tools/tm-set.d.ts.map +1 -0
- package/dist/tools/tm-set.js +44 -0
- package/dist/tools/tm-set.js.map +1 -0
- package/dist/utils/scan-strings.d.ts +1 -0
- package/dist/utils/scan-strings.d.ts.map +1 -1
- package/dist/utils/scan-strings.js +59 -1
- package/dist/utils/scan-strings.js.map +1 -1
- 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
|