@lineman-io/mcp 2.3.0 → 2.4.2

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lineman",
3
- "version": "2.0.0",
3
+ "version": "2.4.2",
4
4
  "description": "AI-powered code assistant that uses a secondary LLM to handle data-heavy tasks — saves context window tokens on large-file reads, error classification, and build-output triage.",
5
5
  "author": {
6
6
  "name": "Lineman",
package/README.md CHANGED
@@ -50,19 +50,42 @@ User config lives at `~/.goodex/lineman.json`:
50
50
 
51
51
  ```json
52
52
  {
53
- "serverUrl": "https://api.lineman.sh",
54
- "apiToken": "<set by npx lineman-mcp auth>",
53
+ "dataApiUrl": "https://api-data.lineman.io",
54
+ "dataStreamApiUrl": "https://api-data-stream.lineman.io",
55
+ "controlApiUrl": "https://api-app.lineman.io",
56
+ "apiToken": "<set by /lineman:auth>",
55
57
  "userId": "<set after auth>",
56
58
  "tier": "free"
57
59
  }
58
60
  ```
59
61
 
60
- Environment variables take precedence:
62
+ The three URLs map to the three customer-facing Cloud Run services in
63
+ the Lineman API split (see [ADR-0001](../../../docs/adr/0001-api-split.md)):
61
64
 
62
- | Variable | Overrides |
63
- |----------|-----------|
64
- | `LINEMAN_SERVER_URL` | `serverUrl` |
65
- | `LINEMAN_API_TOKEN` | `apiToken` |
65
+ - `dataApiUrl` sync inference (`/lineman/execute`, `/shape`, `/metrics`, `/hook-config`)
66
+ - `dataStreamApiUrl` — streamed inference (`/lineman/execute/stream`, SSE)
67
+ - `controlApiUrl` auth (`/auth/device/*`, `/auth/verify`), usage, dashboard
68
+
69
+ The MCP picks between the data URLs per request based on whether the
70
+ task type is in `STREAMING_TASK_TYPES` (currently `triage_build_output`).
71
+ The legacy `serverUrl` field is still read for backwards compatibility
72
+ on machines that authed pre-split — new writes always populate the
73
+ explicit per-plane fields.
74
+
75
+ Environment variables take precedence over the on-disk config:
76
+
77
+ | Variable | Overrides | Purpose |
78
+ |----------|-----------|---------|
79
+ | `LINEMAN_DATA_API_URL` | `dataApiUrl` | Sync inference Cloud Run service |
80
+ | `LINEMAN_DATA_STREAM_API_URL` | `dataStreamApiUrl` | Streaming inference Cloud Run service |
81
+ | `LINEMAN_CONTROL_API_URL` | `controlApiUrl` | Auth + usage + dashboard Cloud Run service |
82
+ | `LINEMAN_API_TOKEN` | `apiToken` | Override the saved token (CI / staging) |
83
+
84
+ All three URL env vars are required to resolve. Missing any of them at
85
+ boot results in a fatal startup error naming the missing var. There is
86
+ **no** `LINEMAN_API_URL` fallback — the per-plane convention is locked
87
+ in ADR-0001 and silently collapsing to a single URL re-introduces the
88
+ fault lines the split exists to fix.
66
89
 
67
90
  ### Auth at use time
68
91
 
@@ -90,13 +113,22 @@ What we strip before send:
90
113
 
91
114
  ### Disabling telemetry
92
115
 
93
- Set `LINEMAN_TELEMETRY=off` (or `0` / `false` / `no`) in your shell environment. The MCP will skip Sentry initialisation entirely — no SDK loaded, no events emitted, no install_id sent.
116
+ Two ways, in resolution order:
94
117
 
95
- ```sh
96
- export LINEMAN_TELEMETRY=off
97
- ```
118
+ 1. **`/lineman:telemetry off` from inside Claude Code** (recommended). Runs the `telemetry` skill, persists your preference to `~/.goodex/lineman.json::telemetryEnabled`. Restart your Claude Code session for the next MCP boot to pick it up. To re-enable, run `/lineman:telemetry on`.
119
+
120
+ 2. **`LINEMAN_TELEMETRY` env var** (overrides the per-install setting). Useful for shared / regulated environments where the choice should be enforced by config-management rather than per-user.
121
+
122
+ ```sh
123
+ export LINEMAN_TELEMETRY=off
124
+ ```
125
+
126
+ Accepted values:
127
+ - `0`, `off`, `false`, `no` → telemetry disabled.
128
+ - `1`, `on`, `true`, `yes` → telemetry enabled (overrides the file setting too).
129
+ - Anything else / unset → fall through to the file setting / default.
98
130
 
99
- A first-class plugin setting + slash command for this is tracked in LIN-524.
131
+ In both cases the MCP skips `Sentry.init` entirely when disabled no SDK loaded, no events emitted, no `install_id` sent. There's no silent degraded mode.
100
132
 
101
133
  ## Troubleshooting
102
134