@ictechgy/lterm 1.0.5 → 1.0.7

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.ko.md CHANGED
@@ -71,7 +71,7 @@ Homebrew와 npm 모두 `PATH`에 `lterm` 명령을 설치합니다. `lterm --ver
71
71
  GitHub에서 Cargo로 설치 (Releases 페이지의 최신 태그를 사용하세요):
72
72
 
73
73
  ```bash
74
- cargo install --git https://github.com/ictechgy/light_terminal --tag v1.0.5
74
+ cargo install --git https://github.com/ictechgy/light_terminal --tag v1.0.7
75
75
  ```
76
76
 
77
77
  저장소를 클론한 뒤 직접 빌드하려면 Rust 1.85 이상이 필요합니다.
package/README.md CHANGED
@@ -77,7 +77,7 @@ For the 1.0 command/output stability boundary, see the
77
77
  With Cargo from GitHub (use the latest tag from the Releases page):
78
78
 
79
79
  ```bash
80
- cargo install --git https://github.com/ictechgy/light_terminal --tag v1.0.5
80
+ cargo install --git https://github.com/ictechgy/light_terminal --tag v1.0.7
81
81
  ```
82
82
 
83
83
  From this checkout, use Rust 1.85 or newer:
@@ -139,13 +139,16 @@ lterm -a api
139
139
  | Rename a session | `lterm rename api api-renamed` | None |
140
140
  | Set a session status theme | `lterm status-theme api green` | `theme` |
141
141
  | Read sanitized scrollback | `lterm logs api --start=-80 --end=-1` | `capture` |
142
+ | Record raw PTY output for debugging | `lterm trace api --duration 5s --output trace.jsonl` | `record` |
142
143
  | Open a sanitized scrollback composer for input | `lterm compose api` | `mobile` |
143
144
  | Wait for session output or exit | `lterm wait api --contains READY --timeout 30s --json` | None |
144
145
  | Watch a session and notify on completion | `lterm watch api --exit --notify` | None |
145
146
  | Write input to a PTY | `lterm input api 'echo hello' --enter` | `send` |
146
147
  | Stop a session | `lterm close api` | `kill` |
147
148
  | Diagnose daemon and shim state | `lterm doctor --json` | `status` |
149
+ | Collect a redacted local diagnostic bundle | `lterm diagnose --bundle` | None |
148
150
  | Preview local setup steps | `lterm init --shell zsh` | None |
151
+ | Generate shell completions | `lterm completions zsh > ~/.zfunc/_lterm` | None |
149
152
  | Run the background daemon explicitly | `lterm daemon` | None |
150
153
  | Stop the daemon and all sessions | `lterm shutdown` | None |
151
154
 
@@ -157,6 +160,7 @@ Agent and shim utilities are also product CLI commands, not tmux aliases:
157
160
  | Inspect available agent profiles | `lterm agents --json` | PATH availability probe at command runtime |
158
161
  | Install the `tmux` compatibility shim | `lterm install-shim` | Creates a shim that forwards to `lterm tmux-compat` |
159
162
  | Print shell exports for tmux compatibility | `eval "$(lterm env)"` (`lterm env --shell fish \| source` for fish) | Emits trusted shell setup that prepends the shim dir to `$PATH` |
163
+ | Generate shell completions | `lterm completions bash\|zsh\|fish` | Prints completion scripts only; it does not inspect sessions or start the daemon |
160
164
  | Send a cmux-friendly notification | `lterm notify --title 'Done' --body 'Tests passed'` | OSC 777 fallback strips terminal controls while preserving Unicode text |
161
165
  | Attach to a remote host | `lterm ssh user@host main` | Use trusted hosts; SSH handles host-key checks, and remote PTY bytes pass through without sanitization |
162
166
  | Call the tmux shim namespace directly | `lterm tmux-compat list-commands` | Compatibility namespace, not a product alias table |
@@ -187,8 +191,20 @@ This table is the product CLI surface for humans and agents. `lterm tmux-compat
187
191
 
188
192
  `lterm doctor` (compatibility name: `lterm status`) reports client/daemon versions, protocol compatibility, runtime/data/socket/shim paths, and whether the shim directory is on `PATH`. It does not start the daemon; `daemon_reachable=no` / `false` means no compatible daemon answered on the current socket. Normal client operations warn on stderr when a reachable daemon reports a different lterm or protocol version, which usually means an old daemon survived a binary upgrade.
189
193
 
194
+ `lterm diagnose --bundle` prints a local-only JSON diagnostic bundle for issues
195
+ and agent handoffs. It includes `doctor` data, redacted environment presence
196
+ flags, and — only when an existing daemon is reachable — session metadata plus
197
+ process rows. It does not start the daemon and does not include raw PTY bytes or
198
+ scrollback by default.
199
+
190
200
  `lterm logs <target>` accepts `--start` / `-S` and `--end` / `-E` line offsets. Non-negative values are absolute scrollback line indexes; negative values count back from the current scrollback line count. `--end` is inclusive, so `lterm logs api -S0 -E0` captures only the first line. Capture output remains sanitized text; attached PTY streams remain raw.
191
201
 
202
+ `lterm trace <target> --duration 5s --output trace.jsonl` records raw PTY
203
+ output chunks to a private local JSONL file with timestamps and hex-encoded
204
+ bytes. It is for opt-in debugging of intermittent render issues; it does not
205
+ replay bytes to stdout, caps raw capture at `--max-bytes` (default 16 MiB), and
206
+ refuses to overwrite existing trace files unless `--force` is passed.
207
+
192
208
  `lterm wait <target> --exit|--contains <text>` blocks until a session exits or its sanitized scrollback contains a marker. Add `--timeout 250ms|2s|5m|1h`, `--tail N`, and `--json` for automation-friendly health checks. On timeout, `wait` / `watch` return exit code `124` and JSON reports `timed_out: true`. `lterm watch` uses the same conditions and can add `--notify` to emit a cmux-friendly completion notification without altering attached PTY bytes; with `--json`, stdout stays machine-readable even when notification fallback is needed.
193
209
 
194
210
  Set `LTERM_STATUS_STYLE=full` or `LTERM_STATUS_STYLE=minimal` to choose the visual style. `full` (default for local terminals) draws a colored bar; `minimal` drops all SGR colors in favor of plain text. SSH sessions (detected via `SSH_CONNECTION`, `SSH_CLIENT`, or `SSH_TTY`) default to `minimal` to avoid color-mapping issues on mobile SSH clients like Termius, unless a session or environment theme is explicitly set.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ictechgy/lterm",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "Lightweight tmux-compatible terminal session daemon with cmux-friendly notifications.",
5
5
  "license": "MIT OR Apache-2.0",
6
6
  "homepage": "https://github.com/ictechgy/light_terminal#readme",
@@ -31,10 +31,10 @@
31
31
  "LICENSE-MIT"
32
32
  ],
33
33
  "optionalDependencies": {
34
- "lterm-darwin-arm64": "1.0.5",
35
- "lterm-darwin-x64": "1.0.5",
36
- "lterm-linux-arm64": "1.0.5",
37
- "lterm-linux-x64": "1.0.5"
34
+ "lterm-darwin-arm64": "1.0.7",
35
+ "lterm-darwin-x64": "1.0.7",
36
+ "lterm-linux-arm64": "1.0.7",
37
+ "lterm-linux-x64": "1.0.7"
38
38
  },
39
39
  "engines": {
40
40
  "node": ">=16"