@cocorograph/hub-agent 0.8.72 → 0.8.73

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.8.72",
3
+ "version": "0.8.73",
4
4
  "description": "Hub Hosted Cockpit のローカル常駐 agent。Hub と outbound WSS で接続し、ローカルの Claude / Codex チャットと tmux セッションを中継する。",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
@@ -4062,11 +4062,10 @@ export class CodexStreamBridge extends EventEmitter {
4062
4062
  * 誤配送は取り返しがつかないため、両者の判定を意図的に分けてある。
4063
4063
  *
4064
4064
  * ⚠️ context%(ドーナツ)は thread 固有の値なので「どのセッションから読んでも同じ」という
4065
- * 旧 rate-limit 前提(先着 1 件で十分)は成り立たない。state loop(threadIdForCwd 経由)と
4066
- * usage.response(per-cwd 集計)が **別の thread を選ぶと両経路が収束せずドーナツが前後する**
4067
- * ため、両経路をこの一意規則へ寄せる。「最新」は閲覧 keepalive で動く lastActivityMs では
4068
- * なく会話ターン境界時刻 lastTurnAtMs を基準にする(見ているだけの古い会話が本命を追い越す
4069
- * のを防ぐ)。
4065
+ * 旧 rate-limit 前提(先着 1 件で十分)は成り立たない。per-cwd の表示系が同じ thread を
4066
+ * 選ぶよう、この一意規則へ寄せる。「最新」は閲覧 keepalive で動く lastActivityMs ではなく
4067
+ * 会話ターン境界時刻 lastTurnAtMs を基準にする(見ているだけの古い会話が本命を追い越すのを
4068
+ * 防ぐ)。
4070
4069
  *
4071
4070
  * @param {string} cwd
4072
4071
  * @returns {object|null} 権威セッション(無ければ null)
@@ -4087,26 +4086,6 @@ export class CodexStreamBridge extends EventEmitter {
4087
4086
  return best
4088
4087
  }
4089
4088
 
4090
- /**
4091
- * 指定 cwd に一致するライブ (attach 済み) codex セッションの threadId を返す。
4092
- * Claude 版 `liveSessionIdForCwd` の対。
4093
- *
4094
- * ⚠️ 2026-08-02 時点で **本番経路からの呼び出し元は無い** (テストのみ)。旧利用元だった
4095
- * terminal mirror は撤去済み。「main.mjs の state loop から使う」という記述も以前から
4096
- * 実態と食い違っていた (startStateLoop に codexBridge は渡るが、usage.mjs 側で参照して
4097
- * いない)。撤去可否は別途調査してから判断すること。
4098
- *
4099
- * ⚠️ T06407 増分2: 旧実装は「先に見つかったもの」を返していたが、これは 5h/7d(アカウント
4100
- * 全体で代表 1 件で十分)前提だった。context% は thread 固有なので liveSessionForCwd の
4101
- * 権威規則(最終活性が最新)で解決し、usage.response の per-cwd 集計と収束させる。
4102
- *
4103
- * @param {string} cwd
4104
- * @returns {string|null}
4105
- */
4106
- threadIdForCwd(cwd) {
4107
- return this.liveSessionForCwd(cwd)?.threadId ?? null
4108
- }
4109
-
4110
4089
  /**
4111
4090
  * 指定 cwd でライブなセッションへメッセージを直接注入する (sibling-inject 用、
4112
4091
  * 2026-07-04)。Claude 版 `sendToCwd` の対。
package/src/main.mjs CHANGED
@@ -1352,9 +1352,7 @@ export async function startDaemon({ version, claudeSdk } = {}) {
1352
1352
  logger,
1353
1353
  intervalMs: 5_000,
1354
1354
  claudeBridge,
1355
- // T05699 残タスク #1 (2026-07-04): 背景 Codex チャットセッションの turn_active を
1356
- // rollout ベースで解決するために渡す (main.mjs startStateLoop 内の codexBridge.threadIdForCwd
1357
- // 参照)。
1355
+ // 背景 Codex チャットセッションの状態を state loop へ渡す。
1358
1356
  codexBridge,
1359
1357
  readinessTracker,
1360
1358
  // tmux session_name → bind 中の session_id。turn_active を「そのペインが実際に走らせている
@@ -3335,6 +3333,9 @@ export function handleClaudeChatInput(msg, ctx) {
3335
3333
  /**
3336
3334
  * `tmux.exec` を処理し、`tmux.result` を返す。
3337
3335
  *
3336
+ * 公式 Hub の送信入口は撤去済みだが、公開 0.x package の root handler / deep import、
3337
+ * plugin hook、旧 Hub との互換入口として handler・dispatch・execTmux を維持する。
3338
+ *
3338
3339
  * plugin の `interceptTmuxExec` hook が `{ command, args, env }` を返したときは、その
3339
3340
  * command を代わりに spawn する (例: remote-ops プラグインで ssh 越しに実行)。hook が
3340
3341
  * 何も返さなければ既定のローカル `execTmux` へ落ちる。どちらの経路でも