@vess-id/vess 0.0.0-dev-20260902121045 → 0.0.0-dev-20260903131718
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/dist/cli/hook-session-project.d.ts.map +1 -1
- package/dist/cli/hook-session-project.js +75 -29
- package/dist/cli/hook-session-project.js.map +1 -1
- package/dist/cli/index.js +19 -8
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/telemetry-setup.d.ts +16 -4
- package/dist/cli/telemetry-setup.d.ts.map +1 -1
- package/dist/cli/telemetry-setup.js +60 -11
- package/dist/cli/telemetry-setup.js.map +1 -1
- package/dist/telemetry/claude-settings.d.ts +30 -0
- package/dist/telemetry/claude-settings.d.ts.map +1 -1
- package/dist/telemetry/claude-settings.js +37 -0
- package/dist/telemetry/claude-settings.js.map +1 -1
- package/dist/telemetry/session-name.d.ts +41 -0
- package/dist/telemetry/session-name.d.ts.map +1 -0
- package/dist/telemetry/session-name.js +151 -0
- package/dist/telemetry/session-name.js.map +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-session-project.d.ts","sourceRoot":"","sources":["../../src/cli/hook-session-project.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hook-session-project.d.ts","sourceRoot":"","sources":["../../src/cli/hook-session-project.ts"],"names":[],"mappings":"AAmCA,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,iCAAiC,CAAA;AA0HpE;;;;;GAKG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwE3D"}
|
|
@@ -40,16 +40,22 @@ const path = __importStar(require("path"));
|
|
|
40
40
|
const key_manager_1 = require("../identity/key-manager");
|
|
41
41
|
const otel_headers_1 = require("../telemetry/otel-headers");
|
|
42
42
|
const project_key_1 = require("../telemetry/project-key");
|
|
43
|
+
const session_name_1 = require("../telemetry/session-name");
|
|
43
44
|
const paths_1 = require("../config/paths");
|
|
44
45
|
const config_1 = require("../config/config");
|
|
45
46
|
/**
|
|
46
|
-
*
|
|
47
|
+
* セッションが今いるリポジトリと、セッションに付いている名前を
|
|
48
|
+
* aidentity へ申告するフック。
|
|
47
49
|
*
|
|
48
50
|
* **なぜ要るか。** テレメトリのヘッダーはセッション開始時に 1 回だけ解決され、
|
|
49
51
|
* 以後キャッシュされる (判断 4-5)。エージェントが途中で別のリポジトリへ移っても
|
|
50
52
|
* 識別子は変わらない。リポジトリを並べた親ディレクトリでセッションを開く
|
|
51
53
|
* 使い方だと、どのリポジトリの作業も親ディレクトリ 1 つにまとまってしまう。
|
|
52
54
|
*
|
|
55
|
+
* **名前も同じ理由で送る** (判断 4-6)。Claude Code はセッションに名前を付けるが、
|
|
56
|
+
* テレメトリの属性には現れない。名前は転写ファイルにしか無く、フックの入力には
|
|
57
|
+
* そのパスが入っている。
|
|
58
|
+
*
|
|
53
59
|
* フックの入力にはセッション id と**その時点の**作業ディレクトリが入っている。
|
|
54
60
|
* そこから識別子を解き直し、前回と変わっていれば受信口へ送る。受信側は
|
|
55
61
|
* 「その session の最新の申告」で他のイベントの帰属を差し替える。
|
|
@@ -64,14 +70,29 @@ const LOGS_PATH = '/api/telemetry/v1/logs';
|
|
|
64
70
|
exports.TELEMETRY_ENDPOINT_ENV = 'AIDENTITY_TELEMETRY_ENDPOINT';
|
|
65
71
|
/** Claude Code のイベント名に合わせる。受信側のアダプタが分岐に使う。 */
|
|
66
72
|
const EVENT_NAME = 'session_project';
|
|
73
|
+
/**
|
|
74
|
+
* セッション名の申告。リポジトリとは**別のイベント**にする (判断 4-6)。
|
|
75
|
+
*
|
|
76
|
+
* 2 つは別々の理由で変わる (リポジトリは `cd`、名前は要約の再生成)。1 つの
|
|
77
|
+
* レコードに相乗りさせると、片方だけ変わったときにもう片方を必ず添える必要が
|
|
78
|
+
* 出て、転写が読めなかった瞬間に「最新の申告に名前が無い」状態が生まれる。
|
|
79
|
+
*/
|
|
80
|
+
const NAME_EVENT_NAME = 'session_name';
|
|
67
81
|
/** メトリクスと同じ scope 接頭辞。アダプタの判定に通す必要がある。 */
|
|
68
82
|
const SCOPE_NAME = 'com.anthropic.claude_code.events';
|
|
69
83
|
/** 送信に許す時間。ツール呼び出しの前に挟まるので、待たせない。 */
|
|
70
84
|
const TIMEOUT_MS = 2000;
|
|
71
|
-
/**
|
|
72
|
-
|
|
85
|
+
/**
|
|
86
|
+
* 前回申告した値の置き場所。同じ値を毎回送らないためだけに使う。
|
|
87
|
+
*
|
|
88
|
+
* 🔴 **申告ごとに別のファイルにする。** `PostToolUse` は 1 メッセージ内の
|
|
89
|
+
* 並列なツール呼び出しごとに発火しうる。1 つのファイルに 2 つの値を入れると
|
|
90
|
+
* read-modify-write が競合し、片方の記録が巻き戻る。値ごとに分ければ、
|
|
91
|
+
* 各プロセスは自分が変えた側しか書かないので競合しない。
|
|
92
|
+
*/
|
|
93
|
+
function stateFile(sessionId, suffix) {
|
|
73
94
|
const safe = sessionId.replace(/[^A-Za-z0-9._-]/g, '-').slice(0, 128);
|
|
74
|
-
return path.join(new paths_1.VessPaths().baseDir, 'usage', `${safe}
|
|
95
|
+
return path.join(new paths_1.VessPaths().baseDir, 'usage', `${safe}.${suffix}`);
|
|
75
96
|
}
|
|
76
97
|
function readLastDeclared(file) {
|
|
77
98
|
try {
|
|
@@ -100,30 +121,35 @@ function readStdin() {
|
|
|
100
121
|
process.stdin.on('error', () => resolve(''));
|
|
101
122
|
});
|
|
102
123
|
}
|
|
103
|
-
/** OTLP のログ 1
|
|
104
|
-
function
|
|
124
|
+
/** OTLP のログ 1 件。 */
|
|
125
|
+
function buildRecord(sessionId, eventName, attribute, value) {
|
|
126
|
+
// OTLP はナノ秒だが `Date.now()` はミリ秒までしか持たないので下 6 桁は 0 で
|
|
127
|
+
// 埋まる。受信側もナノ秒をミリ秒に切って保存し、同じ行かどうかは
|
|
128
|
+
// `attributes_hash` で見るので、この粒度で足りる
|
|
105
129
|
const now = `${Date.now()}000000`;
|
|
130
|
+
return {
|
|
131
|
+
timeUnixNano: now,
|
|
132
|
+
observedTimeUnixNano: now,
|
|
133
|
+
body: { stringValue: eventName },
|
|
134
|
+
attributes: [
|
|
135
|
+
{ key: 'event.name', value: { stringValue: eventName } },
|
|
136
|
+
{ key: 'session.id', value: { stringValue: sessionId } },
|
|
137
|
+
{ key: attribute, value: { stringValue: value } },
|
|
138
|
+
],
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* 申告をまとめた OTLP のペイロード。
|
|
143
|
+
*
|
|
144
|
+
* 変わったものだけを積む。**2 つとも同じ POST に載せる** — フックは
|
|
145
|
+
* ツール呼び出しごとに走るので、往復を 2 回にするとその分だけ待たせる。
|
|
146
|
+
*/
|
|
147
|
+
function buildPayload(records) {
|
|
106
148
|
return {
|
|
107
149
|
resourceLogs: [
|
|
108
150
|
{
|
|
109
151
|
resource: { attributes: [] },
|
|
110
|
-
scopeLogs: [
|
|
111
|
-
{
|
|
112
|
-
scope: { name: SCOPE_NAME },
|
|
113
|
-
logRecords: [
|
|
114
|
-
{
|
|
115
|
-
timeUnixNano: now,
|
|
116
|
-
observedTimeUnixNano: now,
|
|
117
|
-
body: { stringValue: EVENT_NAME },
|
|
118
|
-
attributes: [
|
|
119
|
-
{ key: 'event.name', value: { stringValue: EVENT_NAME } },
|
|
120
|
-
{ key: 'session.id', value: { stringValue: sessionId } },
|
|
121
|
-
{ key: 'project_key', value: { stringValue: projectKey } },
|
|
122
|
-
],
|
|
123
|
-
},
|
|
124
|
-
],
|
|
125
|
-
},
|
|
126
|
-
],
|
|
152
|
+
scopeLogs: [{ scope: { name: SCOPE_NAME }, logRecords: records }],
|
|
127
153
|
},
|
|
128
154
|
],
|
|
129
155
|
};
|
|
@@ -157,8 +183,11 @@ async function runHookSessionProject() {
|
|
|
157
183
|
catch {
|
|
158
184
|
return;
|
|
159
185
|
}
|
|
160
|
-
|
|
161
|
-
|
|
186
|
+
// 🪤 `?.trim()` にしない。入力は外から来る JSON で、文字列でない truthy 値
|
|
187
|
+
// (数値・オブジェクト) が入ると TypeError になり、未処理の rejection として
|
|
188
|
+
// stderr に漏れる。「何があっても止めない」から外れる
|
|
189
|
+
const sessionId = typeof input.session_id === 'string' ? input.session_id.trim() : '';
|
|
190
|
+
const cwd = typeof input.cwd === 'string' ? input.cwd.trim() : '';
|
|
162
191
|
if (!sessionId || !cwd)
|
|
163
192
|
return;
|
|
164
193
|
let projectKey;
|
|
@@ -168,8 +197,22 @@ async function runHookSessionProject() {
|
|
|
168
197
|
catch {
|
|
169
198
|
return;
|
|
170
199
|
}
|
|
171
|
-
const
|
|
172
|
-
|
|
200
|
+
const projectFile = stateFile(sessionId, 'project');
|
|
201
|
+
const nameFile = stateFile(sessionId, 'name');
|
|
202
|
+
const records = [];
|
|
203
|
+
const projectChanged = readLastDeclared(projectFile) !== projectKey;
|
|
204
|
+
if (projectChanged) {
|
|
205
|
+
records.push(buildRecord(sessionId, EVENT_NAME, 'project_key', projectKey));
|
|
206
|
+
}
|
|
207
|
+
// 🔴 読めなかったときは「名前が消えた」ではなく「今回は分からなかった」。
|
|
208
|
+
// 転写の 1 行は末尾の窓より長いことがあり、その直後は名前が窓に入らない
|
|
209
|
+
// ことが起こりうる。そこで取り消すと、申告が無用に往復する
|
|
210
|
+
const sessionName = typeof input.transcript_path === 'string' ? (0, session_name_1.readSessionName)(input.transcript_path.trim()) : null;
|
|
211
|
+
const nameChanged = sessionName !== null && readLastDeclared(nameFile) !== sessionName;
|
|
212
|
+
if (nameChanged) {
|
|
213
|
+
records.push(buildRecord(sessionId, NAME_EVENT_NAME, 'session_name', sessionName));
|
|
214
|
+
}
|
|
215
|
+
if (records.length === 0)
|
|
173
216
|
return;
|
|
174
217
|
let apiKey;
|
|
175
218
|
try {
|
|
@@ -195,9 +238,12 @@ async function runHookSessionProject() {
|
|
|
195
238
|
if (!endpoint)
|
|
196
239
|
return;
|
|
197
240
|
try {
|
|
198
|
-
await declare(endpoint, apiKey, buildPayload(
|
|
241
|
+
await declare(endpoint, apiKey, buildPayload(records));
|
|
199
242
|
// 送れたときだけ記録する。失敗を成功として覚えると、次の機会も送らない
|
|
200
|
-
|
|
243
|
+
if (projectChanged)
|
|
244
|
+
writeLastDeclared(projectFile, projectKey);
|
|
245
|
+
if (nameChanged && sessionName !== null)
|
|
246
|
+
writeLastDeclared(nameFile, sessionName);
|
|
201
247
|
}
|
|
202
248
|
catch {
|
|
203
249
|
// 受信口が落ちている / オフライン。次のツール呼び出しでまた試す
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-session-project.js","sourceRoot":"","sources":["../../src/cli/hook-session-project.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"hook-session-project.js","sourceRoot":"","sources":["../../src/cli/hook-session-project.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -307,10 +307,11 @@ program
|
|
|
307
307
|
await runOtelHeaders();
|
|
308
308
|
});
|
|
309
309
|
// ツール呼び出しのたびに Claude Code から起動され、セッションが今いる
|
|
310
|
-
//
|
|
310
|
+
// リポジトリ (判断 4-5) とセッションの名前 (判断 4-6) を申告する。
|
|
311
|
+
// 人が叩くものではないので hidden。
|
|
311
312
|
program
|
|
312
313
|
.command('usage-hook', { hidden: true })
|
|
313
|
-
.description('Report the session’s current repository to aidentity')
|
|
314
|
+
.description('Report the session’s current repository and name to aidentity')
|
|
314
315
|
.action(async () => {
|
|
315
316
|
const { runHookSessionProject } = await Promise.resolve().then(() => __importStar(require('./hook-session-project')));
|
|
316
317
|
await runHookSessionProject();
|
|
@@ -330,18 +331,28 @@ const usage = program.command('usage').description('Coding-agent usage reporting
|
|
|
330
331
|
usage
|
|
331
332
|
.command('connect')
|
|
332
333
|
.description('Send this machine’s coding-agent usage to aidentity')
|
|
333
|
-
.
|
|
334
|
-
.option('--endpoint <url>', 'aidentity API origin (defaults to the configured
|
|
334
|
+
.option('--key <key>', 'API key issued in the aidentity console (omit to reuse the stored one)')
|
|
335
|
+
.option('--endpoint <url>', 'aidentity API origin (defaults to the one already configured)')
|
|
335
336
|
.option('--force', 'Switch even if telemetry is already exported elsewhere')
|
|
336
337
|
.action(async (options) => {
|
|
337
338
|
const { runTelemetrySetup } = await Promise.resolve().then(() => __importStar(require('./telemetry-setup')));
|
|
338
339
|
const { VessPaths } = await Promise.resolve().then(() => __importStar(require('../config/paths')));
|
|
339
340
|
const { loadConfig } = await Promise.resolve().then(() => __importStar(require('../config/config')));
|
|
340
|
-
//
|
|
341
|
-
//
|
|
342
|
-
|
|
341
|
+
// 送信先は「明示 → いまの設定 → ここで渡す既定」の順に決まる。解決は
|
|
342
|
+
// `runTelemetrySetup` の中で、設定を読んだ後に行う。
|
|
343
|
+
//
|
|
344
|
+
// 🔴 `gatewayUrl` を既定にするのは**初回接続のときだけ**。あれは
|
|
345
|
+
// 「どのゲートウェイの下でエージェントを動かすか」の設定で、キーを発行した
|
|
346
|
+
// 画面とは無関係に決まっている。再実行でこれに戻すと、ローカル API を相手に
|
|
347
|
+
// `vess init` した端末では送信先が localhost に付け替わる
|
|
348
|
+
const defaultEndpoint = loadConfig(new VessPaths().configFile).gatewayUrl;
|
|
343
349
|
try {
|
|
344
|
-
await runTelemetrySetup({
|
|
350
|
+
await runTelemetrySetup({
|
|
351
|
+
key: options.key,
|
|
352
|
+
endpoint: options.endpoint,
|
|
353
|
+
defaultEndpoint,
|
|
354
|
+
force: options.force,
|
|
355
|
+
});
|
|
345
356
|
}
|
|
346
357
|
catch (err) {
|
|
347
358
|
// 送信先の競合や壊れた設定は利用者が直せるもの。スタックトレースを出すと
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
export interface TelemetrySetupOptions {
|
|
2
|
-
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
/**
|
|
3
|
+
* 発行された送信専用の API キー。キーチェーンに保存する。
|
|
4
|
+
*
|
|
5
|
+
* 省略すると、環境変数 → キーチェーンの順で保存済みの鍵を探す。設定を作り直す
|
|
6
|
+
* だけの再実行で、キーを発行し直させないため。**空文字を渡した場合は
|
|
7
|
+
* 探しに行かない** — 打ち間違いなので、黙って別の鍵を使うと何が使われたのかが
|
|
8
|
+
* 分からなくなる。
|
|
9
|
+
*/
|
|
10
|
+
key?: string;
|
|
11
|
+
/**
|
|
12
|
+
* aidentity の受信口のオリジン。省略すると、いまの設定に書かれている送信先 →
|
|
13
|
+
* `defaultEndpoint` の順で決める。
|
|
14
|
+
*/
|
|
15
|
+
endpoint?: string;
|
|
16
|
+
/** 送信先が他に決まらないときの既定。呼び出し側が `gatewayUrl` を渡す。 */
|
|
17
|
+
defaultEndpoint?: string;
|
|
6
18
|
/** 既存の別送信先を承知で置き換える。 */
|
|
7
19
|
force?: boolean;
|
|
8
20
|
/** 書き込み先。省略時は Claude Code のグローバル設定。テストから差し替える。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry-setup.d.ts","sourceRoot":"","sources":["../../src/cli/telemetry-setup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"telemetry-setup.d.ts","sourceRoot":"","sources":["../../src/cli/telemetry-setup.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,qBAAqB;IACpC;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gDAAgD;IAChD,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,wBAAwB;IACxB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDrF"}
|
|
@@ -37,6 +37,7 @@ exports.runTelemetrySetup = runTelemetrySetup;
|
|
|
37
37
|
const fs = __importStar(require("fs"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
39
|
const key_manager_1 = require("../identity/key-manager");
|
|
40
|
+
const otel_headers_1 = require("../telemetry/otel-headers");
|
|
40
41
|
const claude_settings_1 = require("../telemetry/claude-settings");
|
|
41
42
|
/**
|
|
42
43
|
* `vess usage connect` — 端末側の設定を 1 コマンドで済ませる。
|
|
@@ -50,14 +51,17 @@ const claude_settings_1 = require("../telemetry/claude-settings");
|
|
|
50
51
|
* 黙って上書きするのは相手先の監視を止めることと同じ
|
|
51
52
|
*/
|
|
52
53
|
async function runTelemetrySetup(options) {
|
|
53
|
-
const key = options.key?.trim();
|
|
54
|
-
if (!key) {
|
|
55
|
-
throw new Error('An API key is required: vess usage connect --key <key>');
|
|
56
|
-
}
|
|
57
|
-
const endpoint = normalizeEndpoint(options.endpoint);
|
|
58
54
|
const settingsPath = options.settingsPath ?? (0, claude_settings_1.resolveGlobalSettingsPath)();
|
|
59
55
|
const helperCommand = options.helperCommand ?? defaultHelperCommand();
|
|
60
56
|
const existing = readSettings(settingsPath);
|
|
57
|
+
// 🪤 鍵の解決を競合検知より先に置く。鍵が無いのに競合エラーが出ると、
|
|
58
|
+
// 利用者から見て直す順序が読めない
|
|
59
|
+
const resolved = resolveKey(options.key);
|
|
60
|
+
const inherited = (0, claude_settings_1.readConfiguredEndpoint)(existing.env);
|
|
61
|
+
// 明示 → いまの設定 → 既定。**いまの設定を挟むのが肝**で、これが無いと
|
|
62
|
+
// 作り直すつもりの再実行が送信先を既定に付け替える
|
|
63
|
+
const endpoint = normalizeEndpoint(options.endpoint ?? inherited ?? options.defaultEndpoint);
|
|
64
|
+
const inheritedEndpoint = !options.endpoint && inherited !== null;
|
|
61
65
|
const conflict = (0, claude_settings_1.detectExporterConflict)(existing.env, endpoint);
|
|
62
66
|
if (conflict && !options.force) {
|
|
63
67
|
throw new Error(`Telemetry is already being exported elsewhere:\n` +
|
|
@@ -66,8 +70,13 @@ async function runTelemetrySetup(options) {
|
|
|
66
70
|
`Re-run with --force to switch, or keep both by running a local OpenTelemetry Collector.`);
|
|
67
71
|
}
|
|
68
72
|
// 鍵の保存を先に済ませる。設定だけ書けて鍵が入らないと、送信は始まるのに
|
|
69
|
-
// 401
|
|
70
|
-
|
|
73
|
+
// 401 で落ち続ける状態になり、原因が見えにくい。
|
|
74
|
+
//
|
|
75
|
+
// キーチェーンから読んだときだけ書き戻さない。**環境変数の鍵は保存する** —
|
|
76
|
+
// あれはこの 1 回しか存在しないので、保存しないとまさに上の状態になる
|
|
77
|
+
if (resolved.source !== 'keychain') {
|
|
78
|
+
new key_manager_1.KeyManager().storeTelemetryApiKey(resolved.key);
|
|
79
|
+
}
|
|
71
80
|
if (fs.existsSync(settingsPath)) {
|
|
72
81
|
backup(settingsPath);
|
|
73
82
|
}
|
|
@@ -77,7 +86,42 @@ async function runTelemetrySetup(options) {
|
|
|
77
86
|
hookCommand: options.hookCommand ?? defaultHookCommand(),
|
|
78
87
|
});
|
|
79
88
|
writeSettings(settingsPath, next);
|
|
80
|
-
report(
|
|
89
|
+
report({
|
|
90
|
+
settingsPath,
|
|
91
|
+
endpoint,
|
|
92
|
+
replaced: conflict?.current,
|
|
93
|
+
keySource: resolved.source,
|
|
94
|
+
inheritedEndpoint,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* 使う鍵を決める。
|
|
99
|
+
*
|
|
100
|
+
* 省略時に保存済みの鍵へ落ちるのは、設定を作り直すだけの再実行のため。生の鍵は
|
|
101
|
+
* コンソールで一度しか表示されないので、ここで発行し直しを強いると、フックの
|
|
102
|
+
* 登録が増えただけの更新にキーの再発行が必要になる。
|
|
103
|
+
*
|
|
104
|
+
* 環境変数を挟むのは `otel-headers` とフックが同じ順序で見ているため。
|
|
105
|
+
*/
|
|
106
|
+
function resolveKey(argument) {
|
|
107
|
+
// 🔴 省略 (undefined) と明示的な空は別物。空は打ち間違いなので、
|
|
108
|
+
// 黙って別の鍵に逃げると何が使われたのか分からなくなる
|
|
109
|
+
if (argument !== undefined) {
|
|
110
|
+
const key = argument.trim();
|
|
111
|
+
if (!key) {
|
|
112
|
+
throw new Error('An API key is required: vess usage connect --key <key>');
|
|
113
|
+
}
|
|
114
|
+
return { key, source: 'argument' };
|
|
115
|
+
}
|
|
116
|
+
const fromEnv = process.env[otel_headers_1.TELEMETRY_API_KEY_ENV]?.trim();
|
|
117
|
+
if (fromEnv)
|
|
118
|
+
return { key: fromEnv, source: 'env' };
|
|
119
|
+
const fromKeychain = new key_manager_1.KeyManager().getTelemetryApiKey()?.trim();
|
|
120
|
+
if (fromKeychain)
|
|
121
|
+
return { key: fromKeychain, source: 'keychain' };
|
|
122
|
+
throw new Error('No API key found on this machine.\n' +
|
|
123
|
+
'Issue one in the aidentity console (AI 利用状況 → 端末の接続 → キーを発行),\n' +
|
|
124
|
+
'then run: vess usage connect --key <key>');
|
|
81
125
|
}
|
|
82
126
|
function normalizeEndpoint(raw) {
|
|
83
127
|
const value = raw?.trim();
|
|
@@ -141,12 +185,17 @@ function writeSettings(settingsPath, settings) {
|
|
|
141
185
|
}
|
|
142
186
|
fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + '\n');
|
|
143
187
|
}
|
|
144
|
-
function report(
|
|
188
|
+
function report(options) {
|
|
189
|
+
const { settingsPath, endpoint, replaced, keySource, inheritedEndpoint } = options;
|
|
145
190
|
const lines = [
|
|
146
191
|
'テレメトリの送信設定を書き込みました。',
|
|
147
192
|
` 設定ファイル: ${settingsPath}`,
|
|
148
|
-
|
|
149
|
-
|
|
193
|
+
// 黙って送信先が変わるのが一番危ない。引き継いだのかどうかを見せる
|
|
194
|
+
` 送信先: ${endpoint}${inheritedEndpoint ? ' (いまの設定から引き継ぎ)' : ''}`,
|
|
195
|
+
// 🔴 有効性は確かめていない。失効した鍵でも設定は書ける
|
|
196
|
+
keySource === 'keychain'
|
|
197
|
+
? ' API キー: 保存済みのものを使いました (有効かどうかは確かめていません)'
|
|
198
|
+
: ' API キー: OS のキーチェーンに保存しました',
|
|
150
199
|
];
|
|
151
200
|
if (replaced) {
|
|
152
201
|
lines.push(` 切り替え前: ${replaced} (退避ファイルに残しています)`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry-setup.js","sourceRoot":"","sources":["../../src/cli/telemetry-setup.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"telemetry-setup.js","sourceRoot":"","sources":["../../src/cli/telemetry-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,36 @@ export declare function resolveGlobalSettingsPath(): string;
|
|
|
42
42
|
export declare function buildTelemetryEnv(options: {
|
|
43
43
|
endpoint: string;
|
|
44
44
|
}): Record<string, string>;
|
|
45
|
+
/**
|
|
46
|
+
* いま設定に書かれている aidentity の送信先を復元する。無ければ `null`。
|
|
47
|
+
*
|
|
48
|
+
* 設定を作り直すための再実行で、送信先を保つために使う。これが無いと、
|
|
49
|
+
* `--endpoint` を省いた再実行が送信先を既定 (`~/.vess/config.json` の
|
|
50
|
+
* `gatewayUrl`) に付け替えてしまう。あれはキーを発行した画面とは無関係に
|
|
51
|
+
* 決まっている値で、ローカル API を相手に `vess init` した端末では
|
|
52
|
+
* `http://localhost:3000` が入っている。
|
|
53
|
+
*
|
|
54
|
+
* 🔴 **末尾が `METRICS_PATH` と完全に一致するときだけ返す。**
|
|
55
|
+
* `new URL(v).origin` で済ませると:
|
|
56
|
+
*
|
|
57
|
+
* 1. 他社のコレクタの `.../v1/metrics` を「自分の設定」と誤認する
|
|
58
|
+
* 2. `detectExporterConflict` が自分自身と比べることになり競合が出ない
|
|
59
|
+
* 3. `otelHeadersHelper` をその送信先に向けたまま書き込む
|
|
60
|
+
* 4. **送信用の API キーが他社のコレクタへ毎回飛ぶ**
|
|
61
|
+
*
|
|
62
|
+
* 一致しなければ `null` を返し、呼び出し側は既定に落ちる。すると他社の設定は
|
|
63
|
+
* 競合として検知される。
|
|
64
|
+
*
|
|
65
|
+
* 🪤 **残余リスク: 他社が偶然この同じパスを使っている場合は引き継いでしまう。**
|
|
66
|
+
* `https://otel.example.com/api/telemetry/v1/metrics` のような設定は「自分のもの」と
|
|
67
|
+
* 読まれ、競合として検知されない。パスが自社固有なので実際に踏む確率は低いが、
|
|
68
|
+
* 送信先を既定に決め打ちしていた頃は弾けていた設定ではある。
|
|
69
|
+
*
|
|
70
|
+
* 🔴 **汎用の `OTEL_EXPORTER_OTLP_ENDPOINT` からは復元しない。** あれは
|
|
71
|
+
* `detectExporterConflict` が最初に見るキーなので、そこから復元すると自己参照に
|
|
72
|
+
* なって検知が死ぬ。そもそも `applyTelemetrySettings` は汎用キーを削除する側。
|
|
73
|
+
*/
|
|
74
|
+
export declare function readConfiguredEndpoint(env: Record<string, string> | undefined): string | null;
|
|
45
75
|
/**
|
|
46
76
|
* 既に別の送信先が設定されていないかを見る。
|
|
47
77
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-settings.d.ts","sourceRoot":"","sources":["../../src/telemetry/claude-settings.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,eAAO,MAAM,kBAAkB,yUAWrB,CAAA;AAYV,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAA;IACjC,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,SAAS,CAAA;CACjD;AAED,MAAM,WAAW,cAAc;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAIlD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyBvF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACvC,QAAQ,EAAE,MAAM,GACf,gBAAgB,GAAG,IAAI,CAYzB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACxE,cAAc,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAelD;AAgCD,uDAAuD;AACvD,eAAO,MAAM,oBAAoB,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"claude-settings.d.ts","sourceRoot":"","sources":["../../src/telemetry/claude-settings.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,eAAO,MAAM,kBAAkB,yUAWrB,CAAA;AAYV,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAA;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAA;IACjC,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,EAAE,GAAG,SAAS,CAAA;CACjD;AAED,MAAM,WAAW,cAAc;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAIlD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyBvF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAM7F;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACvC,QAAQ,EAAE,MAAM,GACf,gBAAgB,GAAG,IAAI,CAYzB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACxE,cAAc,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAelD;AAgCD,uDAAuD;AACvD,eAAO,MAAM,oBAAoB,eAAe,CAAA"}
|
|
@@ -36,6 +36,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.PROJECT_HOOK_COMMAND = exports.TELEMETRY_ENV_KEYS = void 0;
|
|
37
37
|
exports.resolveGlobalSettingsPath = resolveGlobalSettingsPath;
|
|
38
38
|
exports.buildTelemetryEnv = buildTelemetryEnv;
|
|
39
|
+
exports.readConfiguredEndpoint = readConfiguredEndpoint;
|
|
39
40
|
exports.detectExporterConflict = detectExporterConflict;
|
|
40
41
|
exports.applyTelemetrySettings = applyTelemetrySettings;
|
|
41
42
|
const os = __importStar(require("os"));
|
|
@@ -121,6 +122,42 @@ function buildTelemetryEnv(options) {
|
|
|
121
122
|
OTEL_EXPORTER_OTLP_HEADERS: '',
|
|
122
123
|
};
|
|
123
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* いま設定に書かれている aidentity の送信先を復元する。無ければ `null`。
|
|
127
|
+
*
|
|
128
|
+
* 設定を作り直すための再実行で、送信先を保つために使う。これが無いと、
|
|
129
|
+
* `--endpoint` を省いた再実行が送信先を既定 (`~/.vess/config.json` の
|
|
130
|
+
* `gatewayUrl`) に付け替えてしまう。あれはキーを発行した画面とは無関係に
|
|
131
|
+
* 決まっている値で、ローカル API を相手に `vess init` した端末では
|
|
132
|
+
* `http://localhost:3000` が入っている。
|
|
133
|
+
*
|
|
134
|
+
* 🔴 **末尾が `METRICS_PATH` と完全に一致するときだけ返す。**
|
|
135
|
+
* `new URL(v).origin` で済ませると:
|
|
136
|
+
*
|
|
137
|
+
* 1. 他社のコレクタの `.../v1/metrics` を「自分の設定」と誤認する
|
|
138
|
+
* 2. `detectExporterConflict` が自分自身と比べることになり競合が出ない
|
|
139
|
+
* 3. `otelHeadersHelper` をその送信先に向けたまま書き込む
|
|
140
|
+
* 4. **送信用の API キーが他社のコレクタへ毎回飛ぶ**
|
|
141
|
+
*
|
|
142
|
+
* 一致しなければ `null` を返し、呼び出し側は既定に落ちる。すると他社の設定は
|
|
143
|
+
* 競合として検知される。
|
|
144
|
+
*
|
|
145
|
+
* 🪤 **残余リスク: 他社が偶然この同じパスを使っている場合は引き継いでしまう。**
|
|
146
|
+
* `https://otel.example.com/api/telemetry/v1/metrics` のような設定は「自分のもの」と
|
|
147
|
+
* 読まれ、競合として検知されない。パスが自社固有なので実際に踏む確率は低いが、
|
|
148
|
+
* 送信先を既定に決め打ちしていた頃は弾けていた設定ではある。
|
|
149
|
+
*
|
|
150
|
+
* 🔴 **汎用の `OTEL_EXPORTER_OTLP_ENDPOINT` からは復元しない。** あれは
|
|
151
|
+
* `detectExporterConflict` が最初に見るキーなので、そこから復元すると自己参照に
|
|
152
|
+
* なって検知が死ぬ。そもそも `applyTelemetrySettings` は汎用キーを削除する側。
|
|
153
|
+
*/
|
|
154
|
+
function readConfiguredEndpoint(env) {
|
|
155
|
+
const current = env?.['OTEL_EXPORTER_OTLP_METRICS_ENDPOINT']?.trim();
|
|
156
|
+
if (!current || !current.endsWith(METRICS_PATH))
|
|
157
|
+
return null;
|
|
158
|
+
const origin = current.slice(0, -METRICS_PATH.length);
|
|
159
|
+
return origin.length > 0 ? origin : null;
|
|
160
|
+
}
|
|
124
161
|
/**
|
|
125
162
|
* 既に別の送信先が設定されていないかを見る。
|
|
126
163
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-settings.js","sourceRoot":"","sources":["../../src/telemetry/claude-settings.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8EA,8DAIC;AAQD,8CAyBC;AAQD,wDAeC;AAQD,wDAkBC;
|
|
1
|
+
{"version":3,"file":"claude-settings.js","sourceRoot":"","sources":["../../src/telemetry/claude-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 末尾から読む量。
|
|
3
|
+
*
|
|
4
|
+
* 転写ファイルは実測 27MB まで育つので全体は読めない。この関数はツール
|
|
5
|
+
* 呼び出しのたびに走る。
|
|
6
|
+
*
|
|
7
|
+
* 名前を含む転写 219 本を実測したところ、末尾から最後の名前までの距離は
|
|
8
|
+
* 中央値 10KB / p99 32KB / 最大 36KB で、**219 本すべてでこの窓に収まった**。
|
|
9
|
+
* 256KB は最大値に対して 7 倍の余裕がある。
|
|
10
|
+
*/
|
|
11
|
+
export declare const TAIL_BYTES: number;
|
|
12
|
+
/** 受信側の `MAX_SESSION_NAME_LENGTH` と揃える。 */
|
|
13
|
+
export declare const MAX_SESSION_NAME_LENGTH = 200;
|
|
14
|
+
/**
|
|
15
|
+
* 転写ファイルからセッションの名前を読む。
|
|
16
|
+
*
|
|
17
|
+
* Claude Code はセッションに名前を付けるが、**テレメトリの属性には現れない**
|
|
18
|
+
* (2.1.259 のバイナリを走査して確認)。名前は転写ファイルに独立した 1 行として
|
|
19
|
+
* 追記され、最後の 1 件が現在値になる。
|
|
20
|
+
*
|
|
21
|
+
* ```
|
|
22
|
+
* {"type":"ai-title","aiTitle":"usage dashboard aidentity","sessionId":"..."}
|
|
23
|
+
* {"type":"custom-title","customTitle":"進行中/aidentity/usage dashboard",...}
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* 🔴 **利用者が付けた名前を優先する。** 2 つは毎回ペアで追記されるので、
|
|
27
|
+
* 「最後の 1 行が勝つ」にすると `/rename` で付けた名前が毎回 AI 生成名で
|
|
28
|
+
* 上書きされる。
|
|
29
|
+
*
|
|
30
|
+
* 🪤 **窓の先頭は行の途中から始まりうる。** 転写の 1 行は窓より長いことがあり
|
|
31
|
+
* (実測最大 1.9MB。巨大なツール出力が 1 行に入る)、先頭は壊れた JSON の断片に
|
|
32
|
+
* なる。壊れた行は捨てて次へ進む。
|
|
33
|
+
*
|
|
34
|
+
* 読めなければ null。呼び出し側はそれを「名前が消えた」ではなく
|
|
35
|
+
* 「今回は分からなかった」として扱う。
|
|
36
|
+
*
|
|
37
|
+
* 🔴 転写の形式は Claude Code の内部形式で、公開された契約ではない。
|
|
38
|
+
* 変われば名前が取れなくなる (リポジトリの申告は影響を受けない)。
|
|
39
|
+
*/
|
|
40
|
+
export declare function readSessionName(transcriptPath: string): string | null;
|
|
41
|
+
//# sourceMappingURL=session-name.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-name.d.ts","sourceRoot":"","sources":["../../src/telemetry/session-name.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,QAAa,CAAA;AAEpC,2CAA2C;AAC3C,eAAO,MAAM,uBAAuB,MAAM,CAAA;AAsD1C;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA8BrE"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.MAX_SESSION_NAME_LENGTH = exports.TAIL_BYTES = void 0;
|
|
37
|
+
exports.readSessionName = readSessionName;
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
/**
|
|
40
|
+
* 末尾から読む量。
|
|
41
|
+
*
|
|
42
|
+
* 転写ファイルは実測 27MB まで育つので全体は読めない。この関数はツール
|
|
43
|
+
* 呼び出しのたびに走る。
|
|
44
|
+
*
|
|
45
|
+
* 名前を含む転写 219 本を実測したところ、末尾から最後の名前までの距離は
|
|
46
|
+
* 中央値 10KB / p99 32KB / 最大 36KB で、**219 本すべてでこの窓に収まった**。
|
|
47
|
+
* 256KB は最大値に対して 7 倍の余裕がある。
|
|
48
|
+
*/
|
|
49
|
+
exports.TAIL_BYTES = 256 * 1024;
|
|
50
|
+
/** 受信側の `MAX_SESSION_NAME_LENGTH` と揃える。 */
|
|
51
|
+
exports.MAX_SESSION_NAME_LENGTH = 200;
|
|
52
|
+
/** 自動生成された名前。 */
|
|
53
|
+
const AI_TITLE = 'ai-title';
|
|
54
|
+
/** 利用者が `/rename` で付けた名前。 */
|
|
55
|
+
const CUSTOM_TITLE = 'custom-title';
|
|
56
|
+
/**
|
|
57
|
+
* 画面にそのまま出る値なので、行を割る文字や端末を操作する文字を落とす。
|
|
58
|
+
* 制御文字とその仲間 (C0 / C1 / 行区切り) をまとめて捨てる。
|
|
59
|
+
*/
|
|
60
|
+
function sanitize(name) {
|
|
61
|
+
return name.replace(/[\u0000-\u001f\u007f-\u009f\u2028\u2029]/g, '');
|
|
62
|
+
}
|
|
63
|
+
function normalize(name) {
|
|
64
|
+
if (typeof name !== 'string')
|
|
65
|
+
return null;
|
|
66
|
+
const cleaned = sanitize(name).trim().slice(0, exports.MAX_SESSION_NAME_LENGTH);
|
|
67
|
+
return cleaned.length > 0 ? cleaned : null;
|
|
68
|
+
}
|
|
69
|
+
/** 末尾 `TAIL_BYTES` を読む。ファイルがそれより小さければ全部。 */
|
|
70
|
+
function readTail(file) {
|
|
71
|
+
let fd = null;
|
|
72
|
+
try {
|
|
73
|
+
fd = fs.openSync(file, 'r');
|
|
74
|
+
const size = fs.fstatSync(fd).size;
|
|
75
|
+
const length = Math.min(size, exports.TAIL_BYTES);
|
|
76
|
+
const buffer = Buffer.alloc(length);
|
|
77
|
+
// 読めた分だけを見る。短読みのときに残りの NUL を混ぜると、末尾の行が
|
|
78
|
+
// 壊れた JSON になって最新の名前が落ちる
|
|
79
|
+
const read = fs.readSync(fd, buffer, 0, length, size - length);
|
|
80
|
+
return buffer.subarray(0, read).toString('utf8');
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
finally {
|
|
86
|
+
if (fd !== null) {
|
|
87
|
+
try {
|
|
88
|
+
fs.closeSync(fd);
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
// 閉じられなくても読めた分は返す
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* 転写ファイルからセッションの名前を読む。
|
|
98
|
+
*
|
|
99
|
+
* Claude Code はセッションに名前を付けるが、**テレメトリの属性には現れない**
|
|
100
|
+
* (2.1.259 のバイナリを走査して確認)。名前は転写ファイルに独立した 1 行として
|
|
101
|
+
* 追記され、最後の 1 件が現在値になる。
|
|
102
|
+
*
|
|
103
|
+
* ```
|
|
104
|
+
* {"type":"ai-title","aiTitle":"usage dashboard aidentity","sessionId":"..."}
|
|
105
|
+
* {"type":"custom-title","customTitle":"進行中/aidentity/usage dashboard",...}
|
|
106
|
+
* ```
|
|
107
|
+
*
|
|
108
|
+
* 🔴 **利用者が付けた名前を優先する。** 2 つは毎回ペアで追記されるので、
|
|
109
|
+
* 「最後の 1 行が勝つ」にすると `/rename` で付けた名前が毎回 AI 生成名で
|
|
110
|
+
* 上書きされる。
|
|
111
|
+
*
|
|
112
|
+
* 🪤 **窓の先頭は行の途中から始まりうる。** 転写の 1 行は窓より長いことがあり
|
|
113
|
+
* (実測最大 1.9MB。巨大なツール出力が 1 行に入る)、先頭は壊れた JSON の断片に
|
|
114
|
+
* なる。壊れた行は捨てて次へ進む。
|
|
115
|
+
*
|
|
116
|
+
* 読めなければ null。呼び出し側はそれを「名前が消えた」ではなく
|
|
117
|
+
* 「今回は分からなかった」として扱う。
|
|
118
|
+
*
|
|
119
|
+
* 🔴 転写の形式は Claude Code の内部形式で、公開された契約ではない。
|
|
120
|
+
* 変われば名前が取れなくなる (リポジトリの申告は影響を受けない)。
|
|
121
|
+
*/
|
|
122
|
+
function readSessionName(transcriptPath) {
|
|
123
|
+
const tail = readTail(transcriptPath);
|
|
124
|
+
if (tail === null)
|
|
125
|
+
return null;
|
|
126
|
+
const lines = tail.split('\n');
|
|
127
|
+
let fallback = null;
|
|
128
|
+
// 後ろから見る。最後の申告が現在値
|
|
129
|
+
for (let i = lines.length - 1; i >= 0; i -= 1) {
|
|
130
|
+
const raw = lines[i];
|
|
131
|
+
if (!raw.includes(AI_TITLE) && !raw.includes(CUSTOM_TITLE))
|
|
132
|
+
continue;
|
|
133
|
+
let record;
|
|
134
|
+
try {
|
|
135
|
+
record = JSON.parse(raw);
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
if (record.type === CUSTOM_TITLE) {
|
|
141
|
+
const name = normalize(record.customTitle);
|
|
142
|
+
if (name)
|
|
143
|
+
return name;
|
|
144
|
+
}
|
|
145
|
+
if (record.type === AI_TITLE && fallback === null) {
|
|
146
|
+
fallback = normalize(record.aiTitle);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return fallback;
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=session-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-name.js","sourceRoot":"","sources":["../../src/telemetry/session-name.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+FA,0CA8BC;AA7HD,uCAAwB;AAExB;;;;;;;;;GASG;AACU,QAAA,UAAU,GAAG,GAAG,GAAG,IAAI,CAAA;AAEpC,2CAA2C;AAC9B,QAAA,uBAAuB,GAAG,GAAG,CAAA;AAE1C,iBAAiB;AACjB,MAAM,QAAQ,GAAG,UAAU,CAAA;AAE3B,6BAA6B;AAC7B,MAAM,YAAY,GAAG,cAAc,CAAA;AAQnC;;;GAGG;AACH,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,2CAA2C,EAAE,EAAE,CAAC,CAAA;AACtE,CAAC;AAED,SAAS,SAAS,CAAC,IAAa;IAC9B,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAEzC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,+BAAuB,CAAC,CAAA;IACvE,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;AAC5C,CAAC;AAED,4CAA4C;AAC5C,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,EAAE,GAAkB,IAAI,CAAA;IAC5B,IAAI,CAAC;QACH,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC3B,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAA;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,kBAAU,CAAC,CAAA;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACnC,uCAAuC;QACvC,yBAAyB;QACzB,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,GAAG,MAAM,CAAC,CAAA;QAC9D,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;YAAS,CAAC;QACT,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,kBAAkB;YACpB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,eAAe,CAAC,cAAsB;IACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAA;IACrC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,IAAI,QAAQ,GAAkB,IAAI,CAAA;IAElC,mBAAmB;IACnB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACpB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,SAAQ;QAEpE,IAAI,MAAmB,CAAA;QACvB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAA;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,SAAQ;QACV,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;YAC1C,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAA;QACvB,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAClD,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vess-id/vess",
|
|
3
|
-
"version": "0.0.0-dev-
|
|
3
|
+
"version": "0.0.0-dev-20260903131718",
|
|
4
4
|
"description": "VESS local AI agent runtime — manages agent identity, permissions, and execution boundaries",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"better-sqlite3": "^11.10.0",
|
|
16
16
|
"commander": "^12.1.0",
|
|
17
17
|
"zod": "^3.25.76",
|
|
18
|
-
"@vess-id/ai-identity": "0.0.0-dev-
|
|
18
|
+
"@vess-id/ai-identity": "0.0.0-dev-20260903131718"
|
|
19
19
|
},
|
|
20
20
|
"optionalDependencies": {
|
|
21
21
|
"node-mac-auth": "^1.1.0"
|