@gojinko/api-client 2.6.0 → 2.8.0

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/dist/auth.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  export type AuthMethod = 'api_key' | 'oauth';
2
+ /** Named deployment environment. Maps to a base URL and a credential slot. */
3
+ export type Environment = 'prod' | 'sandbox';
2
4
  export interface ResolvedAuth {
3
5
  readonly method: AuthMethod;
4
6
  readonly token: string;
@@ -8,36 +10,65 @@ export interface OAuthConfig {
8
10
  readonly refresh_token: string;
9
11
  readonly expires_at: number;
10
12
  }
13
+ /** Per-environment credentials stored under `environments.<env>`. */
14
+ interface EnvCredentials {
15
+ readonly api_key?: string;
16
+ readonly oauth?: OAuthConfig;
17
+ }
11
18
  interface ConfigFile {
19
+ /** Active environment. Defaults to "prod" when absent. */
20
+ readonly environment?: Environment;
21
+ /** Per-environment credentials. */
22
+ readonly environments?: Partial<Record<Environment, EnvCredentials>>;
12
23
  readonly api_key?: string;
13
24
  readonly oauth?: OAuthConfig;
14
25
  }
15
- declare const DEFAULT_BASE_URL = "https://api.gojinko.com";
26
+ /** Built-in base URLs per environment. */
27
+ export declare const ENV_BASE_URLS: Record<Environment, string>;
28
+ declare const DEFAULT_ENVIRONMENT: Environment;
29
+ declare const DEFAULT_BASE_URL: string;
16
30
  declare const CONFIG_DIR: string;
17
31
  declare const CONFIG_FILE: string;
18
32
  /**
19
- * Resolve auth credentials with precedence: param > env > config file (api_key) > config file (oauth).
33
+ * Resolve the active environment with precedence:
34
+ * param > JINKO_ENV env > config `environment` > "prod".
35
+ */
36
+ export declare function resolveEnvironment(paramEnv?: Environment): Promise<Environment>;
37
+ /**
38
+ * Resolve auth credentials for the given environment with precedence:
39
+ * param > JINKO_API_KEY env > config environments.<env> > legacy top-level (prod only).
20
40
  *
21
- * OAuth tokens are auto-refreshed if expired.
41
+ * OAuth tokens are auto-refreshed if expired, and persisted back to the slot
42
+ * they came from (per-env or legacy top-level).
22
43
  */
23
- export declare function resolveAuth(paramToken?: string): Promise<ResolvedAuth | undefined>;
44
+ export declare function resolveAuth(paramToken?: string, env?: Environment): Promise<ResolvedAuth | undefined>;
24
45
  /**
25
- * Resolve the BFF base URL. Defaults to the prod gateway; can be overridden
26
- * via `JINKO_API_BASE` env var (used by the QA flow runner and by anyone
27
- * pointing the CLI/SDK at dev/staging).
46
+ * Resolve the API base URL for the given environment. Precedence:
47
+ * JINKO_API_BASE env (raw override, e.g. dev/staging) > env-mapped URL > prod.
28
48
  */
29
- export declare function resolveBaseUrl(): string;
49
+ export declare function resolveBaseUrl(env?: Environment): string;
30
50
  /**
31
51
  * Read the config file at ~/.jinko/config.yaml.
32
52
  */
33
53
  export declare function readConfigFile(): Promise<ConfigFile | undefined>;
34
54
  /**
35
- * Write a config value to ~/.jinko/config.yaml.
55
+ * Write top-level config values to ~/.jinko/config.yaml, deep-merging the
56
+ * `environments` map so writing one slot never clobbers the other.
36
57
  */
37
58
  export declare function writeConfigFile(updates: Partial<ConfigFile>): Promise<void>;
38
59
  /**
39
- * Clear all auth credentials from config file.
60
+ * Write credentials into a specific environment slot, deep-merging so an
61
+ * existing api_key/oauth in that slot is preserved unless overwritten.
62
+ */
63
+ export declare function writeEnvAuth(env: Environment, creds: EnvCredentials): Promise<void>;
64
+ /**
65
+ * Set the active environment in the config file.
66
+ */
67
+ export declare function setEnvironment(env: Environment): Promise<void>;
68
+ /**
69
+ * Clear auth credentials. With an environment, clears just that slot; without,
70
+ * clears the legacy top-level credentials (back-compat).
40
71
  */
41
- export declare function clearAuthConfig(): Promise<void>;
42
- export { CONFIG_DIR, CONFIG_FILE, DEFAULT_BASE_URL };
72
+ export declare function clearAuthConfig(env?: Environment): Promise<void>;
73
+ export { CONFIG_DIR, CONFIG_FILE, DEFAULT_BASE_URL, DEFAULT_ENVIRONMENT };
43
74
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,UAAU,UAAU;IAClB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;CAC9B;AAED,QAAA,MAAM,gBAAgB,4BAA4B,CAAC;AACnD,QAAA,MAAM,UAAU,QAA4B,CAAC;AAC7C,QAAA,MAAM,WAAW,QAAkC,CAAC;AAEpD;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAiDxF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAOtE;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CASjF;AAED;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAYrD;AAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;AAE7C,8EAA8E;AAC9E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,qEAAqE;AACrE,UAAU,cAAc;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;CAC9B;AAED,UAAU,UAAU;IAClB,0DAA0D;IAC1D,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,mCAAmC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAGrE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;CAC9B;AAED,0CAA0C;AAC1C,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAGrD,CAAC;AAEF,QAAA,MAAM,mBAAmB,EAAE,WAAoB,CAAC;AAChD,QAAA,MAAM,gBAAgB,QAAqC,CAAC;AAC5D,QAAA,MAAM,UAAU,QAA4B,CAAC;AAC7C,QAAA,MAAM,WAAW,QAAkC,CAAC;AAMpD;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAOrF;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,UAAU,CAAC,EAAE,MAAM,EACnB,GAAG,GAAE,WAAiC,GACrC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAkCnC;AA+BD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,GAAE,WAAiC,GAAG,MAAM,CAE7E;AAED;;GAEG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAOtE;AASD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAWjF;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAKzF;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBtE;AAED,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,CAAC"}
package/dist/auth.js CHANGED
@@ -3,16 +3,42 @@ import { join } from 'node:path';
3
3
  import { homedir } from 'node:os';
4
4
  import { parse as parseYaml } from 'yaml';
5
5
  import { isTokenExpired, refreshAccessToken } from './oauth.js';
6
- const DEFAULT_BASE_URL = 'https://api.gojinko.com';
6
+ /** Built-in base URLs per environment. */
7
+ export const ENV_BASE_URLS = {
8
+ prod: 'https://api.gojinko.com',
9
+ sandbox: 'https://api.sandbox.gojinko.com',
10
+ };
11
+ const DEFAULT_ENVIRONMENT = 'prod';
12
+ const DEFAULT_BASE_URL = ENV_BASE_URLS[DEFAULT_ENVIRONMENT];
7
13
  const CONFIG_DIR = join(homedir(), '.jinko');
8
14
  const CONFIG_FILE = join(CONFIG_DIR, 'config.yaml');
15
+ function isEnvironment(v) {
16
+ return v === 'prod' || v === 'sandbox';
17
+ }
18
+ /**
19
+ * Resolve the active environment with precedence:
20
+ * param > JINKO_ENV env > config `environment` > "prod".
21
+ */
22
+ export async function resolveEnvironment(paramEnv) {
23
+ if (paramEnv)
24
+ return paramEnv;
25
+ const envVar = process.env['JINKO_ENV'];
26
+ if (isEnvironment(envVar))
27
+ return envVar;
28
+ const config = await readConfigFile();
29
+ if (isEnvironment(config?.environment))
30
+ return config.environment;
31
+ return DEFAULT_ENVIRONMENT;
32
+ }
9
33
  /**
10
- * Resolve auth credentials with precedence: param > env > config file (api_key) > config file (oauth).
34
+ * Resolve auth credentials for the given environment with precedence:
35
+ * param > JINKO_API_KEY env > config environments.<env> > legacy top-level (prod only).
11
36
  *
12
- * OAuth tokens are auto-refreshed if expired.
37
+ * OAuth tokens are auto-refreshed if expired, and persisted back to the slot
38
+ * they came from (per-env or legacy top-level).
13
39
  */
14
- export async function resolveAuth(paramToken) {
15
- // 1. Explicit param or env — always API key
40
+ export async function resolveAuth(paramToken, env = DEFAULT_ENVIRONMENT) {
41
+ // 1. Explicit param or env var used as-is regardless of environment.
16
42
  const explicitToken = paramToken ?? process.env['JINKO_API_KEY'];
17
43
  if (explicitToken) {
18
44
  return {
@@ -20,50 +46,59 @@ export async function resolveAuth(paramToken) {
20
46
  token: explicitToken,
21
47
  };
22
48
  }
23
- // 2. Config file
24
49
  const config = await readConfigFile();
25
50
  if (!config)
26
51
  return undefined;
27
- // 2a. API key in config
28
- if (config.api_key) {
29
- return { method: 'api_key', token: config.api_key };
52
+ // 2. Per-environment credentials.
53
+ const envCreds = config.environments?.[env];
54
+ if (envCreds?.api_key) {
55
+ return { method: 'api_key', token: envCreds.api_key };
30
56
  }
31
- // 2b. OAuth tokens in config
32
- if (config.oauth) {
33
- const tokens = {
34
- access_token: config.oauth.access_token,
35
- refresh_token: config.oauth.refresh_token,
36
- expires_at: config.oauth.expires_at,
37
- };
38
- if (isTokenExpired(tokens)) {
39
- try {
40
- const refreshed = await refreshAccessToken(tokens.refresh_token);
41
- // Persist refreshed tokens
42
- await writeConfigFile({
43
- oauth: {
44
- access_token: refreshed.access_token,
45
- refresh_token: refreshed.refresh_token,
46
- expires_at: refreshed.expires_at,
47
- },
48
- });
49
- return { method: 'oauth', token: refreshed.access_token };
50
- }
51
- catch {
52
- // Refresh failed — try with existing token, server will 401 if truly expired
53
- return { method: 'oauth', token: tokens.access_token };
54
- }
57
+ if (envCreds?.oauth) {
58
+ return refreshAndPersist(envCreds.oauth, (oauth) => writeEnvAuth(env, { oauth }));
59
+ }
60
+ // 3. Legacy top-level credentials — treated as the PROD slot only, so a
61
+ // legacy prod key never leaks into a sandbox session.
62
+ if (env === DEFAULT_ENVIRONMENT) {
63
+ if (config.api_key) {
64
+ return { method: 'api_key', token: config.api_key };
65
+ }
66
+ if (config.oauth) {
67
+ return refreshAndPersist(config.oauth, (oauth) => writeConfigFile({ oauth }));
55
68
  }
56
- return { method: 'oauth', token: tokens.access_token };
57
69
  }
58
70
  return undefined;
59
71
  }
72
+ /** Refresh an OAuth token if expired, persist via the given writer, return the resolved auth. */
73
+ async function refreshAndPersist(oauth, persist) {
74
+ const tokens = {
75
+ access_token: oauth.access_token,
76
+ refresh_token: oauth.refresh_token,
77
+ expires_at: oauth.expires_at,
78
+ };
79
+ if (isTokenExpired(tokens)) {
80
+ try {
81
+ const refreshed = await refreshAccessToken(tokens.refresh_token);
82
+ await persist({
83
+ access_token: refreshed.access_token,
84
+ refresh_token: refreshed.refresh_token,
85
+ expires_at: refreshed.expires_at,
86
+ });
87
+ return { method: 'oauth', token: refreshed.access_token };
88
+ }
89
+ catch {
90
+ // Refresh failed — try existing token, server will 401 if truly expired.
91
+ return { method: 'oauth', token: tokens.access_token };
92
+ }
93
+ }
94
+ return { method: 'oauth', token: tokens.access_token };
95
+ }
60
96
  /**
61
- * Resolve the BFF base URL. Defaults to the prod gateway; can be overridden
62
- * via `JINKO_API_BASE` env var (used by the QA flow runner and by anyone
63
- * pointing the CLI/SDK at dev/staging).
97
+ * Resolve the API base URL for the given environment. Precedence:
98
+ * JINKO_API_BASE env (raw override, e.g. dev/staging) > env-mapped URL > prod.
64
99
  */
65
- export function resolveBaseUrl() {
66
- return process.env['JINKO_API_BASE'] ?? DEFAULT_BASE_URL;
100
+ export function resolveBaseUrl(env = DEFAULT_ENVIRONMENT) {
101
+ return process.env['JINKO_API_BASE'] ?? ENV_BASE_URLS[env] ?? DEFAULT_BASE_URL;
67
102
  }
68
103
  /**
69
104
  * Read the config file at ~/.jinko/config.yaml.
@@ -77,30 +112,68 @@ export async function readConfigFile() {
77
112
  return undefined;
78
113
  }
79
114
  }
80
- /**
81
- * Write a config value to ~/.jinko/config.yaml.
82
- */
83
- export async function writeConfigFile(updates) {
115
+ async function writeRaw(config) {
84
116
  const { mkdir, writeFile } = await import('node:fs/promises');
85
117
  const { stringify: stringifyYaml } = await import('yaml');
86
118
  await mkdir(CONFIG_DIR, { recursive: true });
119
+ await writeFile(CONFIG_FILE, stringifyYaml(config), 'utf-8');
120
+ }
121
+ /**
122
+ * Write top-level config values to ~/.jinko/config.yaml, deep-merging the
123
+ * `environments` map so writing one slot never clobbers the other.
124
+ */
125
+ export async function writeConfigFile(updates) {
87
126
  const existing = (await readConfigFile()) ?? {};
88
- const merged = { ...existing, ...updates };
89
- await writeFile(CONFIG_FILE, stringifyYaml(merged), 'utf-8');
127
+ const merged = {
128
+ ...existing,
129
+ ...updates,
130
+ // Deep-merge the environments map so writing one slot never clobbers the other.
131
+ ...(updates.environments || existing.environments
132
+ ? { environments: { ...existing.environments, ...updates.environments } }
133
+ : {}),
134
+ };
135
+ await writeRaw(merged);
136
+ }
137
+ /**
138
+ * Write credentials into a specific environment slot, deep-merging so an
139
+ * existing api_key/oauth in that slot is preserved unless overwritten.
140
+ */
141
+ export async function writeEnvAuth(env, creds) {
142
+ const existing = (await readConfigFile()) ?? {};
143
+ const environments = { ...existing.environments };
144
+ environments[env] = { ...environments[env], ...creds };
145
+ await writeRaw({ ...existing, environments });
146
+ }
147
+ /**
148
+ * Set the active environment in the config file.
149
+ */
150
+ export async function setEnvironment(env) {
151
+ await writeConfigFile({ environment: env });
90
152
  }
91
153
  /**
92
- * Clear all auth credentials from config file.
154
+ * Clear auth credentials. With an environment, clears just that slot; without,
155
+ * clears the legacy top-level credentials (back-compat).
93
156
  */
94
- export async function clearAuthConfig() {
157
+ export async function clearAuthConfig(env) {
95
158
  const config = await readConfigFile();
96
159
  if (!config)
97
160
  return;
161
+ if (env) {
162
+ const environments = { ...config.environments };
163
+ if (environments[env]) {
164
+ const { api_key: _a, oauth: _o, ...restEnv } = environments[env];
165
+ if (Object.keys(restEnv).length > 0) {
166
+ environments[env] = restEnv;
167
+ }
168
+ else {
169
+ delete environments[env];
170
+ }
171
+ }
172
+ await writeRaw({ ...config, environments });
173
+ return;
174
+ }
98
175
  const { api_key: _, oauth: __, ...rest } = config;
99
- const { mkdir, writeFile } = await import('node:fs/promises');
100
- const { stringify: stringifyYaml } = await import('yaml');
101
- await mkdir(CONFIG_DIR, { recursive: true });
102
- const cleaned = Object.keys(rest).length > 0 ? rest : {};
103
- await writeFile(CONFIG_FILE, stringifyYaml(cleaned), 'utf-8');
176
+ await writeRaw(rest);
104
177
  }
105
- export { CONFIG_DIR, CONFIG_FILE, DEFAULT_BASE_URL };
178
+ export { CONFIG_DIR, CONFIG_FILE, DEFAULT_BASE_URL, DEFAULT_ENVIRONMENT };
106
179
  //# sourceMappingURL=auth.js.map
package/dist/auth.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -1,9 +1,16 @@
1
1
  import createClient from 'openapi-fetch';
2
- import { type ResolvedAuth } from './auth.js';
2
+ import { type ResolvedAuth, type Environment } from './auth.js';
3
3
  import { type JinkoTools } from './tools.js';
4
4
  import type { paths } from './types/generated.js';
5
5
  export interface ClientOptions {
6
6
  readonly apiKey?: string;
7
+ /**
8
+ * Target environment ("prod" | "sandbox"). Selects the base URL and the
9
+ * credential slot used from ~/.jinko/config.yaml. Precedence: this option >
10
+ * JINKO_ENV env > config `environment` > "prod". An explicit `apiKey` or
11
+ * `JINKO_API_BASE` still wins over the environment mapping.
12
+ */
13
+ readonly environment?: Environment;
7
14
  }
8
15
  export type JinkoRawClient = ReturnType<typeof createClient<paths>>;
9
16
  export interface JinkoClient extends JinkoTools {
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,YAAiC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAgD,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAI5F,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAalD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAEpE,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC7B;AAQD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAqJzF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,YAAiC,MAAM,eAAe,CAAC;AAC9D,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,WAAW,CAAC;AAInB,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAalD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;CACpC;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AAEpE,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC7B;AAQD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,CAqJzF"}
package/dist/client.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { randomBytes, randomUUID } from 'node:crypto';
2
2
  import { createRequire } from 'node:module';
3
3
  import createClient from 'openapi-fetch';
4
- import { resolveAuth, resolveBaseUrl, writeConfigFile } from './auth.js';
4
+ import { resolveAuth, resolveBaseUrl, resolveEnvironment, writeConfigFile, } from './auth.js';
5
5
  import { isTokenExpired, refreshAccessToken } from './oauth.js';
6
6
  import { ApiError, AuthError } from './errors.js';
7
7
  import { loadOrCreateCliSession, extractUserIdFromJwt } from './session.js';
@@ -22,11 +22,12 @@ const CLI_CLIENT_KIND = `jinko-cli/${pkg.version}`;
22
22
  * OAuth tokens are auto-refreshed before each request when expired.
23
23
  */
24
24
  export async function createJinkoClient(options = {}) {
25
- const auth = await resolveAuth(options.apiKey);
25
+ const environment = await resolveEnvironment(options.environment);
26
+ const auth = await resolveAuth(options.apiKey, environment);
26
27
  if (!auth) {
27
28
  throw new AuthError();
28
29
  }
29
- const baseUrl = resolveBaseUrl();
30
+ const baseUrl = resolveBaseUrl(environment);
30
31
  const client = createClient({ baseUrl });
31
32
  // Persistent CLI session id — stable across invocations within the session TTL.
32
33
  // Decoupled from per-request correlation (X-Request-ID, fresh each call).
@@ -62,7 +63,13 @@ export async function createJinkoClient(options = {}) {
62
63
  }
63
64
  const authMiddleware = {
64
65
  async onRequest({ request }) {
65
- const headers = new Headers(request.headers);
66
+ // Mutate headers on the existing request rather than reconstructing it.
67
+ // Rebuilding with `body: request.body` + `duplex: 'half'` sends a
68
+ // half-duplex *stream*, which undici aborts with "expected non-null body
69
+ // source" whenever the server short-circuits before consuming the body
70
+ // (e.g. a 401 at the public ingress) — masking every auth failure as an
71
+ // opaque "fetch failed". Header mutation leaves the body untouched.
72
+ const { headers } = request;
66
73
  headers.set('X-Tenant-ID', 'jinko');
67
74
  headers.set('Content-Type', 'application/json');
68
75
  headers.set('Accept', 'application/json');
@@ -118,14 +125,7 @@ export async function createJinkoClient(options = {}) {
118
125
  }
119
126
  headers.set('Authorization', `Bearer ${currentToken}`);
120
127
  }
121
- return new Request(request.url, {
122
- method: request.method,
123
- headers,
124
- body: request.body,
125
- signal: request.signal,
126
- // @ts-expect-error — Node.js requires duplex for streaming body
127
- duplex: 'half',
128
- });
128
+ return request;
129
129
  },
130
130
  };
131
131
  // Error middleware — converts HTTP errors to ApiError.
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { createJinkoClient, type ClientOptions, type JinkoClient, type JinkoRawClient } from './client.js';
2
2
  export { type JinkoTools } from './tools.js';
3
- export { resolveAuth, readConfigFile, writeConfigFile, clearAuthConfig, CONFIG_DIR, CONFIG_FILE, type AuthMethod, type ResolvedAuth, type OAuthConfig } from './auth.js';
3
+ export { resolveAuth, resolveBaseUrl, resolveEnvironment, readConfigFile, writeConfigFile, writeEnvAuth, setEnvironment, clearAuthConfig, ENV_BASE_URLS, CONFIG_DIR, CONFIG_FILE, DEFAULT_ENVIRONMENT, type AuthMethod, type Environment, type ResolvedAuth, type OAuthConfig, } from './auth.js';
4
4
  export { loadOrCreateCliSession, clearCliSession, extractUserIdFromJwt, getSessionFilePath, SESSION_TTL_MS } from './session.js';
5
5
  export { ApiError, AuthError, ValidationError, type ApiErrorDetail } from './errors.js';
6
6
  export { requestDeviceAuthorization, pollForToken, refreshAccessToken, isTokenExpired, OAuthError, OAuthRefreshError, resolveExpiresAt, type OAuthTokens, type DeviceAuthorization, } from './oauth.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC3G,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AACzK,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjI,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EAEV,KAAK,EACL,MAAM,EACN,SAAS,EACT,SAAS,EAET,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,EAC9B,qBAAqB,EACrB,uBAAuB,EAEvB,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,IAAI,EACJ,SAAS,EAET,sBAAsB,EACtB,uBAAuB,EAEvB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EAEpB,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EAExB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC3G,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,EACf,aAAa,EACb,UAAU,EACV,WAAW,EACX,mBAAmB,EACnB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjI,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC9D,YAAY,EAEV,KAAK,EACL,MAAM,EACN,SAAS,EACT,SAAS,EAET,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,EAC9B,qBAAqB,EACrB,uBAAuB,EAEvB,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,IAAI,EACJ,SAAS,EAET,sBAAsB,EACtB,uBAAuB,EAEvB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EAEpB,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EAExB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { createJinkoClient } from './client.js';
2
- export { resolveAuth, readConfigFile, writeConfigFile, clearAuthConfig, CONFIG_DIR, CONFIG_FILE } from './auth.js';
2
+ export { resolveAuth, resolveBaseUrl, resolveEnvironment, readConfigFile, writeConfigFile, writeEnvAuth, setEnvironment, clearAuthConfig, ENV_BASE_URLS, CONFIG_DIR, CONFIG_FILE, DEFAULT_ENVIRONMENT, } from './auth.js';
3
3
  export { loadOrCreateCliSession, clearCliSession, extractUserIdFromJwt, getSessionFilePath, SESSION_TTL_MS } from './session.js';
4
4
  export { ApiError, AuthError, ValidationError } from './errors.js';
5
5
  export { requestDeviceAuthorization, pollForToken, refreshAccessToken, isTokenExpired, OAuthError, OAuthRefreshError, resolveExpiresAt, } from './oauth.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA6D,MAAM,aAAa,CAAC;AAE3G,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAwD,MAAM,WAAW,CAAC;AACzK,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjI,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAuB,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,gBAAgB,GAGjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA6D,MAAM,aAAa,CAAC;AAE3G,OAAO,EACL,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,cAAc,EACd,eAAe,EACf,aAAa,EACb,UAAU,EACV,WAAW,EACX,mBAAmB,GAKpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjI,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAuB,MAAM,aAAa,CAAC;AACxF,OAAO,EACL,0BAA0B,EAC1B,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,gBAAgB,GAGjB,MAAM,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gojinko/api-client",
3
- "version": "2.6.0",
3
+ "version": "2.8.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",