@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.
Files changed (116) hide show
  1. package/dist/agent-config-sync.d.ts.map +1 -1
  2. package/dist/agent-config-sync.js +2 -1
  3. package/dist/agent-config-sync.js.map +1 -1
  4. package/dist/agent-runner.js +2 -2
  5. package/dist/agent-runner.js.map +1 -1
  6. package/dist/cli/service/darwin-service.js +2 -2
  7. package/dist/cli/service/darwin-service.js.map +1 -1
  8. package/dist/cli/service/wrapper-helpers.d.ts +5 -2
  9. package/dist/cli/service/wrapper-helpers.d.ts.map +1 -1
  10. package/dist/cli/service/wrapper-helpers.js +14 -13
  11. package/dist/cli/service/wrapper-helpers.js.map +1 -1
  12. package/dist/commands/chat-executor.d.ts.map +1 -1
  13. package/dist/commands/chat-executor.js +3 -0
  14. package/dist/commands/chat-executor.js.map +1 -1
  15. package/dist/commands/claude-code-args.d.ts +1 -0
  16. package/dist/commands/claude-code-args.d.ts.map +1 -1
  17. package/dist/commands/claude-code-args.js +8 -0
  18. package/dist/commands/claude-code-args.js.map +1 -1
  19. package/dist/commands/claude-code-runner.d.ts +5 -0
  20. package/dist/commands/claude-code-runner.d.ts.map +1 -1
  21. package/dist/commands/claude-code-runner.js +22 -2
  22. package/dist/commands/claude-code-runner.js.map +1 -1
  23. package/dist/commands/file-transfer.d.ts +10 -0
  24. package/dist/commands/file-transfer.d.ts.map +1 -1
  25. package/dist/commands/file-transfer.js +15 -10
  26. package/dist/commands/file-transfer.js.map +1 -1
  27. package/dist/commands/process-executor.d.ts.map +1 -1
  28. package/dist/commands/process-executor.js +2 -3
  29. package/dist/commands/process-executor.js.map +1 -1
  30. package/dist/config-manager.d.ts.map +1 -1
  31. package/dist/config-manager.js +8 -3
  32. package/dist/config-manager.js.map +1 -1
  33. package/dist/constants.d.ts +6 -0
  34. package/dist/constants.d.ts.map +1 -1
  35. package/dist/constants.js +16 -3
  36. package/dist/constants.js.map +1 -1
  37. package/dist/docker/docker-supervisor.d.ts.map +1 -1
  38. package/dist/docker/docker-supervisor.js +6 -10
  39. package/dist/docker/docker-supervisor.js.map +1 -1
  40. package/dist/docker/docker-utils.d.ts.map +1 -1
  41. package/dist/docker/docker-utils.js +3 -3
  42. package/dist/docker/docker-utils.js.map +1 -1
  43. package/dist/docker/dockerfile-generator.d.ts +9 -0
  44. package/dist/docker/dockerfile-generator.d.ts.map +1 -1
  45. package/dist/docker/dockerfile-generator.js +20 -2
  46. package/dist/docker/dockerfile-generator.js.map +1 -1
  47. package/dist/docker/project-image-builder.d.ts.map +1 -1
  48. package/dist/docker/project-image-builder.js +5 -8
  49. package/dist/docker/project-image-builder.js.map +1 -1
  50. package/dist/docker/volume-mount-builder.d.ts +6 -0
  51. package/dist/docker/volume-mount-builder.d.ts.map +1 -1
  52. package/dist/docker/volume-mount-builder.js +38 -30
  53. package/dist/docker/volume-mount-builder.js.map +1 -1
  54. package/dist/logger.d.ts.map +1 -1
  55. package/dist/logger.js +2 -1
  56. package/dist/logger.js.map +1 -1
  57. package/dist/mcp/tools/browser/browser-session.d.ts +14 -0
  58. package/dist/mcp/tools/browser/browser-session.d.ts.map +1 -1
  59. package/dist/mcp/tools/browser/browser-session.js +51 -0
  60. package/dist/mcp/tools/browser/browser-session.js.map +1 -1
  61. package/dist/mcp/tools/credentials.js +3 -3
  62. package/dist/mcp/tools/credentials.js.map +1 -1
  63. package/dist/mcp/tools/db-query.js +1 -1
  64. package/dist/mcp/tools/db-query.js.map +1 -1
  65. package/dist/mcp/tools/db-schemas.js +1 -1
  66. package/dist/mcp/tools/db-schemas.js.map +1 -1
  67. package/dist/mcp/tools/file-upload.js +2 -2
  68. package/dist/mcp/tools/file-upload.js.map +1 -1
  69. package/dist/mcp/tools/mcp-response.d.ts +10 -0
  70. package/dist/mcp/tools/mcp-response.d.ts.map +1 -1
  71. package/dist/mcp/tools/mcp-response.js +8 -0
  72. package/dist/mcp/tools/mcp-response.js.map +1 -1
  73. package/dist/mcp/tools/mcp-response.spec.js +22 -0
  74. package/dist/mcp/tools/mcp-response.spec.js.map +1 -1
  75. package/dist/mcp/tools/project-info.js +1 -1
  76. package/dist/mcp/tools/project-info.js.map +1 -1
  77. package/dist/pending-result-store.d.ts.map +1 -1
  78. package/dist/pending-result-store.js +15 -9
  79. package/dist/pending-result-store.js.map +1 -1
  80. package/dist/pid-manager.d.ts.map +1 -1
  81. package/dist/pid-manager.js +1 -4
  82. package/dist/pid-manager.js.map +1 -1
  83. package/dist/project-agent.d.ts.map +1 -1
  84. package/dist/project-agent.js +6 -2
  85. package/dist/project-agent.js.map +1 -1
  86. package/dist/project-config-sync.d.ts.map +1 -1
  87. package/dist/project-config-sync.js +3 -2
  88. package/dist/project-config-sync.js.map +1 -1
  89. package/dist/project-dir.d.ts.map +1 -1
  90. package/dist/project-dir.js +6 -16
  91. package/dist/project-dir.js.map +1 -1
  92. package/dist/repo-sync.d.ts +14 -0
  93. package/dist/repo-sync.d.ts.map +1 -1
  94. package/dist/repo-sync.js +31 -11
  95. package/dist/repo-sync.js.map +1 -1
  96. package/dist/retry-strategy.d.ts +11 -0
  97. package/dist/retry-strategy.d.ts.map +1 -1
  98. package/dist/retry-strategy.js +5 -2
  99. package/dist/retry-strategy.js.map +1 -1
  100. package/dist/types/project.d.ts +1 -0
  101. package/dist/types/project.d.ts.map +1 -1
  102. package/dist/utils/claude-settings.d.ts.map +1 -1
  103. package/dist/utils/claude-settings.js +1 -3
  104. package/dist/utils/claude-settings.js.map +1 -1
  105. package/dist/utils.d.ts +41 -0
  106. package/dist/utils.d.ts.map +1 -1
  107. package/dist/utils.js +55 -0
  108. package/dist/utils.js.map +1 -1
  109. package/dist/vscode/vscode-tunnel-websocket.d.ts +4 -2
  110. package/dist/vscode/vscode-tunnel-websocket.d.ts.map +1 -1
  111. package/dist/vscode/vscode-tunnel-websocket.js +21 -0
  112. package/dist/vscode/vscode-tunnel-websocket.js.map +1 -1
  113. package/dist/ws-reconnect.d.ts.map +1 -1
  114. package/dist/ws-reconnect.js +6 -4
  115. package/dist/ws-reconnect.js.map +1 -1
  116. package/package.json +1 -1
@@ -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;
@@ -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;AA4HD,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"}
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 execFileAsync('git', ['clone', '--no-single-branch', cloneUrl, repoDir], { env: { ...process.env, ...env }, timeout: constants_1.GIT_CLONE_TIMEOUT });
138
+ await runGit(['clone', '--no-single-branch', cloneUrl, repoDir], {
139
+ env,
140
+ timeout: constants_1.GIT_CLONE_TIMEOUT,
141
+ });
122
142
  // デフォルトブランチをチェックアウト
123
- await execFileAsync('git', ['checkout', branch], {
143
+ await runGit(['checkout', branch], {
124
144
  cwd: repoDir,
125
- env: { ...process.env, ...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 execFileAsync('git', ['fetch', '--all'], {
158
+ await runGit(['fetch', '--all'], {
139
159
  cwd: repoDir,
140
- env: { ...process.env, ...env },
160
+ env,
141
161
  timeout: constants_1.GIT_FETCH_TIMEOUT,
142
162
  });
143
163
  try {
144
- await execFileAsync('git', ['checkout', branch], {
164
+ await runGit(['checkout', branch], {
145
165
  cwd: repoDir,
146
- env: { ...process.env, ...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 execFileAsync('git', ['checkout', '-b', branch, `origin/${branch}`], {
172
+ await runGit(['checkout', '-b', branch, `origin/${branch}`], {
153
173
  cwd: repoDir,
154
- env: { ...process.env, ...env },
174
+ env,
155
175
  timeout: constants_1.GIT_CHECKOUT_TIMEOUT,
156
176
  });
157
177
  }
158
- await execFileAsync('git', ['reset', '--hard', `origin/${branch}`], {
178
+ await runGit(['reset', '--hard', `origin/${branch}`], {
159
179
  cwd: repoDir,
160
- env: { ...process.env, ...env },
180
+ env,
161
181
  timeout: constants_1.GIT_CHECKOUT_TIMEOUT,
162
182
  });
163
183
  }
@@ -1 +1 @@
1
- {"version":3,"file":"repo-sync.js","sourceRoot":"","sources":["../src/repo-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repo-sync.js","sourceRoot":"","sources":["../src/repo-sync.ts"],"names":[],"mappings":"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"}
@@ -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;CACjB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAOhE;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"}
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"}
@@ -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
- const baseDelay = baseDelayMs * Math.pow(2, attempt);
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":";;;;;;AAWA,4CAOC;AAlBD,kDAAyB;AAEzB,qCAAiC;AACjC,mCAA+B;AAQ/B,SAAgB,gBAAgB,CAAC,OAAuB;IACtD,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;IACvD,MAAM,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACpD,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"}
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"}
@@ -15,6 +15,7 @@ export interface ProjectConfigResponse {
15
15
  claudeCodeConfig?: {
16
16
  additionalDirs?: string[];
17
17
  appendSystemPrompt?: string;
18
+ model?: string;
18
19
  };
19
20
  gitPullStrategy?: 'merge' | 'rebase';
20
21
  dockerCustomization?: {
@@ -1 +1 @@
1
- {"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/types/project.ts"],"names":[],"mappings":"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"}
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,CAiDzE"}
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
- if (!fs.existsSync(claudeDir)) {
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,oEAiDC;AAlED,uCAAwB;AACxB,2CAA4B;AAC5B,uCAAwB;AAExB,sCAAkC;AAClC,oCAAwD;AAExD;;;;;;;;;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,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;QAC3D,CAAC;QAED,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"}
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
@@ -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":"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"}
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;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EACA,cAAc,GACd,gBAAgB,GAChB,oBAAoB,GACpB,sBAAsB,GACtB,eAAe,GACf,UAAU,GACV,OAAO,GAEP,eAAe,GACf,eAAe,GACf,2BAA2B,GAC3B,oBAAoB,GACpB,iBAAiB,GACjB,uBAAuB,GACvB,yBAAyB,GACzB,6BAA6B,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAEvF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACnE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAKD;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,uBAAuB,CAAC,mBAAmB,CAAC;IAkBnF,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;IAC5B;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IAxBnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,YAAY,CAA4B;IAChD;;;;OAIG;IACH,OAAO,CAAC,wBAAwB,CAAa;IAC7C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAoE;IACxG,QAAQ,CAAC,qBAAqB,wBAA4D;IAC1F,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,gBAAgB,CAAI;IAC5B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA+C;gBAGjF,MAAM,EAAE,MAAM,EACG,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,YAAA;IACpC;;;OAGG;IACc,eAAe,CAAC,EAAE,eAAe,YAAA;IAWpD;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B,SAAS,CAAC,eAAe,IAAI,SAAS;IAatC,sEAAsE;IACtE,OAAO,CAAC,8BAA8B,CAA6B;IAEnE,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;IA8BtE;;;OAGG;IACG,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOhD,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI;IA2EzD,SAAS,CAAC,YAAY,IAAI,IAAI;YAMhB,gBAAgB;IAsE9B,OAAO,CAAC,iBAAiB;YAQX,iBAAiB;IA4C/B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAoBxB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAwB/B,OAAO,CAAC,aAAa;IAwDrB,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,sBAAsB;YAgBhB,iBAAiB;YA2EjB,kBAAkB;YAelB,qBAAqB;YAyBrB,mBAAmB;YAWnB,sBAAsB;YAWtB,mBAAmB;YAWnB,uBAAuB;YAWvB,uBAAuB;YAUvB,yBAAyB;YAWzB,0BAA0B;YAW1B,uBAAuB;YA4BvB,0BAA0B;YAuC1B,qBAAqB;IAUnC,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,OAAO;IA4Bf,OAAO,CAAC,IAAI;CAGb"}
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) {