@cocorograph/hub-agent 0.8.113 → 0.8.114
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/package.json +1 -1
- package/src/claude-stream-bridge.mjs +7 -0
- package/src/enroll.mjs +5 -0
- package/src/main.mjs +9 -1
package/package.json
CHANGED
|
@@ -454,6 +454,7 @@ export class ClaudeStreamSession {
|
|
|
454
454
|
cwd,
|
|
455
455
|
model,
|
|
456
456
|
permissionMode,
|
|
457
|
+
chromeEnabled,
|
|
457
458
|
maxTurns,
|
|
458
459
|
maxThinkingTokens,
|
|
459
460
|
effort,
|
|
@@ -495,6 +496,7 @@ export class ClaudeStreamSession {
|
|
|
495
496
|
this._seq = nextSessionSeq()
|
|
496
497
|
this.cwd = cwd
|
|
497
498
|
this.model = model || null
|
|
499
|
+
this.chromeEnabled = chromeEnabled === true
|
|
498
500
|
this.permissionMode = permissionMode || null
|
|
499
501
|
this.maxTurns = typeof maxTurns === "number" ? maxTurns : null
|
|
500
502
|
this.maxThinkingTokens =
|
|
@@ -1534,6 +1536,7 @@ export class ClaudeStreamSession {
|
|
|
1534
1536
|
abortController: this._abortController,
|
|
1535
1537
|
stderr: (data) => this._stderrHandler(data),
|
|
1536
1538
|
}
|
|
1539
|
+
if (this.chromeEnabled) options.extraArgs = { ...options.extraArgs, chrome: null }
|
|
1537
1540
|
if (this.model) options.model = this.model
|
|
1538
1541
|
if (this.permissionMode) options.permissionMode = this.permissionMode
|
|
1539
1542
|
// Phase B: チャット SDK に効くオプション (ツール往復上限)。
|
|
@@ -2272,6 +2275,7 @@ export class ClaudeStreamSession {
|
|
|
2272
2275
|
abortController: this._residentAbortController,
|
|
2273
2276
|
stderr: (data) => this._stderrHandler(data),
|
|
2274
2277
|
}
|
|
2278
|
+
if (this.chromeEnabled) options.extraArgs = { ...options.extraArgs, chrome: null }
|
|
2275
2279
|
if (this.model) options.model = this.model
|
|
2276
2280
|
if (this.permissionMode) options.permissionMode = this.permissionMode
|
|
2277
2281
|
if (this.maxTurns != null) options.maxTurns = this.maxTurns
|
|
@@ -2985,6 +2989,7 @@ export class ClaudeStreamBridge extends EventEmitter {
|
|
|
2985
2989
|
* cwd?: string,
|
|
2986
2990
|
* model?: string|null,
|
|
2987
2991
|
* permissionMode?: string|null,
|
|
2992
|
+
* chromeEnabled?: boolean,
|
|
2988
2993
|
* maxTurns?: number|null,
|
|
2989
2994
|
* maxThinkingTokens?: number|null,
|
|
2990
2995
|
* effort?: string|null,
|
|
@@ -2997,6 +3002,7 @@ export class ClaudeStreamBridge extends EventEmitter {
|
|
|
2997
3002
|
cwd,
|
|
2998
3003
|
model,
|
|
2999
3004
|
permissionMode,
|
|
3005
|
+
chromeEnabled,
|
|
3000
3006
|
maxTurns,
|
|
3001
3007
|
maxThinkingTokens,
|
|
3002
3008
|
effort,
|
|
@@ -3071,6 +3077,7 @@ export class ClaudeStreamBridge extends EventEmitter {
|
|
|
3071
3077
|
cwd: scwd,
|
|
3072
3078
|
model: model || null,
|
|
3073
3079
|
permissionMode: permissionMode || null,
|
|
3080
|
+
chromeEnabled,
|
|
3074
3081
|
maxTurns: typeof maxTurns === "number" ? maxTurns : null,
|
|
3075
3082
|
maxThinkingTokens:
|
|
3076
3083
|
typeof maxThinkingTokens === "number" ? maxThinkingTokens : null,
|
package/src/enroll.mjs
CHANGED
|
@@ -75,6 +75,11 @@ export async function enroll(enrollmentToken, opts = {}) {
|
|
|
75
75
|
hub_url: hubUrl,
|
|
76
76
|
// Hub から取得した Claude CLI 設定 (cockpit 管理画面でユーザーが指定可能)。
|
|
77
77
|
// backend 未対応時は空文字で保存され、起動時の cmd 組み立てで無視される。
|
|
78
|
+
// Claude in Chrome: boolean で届いたときだけ保存する。古い Hub は値を返さないのでキーを
|
|
79
|
+
// 省略し (= 無効)、既存 agent.json は読み直さない (破損時に --force 再登録を妨げないため)。
|
|
80
|
+
...(typeof data.claude_chrome_enabled === "boolean"
|
|
81
|
+
? { claude_chrome_enabled: data.claude_chrome_enabled }
|
|
82
|
+
: {}),
|
|
78
83
|
claude_model: typeof data.claude_model === "string" ? data.claude_model : "",
|
|
79
84
|
claude_permission_mode:
|
|
80
85
|
typeof data.claude_permission_mode === "string" ? data.claude_permission_mode : "",
|
package/src/main.mjs
CHANGED
|
@@ -166,6 +166,7 @@ const BUNDLE_MANIFEST_PATH =
|
|
|
166
166
|
export function resolveClaudeAttachOptions(config, msg = {}) {
|
|
167
167
|
return {
|
|
168
168
|
model: msg.model || config?.claude_model || null,
|
|
169
|
+
chromeEnabled: config?.claude_chrome_enabled === true,
|
|
169
170
|
permissionMode:
|
|
170
171
|
msg.permission_mode ||
|
|
171
172
|
config?.claude_permission_mode ||
|
|
@@ -2324,13 +2325,17 @@ export function startStateLoop({ client, logger, intervalMs, claudeBridge, codex
|
|
|
2324
2325
|
*/
|
|
2325
2326
|
export async function maybeSyncClaudeSettings(msg, ctx) {
|
|
2326
2327
|
const hasClaudeFields =
|
|
2327
|
-
typeof msg?.claude_model === "string" || typeof msg?.claude_permission_mode === "string"
|
|
2328
|
+
typeof msg?.claude_model === "string" || typeof msg?.claude_permission_mode === "string" ||
|
|
2329
|
+
typeof msg?.claude_chrome_enabled === "boolean"
|
|
2328
2330
|
const hasCodexFields =
|
|
2329
2331
|
typeof msg?.codex_model === "string" || typeof msg?.codex_effort === "string"
|
|
2330
2332
|
if (!hasClaudeFields && !hasCodexFields) return
|
|
2331
2333
|
|
|
2332
2334
|
const nextModel = typeof msg.claude_model === "string" ? msg.claude_model : ctx.config.claude_model || ""
|
|
2333
2335
|
const nextMode = typeof msg.claude_permission_mode === "string" ? msg.claude_permission_mode : ctx.config.claude_permission_mode || ""
|
|
2336
|
+
const nextChromeEnabled = typeof msg.claude_chrome_enabled === "boolean"
|
|
2337
|
+
? msg.claude_chrome_enabled
|
|
2338
|
+
: ctx.config.claude_chrome_enabled
|
|
2334
2339
|
const nextCodexModel = typeof msg.codex_model === "string" ? msg.codex_model : ctx.config.codex_model || ""
|
|
2335
2340
|
const nextCodexEffort = typeof msg.codex_effort === "string" ? msg.codex_effort : ctx.config.codex_effort || ""
|
|
2336
2341
|
const prevModel = ctx.config.claude_model || ""
|
|
@@ -2340,6 +2345,7 @@ export async function maybeSyncClaudeSettings(msg, ctx) {
|
|
|
2340
2345
|
if (
|
|
2341
2346
|
nextModel === prevModel &&
|
|
2342
2347
|
nextMode === prevMode &&
|
|
2348
|
+
nextChromeEnabled === ctx.config.claude_chrome_enabled &&
|
|
2343
2349
|
nextCodexModel === prevCodexModel &&
|
|
2344
2350
|
nextCodexEffort === prevCodexEffort
|
|
2345
2351
|
) {
|
|
@@ -2347,6 +2353,7 @@ export async function maybeSyncClaudeSettings(msg, ctx) {
|
|
|
2347
2353
|
}
|
|
2348
2354
|
ctx.config.claude_model = nextModel
|
|
2349
2355
|
ctx.config.claude_permission_mode = nextMode
|
|
2356
|
+
if (typeof nextChromeEnabled === "boolean") ctx.config.claude_chrome_enabled = nextChromeEnabled
|
|
2350
2357
|
ctx.config.codex_model = nextCodexModel
|
|
2351
2358
|
ctx.config.codex_effort = nextCodexEffort
|
|
2352
2359
|
try {
|
|
@@ -2356,6 +2363,7 @@ export async function maybeSyncClaudeSettings(msg, ctx) {
|
|
|
2356
2363
|
hub_url: ctx.config.hub_url,
|
|
2357
2364
|
claude_model: nextModel,
|
|
2358
2365
|
claude_permission_mode: nextMode,
|
|
2366
|
+
claude_chrome_enabled: nextChromeEnabled,
|
|
2359
2367
|
codex_model: nextCodexModel,
|
|
2360
2368
|
codex_effort: nextCodexEffort,
|
|
2361
2369
|
})
|