claude-spotter 1.9.0 → 1.9.1
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/CHANGELOG.md +6 -0
- package/README.ja.md +7 -2
- package/README.md +8 -3
- package/ops/runtime-reporting/dev.spotter.runtime-errors.plist +2 -1
- package/ops/runtime-reporting/spotter-runtime-errors.service +1 -1
- package/ops/runtime-reporting/windows/install-runtime-errors-task.ps1 +11 -0
- package/ops/runtime-reporting/windows/spotter-runtime-errors.ps1 +4 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
各節はそのversion公開時点の変更記録であり、後続versionにより置換された仕様を含む。
|
|
4
4
|
現行runtime契約は[`docs/00_overview.md`](https://github.com/kitepon/Spotter/blob/main/docs/00_overview.md)から辿る。
|
|
5
5
|
|
|
6
|
+
## 1.9.1 — 2026-10-03
|
|
7
|
+
|
|
8
|
+
- runtime-error定期送信のlaunchd/systemd雛形を、NodeとCLI本体を絶対pathで起動する形へ修正。launchdの既定PATHにNodeが無く
|
|
9
|
+
`env node` shebangがexit 127で失敗する問題と、systemd user unitが導入時と異なるsystem Nodeを選ぶ問題を解消する。
|
|
10
|
+
- Windows Task Schedulerへ1時間ごとの送信taskをconsole非表示で登録するinstallerを追加。
|
|
11
|
+
|
|
6
12
|
## 1.9.0 — 2026-10-03
|
|
7
13
|
|
|
8
14
|
- Spotter自身が端末内runtime-errorの累計をBugHubへ送るopt-in CLIを追加。署名済み受領だけでackし、既定では通信しない。
|
package/README.ja.md
CHANGED
|
@@ -314,8 +314,13 @@ BugHub担当が別途、端末ごとの合鍵を`~/.config/bughub/product-creden
|
|
|
314
314
|
`spotter runtime-errors report`を実行し、継続時はlaunchd、systemd user timer、Windows Task Schedulerで
|
|
315
315
|
同じコマンドを1時間に1回起動します。未受領だけを送信し、署名を検証した200応答だけでackします。
|
|
316
316
|
配布物の`ops/runtime-reporting/`にlaunchdとsystemd user timerの雛形があります。
|
|
317
|
-
|
|
318
|
-
|
|
317
|
+
登録前に、`REPLACE_WITH_ABSOLUTE_NODE_PATH`をSpotterを導入したNode.jsの絶対path(`command -v node`)へ、
|
|
318
|
+
`REPLACE_WITH_ABSOLUTE_SPOTTER_SCRIPT_PATH`を導入済みの`claude-spotter/bin/spotter.mjs`の絶対path
|
|
319
|
+
(`realpath "$(command -v spotter)"`)へ替えます。service managerはlogin shellのPATHを読みません。
|
|
320
|
+
launchdの既定PATHにはHomebrewやnvmのdirectoryが無く、CLIの`env node` shebangは起動に失敗します。
|
|
321
|
+
systemd user unitは別のsystem Nodeを選ぶことがあります。そのため雛形はNodeを直接起動します。
|
|
322
|
+
Windowsでは同じ利用者で、導入済みpackageの`ops\runtime-reporting\windows\install-runtime-errors-task.ps1`を
|
|
323
|
+
実行します。1時間ごとの`spotter-runtime-errors` taskを、console windowを隠して登録します。
|
|
319
324
|
422が返った版は再送を止め、修正版を導入すると再試行します。無効化は`reporting.enabled`を`false`にします。
|
|
320
325
|
401/403で拒まれた合鍵は入れ替わるまで再送を止めます。時計ずれはackせず、時刻修正後に再試行します。
|
|
321
326
|
|
package/README.md
CHANGED
|
@@ -343,9 +343,14 @@ BugHub's operator supplies a separate `0600` credential at
|
|
|
343
343
|
`~/.config/bughub/product-credentials/spotter.json` (Windows:
|
|
344
344
|
`%LOCALAPPDATA%\bughub\product-credentials\spotter.json`). Run `spotter runtime-errors report`
|
|
345
345
|
once, then schedule the same command hourly with launchd, a systemd user timer, or Windows Task Scheduler.
|
|
346
|
-
The package includes launchd and systemd templates in `ops/runtime-reporting
|
|
347
|
-
`
|
|
348
|
-
|
|
346
|
+
The package includes launchd and systemd templates in `ops/runtime-reporting/`. Before registering them,
|
|
347
|
+
replace `REPLACE_WITH_ABSOLUTE_NODE_PATH` with the Node.js binary that installed Spotter (`command -v node`)
|
|
348
|
+
and `REPLACE_WITH_ABSOLUTE_SPOTTER_SCRIPT_PATH` with the installed `claude-spotter/bin/spotter.mjs`
|
|
349
|
+
(`realpath "$(command -v spotter)"`). The templates start Node directly because a service manager does not
|
|
350
|
+
read the login shell's PATH: launchd's default PATH has no Homebrew or nvm directory, so the CLI's
|
|
351
|
+
`env node` shebang fails there, and a systemd user unit may resolve a different system Node. On Windows,
|
|
352
|
+
run `ops\runtime-reporting\windows\install-runtime-errors-task.ps1` from the installed package as the
|
|
353
|
+
same user; it registers the hourly `spotter-runtime-errors` task with a hidden console window.
|
|
349
354
|
Only unacknowledged records are sent. A signed 200 response advances the cursor; timeout, 5xx, or an
|
|
350
355
|
unverified response leaves it pending. A 422 blocks further sends for that installed version until a
|
|
351
356
|
corrected Spotter version is installed; the block marker is under the private `~/.spotter` state directory
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
<plist version="1.0"><dict>
|
|
4
4
|
<key>Label</key><string>dev.spotter.runtime-errors</string>
|
|
5
5
|
<key>ProgramArguments</key><array>
|
|
6
|
-
<string>
|
|
6
|
+
<string>REPLACE_WITH_ABSOLUTE_NODE_PATH</string>
|
|
7
|
+
<string>REPLACE_WITH_ABSOLUTE_SPOTTER_SCRIPT_PATH</string>
|
|
7
8
|
<string>runtime-errors</string><string>report</string>
|
|
8
9
|
</array>
|
|
9
10
|
<key>StartInterval</key><integer>3600</integer>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
$ErrorActionPreference = 'Stop'
|
|
2
|
+
$ops = Split-Path -Parent $MyInvocation.MyCommand.Path
|
|
3
|
+
$powershell = "$env:WINDIR\System32\WindowsPowerShell\v1.0\powershell.exe"
|
|
4
|
+
$principal = New-ScheduledTaskPrincipal -UserId $env:USERNAME -LogonType Interactive -RunLevel Limited
|
|
5
|
+
$settings = New-ScheduledTaskSettingsSet -StartWhenAvailable -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -ExecutionTimeLimit (New-TimeSpan -Minutes 5)
|
|
6
|
+
$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date).AddMinutes(5) -RepetitionInterval (New-TimeSpan -Hours 1)
|
|
7
|
+
|
|
8
|
+
$action = New-ScheduledTaskAction -Execute $powershell -Argument "-NoProfile -NonInteractive -WindowStyle Hidden -ExecutionPolicy Bypass -File `"$ops\spotter-runtime-errors.ps1`""
|
|
9
|
+
Register-ScheduledTask -TaskName 'spotter-runtime-errors' -Action $action -Trigger $trigger -Principal $principal -Settings $settings -Description 'Send pending Spotter runtime errors to owner-LAN BugHub hourly' -Force | Out-Null
|
|
10
|
+
|
|
11
|
+
Start-ScheduledTask -TaskName 'spotter-runtime-errors'
|