@cocorograph/hub-agent 0.7.34 → 0.7.35

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cocorograph/hub-agent",
3
- "version": "0.7.34",
3
+ "version": "0.7.35",
4
4
  "description": "Hub Hosted Cockpit のローカル常駐 agent。Hub と outbound WSS で接続し、ローカルの tmux/pty を中継する。",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
@@ -235,8 +235,23 @@ export class CodexStreamBridge extends EventEmitter {
235
235
  })
236
236
  }
237
237
 
238
- /** @returns {Promise<void>} */
239
- async input({ stream_id, message }) {
238
+ /**
239
+ * @param {object} args
240
+ * @param {string} args.stream_id
241
+ * @param {object} args.message
242
+ * @param {string} [args.model] - 公式スキーマ `TurnStartParams.model`
243
+ * ("Override the model for this turn and subsequent turns")。turn/start でのみ有効。
244
+ * @param {string} [args.effort] - 公式スキーマ `TurnStartParams.effort`
245
+ * ("Override the reasoning effort for this turn and subsequent turns")。turn/start でのみ有効。
246
+ * @returns {Promise<void>}
247
+ *
248
+ * ⚠️ `turn/steer` (`TurnSteerParams`) には model/effort フィールドが存在しない
249
+ * (公式スキーマで未対応と確認済み、2026-07-03)。そのためターン実行中 (busy) に
250
+ * model/effort を渡しても turn/steer 経由では反映されず、次の非 busy な input()
251
+ * (= turn/start) から有効になる。呼び出し側 (main.mjs) はこれを承知の上で常に
252
+ * model/effort を渡してよい (steer 分岐では単に無視される)。
253
+ */
254
+ async input({ stream_id, message, model, effort }) {
240
255
  const session = this._require(stream_id)
241
256
  const input = userInputFromMessage(message)
242
257
  if (session.activeTurnId) {
@@ -247,7 +262,10 @@ export class CodexStreamBridge extends EventEmitter {
247
262
  })
248
263
  return
249
264
  }
250
- await session.client.request("turn/start", { threadId: session.threadId, input })
265
+ const params = { threadId: session.threadId, input }
266
+ if (model) params.model = model
267
+ if (effort) params.effort = effort
268
+ await session.client.request("turn/start", params)
251
269
  }
252
270
 
253
271
  /** @returns {Promise<void>} */
package/src/main.mjs CHANGED
@@ -3201,9 +3201,17 @@ async function dispatch(msg, ctx) {
3201
3201
  return
3202
3202
  }
3203
3203
  case "codex.input":
3204
+ // model/effort: turn/start (非 busy 時) にのみ反映される override。turn/steer
3205
+ // (busy 時) は公式スキーマ上 model/effort 非対応のため、その場合は
3206
+ // codex-stream-bridge.mjs 側で無視され次の非 busy な input() から効く。
3204
3207
  if (!ctx.codexBridge) return
3205
3208
  ctx.codexBridge
3206
- .input({ stream_id: msg.stream_id, message: msg.message })
3209
+ .input({
3210
+ stream_id: msg.stream_id,
3211
+ message: msg.message,
3212
+ model: msg.model || undefined,
3213
+ effort: msg.effort || undefined,
3214
+ })
3207
3215
  .catch((err) => {
3208
3216
  ctx.client.send({
3209
3217
  type: "codex.error",