@springbrand/cli 0.1.7-alpha.1 → 0.1.7-alpha.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.
- package/README.md +25 -12
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +156 -40
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/connect.d.ts +2 -0
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +36 -22
- package/dist/commands/connect.js.map +1 -1
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/lib/auth.d.ts +23 -12
- package/dist/lib/auth.d.ts.map +1 -1
- package/dist/lib/auth.js +243 -55
- package/dist/lib/auth.js.map +1 -1
- package/dist/lib/codex-plugin.d.ts +8 -0
- package/dist/lib/codex-plugin.d.ts.map +1 -1
- package/dist/lib/codex-plugin.js +191 -21
- package/dist/lib/codex-plugin.js.map +1 -1
- package/dist/lib/connect-all-uninstall.d.ts +2 -2
- package/dist/lib/connect-all-uninstall.d.ts.map +1 -1
- package/dist/lib/connect-all-uninstall.js +69 -31
- package/dist/lib/connect-all-uninstall.js.map +1 -1
- package/dist/lib/connect-all.d.ts +4 -0
- package/dist/lib/connect-all.d.ts.map +1 -1
- package/dist/lib/connect-all.js +12 -9
- package/dist/lib/connect-all.js.map +1 -1
- package/dist/lib/connect-auth.d.ts +4 -2
- package/dist/lib/connect-auth.d.ts.map +1 -1
- package/dist/lib/connect-auth.js +14 -9
- package/dist/lib/connect-auth.js.map +1 -1
- package/dist/lib/connect-clients.d.ts +1 -1
- package/dist/lib/connect-clients.d.ts.map +1 -1
- package/dist/lib/connect-clients.js +23 -14
- package/dist/lib/connect-clients.js.map +1 -1
- package/dist/lib/connect-fallback.d.ts.map +1 -1
- package/dist/lib/connect-fallback.js +13 -4
- package/dist/lib/connect-fallback.js.map +1 -1
- package/dist/lib/connect-generic.d.ts +12 -0
- package/dist/lib/connect-generic.d.ts.map +1 -0
- package/dist/lib/connect-generic.js +80 -0
- package/dist/lib/connect-generic.js.map +1 -0
- package/dist/lib/connect-preflight.d.ts +1 -0
- package/dist/lib/connect-preflight.d.ts.map +1 -1
- package/dist/lib/connect-preflight.js +31 -19
- package/dist/lib/connect-preflight.js.map +1 -1
- package/dist/lib/connect-result.d.ts +1 -1
- package/dist/lib/constants.d.ts +2 -0
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +4 -1
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/cursor-config.d.ts +2 -2
- package/dist/lib/cursor-config.d.ts.map +1 -1
- package/dist/lib/cursor-config.js +5 -5
- package/dist/lib/cursor-config.js.map +1 -1
- package/dist/lib/devin-config.d.ts +9 -0
- package/dist/lib/devin-config.d.ts.map +1 -0
- package/dist/lib/devin-config.js +32 -0
- package/dist/lib/devin-config.js.map +1 -0
- package/dist/lib/doctor-checks.d.ts +1 -1
- package/dist/lib/doctor-checks.d.ts.map +1 -1
- package/dist/lib/doctor-checks.js +7 -4
- package/dist/lib/doctor-checks.js.map +1 -1
- package/dist/lib/doctor-report.d.ts +2 -2
- package/dist/lib/install-report.d.ts +1 -1
- package/dist/lib/key-environment.d.ts +14 -0
- package/dist/lib/key-environment.d.ts.map +1 -0
- package/dist/lib/key-environment.js +8 -0
- package/dist/lib/key-environment.js.map +1 -0
- package/dist/lib/mcp-endpoint.d.ts +4 -1
- package/dist/lib/mcp-endpoint.d.ts.map +1 -1
- package/dist/lib/mcp-endpoint.js +5 -0
- package/dist/lib/mcp-endpoint.js.map +1 -1
- package/dist/lib/mcp-json-config.d.ts +2 -0
- package/dist/lib/mcp-json-config.d.ts.map +1 -1
- package/dist/lib/mcp-json-config.js +10 -4
- package/dist/lib/mcp-json-config.js.map +1 -1
- package/dist/lib/omp-config.d.ts +2 -2
- package/dist/lib/omp-config.d.ts.map +1 -1
- package/dist/lib/omp-config.js +5 -5
- package/dist/lib/omp-config.js.map +1 -1
- package/dist/lib/pi-config.d.ts +2 -2
- package/dist/lib/pi-config.d.ts.map +1 -1
- package/dist/lib/pi-config.js +5 -5
- package/dist/lib/pi-config.js.map +1 -1
- package/dist/lib/registration-detect.js +5 -5
- package/dist/lib/registration-detect.js.map +1 -1
- package/dist/lib/workbuddy-config.d.ts +1 -1
- package/dist/lib/workbuddy-config.d.ts.map +1 -1
- package/dist/lib/workbuddy-config.js +5 -5
- package/dist/lib/workbuddy-config.js.map +1 -1
- package/package.json +1 -1
- package/skill/springbrand-action-api/SKILL.md +20 -7
- package/skill/springbrand-action-api/references/action-discovery.md +20 -4
- package/skill/springbrand-connector/SKILL.md +3 -2
- package/skill/springbrand-gtm/SKILL.md +38 -5
- package/skill/springbrand-platform/SKILL.md +4 -2
- package/skill/springbrand-platform/references/plugin-discovery.md +5 -4
- package/skill/use-springbrand/SKILL.md +127 -18
package/README.md
CHANGED
|
@@ -17,7 +17,7 @@ npm link
|
|
|
17
17
|
|
|
18
18
|
## Installation: OAuth first
|
|
19
19
|
|
|
20
|
-
Run `sp connect <client> --json` once. Without
|
|
20
|
+
Run `sp connect <client> --json` once. Without a usable key for the selected environment, the CLI writes native MCP configuration and returns the Host's OAuth action. Follow `next_action`; keep the selected Host, endpoint and authentication mode.
|
|
21
21
|
|
|
22
22
|
```bash
|
|
23
23
|
sp connect codex --json
|
|
@@ -27,7 +27,7 @@ sp doctor --harness codex --json --wait-for-auth
|
|
|
27
27
|
|
|
28
28
|
`--wait-for-auth` waits for OAuth for up to five minutes without reinstalling configuration. For API-key installs, use the same doctor command without this flag. A timeout remains pending; complete authorization before retrying.
|
|
29
29
|
|
|
30
|
-
An explicit `--api-key
|
|
30
|
+
An explicit `--api-key`, the target environment variable, or a saved key for that environment selects API-key authentication. Use `--oauth` to force keyless. Invalid keys and verification outages never trigger an automatic OAuth fallback or overwrite a previously saved key.
|
|
31
31
|
|
|
32
32
|
### Installation report (schema version 2)
|
|
33
33
|
|
|
@@ -131,8 +131,8 @@ npm run publish:stable
|
|
|
131
131
|
```bash
|
|
132
132
|
sp connect [client] # 把 SpringBrand 写入客户端的 MCP 配置并安装 Skill 集合
|
|
133
133
|
sp doctor # Show a compact installation summary; --json for automation
|
|
134
|
-
sp auth login|set|status|logout # 管理 API key
|
|
135
|
-
sp auth status --verify
|
|
134
|
+
sp auth login|set|status|logout # 管理 API key(支持 --env dev|production)
|
|
135
|
+
sp auth status --env dev --verify # 额外拿这把 key 探一次 /mcp,报告账号、keyId 与环境
|
|
136
136
|
sp upgrade # 更新 CLI 并刷新随包分发的 Skill 集合
|
|
137
137
|
sp check-version # 报告是否需要升级,供 agent 调用
|
|
138
138
|
```
|
|
@@ -145,13 +145,25 @@ sp check-version # 报告是否需要升级,供 agent 调用
|
|
|
145
145
|
installs or upgrades the CLI itself. Install the desired CLI channel separately
|
|
146
146
|
with npm (for development: `npm install -g @springbrand/cli@alpha`).
|
|
147
147
|
|
|
148
|
+
The Codex Plugin installer sets `tool_timeout_sec` to 900 seconds (15 minutes)
|
|
149
|
+
for each SpringBrand server in the generated `.mcp.json`, so a ten-minute Agent
|
|
150
|
+
result query can finish. Reinstalling preserves a larger valid timeout already
|
|
151
|
+
set for that Plugin server. This works for both OAuth and API key installs; it
|
|
152
|
+
does not add `MCP_TOOL_TIMEOUT` to the environment or edit global Codex settings
|
|
153
|
+
and other MCP servers. Reload Codex after refreshing the Plugin. Older Codex
|
|
154
|
+
versions using the native MCP fallback still need their own per-server timeout
|
|
155
|
+
configuration; this automatic setting applies to the Plugin path only.
|
|
156
|
+
|
|
148
157
|
```bash
|
|
149
158
|
sp connect # 从本机检测到的客户端里挑一个
|
|
150
159
|
sp connect cursor # 指定客户端
|
|
151
160
|
sp connect --all # 连接本机所有支持的客户端
|
|
152
161
|
sp connect --all --dry-run # 只打印将要写入什么,不落盘
|
|
153
162
|
sp connect --all --uninstall # 移除 connect 写入的条目
|
|
163
|
+
sp connect --all --uninstall --url https://devconnector.springbrand.ai/mcp
|
|
164
|
+
# 只移除开发环境条目
|
|
154
165
|
sp connect cursor --url http://127.0.0.1:8789/mcp # 覆盖端点(本地开发)
|
|
166
|
+
sp connect cursor --oauth # 忽略已保存 key,强制走客户端 OAuth
|
|
155
167
|
```
|
|
156
168
|
|
|
157
169
|
支持 11 个客户端。Gateway 同时提供 OAuth 与 API key,实际可用情况分三档:
|
|
@@ -160,7 +172,7 @@ sp connect cursor --url http://127.0.0.1:8789/mcp # 覆盖端点(本地开
|
|
|
160
172
|
|---|---|---|
|
|
161
173
|
| `cursor` | 可用 | 真实写入 `~/.cursor/mcp.json` + skill,OAuth 与 API key 两种形态 |
|
|
162
174
|
| `claude-code` | 可用 | 真实 `claude mcp add`,条目落入 `~/.claude/.claude.json`,OAuth 由客户端接手 |
|
|
163
|
-
| `codex` | 可用 | 注册本地 `springbrand-cli` Plugin
|
|
175
|
+
| `codex` | 可用 | 注册本地 `springbrand-cli` Plugin;同一 Plugin 可同时包含 `springbrand` 与 `springbrand-dev`,OAuth 由 `codex mcp login` 接手 |
|
|
164
176
|
| `pi` | 可用 | 真实写入 `~/.pi/agent/mcp.json` + skill |
|
|
165
177
|
| `omp` | 可用 | 真实写入 `~/.omp/mcp.json`(不装 skill) |
|
|
166
178
|
| `opencode` | 可用 | stub 校验命令构造:`mcp add <name> --url ...` 与 `mcp auth` |
|
|
@@ -174,14 +186,14 @@ sp connect cursor --url http://127.0.0.1:8789/mcp # 覆盖端点(本地开
|
|
|
174
186
|
|
|
175
187
|
两种认证形态由客户端能力决定:
|
|
176
188
|
|
|
177
|
-
- **OAuth
|
|
178
|
-
- **API key
|
|
189
|
+
- **OAuth(默认)**:目标环境没有可用 key 时,写入的条目只有 URL,由客户端自己的 MCP OAuth 完成注册、登录和授权。
|
|
190
|
+
- **API key**:`--api-key`、目标环境变量或目标环境已保存的 key 会选择 key 路径。CLI 把 key 写进 `Authorization: Bearer`(或 Host 的等价安全引用),并禁止 OAuth fallback。`--oauth` 可强制忽略已保存 key。
|
|
179
191
|
|
|
180
|
-
**`Authorization: Bearer` 是 Gateway 唯一读取 key 的位置**(`src/auth/mcp-api-key.ts` 的 `classifyMcpAuthorization`),key 写进别的请求头等于没带凭据,客户端会被推回 OAuth。Codex 与 Grok 例外地传环境变量名而非 key
|
|
192
|
+
**`Authorization: Bearer` 是 Gateway 唯一读取 key 的位置**(`src/auth/mcp-api-key.ts` 的 `classifyMcpAuthorization`),key 写进别的请求头等于没带凭据,客户端会被推回 OAuth。Codex 与 Grok 例外地传环境变量名而非 key 本身:production 使用 `SPRINGBRAND_API_KEY`,dev/local 使用 `SPRINGBRAND_DEV_API_KEY`,两者都由客户端自己拼成 Bearer,key 因此不进 argv。
|
|
181
193
|
|
|
182
194
|
key 形态是 `sbk_v1_<dev|production>_<id>_<secret>`,环境段决定它能用在哪个端点:生产端点 `connector.springbrand.ai` 只收 production key,其余(dev、本机)只收 dev key。不匹配的组合在写任何配置之前就被拒绝,不必等服务端的 401。
|
|
183
195
|
|
|
184
|
-
写入前会把原配置备份成带时间戳的副本。`claude-code`
|
|
196
|
+
写入前会把原配置备份成带时间戳的副本。`claude-code` 调用自己的 `mcp add`;`codex` 由 CLI 写入本地 Plugin 的 `mcp.json`/`.mcp.json` 后调用 `codex plugin add`。同一 Plugin 中两个环境各自保留 server entry 和 `bearer_token_env_var`,互不覆盖。
|
|
185
197
|
|
|
186
198
|
### sp doctor
|
|
187
199
|
|
|
@@ -199,11 +211,12 @@ Without `--url`, doctor checks development and production registrations and sele
|
|
|
199
211
|
|
|
200
212
|
## 端点与配置
|
|
201
213
|
|
|
202
|
-
MCP 端点默认 `https://connector.springbrand.ai/mcp
|
|
214
|
+
MCP 端点默认 `https://connector.springbrand.ai/mcp`。production 使用服务名 `springbrand`;dev 和 local 使用 `springbrand-dev`。
|
|
203
215
|
|
|
204
216
|
| 环境变量 | 作用 |
|
|
205
217
|
|---|---|
|
|
206
|
-
| `SPRINGBRAND_API_KEY` | API key
|
|
218
|
+
| `SPRINGBRAND_API_KEY` | production API key,优先级高于 `api_keys.production` |
|
|
219
|
+
| `SPRINGBRAND_DEV_API_KEY` | dev/local API key,优先级高于 `api_keys.dev` |
|
|
207
220
|
| `SPRINGBRAND_API_URL` | 覆盖端点,必须是 https 或 loopback http |
|
|
208
221
|
| `SPRINGBRAND_WEB_URL` | 覆盖 `sp auth login` 打开的网页地址;与端点覆盖相互独立 |
|
|
209
222
|
| `SPRINGBRAND_DEBUG=1` | 打印 HTTP 请求与响应到 stderr(等同 `--debug`) |
|
|
@@ -220,7 +233,7 @@ MCP 端点默认 `https://connector.springbrand.ai/mcp`。写入客户端配置
|
|
|
220
233
|
|
|
221
234
|
另有一条被动通道:`connect` 期间会向所连接端点的 `/api/cli/connect-event` 上报六次安装进度,并从响应头 `x-sp-notice` 系列读取版本提示,`doctor` 与 `upgrade` 同样会读。但用户装完就不再跑这些命令,触达有限,所以主动通道才是主要手段。Gateway 已实现该端点(见 `src/http/cli-events.ts`):事件不落库,作用是承载版本通告——CLI 装在用户机器上,服务端只能借它主动发起的请求把「该升级了」捎回去。版本门槛由 Wrangler 的 `CLI_LATEST_VERSION`(与可选的 `CLI_MIN_VERSION`)配置,**发布新版 CLI 后需同步该变量**,否则老版本收不到提示。
|
|
222
235
|
|
|
223
|
-
CLI 自己的配置在 `~/.springbrand/config.json
|
|
236
|
+
CLI 自己的配置在 `~/.springbrand/config.json`,两把 key 分别保存在 `api_keys.production` 和 `api_keys.dev`。升级到支持双环境的版本后,分别对需要保留的环境重跑一次 `sp connect ... --url ...`,以刷新客户端引用和 Codex Plugin。
|
|
224
237
|
|
|
225
238
|
skill 的安装位置随客户端而定:默认 `~/.agents/skills/`,`claude-code` 用 `~/.claude/skills/`,`pi` 用 `~/.pi/agent/skills/`,`command-code` 用 `~/.commandcode/skills/`,`hermes` 用 `~/.hermes/skills/`。`openclaw` 例外,走它自己的 ClawHub 包管理器。
|
|
226
239
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,sDAAsD;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,sDAAsD;AAEtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAyL1D,KAAK,QAAQ,GACP;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAAE,GACtE;IAAE,QAAQ,EAAE,iBAAiB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACnF,sGAAsG;AACtG,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgBlF;AAyBD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgKnD"}
|
package/dist/commands/auth.js
CHANGED
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
import { spawn } from 'child_process';
|
|
3
3
|
import * as readline from 'readline';
|
|
4
4
|
import { Option } from 'commander';
|
|
5
|
-
import { CONNECT_ATTEMPT_ENV, KEY_FORMAT_HINT, clearConfig, configFile, getDashboardUrl,
|
|
6
|
-
import {
|
|
7
|
-
import { apiBaseForKeyEnvironment, apiBaseFromMcpUrl } from '../lib/mcp-endpoint.js';
|
|
5
|
+
import { CONNECT_ATTEMPT_ENV, KEY_FORMAT_HINT, apiKeyStatus, clearAllConfig, clearConfig, configFile, getDashboardUrl, maskKey, parseKeyIdentity, removeApiKeyFromEnvironment, saveConfig, savePendingConnectAttempt, savedKeyEnvironments, validateKeyFormat, } from '../lib/auth.js';
|
|
6
|
+
import { apiKeyEnvVar } from '../lib/key-environment.js';
|
|
7
|
+
import { DEFAULT_MCP_URL, DEV_MCP_URL, apiBaseForKeyEnvironment, apiBaseFromMcpUrl, environmentOf, } from '../lib/mcp-endpoint.js';
|
|
8
8
|
import { err, errLine, out, outLine, warnLine } from '../lib/output.js';
|
|
9
9
|
import { verifyMcpAuth } from '../lib/verify.js';
|
|
10
|
+
const ENVIRONMENTS = ['production', 'dev'];
|
|
10
11
|
/**
|
|
11
12
|
* Read a key from stdin without echoing it to the terminal.
|
|
12
13
|
* Uses setRawMode on TTY so characters are never written to the screen.
|
|
@@ -77,17 +78,90 @@ function parkSeedAttempt() {
|
|
|
77
78
|
if (seed)
|
|
78
79
|
savePendingConnectAttempt(seed);
|
|
79
80
|
}
|
|
81
|
+
function parseEnvironmentOption(value) {
|
|
82
|
+
if (value === undefined)
|
|
83
|
+
return undefined;
|
|
84
|
+
if (value === 'dev' || value === 'production')
|
|
85
|
+
return value;
|
|
86
|
+
throw new Error('--env must be dev or production');
|
|
87
|
+
}
|
|
88
|
+
function selectedEnvironment(options) {
|
|
89
|
+
const fromFlag = parseEnvironmentOption(options.env);
|
|
90
|
+
const fromUrl = options.url ? environmentOf(options.url) : undefined;
|
|
91
|
+
if (options.url && !fromUrl)
|
|
92
|
+
throw new Error(`Invalid --url value: ${options.url}`);
|
|
93
|
+
if (fromFlag && fromUrl && fromFlag !== fromUrl) {
|
|
94
|
+
throw new Error(`--env ${fromFlag} does not match the environment of --url ${options.url}`);
|
|
95
|
+
}
|
|
96
|
+
return fromFlag ?? fromUrl;
|
|
97
|
+
}
|
|
98
|
+
function dashboardUrl(options) {
|
|
99
|
+
const environment = selectedEnvironment(options);
|
|
100
|
+
const mcpUrl = options.url ?? (environment === 'dev' ? DEV_MCP_URL : DEFAULT_MCP_URL);
|
|
101
|
+
return getDashboardUrl(options.source, mcpUrl);
|
|
102
|
+
}
|
|
103
|
+
function keyEnvironment(key, selected) {
|
|
104
|
+
const identity = parseKeyIdentity(key);
|
|
105
|
+
if (!identity) {
|
|
106
|
+
err(`Invalid key format. ${KEY_FORMAT_HINT}`);
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
109
|
+
if (selected && selected !== identity.environment) {
|
|
110
|
+
err(`This is a ${identity.environment} key. Use --env ${identity.environment} or the matching --url.`);
|
|
111
|
+
process.exit(1);
|
|
112
|
+
}
|
|
113
|
+
return identity.environment;
|
|
114
|
+
}
|
|
80
115
|
// Env var wins every later lookup; a silent save misleads.
|
|
81
|
-
function warnIfEnvShadows(savedKey) {
|
|
82
|
-
const
|
|
83
|
-
if (!
|
|
116
|
+
function warnIfEnvShadows(savedKey, environment) {
|
|
117
|
+
const active = apiKeyStatus(undefined, environment);
|
|
118
|
+
if (!('key' in active) || active.key === savedKey)
|
|
84
119
|
return;
|
|
85
|
-
|
|
86
|
-
|
|
120
|
+
const where = active.source === 'env'
|
|
121
|
+
? active.envVar ?? apiKeyEnvVar(environment)
|
|
122
|
+
: configFile();
|
|
123
|
+
warnLine(`Warning: ${where} is set in your environment and overrides the key just saved. ` +
|
|
124
|
+
`Unset it or update your shell profile, then check with 'sp auth status --env ${environment}'.`);
|
|
125
|
+
}
|
|
126
|
+
function removeEnvironmentExport(environment) {
|
|
127
|
+
try {
|
|
128
|
+
removeApiKeyFromEnvironment(environment);
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
warnLine(`Warning: could not remove the managed shell export: ${error instanceof Error ? error.message : String(error)}`);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
function environmentStatus(environment) {
|
|
135
|
+
const status = apiKeyStatus(undefined, environment);
|
|
136
|
+
if (!('key' in status))
|
|
137
|
+
return { configured: false, source: status.source };
|
|
138
|
+
const identity = parseKeyIdentity(status.key);
|
|
139
|
+
return {
|
|
140
|
+
configured: true,
|
|
141
|
+
source: status.source,
|
|
142
|
+
key_preview: maskKey(status.key),
|
|
143
|
+
...(identity ? { environment: identity.environment, key_id: identity.keyId } : {}),
|
|
144
|
+
};
|
|
87
145
|
}
|
|
88
|
-
function
|
|
89
|
-
|
|
90
|
-
|
|
146
|
+
function environmentStatuses() {
|
|
147
|
+
return Object.fromEntries(ENVIRONMENTS.map((environment) => [environment, environmentStatus(environment)]));
|
|
148
|
+
}
|
|
149
|
+
function configuredKeyEnvironments() {
|
|
150
|
+
return ENVIRONMENTS.filter((environment) => 'key' in apiKeyStatus(undefined, environment));
|
|
151
|
+
}
|
|
152
|
+
function primaryEnvironment(options) {
|
|
153
|
+
const selected = selectedEnvironment(options);
|
|
154
|
+
if (selected)
|
|
155
|
+
return selected;
|
|
156
|
+
const configured = configuredKeyEnvironments();
|
|
157
|
+
if (configured.includes('production'))
|
|
158
|
+
return 'production';
|
|
159
|
+
if (configured.length > 0)
|
|
160
|
+
return configured[0];
|
|
161
|
+
const saved = savedKeyEnvironments();
|
|
162
|
+
if (saved.includes('production'))
|
|
163
|
+
return 'production';
|
|
164
|
+
return saved[0] ?? 'production';
|
|
91
165
|
}
|
|
92
166
|
/** `--verify` only: says the endpoint accepts the key, never that an agent has loaded SpringBrand. */
|
|
93
167
|
export async function checkKey(key, apiBaseUrl) {
|
|
@@ -107,8 +181,8 @@ export async function checkKey(key, apiBaseUrl) {
|
|
|
107
181
|
...(result.errorCode ? { verify_code: result.errorCode } : {}),
|
|
108
182
|
};
|
|
109
183
|
}
|
|
110
|
-
function renderStatus(where, key, identity, verified) {
|
|
111
|
-
const lines = [`Source: ${where}`, `Key: ${maskKey(key)}`];
|
|
184
|
+
function renderStatus(environment, where, key, identity, verified) {
|
|
185
|
+
const lines = [`Environment: ${environment}`, `Source: ${where}`, `Key: ${maskKey(key)}`];
|
|
112
186
|
if (identity) {
|
|
113
187
|
lines.push(`Env: ${identity.environment}`, `Key ID: ${identity.keyId}`);
|
|
114
188
|
}
|
|
@@ -121,32 +195,38 @@ function renderStatus(where, key, identity, verified) {
|
|
|
121
195
|
}
|
|
122
196
|
return lines.join('\n');
|
|
123
197
|
}
|
|
198
|
+
function envOption() {
|
|
199
|
+
return new Option('--env <environment>', 'Key environment: dev or production')
|
|
200
|
+
.choices(['dev', 'production']);
|
|
201
|
+
}
|
|
124
202
|
export function registerAuth(program) {
|
|
125
203
|
const auth = program.command('auth').description('Manage your SpringBrand API key');
|
|
126
204
|
auth
|
|
127
205
|
.command('login')
|
|
128
206
|
.description('Open the API keys page and save your key interactively')
|
|
129
207
|
.addOption(new Option('--source <source>', 'API keys page source attribution').default('cli').hideHelp())
|
|
208
|
+
.addOption(envOption())
|
|
130
209
|
.addOption(new Option('--url <mcpUrl>', 'MCP endpoint used to select the API-key environment').hideHelp())
|
|
131
210
|
.action(async (options) => {
|
|
132
|
-
const
|
|
133
|
-
|
|
211
|
+
const selected = selectedEnvironment(options);
|
|
212
|
+
const url = dashboardUrl(options);
|
|
213
|
+
errLine(`Opening ${url} in your browser...`);
|
|
134
214
|
try {
|
|
135
215
|
// Use spawn with an explicit args array — no shell, no interpolation
|
|
136
216
|
let cmd;
|
|
137
217
|
let args;
|
|
138
218
|
if (process.platform === 'darwin') {
|
|
139
219
|
cmd = 'open';
|
|
140
|
-
args = [
|
|
220
|
+
args = [url];
|
|
141
221
|
}
|
|
142
222
|
else if (process.platform === 'win32') {
|
|
143
223
|
// "start" treats the first quoted arg as a window title — empty string avoids it
|
|
144
224
|
cmd = 'cmd';
|
|
145
|
-
args = ['/c', 'start', '',
|
|
225
|
+
args = ['/c', 'start', '', url];
|
|
146
226
|
}
|
|
147
227
|
else {
|
|
148
228
|
cmd = 'xdg-open';
|
|
149
|
-
args = [
|
|
229
|
+
args = [url];
|
|
150
230
|
}
|
|
151
231
|
const child = spawn(cmd, args, { stdio: 'ignore', detached: true });
|
|
152
232
|
child.unref();
|
|
@@ -155,7 +235,7 @@ export function registerAuth(program) {
|
|
|
155
235
|
catch {
|
|
156
236
|
// headless — ignore
|
|
157
237
|
}
|
|
158
|
-
process.stderr.write(`If the browser didn't open, visit: ${
|
|
238
|
+
process.stderr.write(`If the browser didn't open, visit: ${url}\n\n`);
|
|
159
239
|
const key = await readKeyHidden('Paste your API key: ');
|
|
160
240
|
if (!key) {
|
|
161
241
|
err('API key cannot be empty');
|
|
@@ -165,15 +245,21 @@ export function registerAuth(program) {
|
|
|
165
245
|
err(`Invalid key format. ${KEY_FORMAT_HINT}`);
|
|
166
246
|
process.exit(1);
|
|
167
247
|
}
|
|
168
|
-
|
|
248
|
+
const environment = keyEnvironment(key, selected);
|
|
249
|
+
saveConfig(key, environment);
|
|
169
250
|
parkSeedAttempt();
|
|
170
|
-
out({ status: 'ok', message: 'API key saved', key_preview: maskKey(key) });
|
|
171
|
-
|
|
251
|
+
out({ status: 'ok', message: 'API key saved', environment, key_preview: maskKey(key) });
|
|
252
|
+
if (!selected && environment === 'dev') {
|
|
253
|
+
warnLine('Saved a development key. Use --env dev next time to open the development key page.');
|
|
254
|
+
}
|
|
255
|
+
warnIfEnvShadows(key, environment);
|
|
172
256
|
});
|
|
173
257
|
auth
|
|
174
258
|
.command('set')
|
|
175
259
|
.description('Save an API key. Pass via stdin: echo $KEY | sp auth set (safe for CI/CD)')
|
|
176
|
-
.
|
|
260
|
+
.addOption(envOption())
|
|
261
|
+
.action(async (options) => {
|
|
262
|
+
const selected = parseEnvironmentOption(options.env);
|
|
177
263
|
// Read from stdin pipe (CI/CD) or hidden TTY prompt (interactive)
|
|
178
264
|
const key = await readKeyFromStdinOrPrompt();
|
|
179
265
|
if (!key) {
|
|
@@ -187,28 +273,34 @@ export function registerAuth(program) {
|
|
|
187
273
|
err(`Invalid key format. ${KEY_FORMAT_HINT}`);
|
|
188
274
|
process.exit(1);
|
|
189
275
|
}
|
|
190
|
-
|
|
276
|
+
const environment = keyEnvironment(key, selected);
|
|
277
|
+
saveConfig(key, environment);
|
|
191
278
|
parkSeedAttempt();
|
|
192
|
-
out({ status: 'ok', message: 'API key saved', key_preview: maskKey(key) });
|
|
193
|
-
warnIfEnvShadows(key);
|
|
279
|
+
out({ status: 'ok', message: 'API key saved', environment, key_preview: maskKey(key) });
|
|
280
|
+
warnIfEnvShadows(key, environment);
|
|
194
281
|
});
|
|
195
282
|
auth
|
|
196
283
|
.command('status')
|
|
197
284
|
.description('Show which API key is active and its source')
|
|
285
|
+
.addOption(envOption())
|
|
198
286
|
.option('--pretty', 'Human-readable output')
|
|
199
287
|
.option('--verify', 'Also check the key against the SpringBrand MCP endpoint')
|
|
200
288
|
.option('--url <mcpUrl>', 'MCP endpoint override for --verify')
|
|
201
289
|
.action(async (opts) => {
|
|
202
|
-
const
|
|
203
|
-
const active =
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
const result = { source: 'none', key_preview: null, authenticated: false };
|
|
208
|
-
if (opts.pretty)
|
|
209
|
-
outLine(
|
|
210
|
-
|
|
290
|
+
const primary = primaryEnvironment(opts);
|
|
291
|
+
const active = apiKeyStatus(undefined, primary);
|
|
292
|
+
const environments = environmentStatuses();
|
|
293
|
+
if (!('key' in active)) {
|
|
294
|
+
const anyConfigured = Object.values(environments).some((entry) => entry.configured);
|
|
295
|
+
const result = { source: 'none', key_preview: null, authenticated: false, environments };
|
|
296
|
+
if (opts.pretty) {
|
|
297
|
+
outLine(anyConfigured
|
|
298
|
+
? `No API key configured for ${primary}. Use --env dev or --env production.`
|
|
299
|
+
: 'No API key configured. Run: sp auth login');
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
211
302
|
out(result);
|
|
303
|
+
}
|
|
212
304
|
process.exit(1);
|
|
213
305
|
}
|
|
214
306
|
const authenticated = validateKeyFormat(active.key);
|
|
@@ -217,15 +309,19 @@ export function registerAuth(program) {
|
|
|
217
309
|
const verified = opts.verify
|
|
218
310
|
? await checkKey(active.key, opts.url ? apiBaseFromMcpUrl(opts.url) : undefined)
|
|
219
311
|
: undefined;
|
|
312
|
+
const where = active.source === 'env'
|
|
313
|
+
? `environment variable (${active.envVar ?? apiKeyEnvVar(primary)})`
|
|
314
|
+
: configFile();
|
|
220
315
|
const result = {
|
|
221
316
|
source: active.source,
|
|
222
317
|
key_preview: maskKey(active.key),
|
|
223
318
|
authenticated,
|
|
224
319
|
...(identity ? { environment: identity.environment, key_id: identity.keyId } : {}),
|
|
320
|
+
environments,
|
|
225
321
|
...(verified ?? {}),
|
|
226
322
|
};
|
|
227
323
|
if (opts.pretty) {
|
|
228
|
-
outLine(renderStatus(
|
|
324
|
+
outLine(renderStatus(primary, where, active.key, identity, verified));
|
|
229
325
|
}
|
|
230
326
|
else {
|
|
231
327
|
out(result);
|
|
@@ -235,13 +331,33 @@ export function registerAuth(program) {
|
|
|
235
331
|
});
|
|
236
332
|
auth
|
|
237
333
|
.command('logout')
|
|
238
|
-
.description('Remove stored API
|
|
239
|
-
.
|
|
240
|
-
|
|
334
|
+
.description('Remove stored API keys')
|
|
335
|
+
.addOption(envOption())
|
|
336
|
+
.option('--all', 'Remove both environments')
|
|
337
|
+
.action((options) => {
|
|
338
|
+
if (options.all) {
|
|
339
|
+
const removed = clearAllConfig();
|
|
340
|
+
removeEnvironmentExport('all');
|
|
341
|
+
out({ status: 'ok', message: removed ? 'API keys removed' : 'No API key stored' });
|
|
342
|
+
return;
|
|
343
|
+
}
|
|
344
|
+
const selected = parseEnvironmentOption(options.env);
|
|
345
|
+
let environment = selected;
|
|
346
|
+
if (!environment) {
|
|
347
|
+
const configured = configuredKeyEnvironments();
|
|
348
|
+
if (configured.length > 1) {
|
|
349
|
+
err('Both dev and production keys are stored. Use --env dev|production, or --all.');
|
|
350
|
+
process.exit(1);
|
|
351
|
+
}
|
|
352
|
+
environment = configured[0] ?? savedKeyEnvironments()[0] ?? 'production';
|
|
353
|
+
}
|
|
354
|
+
if (!clearConfig(environment)) {
|
|
355
|
+
removeEnvironmentExport(environment);
|
|
241
356
|
out({ status: 'ok', message: 'No API key stored' });
|
|
242
357
|
return;
|
|
243
358
|
}
|
|
244
|
-
|
|
359
|
+
removeEnvironmentExport(environment);
|
|
360
|
+
out({ status: 'ok', message: `${environment} API key removed` });
|
|
245
361
|
});
|
|
246
362
|
}
|
|
247
363
|
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,8 @@ export interface NativeConnectOptions {
|
|
|
19
19
|
/** A shared installation report replaces legacy success and restart hints. */
|
|
20
20
|
compactReport?: boolean;
|
|
21
21
|
apiKey?: string;
|
|
22
|
+
/** Force the keyless Host OAuth path for this run; stored keys are not deleted. */
|
|
23
|
+
oauth?: boolean;
|
|
22
24
|
mcpUrl: string;
|
|
23
25
|
launch: boolean;
|
|
24
26
|
attemptId?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AACA,4DAA4D;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAyE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AACA,4DAA4D;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAyE,MAAM,2BAA2B,CAAC;AA0hBrJ,6EAA6E;AAC7E,wBAAsB,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,aAAa,GAAG,qBAAqB,CAAC,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CA+DtJ;AAyPD,6DAA6D;AAC7D,wBAAsB,aAAa,CAAC,OAAO,EAAE;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;CACpC,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAEvC;AAqBD,wBAAsB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAIpE;AAuDD,wBAAsB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAI9H;AAoLD,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqDtD;AAgBD,MAAM,WAAW,oBAAoB;IACjC,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2FAA2F;IAC3F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,wEAAwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,sEAAsE;IACtE,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC"}
|