@stigmer/cli 3.12.9 → 3.14.0-dev.20260910084630

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.
Files changed (141) hide show
  1. package/auth/login.d.ts.map +1 -1
  2. package/auth/login.js +30 -5
  3. package/auth/login.js.map +1 -1
  4. package/auth/token.d.ts +10 -5
  5. package/auth/token.d.ts.map +1 -1
  6. package/auth/token.js +30 -21
  7. package/auth/token.js.map +1 -1
  8. package/commands/apikey/index.d.ts.map +1 -1
  9. package/commands/apikey/index.js +11 -5
  10. package/commands/apikey/index.js.map +1 -1
  11. package/commands/auth/index.d.ts.map +1 -1
  12. package/commands/auth/index.js +19 -8
  13. package/commands/auth/index.js.map +1 -1
  14. package/commands/config/backend.d.ts.map +1 -1
  15. package/commands/config/backend.js +134 -12
  16. package/commands/config/backend.js.map +1 -1
  17. package/commands/connect.d.ts.map +1 -1
  18. package/commands/connect.js +6 -3
  19. package/commands/connect.js.map +1 -1
  20. package/commands/share.d.ts.map +1 -1
  21. package/commands/share.js +8 -6
  22. package/commands/share.js.map +1 -1
  23. package/commands/up.d.ts.map +1 -1
  24. package/commands/up.js +22 -6
  25. package/commands/up.js.map +1 -1
  26. package/config/config.d.ts +56 -7
  27. package/config/config.d.ts.map +1 -1
  28. package/config/config.js +115 -16
  29. package/config/config.js.map +1 -1
  30. package/config/index.d.ts +1 -1
  31. package/config/index.d.ts.map +1 -1
  32. package/config/index.js +1 -1
  33. package/config/index.js.map +1 -1
  34. package/config/keys.d.ts +1 -1
  35. package/config/keys.d.ts.map +1 -1
  36. package/config/keys.js +29 -6
  37. package/config/keys.js.map +1 -1
  38. package/config/resolve.d.ts +32 -21
  39. package/config/resolve.d.ts.map +1 -1
  40. package/config/resolve.js +80 -39
  41. package/config/resolve.js.map +1 -1
  42. package/local/constants.d.ts +8 -3
  43. package/local/constants.d.ts.map +1 -1
  44. package/local/constants.js +8 -3
  45. package/local/constants.js.map +1 -1
  46. package/local/daemon/components.d.ts.map +1 -1
  47. package/local/daemon/components.js +4 -2
  48. package/local/daemon/components.js.map +1 -1
  49. package/local/daemon/env.d.ts +16 -3
  50. package/local/daemon/env.d.ts.map +1 -1
  51. package/local/daemon/env.js +16 -3
  52. package/local/daemon/env.js.map +1 -1
  53. package/local/daemon/launch.d.ts.map +1 -1
  54. package/local/daemon/launch.js +5 -4
  55. package/local/daemon/launch.js.map +1 -1
  56. package/local/daemon/process.d.ts.map +1 -1
  57. package/local/daemon/process.js +8 -5
  58. package/local/daemon/process.js.map +1 -1
  59. package/local/runtime/index.d.ts +2 -2
  60. package/local/runtime/index.d.ts.map +1 -1
  61. package/local/runtime/index.js +4 -2
  62. package/local/runtime/index.js.map +1 -1
  63. package/local/runtime/node.d.ts +8 -0
  64. package/local/runtime/node.d.ts.map +1 -1
  65. package/local/runtime/node.js +74 -23
  66. package/local/runtime/node.js.map +1 -1
  67. package/local/runtime/runner.d.ts +2 -1
  68. package/local/runtime/runner.d.ts.map +1 -1
  69. package/local/runtime/runner.js +4 -31
  70. package/local/runtime/runner.js.map +1 -1
  71. package/local/runtime/runtimes-install.d.ts +13 -0
  72. package/local/runtime/runtimes-install.d.ts.map +1 -0
  73. package/local/runtime/runtimes-install.js +60 -0
  74. package/local/runtime/runtimes-install.js.map +1 -0
  75. package/local/runtime/server.d.ts +26 -30
  76. package/local/runtime/server.d.ts.map +1 -1
  77. package/local/runtime/server.js +106 -108
  78. package/local/runtime/server.js.map +1 -1
  79. package/local/seedpack/content.d.ts +3 -3
  80. package/local/seedpack/content.d.ts.map +1 -1
  81. package/local/seedpack/content.js +19 -13
  82. package/local/seedpack/content.js.map +1 -1
  83. package/local/status.d.ts.map +1 -1
  84. package/local/status.js +4 -2
  85. package/local/status.js.map +1 -1
  86. package/local/webconsole/index.d.ts +2 -3
  87. package/local/webconsole/index.d.ts.map +1 -1
  88. package/local/webconsole/index.js +24 -10
  89. package/local/webconsole/index.js.map +1 -1
  90. package/package.json +5 -5
  91. package/resources/connect/connect.d.ts +4 -3
  92. package/resources/connect/connect.d.ts.map +1 -1
  93. package/resources/connect/connect.js +17 -5
  94. package/resources/connect/connect.js.map +1 -1
  95. package/resources/connect/oauth.d.ts +5 -2
  96. package/resources/connect/oauth.d.ts.map +1 -1
  97. package/resources/connect/oauth.js +5 -4
  98. package/resources/connect/oauth.js.map +1 -1
  99. package/src/auth/login.ts +54 -9
  100. package/src/auth/token.test.ts +69 -13
  101. package/src/auth/token.ts +46 -22
  102. package/src/client/client.test.ts +10 -2
  103. package/src/commands/apikey/index.ts +42 -11
  104. package/src/commands/auth/index.ts +52 -14
  105. package/src/commands/config/backend.test.ts +122 -0
  106. package/src/commands/config/backend.ts +195 -14
  107. package/src/commands/connect.test.ts +22 -4
  108. package/src/commands/connect.ts +37 -13
  109. package/src/commands/share.ts +36 -16
  110. package/src/commands/up.ts +24 -6
  111. package/src/config/config.test.ts +62 -6
  112. package/src/config/config.ts +165 -24
  113. package/src/config/index.ts +6 -0
  114. package/src/config/keys.test.ts +27 -4
  115. package/src/config/keys.ts +46 -9
  116. package/src/config/resolve.test.ts +135 -34
  117. package/src/config/resolve.ts +88 -38
  118. package/src/local/constants.ts +8 -4
  119. package/src/local/daemon/components.test.ts +9 -1
  120. package/src/local/daemon/components.ts +4 -2
  121. package/src/local/daemon/daemon.integration.test.ts +1 -1
  122. package/src/local/daemon/env.test.ts +15 -4
  123. package/src/local/daemon/env.ts +33 -5
  124. package/src/local/daemon/launch.ts +5 -4
  125. package/src/local/daemon/process.ts +7 -4
  126. package/src/local/runtime/index.ts +6 -5
  127. package/src/local/runtime/node.ts +99 -23
  128. package/src/local/runtime/runner.ts +5 -36
  129. package/src/local/runtime/runtime.test.ts +58 -14
  130. package/src/local/runtime/runtimes-install.test.ts +56 -0
  131. package/src/local/runtime/runtimes-install.ts +72 -0
  132. package/src/local/runtime/server.test.ts +178 -114
  133. package/src/local/runtime/server.ts +149 -129
  134. package/src/local/seedpack/content.ts +52 -21
  135. package/src/local/status.ts +4 -2
  136. package/src/local/webconsole/index.ts +27 -10
  137. package/src/resources/connect/connect.integration.test.ts +79 -26
  138. package/src/resources/connect/connect.ts +72 -19
  139. package/src/resources/connect/oauth.test.ts +38 -12
  140. package/src/resources/connect/oauth.ts +27 -11
  141. package/src/resources/share.test.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/auth/login.ts"],"names":[],"mappings":"AAsBA,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAsC3C"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/auth/login.ts"],"names":[],"mappings":"AA2BA,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA8E3C"}
package/auth/login.js CHANGED
@@ -9,7 +9,7 @@
9
9
  //
10
10
  // Progress goes to stderr; the command layer renders the final result.
11
11
  import open from "open";
12
- import { load, save } from "../config/index.js";
12
+ import { CLOUD_BACKEND_NAME, activeBackend, load, save, } from "../config/index.js";
13
13
  import { CliExitError, ExitCode } from "../errors/index.js";
14
14
  import { log } from "../logger.js";
15
15
  import { buildAuthorizeUrl, CALLBACK_PATH, CALLBACK_PORT } from "./auth0.js";
@@ -18,6 +18,22 @@ import { challengeS256, generateState, generateVerifier } from "./pkce.js";
18
18
  import { exchangeCode } from "./token.js";
19
19
  const LOGIN_TIMEOUT_MS = 5 * 60 * 1000;
20
20
  export async function login() {
21
+ // Browser PKCE targets Stigmer Cloud only: the Auth0 coordinates are
22
+ // compiled in. From the local backend, login lands on (creating if
23
+ // needed) the reserved "cloud" entry — today's behavior in the named
24
+ // model. On a selfhost backend the flow refuses with the self-host
25
+ // credential story (API tokens) instead of silently writing cloud
26
+ // credentials the active backend would never send.
27
+ const preflight = load();
28
+ const { name, entry } = activeBackend(preflight);
29
+ if (entry?.type === "selfhost") {
30
+ throw new CliExitError(`backend "${name}" is self-hosted — browser login targets Stigmer Cloud only`, ExitCode.Usage, [
31
+ "Authenticate a self-hosted backend with an API token:",
32
+ " stigmer apikey create --name cli",
33
+ ` stigmer config backend add ${name} --endpoint <host:port> --api-key <key>`,
34
+ "or switch first: stigmer config backend use cloud",
35
+ ]);
36
+ }
21
37
  const verifier = generateVerifier();
22
38
  const codeChallenge = challengeS256(verifier);
23
39
  const state = generateState();
@@ -38,15 +54,24 @@ export async function login() {
38
54
  if (callback.state !== state) {
39
55
  throw new CliExitError("OAuth state mismatch — possible CSRF attack, aborting login", ExitCode.Auth);
40
56
  }
41
- const tokens = await exchangeCode({ code: callback.code, codeVerifier: verifier });
57
+ const tokens = await exchangeCode({
58
+ code: callback.code,
59
+ codeVerifier: verifier,
60
+ });
42
61
  const config = load();
43
- config.backend.type = "cloud";
44
- config.backend.cloud = {
45
- ...config.backend.cloud,
62
+ const active = activeBackend(config);
63
+ // A cloud-type backend keeps its own login; anything else (the local
64
+ // daemon) lands on the reserved "cloud" entry and switches to it.
65
+ const targetName = active.entry?.type === "cloud" ? active.name : CLOUD_BACKEND_NAME;
66
+ const backends = (config.backends ??= {});
67
+ backends[targetName] = {
68
+ ...(backends[targetName] ?? { type: "cloud" }),
69
+ type: "cloud",
46
70
  token: tokens.accessToken,
47
71
  refresh_token: tokens.refreshToken,
48
72
  token_expiry: tokens.expiresAt,
49
73
  };
74
+ config.current_backend = targetName;
50
75
  save(config);
51
76
  }
52
77
  finally {
package/auth/login.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/auth/login.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,EAAE;AACF,QAAQ;AACR,8DAA8D;AAC9D,kEAAkE;AAClE,8EAA8E;AAC9E,0EAA0E;AAC1E,4DAA4D;AAC5D,EAAE;AACF,uEAAuE;AAEvE,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvC,MAAM,CAAC,KAAK,UAAU,KAAK;IACzB,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,MAAM,aAAa,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAE9B,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAChE,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAChE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,OAAO,MAAM,CAAC,CAAC;QAE1F,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,GAAG,CAAC,KAAK,CAAC,yCAA0C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;QACjG,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;QAChE,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YAC7B,MAAM,IAAI,YAAY,CAAC,6DAA6D,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACvG,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;QAEnF,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;QAC9B,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG;YACrB,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK;YACvB,KAAK,EAAE,MAAM,CAAC,WAAW;YACzB,aAAa,EAAE,MAAM,CAAC,YAAY;YAClC,YAAY,EAAE,MAAM,CAAC,SAAS;SAC/B,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,CAAC;IACf,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/auth/login.ts"],"names":[],"mappings":"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"}
package/auth/token.d.ts CHANGED
@@ -18,12 +18,17 @@ export declare function refreshAccessToken(refreshToken: string): Promise<TokenS
18
18
  /**
19
19
  * A token provider for the backend client that keeps the access token fresh.
20
20
  *
21
- * Precedence and behavior, evaluated per request:
21
+ * Precedence and behavior, evaluated per request against the ACTIVE named
22
+ * backend:
22
23
  * 1. STIGMER_API_KEY (env / bridged --api-key) wins and is never refreshed.
23
- * 2. A non-expired access token is returned as-is.
24
- * 3. An expired token with a refresh token is refreshed; the new token,
25
- * rotated refresh token, and expiry are persisted, then returned.
26
- * 4. Otherwise the (possibly stale) token or null is returned, letting the
24
+ * 2. selfhost backends return their stored api_key (no refresh machinery —
25
+ * server-minted `stk_` tokens are opaque and live until deleted or
26
+ * expired server-side); local returns null (no auth).
27
+ * 3. A cloud backend's non-expired access token is returned as-is.
28
+ * 4. An expired token with a refresh token is refreshed; the new token,
29
+ * rotated refresh token, and expiry are persisted INTO THE ENTRY, then
30
+ * returned.
31
+ * 5. Otherwise the (possibly stale) token or null is returned, letting the
27
32
  * server reject it so the error maps to a clear "please log in" exit.
28
33
  *
29
34
  * Closes over `config` so a refresh updates the same object the rest of the
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/auth/token.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,KAAK,MAAM,EAAQ,MAAM,oBAAoB,CAAC;AAIvD,yDAAyD;AACzD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,wEAAwE;IACxE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAcD,yEAAyE;AACzE,wBAAsB,YAAY,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAQpG;AAED,yDAAyD;AACzD,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAMhF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAa3E"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../src/auth/token.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,KAAK,MAAM,EAIZ,MAAM,oBAAoB,CAAC;AAI5B,yDAAyD;AACzD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,wEAAwE;IACxE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,wEAAwE;IACxE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAcD,yEAAyE;AACzE,wBAAsB,YAAY,CAAC,MAAM,EAAE;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAQpB;AAED,yDAAyD;AACzD,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,QAAQ,CAAC,CAMnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAmB3E"}
package/auth/token.js CHANGED
@@ -1,6 +1,6 @@
1
1
  // Auth0 token operations: exchange an authorization code for tokens, refresh an
2
2
  // expired access token, and expose a token provider that refreshes silently.
3
- import { save } from "../config/index.js";
3
+ import { activeBackend, save, } from "../config/index.js";
4
4
  import { CliExitError, ExitCode } from "../errors/index.js";
5
5
  import { CLIENT_ID, callbackUrl, TOKEN_URL } from "./auth0.js";
6
6
  // Refresh this many ms before the real expiry so an in-flight request never
@@ -27,12 +27,17 @@ export async function refreshAccessToken(refreshToken) {
27
27
  /**
28
28
  * A token provider for the backend client that keeps the access token fresh.
29
29
  *
30
- * Precedence and behavior, evaluated per request:
30
+ * Precedence and behavior, evaluated per request against the ACTIVE named
31
+ * backend:
31
32
  * 1. STIGMER_API_KEY (env / bridged --api-key) wins and is never refreshed.
32
- * 2. A non-expired access token is returned as-is.
33
- * 3. An expired token with a refresh token is refreshed; the new token,
34
- * rotated refresh token, and expiry are persisted, then returned.
35
- * 4. Otherwise the (possibly stale) token or null is returned, letting the
33
+ * 2. selfhost backends return their stored api_key (no refresh machinery —
34
+ * server-minted `stk_` tokens are opaque and live until deleted or
35
+ * expired server-side); local returns null (no auth).
36
+ * 3. A cloud backend's non-expired access token is returned as-is.
37
+ * 4. An expired token with a refresh token is refreshed; the new token,
38
+ * rotated refresh token, and expiry are persisted INTO THE ENTRY, then
39
+ * returned.
40
+ * 5. Otherwise the (possibly stale) token or null is returned, letting the
36
41
  * server reject it so the error maps to a clear "please log in" exit.
37
42
  *
38
43
  * Closes over `config` so a refresh updates the same object the rest of the
@@ -43,18 +48,24 @@ export function createRefreshingTokenProvider(config) {
43
48
  const envKey = process.env.STIGMER_API_KEY;
44
49
  if (envKey !== undefined && envKey !== "")
45
50
  return envKey;
46
- const cloud = config.backend.cloud;
47
- if (cloud?.token === undefined || cloud.token === "") {
48
- return cloud?.refresh_token ? refreshAndPersist(config, cloud.refresh_token) : null;
51
+ const { entry } = activeBackend(config);
52
+ if (entry === undefined)
53
+ return null;
54
+ if (entry.type === "selfhost")
55
+ return entry.api_key ?? null;
56
+ if (entry.token === undefined || entry.token === "") {
57
+ return entry.refresh_token
58
+ ? refreshAndPersist(config, entry, entry.refresh_token)
59
+ : null;
49
60
  }
50
- if (!isExpired(cloud.token_expiry))
51
- return cloud.token;
52
- if (cloud.refresh_token === undefined || cloud.refresh_token === "")
53
- return cloud.token;
54
- return refreshAndPersist(config, cloud.refresh_token);
61
+ if (!isExpired(entry.token_expiry))
62
+ return entry.token;
63
+ if (entry.refresh_token === undefined || entry.refresh_token === "")
64
+ return entry.token;
65
+ return refreshAndPersist(config, entry, entry.refresh_token);
55
66
  };
56
67
  }
57
- async function refreshAndPersist(config, refreshToken) {
68
+ async function refreshAndPersist(config, entry, refreshToken) {
58
69
  let next;
59
70
  try {
60
71
  next = await refreshAccessToken(refreshToken);
@@ -62,14 +73,12 @@ async function refreshAndPersist(config, refreshToken) {
62
73
  catch {
63
74
  // Refresh failed (revoked/expired refresh token). Fall back to the current
64
75
  // token if any; the server will reject it and the user is prompted to log in.
65
- return config.backend.cloud?.token ?? null;
76
+ return entry.token ?? null;
66
77
  }
67
- const cloud = config.backend.cloud ?? {};
68
- cloud.token = next.accessToken;
78
+ entry.token = next.accessToken;
69
79
  if (next.refreshToken !== undefined)
70
- cloud.refresh_token = next.refreshToken;
71
- cloud.token_expiry = next.expiresAt;
72
- config.backend.cloud = cloud;
80
+ entry.refresh_token = next.refreshToken;
81
+ entry.token_expiry = next.expiresAt;
73
82
  save(config);
74
83
  return next.accessToken;
75
84
  }
package/auth/token.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/auth/token.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,6EAA6E;AAG7E,OAAO,EAAe,IAAI,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAW/D,4EAA4E;AAC5E,+BAA+B;AAC/B,MAAM,cAAc,GAAG,MAAM,CAAC;AAU9B,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAA8C;IAC/E,OAAO,SAAS,CAAC;QACf,UAAU,EAAE,oBAAoB;QAChC,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,YAAY,EAAE,WAAW,EAAE;QAC3B,aAAa,EAAE,MAAM,CAAC,YAAY;KACnC,CAAC,CAAC;AACL,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,YAAoB;IAC3D,OAAO,SAAS,CAAC;QACf,UAAU,EAAE,eAAe;QAC3B,SAAS,EAAE,SAAS;QACpB,aAAa,EAAE,YAAY;KAC5B,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,6BAA6B,CAAC,MAAc;IAC1D,OAAO,KAAK,IAA4B,EAAE;QACxC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE;YAAE,OAAO,MAAM,CAAC;QAEzD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QACnC,IAAI,KAAK,EAAE,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;YACrD,OAAO,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtF,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC;QACvD,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,KAAK,EAAE;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC;QACxF,OAAO,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,MAAc,EAAE,YAAoB;IACnE,IAAI,IAAc,CAAC;IACnB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,2EAA2E;QAC3E,8EAA8E;QAC9E,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC;IAC7C,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;IACzC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;IAC/B,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS;QAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;IAC7E,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC;IACpC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,CAAC;IACb,OAAO,IAAI,CAAC,WAAW,CAAC;AAC1B,CAAC;AAED,SAAS,SAAS,CAAC,SAA6B;IAC9C,6EAA6E;IAC7E,sDAAsD;IACtD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ,GAAG,cAAc,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAA4B;IACnD,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;YAChE,IAAI,EAAE,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CACpB,8CAA+C,GAAa,CAAC,OAAO,EAAE,EACtE,QAAQ,CAAC,UAAU,CACpB,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAuB,CAAC;IAC7E,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;QACjF,MAAM,IAAI,YAAY,CAAC,0BAA0B,MAAM,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,YAAY;QAC9B,YAAY,EAAE,IAAI,CAAC,aAAa;QAChC,SAAS,EACP,IAAI,CAAC,UAAU,KAAK,SAAS;YAC3B,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;YAC7D,CAAC,CAAC,SAAS;KAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/auth/token.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/apikey/index.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqBrD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/apikey/index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBzC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuBrD"}
@@ -5,15 +5,17 @@
5
5
  import { createHash } from "node:crypto";
6
6
  import { create } from "@bufbuild/protobuf";
7
7
  import { timestampDate } from "@bufbuild/protobuf/wkt";
8
- import { ApiKeySchema } from "@stigmer/protos/ai/stigmer/iam/apikey/v1/api_pb";
8
+ import { ApiKeySchema, } from "@stigmer/protos/ai/stigmer/iam/apikey/v1/api_pb";
9
9
  import { ApiKeyHashSchema } from "@stigmer/protos/ai/stigmer/iam/apikey/v1/io_pb";
10
- import { ensureAuthenticated, resolveContextOrganization } from "../../config/index.js";
11
- import { renderProtoJson, renderProtoYaml } from "../../output/index.js";
10
+ import { ensureAuthenticated, resolveContextOrganization, } from "../../config/index.js";
11
+ import { renderProtoJson, renderProtoYaml, } from "../../output/index.js";
12
12
  import { addReadFlags, readFormat } from "../shared.js";
13
13
  import { parseExpiration } from "./duration.js";
14
14
  const DEFAULT_EXPIRATION_DAYS = 90;
15
15
  export function registerApiKey(program) {
16
- const apikey = program.command("apikey").description("manage API keys for Stigmer Cloud authentication");
16
+ const apikey = program
17
+ .command("apikey")
18
+ .description("manage API keys for Stigmer Cloud authentication");
17
19
  const create = apikey
18
20
  .command("create")
19
21
  .description("create a new API key")
@@ -55,7 +57,11 @@ async function runCreate(options) {
55
57
  process.stdout.write(renderCreatedBanner(created));
56
58
  }
57
59
  async function runFingerprint(rawKey, options) {
58
- const hash = createHash("sha256").update(rawKey).digest("hex");
60
+ // Base64URL without padding — the server's storage encoding (the Java
61
+ // ApiKeyHasher and the TS keymaterial module agree). This was hex until
62
+ // O3, which meant the computed hash could never match a stored key_hash
63
+ // and the lookup below always answered NotFound (gate ruling Q7).
64
+ const hash = createHash("sha256").update(rawKey).digest("base64url");
59
65
  const { connectBackend } = await import("../../backend.js");
60
66
  const client = connectBackend();
61
67
  ensureAuthenticated(client.config);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/apikey/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/apikey/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgCnD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAezC,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkCnD"}
@@ -2,11 +2,13 @@
2
2
  //
3
3
  // login is interactive (browser PKCE) and human-only; logout and whoami honor
4
4
  // the standard mutating-output flags.
5
- import { ensureAuthenticated, load, resolveContextOrganization, save } from "../../config/index.js";
6
- import { CommandResult, renderResult } from "../../output/index.js";
5
+ import { activeBackend, ensureAuthenticated, load, resolveContextOrganization, save, } from "../../config/index.js";
6
+ import { CommandResult, renderResult, } from "../../output/index.js";
7
7
  import { addResultFlags, resultFormat } from "../shared.js";
8
8
  export function registerAuth(program) {
9
- const auth = program.command("auth").description("manage authentication with Stigmer Cloud");
9
+ const auth = program
10
+ .command("auth")
11
+ .description("manage authentication with Stigmer Cloud");
10
12
  auth
11
13
  .command("login")
12
14
  .description("log in to Stigmer Cloud via browser (PKCE OAuth)")
@@ -34,13 +36,22 @@ export function registerAuth(program) {
34
36
  }
35
37
  function runLogout() {
36
38
  const config = load();
37
- const cloud = config.backend.cloud;
38
- if (cloud === undefined || (cloud.token === undefined && cloud.refresh_token === undefined)) {
39
+ const { name, entry } = activeBackend(config);
40
+ if (entry?.type === "selfhost") {
41
+ if (entry.api_key === undefined) {
42
+ return CommandResult.warning("No API key stored for this backend");
43
+ }
44
+ entry.api_key = undefined;
45
+ save(config);
46
+ return CommandResult.success(`Cleared the stored API key for backend "${name}"`);
47
+ }
48
+ if (entry === undefined ||
49
+ (entry.token === undefined && entry.refresh_token === undefined)) {
39
50
  return CommandResult.warning("Not currently logged in").hint("Run 'stigmer auth login' to authenticate.");
40
51
  }
41
- cloud.token = undefined;
42
- cloud.refresh_token = undefined;
43
- cloud.token_expiry = undefined;
52
+ entry.token = undefined;
53
+ entry.refresh_token = undefined;
54
+ entry.token_expiry = undefined;
44
55
  save(config);
45
56
  return CommandResult.success("Logged out from Stigmer Cloud").hint("Run 'stigmer auth login' to authenticate again.");
46
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/auth/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/auth/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../src/commands/config/backend.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgBzD"}
1
+ {"version":3,"file":"backend.d.ts","sourceRoot":"","sources":["../../../src/commands/config/backend.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4BzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAyDzD"}
@@ -1,7 +1,10 @@
1
- // `stigmer config backend status|set` — inspect and switch the active backend.
2
- import { isCloudMode, load, resolveEndpoint, save } from "../../config/index.js";
1
+ // `stigmer config backend status|set|add|use|list|remove` — the named-backend
2
+ // surface (O3, 20260827.06; the kubectl-context model). `status` and
3
+ // `set <local|cloud>` predate named backends and stay as the simple view:
4
+ // set is sugar for `use` over the two reserved names.
5
+ import { CLOUD_BACKEND_NAME, LOCAL_BACKEND_NAME, activeBackend, activeBackendName, load, resolveEndpoint, save, } from "../../config/index.js";
3
6
  import { UsageError } from "../../errors/index.js";
4
- import { CommandResult, renderResult } from "../../output/index.js";
7
+ import { CommandResult, renderResult, } from "../../output/index.js";
5
8
  import { addResultFlags, resultFormat } from "../shared.js";
6
9
  const DEFAULT_CLOUD_ENDPOINT = "api.stigmer.ai:443";
7
10
  export function addBackendCommands(backend) {
@@ -14,36 +17,155 @@ export function addBackendCommands(backend) {
14
17
  addResultFlags(status);
15
18
  const set = backend
16
19
  .command("set <type>")
17
- .description("set the backend type (local or cloud)")
20
+ .description("switch between the reserved local and cloud backends")
18
21
  .action((type, options) => {
19
22
  renderResult(applySet(type), resultFormat(options));
20
23
  });
21
24
  addResultFlags(set);
25
+ const add = backend
26
+ .command("add <name>")
27
+ .description("add or update a named backend (self-hosted by default)")
28
+ .requiredOption("--endpoint <host:port>", "the server address, e.g. stigmer.example.com:443")
29
+ .option("--type <type>", "backend type: selfhost or cloud", "selfhost")
30
+ .option("--api-key <key>", "API token for a self-hosted backend (stigmer apikey create)")
31
+ .action((name, options) => {
32
+ renderResult(applyAdd(name, options), resultFormat(options));
33
+ });
34
+ addResultFlags(add);
35
+ const use = backend
36
+ .command("use <name>")
37
+ .description("switch the active backend")
38
+ .action((name, options) => {
39
+ renderResult(applyUse(name), resultFormat(options));
40
+ });
41
+ addResultFlags(use);
42
+ const list = backend
43
+ .command("list")
44
+ .description("list configured backends")
45
+ .action((options) => {
46
+ renderResult(buildList(load()), resultFormat(options));
47
+ });
48
+ addResultFlags(list);
49
+ const remove = backend
50
+ .command("remove <name>")
51
+ .description("remove a named backend")
52
+ .action((name, options) => {
53
+ renderResult(applyRemove(name), resultFormat(options));
54
+ });
55
+ addResultFlags(remove);
22
56
  }
23
57
  function buildStatus(config) {
58
+ const { name, entry } = activeBackend(config);
24
59
  const result = CommandResult.success("Backend configuration");
25
- const section = result.addSection("").field("Type", config.backend.type).field("Endpoint", resolveEndpoint(config));
26
- if (isCloudMode(config)) {
27
- section.field("Auth", config.backend.cloud?.token ? "Logged in" : "Not logged in");
60
+ const section = result
61
+ .addSection("")
62
+ .field("Backend", name)
63
+ .field("Type", entry?.type ?? "local")
64
+ .field("Endpoint", resolveEndpoint(config));
65
+ if (entry?.type === "cloud") {
66
+ section.field("Auth", entry.token ? "Logged in" : "Not logged in");
67
+ }
68
+ if (entry?.type === "selfhost") {
69
+ section.field("Auth", entry.api_key
70
+ ? "API key stored"
71
+ : "No credential (unauthenticated server, or STIGMER_API_KEY)");
28
72
  }
29
73
  return result;
30
74
  }
31
75
  function applySet(type) {
32
76
  if (type !== "local" && type !== "cloud") {
33
- throw new UsageError(`invalid backend type "${type}" (expected: local, cloud)`);
77
+ throw new UsageError(`invalid backend type "${type}" (expected: local, cloud — named backends switch with 'use')`);
34
78
  }
35
79
  const config = load();
36
- config.backend.type = type;
37
80
  if (type === "cloud") {
38
- if (config.backend.cloud === undefined) {
39
- config.backend.cloud = { endpoint: DEFAULT_CLOUD_ENDPOINT };
40
- }
81
+ const backends = (config.backends ??= {});
82
+ backends[CLOUD_BACKEND_NAME] ??= {
83
+ type: "cloud",
84
+ endpoint: DEFAULT_CLOUD_ENDPOINT,
85
+ };
86
+ config.current_backend = CLOUD_BACKEND_NAME;
41
87
  save(config);
42
88
  return CommandResult.success("Backend set to cloud")
43
89
  .hint("Please authenticate:")
44
90
  .hint(" stigmer auth login");
45
91
  }
92
+ config.current_backend = LOCAL_BACKEND_NAME;
46
93
  save(config);
47
94
  return CommandResult.success("Backend set to local").hint("Make sure the Stigmer server is running.");
48
95
  }
96
+ function applyAdd(name, options) {
97
+ if (name === LOCAL_BACKEND_NAME) {
98
+ throw new UsageError(`"${LOCAL_BACKEND_NAME}" is the managed local daemon — it cannot be redefined`);
99
+ }
100
+ const type = options.type ?? "selfhost";
101
+ if (type !== "selfhost" && type !== "cloud") {
102
+ throw new UsageError(`invalid backend type "${type}" (expected: selfhost, cloud)`);
103
+ }
104
+ const endpoint = options.endpoint ?? "";
105
+ if (endpoint === "") {
106
+ throw new UsageError("--endpoint is required");
107
+ }
108
+ const config = load();
109
+ const backends = (config.backends ??= {});
110
+ const existing = backends[name];
111
+ backends[name] = {
112
+ ...existing,
113
+ type: type,
114
+ endpoint,
115
+ ...(options.apiKey !== undefined ? { api_key: options.apiKey } : {}),
116
+ };
117
+ save(config);
118
+ const result = CommandResult.success(`Backend "${name}" ${existing !== undefined ? "updated" : "added"} (${type}, ${endpoint})`).hint(`Switch to it: stigmer config backend use ${name}`);
119
+ if (type === "selfhost" && backends[name].api_key === undefined) {
120
+ result.hint("No API key stored. For an authenticated server, mint one on that backend:");
121
+ result.hint(" stigmer apikey create --name cli");
122
+ }
123
+ return result;
124
+ }
125
+ function applyUse(name) {
126
+ const config = load();
127
+ if (name !== LOCAL_BACKEND_NAME && config.backends?.[name] === undefined) {
128
+ throw new UsageError(`unknown backend "${name}" (known: ${knownBackendNames(config).join(", ")})`);
129
+ }
130
+ config.current_backend = name;
131
+ save(config);
132
+ return CommandResult.success(`Switched to backend "${name}"`);
133
+ }
134
+ function buildList(config) {
135
+ const current = activeBackendName(config);
136
+ const result = CommandResult.success("Configured backends");
137
+ for (const name of knownBackendNames(config)) {
138
+ const entry = config.backends?.[name];
139
+ const marker = name === current ? " (current)" : "";
140
+ const section = result.addSection(`${name}${marker}`);
141
+ section.field("Type", entry?.type ?? "local");
142
+ section.field("Endpoint", entry?.endpoint ??
143
+ (entry?.type === "cloud" ? DEFAULT_CLOUD_ENDPOINT : "localhost:7234"));
144
+ if (entry?.type === "cloud") {
145
+ section.field("Auth", entry.token ? "Logged in" : "Not logged in");
146
+ }
147
+ else if (entry?.type === "selfhost") {
148
+ section.field("Auth", entry.api_key ? "API key stored" : "None");
149
+ }
150
+ }
151
+ return result;
152
+ }
153
+ function applyRemove(name) {
154
+ if (name === LOCAL_BACKEND_NAME) {
155
+ throw new UsageError(`"${LOCAL_BACKEND_NAME}" is the managed local daemon — it cannot be removed`);
156
+ }
157
+ const config = load();
158
+ if (config.backends?.[name] === undefined) {
159
+ throw new UsageError(`unknown backend "${name}"`);
160
+ }
161
+ if (activeBackendName(config) === name) {
162
+ throw new UsageError(`backend "${name}" is the current backend — switch first: stigmer config backend use ${LOCAL_BACKEND_NAME}`);
163
+ }
164
+ delete config.backends[name];
165
+ save(config);
166
+ return CommandResult.success(`Removed backend "${name}"`);
167
+ }
168
+ function knownBackendNames(config) {
169
+ return [LOCAL_BACKEND_NAME, ...Object.keys(config.backends ?? {}).sort()];
170
+ }
49
171
  //# sourceMappingURL=backend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../../src/commands/config/backend.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAG/E,OAAO,EAAe,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAoB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,sBAAsB,GAAG,oBAAoB,CAAC;AAEpD,MAAM,UAAU,kBAAkB,CAAC,OAAgB;IACjD,MAAM,MAAM,GAAG,OAAO;SACnB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,CAAC,OAAoB,EAAE,EAAE;QAC/B,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IACL,cAAc,CAAC,MAAM,CAAC,CAAC;IAEvB,MAAM,GAAG,GAAG,OAAO;SAChB,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CAAC,CAAC,IAAY,EAAE,OAAoB,EAAE,EAAE;QAC7C,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IACL,cAAc,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IACjC,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;IACpH,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACrF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACzC,MAAM,IAAI,UAAU,CAAC,yBAAyB,IAAI,4BAA4B,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC;IACtB,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAE3B,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC;QAC9D,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,CAAC;QACb,OAAO,aAAa,CAAC,OAAO,CAAC,sBAAsB,CAAC;aACjD,IAAI,CAAC,sBAAsB,CAAC;aAC5B,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,CAAC;IACb,OAAO,aAAa,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;AACxG,CAAC"}
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../../src/commands/config/backend.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoBtD"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBzC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2BtD"}
@@ -5,13 +5,15 @@
5
5
  // Thin handler: resolve the client/org, delegate to resources/connect, render.
6
6
  // Heavy modules (backend client, MCP SDK) are lazy-imported so `--help` stays
7
7
  // fast (DD-001).
8
- import { ensureAuthenticated, resolveOrganization } from "../config/index.js";
8
+ import { activeBackend, ensureAuthenticated, resolveConsoleURL, resolveOrganization, } from "../config/index.js";
9
9
  import { UsageError } from "../errors/index.js";
10
10
  import { shouldColorize } from "../output/style.js";
11
11
  import { globalOrg } from "./shared.js";
12
12
  const DEFAULT_TIMEOUT_SECONDS = 30;
13
13
  export function registerConnect(program) {
14
- const connect = program.command("connect").description("connect to external services and discover capabilities");
14
+ const connect = program
15
+ .command("connect")
16
+ .description("connect to external services and discover capabilities");
15
17
  connect
16
18
  .command("mcp-server <slug-or-id>")
17
19
  .description("connect to an MCP server and discover its tools")
@@ -55,7 +57,8 @@ async function runConnect(reference, options, command) {
55
57
  pushTimeoutMs: timeoutIsExplicit ? timeoutMs : undefined,
56
58
  dryRun: options.dryRun === true,
57
59
  envOverrides: options.env,
58
- backendType: client.config.backend.type,
60
+ consoleURL: resolveConsoleURL(client.config),
61
+ probeLocalConsole: activeBackend(client.config).entry === undefined,
59
62
  interactive: process.stderr.isTTY === true,
60
63
  });
61
64
  const colorize = shouldColorize(process.stdout);
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}