@kodycodes/cli 1.16.3 → 1.16.4

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 CHANGED
@@ -170,15 +170,20 @@ authorizes every `@owner/name.git` you can access across all orgs — login
170
170
  `--org` only scopes the MCP mint session, not git. When an API token is
171
171
  already stored it probes `org_binding` on `GET /v1/tokens/current`; after a
172
172
  fresh login with no API token yet, it mints via the login session and checks
173
- `org_binding` on the minted token. Configures:
173
+ `org_binding` on the minted token. Configures a **stable** credential helper
174
+ (global `kody` when available, otherwise `npx -y @kodycodes/cli@1 …` — never
175
+ an ephemeral `~/.npm/_npx/…` path). Re-running `setup-git` rewrites any old
176
+ npx-cache helper entry.
174
177
 
175
178
  ```bash
176
179
  git config --global credential.https://kody.codes.helper '!… git-credential'
177
180
  git config --global credential.https://kody.codes.useHttpPath true
178
181
  ```
179
182
 
180
- Push moves live HEAD only (packages do not auto-publish). Existing `kody login`
181
- / `auth bootstrap` flows are unchanged.
183
+ The helper silently remints via your stored `kody login` when the API token is
184
+ expired or within an hour of expiry, so you should not need to re-run
185
+ `setup-git` for token lifetime. Push moves live HEAD only (packages do not
186
+ auto-publish). Existing `kody login` / `auth bootstrap` flows are unchanged.
182
187
 
183
188
  ## Local execute
184
189
 
@@ -1,4 +1,5 @@
1
- import type { SecretBackend, StoreResolution } from './store.js';
1
+ import { loadStoredApiToken, type StoredApiToken } from './api-token-store.js';
2
+ import { loadCredentials, type SecretBackend, type StoreResolution } from './store.js';
2
3
  export type GitCredentialAction = 'get' | 'store' | 'erase';
3
4
  export type GitCredentialRequest = {
4
5
  protocol?: string;
@@ -21,10 +22,32 @@ export declare function isKodyGitHttpsHost(input: {
21
22
  host?: string;
22
23
  expectedHost: string;
23
24
  }): boolean;
25
+ export type EnsureGitApiTokenResult = {
26
+ stored: StoredApiToken;
27
+ refreshed: boolean;
28
+ };
29
+ /**
30
+ * Return a usable stored API token for git HTTPS. When the token is missing,
31
+ * expired, or within the refresh skew, silently remint via the `kody login`
32
+ * session (same scopes/lifetime as `auth setup-git`). Without a login session,
33
+ * returns the existing token if any (may still work) or null.
34
+ */
35
+ export declare function ensureGitApiToken(input: {
36
+ apiUrl?: string;
37
+ mcpUrl?: string;
38
+ nowMs?: number;
39
+ backend?: SecretBackend;
40
+ resolution?: StoreResolution;
41
+ /** Test seam: mint cliCredentialBootstrap (defaults to MCP login session). */
42
+ mint?: (params: Record<string, unknown>) => Promise<unknown>;
43
+ loadLogin?: typeof loadCredentials;
44
+ loadApiToken?: typeof loadStoredApiToken;
45
+ }): Promise<EnsureGitApiTokenResult | null>;
24
46
  /**
25
47
  * Handle one git credential helper action.
26
- * - `get`: return stored `kody_at_…` for the configured Kody HTTPS host
27
- * - `store` / `erase`: no-op (token life is managed by `kody auth` / logout)
48
+ * - `get`: return a `kody_at_…` for the configured Kody HTTPS host (reminting
49
+ * via `kody login` when the stored token is expired / near expiry)
50
+ * - `store` / `erase`: no-op (token life is managed by remint / logout)
28
51
  */
29
52
  export declare function handleGitCredential(input: {
30
53
  action: GitCredentialAction;
@@ -33,6 +56,10 @@ export declare function handleGitCredential(input: {
33
56
  mcpUrl?: string;
34
57
  backend?: SecretBackend;
35
58
  resolution?: StoreResolution;
59
+ nowMs?: number;
60
+ mint?: (params: Record<string, unknown>) => Promise<unknown>;
61
+ loadLogin?: typeof loadCredentials;
62
+ loadApiToken?: typeof loadStoredApiToken;
36
63
  }): Promise<string>;
37
64
  export declare function parseGitCredentialAction(argv: ReadonlyArray<string>): GitCredentialAction;
38
65
  /** Read stdin until EOF (git closes after the attribute block). */
@@ -1,7 +1,10 @@
1
1
  import { createInterface } from 'node:readline';
2
+ import { authBootstrapWithScopes, cliCredentialBootstrapOperationId, resolveCliTokenLifetime, } from './auth-bootstrap.js';
3
+ import { loadStoredApiToken, } from './api-token-store.js';
2
4
  import { defaultApiUrl, defaultMcpUrl } from './defaults.js';
3
- import { loadStoredApiToken } from './api-token-store.js';
4
- import { gitCredentialHostFromMcpUrl } from './setup-git.js';
5
+ import { callKodyApiOperation } from './mcp.js';
6
+ import { apiTokenNeedsRefresh, ensureSetupGitScopes, gitCredentialHostFromMcpUrl, setupGitDefaultScopes, } from './setup-git.js';
7
+ import { loadCredentials } from './store.js';
5
8
  /**
6
9
  * Parse git credential helper stdin (`key=value` lines, blank line ends).
7
10
  * See `git help credential`.
@@ -40,10 +43,55 @@ export function isKodyGitHttpsHost(input) {
40
43
  return false;
41
44
  return input.host.toLowerCase() === input.expectedHost.toLowerCase();
42
45
  }
46
+ /**
47
+ * Return a usable stored API token for git HTTPS. When the token is missing,
48
+ * expired, or within the refresh skew, silently remint via the `kody login`
49
+ * session (same scopes/lifetime as `auth setup-git`). Without a login session,
50
+ * returns the existing token if any (may still work) or null.
51
+ */
52
+ export async function ensureGitApiToken(input) {
53
+ const apiUrl = input.apiUrl || defaultApiUrl;
54
+ const mcpUrl = input.mcpUrl || defaultMcpUrl;
55
+ const loadApi = input.loadApiToken ?? loadStoredApiToken;
56
+ const loadLogin = input.loadLogin ?? loadCredentials;
57
+ const stored = loadApi(apiUrl, input.backend, input.resolution);
58
+ const nowMs = input.nowMs ?? Date.now();
59
+ if (stored && !apiTokenNeedsRefresh(stored, nowMs)) {
60
+ return { stored, refreshed: false };
61
+ }
62
+ if (!loadLogin(mcpUrl)) {
63
+ return stored ? { stored, refreshed: false } : null;
64
+ }
65
+ const mint = input.mint ??
66
+ (async (params) => callKodyApiOperation({
67
+ operationId: cliCredentialBootstrapOperationId,
68
+ params,
69
+ mcpUrl,
70
+ }));
71
+ try {
72
+ const scopes = ensureSetupGitScopes(stored?.scopes?.length ? stored.scopes : setupGitDefaultScopes);
73
+ const result = await authBootstrapWithScopes({
74
+ scopes,
75
+ lifetime: resolveCliTokenLifetime({ lifetime: 'long' }),
76
+ mint,
77
+ apiUrl,
78
+ backend: input.backend,
79
+ resolution: input.resolution,
80
+ });
81
+ return { stored: result.stored, refreshed: true };
82
+ }
83
+ catch {
84
+ // Stay silent on the git credential protocol (stdout). Fall back to
85
+ // whatever token we still have so a transient mint failure does not
86
+ // immediately break an otherwise-valid session.
87
+ return stored ? { stored, refreshed: false } : null;
88
+ }
89
+ }
43
90
  /**
44
91
  * Handle one git credential helper action.
45
- * - `get`: return stored `kody_at_…` for the configured Kody HTTPS host
46
- * - `store` / `erase`: no-op (token life is managed by `kody auth` / logout)
92
+ * - `get`: return a `kody_at_…` for the configured Kody HTTPS host (reminting
93
+ * via `kody login` when the stored token is expired / near expiry)
94
+ * - `store` / `erase`: no-op (token life is managed by remint / logout)
47
95
  */
48
96
  export async function handleGitCredential(input) {
49
97
  if (input.action === 'store' || input.action === 'erase') {
@@ -60,14 +108,22 @@ export async function handleGitCredential(input) {
60
108
  })) {
61
109
  return '';
62
110
  }
63
- const apiUrl = input.apiUrl || defaultApiUrl;
64
- const stored = loadStoredApiToken(apiUrl, input.backend, input.resolution);
65
- if (!stored?.token) {
111
+ const ensured = await ensureGitApiToken({
112
+ apiUrl: input.apiUrl,
113
+ mcpUrl: input.mcpUrl,
114
+ backend: input.backend,
115
+ resolution: input.resolution,
116
+ nowMs: input.nowMs,
117
+ mint: input.mint,
118
+ loadLogin: input.loadLogin,
119
+ loadApiToken: input.loadApiToken,
120
+ });
121
+ if (!ensured?.stored.token) {
66
122
  return '';
67
123
  }
68
124
  return formatGitCredentialOutput({
69
125
  username: 'x',
70
- password: stored.token,
126
+ password: ensured.stored.token,
71
127
  });
72
128
  }
73
129
  export function parseGitCredentialAction(argv) {
@@ -1 +1 @@
1
- {"version":3,"file":"git-credential.js","sourceRoot":"","sources":["../src/git-credential.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-credential.js","sourceRoot":"","sources":["../src/git-credential.ts"],"names":[],"mappings":"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"}
package/dist/help.js CHANGED
@@ -70,14 +70,18 @@ Usage:
70
70
  \`--lifetime long\`; reuses a suitable stored token). That token
71
71
  authorizes every repo you can access across all orgs — login
72
72
  \`--org\` only scopes the MCP mint session, not git. Requires a
73
- server that advertises \`org_binding\`. Configures
74
- \`credential.https://<host>.helper\` + \`useHttpPath\`. Does not
75
- change \`kody login\` / existing auth flows.
73
+ server that advertises \`org_binding\`. Configures a stable
74
+ \`credential.https://<host>.helper\` (global \`kody\` or
75
+ \`npx -y @kodycodes/cli@<major>\`, never an ephemeral npx cache
76
+ path) + \`useHttpPath\`. Re-run to rewrite an old npx-cache
77
+ helper. Does not change \`kody login\` / existing auth flows.
76
78
 
77
79
  git-credential
78
80
  Git credential helper invoked by git after \`auth setup-git\`
79
81
  (\`get\` returns username=x / password=kody_at_… for the Kody
80
- host; \`store\`/\`erase\` are no-ops). Not meant for interactive use.
82
+ host; silently remints via \`kody login\` when the stored token
83
+ is expired or near expiry; \`store\`/\`erase\` are no-ops). Not
84
+ meant for interactive use.
81
85
 
82
86
  api Call one Open API operation by operationId + flat --params
83
87
  JSON (same shape as the MCP \`api\` tool). Uses scoped API
package/dist/help.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,MAAM,CAAC,MAAM,KAAK,GAAG,YAAY,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;;;;;QAsB7C,aAAa,CAAC,aAAa,CAAC;;;;;;;oCAOA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;eAyBvC,cAAc;;;;;;;;;+DASkC,cAAc;;;;;;;;;;;;;;;;;wCAiBrC,cAAc;;;eAGvC,aAAa;;;;cAId,cAAc;;;;;eAKb,cAAc;;;;;;;;;;;;;;;eAed,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;sDAyByB,aAAa;IAC/D,cAAc;mDACiC,aAAa;;;CAG/D,CAAA"}
1
+ {"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,MAAM,CAAC,MAAM,KAAK,GAAG,YAAY,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;;;;;QAsB7C,aAAa,CAAC,aAAa,CAAC;;;;;;;oCAOA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;eAyBvC,cAAc;;;;;;;;;+DASkC,cAAc;;;;;;;;;;;;;;;;;;;;;wCAqBrC,cAAc;;;eAGvC,aAAa;;;;cAId,cAAc;;;;;eAKb,cAAc;;;;;;;;;;;;;;;eAed,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;sDAyByB,aAAa;IAC/D,cAAc;mDACiC,aAAa;;;CAG/D,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import { cliTokenLifetimeAliases, type ResolvedCliTokenLifetime } from './auth-bootstrap.js';
2
2
  import { type StoredApiToken } from './api-token-store.js';
3
3
  import type { SecretBackend, StoreResolution } from './store.js';
4
+ import { which as whichOnPath } from './which.js';
4
5
  /** Scopes setup-git always requires for clone/fetch (+ push). */
5
6
  export declare const setupGitRequiredScopes: readonly ["package:read", "package:write"];
6
7
  /**
@@ -75,13 +76,33 @@ export declare function installGitCredentialConfig(input: {
75
76
  helperCommand: string;
76
77
  scope: '--global' | '--local';
77
78
  };
79
+ /** Refresh git HTTPS tokens this long before `expiresAt` (or when past it). */
80
+ export declare const gitApiTokenRefreshSkewMs: number;
81
+ export declare function readCliPackageVersion(): string;
78
82
  /**
79
- * Helper argv for git config. Prefer the running Node entry so `npx` / local
80
- * builds work without requiring a global `kody` on PATH.
83
+ * True when the CLI entry lives under npm's ephemeral `npx` cache
84
+ * (`~/.npm/_npx/…`). Those paths break after `npm cache clean`.
85
+ */
86
+ export declare function isEphemeralNpxEntryPath(entryPath: string): boolean;
87
+ /**
88
+ * Major version for `npx -y @kodycodes/cli@<major>`. Local
89
+ * `0.0.0-semantically-released` builds pin to `1` (current published line).
90
+ */
91
+ export declare function cliMajorVersionForNpx(packageVersion: string): string;
92
+ /** Whether a stored API token should be reminted for git HTTPS. */
93
+ export declare function apiTokenNeedsRefresh(stored: Pick<StoredApiToken, 'expiresAt'> | null | undefined, nowMs?: number, skewMs?: number): boolean;
94
+ /**
95
+ * Helper argv for git config. Prefer a stable global `kody`, else a non-npx
96
+ * entry path, else `npx -y @kodycodes/cli@<major>` so cache cleans cannot
97
+ * orphan the helper. Re-running `auth setup-git` rewrites any prior ephemeral
98
+ * `~/.npm/_npx/…` helper entry.
81
99
  */
82
100
  export declare function gitCredentialHelperCommand(input?: {
83
101
  execPath?: string;
84
102
  entryPath?: string;
103
+ env?: NodeJS.ProcessEnv;
104
+ which?: typeof whichOnPath;
105
+ packageVersion?: string;
85
106
  }): string;
86
107
  export type AuthSetupGitResult = {
87
108
  host: string;
package/dist/setup-git.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import { spawnSync } from 'node:child_process';
2
- import { apiTokenEnvVar, defaultApiUrl, defaultMcpUrl } from './defaults.js';
2
+ import { createRequire } from 'node:module';
3
+ import { apiTokenEnvVar, cliName, defaultApiUrl, defaultMcpUrl, } from './defaults.js';
3
4
  import { authBootstrapWithScopes, cliTokenLifetimeAliases, resolveCliTokenLifetime, } from './auth-bootstrap.js';
4
5
  import { loadStoredApiToken, } from './api-token-store.js';
5
6
  import { OpenApiError, openApiGet } from './open-api-client.js';
7
+ import { which as whichOnPath } from './which.js';
6
8
  /** Scopes setup-git always requires for clone/fetch (+ push). */
7
9
  export const setupGitRequiredScopes = ['package:read', 'package:write'];
8
10
  /**
@@ -140,17 +142,69 @@ export function installGitCredentialConfig(input) {
140
142
  }
141
143
  return { host: input.host, helperCommand: input.helperCommand, scope };
142
144
  }
145
+ /** Refresh git HTTPS tokens this long before `expiresAt` (or when past it). */
146
+ export const gitApiTokenRefreshSkewMs = 60 * 60 * 1000;
147
+ const requireFromSetupGit = createRequire(import.meta.url);
148
+ export function readCliPackageVersion() {
149
+ try {
150
+ const pkg = requireFromSetupGit('../package.json');
151
+ return typeof pkg.version === 'string' ? pkg.version : '1';
152
+ }
153
+ catch {
154
+ return '1';
155
+ }
156
+ }
157
+ /**
158
+ * True when the CLI entry lives under npm's ephemeral `npx` cache
159
+ * (`~/.npm/_npx/…`). Those paths break after `npm cache clean`.
160
+ */
161
+ export function isEphemeralNpxEntryPath(entryPath) {
162
+ const normalized = entryPath.replace(/\\/g, '/');
163
+ return (normalized.includes('/.npm/_npx/') ||
164
+ normalized.includes('/npm/_npx/') ||
165
+ /\/_npx\//.test(normalized));
166
+ }
143
167
  /**
144
- * Helper argv for git config. Prefer the running Node entry so `npx` / local
145
- * builds work without requiring a global `kody` on PATH.
168
+ * Major version for `npx -y @kodycodes/cli@<major>`. Local
169
+ * `0.0.0-semantically-released` builds pin to `1` (current published line).
170
+ */
171
+ export function cliMajorVersionForNpx(packageVersion) {
172
+ const major = Number.parseInt(packageVersion.split('.')[0] ?? '', 10);
173
+ if (Number.isFinite(major) && major >= 1)
174
+ return String(major);
175
+ return '1';
176
+ }
177
+ /** Whether a stored API token should be reminted for git HTTPS. */
178
+ export function apiTokenNeedsRefresh(stored, nowMs = Date.now(), skewMs = gitApiTokenRefreshSkewMs) {
179
+ if (!stored)
180
+ return true;
181
+ if (stored.expiresAt == null || stored.expiresAt === '')
182
+ return false;
183
+ const expiresMs = Date.parse(stored.expiresAt);
184
+ if (!Number.isFinite(expiresMs))
185
+ return true;
186
+ return expiresMs - nowMs <= skewMs;
187
+ }
188
+ /**
189
+ * Helper argv for git config. Prefer a stable global `kody`, else a non-npx
190
+ * entry path, else `npx -y @kodycodes/cli@<major>` so cache cleans cannot
191
+ * orphan the helper. Re-running `auth setup-git` rewrites any prior ephemeral
192
+ * `~/.npm/_npx/…` helper entry.
146
193
  */
147
194
  export function gitCredentialHelperCommand(input) {
148
- const execPath = input?.execPath ?? process.execPath;
195
+ const env = input?.env ?? process.env;
196
+ const whichFn = input?.which ?? whichOnPath;
149
197
  const entryPath = input?.entryPath ?? process.argv[1];
150
- if (entryPath && entryPath.length > 0) {
198
+ const globalKody = whichFn('kody', env);
199
+ if (globalKody && !isEphemeralNpxEntryPath(globalKody)) {
200
+ return `!${shellQuote(globalKody)} git-credential`;
201
+ }
202
+ if (entryPath && entryPath.length > 0 && !isEphemeralNpxEntryPath(entryPath)) {
203
+ const execPath = input?.execPath ?? process.execPath;
151
204
  return `!${shellQuote(execPath)} ${shellQuote(entryPath)} git-credential`;
152
205
  }
153
- return '!kody git-credential';
206
+ const major = cliMajorVersionForNpx(input?.packageVersion ?? readCliPackageVersion());
207
+ return `!npx -y ${cliName}@${major} git-credential`;
154
208
  }
155
209
  function shellQuote(value) {
156
210
  if (/^[A-Za-z0-9_./:@+=,-]+$/.test(value))
@@ -1 +1 @@
1
- {"version":3,"file":"setup-git.js","sourceRoot":"","sources":["../src/setup-git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup-git.js","sourceRoot":"","sources":["../src/setup-git.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.16.3",
3
+ "version": "1.16.4",
4
4
  "description": "Official Kody MCP client CLI: login, secure token storage, search, and execute.",
5
5
  "type": "module",
6
6
  "bin": {