@babelize/mcp 1.0.4 → 1.0.6
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/dist/server.d.ts.map +1 -1
- package/dist/server.js +187 -59
- package/dist/server.js.map +1 -1
- package/dist/tools/babel-get.d.ts +2 -8
- package/dist/tools/babel-get.d.ts.map +1 -1
- package/dist/tools/babel-get.js +18 -26
- package/dist/tools/babel-get.js.map +1 -1
- package/dist/tools/babel-list.d.ts +2 -8
- package/dist/tools/babel-list.d.ts.map +1 -1
- package/dist/tools/babel-list.js +17 -28
- package/dist/tools/babel-list.js.map +1 -1
- package/dist/tools/engine-analyze.d.ts +2 -8
- package/dist/tools/engine-analyze.d.ts.map +1 -1
- package/dist/tools/engine-analyze.js +7 -16
- package/dist/tools/engine-analyze.js.map +1 -1
- package/dist/tools/glossary-delete.d.ts +2 -8
- package/dist/tools/glossary-delete.d.ts.map +1 -1
- package/dist/tools/glossary-delete.js +5 -14
- package/dist/tools/glossary-delete.js.map +1 -1
- package/dist/tools/glossary-export.d.ts +2 -8
- package/dist/tools/glossary-export.d.ts.map +1 -1
- package/dist/tools/glossary-export.js +6 -22
- package/dist/tools/glossary-export.js.map +1 -1
- package/dist/tools/glossary-get.d.ts +2 -8
- package/dist/tools/glossary-get.d.ts.map +1 -1
- package/dist/tools/glossary-get.js +13 -24
- package/dist/tools/glossary-get.js.map +1 -1
- package/dist/tools/glossary-import.d.ts +2 -8
- package/dist/tools/glossary-import.d.ts.map +1 -1
- package/dist/tools/glossary-import.js +11 -28
- package/dist/tools/glossary-import.js.map +1 -1
- package/dist/tools/glossary-set.d.ts +2 -8
- package/dist/tools/glossary-set.d.ts.map +1 -1
- package/dist/tools/glossary-set.js +12 -24
- package/dist/tools/glossary-set.js.map +1 -1
- package/dist/tools/invitation-send.d.ts +2 -8
- package/dist/tools/invitation-send.d.ts.map +1 -1
- package/dist/tools/invitation-send.js +10 -25
- package/dist/tools/invitation-send.js.map +1 -1
- package/dist/tools/language-codes.d.ts +2 -8
- package/dist/tools/language-codes.d.ts.map +1 -1
- package/dist/tools/language-codes.js +19 -37
- package/dist/tools/language-codes.js.map +1 -1
- package/dist/tools/language-list.d.ts +2 -8
- package/dist/tools/language-list.d.ts.map +1 -1
- package/dist/tools/language-list.js +9 -19
- package/dist/tools/language-list.js.map +1 -1
- package/dist/tools/me.d.ts +2 -8
- package/dist/tools/me.d.ts.map +1 -1
- package/dist/tools/me.js +13 -20
- package/dist/tools/me.js.map +1 -1
- package/dist/tools/member-list.d.ts +2 -8
- package/dist/tools/member-list.d.ts.map +1 -1
- package/dist/tools/member-list.js +21 -21
- package/dist/tools/member-list.js.map +1 -1
- package/dist/tools/pr-raise.d.ts +2 -8
- package/dist/tools/pr-raise.d.ts.map +1 -1
- package/dist/tools/pr-raise.js +12 -25
- package/dist/tools/pr-raise.js.map +1 -1
- package/dist/tools/project-create.d.ts +2 -8
- package/dist/tools/project-create.d.ts.map +1 -1
- package/dist/tools/project-create.js +26 -34
- package/dist/tools/project-create.js.map +1 -1
- package/dist/tools/project-download.d.ts +3 -8
- package/dist/tools/project-download.d.ts.map +1 -1
- package/dist/tools/project-download.js +15 -21
- package/dist/tools/project-download.js.map +1 -1
- package/dist/tools/project-get.d.ts +2 -8
- package/dist/tools/project-get.d.ts.map +1 -1
- package/dist/tools/project-get.js +15 -23
- package/dist/tools/project-get.js.map +1 -1
- package/dist/tools/project-language-add.d.ts +2 -8
- package/dist/tools/project-language-add.d.ts.map +1 -1
- package/dist/tools/project-language-add.js +9 -20
- package/dist/tools/project-language-add.js.map +1 -1
- package/dist/tools/project-language-remove.d.ts +2 -8
- package/dist/tools/project-language-remove.d.ts.map +1 -1
- package/dist/tools/project-language-remove.js +9 -14
- package/dist/tools/project-language-remove.js.map +1 -1
- package/dist/tools/project-list.d.ts +2 -8
- package/dist/tools/project-list.d.ts.map +1 -1
- package/dist/tools/project-list.js +21 -28
- package/dist/tools/project-list.js.map +1 -1
- package/dist/tools/project-sync.d.ts +2 -8
- package/dist/tools/project-sync.d.ts.map +1 -1
- package/dist/tools/project-sync.js +12 -21
- package/dist/tools/project-sync.js.map +1 -1
- package/dist/tools/provider-tokens-list.d.ts +2 -8
- package/dist/tools/provider-tokens-list.d.ts.map +1 -1
- package/dist/tools/provider-tokens-list.js +10 -20
- package/dist/tools/provider-tokens-list.js.map +1 -1
- package/dist/tools/run-and-wait.d.ts +19 -0
- package/dist/tools/run-and-wait.d.ts.map +1 -0
- package/dist/tools/run-and-wait.js +99 -0
- package/dist/tools/run-and-wait.js.map +1 -0
- package/dist/tools/run.d.ts +2 -8
- package/dist/tools/run.d.ts.map +1 -1
- package/dist/tools/run.js +17 -31
- package/dist/tools/run.js.map +1 -1
- package/dist/tools/scan.d.ts.map +1 -1
- package/dist/tools/scan.js +4 -7
- package/dist/tools/scan.js.map +1 -1
- package/dist/tools/status.d.ts +2 -8
- package/dist/tools/status.d.ts.map +1 -1
- package/dist/tools/status.js +33 -19
- package/dist/tools/status.js.map +1 -1
- package/dist/tools/tm-export.d.ts +2 -8
- package/dist/tools/tm-export.d.ts.map +1 -1
- package/dist/tools/tm-export.js +6 -22
- package/dist/tools/tm-export.js.map +1 -1
- package/dist/tools/tm-get.d.ts +2 -8
- package/dist/tools/tm-get.d.ts.map +1 -1
- package/dist/tools/tm-get.js +21 -31
- package/dist/tools/tm-get.js.map +1 -1
- package/dist/tools/tm-set.d.ts +2 -8
- package/dist/tools/tm-set.d.ts.map +1 -1
- package/dist/tools/tm-set.js +14 -35
- package/dist/tools/tm-set.js.map +1 -1
- package/dist/utils/api.d.ts +6 -0
- package/dist/utils/api.d.ts.map +1 -0
- package/dist/utils/api.js +45 -0
- package/dist/utils/api.js.map +1 -0
- package/dist/utils/errors.d.ts +9 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +84 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/response.d.ts +8 -0
- package/dist/utils/response.d.ts.map +1 -0
- package/dist/utils/response.js +17 -0
- package/dist/utils/response.js.map +1 -0
- package/dist/utils/scan-strings.d.ts +1 -1
- package/dist/utils/scan-strings.d.ts.map +1 -1
- package/dist/utils/scan-strings.js +129 -51
- package/dist/utils/scan-strings.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,3 +1,6 @@
|
|
|
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 handleGlossarySet(client, params) {
|
|
2
5
|
const { project_id, source, target, type, locale } = params;
|
|
3
6
|
if (!source.trim() || !target.trim()) {
|
|
@@ -26,8 +29,8 @@ export async function handleGlossarySet(client, params) {
|
|
|
26
29
|
translations,
|
|
27
30
|
});
|
|
28
31
|
const entry = response.data;
|
|
29
|
-
const term =
|
|
30
|
-
const eType =
|
|
32
|
+
const term = asString(entry?.term, source.trim());
|
|
33
|
+
const eType = asString(entry?.type, backendType);
|
|
31
34
|
const rawTranslations = entry?.translations;
|
|
32
35
|
const responseTranslations = rawTranslations && typeof rawTranslations === 'object'
|
|
33
36
|
? rawTranslations
|
|
@@ -35,30 +38,15 @@ export async function handleGlossarySet(client, params) {
|
|
|
35
38
|
const translationDisplay = Object.keys(responseTranslations).length > 0
|
|
36
39
|
? Object.entries(responseTranslations).map(([l, t]) => `${l}: "${t}"`).join(', ')
|
|
37
40
|
: '(none)';
|
|
38
|
-
return
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
` Term: "${term}"`,
|
|
45
|
-
` Type: ${eType}`,
|
|
46
|
-
` Translations: ${translationDisplay}`,
|
|
47
|
-
].join('\n'),
|
|
48
|
-
},
|
|
49
|
-
],
|
|
50
|
-
};
|
|
41
|
+
return success([
|
|
42
|
+
'✅ Glossary entry added:',
|
|
43
|
+
` Term: "${term}"`,
|
|
44
|
+
` Type: ${eType}`,
|
|
45
|
+
` Translations: ${translationDisplay}`,
|
|
46
|
+
].join('\n'));
|
|
51
47
|
}
|
|
52
48
|
catch (err) {
|
|
53
|
-
|
|
54
|
-
? (err.response?.data?.error || 'Unknown error')
|
|
55
|
-
: err instanceof Error
|
|
56
|
-
? err.message
|
|
57
|
-
: 'Unknown error';
|
|
58
|
-
return {
|
|
59
|
-
content: [{ type: 'text', text: `❌ Failed to set glossary entry: ${message}` }],
|
|
60
|
-
isError: true,
|
|
61
|
-
};
|
|
49
|
+
return toErrorResponse(err, 'Failed to set glossary entry');
|
|
62
50
|
}
|
|
63
51
|
}
|
|
64
52
|
//# sourceMappingURL=glossary-set.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glossary-set.js","sourceRoot":"","sources":["../../src/tools/glossary-set.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"glossary-set.js","sourceRoot":"","sources":["../../src/tools/glossary-set.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;AAU3C,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAAqB,EAAE,MAAyB;IACtF,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAE5D,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACrC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,wCAAwC,EAAE,CAAC;YACpF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,KAAK,qBAAqB,IAAI,IAAI,KAAK,kBAAkB;QAC/E,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,iBAAiB,CAAC;IAEtB,MAAM,aAAa,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC;IACrC,IAAI,WAAW,KAAK,qBAAqB,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5D,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,wDAAwD,EAAE,CAAC;YACpG,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,WAAW,KAAK,qBAAqB;QACxD,CAAC,CAAC,EAAE,CAAC,aAAc,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE;QACrC,CAAC,CAAC,EAAE,CAAC;IAEP,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,UAAU,WAAW,EAAE;YACrE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;YACnB,IAAI,EAAE,WAAW;YACjB,YAAY;SACb,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,QAAQ,CAAC,IAA+B,CAAC;QACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACjD,MAAM,eAAe,GAAG,KAAK,EAAE,YAAY,CAAC;QAC5C,MAAM,oBAAoB,GAA2B,eAAe,IAAI,OAAO,eAAe,KAAK,QAAQ;YACzG,CAAC,CAAE,eAA0C;YAC7C,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM,GAAG,CAAC;YACrE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACjF,CAAC,CAAC,QAAQ,CAAC;QAEb,OAAO,OAAO,CAAC;YACb,yBAAyB;YACzB,YAAY,IAAI,GAAG;YACnB,WAAW,KAAK,EAAE;YAClB,mBAAmB,kBAAkB,EAAE;SACxC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChB,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,eAAe,CAAC,GAAG,EAAE,8BAA8B,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}
|
|
@@ -9,13 +9,7 @@ export declare function handleInvitationSend(client: AxiosInstance, params: Invi
|
|
|
9
9
|
type: "text";
|
|
10
10
|
text: string;
|
|
11
11
|
}[];
|
|
12
|
-
isError
|
|
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=invitation-send.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invitation-send.d.ts","sourceRoot":"","sources":["../../src/tools/invitation-send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"invitation-send.d.ts","sourceRoot":"","sources":["../../src/tools/invitation-send.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,UAAU,oBAAoB;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACrC;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,oBAAoB;;;;;;iDAa7F"}
|
|
@@ -1,32 +1,17 @@
|
|
|
1
|
+
import { toErrorResponse } from '../utils/errors.js';
|
|
2
|
+
import { success } from '../utils/response.js';
|
|
1
3
|
export async function handleInvitationSend(client, params) {
|
|
2
|
-
const { project_id, email, role } = params;
|
|
3
4
|
try {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
`✅ Invitation sent!`,
|
|
12
|
-
` Email: ${email}`,
|
|
13
|
-
` Role: ${role}`,
|
|
14
|
-
` Project: ${project_id}`,
|
|
15
|
-
].join('\n'),
|
|
16
|
-
},
|
|
17
|
-
],
|
|
18
|
-
};
|
|
5
|
+
await client.post(`/projects/${params.project_id}/invitations`, { email: params.email, role: params.role });
|
|
6
|
+
return success([
|
|
7
|
+
'✅ Invitation sent!',
|
|
8
|
+
` Email: ${params.email}`,
|
|
9
|
+
` Role: ${params.role}`,
|
|
10
|
+
` Project: ${params.project_id}`,
|
|
11
|
+
].join('\n'));
|
|
19
12
|
}
|
|
20
13
|
catch (err) {
|
|
21
|
-
|
|
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 send invitation: ${message}` }],
|
|
28
|
-
isError: true,
|
|
29
|
-
};
|
|
14
|
+
return toErrorResponse(err, 'Failed to send invitation');
|
|
30
15
|
}
|
|
31
16
|
}
|
|
32
17
|
//# sourceMappingURL=invitation-send.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invitation-send.js","sourceRoot":"","sources":["../../src/tools/invitation-send.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"invitation-send.js","sourceRoot":"","sources":["../../src/tools/invitation-send.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAQ/C,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAqB,EAAE,MAA4B;IAC5F,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,UAAU,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAE5G,OAAO,OAAO,CAAC;YACb,oBAAoB;YACpB,YAAY,MAAM,CAAC,KAAK,EAAE;YAC1B,YAAY,MAAM,CAAC,IAAI,EAAE;YACzB,cAAc,MAAM,CAAC,UAAU,EAAE;SAClC,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"}
|
|
@@ -9,13 +9,7 @@ export declare function handleLanguageCodes(client: AxiosInstance, params: Langu
|
|
|
9
9
|
type: "text";
|
|
10
10
|
text: string;
|
|
11
11
|
}[];
|
|
12
|
-
isError
|
|
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=language-codes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-codes.d.ts","sourceRoot":"","sources":["../../src/tools/language-codes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"language-codes.d.ts","sourceRoot":"","sources":["../../src/tools/language-codes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC,UAAU,mBAAmB;IAC3B,MAAM,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,WAAW,GAAG,aAAa,GAAG,OAAO,CAAC;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,mBAAmB;;;;;;iDAwD3F"}
|
|
@@ -1,3 +1,6 @@
|
|
|
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 handleLanguageCodes(client, params) {
|
|
2
5
|
const { action, iso_code, flores_code } = params;
|
|
3
6
|
try {
|
|
@@ -21,57 +24,36 @@ export async function handleLanguageCodes(client, params) {
|
|
|
21
24
|
const data = response.data;
|
|
22
25
|
if (action === 'to-flores' || action === 'from-flores') {
|
|
23
26
|
const result = data;
|
|
24
|
-
return {
|
|
25
|
-
content: [
|
|
26
|
-
{
|
|
27
|
-
type: 'text',
|
|
28
|
-
text: `✅ ${iso_code || flores_code} → ${String(result.flores_code || result.iso_code || result.result || '?')}`,
|
|
29
|
-
},
|
|
30
|
-
],
|
|
31
|
-
};
|
|
27
|
+
return success(`✅ ${iso_code || flores_code} → ${asString(result.flores_code || result.iso_code || result.result, '?')}`);
|
|
32
28
|
}
|
|
33
29
|
if (action === 'check') {
|
|
34
30
|
const result = data;
|
|
35
31
|
const supported = result.supported === true || result.supported === 'true';
|
|
36
|
-
return {
|
|
37
|
-
content: [
|
|
38
|
-
{
|
|
39
|
-
type: 'text',
|
|
40
|
-
text: `${iso_code} is ${supported ? '✅ supported' : '❌ not supported'}.`,
|
|
41
|
-
},
|
|
42
|
-
],
|
|
43
|
-
};
|
|
32
|
+
return success(`${iso_code} is ${supported ? '✅ supported' : '❌ not supported'}.`);
|
|
44
33
|
}
|
|
45
|
-
const items =
|
|
34
|
+
const items = extractList(data, 'codes', 'languages', 'data', 'rtl');
|
|
46
35
|
if (items.length === 0) {
|
|
47
|
-
return
|
|
48
|
-
content: [{ type: 'text', text: 'No results found.' }],
|
|
49
|
-
};
|
|
36
|
+
return success('No results found.');
|
|
50
37
|
}
|
|
51
38
|
const lines = [
|
|
52
39
|
`🌐 Language Codes${action ? ` (${action})` : ''} (${items.length}):`,
|
|
53
40
|
'',
|
|
54
41
|
];
|
|
55
42
|
for (const item of items) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
43
|
+
if (typeof item === 'string') {
|
|
44
|
+
lines.push(` • ${item.padEnd(10)}`);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
const code = asString(item.iso ?? item.code ?? item.iso_code, '?');
|
|
48
|
+
const name = asString(item.name ?? item.flores, '?');
|
|
49
|
+
const rtl = item.rtl ?? item.is_rtl ? ' (RTL)' : '';
|
|
50
|
+
lines.push(` • ${code.padEnd(10)} ${name}${rtl}`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return success(lines.join('\n'));
|
|
64
54
|
}
|
|
65
55
|
catch (err) {
|
|
66
|
-
|
|
67
|
-
? (err.response?.data?.error || 'Unknown error')
|
|
68
|
-
: err instanceof Error
|
|
69
|
-
? err.message
|
|
70
|
-
: 'Unknown error';
|
|
71
|
-
return {
|
|
72
|
-
content: [{ type: 'text', text: `❌ Failed to get language codes: ${message}` }],
|
|
73
|
-
isError: true,
|
|
74
|
-
};
|
|
56
|
+
return toErrorResponse(err, 'Failed to get language codes');
|
|
75
57
|
}
|
|
76
58
|
}
|
|
77
59
|
//# sourceMappingURL=language-codes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-codes.js","sourceRoot":"","sources":["../../src/tools/language-codes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"language-codes.js","sourceRoot":"","sources":["../../src/tools/language-codes.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,6 @@ export declare function handleLanguageList(client: AxiosInstance): Promise<{
|
|
|
4
4
|
type: "text";
|
|
5
5
|
text: string;
|
|
6
6
|
}[];
|
|
7
|
-
isError
|
|
8
|
-
} |
|
|
9
|
-
content: {
|
|
10
|
-
type: "text";
|
|
11
|
-
text: string;
|
|
12
|
-
}[];
|
|
13
|
-
isError: boolean;
|
|
14
|
-
}>;
|
|
7
|
+
isError: true;
|
|
8
|
+
} | import("../utils/response.js").ToolResponse>;
|
|
15
9
|
//# sourceMappingURL=language-list.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-list.d.ts","sourceRoot":"","sources":["../../src/tools/language-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"language-list.d.ts","sourceRoot":"","sources":["../../src/tools/language-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,aAAa;;;;;;iDAqB7D"}
|
|
@@ -1,34 +1,24 @@
|
|
|
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 handleLanguageList(client) {
|
|
2
5
|
try {
|
|
3
6
|
const response = await client.get('/languages');
|
|
4
|
-
const
|
|
5
|
-
const languages = Array.isArray(data) ? data : data.data ?? [];
|
|
7
|
+
const languages = extractList(response.data, 'data');
|
|
6
8
|
if (languages.length === 0) {
|
|
7
|
-
return
|
|
8
|
-
content: [{ type: 'text', text: '🌐 No languages found.' }],
|
|
9
|
-
};
|
|
9
|
+
return success('🌐 No languages found.');
|
|
10
10
|
}
|
|
11
11
|
const lines = [`🌐 Supported Languages (${languages.length}):`, ''];
|
|
12
12
|
for (const lang of languages) {
|
|
13
|
-
const code =
|
|
14
|
-
const name =
|
|
13
|
+
const code = asString(lang.language_code ?? lang.code, '?');
|
|
14
|
+
const name = asString(lang.language_name ?? lang.name, '?');
|
|
15
15
|
const rtl = lang.is_rtl ? ' (RTL)' : '';
|
|
16
16
|
lines.push(` • ${code.padEnd(10)} ${name}${rtl}`);
|
|
17
17
|
}
|
|
18
|
-
return
|
|
19
|
-
content: [{ type: 'text', text: lines.join('\n') }],
|
|
20
|
-
};
|
|
18
|
+
return success(lines.join('\n'));
|
|
21
19
|
}
|
|
22
20
|
catch (err) {
|
|
23
|
-
|
|
24
|
-
? (err.response?.data?.error || 'Unknown error')
|
|
25
|
-
: err instanceof Error
|
|
26
|
-
? err.message
|
|
27
|
-
: 'Unknown error';
|
|
28
|
-
return {
|
|
29
|
-
content: [{ type: 'text', text: `❌ Failed to list languages: ${message}` }],
|
|
30
|
-
isError: true,
|
|
31
|
-
};
|
|
21
|
+
return toErrorResponse(err, 'Failed to list languages');
|
|
32
22
|
}
|
|
33
23
|
}
|
|
34
24
|
//# sourceMappingURL=language-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language-list.js","sourceRoot":"","sources":["../../src/tools/language-list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"language-list.js","sourceRoot":"","sources":["../../src/tools/language-list.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;AAExD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAqB;IAC5D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAA8B,CAAC;QAElF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,KAAK,GAAa,CAAC,2BAA2B,SAAS,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9E,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC5D,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;QACrD,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,0BAA0B,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC"}
|
package/dist/tools/me.d.ts
CHANGED
|
@@ -4,12 +4,6 @@ export declare function handleMe(client: AxiosInstance): Promise<{
|
|
|
4
4
|
type: "text";
|
|
5
5
|
text: string;
|
|
6
6
|
}[];
|
|
7
|
-
isError
|
|
8
|
-
} |
|
|
9
|
-
content: {
|
|
10
|
-
type: "text";
|
|
11
|
-
text: string;
|
|
12
|
-
}[];
|
|
13
|
-
isError: boolean;
|
|
14
|
-
}>;
|
|
7
|
+
isError: true;
|
|
8
|
+
} | import("../utils/response.js").ToolResponse>;
|
|
15
9
|
//# sourceMappingURL=me.d.ts.map
|
package/dist/tools/me.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"me.d.ts","sourceRoot":"","sources":["../../src/tools/me.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"me.d.ts","sourceRoot":"","sources":["../../src/tools/me.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC,wBAAsB,QAAQ,CAAC,MAAM,EAAE,aAAa;;;;;;iDA2BnD"}
|
package/dist/tools/me.js
CHANGED
|
@@ -1,37 +1,30 @@
|
|
|
1
|
+
import { toErrorResponse } from '../utils/errors.js';
|
|
2
|
+
import { successWithData } from '../utils/response.js';
|
|
3
|
+
import { asString } from '../utils/api.js';
|
|
1
4
|
export async function handleMe(client) {
|
|
2
5
|
try {
|
|
3
6
|
const response = await client.get('/auth/me');
|
|
4
7
|
const user = response.data;
|
|
5
8
|
const lines = [
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
` ID: ${
|
|
9
|
-
` Email: ${
|
|
10
|
-
` Name: ${
|
|
9
|
+
'👤 Current User:',
|
|
10
|
+
'',
|
|
11
|
+
` ID: ${asString(user.id)}`,
|
|
12
|
+
` Email: ${asString(user.email)}`,
|
|
13
|
+
` Name: ${asString(user.display_name ?? user.name)}`,
|
|
11
14
|
];
|
|
12
15
|
if (user.github_username) {
|
|
13
|
-
lines.push(` GitHub: ${
|
|
16
|
+
lines.push(` GitHub: ${asString(user.github_username)}`);
|
|
14
17
|
}
|
|
15
18
|
if (user.credits_remaining !== undefined && user.credits_remaining !== null) {
|
|
16
|
-
lines.push(` Credits: ${
|
|
19
|
+
lines.push(` Credits: ${asString(user.credits_remaining)}`);
|
|
17
20
|
}
|
|
18
21
|
if (user.role) {
|
|
19
|
-
lines.push(` Role: ${
|
|
22
|
+
lines.push(` Role: ${asString(user.role)}`);
|
|
20
23
|
}
|
|
21
|
-
return
|
|
22
|
-
content: [{ type: 'text', text: lines.join('\n') }],
|
|
23
|
-
};
|
|
24
|
+
return successWithData(lines.join('\n'), 'babelize://me', user);
|
|
24
25
|
}
|
|
25
26
|
catch (err) {
|
|
26
|
-
|
|
27
|
-
? (err.response?.data?.error || 'Unknown error')
|
|
28
|
-
: err instanceof Error
|
|
29
|
-
? err.message
|
|
30
|
-
: 'Unknown error';
|
|
31
|
-
return {
|
|
32
|
-
content: [{ type: 'text', text: `❌ Failed to get user info: ${message}` }],
|
|
33
|
-
isError: true,
|
|
34
|
-
};
|
|
27
|
+
return toErrorResponse(err, 'Failed to get user info');
|
|
35
28
|
}
|
|
36
29
|
}
|
|
37
30
|
//# sourceMappingURL=me.js.map
|
package/dist/tools/me.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"me.js","sourceRoot":"","sources":["../../src/tools/me.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"me.js","sourceRoot":"","sources":["../../src/tools/me.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAW,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAqB;IAClD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAA+B,CAAC;QAEtD,MAAM,KAAK,GAAa;YACtB,kBAAkB;YAClB,EAAE;YACF,gBAAgB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YACnC,gBAAgB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACtC,gBAAgB,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE;SAC3D,CAAC;QAEF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,gBAAgB,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC5E,KAAK,CAAC,IAAI,CAAC,gBAAgB,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,gBAAgB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,eAAe,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;IACzD,CAAC;AACH,CAAC"}
|
|
@@ -7,13 +7,7 @@ export declare function handleMemberList(client: AxiosInstance, params: MemberLi
|
|
|
7
7
|
type: "text";
|
|
8
8
|
text: string;
|
|
9
9
|
}[];
|
|
10
|
-
isError
|
|
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=member-list.d.ts.map
|
|
@@ -1 +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;
|
|
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;AAKtC,UAAU,gBAAgB;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB;;;;;;iDAgCrF"}
|
|
@@ -1,35 +1,35 @@
|
|
|
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 handleMemberList(client, params) {
|
|
2
|
-
const { project_id } = params;
|
|
3
5
|
try {
|
|
4
|
-
const response = await client.get(`/projects/${project_id}/members`);
|
|
6
|
+
const response = await client.get(`/projects/${params.project_id}/members`);
|
|
5
7
|
const members = Array.isArray(response.data) ? response.data : [];
|
|
6
8
|
if (members.length === 0) {
|
|
7
|
-
return
|
|
8
|
-
content: [{ type: 'text', text: '👥 No members found for this project.' }],
|
|
9
|
-
};
|
|
9
|
+
return success('👥 No members found for this project.');
|
|
10
10
|
}
|
|
11
11
|
const lines = [`👥 Project Members (${members.length}):`, ''];
|
|
12
12
|
for (const m of members) {
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
|
|
13
|
+
const rec = m;
|
|
14
|
+
const user = rec.users
|
|
15
|
+
?? rec.user
|
|
16
|
+
?? {};
|
|
17
|
+
const email = asString(user.email ?? rec.email);
|
|
18
|
+
const name = asString(user.display_name ?? user.name ?? rec.display_name ?? rec.name, '');
|
|
19
|
+
const rawRoles = rec.role ?? rec.project_roles ?? rec.roles;
|
|
20
|
+
const role = rawRoles
|
|
21
|
+
? (typeof rawRoles === 'string'
|
|
22
|
+
? rawRoles
|
|
23
|
+
: Array.isArray(rawRoles)
|
|
24
|
+
? rawRoles.map((r) => asString(r.name ?? r.role)).join(', ')
|
|
25
|
+
: asString(rawRoles.name ?? rawRoles.role))
|
|
16
26
|
: '?';
|
|
17
|
-
lines.push(` • ${email} [${
|
|
27
|
+
lines.push(` • ${name ? `${name} <${email}>` : email} [${role}]`);
|
|
18
28
|
}
|
|
19
|
-
return
|
|
20
|
-
content: [{ type: 'text', text: lines.join('\n') }],
|
|
21
|
-
};
|
|
29
|
+
return success(lines.join('\n'));
|
|
22
30
|
}
|
|
23
31
|
catch (err) {
|
|
24
|
-
|
|
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
|
-
};
|
|
32
|
+
return toErrorResponse(err, 'Failed to list members');
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
//# sourceMappingURL=member-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member-list.js","sourceRoot":"","sources":["../../src/tools/member-list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"member-list.js","sourceRoot":"","sources":["../../src/tools/member-list.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;AAM3C,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAqB,EAAE,MAAwB;IACpF,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,UAAU,UAAU,CAAC,CAAC;QAC5E,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,OAAO,CAAC,uCAAuC,CAAC,CAAC;QAC1D,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,GAAG,GAAG,CAA4B,CAAC;YACzC,MAAM,IAAI,GAAI,GAAG,CAAC,KAA6C;mBACzD,GAAG,CAAC,IAA4C;mBACjD,EAAE,CAAC;YACR,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1F,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,KAAK,CAAC;YAC5D,MAAM,IAAI,GAAG,QAAQ;gBACnB,CAAC,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ;oBAC7B,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;wBACvB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAA0B,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;wBACrF,CAAC,CAAC,QAAQ,CAAE,QAAoC,CAAC,IAAI,IAAK,QAAoC,CAAC,IAAI,CAAC,CAAC;gBACzG,CAAC,CAAC,GAAG,CAAC;YACR,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,GAAG,CAAC,CAAC;QACtE,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"}
|
package/dist/tools/pr-raise.d.ts
CHANGED
|
@@ -7,13 +7,7 @@ export declare function handlePrRaise(client: AxiosInstance, params: PrRaisePara
|
|
|
7
7
|
type: "text";
|
|
8
8
|
text: string;
|
|
9
9
|
}[];
|
|
10
|
-
isError
|
|
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=pr-raise.d.ts.map
|
|
@@ -1 +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;
|
|
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;AAKtC,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa;;;;;;iDAgB/E"}
|
package/dist/tools/pr-raise.js
CHANGED
|
@@ -1,33 +1,20 @@
|
|
|
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 handlePrRaise(client, params) {
|
|
2
|
-
const { project_id } = params;
|
|
3
5
|
try {
|
|
4
|
-
const response = await client.post(`/projects/${project_id}/raise-pr`);
|
|
6
|
+
const response = await client.post(`/projects/${params.project_id}/raise-pr`);
|
|
5
7
|
const result = response.data;
|
|
6
|
-
const prUrl =
|
|
7
|
-
const prNumber = result.pr_number ?? result.number
|
|
8
|
-
return
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
`✅ Pull request created!`,
|
|
14
|
-
` PR URL: ${prUrl}`,
|
|
15
|
-
` PR #: ${prNumber}`,
|
|
16
|
-
].join('\n'),
|
|
17
|
-
},
|
|
18
|
-
],
|
|
19
|
-
};
|
|
8
|
+
const prUrl = asString(result.pr_url ?? result.url, '?');
|
|
9
|
+
const prNumber = asString(result.pr_number ?? result.number, '?');
|
|
10
|
+
return success([
|
|
11
|
+
'✅ Pull request created!',
|
|
12
|
+
` PR URL: ${prUrl}`,
|
|
13
|
+
` PR #: ${prNumber}`,
|
|
14
|
+
].join('\n'));
|
|
20
15
|
}
|
|
21
16
|
catch (err) {
|
|
22
|
-
|
|
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
|
-
};
|
|
17
|
+
return toErrorResponse(err, 'Failed to raise PR');
|
|
31
18
|
}
|
|
32
19
|
}
|
|
33
20
|
//# sourceMappingURL=pr-raise.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-raise.js","sourceRoot":"","sources":["../../src/tools/pr-raise.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pr-raise.js","sourceRoot":"","sources":["../../src/tools/pr-raise.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;AAM3C,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAqB,EAAE,MAAqB;IAC9E,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,UAAU,WAAW,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC,IAA+B,CAAC;QAExD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAElE,OAAO,OAAO,CAAC;YACb,yBAAyB;YACzB,cAAc,KAAK,EAAE;YACrB,cAAc,QAAQ,EAAE;SACzB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChB,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,OAAO,eAAe,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
|
|
@@ -12,13 +12,7 @@ export declare function handleProjectCreate(client: AxiosInstance, params: Proje
|
|
|
12
12
|
type: "text";
|
|
13
13
|
text: string;
|
|
14
14
|
}[];
|
|
15
|
-
isError
|
|
16
|
-
} |
|
|
17
|
-
content: {
|
|
18
|
-
type: "text";
|
|
19
|
-
text: string;
|
|
20
|
-
}[];
|
|
21
|
-
isError: boolean;
|
|
22
|
-
}>;
|
|
15
|
+
isError: true;
|
|
16
|
+
} | import("../utils/response.js").ToolResponse>;
|
|
23
17
|
export {};
|
|
24
18
|
//# sourceMappingURL=project-create.d.ts.map
|