locadex 0.0.0 → 0.0.2-alpha.1
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/.locadex-mcp.json +9 -0
- package/LICENSE.md +105 -0
- package/README.md +22 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +24 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/i18n.d.ts +2 -0
- package/dist/commands/i18n.d.ts.map +1 -0
- package/dist/commands/i18n.js +145 -0
- package/dist/commands/i18n.js.map +1 -0
- package/dist/commands/setup.d.ts +2 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +90 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +68 -0
- package/dist/index.js.map +1 -0
- package/dist/resources/docs.d.ts +4 -0
- package/dist/resources/docs.d.ts.map +1 -0
- package/dist/resources/docs.js +176 -0
- package/dist/resources/docs.js.map +1 -0
- package/dist/tools/docs.d.ts +3 -0
- package/dist/tools/docs.d.ts.map +1 -0
- package/dist/tools/docs.js +140 -0
- package/dist/tools/docs.js.map +1 -0
- package/dist/utils/claudeCode.d.ts +16 -0
- package/dist/utils/claudeCode.d.ts.map +1 -0
- package/dist/utils/claudeCode.js +114 -0
- package/dist/utils/claudeCode.js.map +1 -0
- package/dist/utils/getDocs.d.ts +10 -0
- package/dist/utils/getDocs.d.ts.map +1 -0
- package/dist/utils/getDocs.js +113 -0
- package/dist/utils/getDocs.js.map +1 -0
- package/dist/utils/getPaths.d.ts +2 -0
- package/dist/utils/getPaths.d.ts.map +1 -0
- package/dist/utils/getPaths.js +7 -0
- package/dist/utils/getPaths.js.map +1 -0
- package/dist/utils/logging.d.ts +49 -0
- package/dist/utils/logging.d.ts.map +1 -0
- package/dist/utils/logging.js +226 -0
- package/dist/utils/logging.js.map +1 -0
- package/dist/utils/mcpConfig.d.ts +10 -0
- package/dist/utils/mcpConfig.d.ts.map +1 -0
- package/dist/utils/mcpConfig.js +10 -0
- package/dist/utils/mcpConfig.js.map +1 -0
- package/package.json +67 -8
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export declare function logInfo(message: string): void;
|
|
2
|
+
export declare function logWarning(message: string): void;
|
|
3
|
+
export declare function logError(message: string): void;
|
|
4
|
+
export declare function logSuccess(message: string): void;
|
|
5
|
+
export declare function logStep(message: string): void;
|
|
6
|
+
export declare function logMessage(message: string): void;
|
|
7
|
+
export declare function logErrorAndExit(message: string): void;
|
|
8
|
+
export declare function startCommand(message: string): void;
|
|
9
|
+
export declare function endCommand(message: string): void;
|
|
10
|
+
export declare function displayHeader(introString?: string): void;
|
|
11
|
+
export declare function displayProjectId(projectId: string): void;
|
|
12
|
+
export declare function displayResolvedPaths(resolvedPaths: [string, string][]): void;
|
|
13
|
+
export declare function displayCreatedConfigFile(configFilepath: string): void;
|
|
14
|
+
export declare function displayUpdatedConfigFile(configFilepath: string): void;
|
|
15
|
+
export declare function createSpinner(indicator?: 'dots' | 'timer'): {
|
|
16
|
+
start: (msg?: string) => void;
|
|
17
|
+
stop: (msg?: string, code?: number) => void;
|
|
18
|
+
message: (msg?: string) => void;
|
|
19
|
+
};
|
|
20
|
+
export declare function createOraSpinner(indicator?: 'dots' | 'circleHalves'): Promise<import("ora").Ora>;
|
|
21
|
+
export declare function promptText({ message, defaultValue, validate, }: {
|
|
22
|
+
message: string;
|
|
23
|
+
defaultValue?: string;
|
|
24
|
+
validate?: (value: string) => boolean | string;
|
|
25
|
+
}): Promise<string>;
|
|
26
|
+
export declare function promptSelect<T>({ message, options, defaultValue, }: {
|
|
27
|
+
message: string;
|
|
28
|
+
options: Array<{
|
|
29
|
+
value: T;
|
|
30
|
+
label: string;
|
|
31
|
+
hint?: string;
|
|
32
|
+
}>;
|
|
33
|
+
defaultValue?: T;
|
|
34
|
+
}): Promise<T>;
|
|
35
|
+
export declare function promptMultiSelect<T extends string>({ message, options, required, }: {
|
|
36
|
+
message: string;
|
|
37
|
+
options: Array<{
|
|
38
|
+
value: T;
|
|
39
|
+
label: string;
|
|
40
|
+
hint?: string;
|
|
41
|
+
}>;
|
|
42
|
+
required?: boolean;
|
|
43
|
+
}): Promise<T[]>;
|
|
44
|
+
export declare function promptConfirm({ message, defaultValue, cancelMessage, }: {
|
|
45
|
+
message: string;
|
|
46
|
+
defaultValue?: boolean;
|
|
47
|
+
cancelMessage?: string;
|
|
48
|
+
}): Promise<boolean>;
|
|
49
|
+
//# sourceMappingURL=logging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/utils/logging.ts"],"names":[],"mappings":"AAeA,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,QAEtC;AACD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,QAEzC;AACD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,QAEvC;AACD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,QAEzC;AACD,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,QAEtC;AACD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,QAEzC;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,QAG9C;AAGD,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,QAE3C;AACD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,QAEzC;AAGD,wBAAgB,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,QAMjD;AAyBD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,QAEjD;AAED,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAKrE;AAED,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,MAAM,QAE9D;AAED,wBAAgB,wBAAwB,CAAC,cAAc,EAAE,MAAM,QAE9D;AAGD,wBAAgB,aAAa,CAAC,SAAS,GAAE,MAAM,GAAG,OAAiB;eA0EhE,CAAC;cAES,CAAC,cAAe,CAAA;iBAC1B,CAAC;EA3EH;AAED,wBAAsB,gBAAgB,CACpC,SAAS,GAAE,MAAM,GAAG,cAA+B,8BAIpD;AAGD,wBAAsB,UAAU,CAAC,EAC/B,OAAO,EACP,YAAY,EACZ,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAAC;CAChD,mBAkBA;AAED,wBAAsB,YAAY,CAAC,CAAC,EAAE,EACpC,OAAO,EACP,OAAO,EACP,YAAY,GACb,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,YAAY,CAAC,EAAE,CAAC,CAAC;CAClB,cAoBA;AAED,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAAE,EACxD,OAAO,EACP,OAAO,EACP,QAAe,GAChB,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,gBAoBA;AAED,wBAAsB,aAAa,CAAC,EAClC,OAAO,EACP,YAAmB,EACnB,aAAqC,GACtC,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,oBAYA"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
12
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
+
function step(op) {
|
|
15
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
+
switch (op[0]) {
|
|
20
|
+
case 0: case 1: t = op; break;
|
|
21
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
+
default:
|
|
25
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
+
if (t[2]) _.ops.pop();
|
|
30
|
+
_.trys.pop(); continue;
|
|
31
|
+
}
|
|
32
|
+
op = body.call(thisArg, _);
|
|
33
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
import { log, spinner, intro, outro, text, select, confirm, isCancel, cancel, multiselect, } from '@clack/prompts';
|
|
38
|
+
import chalk from 'chalk';
|
|
39
|
+
// Basic logging functions
|
|
40
|
+
export function logInfo(message) {
|
|
41
|
+
log.info(message);
|
|
42
|
+
}
|
|
43
|
+
export function logWarning(message) {
|
|
44
|
+
log.warn(message);
|
|
45
|
+
}
|
|
46
|
+
export function logError(message) {
|
|
47
|
+
log.error(message);
|
|
48
|
+
}
|
|
49
|
+
export function logSuccess(message) {
|
|
50
|
+
log.success(message);
|
|
51
|
+
}
|
|
52
|
+
export function logStep(message) {
|
|
53
|
+
log.step(message);
|
|
54
|
+
}
|
|
55
|
+
export function logMessage(message) {
|
|
56
|
+
log.message(message, { symbol: chalk.cyan('~') });
|
|
57
|
+
}
|
|
58
|
+
export function logErrorAndExit(message) {
|
|
59
|
+
log.error(message);
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
// Clack prompts
|
|
63
|
+
export function startCommand(message) {
|
|
64
|
+
intro(chalk.cyan(message));
|
|
65
|
+
}
|
|
66
|
+
export function endCommand(message) {
|
|
67
|
+
outro(chalk.cyan(message));
|
|
68
|
+
}
|
|
69
|
+
// GT specific logging
|
|
70
|
+
export function displayHeader(introString) {
|
|
71
|
+
displayAsciiTitle();
|
|
72
|
+
displayInitializingText();
|
|
73
|
+
if (introString) {
|
|
74
|
+
startCommand(introString);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function displayAsciiTitle() {
|
|
78
|
+
// eslint-disable-next-line no-console
|
|
79
|
+
console.log(chalk.cyan("\n ,ad8888ba, 888888888888 \n d8\"' `\"8b 88 \nd8' 88 \n88 88 \n88 88888 88 \nY8, 88 88 \n Y8a. .a88 88 \n `\"Y88888P\" 88 "));
|
|
80
|
+
}
|
|
81
|
+
function displayInitializingText() {
|
|
82
|
+
// eslint-disable-next-line no-console
|
|
83
|
+
console.log("\n".concat(chalk.bold.blue('General Translation, Inc.'), "\n").concat(chalk.gray('https://generaltranslation.com/docs'), "\n"));
|
|
84
|
+
}
|
|
85
|
+
export function displayProjectId(projectId) {
|
|
86
|
+
logMessage(chalk.gray("Project ID: ".concat(chalk.bold(projectId))));
|
|
87
|
+
}
|
|
88
|
+
export function displayResolvedPaths(resolvedPaths) {
|
|
89
|
+
var paths = resolvedPaths.map(function (_a) {
|
|
90
|
+
var key = _a[0], resolvedPath = _a[1];
|
|
91
|
+
return chalk.gray("'".concat(chalk.white(key), "' \u2192 '").concat(chalk.green(resolvedPath), "'"));
|
|
92
|
+
});
|
|
93
|
+
log.step("Resolved path aliases:\n".concat(paths.join('\n')));
|
|
94
|
+
}
|
|
95
|
+
export function displayCreatedConfigFile(configFilepath) {
|
|
96
|
+
log.success("Created config file ".concat(chalk.cyan(configFilepath)));
|
|
97
|
+
}
|
|
98
|
+
export function displayUpdatedConfigFile(configFilepath) {
|
|
99
|
+
log.success("Updated config file ".concat(chalk.cyan(configFilepath)));
|
|
100
|
+
}
|
|
101
|
+
// Spinner functionality
|
|
102
|
+
export function createSpinner(indicator) {
|
|
103
|
+
if (indicator === void 0) { indicator = 'timer'; }
|
|
104
|
+
return spinner({ indicator: indicator });
|
|
105
|
+
}
|
|
106
|
+
// Spinner functionality
|
|
107
|
+
export function createOraSpinner() {
|
|
108
|
+
return __awaiter(this, arguments, void 0, function (indicator) {
|
|
109
|
+
var ora;
|
|
110
|
+
if (indicator === void 0) { indicator = 'circleHalves'; }
|
|
111
|
+
return __generator(this, function (_a) {
|
|
112
|
+
switch (_a.label) {
|
|
113
|
+
case 0: return [4 /*yield*/, import('ora')];
|
|
114
|
+
case 1:
|
|
115
|
+
ora = _a.sent();
|
|
116
|
+
return [2 /*return*/, ora.default({ spinner: indicator })];
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
// Input prompts
|
|
122
|
+
export function promptText(_a) {
|
|
123
|
+
return __awaiter(this, arguments, void 0, function (_b) {
|
|
124
|
+
var result;
|
|
125
|
+
var message = _b.message, defaultValue = _b.defaultValue, validate = _b.validate;
|
|
126
|
+
return __generator(this, function (_c) {
|
|
127
|
+
switch (_c.label) {
|
|
128
|
+
case 0: return [4 /*yield*/, text({
|
|
129
|
+
message: message,
|
|
130
|
+
placeholder: defaultValue,
|
|
131
|
+
validate: validate
|
|
132
|
+
? function (value) {
|
|
133
|
+
var validation = validate(value);
|
|
134
|
+
return validation === true ? undefined : validation.toString();
|
|
135
|
+
}
|
|
136
|
+
: undefined,
|
|
137
|
+
})];
|
|
138
|
+
case 1:
|
|
139
|
+
result = _c.sent();
|
|
140
|
+
if (isCancel(result)) {
|
|
141
|
+
cancel('Operation cancelled');
|
|
142
|
+
process.exit(0);
|
|
143
|
+
}
|
|
144
|
+
return [2 /*return*/, result];
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
export function promptSelect(_a) {
|
|
150
|
+
return __awaiter(this, arguments, void 0, function (_b) {
|
|
151
|
+
var clackOptions, result;
|
|
152
|
+
var message = _b.message, options = _b.options, defaultValue = _b.defaultValue;
|
|
153
|
+
return __generator(this, function (_c) {
|
|
154
|
+
switch (_c.label) {
|
|
155
|
+
case 0:
|
|
156
|
+
clackOptions = options.map(function (opt) { return ({
|
|
157
|
+
value: opt.value,
|
|
158
|
+
label: opt.label,
|
|
159
|
+
hint: opt.hint,
|
|
160
|
+
}); });
|
|
161
|
+
return [4 /*yield*/, select({
|
|
162
|
+
message: message,
|
|
163
|
+
options: clackOptions,
|
|
164
|
+
initialValue: defaultValue,
|
|
165
|
+
})];
|
|
166
|
+
case 1:
|
|
167
|
+
result = _c.sent();
|
|
168
|
+
if (isCancel(result)) {
|
|
169
|
+
cancel('Operation cancelled');
|
|
170
|
+
process.exit(0);
|
|
171
|
+
}
|
|
172
|
+
return [2 /*return*/, result];
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
export function promptMultiSelect(_a) {
|
|
178
|
+
return __awaiter(this, arguments, void 0, function (_b) {
|
|
179
|
+
var clackOptions, result;
|
|
180
|
+
var message = _b.message, options = _b.options, _c = _b.required, required = _c === void 0 ? true : _c;
|
|
181
|
+
return __generator(this, function (_d) {
|
|
182
|
+
switch (_d.label) {
|
|
183
|
+
case 0:
|
|
184
|
+
clackOptions = options.map(function (opt) { return ({
|
|
185
|
+
value: opt.value,
|
|
186
|
+
label: opt.label,
|
|
187
|
+
hint: opt.hint,
|
|
188
|
+
}); });
|
|
189
|
+
return [4 /*yield*/, multiselect({
|
|
190
|
+
message: message,
|
|
191
|
+
options: clackOptions,
|
|
192
|
+
required: required,
|
|
193
|
+
})];
|
|
194
|
+
case 1:
|
|
195
|
+
result = _d.sent();
|
|
196
|
+
if (isCancel(result)) {
|
|
197
|
+
cancel('Operation cancelled');
|
|
198
|
+
process.exit(0);
|
|
199
|
+
}
|
|
200
|
+
return [2 /*return*/, result];
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
export function promptConfirm(_a) {
|
|
206
|
+
return __awaiter(this, arguments, void 0, function (_b) {
|
|
207
|
+
var result;
|
|
208
|
+
var message = _b.message, _c = _b.defaultValue, defaultValue = _c === void 0 ? true : _c, _d = _b.cancelMessage, cancelMessage = _d === void 0 ? 'Operation cancelled' : _d;
|
|
209
|
+
return __generator(this, function (_e) {
|
|
210
|
+
switch (_e.label) {
|
|
211
|
+
case 0: return [4 /*yield*/, confirm({
|
|
212
|
+
message: message,
|
|
213
|
+
initialValue: defaultValue,
|
|
214
|
+
})];
|
|
215
|
+
case 1:
|
|
216
|
+
result = _e.sent();
|
|
217
|
+
if (isCancel(result)) {
|
|
218
|
+
cancel(cancelMessage);
|
|
219
|
+
process.exit(0);
|
|
220
|
+
}
|
|
221
|
+
return [2 /*return*/, result];
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
//# sourceMappingURL=logging.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/utils/logging.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpConfig.d.ts","sourceRoot":"","sources":["../../src/utils/mcpConfig.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;;;;;;;CAQrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpConfig.js","sourceRoot":"","sources":["../../src/utils/mcpConfig.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,SAAS,GAAG;IACvB,UAAU,EAAE;QACV,OAAO,EAAE;YACP,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC;YAC3B,GAAG,EAAE,EAAE;SACR;KACF;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,72 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "locadex",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "",
|
|
5
|
-
"main": "index.js",
|
|
3
|
+
"version": "0.0.2-alpha.1",
|
|
4
|
+
"description": "An AI agent for internationalization",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"bin": {
|
|
8
|
+
"locadex": "dist/cli.js",
|
|
9
|
+
"locadex-mcp": "dist/index.js"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"dist",
|
|
13
|
+
"CHANGELOG.md",
|
|
14
|
+
".locadex-mcp.json"
|
|
15
|
+
],
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
18
|
+
"@anthropic-ai/claude-code": "1.0.8",
|
|
19
|
+
"@clack/prompts": "^0.11.0",
|
|
20
|
+
"chalk": "^4.1.2",
|
|
21
|
+
"commander": "^12.1.0",
|
|
22
|
+
"dotenv": "^16.4.5"
|
|
23
|
+
},
|
|
24
|
+
"devDependencies": {
|
|
25
|
+
"@modelcontextprotocol/inspector": "^0.13.0",
|
|
26
|
+
"@types/jest": "^29.5.14",
|
|
27
|
+
"@types/node": ">=20.0.0",
|
|
28
|
+
"eslint": "^9.19.0",
|
|
29
|
+
"@typescript-eslint/eslint-plugin": "^8.19.1",
|
|
30
|
+
"@typescript-eslint/parser": "^8.19.1",
|
|
31
|
+
"prettier": "^3.4.2",
|
|
32
|
+
"tsx": "^4.16.5",
|
|
33
|
+
"typescript": "^5.7.3"
|
|
34
|
+
},
|
|
6
35
|
"scripts": {
|
|
7
|
-
"
|
|
36
|
+
"patch": "npm version patch",
|
|
37
|
+
"build": "tsc",
|
|
38
|
+
"build:clean": "rm -rf dist; npm run lint && npm run build",
|
|
39
|
+
"dev": "npm run build && node dist/index.js",
|
|
40
|
+
"inspect": "npx @modelcontextprotocol/inspector node dist/index.js",
|
|
41
|
+
"lint": "eslint .",
|
|
42
|
+
"lint:fix": "eslint . --fix",
|
|
43
|
+
"release": "npm run build:clean && npm publish --access public",
|
|
44
|
+
"release:alpha": "npm run build:clean && npm publish --access public --tag alpha",
|
|
45
|
+
"release:beta": "npm run build:clean && npm publish --access public --tag beta",
|
|
46
|
+
"release:latest": "npm run build:clean && npm publish --access public --tag latest",
|
|
47
|
+
"test": "vitest run",
|
|
48
|
+
"test:watch": "vitest"
|
|
49
|
+
},
|
|
50
|
+
"repository": {
|
|
51
|
+
"type": "git",
|
|
52
|
+
"url": "git+https://github.com/generaltranslation/gt.git"
|
|
53
|
+
},
|
|
54
|
+
"author": "General Translation, Inc.",
|
|
55
|
+
"license": "FSL-1.1-ALv2",
|
|
56
|
+
"bugs": {
|
|
57
|
+
"url": "https://github.com/generaltranslation/gt/issues"
|
|
8
58
|
},
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
|
|
59
|
+
"homepage": "https://generaltranslation.com/",
|
|
60
|
+
"compilerOptions": {},
|
|
61
|
+
"keywords": [
|
|
62
|
+
"react",
|
|
63
|
+
"translation",
|
|
64
|
+
"internationalization",
|
|
65
|
+
"localization",
|
|
66
|
+
"i18n",
|
|
67
|
+
"l10n",
|
|
68
|
+
"mcp",
|
|
69
|
+
"ai",
|
|
70
|
+
"agent"
|
|
71
|
+
]
|
|
13
72
|
}
|