@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 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.13",
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.13",
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
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uru-intelligence/cli",
3
- "version": "0.4.13",
3
+ "version": "0.4.14",
4
4
  "private": false,
5
5
  "description": "Uru full-platform command line interface",
6
6
  "repository": {