@kodycodes/cli 1.10.1 → 1.10.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.
@@ -4,7 +4,11 @@ export declare const defaultApiUrl = "https://api.kody.codes";
4
4
  export declare const apiTokenEnvVar = "KODY_API_TOKEN";
5
5
  /** Pin to Kody's stateless `/mcp` lane. */
6
6
  export declare const modernMcpProtocolVersion = "2026-07-28";
7
- export declare const defaultScopes: readonly ["profile", "email"];
7
+ export declare const defaultScopes: readonly ["openid", "profile", "email"];
8
+ /** True when a stored OAuth scope string already includes `openid`. */
9
+ export declare function scopeIncludesOpenid(scope: string | undefined): boolean;
10
+ /** Hint when MCP whoami/search fail because the login session lacks openid. */
11
+ export declare const missingOpenidReloginHint = "Your login session is missing the openid scope. Run `kody logout && kody login` to refresh.";
8
12
  export declare const keyringService = "kody.codes";
9
13
  export declare const loginTimeoutMs: number;
10
14
  export declare const accessTokenSkewMs = 60000;
package/dist/defaults.js CHANGED
@@ -4,7 +4,15 @@ export const defaultApiUrl = 'https://api.kody.codes';
4
4
  export const apiTokenEnvVar = 'KODY_API_TOKEN';
5
5
  /** Pin to Kody's stateless `/mcp` lane. */
6
6
  export const modernMcpProtocolVersion = '2026-07-28';
7
- export const defaultScopes = ['profile', 'email'];
7
+ export const defaultScopes = ['openid', 'profile', 'email'];
8
+ /** True when a stored OAuth scope string already includes `openid`. */
9
+ export function scopeIncludesOpenid(scope) {
10
+ if (!scope)
11
+ return false;
12
+ return scope.split(/\s+/).includes('openid');
13
+ }
14
+ /** Hint when MCP whoami/search fail because the login session lacks openid. */
15
+ export const missingOpenidReloginHint = 'Your login session is missing the openid scope. Run `kody logout && kody login` to refresh.';
8
16
  export const keyringService = 'kody.codes';
9
17
  export const loginTimeoutMs = 5 * 60 * 1000;
10
18
  export const accessTokenSkewMs = 60_000;
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAA;AACrD,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAA;AACrD,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAA;AAC9C,2CAA2C;AAC3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAA;AACpD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,OAAO,CAAU,CAAA;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAA;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAA;AACvC,MAAM,CAAC,MAAM,OAAO,GAAG,gBAAgB,CAAA;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG,iCAAiC,CAAA;AAC7D,kEAAkE;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAA;AACtC,MAAM,CAAC,MAAM,uBAAuB,GAAG,iCAAiC,CAAA;AAExE,MAAM,UAAU,oBAAoB,CAAC,MAAc;IAClD,OAAO,IAAI,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,IAAI,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe,iBAAiB;IAC9D,OAAO,IAAI,GAAG,CAAC,oBAAoB,IAAI,WAAW,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAA;AAE3C,MAAM,UAAU,aAAa,CAAC,MAAc;IAC3C,OAAO,IAAI,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,IAAI,CAAA;AAC5C,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAA;AACrD,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,wBAAwB,CAAA;AACrD,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAA;AAC9C,2CAA2C;AAC3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAA;AACpD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAU,CAAA;AAEpE,uEAAuE;AACvE,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC5D,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAA;IACxB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AAC7C,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,wBAAwB,GACpC,6FAA6F,CAAA;AAE9F,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAA;AAC1C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAA;AACvC,MAAM,CAAC,MAAM,OAAO,GAAG,gBAAgB,CAAA;AACvC,MAAM,CAAC,MAAM,YAAY,GAAG,iCAAiC,CAAA;AAC7D,kEAAkE;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAA;AACtC,MAAM,CAAC,MAAM,uBAAuB,GAAG,iCAAiC,CAAA;AAExE,MAAM,UAAU,oBAAoB,CAAC,MAAc;IAClD,OAAO,IAAI,GAAG,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,IAAI,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAe,iBAAiB;IAC9D,OAAO,IAAI,GAAG,CAAC,oBAAoB,IAAI,WAAW,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAA;AAE3C,MAAM,UAAU,aAAa,CAAC,MAAc;IAC3C,OAAO,IAAI,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,IAAI,CAAA;AAC5C,CAAC"}
package/dist/mcp.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { Client, StreamableHTTPClientTransport, UnauthorizedError, } from '@modelcontextprotocol/client';
2
- import { cliName, modernMcpProtocolVersion } from './defaults.js';
2
+ import { cliName, missingOpenidReloginHint, modernMcpProtocolVersion, scopeIncludesOpenid, } from './defaults.js';
3
3
  import { ensureFreshCredentials, refreshStoredCredentials } from './auth.js';
4
4
  import { readPackageVersion } from './package-info.js';
5
5
  import { redactError } from './redact.js';
@@ -30,7 +30,7 @@ export async function callKodyTool(input) {
30
30
  }
31
31
  catch (error) {
32
32
  if (!(error instanceof UnauthorizedError) && !isUnauthorized(error)) {
33
- throw redactError(error);
33
+ throw withOpenidScopeHint(error, credentials.scope);
34
34
  }
35
35
  const refreshed = await refreshStoredCredentials({
36
36
  credentials,
@@ -41,7 +41,7 @@ export async function callKodyTool(input) {
41
41
  return await invoke(refreshed.mcpUrl, refreshed.accessToken, input);
42
42
  }
43
43
  catch (retryError) {
44
- throw redactError(retryError);
44
+ throw withOpenidScopeHint(retryError, refreshed.scope);
45
45
  }
46
46
  }
47
47
  }
@@ -64,16 +64,21 @@ export async function listKodyTools(input) {
64
64
  backend: input.backend,
65
65
  fetchFn: input.fetchFn,
66
66
  });
67
- const { client, transport } = await connect(credentials.mcpUrl, credentials.accessToken, input.fetchFn);
68
67
  try {
69
- const listed = await client.listTools();
70
- return listed.tools.map((tool) => ({
71
- name: tool.name,
72
- description: tool.description,
73
- }));
68
+ const { client, transport } = await connect(credentials.mcpUrl, credentials.accessToken, input.fetchFn);
69
+ try {
70
+ const listed = await client.listTools();
71
+ return listed.tools.map((tool) => ({
72
+ name: tool.name,
73
+ description: tool.description,
74
+ }));
75
+ }
76
+ finally {
77
+ await transport.close().catch(() => undefined);
78
+ }
74
79
  }
75
- finally {
76
- await transport.close().catch(() => undefined);
80
+ catch (error) {
81
+ throw withOpenidScopeHint(error, credentials.scope);
77
82
  }
78
83
  }
79
84
  export function formatToolResult(result, json) {
@@ -101,4 +106,12 @@ function isUnauthorized(error) {
101
106
  return (status === 401 ||
102
107
  (error instanceof Error && /401|unauthorized/i.test(error.message)));
103
108
  }
109
+ function withOpenidScopeHint(error, scope) {
110
+ const redacted = redactError(error);
111
+ if (/insufficient_scope/i.test(redacted.message) &&
112
+ !scopeIncludesOpenid(scope)) {
113
+ return new Error(`${redacted.message}\n${missingOpenidReloginHint}`);
114
+ }
115
+ return redacted;
116
+ }
104
117
  //# sourceMappingURL=mcp.js.map
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kodycodes/cli",
3
- "version": "1.10.1",
3
+ "version": "1.10.2",
4
4
  "description": "Official Kody MCP client CLI: login, secure token storage, search, and execute.",
5
5
  "type": "module",
6
6
  "bin": {