@ai-support-agent/cli 0.1.29-beta.1 → 0.1.29-beta.3
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.map +1 -1
- package/dist/agent-config-sync.js +2 -1
- package/dist/agent-config-sync.js.map +1 -1
- package/dist/agent-runner.js +2 -2
- package/dist/agent-runner.js.map +1 -1
- package/dist/cli/service/darwin-service.js +2 -2
- package/dist/cli/service/darwin-service.js.map +1 -1
- package/dist/cli/service/wrapper-helpers.d.ts +5 -2
- package/dist/cli/service/wrapper-helpers.d.ts.map +1 -1
- package/dist/cli/service/wrapper-helpers.js +14 -13
- package/dist/cli/service/wrapper-helpers.js.map +1 -1
- package/dist/commands/chat-executor.d.ts.map +1 -1
- package/dist/commands/chat-executor.js +3 -0
- package/dist/commands/chat-executor.js.map +1 -1
- package/dist/commands/claude-code-args.d.ts +1 -0
- package/dist/commands/claude-code-args.d.ts.map +1 -1
- package/dist/commands/claude-code-args.js +8 -0
- package/dist/commands/claude-code-args.js.map +1 -1
- package/dist/commands/claude-code-runner.d.ts +5 -0
- package/dist/commands/claude-code-runner.d.ts.map +1 -1
- package/dist/commands/claude-code-runner.js +22 -2
- package/dist/commands/claude-code-runner.js.map +1 -1
- package/dist/commands/file-transfer.d.ts +10 -0
- package/dist/commands/file-transfer.d.ts.map +1 -1
- package/dist/commands/file-transfer.js +15 -10
- package/dist/commands/file-transfer.js.map +1 -1
- package/dist/commands/process-executor.d.ts.map +1 -1
- package/dist/commands/process-executor.js +2 -3
- package/dist/commands/process-executor.js.map +1 -1
- package/dist/config-manager.d.ts.map +1 -1
- package/dist/config-manager.js +8 -3
- package/dist/config-manager.js.map +1 -1
- package/dist/constants.d.ts +6 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +16 -3
- package/dist/constants.js.map +1 -1
- package/dist/docker/docker-supervisor.d.ts.map +1 -1
- package/dist/docker/docker-supervisor.js +6 -10
- package/dist/docker/docker-supervisor.js.map +1 -1
- package/dist/docker/docker-utils.d.ts.map +1 -1
- package/dist/docker/docker-utils.js +3 -3
- package/dist/docker/docker-utils.js.map +1 -1
- package/dist/docker/dockerfile-generator.d.ts +9 -0
- package/dist/docker/dockerfile-generator.d.ts.map +1 -1
- package/dist/docker/dockerfile-generator.js +20 -2
- package/dist/docker/dockerfile-generator.js.map +1 -1
- package/dist/docker/project-image-builder.d.ts.map +1 -1
- package/dist/docker/project-image-builder.js +5 -8
- package/dist/docker/project-image-builder.js.map +1 -1
- package/dist/docker/volume-mount-builder.d.ts +6 -0
- package/dist/docker/volume-mount-builder.d.ts.map +1 -1
- package/dist/docker/volume-mount-builder.js +38 -30
- package/dist/docker/volume-mount-builder.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +2 -1
- package/dist/logger.js.map +1 -1
- package/dist/mcp/tools/browser/browser-session.d.ts +14 -0
- package/dist/mcp/tools/browser/browser-session.d.ts.map +1 -1
- package/dist/mcp/tools/browser/browser-session.js +51 -0
- package/dist/mcp/tools/browser/browser-session.js.map +1 -1
- package/dist/mcp/tools/credentials.js +3 -3
- package/dist/mcp/tools/credentials.js.map +1 -1
- package/dist/mcp/tools/db-query.js +1 -1
- package/dist/mcp/tools/db-query.js.map +1 -1
- package/dist/mcp/tools/db-schemas.js +1 -1
- package/dist/mcp/tools/db-schemas.js.map +1 -1
- package/dist/mcp/tools/file-upload.js +2 -2
- package/dist/mcp/tools/file-upload.js.map +1 -1
- package/dist/mcp/tools/mcp-response.d.ts +10 -0
- package/dist/mcp/tools/mcp-response.d.ts.map +1 -1
- package/dist/mcp/tools/mcp-response.js +8 -0
- package/dist/mcp/tools/mcp-response.js.map +1 -1
- package/dist/mcp/tools/mcp-response.spec.js +22 -0
- package/dist/mcp/tools/mcp-response.spec.js.map +1 -1
- package/dist/mcp/tools/project-info.js +1 -1
- package/dist/mcp/tools/project-info.js.map +1 -1
- package/dist/pending-result-store.d.ts.map +1 -1
- package/dist/pending-result-store.js +15 -9
- package/dist/pending-result-store.js.map +1 -1
- package/dist/pid-manager.d.ts.map +1 -1
- package/dist/pid-manager.js +1 -4
- package/dist/pid-manager.js.map +1 -1
- package/dist/project-agent.d.ts.map +1 -1
- package/dist/project-agent.js +6 -2
- package/dist/project-agent.js.map +1 -1
- package/dist/project-config-sync.d.ts.map +1 -1
- package/dist/project-config-sync.js +3 -2
- package/dist/project-config-sync.js.map +1 -1
- package/dist/project-dir.d.ts.map +1 -1
- package/dist/project-dir.js +6 -16
- package/dist/project-dir.js.map +1 -1
- package/dist/repo-sync.d.ts +14 -0
- package/dist/repo-sync.d.ts.map +1 -1
- package/dist/repo-sync.js +31 -11
- package/dist/repo-sync.js.map +1 -1
- package/dist/retry-strategy.d.ts +11 -0
- package/dist/retry-strategy.d.ts.map +1 -1
- package/dist/retry-strategy.js +5 -2
- package/dist/retry-strategy.js.map +1 -1
- package/dist/types/project.d.ts +1 -0
- package/dist/types/project.d.ts.map +1 -1
- package/dist/utils/claude-settings.d.ts.map +1 -1
- package/dist/utils/claude-settings.js +1 -3
- package/dist/utils/claude-settings.js.map +1 -1
- package/dist/utils.d.ts +41 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +55 -0
- package/dist/utils.js.map +1 -1
- package/dist/vscode/vscode-tunnel-websocket.d.ts +4 -2
- package/dist/vscode/vscode-tunnel-websocket.d.ts.map +1 -1
- package/dist/vscode/vscode-tunnel-websocket.js +21 -0
- package/dist/vscode/vscode-tunnel-websocket.js.map +1 -1
- package/dist/ws-reconnect.d.ts.map +1 -1
- package/dist/ws-reconnect.js +6 -4
- package/dist/ws-reconnect.js.map +1 -1
- package/package.json +1 -1
package/dist/repo-sync.d.ts
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
import type { ApiClient } from './api-client';
|
|
2
2
|
import type { ProjectConfigResponse } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Run a `git` subcommand with the auth env merged on top of process.env.
|
|
5
|
+
*
|
|
6
|
+
* Collapses the `execFileAsync('git', args, { [cwd,] env: { ...process.env, ...env }, timeout })`
|
|
7
|
+
* idiom that was duplicated across clone/checkout/fetch/reset calls. Centralising
|
|
8
|
+
* it guarantees every git invocation gets the same env-merge and an explicit
|
|
9
|
+
* timeout, so a new call site cannot accidentally drop the auth env or run
|
|
10
|
+
* without a timeout.
|
|
11
|
+
*/
|
|
12
|
+
export declare function runGit(args: string[], options: {
|
|
13
|
+
env: Record<string, string>;
|
|
14
|
+
timeout: number;
|
|
15
|
+
cwd?: string;
|
|
16
|
+
}): Promise<void>;
|
|
3
17
|
export interface RepoSyncResult {
|
|
4
18
|
repositoryId: string;
|
|
5
19
|
repositoryCode: string;
|
package/dist/repo-sync.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-sync.d.ts","sourceRoot":"","sources":["../src/repo-sync.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAG7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAapD,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,WAAW,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC,EAChE,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,EAAE,CAAC,CAqB3B;
|
|
1
|
+
{"version":3,"file":"repo-sync.d.ts","sourceRoot":"","sources":["../src/repo-sync.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAG7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAapD;;;;;;;;GAQG;AACH,wBAAsB,MAAM,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,WAAW,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC,EAChE,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,EAAE,CAAC,CAqB3B;AA2HD,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,MAAM,CAaR;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,WAAW,CAAC,qBAAqB,CAAC,cAAc,CAAC,CAAC,EAChE,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,CAAC,CAOzB;AAED,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,wBAAgB,YAAY,CAC1B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB;IAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAoBtD"}
|
package/dist/repo-sync.js
CHANGED
|
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.normalizePemKey = void 0;
|
|
37
|
+
exports.runGit = runGit;
|
|
37
38
|
exports.syncRepositories = syncRepositories;
|
|
38
39
|
exports.buildCloneUrl = buildCloneUrl;
|
|
39
40
|
exports.syncRepositoryByCode = syncRepositoryByCode;
|
|
@@ -53,6 +54,22 @@ function validateBranchName(branch) {
|
|
|
53
54
|
throw new Error(`Invalid branch name: "${branch}"`);
|
|
54
55
|
}
|
|
55
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Run a `git` subcommand with the auth env merged on top of process.env.
|
|
59
|
+
*
|
|
60
|
+
* Collapses the `execFileAsync('git', args, { [cwd,] env: { ...process.env, ...env }, timeout })`
|
|
61
|
+
* idiom that was duplicated across clone/checkout/fetch/reset calls. Centralising
|
|
62
|
+
* it guarantees every git invocation gets the same env-merge and an explicit
|
|
63
|
+
* timeout, so a new call site cannot accidentally drop the auth env or run
|
|
64
|
+
* without a timeout.
|
|
65
|
+
*/
|
|
66
|
+
async function runGit(args, options) {
|
|
67
|
+
await execFileAsync('git', args, {
|
|
68
|
+
...(options.cwd ? { cwd: options.cwd } : {}),
|
|
69
|
+
env: { ...process.env, ...options.env },
|
|
70
|
+
timeout: options.timeout,
|
|
71
|
+
});
|
|
72
|
+
}
|
|
56
73
|
/**
|
|
57
74
|
* プロジェクト設定に含まれるリポジトリを同期(クローンまたは更新)する
|
|
58
75
|
*/
|
|
@@ -118,11 +135,14 @@ async function cloneRepository(repoDir, repositoryUrl, branch, authMethod, authS
|
|
|
118
135
|
validateBranchName(branch);
|
|
119
136
|
const cloneUrl = buildCloneUrl(repositoryUrl, authMethod, authSecret);
|
|
120
137
|
// 全ブランチを取得(サポート対象の環境に応じてブランチ切り替えが必要なため)
|
|
121
|
-
await
|
|
138
|
+
await runGit(['clone', '--no-single-branch', cloneUrl, repoDir], {
|
|
139
|
+
env,
|
|
140
|
+
timeout: constants_1.GIT_CLONE_TIMEOUT,
|
|
141
|
+
});
|
|
122
142
|
// デフォルトブランチをチェックアウト
|
|
123
|
-
await
|
|
143
|
+
await runGit(['checkout', branch], {
|
|
124
144
|
cwd: repoDir,
|
|
125
|
-
env
|
|
145
|
+
env,
|
|
126
146
|
timeout: constants_1.GIT_CHECKOUT_TIMEOUT,
|
|
127
147
|
});
|
|
128
148
|
}
|
|
@@ -135,29 +155,29 @@ async function pullRepository(repoDir, branch, authMethod, authSecret) {
|
|
|
135
155
|
try {
|
|
136
156
|
validateBranchName(branch);
|
|
137
157
|
// 全リモートブランチを取得
|
|
138
|
-
await
|
|
158
|
+
await runGit(['fetch', '--all'], {
|
|
139
159
|
cwd: repoDir,
|
|
140
|
-
env
|
|
160
|
+
env,
|
|
141
161
|
timeout: constants_1.GIT_FETCH_TIMEOUT,
|
|
142
162
|
});
|
|
143
163
|
try {
|
|
144
|
-
await
|
|
164
|
+
await runGit(['checkout', branch], {
|
|
145
165
|
cwd: repoDir,
|
|
146
|
-
env
|
|
166
|
+
env,
|
|
147
167
|
timeout: constants_1.GIT_CHECKOUT_TIMEOUT,
|
|
148
168
|
});
|
|
149
169
|
}
|
|
150
170
|
catch {
|
|
151
171
|
// Branch does not exist locally yet — create it tracking the remote branch
|
|
152
|
-
await
|
|
172
|
+
await runGit(['checkout', '-b', branch, `origin/${branch}`], {
|
|
153
173
|
cwd: repoDir,
|
|
154
|
-
env
|
|
174
|
+
env,
|
|
155
175
|
timeout: constants_1.GIT_CHECKOUT_TIMEOUT,
|
|
156
176
|
});
|
|
157
177
|
}
|
|
158
|
-
await
|
|
178
|
+
await runGit(['reset', '--hard', `origin/${branch}`], {
|
|
159
179
|
cwd: repoDir,
|
|
160
|
-
env
|
|
180
|
+
env,
|
|
161
181
|
timeout: constants_1.GIT_CHECKOUT_TIMEOUT,
|
|
162
182
|
});
|
|
163
183
|
}
|
package/dist/repo-sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-sync.js","sourceRoot":"","sources":["../src/repo-sync.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"repo-sync.js","sourceRoot":"","sources":["../src/repo-sync.ts"],"names":[],"mappings":"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"}
|
package/dist/retry-strategy.d.ts
CHANGED
|
@@ -2,6 +2,17 @@ export interface BackoffOptions {
|
|
|
2
2
|
baseDelayMs: number;
|
|
3
3
|
attempt: number;
|
|
4
4
|
jitter?: boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Upper bound (ms) applied to the exponential base delay BEFORE jitter.
|
|
7
|
+
* Omit for an uncapped backoff.
|
|
8
|
+
*
|
|
9
|
+
* Capping before jitter (rather than after) keeps the result a true
|
|
10
|
+
* fraction of the intended ceiling and, crucially, prevents
|
|
11
|
+
* `baseDelayMs * 2 ** attempt` from overflowing to Infinity at high attempt
|
|
12
|
+
* counts — important for callers that retry forever (e.g. ws-reconnect with
|
|
13
|
+
* maxRetries = Infinity).
|
|
14
|
+
*/
|
|
15
|
+
maxDelayMs?: number;
|
|
5
16
|
}
|
|
6
17
|
export declare function calculateBackoff(options: BackoffOptions): number;
|
|
7
18
|
export interface RetryOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry-strategy.d.ts","sourceRoot":"","sources":["../src/retry-strategy.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"retry-strategy.d.ts","sourceRoot":"","sources":["../src/retry-strategy.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAUhE;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY;IAElD,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAc9B,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAoBrD"}
|
package/dist/retry-strategy.js
CHANGED
|
@@ -9,8 +9,11 @@ const axios_1 = __importDefault(require("axios"));
|
|
|
9
9
|
const logger_1 = require("./logger");
|
|
10
10
|
const utils_1 = require("./utils");
|
|
11
11
|
function calculateBackoff(options) {
|
|
12
|
-
const { baseDelayMs, attempt, jitter = true } = options;
|
|
13
|
-
|
|
12
|
+
const { baseDelayMs, attempt, jitter = true, maxDelayMs } = options;
|
|
13
|
+
let baseDelay = baseDelayMs * Math.pow(2, attempt);
|
|
14
|
+
if (maxDelayMs !== undefined) {
|
|
15
|
+
baseDelay = Math.min(baseDelay, maxDelayMs);
|
|
16
|
+
}
|
|
14
17
|
if (!jitter) {
|
|
15
18
|
return baseDelay;
|
|
16
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry-strategy.js","sourceRoot":"","sources":["../src/retry-strategy.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"retry-strategy.js","sourceRoot":"","sources":["../src/retry-strategy.ts"],"names":[],"mappings":";;;;;;AAsBA,4CAUC;AAhCD,kDAAyB;AAEzB,qCAAiC;AACjC,mCAA+B;AAmB/B,SAAgB,gBAAgB,CAAC,OAAuB;IACtD,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IACnE,IAAI,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IAClD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;IAC7C,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;AAC5D,CAAC;AAOD,MAAa,aAAa;IACK;IAA7B,YAA6B,OAAqB;QAArB,YAAO,GAAP,OAAO,CAAc;IAAG,CAAC;IAEtD,WAAW,CAAC,KAAc;QACxB,IAAI,CAAC,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClD,OAAO,IAAI,CAAA,CAAC,wBAAwB;QACtC,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAA;QACpC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACrC,OAAO,IAAI,CAAA,CAAC,+BAA+B;QAC7C,CAAC;QACD,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;YAClB,OAAO,IAAI,CAAA,CAAC,uBAAuB;QACrC,CAAC;QACD,OAAO,KAAK,CAAA,CAAC,2BAA2B;IAC1C,CAAC;IAED,KAAK,CAAC,SAAS,CAAI,EAAoB;QACrC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAA;QAChD,IAAI,SAAkB,CAAA;QACtB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,OAAO,MAAM,EAAE,EAAE,CAAA;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,GAAG,KAAK,CAAA;gBACjB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7B,MAAM,KAAK,CAAA;gBACb,CAAC;gBACD,IAAI,OAAO,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC;oBAC7B,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAA;oBACxD,eAAM,CAAC,KAAK,CAAC,2BAA2B,OAAO,GAAG,CAAC,IAAI,UAAU,kBAAkB,KAAK,IAAI,CAAC,CAAA;oBAC7F,MAAM,IAAA,aAAK,EAAC,KAAK,CAAC,CAAA;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,SAAS,CAAA;IACjB,CAAC;CACF;AArCD,sCAqCC"}
|
package/dist/types/project.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/types/project.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAA;QACnB,WAAW,EAAE,MAAM,CAAA;QACnB,WAAW,EAAE,MAAM,CAAA;QACnB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB,CAAA;IACD,KAAK,EAAE;QACL,YAAY,EAAE,OAAO,CAAA;QACrB,mBAAmB,EAAE,OAAO,CAAA;QAC5B,sBAAsB,EAAE,OAAO,CAAA;QAC/B,oBAAoB,EAAE,OAAO,CAAA;QAC7B,YAAY,EAAE,MAAM,EAAE,CAAA;QACtB,gBAAgB,CAAC,EAAE;YACjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;YACzB,kBAAkB,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/types/project.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-settings.d.ts","sourceRoot":"","sources":["../../src/utils/claude-settings.ts"],"names":[],"mappings":"AAOA;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"claude-settings.d.ts","sourceRoot":"","sources":["../../src/utils/claude-settings.ts"],"names":[],"mappings":"AAOA;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,IAAI,CA+CzE"}
|
|
@@ -56,9 +56,7 @@ function ensureAllowedToolsInSettings(allowedTools) {
|
|
|
56
56
|
const claudeDir = path.join(os.homedir(), '.claude');
|
|
57
57
|
const settingsPath = path.join(claudeDir, 'settings.json');
|
|
58
58
|
// Ensure .claude directory exists
|
|
59
|
-
|
|
60
|
-
fs.mkdirSync(claudeDir, { recursive: true, mode: 0o700 });
|
|
61
|
-
}
|
|
59
|
+
(0, utils_1.ensureDir)(claudeDir, 0o700);
|
|
62
60
|
// Read existing settings
|
|
63
61
|
let settings = {};
|
|
64
62
|
if (fs.existsSync(settingsPath)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-settings.js","sourceRoot":"","sources":["../../src/utils/claude-settings.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,
|
|
1
|
+
{"version":3,"file":"claude-settings.js","sourceRoot":"","sources":["../../src/utils/claude-settings.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,oEA+CC;AAhED,uCAAwB;AACxB,2CAA4B;AAC5B,uCAAwB;AAExB,sCAAkC;AAClC,oCAAmE;AAEnE;;;;;;;;;GASG;AACH,SAAgB,4BAA4B,CAAC,YAAsB;IACjE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAErC,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;QACpD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;QAE1D,kCAAkC;QAClC,IAAA,iBAAS,EAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAE3B,yBAAyB;QACzB,IAAI,QAAQ,GAA4B,EAAE,CAAA;QAC1C,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,QAAQ,GAAG,IAAA,oBAAY,EAA0B,YAAY,CAAC,CAAA;YAChE,CAAC;YAAC,MAAM,CAAC;gBACP,eAAM,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAA;YACpF,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YACtE,QAAQ,CAAC,WAAW,GAAG,EAAE,CAAA;QAC3B,CAAC;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAsC,CAAA;QAEnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,WAAW,CAAC,KAAK,GAAG,EAAE,CAAA;QACxB,CAAC;QACD,MAAM,SAAS,GAAG,WAAW,CAAC,KAAiB,CAAA;QAE/C,oBAAoB;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACpB,QAAQ,GAAG,IAAI,CAAA;YACjB,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;YAClF,eAAM,CAAC,KAAK,CAAC,gDAAgD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtF,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,eAAM,CAAC,IAAI,CAAC,qDAAqD,IAAA,uBAAe,EAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC5F,CAAC;AACH,CAAC"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -5,6 +5,17 @@ export declare function readJsonSync<T>(filePath: string): T;
|
|
|
5
5
|
*/
|
|
6
6
|
export declare function sleep(ms: number): Promise<void>;
|
|
7
7
|
export declare function atomicWriteFile(filePath: string, content: string, mode?: number): void;
|
|
8
|
+
/**
|
|
9
|
+
* ディレクトリが存在しなければ再帰的に作成する。
|
|
10
|
+
* `if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true })` の重複イディオムを集約する。
|
|
11
|
+
*
|
|
12
|
+
* `mode` を渡すと、新規作成されるディレクトリにそのパーミッションを適用する
|
|
13
|
+
* (秘匿ディレクトリ向けに 0o700 等)。既に存在する場合は何もしない。
|
|
14
|
+
*
|
|
15
|
+
* @param dir 作成するディレクトリパス
|
|
16
|
+
* @param mode 新規作成時に適用するパーミッション(省略時は OS デフォルト)
|
|
17
|
+
*/
|
|
18
|
+
export declare function ensureDir(dir: string, mode?: number): void;
|
|
8
19
|
/**
|
|
9
20
|
* unknown な catch 値からメッセージ文字列を取り出す。
|
|
10
21
|
* Error なら `.message`、それ以外は `String()` を返す。
|
|
@@ -26,6 +37,18 @@ export declare function getErrorMessage(error: unknown): string;
|
|
|
26
37
|
export declare function parseString(value: unknown): string | null;
|
|
27
38
|
export declare function parseNumber(value: unknown): number | null;
|
|
28
39
|
export declare function truncateString(text: string, limit: number, suffix?: string): string;
|
|
40
|
+
/**
|
|
41
|
+
* Sanitize a single name segment for use in generated identifiers:
|
|
42
|
+
* lowercase the input and collapse every character outside `[a-z0-9-]` to `-`.
|
|
43
|
+
*
|
|
44
|
+
* This is the single source of truth for the `toLowerCase().replace(/[^a-z0-9-]/g, '-')`
|
|
45
|
+
* idiom that was previously duplicated across the codebase (docker container
|
|
46
|
+
* names, systemd unit names, launchd plist labels, scheduled-task names, and
|
|
47
|
+
* the generated agentId). Keeping one implementation guarantees these
|
|
48
|
+
* identifiers stay consistent so collision detection and name-based lookups
|
|
49
|
+
* cannot drift between subsystems.
|
|
50
|
+
*/
|
|
51
|
+
export declare function sanitizeNameSegment(s: string): string;
|
|
29
52
|
export declare function validateApiUrl(url: string): string | null;
|
|
30
53
|
export declare function isAuthenticationError(error: unknown): boolean;
|
|
31
54
|
/**
|
|
@@ -43,6 +66,19 @@ export declare function buildWsUrl(apiUrl: string, path: string): string;
|
|
|
43
66
|
* which is injected by volume-mount-builder and the service templates.
|
|
44
67
|
*/
|
|
45
68
|
export declare function isInDocker(): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Convert a localhost / 127.0.0.1 URL to host.docker.internal so that a
|
|
71
|
+
* container can reach the host machine.
|
|
72
|
+
*
|
|
73
|
+
* Uses a boundary lookahead (`(?=$|[:/])`) to avoid false-positive matches on
|
|
74
|
+
* hostnames like `localhost.example.com`. Handles both http and https schemes
|
|
75
|
+
* and preserves any path / port that follows.
|
|
76
|
+
*
|
|
77
|
+
* Used by:
|
|
78
|
+
* - docker/volume-mount-builder.ts (build-time, host→container URL rewrite)
|
|
79
|
+
* - cli/service/*-service.ts (via wrapper-helpers re-export)
|
|
80
|
+
*/
|
|
81
|
+
export declare function toContainerApiUrl(apiUrl: string): string;
|
|
46
82
|
/**
|
|
47
83
|
* Docker コンテナ内から host の URL にアクセスするため
|
|
48
84
|
* localhost / 127.0.0.1 を host.docker.internal に変換する。
|
|
@@ -63,4 +99,9 @@ export declare function isErrnoException(err: unknown, code?: string): err is No
|
|
|
63
99
|
* 複数箇所で繰り返されていたため集約する。
|
|
64
100
|
*/
|
|
65
101
|
export declare function exitWithError(message: string): never;
|
|
102
|
+
/**
|
|
103
|
+
* Returns the current timestamp as an ISO 8601 string.
|
|
104
|
+
* Centralizes `new Date().toISOString()` calls across the codebase.
|
|
105
|
+
*/
|
|
106
|
+
export declare function nowIso(): string;
|
|
66
107
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAMA,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAGnD;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,SAAQ,GAAG,IAAI,CAIrF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAErD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAgBtD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGzD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGzD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,SAAQ,GAAG,MAAM,CAGlF;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUzD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAI7D;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAK9D;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK/D;AAED;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMvD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,cAAc,CAM1F;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAGpD"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAMA,wBAAgB,YAAY,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAGnD;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,SAAQ,GAAG,IAAI,CAIrF;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAG1D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAErD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAgBtD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGzD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAGzD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,SAAQ,GAAG,MAAM,CAGlF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUzD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAI7D;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAK9D;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK/D;AAED;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKxD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMvD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,cAAc,CAM1F;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,CAGpD;AAED;;;GAGG;AACH,wBAAgB,MAAM,IAAI,MAAM,CAE/B"}
|
package/dist/utils.js
CHANGED
|
@@ -39,20 +39,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
exports.readJsonSync = readJsonSync;
|
|
40
40
|
exports.sleep = sleep;
|
|
41
41
|
exports.atomicWriteFile = atomicWriteFile;
|
|
42
|
+
exports.ensureDir = ensureDir;
|
|
42
43
|
exports.toErrorMessage = toErrorMessage;
|
|
43
44
|
exports.toError = toError;
|
|
44
45
|
exports.getErrorMessage = getErrorMessage;
|
|
45
46
|
exports.parseString = parseString;
|
|
46
47
|
exports.parseNumber = parseNumber;
|
|
47
48
|
exports.truncateString = truncateString;
|
|
49
|
+
exports.sanitizeNameSegment = sanitizeNameSegment;
|
|
48
50
|
exports.validateApiUrl = validateApiUrl;
|
|
49
51
|
exports.isAuthenticationError = isAuthenticationError;
|
|
50
52
|
exports.isSsoAuthRequiredError = isSsoAuthRequiredError;
|
|
51
53
|
exports.buildWsUrl = buildWsUrl;
|
|
52
54
|
exports.isInDocker = isInDocker;
|
|
55
|
+
exports.toContainerApiUrl = toContainerApiUrl;
|
|
53
56
|
exports.resolveUrlForDocker = resolveUrlForDocker;
|
|
54
57
|
exports.isErrnoException = isErrnoException;
|
|
55
58
|
exports.exitWithError = exitWithError;
|
|
59
|
+
exports.nowIso = nowIso;
|
|
56
60
|
const fs = __importStar(require("fs"));
|
|
57
61
|
const axios_1 = __importDefault(require("axios"));
|
|
58
62
|
const constants_1 = require("./constants");
|
|
@@ -73,6 +77,21 @@ function atomicWriteFile(filePath, content, mode = 0o600) {
|
|
|
73
77
|
fs.writeFileSync(tmpPath, content, { mode });
|
|
74
78
|
fs.renameSync(tmpPath, filePath);
|
|
75
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* ディレクトリが存在しなければ再帰的に作成する。
|
|
82
|
+
* `if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true })` の重複イディオムを集約する。
|
|
83
|
+
*
|
|
84
|
+
* `mode` を渡すと、新規作成されるディレクトリにそのパーミッションを適用する
|
|
85
|
+
* (秘匿ディレクトリ向けに 0o700 等)。既に存在する場合は何もしない。
|
|
86
|
+
*
|
|
87
|
+
* @param dir 作成するディレクトリパス
|
|
88
|
+
* @param mode 新規作成時に適用するパーミッション(省略時は OS デフォルト)
|
|
89
|
+
*/
|
|
90
|
+
function ensureDir(dir, mode) {
|
|
91
|
+
if (fs.existsSync(dir))
|
|
92
|
+
return;
|
|
93
|
+
fs.mkdirSync(dir, mode === undefined ? { recursive: true } : { recursive: true, mode });
|
|
94
|
+
}
|
|
76
95
|
/**
|
|
77
96
|
* unknown な catch 値からメッセージ文字列を取り出す。
|
|
78
97
|
* Error なら `.message`、それ以外は `String()` を返す。
|
|
@@ -123,6 +142,20 @@ function truncateString(text, limit, suffix = '...') {
|
|
|
123
142
|
return text;
|
|
124
143
|
return text.substring(0, limit) + suffix;
|
|
125
144
|
}
|
|
145
|
+
/**
|
|
146
|
+
* Sanitize a single name segment for use in generated identifiers:
|
|
147
|
+
* lowercase the input and collapse every character outside `[a-z0-9-]` to `-`.
|
|
148
|
+
*
|
|
149
|
+
* This is the single source of truth for the `toLowerCase().replace(/[^a-z0-9-]/g, '-')`
|
|
150
|
+
* idiom that was previously duplicated across the codebase (docker container
|
|
151
|
+
* names, systemd unit names, launchd plist labels, scheduled-task names, and
|
|
152
|
+
* the generated agentId). Keeping one implementation guarantees these
|
|
153
|
+
* identifiers stay consistent so collision detection and name-based lookups
|
|
154
|
+
* cannot drift between subsystems.
|
|
155
|
+
*/
|
|
156
|
+
function sanitizeNameSegment(s) {
|
|
157
|
+
return s.toLowerCase().replace(/[^a-z0-9-]/g, '-');
|
|
158
|
+
}
|
|
126
159
|
function validateApiUrl(url) {
|
|
127
160
|
try {
|
|
128
161
|
const parsed = new URL(url);
|
|
@@ -170,6 +203,21 @@ function buildWsUrl(apiUrl, path) {
|
|
|
170
203
|
function isInDocker() {
|
|
171
204
|
return process.env[constants_1.ENV_VARS.IN_DOCKER] === '1';
|
|
172
205
|
}
|
|
206
|
+
/**
|
|
207
|
+
* Convert a localhost / 127.0.0.1 URL to host.docker.internal so that a
|
|
208
|
+
* container can reach the host machine.
|
|
209
|
+
*
|
|
210
|
+
* Uses a boundary lookahead (`(?=$|[:/])`) to avoid false-positive matches on
|
|
211
|
+
* hostnames like `localhost.example.com`. Handles both http and https schemes
|
|
212
|
+
* and preserves any path / port that follows.
|
|
213
|
+
*
|
|
214
|
+
* Used by:
|
|
215
|
+
* - docker/volume-mount-builder.ts (build-time, host→container URL rewrite)
|
|
216
|
+
* - cli/service/*-service.ts (via wrapper-helpers re-export)
|
|
217
|
+
*/
|
|
218
|
+
function toContainerApiUrl(apiUrl) {
|
|
219
|
+
return apiUrl.replace(/^(https?:\/\/)(localhost|127\.0\.0\.1)(?=$|[:/])/, (_, scheme) => `${scheme}host.docker.internal`);
|
|
220
|
+
}
|
|
173
221
|
/**
|
|
174
222
|
* Docker コンテナ内から host の URL にアクセスするため
|
|
175
223
|
* localhost / 127.0.0.1 を host.docker.internal に変換する。
|
|
@@ -206,4 +254,11 @@ function exitWithError(message) {
|
|
|
206
254
|
logger_1.logger.error(message);
|
|
207
255
|
process.exit(1);
|
|
208
256
|
}
|
|
257
|
+
/**
|
|
258
|
+
* Returns the current timestamp as an ISO 8601 string.
|
|
259
|
+
* Centralizes `new Date().toISOString()` calls across the codebase.
|
|
260
|
+
*/
|
|
261
|
+
function nowIso() {
|
|
262
|
+
return new Date().toISOString();
|
|
263
|
+
}
|
|
209
264
|
//# sourceMappingURL=utils.js.map
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,oCAGC;AAMD,sBAEC;AAED,0CAIC;AAOD,wCAEC;AAOD,0BAEC;AAOD,0CAgBC;AAED,kCAGC;AAED,kCAGC;AAED,wCAGC;AAED,wCAUC;AAED,sDAIC;AASD,wDAKC;AAED,gCAKC;AAOD,gCAEC;AAOD,kDAMC;AAQD,4CAMC;AAQD,sCAGC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { BrowserSessionManager } from '../mcp/tools/browser/browser-session-mana
|
|
|
6
6
|
* API Server → Agent メッセージ
|
|
7
7
|
*/
|
|
8
8
|
export interface VsCodeServerMessage {
|
|
9
|
-
type: 'vscode_open' | 'vscode_close' | 'port_forward_open' | 'port_forward_close' | 'http_request' | 'ws_frame' | 'auth_success' | 'error' | 'browser_open' | 'browser_close' | 'browser_navigate' | 'browser_go_back' | 'browser_go_forward' | 'browser_reload' | 'browser_mouse_click' | 'browser_mouse_wheel' | 'browser_keyboard_type' | 'browser_keyboard_press' | 'browser_screenshot' | 'browser_viewport' | 'browser_execute_script' | 'browser_set_file';
|
|
9
|
+
type: 'vscode_open' | 'vscode_close' | 'port_forward_open' | 'port_forward_close' | 'http_request' | 'ws_frame' | 'auth_success' | 'error' | 'browser_open' | 'browser_close' | 'browser_navigate' | 'browser_go_back' | 'browser_go_forward' | 'browser_reload' | 'browser_mouse_click' | 'browser_mouse_wheel' | 'browser_keyboard_type' | 'browser_keyboard_press' | 'browser_screenshot' | 'browser_viewport' | 'browser_execute_script' | 'browser_set_file' | 'browser_get_selection';
|
|
10
10
|
filePaths?: string[];
|
|
11
11
|
sessionId?: string;
|
|
12
12
|
requestId?: string;
|
|
@@ -41,7 +41,7 @@ export interface VsCodeServerMessage {
|
|
|
41
41
|
* Agent → API Server メッセージ
|
|
42
42
|
*/
|
|
43
43
|
export interface VsCodeAgentMessage {
|
|
44
|
-
type: 'vscode_ready' | 'vscode_stopped' | 'port_forward_ready' | 'port_forward_stopped' | 'http_response' | 'ws_frame' | 'error' | 'browser_ready' | 'browser_frame' | 'browser_screenshot_result' | 'browser_action_log' | 'browser_stopped' | 'browser_script_result' | 'browser_script_progress' | 'browser_file_chooser_opened';
|
|
44
|
+
type: 'vscode_ready' | 'vscode_stopped' | 'port_forward_ready' | 'port_forward_stopped' | 'http_response' | 'ws_frame' | 'error' | 'browser_ready' | 'browser_frame' | 'browser_screenshot_result' | 'browser_selection_result' | 'browser_action_log' | 'browser_stopped' | 'browser_script_result' | 'browser_script_progress' | 'browser_file_chooser_opened';
|
|
45
45
|
sessionId?: string;
|
|
46
46
|
targetPort?: number;
|
|
47
47
|
requestId?: string;
|
|
@@ -60,6 +60,7 @@ export interface VsCodeAgentMessage {
|
|
|
60
60
|
conversationId?: string;
|
|
61
61
|
currentUrl?: string;
|
|
62
62
|
pageTitle?: string;
|
|
63
|
+
text?: string;
|
|
63
64
|
timestamp?: number;
|
|
64
65
|
reason?: string;
|
|
65
66
|
entries?: Array<{
|
|
@@ -159,6 +160,7 @@ export declare class VsCodeTunnelWebSocket extends BaseWebSocketConnection<VsCod
|
|
|
159
160
|
private handleBrowserKeyboardType;
|
|
160
161
|
private handleBrowserKeyboardPress;
|
|
161
162
|
private handleBrowserScreenshot;
|
|
163
|
+
private handleBrowserGetSelection;
|
|
162
164
|
private handleBrowserExecuteScript;
|
|
163
165
|
private handleBrowserViewport;
|
|
164
166
|
private handleBrowserSetFile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vscode-tunnel-websocket.d.ts","sourceRoot":"","sources":["../../src/vscode/vscode-tunnel-websocket.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAA;AAE1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAG3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGzD,OAAO,EACL,qBAAqB,EAEtB,MAAM,8CAA8C,CAAA;AAarD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EACA,aAAa,GACb,cAAc,GACd,mBAAmB,GACnB,oBAAoB,GACpB,cAAc,GACd,UAAU,GACV,cAAc,GACd,OAAO,GAEP,cAAc,GACd,eAAe,GACf,kBAAkB,GAClB,iBAAiB,GACjB,oBAAoB,GACpB,gBAAgB,GAChB,qBAAqB,GACrB,qBAAqB,GACrB,uBAAuB,GACvB,wBAAwB,GACxB,oBAAoB,GACpB,kBAAkB,GAClB,wBAAwB,GACxB,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"vscode-tunnel-websocket.d.ts","sourceRoot":"","sources":["../../src/vscode/vscode-tunnel-websocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -191,6 +191,9 @@ class VsCodeTunnelWebSocket extends base_websocket_1.BaseWebSocketConnection {
|
|
|
191
191
|
case 'browser_set_file':
|
|
192
192
|
this.handleBrowserSetFile(msg);
|
|
193
193
|
break;
|
|
194
|
+
case 'browser_get_selection':
|
|
195
|
+
void this.handleBrowserGetSelection(msg);
|
|
196
|
+
break;
|
|
194
197
|
default:
|
|
195
198
|
logger_1.logger.debug(`[vscode-ws] Unknown message type: ${msg.type}`);
|
|
196
199
|
}
|
|
@@ -641,6 +644,24 @@ class VsCodeTunnelWebSocket extends base_websocket_1.BaseWebSocketConnection {
|
|
|
641
644
|
this.send({ type: 'error', sessionId, message: `Screenshot failed: ${(0, utils_1.getErrorMessage)(error)}` });
|
|
642
645
|
}
|
|
643
646
|
}
|
|
647
|
+
async handleBrowserGetSelection(msg) {
|
|
648
|
+
const sessionId = msg.sessionId;
|
|
649
|
+
if (!sessionId)
|
|
650
|
+
return;
|
|
651
|
+
const session = this.browserSessionManager.get(sessionId);
|
|
652
|
+
if (!session) {
|
|
653
|
+
this.send({ type: 'error', sessionId, message: 'Browser session not found' });
|
|
654
|
+
return;
|
|
655
|
+
}
|
|
656
|
+
try {
|
|
657
|
+
const text = await session.getSelectedText();
|
|
658
|
+
this.send({ type: 'browser_selection_result', sessionId, text });
|
|
659
|
+
}
|
|
660
|
+
catch (error) {
|
|
661
|
+
logger_1.logger.warn(`[vscode-ws] getSelection failed (session=${sessionId}): ${(0, utils_1.getErrorMessage)(error)}`);
|
|
662
|
+
this.send({ type: 'error', sessionId, message: `getSelection failed: ${(0, utils_1.getErrorMessage)(error)}` });
|
|
663
|
+
}
|
|
664
|
+
}
|
|
644
665
|
async handleBrowserExecuteScript(msg) {
|
|
645
666
|
const sessionId = msg.sessionId;
|
|
646
667
|
if (!sessionId || !msg.script) {
|