@ai-support-agent/cli 0.0.4-beta.9 → 0.0.5-beta.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/dist/agent-runner.d.ts +4 -1
- package/dist/agent-runner.d.ts.map +1 -1
- package/dist/agent-runner.js +17 -5
- package/dist/agent-runner.js.map +1 -1
- package/dist/api-client.d.ts +5 -1
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +55 -63
- package/dist/api-client.js.map +1 -1
- package/dist/appsync-subscriber.d.ts.map +1 -1
- package/dist/appsync-subscriber.js +3 -1
- package/dist/appsync-subscriber.js.map +1 -1
- package/dist/auto-updater.d.ts.map +1 -1
- package/dist/auto-updater.js +7 -2
- package/dist/auto-updater.js.map +1 -1
- package/dist/aws-credential-builder.d.ts +11 -2
- package/dist/aws-credential-builder.d.ts.map +1 -1
- package/dist/aws-credential-builder.js +45 -6
- package/dist/aws-credential-builder.js.map +1 -1
- package/dist/commands/api-chat-executor.d.ts.map +1 -1
- package/dist/commands/api-chat-executor.js +11 -3
- package/dist/commands/api-chat-executor.js.map +1 -1
- package/dist/commands/chat-executor.d.ts +1 -1
- package/dist/commands/chat-executor.d.ts.map +1 -1
- package/dist/commands/chat-executor.js +40 -42
- package/dist/commands/chat-executor.js.map +1 -1
- package/dist/commands/claude-code-runner.d.ts +4 -2
- package/dist/commands/claude-code-runner.d.ts.map +1 -1
- package/dist/commands/claude-code-runner.js +8 -4
- package/dist/commands/claude-code-runner.js.map +1 -1
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/shared-chat-utils.d.ts +9 -1
- package/dist/commands/shared-chat-utils.d.ts.map +1 -1
- package/dist/commands/shared-chat-utils.js +24 -0
- package/dist/commands/shared-chat-utils.js.map +1 -1
- package/dist/config-manager.d.ts +1 -0
- package/dist/config-manager.d.ts.map +1 -1
- package/dist/config-manager.js +1 -0
- package/dist/config-manager.js.map +1 -1
- package/dist/constants.d.ts +3 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +6 -2
- package/dist/constants.js.map +1 -1
- package/dist/docker/docker-runner.d.ts +19 -0
- package/dist/docker/docker-runner.d.ts.map +1 -0
- package/dist/docker/docker-runner.js +221 -0
- package/dist/docker/docker-runner.js.map +1 -0
- package/dist/docker/dockerfile-path.d.ts +10 -0
- package/dist/docker/dockerfile-path.d.ts.map +1 -0
- package/dist/docker/dockerfile-path.js +25 -0
- package/dist/docker/dockerfile-path.js.map +1 -0
- package/dist/index.js +59 -0
- package/dist/index.js.map +1 -1
- package/dist/locales/en.json +25 -1
- package/dist/locales/ja.json +25 -1
- package/dist/locales/locales/en.json +25 -1
- package/dist/locales/locales/ja.json +25 -1
- package/dist/logger.d.ts +2 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +20 -1
- package/dist/logger.js.map +1 -1
- package/dist/mcp/config-writer.d.ts +17 -0
- package/dist/mcp/config-writer.d.ts.map +1 -0
- package/dist/mcp/config-writer.js +63 -0
- package/dist/mcp/config-writer.js.map +1 -0
- package/dist/mcp/server.d.ts +11 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +55 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools/credentials.d.ts +14 -0
- package/dist/mcp/tools/credentials.d.ts.map +1 -0
- package/dist/mcp/tools/credentials.js +42 -0
- package/dist/mcp/tools/credentials.js.map +1 -0
- package/dist/mcp/tools/db-query.d.ts +13 -0
- package/dist/mcp/tools/db-query.d.ts.map +1 -0
- package/dist/mcp/tools/db-query.js +131 -0
- package/dist/mcp/tools/db-query.js.map +1 -0
- package/dist/mcp/tools/db-schemas.d.ts +5 -0
- package/dist/mcp/tools/db-schemas.d.ts.map +1 -0
- package/dist/mcp/tools/db-schemas.js +61 -0
- package/dist/mcp/tools/db-schemas.js.map +1 -0
- package/dist/mcp/tools/mcp-response.d.ts +15 -0
- package/dist/mcp/tools/mcp-response.d.ts.map +1 -0
- package/dist/mcp/tools/mcp-response.js +15 -0
- package/dist/mcp/tools/mcp-response.js.map +1 -0
- package/dist/mcp/tools/project-info.d.ts +5 -0
- package/dist/mcp/tools/project-info.d.ts.map +1 -0
- package/dist/mcp/tools/project-info.js +43 -0
- package/dist/mcp/tools/project-info.js.map +1 -0
- package/dist/project-agent.d.ts +4 -0
- package/dist/project-agent.d.ts.map +1 -1
- package/dist/project-agent.js +38 -2
- package/dist/project-agent.js.map +1 -1
- package/dist/project-dir.d.ts.map +1 -1
- package/dist/project-dir.js +5 -2
- package/dist/project-dir.js.map +1 -1
- package/dist/sentry.d.ts +14 -0
- package/dist/sentry.d.ts.map +1 -0
- package/dist/sentry.js +98 -0
- package/dist/sentry.js.map +1 -0
- package/dist/types.d.ts +33 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/update-checker.d.ts +26 -5
- package/dist/update-checker.d.ts.map +1 -1
- package/dist/update-checker.js +148 -8
- package/dist/update-checker.js.map +1 -1
- package/docker/Dockerfile +39 -0
- package/package.json +7 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface DockerRunOptions {
|
|
2
|
+
token?: string;
|
|
3
|
+
apiUrl?: string;
|
|
4
|
+
pollInterval?: number;
|
|
5
|
+
heartbeatInterval?: number;
|
|
6
|
+
verbose?: boolean;
|
|
7
|
+
autoUpdate?: boolean;
|
|
8
|
+
updateChannel?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function checkDockerAvailable(): boolean;
|
|
11
|
+
export declare function imageExists(version: string): boolean;
|
|
12
|
+
export declare function buildImage(version: string): void;
|
|
13
|
+
export declare function buildVolumeMounts(): string[];
|
|
14
|
+
export declare function buildEnvArgs(): string[];
|
|
15
|
+
export declare function buildContainerArgs(opts: DockerRunOptions): string[];
|
|
16
|
+
export declare function ensureImage(): string;
|
|
17
|
+
export declare function dockerLogin(): void;
|
|
18
|
+
export declare function runInDocker(opts: DockerRunOptions): void;
|
|
19
|
+
//# sourceMappingURL=docker-runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker-runner.d.ts","sourceRoot":"","sources":["../../src/docker/docker-runner.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAO9C;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOpD;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAShD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAuC5C;AAED,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAkBvC;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,EAAE,CA0BnE;AAED,wBAAgB,WAAW,IAAI,MAAM,CAQpC;AAED,wBAAgB,WAAW,IAAI,IAAI,CAWlC;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CA0CxD"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.checkDockerAvailable = checkDockerAvailable;
|
|
37
|
+
exports.imageExists = imageExists;
|
|
38
|
+
exports.buildImage = buildImage;
|
|
39
|
+
exports.buildVolumeMounts = buildVolumeMounts;
|
|
40
|
+
exports.buildEnvArgs = buildEnvArgs;
|
|
41
|
+
exports.buildContainerArgs = buildContainerArgs;
|
|
42
|
+
exports.ensureImage = ensureImage;
|
|
43
|
+
exports.dockerLogin = dockerLogin;
|
|
44
|
+
exports.runInDocker = runInDocker;
|
|
45
|
+
const child_process_1 = require("child_process");
|
|
46
|
+
const os = __importStar(require("os"));
|
|
47
|
+
const path = __importStar(require("path"));
|
|
48
|
+
const fs = __importStar(require("fs"));
|
|
49
|
+
const dockerfile_path_1 = require("./dockerfile-path");
|
|
50
|
+
const constants_1 = require("../constants");
|
|
51
|
+
const config_manager_1 = require("../config-manager");
|
|
52
|
+
const i18n_1 = require("../i18n");
|
|
53
|
+
const logger_1 = require("../logger");
|
|
54
|
+
const IMAGE_NAME = 'ai-support-agent';
|
|
55
|
+
const PASSTHROUGH_ENV_VARS = [
|
|
56
|
+
'AI_SUPPORT_AGENT_TOKEN',
|
|
57
|
+
'AI_SUPPORT_AGENT_API_URL',
|
|
58
|
+
'AI_SUPPORT_AGENT_CONFIG_DIR',
|
|
59
|
+
'ANTHROPIC_API_KEY',
|
|
60
|
+
'CLAUDE_CODE_OAUTH_TOKEN',
|
|
61
|
+
];
|
|
62
|
+
function checkDockerAvailable() {
|
|
63
|
+
try {
|
|
64
|
+
(0, child_process_1.execSync)('docker info', { stdio: 'ignore' });
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function imageExists(version) {
|
|
72
|
+
try {
|
|
73
|
+
(0, child_process_1.execSync)(`docker image inspect ${IMAGE_NAME}:${version}`, { stdio: 'ignore' });
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
catch {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
function buildImage(version) {
|
|
81
|
+
const dockerfilePath = (0, dockerfile_path_1.getDockerfilePath)();
|
|
82
|
+
const contextDir = (0, dockerfile_path_1.getDockerContextDir)();
|
|
83
|
+
logger_1.logger.info((0, i18n_1.t)('docker.building'));
|
|
84
|
+
(0, child_process_1.execSync)(`docker build -t ${IMAGE_NAME}:${version} --build-arg AGENT_VERSION=${version} -f ${dockerfilePath} ${contextDir}`, { stdio: 'inherit' });
|
|
85
|
+
logger_1.logger.success((0, i18n_1.t)('docker.buildComplete'));
|
|
86
|
+
}
|
|
87
|
+
function buildVolumeMounts() {
|
|
88
|
+
const home = os.homedir();
|
|
89
|
+
const mounts = [];
|
|
90
|
+
// Claude Code OAuth tokens and config
|
|
91
|
+
const claudeDir = path.join(home, '.claude');
|
|
92
|
+
if (fs.existsSync(claudeDir)) {
|
|
93
|
+
mounts.push('-v', `${claudeDir}:${claudeDir}:rw`);
|
|
94
|
+
}
|
|
95
|
+
const claudeJson = path.join(home, '.claude.json');
|
|
96
|
+
if (fs.existsSync(claudeJson)) {
|
|
97
|
+
mounts.push('-v', `${claudeJson}:${claudeJson}:rw`);
|
|
98
|
+
}
|
|
99
|
+
// Agent config (resolves custom AI_SUPPORT_AGENT_CONFIG_DIR)
|
|
100
|
+
const agentConfigDir = (0, config_manager_1.getConfigDir)();
|
|
101
|
+
if (fs.existsSync(agentConfigDir)) {
|
|
102
|
+
mounts.push('-v', `${agentConfigDir}:${agentConfigDir}:rw`);
|
|
103
|
+
}
|
|
104
|
+
// AWS credentials
|
|
105
|
+
const awsDir = path.join(home, '.aws');
|
|
106
|
+
if (fs.existsSync(awsDir)) {
|
|
107
|
+
mounts.push('-v', `${awsDir}:${awsDir}:ro`);
|
|
108
|
+
}
|
|
109
|
+
// Custom project directories from config
|
|
110
|
+
const config = (0, config_manager_1.loadConfig)();
|
|
111
|
+
if (config?.projects) {
|
|
112
|
+
const mounted = new Set();
|
|
113
|
+
for (const project of config.projects) {
|
|
114
|
+
if (project.projectDir && !mounted.has(project.projectDir) && fs.existsSync(project.projectDir)) {
|
|
115
|
+
mounts.push('-v', `${project.projectDir}:${project.projectDir}:rw`);
|
|
116
|
+
mounted.add(project.projectDir);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return mounts;
|
|
121
|
+
}
|
|
122
|
+
function buildEnvArgs() {
|
|
123
|
+
const args = [];
|
|
124
|
+
// HOME must be passed so volume mounts resolve to the same paths
|
|
125
|
+
args.push('-e', `HOME=${os.homedir()}`);
|
|
126
|
+
for (const key of PASSTHROUGH_ENV_VARS) {
|
|
127
|
+
if (process.env[key]) {
|
|
128
|
+
// Resolve CONFIG_DIR to absolute path so it matches the volume mount inside the container
|
|
129
|
+
if (key === 'AI_SUPPORT_AGENT_CONFIG_DIR') {
|
|
130
|
+
args.push('-e', `${key}=${(0, config_manager_1.getConfigDir)()}`);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
args.push('-e', `${key}=${process.env[key]}`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return args;
|
|
138
|
+
}
|
|
139
|
+
function buildContainerArgs(opts) {
|
|
140
|
+
const args = ['start'];
|
|
141
|
+
if (opts.token) {
|
|
142
|
+
args.push('--token', opts.token);
|
|
143
|
+
}
|
|
144
|
+
if (opts.apiUrl) {
|
|
145
|
+
args.push('--api-url', opts.apiUrl);
|
|
146
|
+
}
|
|
147
|
+
if (opts.pollInterval !== undefined) {
|
|
148
|
+
args.push('--poll-interval', String(opts.pollInterval));
|
|
149
|
+
}
|
|
150
|
+
if (opts.heartbeatInterval !== undefined) {
|
|
151
|
+
args.push('--heartbeat-interval', String(opts.heartbeatInterval));
|
|
152
|
+
}
|
|
153
|
+
if (opts.verbose) {
|
|
154
|
+
args.push('--verbose');
|
|
155
|
+
}
|
|
156
|
+
if (opts.autoUpdate === false) {
|
|
157
|
+
args.push('--no-auto-update');
|
|
158
|
+
}
|
|
159
|
+
if (opts.updateChannel) {
|
|
160
|
+
args.push('--update-channel', opts.updateChannel);
|
|
161
|
+
}
|
|
162
|
+
return args;
|
|
163
|
+
}
|
|
164
|
+
function ensureImage() {
|
|
165
|
+
const version = constants_1.AGENT_VERSION;
|
|
166
|
+
if (!imageExists(version)) {
|
|
167
|
+
buildImage(version);
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
logger_1.logger.info((0, i18n_1.t)('docker.imageFound', { version }));
|
|
171
|
+
}
|
|
172
|
+
return version;
|
|
173
|
+
}
|
|
174
|
+
function dockerLogin() {
|
|
175
|
+
logger_1.logger.info((0, i18n_1.t)('docker.loginStep1'));
|
|
176
|
+
console.log('');
|
|
177
|
+
console.log(' claude setup-token');
|
|
178
|
+
console.log('');
|
|
179
|
+
logger_1.logger.info((0, i18n_1.t)('docker.loginStep2'));
|
|
180
|
+
console.log('');
|
|
181
|
+
console.log(' export CLAUDE_CODE_OAUTH_TOKEN=<token>');
|
|
182
|
+
console.log(' ai-support-agent start --docker');
|
|
183
|
+
console.log('');
|
|
184
|
+
logger_1.logger.info((0, i18n_1.t)('docker.loginStep3'));
|
|
185
|
+
}
|
|
186
|
+
function runInDocker(opts) {
|
|
187
|
+
if (!checkDockerAvailable()) {
|
|
188
|
+
logger_1.logger.error((0, i18n_1.t)('docker.notAvailable'));
|
|
189
|
+
process.exit(1);
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
const version = ensureImage();
|
|
193
|
+
logger_1.logger.info((0, i18n_1.t)('docker.starting'));
|
|
194
|
+
const volumeMounts = buildVolumeMounts();
|
|
195
|
+
const envArgs = buildEnvArgs();
|
|
196
|
+
const containerArgs = buildContainerArgs(opts);
|
|
197
|
+
const dockerArgs = [
|
|
198
|
+
'run', '--rm', '-it',
|
|
199
|
+
...volumeMounts,
|
|
200
|
+
...envArgs,
|
|
201
|
+
`${IMAGE_NAME}:${version}`,
|
|
202
|
+
...containerArgs,
|
|
203
|
+
];
|
|
204
|
+
const child = (0, child_process_1.spawn)('docker', dockerArgs, {
|
|
205
|
+
stdio: 'inherit',
|
|
206
|
+
});
|
|
207
|
+
// Forward signals to container
|
|
208
|
+
const forwardSignal = (signal) => {
|
|
209
|
+
child.kill(signal);
|
|
210
|
+
};
|
|
211
|
+
process.on('SIGINT', () => forwardSignal('SIGINT'));
|
|
212
|
+
process.on('SIGTERM', () => forwardSignal('SIGTERM'));
|
|
213
|
+
child.on('error', (err) => {
|
|
214
|
+
logger_1.logger.error((0, i18n_1.t)('docker.runFailed', { message: err.message }));
|
|
215
|
+
process.exit(1);
|
|
216
|
+
});
|
|
217
|
+
child.on('close', (code) => {
|
|
218
|
+
process.exit(code ?? 0);
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=docker-runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docker-runner.js","sourceRoot":"","sources":["../../src/docker/docker-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the path to the Dockerfile included in the npm package.
|
|
3
|
+
* __dirname at runtime is dist/docker/, so we go up two levels to reach the package root.
|
|
4
|
+
*/
|
|
5
|
+
export declare function getDockerfilePath(): string;
|
|
6
|
+
/**
|
|
7
|
+
* Get the Docker build context directory (package root).
|
|
8
|
+
*/
|
|
9
|
+
export declare function getDockerContextDir(): string;
|
|
10
|
+
//# sourceMappingURL=dockerfile-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dockerfile-path.d.ts","sourceRoot":"","sources":["../../src/docker/dockerfile-path.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAO1C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDockerfilePath = getDockerfilePath;
|
|
4
|
+
exports.getDockerContextDir = getDockerContextDir;
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const fs_1 = require("fs");
|
|
7
|
+
/**
|
|
8
|
+
* Get the path to the Dockerfile included in the npm package.
|
|
9
|
+
* __dirname at runtime is dist/docker/, so we go up two levels to reach the package root.
|
|
10
|
+
*/
|
|
11
|
+
function getDockerfilePath() {
|
|
12
|
+
const packageRoot = getDockerContextDir();
|
|
13
|
+
const dockerfilePath = (0, path_1.join)(packageRoot, 'docker', 'Dockerfile');
|
|
14
|
+
if (!(0, fs_1.existsSync)(dockerfilePath)) {
|
|
15
|
+
throw new Error(`Dockerfile not found: ${dockerfilePath}`);
|
|
16
|
+
}
|
|
17
|
+
return dockerfilePath;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Get the Docker build context directory (package root).
|
|
21
|
+
*/
|
|
22
|
+
function getDockerContextDir() {
|
|
23
|
+
return (0, path_1.join)(__dirname, '..', '..');
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=dockerfile-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dockerfile-path.js","sourceRoot":"","sources":["../../src/docker/dockerfile-path.ts"],"names":[],"mappings":";;AAOA,8CAOC;AAKD,kDAEC;AArBD,+BAA2B;AAC3B,2BAA+B;AAE/B;;;GAGG;AACH,SAAgB,iBAAiB;IAC/B,MAAM,WAAW,GAAG,mBAAmB,EAAE,CAAA;IACzC,MAAM,cAAc,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAA;IAChE,IAAI,CAAC,IAAA,eAAU,EAAC,cAAc,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,yBAAyB,cAAc,EAAE,CAAC,CAAA;IAC5D,CAAC;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB;IACjC,OAAO,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AACpC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -63,7 +63,21 @@ program
|
|
|
63
63
|
.option('--verbose', (0, i18n_1.t)('cmd.start.verbose'))
|
|
64
64
|
.option('--no-auto-update', (0, i18n_1.t)('cmd.start.noAutoUpdate'))
|
|
65
65
|
.option('--update-channel <channel>', (0, i18n_1.t)('cmd.start.updateChannel'))
|
|
66
|
+
.option('--docker', (0, i18n_1.t)('cmd.start.docker'))
|
|
66
67
|
.action(async (opts) => {
|
|
68
|
+
if (opts.docker) {
|
|
69
|
+
const { runInDocker } = await Promise.resolve().then(() => __importStar(require('./docker/docker-runner')));
|
|
70
|
+
runInDocker({
|
|
71
|
+
token: opts.token,
|
|
72
|
+
apiUrl: opts.apiUrl,
|
|
73
|
+
pollInterval: (0, validators_1.parseIntervalOrExit)(opts.pollInterval, 'poll-interval'),
|
|
74
|
+
heartbeatInterval: (0, validators_1.parseIntervalOrExit)(opts.heartbeatInterval, 'heartbeat-interval'),
|
|
75
|
+
verbose: opts.verbose,
|
|
76
|
+
autoUpdate: opts.autoUpdate,
|
|
77
|
+
updateChannel: opts.updateChannel,
|
|
78
|
+
});
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
67
81
|
const updateChannel = (0, validators_1.validateUpdateChannel)(opts.updateChannel);
|
|
68
82
|
await (0, agent_runner_1.startAgent)({
|
|
69
83
|
token: opts.token,
|
|
@@ -113,6 +127,51 @@ program
|
|
|
113
127
|
(0, config_manager_1.saveConfig)({ language: lang });
|
|
114
128
|
logger_1.logger.success((0, i18n_1.t)('config.languageSet', { lang }));
|
|
115
129
|
});
|
|
130
|
+
program
|
|
131
|
+
.command('set-auto-update')
|
|
132
|
+
.description((0, i18n_1.t)('cmd.setAutoUpdate'))
|
|
133
|
+
.option('--enable', (0, i18n_1.t)('cmd.setAutoUpdate.enable'))
|
|
134
|
+
.option('--disable', (0, i18n_1.t)('cmd.setAutoUpdate.disable'))
|
|
135
|
+
.option('--channel <channel>', (0, i18n_1.t)('cmd.setAutoUpdate.channel'))
|
|
136
|
+
.action((opts) => {
|
|
137
|
+
if (!opts.enable && !opts.disable && !opts.channel) {
|
|
138
|
+
logger_1.logger.warn((0, i18n_1.t)('autoUpdate.usageHint'));
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
const config = (0, config_manager_1.loadConfig)();
|
|
142
|
+
const current = config?.autoUpdate ?? { enabled: true, autoRestart: true, channel: 'latest' };
|
|
143
|
+
if (opts.enable && opts.disable) {
|
|
144
|
+
logger_1.logger.warn((0, i18n_1.t)('autoUpdate.conflictFlags'));
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
const channel = opts.channel ? (0, validators_1.validateUpdateChannel)(opts.channel) : undefined;
|
|
148
|
+
if (opts.channel && !channel) {
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
const updated = {
|
|
152
|
+
...current,
|
|
153
|
+
...(opts.enable && { enabled: true }),
|
|
154
|
+
...(opts.disable && { enabled: false }),
|
|
155
|
+
...(channel && { channel }),
|
|
156
|
+
};
|
|
157
|
+
(0, config_manager_1.saveConfig)({ autoUpdate: updated });
|
|
158
|
+
if (opts.disable) {
|
|
159
|
+
logger_1.logger.success((0, i18n_1.t)('autoUpdate.disabled'));
|
|
160
|
+
}
|
|
161
|
+
else if (opts.enable) {
|
|
162
|
+
logger_1.logger.success((0, i18n_1.t)('autoUpdate.enabled', { channel: updated.channel }));
|
|
163
|
+
}
|
|
164
|
+
if (channel) {
|
|
165
|
+
logger_1.logger.success((0, i18n_1.t)('autoUpdate.channelSet', { channel }));
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
program
|
|
169
|
+
.command('docker-login')
|
|
170
|
+
.description((0, i18n_1.t)('cmd.dockerLogin'))
|
|
171
|
+
.action(async () => {
|
|
172
|
+
const { dockerLogin } = await Promise.resolve().then(() => __importStar(require('./docker/docker-runner')));
|
|
173
|
+
dockerLogin();
|
|
174
|
+
});
|
|
116
175
|
(0, status_command_1.registerStatusCommand)(program);
|
|
117
176
|
(0, set_project_dir_1.registerSetProjectDirCommand)(program);
|
|
118
177
|
program.parse();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAmC;AAEnC,iDAA2C;AAC3C,uDAA0D;AAC1D,yDAA4D;AAC5D,gEAAyE;AACzE,+CAAiE;AACjE,iDAA6E;AAC7E,2CAA2C;AAE3C,uCAAwB;AAExB,qDAIyB;AACzB,iCAAoC;AACpC,qCAAiC;AAEjC,IAAA,eAAQ,GAAE,CAAA;AAEV,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,kBAAkB,CAAC;KACxB,WAAW,CAAC,IAAA,QAAC,EAAC,iBAAiB,CAAC,CAAC;KACjC,OAAO,CAAC,yBAAa,CAAC;KACtB,MAAM,CAAC,eAAe,EAAE,IAAA,QAAC,EAAC,UAAU,CAAC,CAAC,CAAA;AAEzC,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,IAAA,QAAC,EAAC,WAAW,CAAC,CAAC;KAC3B,MAAM,CAAC,iBAAiB,EAAE,IAAA,QAAC,EAAC,iBAAiB,CAAC,CAAC;KAC/C,MAAM,CAAC,iBAAiB,EAAE,IAAA,QAAC,EAAC,kBAAkB,CAAC,CAAC;KAChD,MAAM,CAAC,sBAAsB,EAAE,IAAA,QAAC,EAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;KACnE,MAAM,CAAC,2BAA2B,EAAE,IAAA,QAAC,EAAC,6BAA6B,CAAC,EAAE,OAAO,CAAC;KAC9E,MAAM,CAAC,WAAW,EAAE,IAAA,QAAC,EAAC,mBAAmB,CAAC,CAAC;KAC3C,MAAM,CAAC,kBAAkB,EAAE,IAAA,QAAC,EAAC,wBAAwB,CAAC,CAAC;KACvD,MAAM,CAAC,4BAA4B,EAAE,IAAA,QAAC,EAAC,yBAAyB,CAAC,CAAC;KAClE,MAAM,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/locales/en.json
CHANGED
|
@@ -93,6 +93,8 @@
|
|
|
93
93
|
"update.disabled": "disabled",
|
|
94
94
|
"update.enabled": "enabled (auto-restart: {{autoRestart}})",
|
|
95
95
|
"update.checkFailed": "Version check failed: {{message}}",
|
|
96
|
+
"update.skipDev": "Development mode detected. Automatic update is not supported.",
|
|
97
|
+
"update.skipLocal": "Local installation detected. Run \"npm update @ai-support-agent/cli\" in your project to update.",
|
|
96
98
|
|
|
97
99
|
"cmd.setProjectDir": "Set project directory",
|
|
98
100
|
"cmd.setProjectDir.project": "Project code",
|
|
@@ -104,5 +106,27 @@
|
|
|
104
106
|
"projectDir.noProject": "Project \"{{projectCode}}\" is not registered.",
|
|
105
107
|
"projectDir.initialized": "Project directory initialized: {{projectDir}} ({{projectCode}})",
|
|
106
108
|
"projectDir.usageHint": "Usage: set-project-dir --project <code> --path <path> OR --default <template>",
|
|
107
|
-
"projectDir.cleaned": "Cleaned up metadata directory: {{metadataDir}}"
|
|
109
|
+
"projectDir.cleaned": "Cleaned up metadata directory: {{metadataDir}}",
|
|
110
|
+
|
|
111
|
+
"cmd.setAutoUpdate": "Configure automatic updates",
|
|
112
|
+
"cmd.setAutoUpdate.enable": "Enable automatic updates",
|
|
113
|
+
"cmd.setAutoUpdate.disable": "Disable automatic updates",
|
|
114
|
+
"cmd.setAutoUpdate.channel": "Set update channel (latest, beta, alpha)",
|
|
115
|
+
"autoUpdate.usageHint": "Usage: set-auto-update --enable | --disable | --channel <channel>",
|
|
116
|
+
"autoUpdate.conflictFlags": "Cannot use --enable and --disable together.",
|
|
117
|
+
"autoUpdate.disabled": "Automatic updates disabled.",
|
|
118
|
+
"autoUpdate.enabled": "Automatic updates enabled (channel: {{channel}}).",
|
|
119
|
+
"autoUpdate.channelSet": "Update channel set to \"{{channel}}\".",
|
|
120
|
+
|
|
121
|
+
"cmd.start.docker": "Run inside a Docker container",
|
|
122
|
+
"cmd.dockerLogin": "Log in to Claude Code inside a Docker container",
|
|
123
|
+
"docker.notAvailable": "Docker is not available. Make sure Docker Desktop is running.",
|
|
124
|
+
"docker.building": "Building Docker image...",
|
|
125
|
+
"docker.buildComplete": "Docker image build complete",
|
|
126
|
+
"docker.imageFound": "Using existing Docker image ({{version}})",
|
|
127
|
+
"docker.starting": "Starting Docker container...",
|
|
128
|
+
"docker.runFailed": "Failed to run Docker container: {{message}}",
|
|
129
|
+
"docker.loginStep1": "Step 1: Run the following in your host terminal to get an OAuth token:",
|
|
130
|
+
"docker.loginStep2": "Step 2: Set the token as an environment variable and start in Docker mode:",
|
|
131
|
+
"docker.loginStep3": "The token is long-lived. Add the export to .bashrc or .zshrc to persist it."
|
|
108
132
|
}
|
package/dist/locales/ja.json
CHANGED
|
@@ -93,6 +93,8 @@
|
|
|
93
93
|
"update.disabled": "無効",
|
|
94
94
|
"update.enabled": "有効 (自動再起動: {{autoRestart}})",
|
|
95
95
|
"update.checkFailed": "バージョンチェックに失敗しました: {{message}}",
|
|
96
|
+
"update.skipDev": "開発モードを検出しました。自動更新はサポートされていません。",
|
|
97
|
+
"update.skipLocal": "ローカルインストールを検出しました。更新するにはプロジェクト内で \"npm update @ai-support-agent/cli\" を実行してください。",
|
|
96
98
|
|
|
97
99
|
"cmd.setProjectDir": "プロジェクトディレクトリを設定",
|
|
98
100
|
"cmd.setProjectDir.project": "プロジェクトコード",
|
|
@@ -104,5 +106,27 @@
|
|
|
104
106
|
"projectDir.noProject": "プロジェクト \"{{projectCode}}\" は登録されていません。",
|
|
105
107
|
"projectDir.initialized": "プロジェクトディレクトリを初期化しました: {{projectDir}} ({{projectCode}})",
|
|
106
108
|
"projectDir.usageHint": "使い方: set-project-dir --project <code> --path <path> または --default <template>",
|
|
107
|
-
"projectDir.cleaned": "メタデータディレクトリを削除しました: {{metadataDir}}"
|
|
109
|
+
"projectDir.cleaned": "メタデータディレクトリを削除しました: {{metadataDir}}",
|
|
110
|
+
|
|
111
|
+
"cmd.setAutoUpdate": "自動更新を設定",
|
|
112
|
+
"cmd.setAutoUpdate.enable": "自動更新を有効化",
|
|
113
|
+
"cmd.setAutoUpdate.disable": "自動更新を無効化",
|
|
114
|
+
"cmd.setAutoUpdate.channel": "更新チャネルを設定(latest, beta, alpha)",
|
|
115
|
+
"autoUpdate.usageHint": "使い方: set-auto-update --enable | --disable | --channel <channel>",
|
|
116
|
+
"autoUpdate.conflictFlags": "--enable と --disable は同時に使用できません。",
|
|
117
|
+
"autoUpdate.disabled": "自動更新を無効にしました。",
|
|
118
|
+
"autoUpdate.enabled": "自動更新を有効にしました(チャネル: {{channel}})。",
|
|
119
|
+
"autoUpdate.channelSet": "更新チャネルを \"{{channel}}\" に設定しました。",
|
|
120
|
+
|
|
121
|
+
"cmd.start.docker": "Dockerコンテナ内で実行",
|
|
122
|
+
"cmd.dockerLogin": "Dockerコンテナ内でClaude Codeにログイン",
|
|
123
|
+
"docker.notAvailable": "Dockerが利用できません。Docker Desktopが起動していることを確認してください。",
|
|
124
|
+
"docker.building": "Dockerイメージをビルド中...",
|
|
125
|
+
"docker.buildComplete": "Dockerイメージのビルドが完了しました",
|
|
126
|
+
"docker.imageFound": "既存のDockerイメージを使用します ({{version}})",
|
|
127
|
+
"docker.starting": "Dockerコンテナを起動中...",
|
|
128
|
+
"docker.runFailed": "Dockerコンテナの実行に失敗しました: {{message}}",
|
|
129
|
+
"docker.loginStep1": "Step 1: ホスト側のターミナルで以下を実行し、OAuthトークンを取得してください:",
|
|
130
|
+
"docker.loginStep2": "Step 2: 取得したトークンを環境変数に設定してDockerモードで起動:",
|
|
131
|
+
"docker.loginStep3": "トークンは長期間有効です。毎回設定が必要な場合は .bashrc や .zshrc に export を追加してください。"
|
|
108
132
|
}
|
|
@@ -93,6 +93,8 @@
|
|
|
93
93
|
"update.disabled": "disabled",
|
|
94
94
|
"update.enabled": "enabled (auto-restart: {{autoRestart}})",
|
|
95
95
|
"update.checkFailed": "Version check failed: {{message}}",
|
|
96
|
+
"update.skipDev": "Development mode detected. Automatic update is not supported.",
|
|
97
|
+
"update.skipLocal": "Local installation detected. Run \"npm update @ai-support-agent/cli\" in your project to update.",
|
|
96
98
|
|
|
97
99
|
"cmd.setProjectDir": "Set project directory",
|
|
98
100
|
"cmd.setProjectDir.project": "Project code",
|
|
@@ -104,5 +106,27 @@
|
|
|
104
106
|
"projectDir.noProject": "Project \"{{projectCode}}\" is not registered.",
|
|
105
107
|
"projectDir.initialized": "Project directory initialized: {{projectDir}} ({{projectCode}})",
|
|
106
108
|
"projectDir.usageHint": "Usage: set-project-dir --project <code> --path <path> OR --default <template>",
|
|
107
|
-
"projectDir.cleaned": "Cleaned up metadata directory: {{metadataDir}}"
|
|
109
|
+
"projectDir.cleaned": "Cleaned up metadata directory: {{metadataDir}}",
|
|
110
|
+
|
|
111
|
+
"cmd.setAutoUpdate": "Configure automatic updates",
|
|
112
|
+
"cmd.setAutoUpdate.enable": "Enable automatic updates",
|
|
113
|
+
"cmd.setAutoUpdate.disable": "Disable automatic updates",
|
|
114
|
+
"cmd.setAutoUpdate.channel": "Set update channel (latest, beta, alpha)",
|
|
115
|
+
"autoUpdate.usageHint": "Usage: set-auto-update --enable | --disable | --channel <channel>",
|
|
116
|
+
"autoUpdate.conflictFlags": "Cannot use --enable and --disable together.",
|
|
117
|
+
"autoUpdate.disabled": "Automatic updates disabled.",
|
|
118
|
+
"autoUpdate.enabled": "Automatic updates enabled (channel: {{channel}}).",
|
|
119
|
+
"autoUpdate.channelSet": "Update channel set to \"{{channel}}\".",
|
|
120
|
+
|
|
121
|
+
"cmd.start.docker": "Run inside a Docker container",
|
|
122
|
+
"cmd.dockerLogin": "Log in to Claude Code inside a Docker container",
|
|
123
|
+
"docker.notAvailable": "Docker is not available. Make sure Docker Desktop is running.",
|
|
124
|
+
"docker.building": "Building Docker image...",
|
|
125
|
+
"docker.buildComplete": "Docker image build complete",
|
|
126
|
+
"docker.imageFound": "Using existing Docker image ({{version}})",
|
|
127
|
+
"docker.starting": "Starting Docker container...",
|
|
128
|
+
"docker.runFailed": "Failed to run Docker container: {{message}}",
|
|
129
|
+
"docker.loginStep1": "Step 1: Run the following in your host terminal to get an OAuth token:",
|
|
130
|
+
"docker.loginStep2": "Step 2: Set the token as an environment variable and start in Docker mode:",
|
|
131
|
+
"docker.loginStep3": "The token is long-lived. Add the export to .bashrc or .zshrc to persist it."
|
|
108
132
|
}
|
|
@@ -93,6 +93,8 @@
|
|
|
93
93
|
"update.disabled": "無効",
|
|
94
94
|
"update.enabled": "有効 (自動再起動: {{autoRestart}})",
|
|
95
95
|
"update.checkFailed": "バージョンチェックに失敗しました: {{message}}",
|
|
96
|
+
"update.skipDev": "開発モードを検出しました。自動更新はサポートされていません。",
|
|
97
|
+
"update.skipLocal": "ローカルインストールを検出しました。更新するにはプロジェクト内で \"npm update @ai-support-agent/cli\" を実行してください。",
|
|
96
98
|
|
|
97
99
|
"cmd.setProjectDir": "プロジェクトディレクトリを設定",
|
|
98
100
|
"cmd.setProjectDir.project": "プロジェクトコード",
|
|
@@ -104,5 +106,27 @@
|
|
|
104
106
|
"projectDir.noProject": "プロジェクト \"{{projectCode}}\" は登録されていません。",
|
|
105
107
|
"projectDir.initialized": "プロジェクトディレクトリを初期化しました: {{projectDir}} ({{projectCode}})",
|
|
106
108
|
"projectDir.usageHint": "使い方: set-project-dir --project <code> --path <path> または --default <template>",
|
|
107
|
-
"projectDir.cleaned": "メタデータディレクトリを削除しました: {{metadataDir}}"
|
|
109
|
+
"projectDir.cleaned": "メタデータディレクトリを削除しました: {{metadataDir}}",
|
|
110
|
+
|
|
111
|
+
"cmd.setAutoUpdate": "自動更新を設定",
|
|
112
|
+
"cmd.setAutoUpdate.enable": "自動更新を有効化",
|
|
113
|
+
"cmd.setAutoUpdate.disable": "自動更新を無効化",
|
|
114
|
+
"cmd.setAutoUpdate.channel": "更新チャネルを設定(latest, beta, alpha)",
|
|
115
|
+
"autoUpdate.usageHint": "使い方: set-auto-update --enable | --disable | --channel <channel>",
|
|
116
|
+
"autoUpdate.conflictFlags": "--enable と --disable は同時に使用できません。",
|
|
117
|
+
"autoUpdate.disabled": "自動更新を無効にしました。",
|
|
118
|
+
"autoUpdate.enabled": "自動更新を有効にしました(チャネル: {{channel}})。",
|
|
119
|
+
"autoUpdate.channelSet": "更新チャネルを \"{{channel}}\" に設定しました。",
|
|
120
|
+
|
|
121
|
+
"cmd.start.docker": "Dockerコンテナ内で実行",
|
|
122
|
+
"cmd.dockerLogin": "Dockerコンテナ内でClaude Codeにログイン",
|
|
123
|
+
"docker.notAvailable": "Dockerが利用できません。Docker Desktopが起動していることを確認してください。",
|
|
124
|
+
"docker.building": "Dockerイメージをビルド中...",
|
|
125
|
+
"docker.buildComplete": "Dockerイメージのビルドが完了しました",
|
|
126
|
+
"docker.imageFound": "既存のDockerイメージを使用します ({{version}})",
|
|
127
|
+
"docker.starting": "Dockerコンテナを起動中...",
|
|
128
|
+
"docker.runFailed": "Dockerコンテナの実行に失敗しました: {{message}}",
|
|
129
|
+
"docker.loginStep1": "Step 1: ホスト側のターミナルで以下を実行し、OAuthトークンを取得してください:",
|
|
130
|
+
"docker.loginStep2": "Step 2: 取得したトークンを環境変数に設定してDockerモードで起動:",
|
|
131
|
+
"docker.loginStep3": "トークンは長期間有効です。毎回設定が必要な場合は .bashrc や .zshrc に export を追加してください。"
|
|
108
132
|
}
|
package/dist/logger.d.ts
CHANGED
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AA+BA,mCAAmC;AACnC,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQnD;AAMD,eAAO,MAAM,MAAM;wBACG,OAAO,GAAG,IAAI;kBAIpB,MAAM,GAAG,IAAI;kBAIb,MAAM,GAAG,IAAI;mBAIZ,MAAM,GAAG,IAAI;mBAIb,MAAM,GAAG,IAAI;qBAMX,MAAM,GAAG,IAAI;CAG/B,CAAA"}
|
package/dist/logger.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.logger = void 0;
|
|
4
|
+
exports.maskSecrets = maskSecrets;
|
|
4
5
|
const COLORS = {
|
|
5
6
|
reset: '\x1b[0m',
|
|
6
7
|
red: '\x1b[31m',
|
|
@@ -20,8 +21,26 @@ function timestamp() {
|
|
|
20
21
|
const s = String(now.getSeconds()).padStart(2, '0');
|
|
21
22
|
return `${y}-${mo}-${d} ${h}:${mi}:${s}`;
|
|
22
23
|
}
|
|
24
|
+
const SECRET_PATTERNS = [
|
|
25
|
+
// AWS Access Key IDs
|
|
26
|
+
{ pattern: /(AKIA[A-Z0-9]{16})/g, replacement: 'AKIA****' },
|
|
27
|
+
// Key-value pairs with secret-like keys
|
|
28
|
+
{ pattern: /((?:password|secret|token|api_key|apikey|access_key|secret_key|session_token|authorization)\s*[:=]\s*["']?)([^\s"',}{]+)/gi, replacement: '$1****' },
|
|
29
|
+
// Bearer tokens
|
|
30
|
+
{ pattern: /(Bearer\s+)[^\s]+/gi, replacement: '$1****' },
|
|
31
|
+
];
|
|
32
|
+
/** Mask secrets in log messages */
|
|
33
|
+
function maskSecrets(message) {
|
|
34
|
+
let masked = message;
|
|
35
|
+
for (const { pattern, replacement } of SECRET_PATTERNS) {
|
|
36
|
+
// Reset lastIndex for global regexps
|
|
37
|
+
pattern.lastIndex = 0;
|
|
38
|
+
masked = masked.replace(pattern, replacement);
|
|
39
|
+
}
|
|
40
|
+
return masked;
|
|
41
|
+
}
|
|
23
42
|
function formatLog(level, color, message) {
|
|
24
|
-
return `${COLORS.gray}[${timestamp()}]${COLORS.reset} ${color}${level}${COLORS.reset} ${message}`;
|
|
43
|
+
return `${COLORS.gray}[${timestamp()}]${COLORS.reset} ${color}${level}${COLORS.reset} ${maskSecrets(message)}`;
|
|
25
44
|
}
|
|
26
45
|
exports.logger = {
|
|
27
46
|
setVerbose(enabled) {
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP 設定ファイルのパスを返す
|
|
3
|
+
*/
|
|
4
|
+
export declare function getMcpConfigPath(projectDir: string): string;
|
|
5
|
+
/**
|
|
6
|
+
* MCP 設定 JSON を構築する
|
|
7
|
+
*
|
|
8
|
+
* token はファイルに書かない。環境変数参照にする。
|
|
9
|
+
*/
|
|
10
|
+
export declare function buildMcpConfig(apiUrl: string, projectCode: string, mcpServerPath: string): Record<string, unknown>;
|
|
11
|
+
/**
|
|
12
|
+
* MCP 設定ファイルを書き出す
|
|
13
|
+
*
|
|
14
|
+
* 0o600 権限で作成し、token は環境変数参照にする。
|
|
15
|
+
*/
|
|
16
|
+
export declare function writeMcpConfig(projectDir: string, apiUrl: string, token: string, projectCode: string, mcpServerPath: string): string;
|
|
17
|
+
//# sourceMappingURL=config-writer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-writer.d.ts","sourceRoot":"","sources":["../../src/mcp/config-writer.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAczB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACpB,MAAM,CA2BR"}
|