@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
package/dist/update-checker.js
CHANGED
|
@@ -1,12 +1,115 @@
|
|
|
1
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
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.getGlobalNpmPrefix = getGlobalNpmPrefix;
|
|
37
|
+
exports.resetGlobalPrefixCache = resetGlobalPrefixCache;
|
|
38
|
+
exports.detectInstallMethod = detectInstallMethod;
|
|
39
|
+
exports.detectChannelFromVersion = detectChannelFromVersion;
|
|
3
40
|
exports.isNewerVersion = isNewerVersion;
|
|
4
41
|
exports.isValidVersion = isValidVersion;
|
|
5
42
|
exports.performUpdate = performUpdate;
|
|
6
43
|
exports.reExecProcess = reExecProcess;
|
|
7
44
|
const child_process_1 = require("child_process");
|
|
45
|
+
const path = __importStar(require("path"));
|
|
8
46
|
const constants_1 = require("./constants");
|
|
9
47
|
const logger_1 = require("./logger");
|
|
48
|
+
let cachedGlobalPrefix = null;
|
|
49
|
+
/**
|
|
50
|
+
* Get the global npm prefix path (e.g. /usr/local).
|
|
51
|
+
* Result is cached after the first call.
|
|
52
|
+
*/
|
|
53
|
+
function getGlobalNpmPrefix() {
|
|
54
|
+
if (cachedGlobalPrefix !== null)
|
|
55
|
+
return cachedGlobalPrefix;
|
|
56
|
+
const npmCmd = process.platform === 'win32' ? 'npm.cmd' : 'npm';
|
|
57
|
+
const result = (0, child_process_1.execFileSync)(npmCmd, ['prefix', '-g'], {
|
|
58
|
+
encoding: 'utf-8',
|
|
59
|
+
timeout: 10_000,
|
|
60
|
+
}).trim();
|
|
61
|
+
cachedGlobalPrefix = result;
|
|
62
|
+
return result;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Reset the cached global npm prefix (for testing).
|
|
66
|
+
*/
|
|
67
|
+
function resetGlobalPrefixCache() {
|
|
68
|
+
cachedGlobalPrefix = null;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Detect how the CLI was installed/started.
|
|
72
|
+
* Priority: dev → npx → global → local
|
|
73
|
+
*/
|
|
74
|
+
function detectInstallMethod() {
|
|
75
|
+
const scriptPath = process.argv[1] ?? '';
|
|
76
|
+
const execArgvStr = process.execArgv.join(' ');
|
|
77
|
+
// 1. Dev: ts-node or .ts file
|
|
78
|
+
if (execArgvStr.includes('ts-node') || scriptPath.endsWith('.ts')) {
|
|
79
|
+
return 'dev';
|
|
80
|
+
}
|
|
81
|
+
// 2. npx: path contains _npx
|
|
82
|
+
if (scriptPath.includes('/_npx/') || scriptPath.includes('\\_npx\\')) {
|
|
83
|
+
return 'npx';
|
|
84
|
+
}
|
|
85
|
+
// 3. Global: under npm global prefix
|
|
86
|
+
try {
|
|
87
|
+
const globalPrefix = getGlobalNpmPrefix();
|
|
88
|
+
if (globalPrefix && scriptPath.startsWith(globalPrefix)) {
|
|
89
|
+
return 'global';
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
// npm prefix -g failed → fall through to local
|
|
94
|
+
}
|
|
95
|
+
// 4. Local: fallback
|
|
96
|
+
return 'local';
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* バージョン文字列からリリースチャンネルを推定する。
|
|
100
|
+
* e.g. "0.0.4-beta.21" → "beta", "0.0.4-alpha.3" → "alpha", "0.0.4" → "latest"
|
|
101
|
+
*/
|
|
102
|
+
function detectChannelFromVersion(version) {
|
|
103
|
+
const match = version.match(/^\d+\.\d+\.\d+-(\w+)/);
|
|
104
|
+
if (match) {
|
|
105
|
+
const tag = match[1];
|
|
106
|
+
if (tag === 'beta')
|
|
107
|
+
return 'beta';
|
|
108
|
+
if (tag === 'alpha')
|
|
109
|
+
return 'alpha';
|
|
110
|
+
}
|
|
111
|
+
return 'latest';
|
|
112
|
+
}
|
|
10
113
|
/**
|
|
11
114
|
* Compare two semver strings.
|
|
12
115
|
* Returns true if `latest` is newer than `current`.
|
|
@@ -46,12 +149,20 @@ function isValidVersion(version) {
|
|
|
46
149
|
return /^\d+\.\d+\.\d+/.test(version);
|
|
47
150
|
}
|
|
48
151
|
/**
|
|
49
|
-
*
|
|
50
|
-
* Returns true on success, false on failure.
|
|
152
|
+
* Resolve the global binary script path for @ai-support-agent/cli.
|
|
51
153
|
*/
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
|
|
154
|
+
function resolveGlobalBinaryScript() {
|
|
155
|
+
const globalPrefix = getGlobalNpmPrefix();
|
|
156
|
+
// Windows: {prefix}/node_modules/... macOS/Linux: {prefix}/lib/node_modules/...
|
|
157
|
+
const segments = process.platform === 'win32'
|
|
158
|
+
? [globalPrefix, 'node_modules', '@ai-support-agent', 'cli', 'dist', 'index.js']
|
|
159
|
+
: [globalPrefix, 'lib', 'node_modules', '@ai-support-agent', 'cli', 'dist', 'index.js'];
|
|
160
|
+
return path.join(...segments);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Run npm install command and return result.
|
|
164
|
+
*/
|
|
165
|
+
function execNpmCommand(npmCmd, args, version) {
|
|
55
166
|
return new Promise((resolve) => {
|
|
56
167
|
(0, child_process_1.execFile)(npmCmd, args, { timeout: constants_1.NPM_INSTALL_TIMEOUT }, (error, _stdout, stderr) => {
|
|
57
168
|
if (error) {
|
|
@@ -72,16 +183,45 @@ async function performUpdate(version) {
|
|
|
72
183
|
});
|
|
73
184
|
});
|
|
74
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Install a specific version of the CLI package.
|
|
188
|
+
* Only global and npx methods are supported for automatic update.
|
|
189
|
+
*/
|
|
190
|
+
async function performUpdate(version, method) {
|
|
191
|
+
const installMethod = method ?? detectInstallMethod();
|
|
192
|
+
if (installMethod === 'dev') {
|
|
193
|
+
return { success: false, error: 'Development mode: automatic update is not supported. Please update manually.' };
|
|
194
|
+
}
|
|
195
|
+
if (installMethod === 'local') {
|
|
196
|
+
return { success: false, error: 'Local installation: automatic update is not supported. Run npm update in your project.' };
|
|
197
|
+
}
|
|
198
|
+
// global & npx: npm install -g
|
|
199
|
+
const npmCmd = process.platform === 'win32' ? 'npm.cmd' : 'npm';
|
|
200
|
+
const args = ['install', '-g', `@ai-support-agent/cli@${version}`];
|
|
201
|
+
return execNpmCommand(npmCmd, args, version);
|
|
202
|
+
}
|
|
75
203
|
/**
|
|
76
204
|
* Re-exec the current process with the same arguments.
|
|
77
|
-
*
|
|
205
|
+
* Preserves process.execArgv (Node.js runtime flags) and environment variables.
|
|
206
|
+
* For npx installs, resolves the global binary path instead of the stale npx cache path.
|
|
78
207
|
*/
|
|
79
|
-
function reExecProcess() {
|
|
80
|
-
const
|
|
208
|
+
function reExecProcess(method) {
|
|
209
|
+
const installMethod = method ?? detectInstallMethod();
|
|
210
|
+
let args;
|
|
211
|
+
if (installMethod === 'npx') {
|
|
212
|
+
// npx cache path points to old version → use global install path
|
|
213
|
+
const globalScript = resolveGlobalBinaryScript();
|
|
214
|
+
args = [...process.execArgv, globalScript, ...process.argv.slice(2)];
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
// global / local / dev: re-exec with original argv, preserving execArgv
|
|
218
|
+
args = [...process.execArgv, ...process.argv.slice(1)];
|
|
219
|
+
}
|
|
81
220
|
logger_1.logger.info(`Re-executing: ${process.execPath} ${args.join(' ')}`);
|
|
82
221
|
const child = (0, child_process_1.spawn)(process.execPath, args, {
|
|
83
222
|
detached: true,
|
|
84
223
|
stdio: 'inherit',
|
|
224
|
+
env: { ...process.env },
|
|
85
225
|
});
|
|
86
226
|
child.unref();
|
|
87
227
|
process.exit(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-checker.js","sourceRoot":"","sources":["../src/update-checker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update-checker.js","sourceRoot":"","sources":["../src/update-checker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,gDASC;AAKD,wDAEC;AAMD,kDA0BC;AAMD,4DAQC;AAOD,wCAyBC;AAKD,wCAEC;AA+CD,sCAkBC;AAOD,sCAwBC;AAlND,iDAA6D;AAC7D,2CAA4B;AAE5B,2CAAiD;AACjD,qCAAiC;AAGjC,IAAI,kBAAkB,GAAkB,IAAI,CAAA;AAE5C;;;GAGG;AACH,SAAgB,kBAAkB;IAChC,IAAI,kBAAkB,KAAK,IAAI;QAAE,OAAO,kBAAkB,CAAA;IAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;IAC/D,MAAM,MAAM,GAAG,IAAA,4BAAY,EAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;QACpD,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC,IAAI,EAAE,CAAA;IACT,kBAAkB,GAAG,MAAM,CAAA;IAC3B,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB;IACpC,kBAAkB,GAAG,IAAI,CAAA;AAC3B,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB;IACjC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACxC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAE9C,8BAA8B;IAC9B,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,OAAO,KAAK,CAAA;IACd,CAAC;IAED,6BAA6B;IAC7B,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACrE,OAAO,KAAK,CAAA;IACd,CAAC;IAED,qCAAqC;IACrC,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAA;QACzC,IAAI,YAAY,IAAI,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACxD,OAAO,QAAQ,CAAA;QACjB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+CAA+C;IACjD,CAAC;IAED,qBAAqB;IACrB,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;GAGG;AACH,SAAgB,wBAAwB,CAAC,OAAe;IACtD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACnD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACpB,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,MAAM,CAAA;QACjC,IAAI,GAAG,KAAK,OAAO;YAAE,OAAO,OAAO,CAAA;IACrC,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAAC,OAAe,EAAE,MAAc;IAC5D,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE;QACjC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QACnC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACzC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IAClF,CAAC,CAAA;IAED,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IAC/B,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;IAE9B,4BAA4B;IAC5B,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;IACjD,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;IACjD,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAA;IAEjD,kDAAkD;IAClD,iCAAiC;IACjC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA,CAAE,4CAA4C;IAC9E,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG;QAAE,OAAO,KAAK,CAAA,CAAC,4CAA4C;IAE9E,qDAAqD;IACrD,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG;QAAE,OAAO,KAAK,CAAA;IAElC,oDAAoD;IACpD,OAAO,CAAC,CAAC,GAAI,GAAG,CAAC,CAAC,GAAI,CAAA;AACxB,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,OAAe;IAC5C,OAAO,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACvC,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB;IAChC,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAA;IACzC,iFAAiF;IACjF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC3C,CAAC,CAAC,CAAC,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC;QAChF,CAAC,CAAC,CAAC,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;IACzF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;AAC/B,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CACrB,MAAc,EACd,IAAc,EACd,OAAe;IAEf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAA,wBAAQ,EAAC,MAAM,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,+BAAmB,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAClF,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,IAAI,eAAe,CAAA;gBAC1D,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAA;gBAE7F,IAAI,iBAAiB,EAAE,CAAC;oBACtB,OAAO,CAAC;wBACN,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,qEAAqE,OAAO,EAAE;qBACtF,CAAC,CAAA;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;gBAC7C,CAAC;gBACD,OAAM;YACR,CAAC;YACD,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5B,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,aAAa,CACjC,OAAe,EACf,MAAsB;IAEtB,MAAM,aAAa,GAAG,MAAM,IAAI,mBAAmB,EAAE,CAAA;IAErD,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8EAA8E,EAAE,CAAA;IAClH,CAAC;IAED,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wFAAwF,EAAE,CAAA;IAC5H,CAAC;IAED,+BAA+B;IAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;IAC/D,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,yBAAyB,OAAO,EAAE,CAAC,CAAA;IAClE,OAAO,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;AAC9C,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa,CAAC,MAAsB;IAClD,MAAM,aAAa,GAAG,MAAM,IAAI,mBAAmB,EAAE,CAAA;IAErD,IAAI,IAAc,CAAA;IAElB,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAC5B,iEAAiE;QACjE,MAAM,YAAY,GAAG,yBAAyB,EAAE,CAAA;QAChD,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACtE,CAAC;SAAM,CAAC;QACN,wEAAwE;QACxE,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACxD,CAAC;IAED,eAAM,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAElE,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE;QAC1C,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;KACxB,CAAC,CAAA;IAEF,KAAK,CAAC,KAAK,EAAE,CAAA;IACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
FROM node:24-slim
|
|
2
|
+
|
|
3
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
4
|
+
ca-certificates curl unzip git openssh-client \
|
|
5
|
+
default-mysql-client postgresql-client \
|
|
6
|
+
gnupg apt-transport-https \
|
|
7
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
8
|
+
|
|
9
|
+
# AWS CLI v2
|
|
10
|
+
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-$(uname -m).zip" -o /tmp/awscliv2.zip \
|
|
11
|
+
&& unzip /tmp/awscliv2.zip -d /tmp \
|
|
12
|
+
&& /tmp/aws/install \
|
|
13
|
+
&& rm -rf /tmp/aws /tmp/awscliv2.zip
|
|
14
|
+
|
|
15
|
+
# AWS Session Manager Plugin
|
|
16
|
+
RUN ARCH=$(dpkg --print-architecture) \
|
|
17
|
+
&& curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_${ARCH}/session-manager-plugin.deb" \
|
|
18
|
+
-o /tmp/session-manager-plugin.deb \
|
|
19
|
+
&& dpkg -i /tmp/session-manager-plugin.deb \
|
|
20
|
+
&& rm /tmp/session-manager-plugin.deb
|
|
21
|
+
|
|
22
|
+
# MSSQL tools (amd64 only)
|
|
23
|
+
RUN ARCH=$(dpkg --print-architecture) && \
|
|
24
|
+
if [ "$ARCH" = "amd64" ]; then \
|
|
25
|
+
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /usr/share/keyrings/microsoft.gpg \
|
|
26
|
+
&& echo "deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft.gpg] https://packages.microsoft.com/debian/12/prod bookworm main" \
|
|
27
|
+
> /etc/apt/sources.list.d/mssql-release.list \
|
|
28
|
+
&& apt-get update \
|
|
29
|
+
&& ACCEPT_EULA=Y apt-get install -y --no-install-recommends mssql-tools18 unixodbc-dev \
|
|
30
|
+
&& rm -rf /var/lib/apt/lists/*; \
|
|
31
|
+
fi
|
|
32
|
+
ENV PATH="$PATH:/opt/mssql-tools18/bin"
|
|
33
|
+
|
|
34
|
+
# Claude Code CLI + AI Support Agent CLI
|
|
35
|
+
ARG AGENT_VERSION=latest
|
|
36
|
+
RUN npm install -g @anthropic-ai/claude-code @ai-support-agent/cli@${AGENT_VERSION}
|
|
37
|
+
|
|
38
|
+
WORKDIR /workspace
|
|
39
|
+
ENTRYPOINT ["ai-support-agent"]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-support-agent/cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5-beta.1",
|
|
4
4
|
"description": "AI Support Agent CLI client",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"files": [
|
|
25
25
|
"dist",
|
|
26
|
+
"docker",
|
|
26
27
|
"LICENSE",
|
|
27
28
|
"README.md",
|
|
28
29
|
"CHANGELOG.md"
|
|
@@ -35,14 +36,19 @@
|
|
|
35
36
|
"test:cov": "jest --coverage"
|
|
36
37
|
},
|
|
37
38
|
"dependencies": {
|
|
39
|
+
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
40
|
+
"@sentry/node": "^10.40.0",
|
|
38
41
|
"axios": "^1.13.0",
|
|
39
42
|
"commander": "^14.0.0",
|
|
43
|
+
"mysql2": "^3.18.2",
|
|
40
44
|
"open": "^11.0.0",
|
|
45
|
+
"pg": "^8.19.0",
|
|
41
46
|
"ws": "^8.19.0"
|
|
42
47
|
},
|
|
43
48
|
"devDependencies": {
|
|
44
49
|
"@types/jest": "^30.0.0",
|
|
45
50
|
"@types/node": "^22.0.0",
|
|
51
|
+
"@types/pg": "^8.18.0",
|
|
46
52
|
"@types/ws": "^8.18.1",
|
|
47
53
|
"jest": "^30.0.0",
|
|
48
54
|
"jest-junit": "^16.0.0",
|