tailii-host 0.3.0 → 0.4.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.
- package/README.md +1 -0
- package/dist/backend/herdr.d.ts +37 -3
- package/dist/backend/herdr.js +97 -8
- package/dist/backend/herdr.js.map +1 -1
- package/dist/cli.js +10 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/selfUpdate.d.ts +71 -0
- package/dist/commands/selfUpdate.js +536 -0
- package/dist/commands/selfUpdate.js.map +1 -0
- package/dist/engine/engine.js +9 -0
- package/dist/engine/engine.js.map +1 -1
- package/dist/engine/handlers/index.js +2 -0
- package/dist/engine/handlers/index.js.map +1 -1
- package/dist/engine/handlers/selfUpdate.d.ts +2 -0
- package/dist/engine/handlers/selfUpdate.js +52 -0
- package/dist/engine/handlers/selfUpdate.js.map +1 -0
- package/dist/protocol/decode.js +23 -1
- package/dist/protocol/decode.js.map +1 -1
- package/dist/protocol/messages.d.ts +23 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -66,6 +66,7 @@ Tailii アプリの「使用量・情報」は、Claude / Codex のアカウン
|
|
|
66
66
|
- `push-token`: iPhone アプリのプッシュ通知トークンを登録します。
|
|
67
67
|
- `hub`: 会話状態・出力配信・入力調停とアイドルなセッション(tmux / herdr)の自動掃除を担う常駐デーモンです。engine 起動時や hook から自動起動されるため、通常は手動実行不要です。
|
|
68
68
|
- `quic-info`: QUIC ゲートウェイの接続情報(ポート・証明書ピン・トークン)を出力します。アプリが SSH 経由で取得するために使う内部コマンドです。
|
|
69
|
+
- `self-update`: ホストを指定バージョンへ自己更新します。通常は Tailii アプリが接続時のバージョン照合から自動起動する内部コマンドで、npm から検証付きで取得したうえでランチャーを新バージョンへ切り替えます(git clone などの開発環境では動作せず、手動更新を案内します)。
|
|
69
70
|
|
|
70
71
|
## License
|
|
71
72
|
|
package/dist/backend/herdr.d.ts
CHANGED
|
@@ -40,13 +40,27 @@ export declare class HerdrFailedError extends Error {
|
|
|
40
40
|
*/
|
|
41
41
|
export declare function screenHasSelectionFooter(screen: string): boolean;
|
|
42
42
|
/**
|
|
43
|
-
* 入力反映検証に使う probe
|
|
43
|
+
* 入力反映検証に使う probe(本文の**末尾側**)。検証不能な本文(空など)は null。
|
|
44
|
+
*
|
|
45
|
+
* 末尾側なのは composer の表示特性のため: 入力が表示高を超えると composer は下へ
|
|
46
|
+
* スクロールし**先頭行が窓外へ消える**(実測 2.1.220: 10行ペーストで先頭4行が
|
|
47
|
+
* capture から消失)。カーソルは常に末尾にあるので、末尾側の probe だけが
|
|
48
|
+
* 「見えている範囲」との照合を保証できる(先頭24字の旧 probe は多行/長文で
|
|
49
|
+
* 構造的に偽陰性 → 再投入 → 本文二重化の温床だった)。
|
|
44
50
|
*
|
|
45
51
|
* 先頭 `!`(シェルモード)は claude TUI がモード記号として吸い上げ、入力欄本文には
|
|
46
|
-
* 残らない(`!ls -la` は `! ls -la`
|
|
47
|
-
*
|
|
52
|
+
* 残らない(`!ls -la` は `! ls -la` と描画される)。単一行本文では照合キーからも
|
|
53
|
+
* 落とさないと末尾24字に `!` が含まれるとき反映検証が失敗する。
|
|
48
54
|
*/
|
|
49
55
|
export declare function typedTextProbe(text: string): string | null;
|
|
56
|
+
/**
|
|
57
|
+
* 入力欄テキストに probe が反映されているか(折り返し非依存)。
|
|
58
|
+
* extractClaudeInputBox は表示行を trim + "\n" 連結で返すため、probe が入力欄の
|
|
59
|
+
* 行折り返しをまたぐと生の includes は絶対に一致しない(全角24字=48桁 > 内幅で必発)。
|
|
60
|
+
* この偽陰性が「反映済み本文の再投入 = 初回送信の本文二重化」の根因だった(実機5件)。
|
|
61
|
+
* 空白類(折り返しの改行・trim 痕・全角空白含む)を両辺から除去して照合する。
|
|
62
|
+
*/
|
|
63
|
+
export declare function inputBoxTextIncludesProbe(boxText: string, probe: string): boolean;
|
|
50
64
|
/** herdr CLI の JSON stdout から `result` を取り出す。JSON でない/エラー封筒は null。 */
|
|
51
65
|
export declare function parseHerdrResult(stdout: string): Record<string, unknown> | null;
|
|
52
66
|
/** `pane list` の 1 pane 分。 */
|
|
@@ -94,6 +108,8 @@ export declare class HerdrSessionManager {
|
|
|
94
108
|
private readonly submitVerifyDelayMs;
|
|
95
109
|
/** 入力欄へ本文が反映されなかったときの再投入間隔 ms(RC 切断 limbo 対策)。 */
|
|
96
110
|
private readonly inputRetryDelayMs;
|
|
111
|
+
/** clearInputBox の C-u 1回ごとの反映待ち ms(実測レイテンシ 9〜27ms。テスト注入用)。 */
|
|
112
|
+
private readonly clearKeyDelayMs;
|
|
97
113
|
/** 注入前の claude 検出待ちの上限/間隔 ms(テスト注入用)。 */
|
|
98
114
|
private readonly readyTimeoutMs;
|
|
99
115
|
private readonly readyPollMs;
|
|
@@ -105,6 +121,7 @@ export declare class HerdrSessionManager {
|
|
|
105
121
|
submitDelayMs?: number;
|
|
106
122
|
submitVerifyDelayMs?: number;
|
|
107
123
|
inputRetryDelayMs?: number;
|
|
124
|
+
clearKeyDelayMs?: number;
|
|
108
125
|
readyTimeoutMs?: number;
|
|
109
126
|
readyPollMs?: number;
|
|
110
127
|
});
|
|
@@ -154,6 +171,23 @@ export declare class HerdrSessionManager {
|
|
|
154
171
|
* 判定不能は false。
|
|
155
172
|
*/
|
|
156
173
|
private inputBoxContainsText;
|
|
174
|
+
/**
|
|
175
|
+
* 入力欄を空にする(反映検証が偽陰性だったときの再投入前クリア/throw 前の残骸掃除)。
|
|
176
|
+
* C-u(kill-line) のみを繰り返す(実測: 2N-1 回で必ず空になる。Backspace は本文の
|
|
177
|
+
* 実文字を削るため使わない)。空にできたら true。次の場合は false を返し、呼び出し側は
|
|
178
|
+
* 再投入を諦める:
|
|
179
|
+
* - 選択/承認ダイアログ表示中(本文側の罫線を入力欄と誤認して C-u を撃ち込むと
|
|
180
|
+
* 既存の誤 Esc/誤 Continue と同型の実害になるため、書き込み自体をしない)
|
|
181
|
+
* - 入力欄が見えない(罫線が窓外・描画崩れ・capture 失敗)
|
|
182
|
+
* - 上限回数で空にならない(1回150ms×15回=2.25s。iOS の chat_send ACK 予算 18s の
|
|
183
|
+
* 内側で速やかに諦めて明示再送へ倒す)
|
|
184
|
+
*
|
|
185
|
+
* トレードオフ(意図的な設計判断): 中断直後に claude が queued 本文を composer へ
|
|
186
|
+
* 書き戻すタイミングと重なると、そのテキストも C-u で消える(receipt なしの破棄)。
|
|
187
|
+
* 再投入前クリアを省くと「本文二重化」という別のデータ破損になるため、注入経路では
|
|
188
|
+
* 「重複より欠落」を選ぶ(残存の主経路は sendTextSubmit 冒頭の Enter flush が先に守る)。
|
|
189
|
+
*/
|
|
190
|
+
private clearInputBox;
|
|
157
191
|
/**
|
|
158
192
|
* 入力欄がシェルモード(プロンプト `!`)なら Backspace でモード記号を消し、通常入力へ戻す。
|
|
159
193
|
* 本文が残っている状態では呼ばない(呼び出し元が Enter で送信し切ってから使う)。
|
package/dist/backend/herdr.js
CHANGED
|
@@ -98,6 +98,14 @@ const SHIFT_TAB_SEQUENCE = "\u001b[Z";
|
|
|
98
98
|
* `send-text` で生 `\r` を送る。
|
|
99
99
|
*/
|
|
100
100
|
const ENTER_SEQUENCE = "\r";
|
|
101
|
+
/**
|
|
102
|
+
* Ctrl-U(kill-line)の生制御文字。herdr の send-keys は `C-u` をキー名として
|
|
103
|
+
* 受け付けない(実測: unsupported key)ため、Enter(CR) と同じく send-text で流す。
|
|
104
|
+
* claude TUI では「行末尾のテキスト → その改行」の順に消える(実測 2.1.220:
|
|
105
|
+
* `AAA\nBBB\nCCC` へ C-u 連打で CCC→改行→BBB→…と 2N-1 回で必ず空になる。
|
|
106
|
+
* 空 composer への C-u は完全に no-op で、処理中の agent にも干渉しない)。
|
|
107
|
+
*/
|
|
108
|
+
const KILL_LINE_SEQUENCE = "\u0015";
|
|
101
109
|
/**
|
|
102
110
|
* 画面に選択ダイアログのフッター行があるか。チャット本文が「Enter to select」を
|
|
103
111
|
* 引用しただけの偽陽性(誤 Esc・再送スキップの実害)を避けるため、substring では
|
|
@@ -109,18 +117,44 @@ export function screenHasSelectionFooter(screen) {
|
|
|
109
117
|
.some((line) => line.trim().startsWith("Enter to select"));
|
|
110
118
|
}
|
|
111
119
|
/**
|
|
112
|
-
* 入力反映検証に使う probe
|
|
120
|
+
* 入力反映検証に使う probe(本文の**末尾側**)。検証不能な本文(空など)は null。
|
|
121
|
+
*
|
|
122
|
+
* 末尾側なのは composer の表示特性のため: 入力が表示高を超えると composer は下へ
|
|
123
|
+
* スクロールし**先頭行が窓外へ消える**(実測 2.1.220: 10行ペーストで先頭4行が
|
|
124
|
+
* capture から消失)。カーソルは常に末尾にあるので、末尾側の probe だけが
|
|
125
|
+
* 「見えている範囲」との照合を保証できる(先頭24字の旧 probe は多行/長文で
|
|
126
|
+
* 構造的に偽陰性 → 再投入 → 本文二重化の温床だった)。
|
|
113
127
|
*
|
|
114
128
|
* 先頭 `!`(シェルモード)は claude TUI がモード記号として吸い上げ、入力欄本文には
|
|
115
|
-
* 残らない(`!ls -la` は `! ls -la`
|
|
116
|
-
*
|
|
129
|
+
* 残らない(`!ls -la` は `! ls -la` と描画される)。単一行本文では照合キーからも
|
|
130
|
+
* 落とさないと末尾24字に `!` が含まれるとき反映検証が失敗する。
|
|
117
131
|
*/
|
|
118
132
|
export function typedTextProbe(text) {
|
|
119
|
-
const
|
|
120
|
-
|
|
133
|
+
const lines = text
|
|
134
|
+
.split("\n")
|
|
135
|
+
.map((line) => line.trim())
|
|
136
|
+
.filter((line) => line.length > 0);
|
|
137
|
+
const lastLine = lines.at(-1);
|
|
138
|
+
if (lastLine === undefined)
|
|
139
|
+
return null;
|
|
140
|
+
const body = lines.length === 1 && lastLine.startsWith("!") ? lastLine.slice(1).trim() : lastLine;
|
|
121
141
|
if (body.length === 0)
|
|
122
142
|
return null;
|
|
123
|
-
return body.slice(
|
|
143
|
+
return body.slice(-24);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* 入力欄テキストに probe が反映されているか(折り返し非依存)。
|
|
147
|
+
* extractClaudeInputBox は表示行を trim + "\n" 連結で返すため、probe が入力欄の
|
|
148
|
+
* 行折り返しをまたぐと生の includes は絶対に一致しない(全角24字=48桁 > 内幅で必発)。
|
|
149
|
+
* この偽陰性が「反映済み本文の再投入 = 初回送信の本文二重化」の根因だった(実機5件)。
|
|
150
|
+
* 空白類(折り返しの改行・trim 痕・全角空白含む)を両辺から除去して照合する。
|
|
151
|
+
*/
|
|
152
|
+
export function inputBoxTextIncludesProbe(boxText, probe) {
|
|
153
|
+
const strip = (value) => value.replace(/\s+/g, "");
|
|
154
|
+
const needle = strip(probe);
|
|
155
|
+
if (needle.length === 0)
|
|
156
|
+
return false;
|
|
157
|
+
return strip(boxText).includes(needle);
|
|
124
158
|
}
|
|
125
159
|
/** herdr CLI の JSON stdout から `result` を取り出す。JSON でない/エラー封筒は null。 */
|
|
126
160
|
export function parseHerdrResult(stdout) {
|
|
@@ -266,6 +300,8 @@ export class HerdrSessionManager {
|
|
|
266
300
|
submitVerifyDelayMs;
|
|
267
301
|
/** 入力欄へ本文が反映されなかったときの再投入間隔 ms(RC 切断 limbo 対策)。 */
|
|
268
302
|
inputRetryDelayMs;
|
|
303
|
+
/** clearInputBox の C-u 1回ごとの反映待ち ms(実測レイテンシ 9〜27ms。テスト注入用)。 */
|
|
304
|
+
clearKeyDelayMs;
|
|
269
305
|
/** 注入前の claude 検出待ちの上限/間隔 ms(テスト注入用)。 */
|
|
270
306
|
readyTimeoutMs;
|
|
271
307
|
readyPollMs;
|
|
@@ -277,6 +313,7 @@ export class HerdrSessionManager {
|
|
|
277
313
|
this.submitDelayMs = options.submitDelayMs ?? 600;
|
|
278
314
|
this.submitVerifyDelayMs = options.submitVerifyDelayMs ?? 700;
|
|
279
315
|
this.inputRetryDelayMs = options.inputRetryDelayMs ?? 1_500;
|
|
316
|
+
this.clearKeyDelayMs = options.clearKeyDelayMs ?? 150;
|
|
280
317
|
this.readyTimeoutMs = options.readyTimeoutMs ?? 10_000;
|
|
281
318
|
this.readyPollMs = options.readyPollMs ?? 300;
|
|
282
319
|
}
|
|
@@ -484,6 +521,14 @@ export class HerdrSessionManager {
|
|
|
484
521
|
for (let attempt = 0; attempt < 3 && !typed; attempt += 1) {
|
|
485
522
|
if (attempt > 0) {
|
|
486
523
|
await new Promise((resolve) => setTimeout(resolve, this.inputRetryDelayMs));
|
|
524
|
+
// 反映検証の偽陰性時にクリアせず再投入すると、前回分と連結され 1 メッセージの
|
|
525
|
+
// 本文が二重になる(初回送信の本文二重化・実機5件)。再投入前に必ず入力欄を
|
|
526
|
+
// 空にし、空にできたと確信できなければ再投入を諦めて throw(明示再送)へ倒す。
|
|
527
|
+
if (!(await this.clearInputBox(name)))
|
|
528
|
+
break;
|
|
529
|
+
// クリアがシェルモード記号だけを残すことがある(実測: `!echo ...` へ C-u 1回で
|
|
530
|
+
// `!` プロンプトの空入力になる)。常に通常モードから再投入する既存方針に合わせる。
|
|
531
|
+
await this.exitShellMode(name);
|
|
487
532
|
}
|
|
488
533
|
await this.sendKeys(name, [text], true);
|
|
489
534
|
await new Promise((resolve) => setTimeout(resolve, this.submitDelayMs));
|
|
@@ -499,7 +544,11 @@ export class HerdrSessionManager {
|
|
|
499
544
|
}
|
|
500
545
|
}
|
|
501
546
|
if (!typed) {
|
|
502
|
-
|
|
547
|
+
// 残骸(自分の投入分)を残したまま throw すると、アプリの明示再送時に冒頭の
|
|
548
|
+
// Enter flush が残骸を独立メッセージとして送ってしまう(幽霊バブル)。
|
|
549
|
+
// best-effort で掃除してから throw する(掃除できない場合もそのまま throw)。
|
|
550
|
+
await this.clearInputBox(name);
|
|
551
|
+
throw new HerdrFailedError(["pane", "send-text", name], 1, "typed text did not reach the input box (RC limbo / ダイアログ表示中 / 入力欄不可視のいずれか)");
|
|
503
552
|
}
|
|
504
553
|
for (let attempt = 0; attempt < 4; attempt += 1) {
|
|
505
554
|
await new Promise((resolve) => setTimeout(resolve, this.submitDelayMs));
|
|
@@ -524,7 +573,47 @@ export class HerdrSessionManager {
|
|
|
524
573
|
async inputBoxContainsText(name, probe) {
|
|
525
574
|
try {
|
|
526
575
|
const box = extractClaudeInputBox(await this.captureVisibleScreen(name));
|
|
527
|
-
return box !== null && box.text
|
|
576
|
+
return box !== null && inputBoxTextIncludesProbe(box.text, probe);
|
|
577
|
+
}
|
|
578
|
+
catch {
|
|
579
|
+
return false;
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
/**
|
|
583
|
+
* 入力欄を空にする(反映検証が偽陰性だったときの再投入前クリア/throw 前の残骸掃除)。
|
|
584
|
+
* C-u(kill-line) のみを繰り返す(実測: 2N-1 回で必ず空になる。Backspace は本文の
|
|
585
|
+
* 実文字を削るため使わない)。空にできたら true。次の場合は false を返し、呼び出し側は
|
|
586
|
+
* 再投入を諦める:
|
|
587
|
+
* - 選択/承認ダイアログ表示中(本文側の罫線を入力欄と誤認して C-u を撃ち込むと
|
|
588
|
+
* 既存の誤 Esc/誤 Continue と同型の実害になるため、書き込み自体をしない)
|
|
589
|
+
* - 入力欄が見えない(罫線が窓外・描画崩れ・capture 失敗)
|
|
590
|
+
* - 上限回数で空にならない(1回150ms×15回=2.25s。iOS の chat_send ACK 予算 18s の
|
|
591
|
+
* 内側で速やかに諦めて明示再送へ倒す)
|
|
592
|
+
*
|
|
593
|
+
* トレードオフ(意図的な設計判断): 中断直後に claude が queued 本文を composer へ
|
|
594
|
+
* 書き戻すタイミングと重なると、そのテキストも C-u で消える(receipt なしの破棄)。
|
|
595
|
+
* 再投入前クリアを省くと「本文二重化」という別のデータ破損になるため、注入経路では
|
|
596
|
+
* 「重複より欠落」を選ぶ(残存の主経路は sendTextSubmit 冒頭の Enter flush が先に守る)。
|
|
597
|
+
*/
|
|
598
|
+
async clearInputBox(name) {
|
|
599
|
+
try {
|
|
600
|
+
for (let attempt = 0; attempt < 15; attempt += 1) {
|
|
601
|
+
// ダイアログ判定は selectionDialogVisible(末尾30行窓)に揃える。全画面を
|
|
602
|
+
// 走査すると、チャット本文に残る閉じたダイアログの転写(「Enter to select」行)を
|
|
603
|
+
// 誤検出して、クリアできる場面でも常に諦めてしまう(08-03 の窓設計と同じ理由)。
|
|
604
|
+
if (await this.selectionDialogVisible(name))
|
|
605
|
+
return false;
|
|
606
|
+
const box = extractClaudeInputBox(await this.captureVisibleScreen(name));
|
|
607
|
+
if (box === null)
|
|
608
|
+
return false;
|
|
609
|
+
if (box.text.replace(/\s+/g, "").length === 0)
|
|
610
|
+
return true;
|
|
611
|
+
await this.sendKeys(name, [KILL_LINE_SEQUENCE], true);
|
|
612
|
+
await new Promise((resolve) => setTimeout(resolve, this.clearKeyDelayMs));
|
|
613
|
+
}
|
|
614
|
+
// 上限到達時も最後の C-u の結果は未観測なので、最終状態を見てから判定する。
|
|
615
|
+
const box = extractClaudeInputBox(await this.captureVisibleScreen(name));
|
|
616
|
+
return box !== null && box.text.replace(/\s+/g, "").length === 0;
|
|
528
617
|
}
|
|
529
618
|
catch {
|
|
530
619
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"herdr.js","sourceRoot":"","sources":["../../src/backend/herdr.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"herdr.js","sourceRoot":"","sources":["../../src/backend/herdr.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -23,7 +23,9 @@ import { runSetupCommand } from "./commands/setup.js";
|
|
|
23
23
|
import { runDoctorCommand } from "./commands/doctor.js";
|
|
24
24
|
import { runHubCommand } from "./hub/hubDaemon.js";
|
|
25
25
|
import { runQuicInfoCommand } from "./services/quicGateway.js";
|
|
26
|
+
import { runSelfUpdateCommand } from "./commands/selfUpdate.js";
|
|
26
27
|
import { migrateLegacyHome } from "./commands/legacyHomeMigration.js";
|
|
28
|
+
import { readPackageVersion } from "./shared/version.js";
|
|
27
29
|
const PORTED = {
|
|
28
30
|
engine: runEngineCommand,
|
|
29
31
|
launch: runLaunchCommand,
|
|
@@ -35,12 +37,19 @@ const PORTED = {
|
|
|
35
37
|
doctor: runDoctorCommand,
|
|
36
38
|
hub: runHubCommand,
|
|
37
39
|
"quic-info": runQuicInfoCommand,
|
|
40
|
+
"self-update": runSelfUpdateCommand,
|
|
38
41
|
};
|
|
39
42
|
async function main() {
|
|
40
43
|
migrateLegacyHome();
|
|
41
44
|
const [subcommand, ...rest] = process.argv.slice(2);
|
|
45
|
+
// `--version` の出力形式(version 文字列 + 改行のみ)は self-update のスモークテストが
|
|
46
|
+
// 新旧バージョンをまたいで依存する凍結契約。変更しないこと。
|
|
47
|
+
if (subcommand === "--version" || subcommand === "-v") {
|
|
48
|
+
process.stdout.write(`${readPackageVersion() ?? "unknown"}\n`);
|
|
49
|
+
return 0;
|
|
50
|
+
}
|
|
42
51
|
if (!subcommand || subcommand === "--help" || subcommand === "-h") {
|
|
43
|
-
process.stderr.write("usage: tailii <engine|serve|hook|launch|kick|push-token|setup|doctor|hub> [options]\n");
|
|
52
|
+
process.stderr.write("usage: tailii <engine|serve|hook|launch|kick|push-token|setup|doctor|hub|self-update> [options]\n");
|
|
44
53
|
return 64;
|
|
45
54
|
}
|
|
46
55
|
const handler = PORTED[subcommand];
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,wDAAwD;AACxD,EAAE;AACF,oCAAoC;AACpC,kEAAkE;AAClE,2CAA2C;AAC3C,gDAAgD;AAChD,+BAA+B;AAC/B,0BAA0B;AAC1B,kCAAkC;AAClC,iDAAiD;AACjD,qCAAqC;AACrC,EAAE;AACF,+DAA+D;AAC/D,mCAAmC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,wDAAwD;AACxD,EAAE;AACF,oCAAoC;AACpC,kEAAkE;AAClE,2CAA2C;AAC3C,gDAAgD;AAChD,+BAA+B;AAC/B,0BAA0B;AAC1B,kCAAkC;AAClC,iDAAiD;AACjD,qCAAqC;AACrC,EAAE;AACF,+DAA+D;AAC/D,mCAAmC;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,MAAM,GAAwD;IAClE,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,gBAAgB;IACxB,KAAK,EAAE,eAAe;IACtB,IAAI,EAAE,cAAc;IACpB,IAAI,EAAE,cAAc;IACpB,YAAY,EAAE,mBAAmB;IACjC,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,gBAAgB;IACxB,GAAG,EAAE,aAAa;IAClB,WAAW,EAAE,kBAAkB;IAC/B,aAAa,EAAE,oBAAoB;CACpC,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,iBAAiB,EAAE,CAAC;IACpB,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD,+DAA+D;IAC/D,gCAAgC;IAChC,IAAI,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACtD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,kBAAkB,EAAE,IAAI,SAAS,IAAI,CAAC,CAAC;QAC/D,OAAO,CAAC,CAAC;IACX,CAAC;IACD,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAClE,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mGAAmG,CACpG,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uBAAuB,UAAU,yBAAyB;YACxD,wCAAwC,CAC3C,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CACT,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAC5B,CAAC,KAAK,EAAE,EAAE;IACR,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/** self-update の管理ルート(この下だけを所有・GC する)。 */
|
|
2
|
+
export declare function selfUpdateRoot(): string;
|
|
3
|
+
export declare function versionsDir(): string;
|
|
4
|
+
export declare function updateLockPath(): string;
|
|
5
|
+
export declare function lastUpdatePath(): string;
|
|
6
|
+
export declare function updateLogPath(): string;
|
|
7
|
+
/** "x.y.z" を数値トリプルへ。プレリリース等の非対応形式は null。 */
|
|
8
|
+
export declare function parseTriple(version: string): [number, number, number] | null;
|
|
9
|
+
/** トリプル比較(a<b: -1, a==b: 0, a>b: 1)。 */
|
|
10
|
+
export declare function compareTriple(a: [number, number, number], b: [number, number, number]): number;
|
|
11
|
+
/**
|
|
12
|
+
* caret / 完全一致 range を満たす最大バージョンを候補から選ぶ。
|
|
13
|
+
* 対応 range は "x.y.z" と "^x.y.z" のみ(package.json の実依存で使う形だけ)。
|
|
14
|
+
* 非対応 range は null(呼び出し元が明示エラーにする — 黙って別解釈をしない)。
|
|
15
|
+
*/
|
|
16
|
+
export declare function maxSatisfying(versions: string[], range: string): string | null;
|
|
17
|
+
/**
|
|
18
|
+
* engines.node(">=x" / ">=x.y" / ">=x.y.z")から最低バージョンを読む。
|
|
19
|
+
* 解釈できない形式は null(スモークテストが実挙動の最終ゲートなので、ここは fast-fail 用)。
|
|
20
|
+
*/
|
|
21
|
+
export declare function parseEnginesNodeMinimum(range: string | undefined): [number, number, number] | null;
|
|
22
|
+
/** SRI sha512 を計算する(npm dist.integrity と同形式)。 */
|
|
23
|
+
export declare function sriSha512(data: Buffer): string;
|
|
24
|
+
/** SRI(sha512-…)または旧 shasum(sha1 hex)で tarball を検証する。 */
|
|
25
|
+
export declare function verifyTarball(data: Buffer, expected: {
|
|
26
|
+
integrity?: string;
|
|
27
|
+
shasum?: string;
|
|
28
|
+
}): {
|
|
29
|
+
ok: boolean;
|
|
30
|
+
detail: string;
|
|
31
|
+
};
|
|
32
|
+
export interface InstallState {
|
|
33
|
+
/** self-update がシムを差し替えてよい設置か。 */
|
|
34
|
+
managed: boolean;
|
|
35
|
+
/** managed=false の人間可読な理由(診断・ログ用)。 */
|
|
36
|
+
reason: "ok" | "dev-install" | "no-shim" | "foreign-shim";
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* 現在の実行元が自動更新の対象かを判定する。
|
|
40
|
+
* dev-install — パッケージルートに src/ や .git がある(git clone 開発機)。
|
|
41
|
+
* published tarball は dist のみなので、この検査で確実に区別できる。
|
|
42
|
+
* no-shim — アプリが実行するシムが無い(差し替え対象が存在しない)。
|
|
43
|
+
* foreign-shim — シムはあるがマーカーが無い(ユーザー手動管理。壊さない)。
|
|
44
|
+
*/
|
|
45
|
+
export declare function resolveInstallState(cliPath?: string, shimBinDir?: string): InstallState;
|
|
46
|
+
export interface LastUpdateRecord {
|
|
47
|
+
target: string;
|
|
48
|
+
ok: boolean;
|
|
49
|
+
error?: string;
|
|
50
|
+
tsMs: number;
|
|
51
|
+
}
|
|
52
|
+
export declare function writeLastUpdate(record: LastUpdateRecord, filePath?: string): void;
|
|
53
|
+
/**
|
|
54
|
+
* 直近の更新失敗を読む(24h 以内 かつ 現行版が目標に達していない場合のみ)。
|
|
55
|
+
* hello に載せてアプリのバナーへ届けるための供給源。
|
|
56
|
+
*/
|
|
57
|
+
export declare function readRecentUpdateError(currentVersion: string | null, filePath?: string): string | undefined;
|
|
58
|
+
/** 進行中の更新があるか(RPC ハンドラの in_progress 判定と共有)。 */
|
|
59
|
+
export declare function updateInProgress(): boolean;
|
|
60
|
+
/** シム内容から exec 先 cli パスを読む(GC の保護対象決定用)。 */
|
|
61
|
+
export declare function cliPathFromShim(content: string): string | null;
|
|
62
|
+
/**
|
|
63
|
+
* self-update の CLI エントリ。usage: tailii self-update <version> [--integrity <sri>]
|
|
64
|
+
* 冪等: 既に目標版なら成功(0)。進行中なら成功(0)。検証失敗・環境不備は 1。
|
|
65
|
+
*/
|
|
66
|
+
export declare function runSelfUpdateCommand(argv: string[]): Promise<number>;
|
|
67
|
+
/**
|
|
68
|
+
* updater を現行 cli から detached で起動する(engine の生死と切り離す)。
|
|
69
|
+
* ログは ~/.tailii/host/update.log へ追記。
|
|
70
|
+
*/
|
|
71
|
+
export declare function spawnDetachedSelfUpdate(version: string, integrity: string | undefined): void;
|