@ai-support-agent/cli 0.0.5-beta.5 → 0.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/agent-config-sync.d.ts +49 -0
- package/dist/agent-config-sync.d.ts.map +1 -0
- package/dist/agent-config-sync.js +168 -0
- package/dist/agent-config-sync.js.map +1 -0
- package/dist/agent-runner.d.ts +11 -3
- package/dist/agent-runner.d.ts.map +1 -1
- package/dist/agent-runner.js +48 -24
- package/dist/agent-runner.js.map +1 -1
- package/dist/agent-transport.d.ts +59 -0
- package/dist/agent-transport.d.ts.map +1 -0
- package/dist/agent-transport.js +225 -0
- package/dist/agent-transport.js.map +1 -0
- package/dist/api-client.d.ts +2 -1
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +4 -0
- package/dist/api-client.js.map +1 -1
- package/dist/appsync-subscriber.d.ts +15 -9
- package/dist/appsync-subscriber.d.ts.map +1 -1
- package/dist/appsync-subscriber.js +50 -111
- package/dist/appsync-subscriber.js.map +1 -1
- package/dist/aws-profile.d.ts.map +1 -1
- package/dist/aws-profile.js +3 -6
- package/dist/aws-profile.js.map +1 -1
- package/dist/base-websocket.d.ts +40 -0
- package/dist/base-websocket.d.ts.map +1 -0
- package/dist/base-websocket.js +95 -0
- package/dist/base-websocket.js.map +1 -0
- package/dist/child-process-manager.d.ts +20 -0
- package/dist/child-process-manager.d.ts.map +1 -0
- package/dist/child-process-manager.js +125 -0
- package/dist/child-process-manager.js.map +1 -0
- package/dist/commands/api-chat-executor.d.ts +10 -1
- package/dist/commands/api-chat-executor.d.ts.map +1 -1
- package/dist/commands/api-chat-executor.js +83 -58
- package/dist/commands/api-chat-executor.js.map +1 -1
- package/dist/commands/chat-executor.d.ts +13 -2
- package/dist/commands/chat-executor.d.ts.map +1 -1
- package/dist/commands/chat-executor.js +66 -16
- package/dist/commands/chat-executor.js.map +1 -1
- package/dist/commands/claude-code-args.d.ts +12 -0
- package/dist/commands/claude-code-args.d.ts.map +1 -0
- package/dist/commands/claude-code-args.js +78 -0
- package/dist/commands/claude-code-args.js.map +1 -0
- package/dist/commands/claude-code-runner.d.ts +17 -36
- package/dist/commands/claude-code-runner.d.ts.map +1 -1
- package/dist/commands/claude-code-runner.js +49 -221
- package/dist/commands/claude-code-runner.js.map +1 -1
- package/dist/commands/claude-code-stream.d.ts +63 -0
- package/dist/commands/claude-code-stream.d.ts.map +1 -0
- package/dist/commands/claude-code-stream.js +179 -0
- package/dist/commands/claude-code-stream.js.map +1 -0
- package/dist/commands/file-executor.d.ts +1 -1
- package/dist/commands/file-executor.d.ts.map +1 -1
- package/dist/commands/file-executor.js +59 -70
- package/dist/commands/file-executor.js.map +1 -1
- package/dist/commands/file-path-guard.d.ts +9 -0
- package/dist/commands/file-path-guard.d.ts.map +1 -0
- package/dist/commands/file-path-guard.js +15 -0
- package/dist/commands/file-path-guard.js.map +1 -0
- package/dist/commands/file-transfer.d.ts +5 -0
- package/dist/commands/file-transfer.d.ts.map +1 -1
- package/dist/commands/file-transfer.js +16 -39
- package/dist/commands/file-transfer.js.map +1 -1
- package/dist/commands/index.d.ts +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +18 -7
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/process-executor.d.ts +1 -1
- package/dist/commands/process-executor.d.ts.map +1 -1
- package/dist/commands/process-executor.js +24 -6
- package/dist/commands/process-executor.js.map +1 -1
- package/dist/commands/process-manager.d.ts +22 -0
- package/dist/commands/process-manager.d.ts.map +1 -0
- package/dist/commands/process-manager.js +36 -0
- package/dist/commands/process-manager.js.map +1 -0
- package/dist/commands/shared-chat-utils.d.ts +10 -1
- package/dist/commands/shared-chat-utils.d.ts.map +1 -1
- package/dist/commands/shared-chat-utils.js +18 -0
- package/dist/commands/shared-chat-utils.js.map +1 -1
- package/dist/commands/shell-executor.d.ts +1 -1
- package/dist/commands/shell-executor.d.ts.map +1 -1
- package/dist/commands/shell-executor.js +9 -12
- package/dist/commands/shell-executor.js.map +1 -1
- package/dist/config-manager.d.ts.map +1 -1
- package/dist/config-manager.js +2 -3
- package/dist/config-manager.js.map +1 -1
- package/dist/constants.d.ts +21 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +26 -1
- package/dist/constants.js.map +1 -1
- package/dist/docker/docker-runner.d.ts.map +1 -1
- package/dist/docker/docker-runner.js +5 -3
- package/dist/docker/docker-runner.js.map +1 -1
- package/dist/ipc-types.d.ts +36 -0
- package/dist/ipc-types.d.ts.map +1 -0
- package/dist/ipc-types.js +34 -0
- package/dist/ipc-types.js.map +1 -0
- package/dist/mcp/config-writer.d.ts +5 -1
- package/dist/mcp/config-writer.d.ts.map +1 -1
- package/dist/mcp/config-writer.js +14 -1
- package/dist/mcp/config-writer.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +2 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/credentials.d.ts.map +1 -1
- package/dist/mcp/tools/credentials.js +36 -9
- package/dist/mcp/tools/credentials.js.map +1 -1
- package/dist/mcp/tools/db-query.d.ts.map +1 -1
- package/dist/mcp/tools/db-query.js +13 -18
- package/dist/mcp/tools/db-query.js.map +1 -1
- package/dist/mcp/tools/db-schemas.d.ts.map +1 -1
- package/dist/mcp/tools/db-schemas.js +8 -13
- package/dist/mcp/tools/db-schemas.js.map +1 -1
- package/dist/mcp/tools/file-upload.d.ts.map +1 -1
- package/dist/mcp/tools/file-upload.js +12 -17
- package/dist/mcp/tools/file-upload.js.map +1 -1
- package/dist/mcp/tools/mcp-response.d.ts +29 -1
- package/dist/mcp/tools/mcp-response.d.ts.map +1 -1
- package/dist/mcp/tools/mcp-response.js +51 -3
- package/dist/mcp/tools/mcp-response.js.map +1 -1
- package/dist/mcp/tools/project-info.d.ts.map +1 -1
- package/dist/mcp/tools/project-info.js +28 -33
- package/dist/mcp/tools/project-info.js.map +1 -1
- package/dist/mcp/tools/read-conversation-file.d.ts +4 -0
- package/dist/mcp/tools/read-conversation-file.d.ts.map +1 -0
- package/dist/mcp/tools/read-conversation-file.js +92 -0
- package/dist/mcp/tools/read-conversation-file.js.map +1 -0
- package/dist/process-manager.d.ts +2 -0
- package/dist/process-manager.d.ts.map +1 -0
- package/dist/process-manager.js +7 -0
- package/dist/process-manager.js.map +1 -0
- package/dist/project-agent.d.ts +5 -25
- package/dist/project-agent.d.ts.map +1 -1
- package/dist/project-agent.js +67 -313
- package/dist/project-agent.js.map +1 -1
- package/dist/project-config-sync.d.ts.map +1 -1
- package/dist/project-config-sync.js +9 -3
- package/dist/project-config-sync.js.map +1 -1
- package/dist/project-worker.d.ts +2 -0
- package/dist/project-worker.d.ts.map +1 -0
- package/dist/project-worker.js +85 -0
- package/dist/project-worker.js.map +1 -0
- package/dist/repo-sync.d.ts +23 -0
- package/dist/repo-sync.d.ts.map +1 -0
- package/dist/repo-sync.js +191 -0
- package/dist/repo-sync.js.map +1 -0
- package/dist/terminal/terminal-websocket.d.ts +8 -9
- package/dist/terminal/terminal-websocket.d.ts.map +1 -1
- package/dist/terminal/terminal-websocket.js +30 -87
- package/dist/terminal/terminal-websocket.js.map +1 -1
- package/dist/types/chat.d.ts +28 -0
- package/dist/types/chat.d.ts.map +1 -0
- package/dist/types/chat.js +3 -0
- package/dist/types/chat.js.map +1 -0
- package/dist/types/command.d.ts +100 -0
- package/dist/types/command.d.ts.map +1 -0
- package/dist/types/command.js +11 -0
- package/dist/types/command.js.map +1 -0
- package/dist/types/config.d.ts +44 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +3 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +22 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/project.d.ts +112 -0
- package/dist/types/project.d.ts.map +1 -0
- package/dist/types/project.js +3 -0
- package/dist/types/project.js.map +1 -0
- package/dist/types/server.d.ts +58 -0
- package/dist/types/server.d.ts.map +1 -0
- package/dist/types/server.js +3 -0
- package/dist/types/server.js.map +1 -0
- package/dist/types.d.ts +1 -295
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +15 -0
- package/dist/types.js.map +1 -1
- package/dist/utils/activity-timeout.d.ts +19 -0
- package/dist/utils/activity-timeout.d.ts.map +1 -0
- package/dist/utils/activity-timeout.js +28 -0
- package/dist/utils/activity-timeout.js.map +1 -0
- package/dist/utils/claude-config-validator.d.ts +16 -0
- package/dist/utils/claude-config-validator.d.ts.map +1 -0
- package/dist/utils/claude-config-validator.js +94 -0
- package/dist/utils/claude-config-validator.js.map +1 -0
- package/dist/utils/content-type.d.ts +10 -0
- package/dist/utils/content-type.d.ts.map +1 -0
- package/dist/utils/content-type.js +120 -0
- package/dist/utils/content-type.js.map +1 -0
- package/dist/utils/json-parse.d.ts +5 -0
- package/dist/utils/json-parse.d.ts.map +1 -0
- package/dist/utils/json-parse.js +15 -0
- package/dist/utils/json-parse.js.map +1 -0
- package/dist/utils/stream-parser.d.ts +14 -0
- package/dist/utils/stream-parser.d.ts.map +1 -0
- package/dist/utils/stream-parser.js +31 -0
- package/dist/utils/stream-parser.js.map +1 -0
- package/dist/utils.d.ts +1 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +40 -0
- package/dist/utils.js.map +1 -1
- package/dist/ws-reconnect.d.ts +12 -0
- package/dist/ws-reconnect.d.ts.map +1 -0
- package/dist/ws-reconnect.js +32 -0
- package/dist/ws-reconnect.js.map +1 -0
- package/package.json +2 -2
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { ApiClient } from '../api-client';
|
|
2
|
-
import type
|
|
3
|
-
export { buildClaudeArgs, buildCleanEnv } from './claude-code-runner';
|
|
2
|
+
import { type AgentChatMode, type AgentServerConfig, type ChatFileInfo, type ChatPayload, type CommandResult, type ProjectConfigResponse } from '../types';
|
|
3
|
+
export { buildClaudeArgs, buildCleanEnv, _resetCleanEnvCache } from './claude-code-runner';
|
|
4
|
+
/**
|
|
5
|
+
* 実行中のチャットプロセスをキャンセルする
|
|
6
|
+
* @returns true: プロセスが見つかりキルした, false: プロセスが見つからなかった
|
|
7
|
+
*/
|
|
8
|
+
export declare function cancelChatProcess(commandId: string): boolean;
|
|
9
|
+
/** テスト用: runningProcesses の内容を取得 */
|
|
10
|
+
export declare function _getRunningProcesses(): Map<string, {
|
|
11
|
+
cancel: () => void;
|
|
12
|
+
}>;
|
|
4
13
|
/**
|
|
5
14
|
* エージェントチャットモードに応じてチャットメッセージを処理する
|
|
6
15
|
* - claude_code: Claude Code CLI を使用(デフォルト)
|
|
@@ -9,4 +18,6 @@ export { buildClaudeArgs, buildCleanEnv } from './claude-code-runner';
|
|
|
9
18
|
* activeChatMode はサーバーの chatMode ではなく、エージェント内部の実行方式を指す
|
|
10
19
|
*/
|
|
11
20
|
export declare function executeChatCommand(payload: ChatPayload, commandId: string, client: ApiClient, serverConfig?: AgentServerConfig, activeChatMode?: AgentChatMode, agentId?: string, projectDir?: string, projectConfig?: ProjectConfigResponse, mcpConfigPath?: string): Promise<CommandResult>;
|
|
21
|
+
export declare function buildConversationFileNotice(conversationFiles: ChatFileInfo[]): string;
|
|
22
|
+
export declare function buildMetadataNotice(conversationId: string | null, commandId: string, projectCode: string | undefined, mcpConfigPath?: string): string;
|
|
12
23
|
//# sourceMappingURL=chat-executor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-executor.d.ts","sourceRoot":"","sources":["../../src/commands/chat-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAIzC,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"chat-executor.d.ts","sourceRoot":"","sources":["../../src/commands/chat-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAIzC,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAsB,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAe,KAAK,qBAAqB,EAAiB,MAAM,UAAU,CAAA;AAW1M,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAK1F;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,oCAAoC;AACpC,wBAAgB,oBAAoB,IAAI,GAAG,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CAE1E;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,SAAS,EACjB,YAAY,CAAC,EAAE,iBAAiB,EAChC,cAAc,CAAC,EAAE,aAAa,EAC9B,OAAO,CAAC,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,qBAAqB,EACrC,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,aAAa,CAAC,CAcxB;AAuID,wBAAgB,2BAA2B,CAAC,iBAAiB,EAAE,YAAY,EAAE,GAAG,MAAM,CAMrF;AAED,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,GAAG,IAAI,EAC7B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,aAAa,CAAC,EAAE,MAAM,GACrB,MAAM,CAGR"}
|
|
@@ -1,20 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildCleanEnv = exports.buildClaudeArgs = void 0;
|
|
3
|
+
exports._resetCleanEnvCache = exports.buildCleanEnv = exports.buildClaudeArgs = void 0;
|
|
4
|
+
exports.cancelChatProcess = cancelChatProcess;
|
|
5
|
+
exports._getRunningProcesses = _getRunningProcesses;
|
|
4
6
|
exports.executeChatCommand = executeChatCommand;
|
|
7
|
+
exports.buildConversationFileNotice = buildConversationFileNotice;
|
|
8
|
+
exports.buildMetadataNotice = buildMetadataNotice;
|
|
5
9
|
const aws_credential_builder_1 = require("../aws-credential-builder");
|
|
6
10
|
const constants_1 = require("../constants");
|
|
7
11
|
const logger_1 = require("../logger");
|
|
12
|
+
const types_1 = require("../types");
|
|
8
13
|
const utils_1 = require("../utils");
|
|
9
14
|
const project_dir_1 = require("../project-dir");
|
|
10
15
|
const api_chat_executor_1 = require("./api-chat-executor");
|
|
11
16
|
const claude_code_runner_1 = require("./claude-code-runner");
|
|
12
17
|
const file_transfer_1 = require("./file-transfer");
|
|
18
|
+
const process_manager_1 = require("./process-manager");
|
|
13
19
|
const shared_chat_utils_1 = require("./shared-chat-utils");
|
|
14
20
|
// Re-export for backward compatibility with existing consumers
|
|
15
21
|
var claude_code_runner_2 = require("./claude-code-runner");
|
|
16
22
|
Object.defineProperty(exports, "buildClaudeArgs", { enumerable: true, get: function () { return claude_code_runner_2.buildClaudeArgs; } });
|
|
17
23
|
Object.defineProperty(exports, "buildCleanEnv", { enumerable: true, get: function () { return claude_code_runner_2.buildCleanEnv; } });
|
|
24
|
+
Object.defineProperty(exports, "_resetCleanEnvCache", { enumerable: true, get: function () { return claude_code_runner_2._resetCleanEnvCache; } });
|
|
25
|
+
/** 実行中のチャットプロセスを commandId で管理 */
|
|
26
|
+
const processManager = new process_manager_1.ProcessManager();
|
|
27
|
+
/**
|
|
28
|
+
* 実行中のチャットプロセスをキャンセルする
|
|
29
|
+
* @returns true: プロセスが見つかりキルした, false: プロセスが見つからなかった
|
|
30
|
+
*/
|
|
31
|
+
function cancelChatProcess(commandId) {
|
|
32
|
+
return processManager.cancel(commandId);
|
|
33
|
+
}
|
|
34
|
+
/** テスト用: runningProcesses の内容を取得 */
|
|
35
|
+
function _getRunningProcesses() {
|
|
36
|
+
return processManager._getRunning();
|
|
37
|
+
}
|
|
18
38
|
/**
|
|
19
39
|
* エージェントチャットモードに応じてチャットメッセージを処理する
|
|
20
40
|
* - claude_code: Claude Code CLI を使用(デフォルト)
|
|
@@ -24,7 +44,7 @@ Object.defineProperty(exports, "buildCleanEnv", { enumerable: true, get: functio
|
|
|
24
44
|
*/
|
|
25
45
|
async function executeChatCommand(payload, commandId, client, serverConfig, activeChatMode, agentId, projectDir, projectConfig, mcpConfigPath) {
|
|
26
46
|
if (!agentId) {
|
|
27
|
-
return
|
|
47
|
+
return (0, types_1.errorResult)(constants_1.ERR_AGENT_ID_REQUIRED);
|
|
28
48
|
}
|
|
29
49
|
const mode = activeChatMode ?? 'claude_code';
|
|
30
50
|
switch (mode) {
|
|
@@ -43,7 +63,7 @@ async function executeChatCommand(payload, commandId, client, serverConfig, acti
|
|
|
43
63
|
async function executeClaudeCodeChat(payload, commandId, client, agentId, serverConfig, projectDir, projectConfig, mcpConfigPath) {
|
|
44
64
|
const message = (0, utils_1.parseString)(payload.message);
|
|
45
65
|
if (!message) {
|
|
46
|
-
return
|
|
66
|
+
return (0, types_1.errorResult)(constants_1.ERR_MESSAGE_REQUIRED);
|
|
47
67
|
}
|
|
48
68
|
logger_1.logger.info(`[chat] Starting chat command [${commandId}]: message="${(0, utils_1.truncateString)(message, constants_1.LOG_MESSAGE_LIMIT)}"`);
|
|
49
69
|
const { sendChunk, getChunkIndex } = (0, shared_chat_utils_1.createChunkSender)(commandId, client, agentId, 'chat', { debugLog: true });
|
|
@@ -93,14 +113,17 @@ async function executeClaudeCodeChat(payload, commandId, client, agentId, server
|
|
|
93
113
|
await sendChunk('delta', `⚠️ ${downloadResult.failedCount}件のファイルのダウンロードに失敗しました\n\n`);
|
|
94
114
|
}
|
|
95
115
|
}
|
|
116
|
+
// 会話全体のファイルリファレンスを埋め込み(MCPツール経由で読み取り可能)
|
|
117
|
+
const conversationFiles = (0, file_transfer_1.parseConversationFiles)(payload.conversationFiles);
|
|
118
|
+
const conversationFileNotice = buildConversationFileNotice(conversationFiles);
|
|
119
|
+
if (conversationFiles.length > 0) {
|
|
120
|
+
logger_1.logger.info(`[chat] ${conversationFiles.length} conversation file references embedded for command [${commandId}]`);
|
|
121
|
+
}
|
|
96
122
|
// 会話履歴をメッセージに埋め込む(Claude Code CLI用)
|
|
97
123
|
const history = (0, shared_chat_utils_1.parseHistory)(payload.history);
|
|
98
124
|
// file_upload ツールに必要なメタデータをメッセージに付加
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
metadataNotice = `\n\n<message_metadata>\nconversationId: ${conversationId}\nmessageId: ${commandId}\nprojectCode: ${projectCode ?? ''}\n</message_metadata>`;
|
|
102
|
-
}
|
|
103
|
-
const messageWithHistory = (0, shared_chat_utils_1.formatHistoryForClaudeCode)(history, message + filePathsNotice + metadataNotice);
|
|
125
|
+
const metadataNotice = buildMetadataNotice(conversationId, commandId, projectCode, mcpConfigPath);
|
|
126
|
+
const messageWithHistory = (0, shared_chat_utils_1.formatHistoryForClaudeCode)(history, message + filePathsNotice + conversationFileNotice + metadataNotice);
|
|
104
127
|
const logDetails = [
|
|
105
128
|
allowedTools?.length ? `allowedTools: ${allowedTools.join(', ')}` : '(no allowedTools)',
|
|
106
129
|
addDirs?.length ? `addDirs: ${addDirs.join(', ')}` : null,
|
|
@@ -109,28 +132,55 @@ async function executeClaudeCodeChat(payload, commandId, client, agentId, server
|
|
|
109
132
|
mcpConfigPath ? 'MCP config' : null,
|
|
110
133
|
history.length > 0 ? `${history.length} history messages` : null,
|
|
111
134
|
chatFiles.length > 0 ? `${chatFiles.length} attached files` : null,
|
|
135
|
+
conversationFiles.length > 0 ? `${conversationFiles.length} conversation files` : null,
|
|
112
136
|
].filter(Boolean).join(', ');
|
|
113
137
|
logger_1.logger.debug(`[chat] Spawning claude CLI for command [${commandId}]: ${logDetails}`);
|
|
114
138
|
logger_1.logger.debug(`[chat] serverConfig.claudeCodeConfig: ${JSON.stringify(serverConfig?.claudeCodeConfig ?? null)}`);
|
|
115
|
-
const
|
|
139
|
+
const handle = (0, claude_code_runner_1.runClaudeCode)({
|
|
140
|
+
message: messageWithHistory,
|
|
141
|
+
sendChunk,
|
|
142
|
+
allowedTools,
|
|
143
|
+
addDirs,
|
|
144
|
+
locale,
|
|
145
|
+
awsEnv,
|
|
146
|
+
mcpConfigPath,
|
|
147
|
+
cwd: projectDir,
|
|
148
|
+
systemPrompt,
|
|
149
|
+
});
|
|
150
|
+
// プロセスを管理 Map に登録
|
|
151
|
+
processManager.register(commandId, handle);
|
|
152
|
+
let result;
|
|
153
|
+
try {
|
|
154
|
+
result = await handle.result;
|
|
155
|
+
}
|
|
156
|
+
finally {
|
|
157
|
+
processManager.remove(commandId);
|
|
158
|
+
}
|
|
116
159
|
logger_1.logger.info(`[chat] Chat command completed [${commandId}]: output=${result.text.length} chars, ${getChunkIndex()} chunks sent, duration=${result.metadata.durationMs}ms`);
|
|
117
160
|
// 完了チャンクを送信(metadata を含める)
|
|
118
|
-
|
|
161
|
+
await (0, shared_chat_utils_1.sendDoneChunk)(sendChunk, {
|
|
119
162
|
text: result.text,
|
|
120
163
|
metadata: result.metadata,
|
|
121
164
|
});
|
|
122
|
-
await sendChunk('done', doneContent);
|
|
123
165
|
// ダウンロードした一時ファイルをクリーンアップ
|
|
124
166
|
cleanupDownloads?.();
|
|
125
|
-
return
|
|
167
|
+
return (0, types_1.successResult)(result.text);
|
|
126
168
|
}
|
|
127
169
|
catch (error) {
|
|
128
|
-
|
|
129
|
-
logger_1.logger.error(`[chat] Chat command failed [${commandId}]: ${errorMessage}`);
|
|
130
|
-
await sendChunk('error', errorMessage);
|
|
131
|
-
return { success: false, error: errorMessage };
|
|
170
|
+
return (0, shared_chat_utils_1.handleChatError)(error, commandId, 'chat', sendChunk);
|
|
132
171
|
}
|
|
133
172
|
}
|
|
173
|
+
function buildConversationFileNotice(conversationFiles) {
|
|
174
|
+
if (conversationFiles.length === 0)
|
|
175
|
+
return '';
|
|
176
|
+
const fileList = conversationFiles.map((f) => `- fileId: ${f.fileId}, s3Key: ${f.s3Key}, filename: ${f.filename} (${f.contentType}, ${f.fileSize} bytes)`).join('\n');
|
|
177
|
+
return `\n\n<conversation_files>\nFiles shared in this conversation. Use read_conversation_file tool to read their contents.\n${fileList}\n</conversation_files>`;
|
|
178
|
+
}
|
|
179
|
+
function buildMetadataNotice(conversationId, commandId, projectCode, mcpConfigPath) {
|
|
180
|
+
if (!conversationId || !mcpConfigPath)
|
|
181
|
+
return '';
|
|
182
|
+
return `\n\n<message_metadata>\nconversationId: ${conversationId}\nmessageId: ${commandId}\nprojectCode: ${projectCode ?? ''}\n</message_metadata>`;
|
|
183
|
+
}
|
|
134
184
|
async function sendAwsCredentialNotices(awsResult, projectCode, sendChunk) {
|
|
135
185
|
if (awsResult.errors.length > 0) {
|
|
136
186
|
const notice = `⚠️ ${awsResult.errors.join('\n')}\n\n`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-executor.js","sourceRoot":"","sources":["../../src/commands/chat-executor.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"chat-executor.js","sourceRoot":"","sources":["../../src/commands/chat-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare function buildCleanEnv(): Record<string, string>;
|
|
2
|
+
/** テスト用のキャッシュリセット */
|
|
3
|
+
export declare function _resetCleanEnvCache(): void;
|
|
4
|
+
/** Claude CLI の引数配列を構築 */
|
|
5
|
+
export declare function buildClaudeArgs(message: string, options?: {
|
|
6
|
+
allowedTools?: string[];
|
|
7
|
+
addDirs?: string[];
|
|
8
|
+
locale?: string;
|
|
9
|
+
mcpConfigPath?: string;
|
|
10
|
+
systemPrompt?: string;
|
|
11
|
+
}): string[];
|
|
12
|
+
//# sourceMappingURL=claude-code-args.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code-args.d.ts","sourceRoot":"","sources":["../../src/commands/claude-code-args.ts"],"names":[],"mappings":"AAOA,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAStD;AAED,qBAAqB;AACrB,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,0BAA0B;AAC1B,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACR,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,GACA,MAAM,EAAE,CA6CV"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.buildCleanEnv = buildCleanEnv;
|
|
7
|
+
exports._resetCleanEnvCache = _resetCleanEnvCache;
|
|
8
|
+
exports.buildClaudeArgs = buildClaudeArgs;
|
|
9
|
+
const os_1 = __importDefault(require("os"));
|
|
10
|
+
/** CLAUDECODE / CLAUDE_CODE_* 環境変数を除外した env を構築
|
|
11
|
+
* ただし CLAUDE_CODE_OAUTH_TOKEN は認証に必要なため保持する
|
|
12
|
+
* プロセス生存中は結果不変のためキャッシュする */
|
|
13
|
+
let cachedCleanEnv = null;
|
|
14
|
+
function buildCleanEnv() {
|
|
15
|
+
if (cachedCleanEnv)
|
|
16
|
+
return { ...cachedCleanEnv };
|
|
17
|
+
const cleanEnv = {};
|
|
18
|
+
for (const [key, value] of Object.entries(process.env)) {
|
|
19
|
+
if (key === 'CLAUDECODE' || (key.startsWith('CLAUDE_CODE_') && key !== 'CLAUDE_CODE_OAUTH_TOKEN'))
|
|
20
|
+
continue;
|
|
21
|
+
if (value !== undefined)
|
|
22
|
+
cleanEnv[key] = value;
|
|
23
|
+
}
|
|
24
|
+
cachedCleanEnv = cleanEnv;
|
|
25
|
+
return { ...cleanEnv };
|
|
26
|
+
}
|
|
27
|
+
/** テスト用のキャッシュリセット */
|
|
28
|
+
function _resetCleanEnvCache() {
|
|
29
|
+
cachedCleanEnv = null;
|
|
30
|
+
}
|
|
31
|
+
/** Claude CLI の引数配列を構築 */
|
|
32
|
+
function buildClaudeArgs(message, options) {
|
|
33
|
+
const args = ['-p', '--output-format', 'stream-json', '--verbose'];
|
|
34
|
+
if (options?.allowedTools?.length) {
|
|
35
|
+
for (const tool of options.allowedTools) {
|
|
36
|
+
args.push('--allowedTools', tool);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
if (options?.addDirs?.length) {
|
|
40
|
+
for (const dir of options.addDirs) {
|
|
41
|
+
const resolved = dir.replace(/^~/, os_1.default.homedir());
|
|
42
|
+
args.push('--add-dir', resolved);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (options?.mcpConfigPath) {
|
|
46
|
+
args.push('--mcp-config', options.mcpConfigPath);
|
|
47
|
+
}
|
|
48
|
+
// システムプロンプトを構築: 言語設定 + サーバー設定 + file_upload 指示
|
|
49
|
+
const promptParts = [];
|
|
50
|
+
if (options?.locale) {
|
|
51
|
+
promptParts.push(options.locale === 'ja'
|
|
52
|
+
? 'Always respond in Japanese. Use Japanese for all explanations and communications.'
|
|
53
|
+
: 'Always respond in English. Use English for all explanations and communications.');
|
|
54
|
+
}
|
|
55
|
+
if (options?.systemPrompt) {
|
|
56
|
+
promptParts.push(options.systemPrompt);
|
|
57
|
+
}
|
|
58
|
+
if (options?.mcpConfigPath) {
|
|
59
|
+
promptParts.push([
|
|
60
|
+
'CRITICAL FILE DELIVERY RULE:',
|
|
61
|
+
'When you create or modify a file using the Write tool, the user CANNOT see or download the file unless you upload it.',
|
|
62
|
+
'You MUST call the mcp__ai-support-agent__file_upload tool AFTER every Write tool call.',
|
|
63
|
+
'Required parameters for file_upload:',
|
|
64
|
+
'- filePath: the absolute path of the file you just wrote',
|
|
65
|
+
'- filename: the display name (e.g., "mbc-logo.svg")',
|
|
66
|
+
'- conversationId: from <message_metadata> in the user message',
|
|
67
|
+
'- messageId: from <message_metadata> in the user message',
|
|
68
|
+
'- projectCode: from <message_metadata> in the user message',
|
|
69
|
+
'If you skip the upload, the file is invisible to the user. Always upload.',
|
|
70
|
+
].join('\n'));
|
|
71
|
+
}
|
|
72
|
+
if (promptParts.length > 0) {
|
|
73
|
+
args.push('--append-system-prompt', promptParts.join('\n\n'));
|
|
74
|
+
}
|
|
75
|
+
args.push(message);
|
|
76
|
+
return args;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=claude-code-args.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code-args.js","sourceRoot":"","sources":["../../src/commands/claude-code-args.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type { ChatChunkType } from '../types';
|
|
2
|
+
export { buildClaudeArgs, buildCleanEnv, _resetCleanEnvCache } from './claude-code-args';
|
|
3
|
+
export { processStreamJsonLine, parseFileUploadResult } from './claude-code-stream';
|
|
4
|
+
export type { StreamJsonContentBlock, StreamJsonLine, StreamJsonMcpServer } from './claude-code-stream';
|
|
2
5
|
/** Claude Code CLI の実行結果 */
|
|
3
6
|
export interface ClaudeCodeResult {
|
|
4
7
|
text: string;
|
|
@@ -9,48 +12,26 @@ export interface ClaudeCodeResult {
|
|
|
9
12
|
durationMs: number;
|
|
10
13
|
};
|
|
11
14
|
}
|
|
12
|
-
/**
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
/** Claude Code CLI の実行ハンドル(プロセス管理用) */
|
|
16
|
+
export interface ClaudeCodeHandle {
|
|
17
|
+
result: Promise<ClaudeCodeResult>;
|
|
18
|
+
cancel: () => void;
|
|
19
|
+
}
|
|
20
|
+
/** runClaudeCode のオプション */
|
|
21
|
+
export interface RunClaudeCodeOptions {
|
|
22
|
+
message: string;
|
|
23
|
+
sendChunk: (type: ChatChunkType, content: string) => Promise<void>;
|
|
17
24
|
allowedTools?: string[];
|
|
18
25
|
addDirs?: string[];
|
|
19
26
|
locale?: string;
|
|
27
|
+
awsEnv?: Record<string, string>;
|
|
20
28
|
mcpConfigPath?: string;
|
|
29
|
+
cwd?: string;
|
|
21
30
|
systemPrompt?: string;
|
|
22
|
-
}
|
|
31
|
+
}
|
|
23
32
|
/**
|
|
24
33
|
* Claude Code CLI をサブプロセスとして実行し、出力をストリーミングで返す
|
|
34
|
+
* ClaudeCodeHandle を返す: result Promise と kill 関数
|
|
25
35
|
*/
|
|
26
|
-
export declare function runClaudeCode(
|
|
27
|
-
/**
|
|
28
|
-
* stream-json の NDJSON 1行をパースし、テキストやツール呼び出し情報を処理する
|
|
29
|
-
* sendChunk は fire-and-forget で呼び出される(同期的に状態を返すため)
|
|
30
|
-
*
|
|
31
|
-
* @returns newSentTextLength: 送信済みテキスト長, text: resultイベントのテキスト(undefinedなら未取得)
|
|
32
|
-
*/
|
|
33
|
-
export declare function processStreamJsonLine(line: string, sendChunk: (type: ChatChunkType, content: string) => Promise<void>, pid: number, state: {
|
|
34
|
-
sentTextLength: number;
|
|
35
|
-
pendingFileUploadIds?: Set<string>;
|
|
36
|
-
}): {
|
|
37
|
-
newSentTextLength: number;
|
|
38
|
-
text?: string;
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* file_upload ツールの結果をパースし、file_attachment チャンク用データを返す
|
|
42
|
-
*
|
|
43
|
-
* MCP ツールの tool_result.content は配列形式: [{type: "text", text: "..."}]
|
|
44
|
-
* 組み込みツールの tool_result.content は文字列形式
|
|
45
|
-
*/
|
|
46
|
-
export declare function parseFileUploadResult(content: string | Array<{
|
|
47
|
-
type: string;
|
|
48
|
-
text?: string;
|
|
49
|
-
}> | undefined): {
|
|
50
|
-
fileId: string;
|
|
51
|
-
s3Key: string;
|
|
52
|
-
filename: string;
|
|
53
|
-
contentType: string;
|
|
54
|
-
fileSize: number;
|
|
55
|
-
} | null;
|
|
36
|
+
export declare function runClaudeCode(options: RunClaudeCodeOptions): ClaudeCodeHandle;
|
|
56
37
|
//# sourceMappingURL=claude-code-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code-runner.d.ts","sourceRoot":"","sources":["../../src/commands/claude-code-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claude-code-runner.d.ts","sourceRoot":"","sources":["../../src/commands/claude-code-runner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAS7C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxF,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AACnF,YAAY,EAAE,sBAAsB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAEvG,4BAA4B;AAC5B,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,EAAE,CAAA;QACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;QACvB,SAAS,EAAE,OAAO,CAAA;QAClB,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF;AAED,uCAAuC;AACvC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACjC,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB;AAED,2BAA2B;AAC3B,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,gBAAgB,CAgH7E"}
|