claude-spotter 1.4.26 → 1.4.27

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.4.27 — 2026-07-21
4
+
5
+ - **Windows PowerShell 5.1向け診断JSONをASCII安全化。** `spotter diagnostics logs --json`は
6
+ 非ASCII文字をJSONのUnicode escapeとして出力する。履歴上のtool名に全角括弧などが含まれても、
7
+ Windows PowerShell 5.1のnative stdout誤復号でJSON構造が壊れず、`ConvertFrom-Json`で読める。
8
+
3
9
  ## 1.4.26 — 2026-07-20
4
10
 
5
11
  - **SessionEnd cleanupを冪等化。** daemonが未起動または既に停止済みの`E_UNREACHABLE`は
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-spotter",
3
- "version": "1.4.26",
3
+ "version": "1.4.27",
4
4
  "description": "Audit agent running alongside Claude Code that catches missed tool calls — 気づく役と実行する役の分離",
5
5
  "type": "module",
6
6
  "bin": {
@@ -53,12 +53,18 @@ export async function runDiagnosticsLogsCommand({
53
53
  const runtimeErrors = await readRuntimeErrorStoreStatusFn();
54
54
  const merged = { ...summary, hookEvents, runtimeErrors };
55
55
  if (opts.json) {
56
- writeOutput(JSON.stringify(merged, null, 2) + '\n');
56
+ writeOutput(stringifyAsciiJson(merged) + '\n');
57
57
  return;
58
58
  }
59
59
  writeOutput(formatDaemonLogSummary(merged));
60
60
  }
61
61
 
62
+ function stringifyAsciiJson(value) {
63
+ return JSON.stringify(value, null, 2).replace(/[\u007f-\uffff]/g, (character) =>
64
+ `\\u${character.charCodeAt(0).toString(16).padStart(4, '0')}`
65
+ );
66
+ }
67
+
62
68
  export function formatDaemonLogSummary(summary) {
63
69
  const lines = [
64
70
  'spotter diagnostics logs',