Skip to content

Release 0.3.0#9

Merged
anyrobert merged 7 commits intomainfrom
release-0.3.0
Mar 14, 2026
Merged

Release 0.3.0#9
anyrobert merged 7 commits intomainfrom
release-0.3.0

Conversation

@anyrobert
Copy link
Owner

Summary

Adds stream deduplication, a Windows cmd.exe length bypass, and centralized env handling. Includes tests and docs.

Changes

Stream deduplication

  • Introduces createStreamParser() to replace parseCliStreamLine
  • Tracks accumulated text and skips the final duplicate full message from the Cursor CLI
  • Emits only deltas so clients see each chunk once

Windows cmd.exe length limit

  • Adds CURSOR_AGENT_NODE and CURSOR_AGENT_SCRIPT to spawn Node directly
  • Bypasses the ~8191-character limit when using long prompts
  • Uses cmd.exe /d /s /c with quoted args for .cmd invocations when those env vars are not set

Centralized env module

  • Adds src/lib/env.ts as the single source of truth for env handling
    loadEnvConfig(opts) supports aliases, defaults, path resolution, and --tailscale host fallback
  • resolveAgentCommand(cmd, args, opts) encapsulates Windows spawn logic
  • config.ts and cli.ts read from the env module instead of process.env
  • --tailscale is passed as an option instead of mutating process.env

Other

  • Tests: cli-stream-parser.test.ts, env.test.ts, process.test.ts; updated config.test.ts
  • Fix: add logTrafficRequest, logTrafficResponse, logAgentError to the server test mock
  • Docs: README updated for env vars, aliases, and Windows usage
  • Version bump: 0.2.0 → 0.3.0

- EnvSource, EnvOptions, LoadedEnv types
- loadEnvConfig() with aliases, defaults, path resolution
- resolveAgentCommand() for Windows cmd.exe bypass
- Supports injectable env for tests

Made-with: Cursor
- loadBridgeConfig() consumes loadEnvConfig
- CLI passes tailscale to loadBridgeConfig instead of mutating process.env
- Config tests use injected env

Made-with: Cursor
- Replace parseCliStreamLine with createStreamParser
- Track accumulated text to skip final duplicate full message
- Emit only deltas when text starts with accumulated
- Add cli-stream-parser tests

Made-with: Cursor
- process.ts uses resolveAgentCommand from env module
- Spawn Node directly when CURSOR_AGENT_NODE + CURSOR_AGENT_SCRIPT set
- Use cmd.exe /d /s /c with quoted args for .cmd files
- Add process tests

Made-with: Cursor
- CURSOR_AGENT_NODE, CURSOR_AGENT_SCRIPT for Windows
- Agent bin alias precedence
- Centralized env handling note
- Tailscale and path resolution notes

Made-with: Cursor
Made-with: Cursor
@anyrobert anyrobert self-assigned this Mar 14, 2026
@anyrobert anyrobert merged commit d975222 into main Mar 14, 2026
@anyrobert anyrobert deleted the release-0.3.0 branch March 15, 2026 17:37
anyrobert added a commit that referenced this pull request Mar 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant