@launchchair/agent 0.4.6 → 0.4.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/AGENTS.md CHANGED
@@ -114,12 +114,13 @@ The build folder can be an empty scratch folder until Stack Setup creates or rec
114
114
  command = "/absolute/path/to/node"
115
115
  args = ["/absolute/path/to/launchchair-cli.mjs", "mcp-server"]
116
116
  required = false
117
- startup_timeout_sec = 20
117
+ startup_timeout_sec = 45
118
118
  tool_timeout_sec = 3600
119
119
  default_tools_approval_mode = "approve"
120
120
 
121
121
  [mcp_servers.launchchair.env]
122
122
  LAUNCHCHAIR_BASE_URL = "https://www.launchchair.io"
123
+ LAUNCHCHAIR_CONFIG_DIR = "/absolute/path/to/.launchchair"
123
124
  LAUNCHCHAIR_PROJECT_ID = ""
124
125
  LC_AGENT_ROUTER_GPT_TARGET = "codex"
125
126
  LC_AGENT_ROUTER_CODEX_TARGET = "codex"
@@ -129,7 +130,7 @@ LC_AGENT_CODEX_CWD = "/absolute/path/to/the-folder-codex-should-build-into"
129
130
  # LAUNCHCHAIR_AGENT_TOKEN = "<full lc_at token from Settings API Access>"
130
131
  ```
131
132
 
132
- Prefer `launchchair setup codex --cwd /absolute/path/to/build-folder --write-config` or `launchchair mcp-config codex --ui-fields` so the CLI prints exact local command and argument paths for this machine.
133
+ Prefer `launchchair setup codex --cwd /absolute/path/to/build-folder --write-config` or `launchchair mcp-config codex --ui-fields` so the CLI prints exact local command, argument, and saved-config paths for this machine.
133
134
 
134
135
  ## What To Do First In A Fresh Chat
135
136
 
package/README.md CHANGED
@@ -145,7 +145,7 @@ Print a Claude Desktop MCP config example:
145
145
  launchchair mcp-config claude
146
146
  ```
147
147
 
148
- The recommended config launches the MCP server through the exact Node executable and CLI file path generated by `launchchair setup` or `launchchair mcp-config`. That process reads the token saved by `launchchair login`, so Codex and Claude users do not need to paste tokens into MCP config after browser login.
148
+ The recommended config launches the MCP server through the exact Node executable and CLI file path generated by `launchchair setup` or `launchchair mcp-config`. It also pins `LAUNCHCHAIR_CONFIG_DIR` to the exact directory used by `launchchair login`, so Codex and Claude users do not need to paste tokens into MCP config after browser login—even when the desktop app starts with a different home or shell environment.
149
149
 
150
150
  Use `LAUNCHCHAIR_AGENT_TOKEN` only as a manual fallback when you skip `launchchair login`, need a per-client token override, or your desktop app cannot read the saved CLI config. If you use a desktop custom MCP form, run `launchchair mcp-config codex --ui-fields` or `launchchair mcp-config claude --ui-fields` and paste the printed command, each argument, env vars, and working directory exactly as shown.
151
151
 
@@ -15,7 +15,7 @@ import path from "node:path";
15
15
  import process from "node:process";
16
16
  import { fileURLToPath } from "node:url";
17
17
 
18
- const VERSION = "0.4.6";
18
+ const VERSION = "0.4.7";
19
19
  const SCRIPT_DIR = path.dirname(fileURLToPath(import.meta.url));
20
20
  const DEFAULT_BASE_URL = "https://www.launchchair.io";
21
21
  const CONFIG_DIR = process.env.LAUNCHCHAIR_CONFIG_DIR?.trim()
@@ -729,6 +729,7 @@ function buildBridgeEnv(projectId = defaultProjectId()) {
729
729
  const childEnv = {
730
730
  ...process.env,
731
731
  LAUNCHCHAIR_BASE_URL: baseUrl(),
732
+ LAUNCHCHAIR_CONFIG_DIR: CONFIG_DIR,
732
733
  LAUNCHCHAIR_AGENT_TOKEN: token(),
733
734
  LAUNCHCHAIR_PROJECT_ID: projectId,
734
735
  LC_AGENT_CODEX_CWD: configValue("codexCwd", ["LC_AGENT_CODEX_CWD"], ""),
@@ -848,6 +849,7 @@ function mcpEnvForTarget(target, options = {}) {
848
849
  const cwd = configValue(details.cwdConfigKey, [details.cwdEnvName], "/absolute/path/to/repo-or-empty-folder");
849
850
  const envBlock = {
850
851
  LAUNCHCHAIR_BASE_URL: baseUrl(),
852
+ LAUNCHCHAIR_CONFIG_DIR: CONFIG_DIR,
851
853
  ...(token() || !includeTokenPlaceholder ? {} : { LAUNCHCHAIR_AGENT_TOKEN: "<optional full lc_at token when launchchair login was not used>" }),
852
854
  ...(projectId ? { LAUNCHCHAIR_PROJECT_ID: projectId } : {}),
853
855
  LC_AGENT_ROUTER_GPT_TARGET: details.routerTarget,
@@ -888,7 +890,7 @@ function renderMcpConfig(target, options = {}) {
888
890
  command = ${tomlString(server.command)}
889
891
  args = [${argsLine}]
890
892
  required = false
891
- startup_timeout_sec = 20
893
+ startup_timeout_sec = 45
892
894
  tool_timeout_sec = 3600
893
895
  default_tools_approval_mode = "approve"
894
896
 
package/local-bridge.mjs CHANGED
@@ -17,7 +17,7 @@ import process from "node:process";
17
17
  import { fileURLToPath } from "node:url";
18
18
  import { buildRunnerCommand, parseRunnerCommand } from "./runner-command.mjs";
19
19
 
20
- const VERSION = "0.4.6";
20
+ const VERSION = "0.4.7";
21
21
  const CLIENT_TYPES = ["codex", "chatgpt", "claude", "claude_code", "other"];
22
22
  const AGENT_SCRIPT_DIR = path.dirname(fileURLToPath(import.meta.url));
23
23
  const CONFIG_DIR = process.env.LAUNCHCHAIR_CONFIG_DIR?.trim()
@@ -19,7 +19,7 @@ import process from "node:process";
19
19
  import { fileURLToPath } from "node:url";
20
20
  import { buildRunnerCommand, parseRunnerCommand } from "./runner-command.mjs";
21
21
 
22
- const VERSION = "0.4.6";
22
+ const VERSION = "0.4.7";
23
23
  const SERVER_NAME = "launchchair-agent-mcp";
24
24
  const AGENT_SCRIPT_DIR = path.dirname(fileURLToPath(import.meta.url));
25
25
  const CONFIG_DIR = process.env.LAUNCHCHAIR_CONFIG_DIR?.trim()
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@launchchair/agent",
3
- "version": "0.4.6",
3
+ "version": "0.4.7",
4
4
  "description": "LaunchChair Agent CLI, MCP bridge, local bridge, and runners for Codex, Claude Code, ChatGPT, Claude, and Hermes workflows.",
5
5
  "type": "module",
6
6
  "bin": {