tailii-host 0.4.0 → 0.6.0

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 (114) hide show
  1. package/dist/approval/hook.js +11 -1
  2. package/dist/approval/hook.js.map +1 -1
  3. package/dist/backend/herdr.d.ts +30 -1
  4. package/dist/backend/herdr.js +103 -20
  5. package/dist/backend/herdr.js.map +1 -1
  6. package/dist/backend/sessionBackend.d.ts +12 -0
  7. package/dist/backend/sessionBackend.js +6 -0
  8. package/dist/backend/sessionBackend.js.map +1 -1
  9. package/dist/backend/tmux.d.ts +153 -3
  10. package/dist/backend/tmux.js +488 -14
  11. package/dist/backend/tmux.js.map +1 -1
  12. package/dist/chat/chatTailController.d.ts +3 -1
  13. package/dist/chat/chatTailController.js +3 -0
  14. package/dist/chat/chatTailController.js.map +1 -1
  15. package/dist/chat/subagentTailer.d.ts +51 -0
  16. package/dist/chat/subagentTailer.js +491 -47
  17. package/dist/chat/subagentTailer.js.map +1 -1
  18. package/dist/chat/subagentTranscript.js +51 -5
  19. package/dist/chat/subagentTranscript.js.map +1 -1
  20. package/dist/chat/transcriptTailer.d.ts +37 -1
  21. package/dist/chat/transcriptTailer.js +170 -3
  22. package/dist/chat/transcriptTailer.js.map +1 -1
  23. package/dist/codex/codexAppServer.js +20 -0
  24. package/dist/codex/codexAppServer.js.map +1 -1
  25. package/dist/codex/codexNativeTurnController.js +20 -4
  26. package/dist/codex/codexNativeTurnController.js.map +1 -1
  27. package/dist/codex/codexRolloutTailer.d.ts +1 -0
  28. package/dist/codex/codexRolloutTailer.js +7 -0
  29. package/dist/codex/codexRolloutTailer.js.map +1 -1
  30. package/dist/codex/codexSystemNotice.d.ts +16 -0
  31. package/dist/codex/codexSystemNotice.js +195 -0
  32. package/dist/codex/codexSystemNotice.js.map +1 -0
  33. package/dist/commands/doctor.d.ts +2 -6
  34. package/dist/commands/doctor.js +2 -29
  35. package/dist/commands/doctor.js.map +1 -1
  36. package/dist/commands/launch.d.ts +2 -0
  37. package/dist/commands/launch.js +5 -0
  38. package/dist/commands/launch.js.map +1 -1
  39. package/dist/engine/engine.js +32 -22
  40. package/dist/engine/engine.js.map +1 -1
  41. package/dist/engine/handlers/accountUsage.d.ts +17 -0
  42. package/dist/engine/handlers/accountUsage.js +40 -6
  43. package/dist/engine/handlers/accountUsage.js.map +1 -1
  44. package/dist/engine/handlers/mode.js +42 -1
  45. package/dist/engine/handlers/mode.js.map +1 -1
  46. package/dist/engine/handlers/session.js +5 -3
  47. package/dist/engine/handlers/session.js.map +1 -1
  48. package/dist/engine/handlers/usage.js +4 -1
  49. package/dist/engine/handlers/usage.js.map +1 -1
  50. package/dist/engine/handlers/workspace.js +38 -1
  51. package/dist/engine/handlers/workspace.js.map +1 -1
  52. package/dist/hub/effortDialog.d.ts +20 -0
  53. package/dist/hub/effortDialog.js +40 -0
  54. package/dist/hub/effortDialog.js.map +1 -0
  55. package/dist/hub/engineRelaySocket.d.ts +3 -0
  56. package/dist/hub/engineRelaySocket.js +2 -1
  57. package/dist/hub/engineRelaySocket.js.map +1 -1
  58. package/dist/hub/hubDaemon.js +20 -3
  59. package/dist/hub/hubDaemon.js.map +1 -1
  60. package/dist/hub/hubProtocol.js +8 -2
  61. package/dist/hub/hubProtocol.js.map +1 -1
  62. package/dist/hub/panePreviewPump.d.ts +27 -0
  63. package/dist/hub/panePreviewPump.js +62 -1
  64. package/dist/hub/panePreviewPump.js.map +1 -1
  65. package/dist/hub/questionInjection.js +2 -1
  66. package/dist/hub/questionInjection.js.map +1 -1
  67. package/dist/hub/reaper.d.ts +5 -0
  68. package/dist/hub/reaper.js +25 -7
  69. package/dist/hub/reaper.js.map +1 -1
  70. package/dist/hub/sessionHub.d.ts +48 -1
  71. package/dist/hub/sessionHub.js +248 -25
  72. package/dist/hub/sessionHub.js.map +1 -1
  73. package/dist/protocol/decode.js +45 -0
  74. package/dist/protocol/decode.js.map +1 -1
  75. package/dist/protocol/encode.js +2 -0
  76. package/dist/protocol/encode.js.map +1 -1
  77. package/dist/protocol/messages.d.ts +65 -1
  78. package/dist/services/accountIdentity.js +3 -1
  79. package/dist/services/accountIdentity.js.map +1 -1
  80. package/dist/services/fileService.d.ts +19 -1
  81. package/dist/services/fileService.js +126 -0
  82. package/dist/services/fileService.js.map +1 -1
  83. package/dist/services/keychainMirror.d.ts +9 -0
  84. package/dist/services/keychainMirror.js +64 -0
  85. package/dist/services/keychainMirror.js.map +1 -0
  86. package/dist/services/officialApps.d.ts +12 -0
  87. package/dist/services/officialApps.js +84 -30
  88. package/dist/services/officialApps.js.map +1 -1
  89. package/dist/services/planUsageFetcher.d.ts +53 -5
  90. package/dist/services/planUsageFetcher.js +109 -22
  91. package/dist/services/planUsageFetcher.js.map +1 -1
  92. package/dist/sessions/claudeSessionStore.js +30 -0
  93. package/dist/sessions/claudeSessionStore.js.map +1 -1
  94. package/dist/sessions/heartbeat.d.ts +7 -1
  95. package/dist/sessions/heartbeat.js +3 -1
  96. package/dist/sessions/heartbeat.js.map +1 -1
  97. package/dist/sessions/sessionSearch.js +23 -5
  98. package/dist/sessions/sessionSearch.js.map +1 -1
  99. package/dist/shared/cliVersions.d.ts +14 -0
  100. package/dist/shared/cliVersions.js +38 -0
  101. package/dist/shared/cliVersions.js.map +1 -0
  102. package/dist/shared/crossSession.d.ts +15 -0
  103. package/dist/shared/crossSession.js +75 -0
  104. package/dist/shared/crossSession.js.map +1 -0
  105. package/dist/shared/harnessReminder.d.ts +32 -0
  106. package/dist/shared/harnessReminder.js +124 -0
  107. package/dist/shared/harnessReminder.js.map +1 -0
  108. package/dist/shared/lineWriter.d.ts +7 -0
  109. package/dist/shared/lineWriter.js +26 -0
  110. package/dist/shared/lineWriter.js.map +1 -1
  111. package/dist/shared/systemNotice.d.ts +30 -0
  112. package/dist/shared/systemNotice.js +209 -0
  113. package/dist/shared/systemNotice.js.map +1 -0
  114. package/package.json +3 -3
@@ -1,7 +1,10 @@
1
1
  // planUsageFetcher.ts
2
2
  // tailii (TS host) — プラン使用状況の取得(Claude Code OAuth 使用量 API)
3
3
  // Swift 版 PlanUsageFetcher.swift の移植。
4
- // 認証は Mac 上の Claude Code が保存した OAuth トークン(Keychain → file の順、期限切れは後回し)。
4
+ // 認証は Mac 上の Claude Code が保存した OAuth トークン
5
+ // (Keychain → Keychain ミラー → file の順、期限切れは後回し)。
6
+ // Keychain は sshd 文脈(SSH spawn の engine)から読めないため、GUI 文脈で読めたときに
7
+ // ミラー(keychainMirror.ts)へ残し、SSH 文脈は有効期限内のミラーを第2候補として使う。
5
8
  // 取得不能・オフラインは null(usage 応答の plan 系フィールドは省略 = ベストエフォート)。
6
9
  // 秘密の扱い: アクセストークンは本プロセス内でのみ使い、ログ・チャネルへは載せない。
7
10
  import { execFile } from "node:child_process";
@@ -10,10 +13,15 @@ import * as os from "node:os";
10
13
  import * as path from "node:path";
11
14
  import { maskEmail } from "./accountIdentity.js";
12
15
  import { refreshClaudeCredentialFile, shouldRefreshClaudeCredential, } from "./claudeCredentialRefresh.js";
16
+ import { readKeychainMirror, writeKeychainMirror } from "./keychainMirror.js";
13
17
  /** 使用量 API のエンドポイント(Claude Code 本体・statusline ツールと同じ)。 */
14
18
  export const PLAN_USAGE_ENDPOINT = "https://api.anthropic.com/api/oauth/usage";
15
19
  /** 使用量と同じ OAuth token の表示アカウントを確定する profile endpoint。 */
16
20
  export const CLAUDE_PROFILE_ENDPOINT = "https://api.anthropic.com/api/oauth/profile";
21
+ /** provider の戻り値が失敗分類か(PlanUsage には `failure` キーが無い)。 */
22
+ export function isPlanUsageFailure(value) {
23
+ return value !== null && "failure" in value;
24
+ }
17
25
  /**
18
26
  * プラン使用状況を取得する(ベストエフォート・timeout 付き)。
19
27
  *
@@ -22,7 +30,7 @@ export const CLAUDE_PROFILE_ENDPOINT = "https://api.anthropic.com/api/oauth/prof
22
30
  * バッジ表示が一致する)。
23
31
  */
24
32
  export async function fetchPlanUsage(timeoutSeconds = 5) {
25
- const resolved = await withClaudeOAuthCredential(async (token) => {
33
+ const outcome = await resolveClaudeOAuth(async (token) => {
26
34
  const usage = await fetchUsageOnce(token, timeoutSeconds);
27
35
  if (usage.kind !== "success")
28
36
  return usage;
@@ -30,8 +38,12 @@ export async function fetchPlanUsage(timeoutSeconds = 5) {
30
38
  const account = await fetchMaskedClaudeAccount(token, timeoutSeconds);
31
39
  return { kind: "success", value: { usage: usage.value, account } };
32
40
  }, { timeoutSeconds });
33
- if (resolved === null)
34
- return null;
41
+ const resolved = outcome.resolution;
42
+ if (resolved === null) {
43
+ // 通信断が 1 件でも混じればログイン状態は断定できないので offline 扱い。
44
+ // 候補ゼロ・全候補 401 だけを「ログインし直し」に分類する。
45
+ return { failure: outcome.failure === "failure" ? "unavailable" : "login_required" };
46
+ }
35
47
  return {
36
48
  ...resolved.value.usage,
37
49
  subscriptionType: resolved.credential.subscriptionType ?? null,
@@ -186,6 +198,13 @@ export function orderCredentials(candidates, nowMs) {
186
198
  * 期限前は file を先に更新し、API が401なら同じ file をロック付きで1回だけ更新して再試行する。
187
199
  */
188
200
  export async function withClaudeOAuthCredential(attempt, options = {}) {
201
+ return (await resolveClaudeOAuth(attempt, options)).resolution;
202
+ }
203
+ /**
204
+ * `withClaudeOAuthCredential` の失敗理由つき版。失敗を「候補ゼロ / 全候補 401 / 通信断あり」に
205
+ * 分類し、呼び出し側(使用量シート等)が「/login し直し」と「オフライン」を出し分けられるようにする。
206
+ */
207
+ export async function resolveClaudeOAuth(attempt, options = {}) {
189
208
  const now = options.now ?? (() => Date.now());
190
209
  const timeoutSeconds = options.timeoutSeconds ?? 5;
191
210
  const refreshFile = options.refreshFile ?? (() => refreshClaudeCredentialFile({ timeoutSeconds }));
@@ -193,11 +212,19 @@ export async function withClaudeOAuthCredential(attempt, options = {}) {
193
212
  const candidates = await prepareSourcedCredentials({ ...options, now, refreshFile }, () => {
194
213
  refreshAttempted = true;
195
214
  });
215
+ if (candidates.length === 0)
216
+ return { resolution: null, failure: "no_credentials" };
217
+ let sawFailure = false;
196
218
  for (const candidate of candidates) {
197
219
  let result = await attempt(candidate.token);
198
220
  if (result.kind === "success") {
199
- return { value: result.value, credential: withoutSource(candidate) };
221
+ return {
222
+ resolution: { value: result.value, credential: withoutSource(candidate) },
223
+ failure: null,
224
+ };
200
225
  }
226
+ if (result.kind === "failure")
227
+ sawFailure = true;
201
228
  if (result.kind !== "unauthorized" || candidate.source !== "file" || refreshAttempted) {
202
229
  continue;
203
230
  }
@@ -209,10 +236,15 @@ export async function withClaudeOAuthCredential(attempt, options = {}) {
209
236
  const retryCredential = sourcedFromRefresh(refreshed);
210
237
  result = await attempt(retryCredential.token);
211
238
  if (result.kind === "success") {
212
- return { value: result.value, credential: withoutSource(retryCredential) };
239
+ return {
240
+ resolution: { value: result.value, credential: withoutSource(retryCredential) },
241
+ failure: null,
242
+ };
213
243
  }
244
+ if (result.kind === "failure")
245
+ sawFailure = true;
214
246
  }
215
- return null;
247
+ return { resolution: null, failure: sawFailure ? "failure" : "unauthorized" };
216
248
  }
217
249
  async function prepareSourcedCredentials(options, onRefreshSuccess = () => { }) {
218
250
  const now = options.now ?? (() => Date.now());
@@ -220,16 +252,27 @@ async function prepareSourcedCredentials(options, onRefreshSuccess = () => { })
220
252
  const refreshFile = options.refreshFile ?? (() => refreshClaudeCredentialFile({ timeoutSeconds }));
221
253
  let candidates = options.candidates !== undefined
222
254
  ? [...options.candidates]
223
- : await loadSourcedCredentialCandidates();
224
- const hasKeychain = candidates.some((candidate) => candidate.source === "keychain");
255
+ : await loadSourcedCredentialCandidates(now());
225
256
  const fileIndex = candidates.findIndex((candidate) => candidate.source === "file");
226
- if (!hasKeychain &&
227
- fileIndex >= 0 &&
257
+ // file 側セッションの延命: 期限切れなら Keychain の有無に関わらず refresh する。
258
+ // SSH 文脈(Keychain 不達)のフォールバック正本は file であり、Keychain が読める期間に
259
+ // 放置すると refresh token ごと失効して SSH 側だけが死ぬ(2026-08-10 実障害)。
260
+ // 今回の応答を Keychain/ミラーで賄えるときは、応答を待たせず裏で延命だけ行う。
261
+ if (fileIndex >= 0 &&
228
262
  shouldRefreshClaudeCredential(candidates[fileIndex].expiresAtMs, now())) {
229
- const refreshed = await refreshFile();
230
- if (refreshed !== null) {
231
- onRefreshSuccess();
232
- candidates[fileIndex] = sourcedFromRefresh(refreshed);
263
+ const servableWithoutFile = candidates.some((candidate) => candidate.source !== "file" &&
264
+ (candidate.expiresAtMs ?? Number.POSITIVE_INFINITY) > now());
265
+ if (servableWithoutFile) {
266
+ // 裏の延命は本呼び出しへ影響させない(refreshAttempted も立てない。
267
+ // 401 時の再 refresh とはファイルロックで排他される)。
268
+ void refreshFile().catch(() => null);
269
+ }
270
+ else {
271
+ const refreshed = await refreshFile();
272
+ if (refreshed !== null) {
273
+ onRefreshSuccess();
274
+ candidates[fileIndex] = sourcedFromRefresh(refreshed);
275
+ }
233
276
  }
234
277
  }
235
278
  // 同じ access token が Keychain/file の両方にある場合は、401時に refresh できる file 側を残す。
@@ -237,16 +280,51 @@ async function prepareSourcedCredentials(options, onRefreshSuccess = () => { })
237
280
  !candidates.some((other) => other.source === "file" && other.token === candidate.token));
238
281
  return orderCredentials(refreshableCandidates, now());
239
282
  }
240
- async function loadSourcedCredentialCandidates() {
283
+ async function loadSourcedCredentialCandidates(nowMs = Date.now()) {
241
284
  const candidates = [];
242
- const keychain = await credentialFromKeychain();
243
- if (keychain !== null)
285
+ const keychainRaw = await rawCredentialJSONFromKeychain();
286
+ const keychain = keychainRaw !== null ? extractCredential(keychainRaw) : null;
287
+ if (keychainRaw !== null && keychain !== null) {
244
288
  candidates.push({ ...keychain, source: "keychain" });
289
+ // GUI 文脈で読めた証をミラーへ残し、Keychain 不達の SSH 文脈が第2候補に使えるようにする。
290
+ writeKeychainMirror(keychainRaw);
291
+ }
292
+ else {
293
+ const mirror = credentialFromKeychainMirror(nowMs);
294
+ if (mirror !== null)
295
+ candidates.push({ ...mirror, source: "keychain-mirror" });
296
+ }
245
297
  const file = credentialFromFile();
246
298
  if (file !== null)
247
299
  candidates.push({ ...file, source: "file" });
248
300
  return candidates;
249
301
  }
302
+ /**
303
+ * Keychain ミラーから有効期限内の候補だけを読む(純ロジック, TESTABLE)。
304
+ * 期限切れ・期限不明のミラーは捨てる — refresh に使えない読取専用コピーなので、
305
+ * 期限を過ぎた時点で無用どころか無駄な API 試行の種にしかならない。
306
+ */
307
+ export function credentialFromKeychainMirror(nowMs, read = readKeychainMirror) {
308
+ const raw = read();
309
+ if (raw === null)
310
+ return null;
311
+ const credential = extractCredential(raw);
312
+ if (credential === null)
313
+ return null;
314
+ if ((credential.expiresAtMs ?? 0) <= nowMs)
315
+ return null;
316
+ return credential;
317
+ }
318
+ /**
319
+ * Keychain を1回読んでミラーを温める(engine 起動時の fire-and-forget 用)。
320
+ * GUI 文脈(QUIC 接続の engine 等)でだけ成功し、SSH 文脈では静かに何もしない。
321
+ * これにより使用量シートを開かない日でも、QUIC 接続があるだけでミラーが新鮮に保たれる。
322
+ */
323
+ export async function primeClaudeKeychainMirror() {
324
+ const raw = await rawCredentialJSONFromKeychain();
325
+ if (raw !== null)
326
+ writeKeychainMirror(raw);
327
+ }
250
328
  function sourcedFromRefresh(refreshed) {
251
329
  return {
252
330
  token: refreshed.accessToken,
@@ -307,18 +385,27 @@ function runCredentialCommand(executable, args) {
307
385
  * 呼び出し側が `~/.claude/.credentials.json` へフォールバックする。
308
386
  */
309
387
  export async function credentialFromKeychain(runner = runCredentialCommand, uid = typeof process.getuid === "function" ? process.getuid() : null) {
388
+ const raw = await rawCredentialJSONFromKeychain(runner, uid);
389
+ return raw === null ? null : extractCredential(raw);
390
+ }
391
+ /**
392
+ * Keychain から読めた生 JSON を返す(`extractCredential` が成立する応答だけを有効とする)。
393
+ * 生 JSON はミラー書込(`writeKeychainMirror`)へそのまま渡すために保持する。
394
+ */
395
+ async function rawCredentialJSONFromKeychain(runner = runCredentialCommand, uid = typeof process.getuid === "function" ? process.getuid() : null) {
310
396
  const securityArgs = ["find-generic-password", "-s", "Claude Code-credentials", "-w"];
311
397
  if (uid !== null) {
312
- const shared = extractCredential((await runner("/bin/launchctl", [
398
+ const shared = (await runner("/bin/launchctl", [
313
399
  "asuser",
314
400
  String(uid),
315
401
  "/usr/bin/security",
316
402
  ...securityArgs,
317
- ])) ?? "");
318
- if (shared !== null)
403
+ ])) ?? "";
404
+ if (extractCredential(shared) !== null)
319
405
  return shared;
320
406
  }
321
- return extractCredential((await runner("/usr/bin/security", securityArgs)) ?? "");
407
+ const direct = (await runner("/usr/bin/security", securityArgs)) ?? "";
408
+ return extractCredential(direct) !== null ? direct : null;
322
409
  }
323
410
  /**
324
411
  * 認証情報 JSON(`{"claudeAiOauth":{"accessToken":…,"expiresAt":<ms>,…}}`)から候補を取り出す。
@@ -1 +1 @@
1
- {"version":3,"file":"planUsageFetcher.js","sourceRoot":"","sources":["../../src/services/planUsageFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"planUsageFetcher.js","sourceRoot":"","sources":["../../src/services/planUsageFetcher.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ import * as fs from "node:fs";
7
7
  import * as os from "node:os";
8
8
  import * as path from "node:path";
9
9
  import { isInsideBase } from "../shared/paths.js";
10
+ import { stripInjectedReminderBlocks, stripReminderTagBlocks } from "../shared/harnessReminder.js";
11
+ import { crossSessionPreviewLine, presentCrossSessionMessage } from "../shared/crossSession.js";
10
12
  import { isInjectedSkillContent } from "../shared/skillInjection.js";
11
13
  /** タイトル抽出の最大長(先頭 ~60 字)。 */
12
14
  const TITLE_MAX_LENGTH = 60;
@@ -438,12 +440,40 @@ function extractMessageText(obj, maxLength) {
438
440
  }
439
441
  if (raw === null)
440
442
  return null;
443
+ // 別セッションからのメッセージ封筒(<cross-session-message>)は、生 XML を出さず
444
+ // 「⇄ 送信元名: 本文」へ転写する(タイトル/プレビュー共通。規則は shared/crossSession.ts)。
445
+ if (obj["type"] === "user") {
446
+ const peer = presentCrossSessionMessage(raw);
447
+ if (peer !== null)
448
+ raw = crossSessionPreviewLine(peer);
449
+ }
450
+ // harness が user ロールへ注入する <system-reminder> ブロック(リマインダ・記憶リコール等)は
451
+ // 本文から除去する。残りが空なら発話ではないので除外(前の実発話へ遡る)。
452
+ if (obj["type"] === "user")
453
+ raw = stripReminderTagBlocks(raw);
454
+ // Claude Code 2.1.251 以降、ターン中に完了した背景タスクの通知(<task-notification> 全文)や
455
+ // Monitor イベントは assistant text の末尾へ行頭形の <system-reminder> ブロックとして追記される
456
+ // (停止境界の背景通知注入。user 行としては残らない)。プレビューへ生 XML を出さないよう除去し、
457
+ // 残りが空なら前の実応答へ遡る(規則は shared/harnessReminder.ts)。
458
+ if (obj["type"] === "assistant")
459
+ raw = stripInjectedReminderBlocks(raw);
441
460
  let text = raw.replaceAll("\n", " ").replaceAll("\r", " ").trim();
442
461
  if (!text)
443
462
  return null;
444
463
  // slash コマンドのメタ包み(`<command-…>` で始まる)は提示に向かないので除外。
445
464
  if (text.startsWith("<command-") || text.startsWith("<local-command"))
446
465
  return null;
466
+ // harness のバックグラウンドタスク通知(`<task-notification>…`、user ロールで記録される)や
467
+ // 画像添付後の寸法ノート(`[Image: original …]` だけの行)は発話ではないので除外
468
+ // (list-preview に生 XML が出ていた不具合の根治)。
469
+ if (obj["type"] === "user") {
470
+ if (text.includes("<task-notification>"))
471
+ return null;
472
+ if (text.startsWith("[Image") && text.endsWith("]"))
473
+ return null;
474
+ if (text.startsWith("Caveat: The messages below were generated"))
475
+ return null;
476
+ }
447
477
  // シェルモード(`!cmd`)の記録。実行行はタイトル/プレビューに使えるので `!cmd` へ
448
478
  // 戻し、出力側(stdout/stderr)は提示に向かないので除外する。
449
479
  if (text.startsWith("<bash-stdout>") || text.startsWith("<bash-stderr>"))
@@ -1 +1 @@
1
- {"version":3,"file":"claudeSessionStore.js","sourceRoot":"","sources":["../../src/sessions/claudeSessionStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claudeSessionStore.js","sourceRoot":"","sources":["../../src/sessions/claudeSessionStore.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,12 @@ export interface Heartbeat {
6
6
  state: HeartbeatState;
7
7
  /** 書き込み契機(デバッグ用)。判定には使わない。 */
8
8
  event?: string;
9
+ /**
10
+ * 処理開始(最後の active 信号)の時刻(Unix ms)。Hub の `processingSinceMs` の永続化で、
11
+ * bump は保持する。Hub 再起動後に transcript の中断マーカーが現ターンのものかを判定する
12
+ * 根拠(ts は毎 tick bump されるため開始時刻には使えない)。旧形式・hook 書込では無い。
13
+ */
14
+ sinceMs?: number;
9
15
  }
10
16
  /** 既定のハートビート置き場(`~/.tailii/heartbeat`)。 */
11
17
  export declare function defaultHeartbeatDir(): string;
@@ -14,7 +20,7 @@ export declare function readHeartbeat(dir: string, session: string): Heartbeat |
14
20
  /** ハートビートを書く(tmp 書き込み → rename のアトミック置換)。失敗は投げる。 */
15
21
  export declare function writeHeartbeat(dir: string, session: string, heartbeat: Heartbeat): void;
16
22
  /**
17
- * ts だけ更新する(state は既存値を保持、不在時は fallbackState)。
23
+ * ts だけ更新する(state と sinceMs は既存値を保持、不在時は fallbackState)。
18
24
  * チャット表示中 ticker / daemon の bump 代行用。
19
25
  */
20
26
  export declare function bumpHeartbeat(dir: string, session: string, now: number, event: string, fallbackState?: HeartbeatState): void;
@@ -36,6 +36,7 @@ export function readHeartbeat(dir, session) {
36
36
  ts: parsed.ts,
37
37
  state: parsed.state,
38
38
  ...(typeof parsed.event === "string" ? { event: parsed.event } : {}),
39
+ ...(typeof parsed.sinceMs === "number" && Number.isFinite(parsed.sinceMs) ? { sinceMs: parsed.sinceMs } : {}),
39
40
  };
40
41
  }
41
42
  catch {
@@ -51,7 +52,7 @@ export function writeHeartbeat(dir, session, heartbeat) {
51
52
  fs.renameSync(tmp, target);
52
53
  }
53
54
  /**
54
- * ts だけ更新する(state は既存値を保持、不在時は fallbackState)。
55
+ * ts だけ更新する(state と sinceMs は既存値を保持、不在時は fallbackState)。
55
56
  * チャット表示中 ticker / daemon の bump 代行用。
56
57
  */
57
58
  export function bumpHeartbeat(dir, session, now, event, fallbackState = "idle") {
@@ -60,6 +61,7 @@ export function bumpHeartbeat(dir, session, now, event, fallbackState = "idle")
60
61
  ts: now,
61
62
  state: existing?.state ?? fallbackState,
62
63
  event,
64
+ ...(existing?.sinceMs !== undefined ? { sinceMs: existing.sinceMs } : {}),
63
65
  });
64
66
  }
65
67
  /** ハートビートファイルを消す(kill 後の掃除)。不在は無視。 */
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../src/sessions/heartbeat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../../src/sessions/heartbeat.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  // sessionSearch.ts
2
2
  // tailii (TS host) — Claude Code 会話本文の横断検索(session_search)
3
3
  import * as fs from "node:fs";
4
+ import { stripInjectedReminderBlocks, stripReminderTagBlocks } from "../shared/harnessReminder.js";
5
+ import { crossSessionPreviewLine, presentCrossSessionMessage } from "../shared/crossSession.js";
4
6
  export const SESSION_SEARCH_DEFAULT_LIMIT = 20;
5
7
  export const SESSION_SEARCH_MAX_LIMIT = 100;
6
8
  export const SESSION_SEARCH_TIME_BUDGET_MS = 120;
@@ -9,7 +11,9 @@ export const SESSION_SEARCH_FILE_COUNT_LIMIT = 1000;
9
11
  export const SESSION_SEARCH_SNIPPET_CONTEXT_CHARS = 40;
10
12
  /** Claude 会話 jsonl の user/assistant テキストだけを対象に、大文字小文字を無視して部分一致検索する。 */
11
13
  export function searchClaudeSessions(store, query, options = {}) {
12
- const normalizedQuery = query.trim().toLocaleLowerCase();
14
+ // 本文側(extractMessageText)と同じ空白正規化を掛ける。全角スペース(iOS 日本語キーボードの
15
+ // 既定)や連続空白で区切った複数語クエリも、本文の空白 1 つに畳んだ形へ揃えて照合する。
16
+ const normalizedQuery = query.trim().replaceAll(/\s+/gu, " ").toLocaleLowerCase();
13
17
  if (normalizedQuery.length === 0) {
14
18
  return { results: [], stats: { scannedFiles: 0, truncated: false } };
15
19
  }
@@ -107,26 +111,40 @@ function extractMessageText(obj) {
107
111
  if (typeof message !== "object" || message === null)
108
112
  return null;
109
113
  const content = message["content"];
114
+ // harness 注入の <system-reminder>(user 行のリマインダ / assistant text 末尾の背景通知)は
115
+ // 検索対象にもスニペットにも出さない(生 XML の混入と、通知本文でのヒットを防ぐ)。
116
+ // 別セッションからのメッセージ封筒(<cross-session-message>)は「⇄ 送信元名: 本文」へ
117
+ // 転写して照合する(生タグでなく本文と送信元名でヒットし、スニペットも整形済みになる)。
118
+ const strip = (raw) => {
119
+ if (obj["type"] === "assistant")
120
+ return stripInjectedReminderBlocks(raw);
121
+ const peer = presentCrossSessionMessage(raw);
122
+ if (peer !== null)
123
+ return crossSessionPreviewLine(peer);
124
+ return stripReminderTagBlocks(raw);
125
+ };
110
126
  const parts = [];
111
127
  if (typeof content === "string") {
112
- parts.push(content);
128
+ parts.push(strip(content));
113
129
  }
114
130
  else if (Array.isArray(content)) {
115
131
  for (const element of content) {
116
132
  if (typeof element === "string") {
117
- parts.push(element);
133
+ parts.push(strip(element));
118
134
  }
119
135
  else if (typeof element === "object" && element !== null) {
120
136
  const block = element;
121
137
  const blockType = block["type"];
122
138
  const text = block["text"];
123
139
  if ((blockType === undefined || blockType === "text") && typeof text === "string") {
124
- parts.push(text);
140
+ parts.push(strip(text));
125
141
  }
126
142
  }
127
143
  }
128
144
  }
129
- const text = parts.join(" ").replaceAll("\r", " ").replaceAll("\n", " ").trim();
145
+ // 除去で空になった部分や段落区切りが二重空白にならないよう、照合前に空白を 1 つに畳む
146
+ // (makeSnippet の整形と同じ正規化。二重空白のままだと複数語のクエリが外れる)。
147
+ const text = parts.filter((part) => part.length > 0).join(" ").replaceAll(/\s+/gu, " ").trim();
130
148
  return text.length > 0 ? text : null;
131
149
  }
132
150
  function makeSnippet(text, matchIndex, matchLength, context) {
@@ -1 +1 @@
1
- {"version":3,"file":"sessionSearch.js","sourceRoot":"","sources":["../../src/sessions/sessionSearch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessionSearch.js","sourceRoot":"","sources":["../../src/sessions/sessionSearch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * 外部 CLI(Claude Code / Codex)との互換性境界。
3
+ *
4
+ * Tailii が依存している/相互運用を確認済みの最低版。最新版追従ではなく下限のみを
5
+ * 定め、上限は設けない(CLI は自動更新されるため、完全一致の許可リストは更新の度に
6
+ * 機能停止した実績がある)。新版の妥当性は各機能の実行時検証に委ねる。
7
+ * doctor(診断)と officialApps(公式アプリ連携)の双方がこの値を参照する。
8
+ */
9
+ export declare const MINIMUM_CLAUDE_CLI_VERSION = "2.1.215";
10
+ export declare const MINIMUM_CODEX_CLI_VERSION = "0.144.5";
11
+ /** `--version` の先頭に現れる数値版を比較用の整数列へ変換する。 */
12
+ export declare function parseNumericVersion(raw: string | null): number[] | null;
13
+ /** prerelease の飾りは無視し、数値成分だけで `actual >= minimum` を判定する。 */
14
+ export declare function versionAtLeast(actual: string | null, minimum: string): boolean | null;