@uru-intelligence/cli 0.4.13 → 0.4.14
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/CHANGELOG.md +2 -0
- package/dist/library.mjs +1 -1
- package/dist/uru.mjs +24 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -52,6 +52,8 @@
|
|
|
52
52
|
- Action: No action is required. Agents and scripts can read `suggestedCommand` from JSON errors instead of guessing the confirmation flag.
|
|
53
53
|
- Keep the CLI login when you switch workspace. A leftover workspace from a previous switch no longer poisons the next login. `uru switch` marks the current workspace in the list. — surfaces: cli; reference: apps/cli/src/oauth-credential.ts
|
|
54
54
|
- Action: No action is required. After you switch workspace, the next command keeps the same login. A new login writes only the workspace the login response selected.
|
|
55
|
+
- Pin URU_API_BASE and URU_PROXY_URL in generated MCP client config from the CLI API host, and send the MCP 2026-07-28 request envelope from CLI staging smoke. — surfaces: cli; reference: apps/cli/src/mcp-commands.ts
|
|
56
|
+
- Action: After `uru mcp config` against development or staging, set URU_API_KEY and use the emitted URU_PROXY_URL so clients do not fall through to production MCP. Prefer published CLI >= 0.4.14.
|
|
55
57
|
- Recover from a revoked CLI session without reusing the dead JWT. When the API returns `session_revoked`, the CLI now rotates the stored OAuth login once or clears it instead of sending the revoked token until local expiry. — surfaces: cli; reference: apps/cli/src/cli.ts
|
|
56
58
|
- Action: No action is required. Failures of this class now carry the `session_revoked` error code so they can be distinguished from a generic `auth_required` response.
|
|
57
59
|
- Report a non-JSON API response as what it is. A proxy or firewall that answers with an HTML page now produces the HTTP status and content type instead of `Unexpected token '<', "<!DOCTYPE "... is not valid JSON`. — surfaces: cli; reference: apps/cli/src/client.ts
|
package/dist/library.mjs
CHANGED
|
@@ -16903,7 +16903,7 @@ function pickString(record2, keys) {
|
|
|
16903
16903
|
// package.json
|
|
16904
16904
|
var package_default = {
|
|
16905
16905
|
name: "@uru-intelligence/cli",
|
|
16906
|
-
version: "0.4.
|
|
16906
|
+
version: "0.4.14",
|
|
16907
16907
|
private: false,
|
|
16908
16908
|
description: "Uru full-platform command line interface",
|
|
16909
16909
|
repository: {
|
package/dist/uru.mjs
CHANGED
|
@@ -21,7 +21,7 @@ import { homedir as homedir3 } from "node:os";
|
|
|
21
21
|
// package.json
|
|
22
22
|
var package_default = {
|
|
23
23
|
name: "@uru-intelligence/cli",
|
|
24
|
-
version: "0.4.
|
|
24
|
+
version: "0.4.14",
|
|
25
25
|
private: false,
|
|
26
26
|
description: "Uru full-platform command line interface",
|
|
27
27
|
repository: {
|
|
@@ -23779,6 +23779,7 @@ async function removeMcpConfig(ctx, args) {
|
|
|
23779
23779
|
}
|
|
23780
23780
|
function buildMcpServerConfig(ctx, flags) {
|
|
23781
23781
|
return mcpServerConfig({
|
|
23782
|
+
apiUrl: ctx.apiUrl,
|
|
23782
23783
|
workspaceId: ctx.workspace,
|
|
23783
23784
|
serverName: flags.values["--server-name"] ?? DEFAULT_SERVER_NAME,
|
|
23784
23785
|
packageName: flags.values["--package"] ?? DEFAULT_MCP_PACKAGE
|
|
@@ -23789,7 +23790,27 @@ function writeMcpConfigJson(ctx, config2) {
|
|
|
23789
23790
|
`);
|
|
23790
23791
|
}
|
|
23791
23792
|
var MCP_API_KEY_PLACEHOLDER = "${URU_API_KEY}";
|
|
23793
|
+
function mcpProxyUrlFromApiUrl(apiUrl) {
|
|
23794
|
+
let host;
|
|
23795
|
+
try {
|
|
23796
|
+
host = new URL(apiUrl).hostname.toLowerCase();
|
|
23797
|
+
} catch {
|
|
23798
|
+
return;
|
|
23799
|
+
}
|
|
23800
|
+
if (host === "api.uruintelligence.com") {
|
|
23801
|
+
return "https://mcp.uruintelligence.com/mcp";
|
|
23802
|
+
}
|
|
23803
|
+
const match = /^api-(development|staging|uat)\.uruintelligence\.com$/u.exec(host);
|
|
23804
|
+
if (match !== null) {
|
|
23805
|
+
return `https://mcp-${match[1]}.uruintelligence.com/mcp`;
|
|
23806
|
+
}
|
|
23807
|
+
if (host === "localhost" || host === "127.0.0.1") {
|
|
23808
|
+
return "http://localhost:3001";
|
|
23809
|
+
}
|
|
23810
|
+
return;
|
|
23811
|
+
}
|
|
23792
23812
|
function mcpServerConfig(args) {
|
|
23813
|
+
const proxyUrl = mcpProxyUrlFromApiUrl(args.apiUrl);
|
|
23793
23814
|
return {
|
|
23794
23815
|
mcpServers: {
|
|
23795
23816
|
[args.serverName]: {
|
|
@@ -23797,6 +23818,8 @@ function mcpServerConfig(args) {
|
|
|
23797
23818
|
args: ["-y", args.packageName],
|
|
23798
23819
|
env: {
|
|
23799
23820
|
URU_API_KEY: MCP_API_KEY_PLACEHOLDER,
|
|
23821
|
+
URU_API_BASE: args.apiUrl,
|
|
23822
|
+
...proxyUrl === undefined ? {} : { URU_PROXY_URL: proxyUrl },
|
|
23800
23823
|
...args.workspaceId === undefined ? {} : { URU_WORKSPACE_ID: args.workspaceId }
|
|
23801
23824
|
}
|
|
23802
23825
|
}
|