@lumenkey/cli 0.1.8 → 0.2.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.
Files changed (42) hide show
  1. package/README.md +27 -5
  2. package/dist/cli/copied.d.ts.map +1 -1
  3. package/dist/cli/copied.js +75 -57
  4. package/dist/cli/copied.js.map +1 -1
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +10 -11
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/core/client.d.ts +1 -0
  9. package/dist/core/client.d.ts.map +1 -1
  10. package/dist/core/client.js +100 -15
  11. package/dist/core/client.js.map +1 -1
  12. package/dist/core/config-dir.d.ts +3 -0
  13. package/dist/core/config-dir.d.ts.map +1 -0
  14. package/dist/core/config-dir.js +22 -0
  15. package/dist/core/config-dir.js.map +1 -0
  16. package/dist/core/config.d.ts.map +1 -1
  17. package/dist/core/config.js +16 -10
  18. package/dist/core/config.js.map +1 -1
  19. package/dist/core/job-display.d.ts +4 -0
  20. package/dist/core/job-display.d.ts.map +1 -0
  21. package/dist/core/job-display.js +19 -0
  22. package/dist/core/job-display.js.map +1 -0
  23. package/dist/core/locale.d.ts +3 -1
  24. package/dist/core/locale.d.ts.map +1 -1
  25. package/dist/core/locale.js +58 -7
  26. package/dist/core/locale.js.map +1 -1
  27. package/dist/core/origin.d.ts.map +1 -1
  28. package/dist/core/origin.js +1 -0
  29. package/dist/core/origin.js.map +1 -1
  30. package/dist/core/poller.d.ts.map +1 -1
  31. package/dist/core/poller.js +9 -15
  32. package/dist/core/poller.js.map +1 -1
  33. package/dist/core/profiles.d.ts +3 -0
  34. package/dist/core/profiles.d.ts.map +1 -1
  35. package/dist/core/profiles.js +12 -3
  36. package/dist/core/profiles.js.map +1 -1
  37. package/dist/core/wait.d.ts.map +1 -1
  38. package/dist/core/wait.js +19 -2
  39. package/dist/core/wait.js.map +1 -1
  40. package/dist/mcp/server.js +14 -14
  41. package/dist/mcp/server.js.map +1 -1
  42. package/package.json +1 -1
@@ -6,7 +6,7 @@ export declare function hasErrorSentence(code: string): boolean;
6
6
  export declare function errorSentence(code: string, lang?: Lang): string;
7
7
  export declare function transportFailureDetail(baseUrl: string, lang?: Lang): string;
8
8
  export declare function proxyTransportDetail(baseUrl: string, lang?: Lang): string;
9
- /** Blank means no visible character remains after format characters and space separators. */
9
+ /** Blank means no visible character remains. Fillers are listed; real letters, including Hangul, stay. */
10
10
  export declare function isBlankPrompt(value: unknown): boolean;
11
11
  export declare function textCatalogMissDetail(model: string, lang?: Lang): string;
12
12
  export declare function missingModelSentence(name: string, lang?: Lang): string;
@@ -17,6 +17,8 @@ export declare function idempotencyKeyMessages(lang?: Lang): {
17
17
  breaks: string;
18
18
  };
19
19
  export declare function ui(en: string, zh: string, lang?: Lang): string;
20
+ export declare function waitTimeoutDetail(jobId: string, timeoutMs: number, lang?: Lang): string;
21
+ export declare function jobStatusText(status: string, lang?: Lang): string;
20
22
  export declare function blankPromptSentence(kind: 'flag' | 'field' | 'user', lang?: Lang): string;
21
23
  export declare function spendingCapSentence(label: string, lang?: Lang): string;
22
24
  export declare function quoteCapSentence(label: string, lang?: Lang): string;
@@ -1 +1 @@
1
- {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../src/core/locale.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAoH/B,wBAAgB,QAAQ,CAAC,IAAI,GAAE,SAAS,MAAM,EAAiB,GAAG,MAAM,GAAG,SAAS,CASnF;AAOD,sGAAsG;AACtG,wBAAgB,WAAW,CAAC,IAAI,GAAE,SAAS,MAAM,EAAiB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAM9G;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAG9E;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAI1F;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAIxF;AAED,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAErD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAKvF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAIrF;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAW5I;AAED,wBAAgB,sBAAsB,CAAC,IAAI,GAAE,IAAoB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQpH;AAED,wBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAE7E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CASvG;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAIrF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAIlF;AAID,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D"}
1
+ {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../src/core/locale.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAsJ/B,wBAAgB,QAAQ,CAAC,IAAI,GAAE,SAAS,MAAM,EAAiB,GAAG,MAAM,GAAG,SAAS,CASnF;AAUD,sGAAsG;AACtG,wBAAgB,WAAW,CAAC,IAAI,GAAE,SAAS,MAAM,EAAiB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAQ9G;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAG9E;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAI1F;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAIxF;AAID,0GAA0G;AAC1G,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAErD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAKvF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAIrF;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAW5I;AAED,wBAAgB,sBAAsB,CAAC,IAAI,GAAE,IAAoB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAQpH;AAED,wBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAE7E;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAOtG;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAOhF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CASvG;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAIrF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,IAAoB,GAAG,MAAM,CAIlF;AAID,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D"}
@@ -5,6 +5,9 @@ const EN = {
5
5
  MODEL_NOT_IN_CATALOG: 'This model ID is not in your available catalog. Use models to find an exact ID.',
6
6
  BASE_URL_INVALID: 'The gateway address must be an HTTP(S) origin without credentials, query or fragment.',
7
7
  TRANSPORT_FAILED: 'Network connection to the gateway failed.',
8
+ PROXY_URL_INVALID: 'The configured proxy address is not usable. Check the proxy environment variables.',
9
+ PROXY_PROTOCOL_UNSUPPORTED: 'Only HTTP(S) proxies are supported. The configured proxy was not bypassed.',
10
+ CLI_ARGUMENTS_INVALID: 'Unexpected positional arguments. Check this command with --help.',
8
11
  HTTP_ERROR: 'The gateway could not complete this request.',
9
12
  API_REQUEST_FAILED: 'The gateway could not complete this request.',
10
13
  JOB_ID_INVALID: 'A non-empty task ID in UUID format is required.',
@@ -12,6 +15,7 @@ const EN = {
12
15
  CHAT_CREDIT_LIMIT_INVALID: 'The chat spending cap must be a non-negative safe integer.',
13
16
  CHAT_CREDIT_LIMIT_EXCEEDED: 'The required chat reservation exceeds your spending cap. No chat was started or credits reserved.',
14
17
  STREAM_SETTLEMENT_PENDING: 'Chat failed, but settlement has not been confirmed. Credits may still be reserved; do not assume they have been released.',
18
+ STREAM_INPUT_SETTLEMENT_PENDING: 'An earlier request has pending settlement. Credits may still be reserved; do not assume they have been released. No automatic retry was made.',
15
19
  STREAM_ALREADY_CONSUMED: 'This idempotency key already completed the same request. This attempt was not charged again.',
16
20
  IDEMPOTENCY_CONFLICT: 'This idempotency key was already used for a different request. This attempt was not charged again.',
17
21
  IDEMPOTENCY_RESULT_EXPIRED: 'The earlier result for this idempotency key is no longer replayable.',
@@ -53,6 +57,19 @@ const EN = {
53
57
  CANCELLED: 'The request was cancelled.',
54
58
  ACCOUNT_NOT_ELIGIBLE: 'This account cannot use the requested model.',
55
59
  CHAT_UPSTREAM_ERROR: 'The model returned an internal error instead of an answer.',
60
+ UNAUTHORIZED: 'The key was rejected. Check LUMENKEY_API_KEY or run lumenkey login.',
61
+ FORBIDDEN: 'This key cannot perform that action.',
62
+ INSUFFICIENT_CREDITS: 'Not enough credits for this request.',
63
+ NOT_FOUND: 'The gateway has no such resource.',
64
+ RATE_LIMITED: 'Too many requests. Wait and try again.',
65
+ GATEWAY_REDIRECTED: 'The gateway returned a redirect, and this client did not follow it.',
66
+ JOB_CANCELLED: 'The task was cancelled.',
67
+ JOB_EXPIRED: 'The task expired before it finished.',
68
+ JOB_OUTPUT_MISSING: 'The task finished without a result address.',
69
+ JOB_TERMINAL_FAILURE: 'The task ended without a result.',
70
+ DOWNLOAD_URL_INVALID: 'The result address cannot be downloaded.',
71
+ DOWNLOAD_TOO_LARGE: 'The result is larger than 128 MiB and was not saved.',
72
+ CLI_COMMAND_FAILED: 'The command failed before it could finish.',
56
73
  };
57
74
  const ZH = {
58
75
  API_KEY_NOT_CONFIGURED: '尚未配置密钥。请设置 LUMENKEY_API_KEY,或运行 lumenkey login。',
@@ -61,6 +78,9 @@ const ZH = {
61
78
  MODEL_NOT_IN_CATALOG: '该模型 ID 不在你的可用目录中。运行 lumenkey models 查看准确 ID。',
62
79
  BASE_URL_INVALID: '网关地址必须是 HTTP(S) 源地址,且不能包含账号密码、查询参数或片段。',
63
80
  TRANSPORT_FAILED: '无法连接网关,请检查网络与网关地址。',
81
+ PROXY_URL_INVALID: '代理地址无效,请检查代理环境变量。',
82
+ PROXY_PROTOCOL_UNSUPPORTED: '仅支持 HTTP(S) 代理;未绕过已配置的代理直连。',
83
+ CLI_ARGUMENTS_INVALID: '命令包含多余的位置参数,请用 --help 检查用法。',
64
84
  HTTP_ERROR: '网关无法完成本次请求。',
65
85
  API_REQUEST_FAILED: '网关无法完成本次请求。',
66
86
  JOB_ID_INVALID: '任务 ID 不能为空,且必须是 UUID 格式。',
@@ -68,6 +88,7 @@ const ZH = {
68
88
  CHAT_CREDIT_LIMIT_INVALID: '对话花费上限必须是非负整数。',
69
89
  CHAT_CREDIT_LIMIT_EXCEEDED: '本次对话所需预授权超过你的花费上限,已阻止。未发起对话,也未冻结算力点。',
70
90
  STREAM_SETTLEMENT_PENDING: '对话失败,但结算尚未确认。算力点可能仍处于冻结状态,请不要认为已自动归还。',
91
+ STREAM_INPUT_SETTLEMENT_PENDING: '先前请求的结算尚未确认,算力点可能仍处于冻结状态。请不要认为已自动归还;客户端没有自动重试。',
71
92
  STREAM_ALREADY_CONSUMED: '该幂等键已成功完成过同一请求,本次未重复扣费。',
72
93
  IDEMPOTENCY_CONFLICT: '该幂等键已用于另一个不同的请求,本次未重复扣费。',
73
94
  IDEMPOTENCY_RESULT_EXPIRED: '该幂等键上一次保存的结果已经不能再回放。',
@@ -109,6 +130,19 @@ const ZH = {
109
130
  CANCELLED: '请求已取消。',
110
131
  ACCOUNT_NOT_ELIGIBLE: '此账号不能使用所请求的模型。',
111
132
  CHAT_UPSTREAM_ERROR: '模型返回了内部错误,而不是回答。',
133
+ UNAUTHORIZED: '密钥未被接受。请检查 LUMENKEY_API_KEY,或运行 lumenkey login。',
134
+ FORBIDDEN: '这把密钥不能执行该操作。',
135
+ INSUFFICIENT_CREDITS: '算力点不足,无法完成本次请求。',
136
+ NOT_FOUND: '网关没有这个资源。',
137
+ RATE_LIMITED: '请求过于频繁,请稍后再试。',
138
+ GATEWAY_REDIRECTED: '网关返回了重定向,客户端没有跟随。',
139
+ JOB_CANCELLED: '任务已取消。',
140
+ JOB_EXPIRED: '任务在完成前已过期。',
141
+ JOB_OUTPUT_MISSING: '任务已结束,但没有结果地址。',
142
+ JOB_TERMINAL_FAILURE: '任务已结束,没有可用结果。',
143
+ DOWNLOAD_URL_INVALID: '结果地址无法下载。',
144
+ DOWNLOAD_TOO_LARGE: '结果超过 128 MiB,没有保存。',
145
+ CLI_COMMAND_FAILED: '命令未能完成。',
112
146
  };
113
147
  export function langFlag(argv = process.argv) {
114
148
  const args = argv.slice(2);
@@ -123,18 +157,22 @@ export function langFlag(argv = process.argv) {
123
157
  }
124
158
  return undefined;
125
159
  }
160
+ function primarySubtag(raw) {
161
+ return (raw.trim().replace(/-/g, '_').split(/[._@]/)[0] ?? '').toLowerCase();
162
+ }
126
163
  function localeLang(env) {
127
- const primary = (env.LC_ALL || env.LANG || '').split(/[._@]/)[0]?.toLowerCase();
128
- return primary === 'en' ? 'en' : 'zh';
164
+ return primarySubtag(env.LC_ALL || env.LANG || '') === 'en' ? 'en' : 'zh';
129
165
  }
130
166
  /** --lang zh|en, then LUMENKEY_LANG, then LC_ALL / LANG, then zh. Invalid values are ignored here. */
131
167
  export function resolveLang(argv = process.argv, env = process.env) {
132
168
  const flag = langFlag(argv);
133
169
  if (flag === 'zh' || flag === 'en')
134
170
  return flag;
135
- const configured = env.LUMENKEY_LANG?.trim();
136
- if (configured === 'zh' || configured === 'en')
137
- return configured;
171
+ if (typeof env.LUMENKEY_LANG === 'string' && env.LUMENKEY_LANG.trim()) {
172
+ const primary = primarySubtag(env.LUMENKEY_LANG);
173
+ if (primary === 'zh' || primary === 'en')
174
+ return primary;
175
+ }
138
176
  return localeLang(env);
139
177
  }
140
178
  export function hasErrorSentence(code) {
@@ -154,9 +192,10 @@ export function proxyTransportDetail(baseUrl, lang = resolveLang()) {
154
192
  ? `通过 HTTP(S)_PROXY 或 ALL_PROXY 连接网关 ${baseUrl} 失败。请检查代理,不要把代理地址当成网关故障。`
155
193
  : `The request to ${baseUrl} failed through HTTP(S)_PROXY or ALL_PROXY. Check that proxy; this is not a gateway-address failure.`;
156
194
  }
157
- /** Blank means no visible character remains after format characters and space separators. */
195
+ const INVISIBLE_PROMPT = /[\p{Cf}\p{Mn}\p{Me}\p{Zs}\p{Zl}\p{Zp}\u115F\u1160\u2800\u3164\uFFA0]/gu;
196
+ /** Blank means no visible character remains. Fillers are listed; real letters, including Hangul, stay. */
158
197
  export function isBlankPrompt(value) {
159
- return typeof value !== 'string' || value.replace(/[\p{Cf}\p{Zs}]/gu, '').trim().length === 0;
198
+ return typeof value !== 'string' || value.replace(INVISIBLE_PROMPT, '').trim().length === 0;
160
199
  }
161
200
  export function textCatalogMissDetail(model, lang = resolveLang()) {
162
201
  const shown = JSON.stringify(model);
@@ -199,6 +238,18 @@ export function idempotencyKeyMessages(lang = resolveLang()) {
199
238
  export function ui(en, zh, lang = resolveLang()) {
200
239
  return lang === 'zh' ? zh : en;
201
240
  }
241
+ export function waitTimeoutDetail(jobId, timeoutMs, lang = resolveLang()) {
242
+ const seconds = timeoutMs / 1000;
243
+ return ui(`Timed out waiting after ${seconds} seconds. The task may still be running; it was not cancelled. Resume with: lumenkey status ${jobId}`, `等待任务 ${seconds} 秒后超时。任务可能仍在运行,未执行取消。可继续查询:lumenkey status ${jobId}`, lang);
244
+ }
245
+ export function jobStatusText(status, lang = resolveLang()) {
246
+ const names = {
247
+ accepted: '已受理', policy_checking: '策略检查中', queued: '排队中', submitting: '提交中',
248
+ provider_running: '生成中', output_checking: '结果检查中', succeeded: '已完成',
249
+ rejected: '已拒绝', failed: '失败', cancelled: '已取消', expired: '已过期',
250
+ };
251
+ return lang === 'zh' && names[status] ? `${names[status]} (${status})` : status;
252
+ }
202
253
  export function blankPromptSentence(kind, lang = resolveLang()) {
203
254
  if (lang === 'zh') {
204
255
  if (kind === 'flag')
@@ -1 +1 @@
1
- {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../src/core/locale.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../src/core/locale.ts"],"names":[],"mappings":"AAEA,MAAM,EAAE,GAA2B;IACjC,sBAAsB,EAAE,kEAAkE;IAC1F,eAAe,EAAE,sEAAsE;IACvF,cAAc,EAAE,mCAAmC;IACnD,oBAAoB,EAAE,iFAAiF;IACvG,gBAAgB,EAAE,uFAAuF;IACzG,gBAAgB,EAAE,2CAA2C;IAC7D,iBAAiB,EAAE,oFAAoF;IACvG,0BAA0B,EAAE,4EAA4E;IACxG,qBAAqB,EAAE,kEAAkE;IACzF,UAAU,EAAE,8CAA8C;IAC1D,kBAAkB,EAAE,8CAA8C;IAClE,cAAc,EAAE,iDAAiD;IACjE,aAAa,EAAE,4DAA4D;IAC3E,yBAAyB,EAAE,4DAA4D;IACvF,0BAA0B,EAAE,mGAAmG;IAC/H,yBAAyB,EAAE,2HAA2H;IACtJ,+BAA+B,EAAE,+IAA+I;IAChL,uBAAuB,EAAE,8FAA8F;IACvH,oBAAoB,EAAE,oGAAoG;IAC1H,0BAA0B,EAAE,sEAAsE;IAClG,wBAAwB,EAAE,iCAAiC;IAC3D,uBAAuB,EAAE,mDAAmD;IAC5E,wBAAwB,EAAE,gDAAgD;IAC1E,0BAA0B,EAAE,yGAAyG;IACrI,YAAY,EAAE,4BAA4B;IAC1C,wBAAwB,EAAE,yDAAyD;IACnF,wBAAwB,EAAE,wDAAwD;IAClF,oBAAoB,EAAE,yDAAyD;IAC/E,mBAAmB,EAAE,uCAAuC;IAC5D,eAAe,EAAE,+DAA+D;IAChF,oBAAoB,EAAE,qDAAqD;IAC3E,0BAA0B,EAAE,wCAAwC;IACpE,aAAa,EAAE,8CAA8C;IAC7D,sBAAsB,EAAE,sDAAsD;IAC9E,kBAAkB,EAAE,+CAA+C;IACnE,eAAe,EAAE,wDAAwD;IACzE,qBAAqB,EAAE,0CAA0C;IACjE,kBAAkB,EAAE,sDAAsD;IAC1E,eAAe,EAAE,8CAA8C;IAC/D,sBAAsB,EAAE,iDAAiD;IACzE,oBAAoB,EAAE,8CAA8C;IACpE,YAAY,EAAE,gEAAgE;IAC9E,oBAAoB,EAAE,kDAAkD;IACxE,gBAAgB,EAAE,iCAAiC;IACnD,yBAAyB,EAAE,sEAAsE;IACjG,aAAa,EAAE,gDAAgD;IAC/D,0BAA0B,EAAE,iDAAiD;IAC7E,0BAA0B,EAAE,8CAA8C;IAC1E,mBAAmB,EAAE,8BAA8B;IACnD,gBAAgB,EAAE,2BAA2B;IAC7C,mBAAmB,EAAE,gDAAgD;IACrE,yBAAyB,EAAE,2DAA2D;IACtF,cAAc,EAAE,sCAAsC;IACtD,iBAAiB,EAAE,qDAAqD;IACxE,oBAAoB,EAAE,gCAAgC;IACtD,SAAS,EAAE,4BAA4B;IACvC,oBAAoB,EAAE,8CAA8C;IACpE,mBAAmB,EAAE,4DAA4D;IACjF,YAAY,EAAE,qEAAqE;IACnF,SAAS,EAAE,sCAAsC;IACjD,oBAAoB,EAAE,sCAAsC;IAC5D,SAAS,EAAE,mCAAmC;IAC9C,YAAY,EAAE,wCAAwC;IACtD,kBAAkB,EAAE,qEAAqE;IACzF,aAAa,EAAE,yBAAyB;IACxC,WAAW,EAAE,sCAAsC;IACnD,kBAAkB,EAAE,6CAA6C;IACjE,oBAAoB,EAAE,kCAAkC;IACxD,oBAAoB,EAAE,0CAA0C;IAChE,kBAAkB,EAAE,sDAAsD;IAC1E,kBAAkB,EAAE,4CAA4C;CACjE,CAAC;AAEF,MAAM,EAAE,GAA2B;IACjC,sBAAsB,EAAE,iDAAiD;IACzE,eAAe,EAAE,kBAAkB;IACnC,cAAc,EAAE,oBAAoB;IACpC,oBAAoB,EAAE,8CAA8C;IACpE,gBAAgB,EAAE,wCAAwC;IAC1D,gBAAgB,EAAE,oBAAoB;IACtC,iBAAiB,EAAE,mBAAmB;IACtC,0BAA0B,EAAE,6BAA6B;IACzD,qBAAqB,EAAE,6BAA6B;IACpD,UAAU,EAAE,aAAa;IACzB,kBAAkB,EAAE,aAAa;IACjC,cAAc,EAAE,0BAA0B;IAC1C,aAAa,EAAE,yBAAyB;IACxC,yBAAyB,EAAE,gBAAgB;IAC3C,0BAA0B,EAAE,sCAAsC;IAClE,yBAAyB,EAAE,uCAAuC;IAClE,+BAA+B,EAAE,gDAAgD;IACjF,uBAAuB,EAAE,yBAAyB;IAClD,oBAAoB,EAAE,0BAA0B;IAChD,0BAA0B,EAAE,sBAAsB;IAClD,wBAAwB,EAAE,UAAU;IACpC,uBAAuB,EAAE,aAAa;IACtC,wBAAwB,EAAE,iBAAiB;IAC3C,0BAA0B,EAAE,wCAAwC;IACpE,YAAY,EAAE,gBAAgB;IAC9B,wBAAwB,EAAE,cAAc;IACxC,wBAAwB,EAAE,cAAc;IACxC,oBAAoB,EAAE,kBAAkB;IACxC,mBAAmB,EAAE,eAAe;IACpC,eAAe,EAAE,sBAAsB;IACvC,oBAAoB,EAAE,YAAY;IAClC,0BAA0B,EAAE,eAAe;IAC3C,aAAa,EAAE,eAAe;IAC9B,sBAAsB,EAAE,YAAY;IACpC,kBAAkB,EAAE,iBAAiB;IACrC,eAAe,EAAE,gBAAgB;IACjC,qBAAqB,EAAE,iBAAiB;IACxC,kBAAkB,EAAE,gBAAgB;IACpC,eAAe,EAAE,aAAa;IAC9B,sBAAsB,EAAE,eAAe;IACvC,oBAAoB,EAAE,cAAc;IACpC,YAAY,EAAE,kBAAkB;IAChC,oBAAoB,EAAE,YAAY;IAClC,gBAAgB,EAAE,SAAS;IAC3B,yBAAyB,EAAE,mBAAmB;IAC9C,aAAa,EAAE,aAAa;IAC5B,0BAA0B,EAAE,eAAe;IAC3C,0BAA0B,EAAE,aAAa;IACzC,mBAAmB,EAAE,WAAW;IAChC,gBAAgB,EAAE,UAAU;IAC5B,mBAAmB,EAAE,gBAAgB;IACrC,yBAAyB,EAAE,yBAAyB;IACpD,cAAc,EAAE,YAAY;IAC5B,iBAAiB,EAAE,gBAAgB;IACnC,oBAAoB,EAAE,SAAS;IAC/B,SAAS,EAAE,QAAQ;IACnB,oBAAoB,EAAE,gBAAgB;IACtC,mBAAmB,EAAE,kBAAkB;IACvC,YAAY,EAAE,iDAAiD;IAC/D,SAAS,EAAE,cAAc;IACzB,oBAAoB,EAAE,iBAAiB;IACvC,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,eAAe;IAC7B,kBAAkB,EAAE,mBAAmB;IACvC,aAAa,EAAE,QAAQ;IACvB,WAAW,EAAE,YAAY;IACzB,kBAAkB,EAAE,gBAAgB;IACpC,oBAAoB,EAAE,eAAe;IACrC,oBAAoB,EAAE,WAAW;IACjC,kBAAkB,EAAE,oBAAoB;IACxC,kBAAkB,EAAE,SAAS;CAC9B,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,OAA0B,OAAO,CAAC,IAAI;IAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,IAAI;YAAE,MAAM;QACxB,IAAI,GAAG,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AAC/E,CAAC;AAED,SAAS,UAAU,CAAC,GAAsB;IACxC,OAAO,aAAa,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5E,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,WAAW,CAAC,OAA0B,OAAO,CAAC,IAAI,EAAE,MAAyB,OAAO,CAAC,GAAG;IACtG,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ,IAAI,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;QACtE,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACjD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC;IAC3D,CAAC;IACD,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAAa,WAAW,EAAE;IACpE,MAAM,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,OAAa,WAAW,EAAE;IAChF,OAAO,IAAI,KAAK,IAAI;QAClB,CAAC,CAAC,UAAU,OAAO,cAAc;QACjC,CAAC,CAAC,yBAAyB,OAAO,oDAAoD,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAe,EAAE,OAAa,WAAW,EAAE;IAC9E,OAAO,IAAI,KAAK,IAAI;QAClB,CAAC,CAAC,qCAAqC,OAAO,0BAA0B;QACxE,CAAC,CAAC,kBAAkB,OAAO,sGAAsG,CAAC;AACtI,CAAC;AAED,MAAM,gBAAgB,GAAG,wEAAwE,CAAC;AAElG,0GAA0G;AAC1G,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa,EAAE,OAAa,WAAW,EAAE;IAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,IAAI,KAAK,IAAI;QAClB,CAAC,CAAC,MAAM,KAAK,2BAA2B;QACxC,CAAC,CAAC,SAAS,KAAK,gEAAgE,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,OAAa,WAAW,EAAE;IAC3E,OAAO,IAAI,KAAK,IAAI;QAClB,CAAC,CAAC,QAAQ,IAAI,kCAAkC,IAAI,EAAE;QACtD,CAAC,CAAC,wBAAwB,IAAI,gCAAgC,IAAI,EAAE,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAsD,EAAE,OAAgB,EAAE,OAAa,WAAW,EAAE;IAClI,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,sBAAsB,CAAC;QACxD,IAAI,MAAM,KAAK,UAAU;YAAE,OAAO,kBAAkB,CAAC;QACrD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,OAAO,OAAO,CAAC;QACtD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,oDAAoD,CAAC;IACtF,IAAI,MAAM,KAAK,UAAU;QAAE,OAAO,2CAA2C,CAAC;IAC9E,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,YAAY,OAAO,WAAW,CAAC;IAChE,OAAO,mDAAmD,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAa,WAAW,EAAE;IAC/D,OAAO,IAAI,KAAK,IAAI;QAClB,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,aAAa,EAAE;QACzE,CAAC,CAAC;YACA,QAAQ,EAAE,iCAAiC;YAC3C,GAAG,EAAE,gDAAgD;YACrD,MAAM,EAAE,mDAAmD;SAC5D,CAAC;AACN,CAAC;AAED,MAAM,UAAU,EAAE,CAAC,EAAU,EAAE,EAAU,EAAE,OAAa,WAAW,EAAE;IACnE,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,SAAiB,EAAE,OAAa,WAAW,EAAE;IAC5F,MAAM,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,CACP,2BAA2B,OAAO,+FAA+F,KAAK,EAAE,EACxI,QAAQ,OAAO,8CAA8C,KAAK,EAAE,EACpE,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,OAAa,WAAW,EAAE;IACtE,MAAM,KAAK,GAA2B;QACpC,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK;QAC3E,gBAAgB,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK;QACnE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;KAChE,CAAC;IACF,OAAO,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAA+B,EAAE,OAAa,WAAW,EAAE;IAC7F,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,uBAAuB,CAAC;QACpD,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,qBAAqB,CAAC;QACnD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,6CAA6C,CAAC;IAC1E,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO,2CAA2C,CAAC;IACzE,OAAO,oCAAoC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,OAAa,WAAW,EAAE;IAC3E,OAAO,IAAI,KAAK,IAAI;QAClB,CAAC,CAAC,GAAG,KAAK,WAAW;QACrB,CAAC,CAAC,GAAG,KAAK,kCAAkC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,OAAa,WAAW,EAAE;IACxE,OAAO,IAAI,KAAK,IAAI;QAClB,CAAC,CAAC,cAAc,KAAK,MAAM;QAC3B,CAAC,CAAC,2BAA2B,KAAK,iBAAiB,CAAC;AACxD,CAAC;AAED,MAAM,mBAAmB,GAAG,kCAAkC,CAAC;AAE/D,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"origin.d.ts","sourceRoot":"","sources":["../../src/core/origin.ts"],"names":[],"mappings":"AAAA,4HAA4H;AAC5H,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAW1D"}
1
+ {"version":3,"file":"origin.d.ts","sourceRoot":"","sources":["../../src/core/origin.ts"],"names":[],"mappings":"AAAA,4HAA4H;AAC5H,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAY1D"}
@@ -1,5 +1,6 @@
1
1
  /** Collapse repeated path slashes, then remove one trailing /v1 and leftover slashes. The scheme separator stays intact. */
2
2
  export function normalizeGatewayOrigin(raw) {
3
+ raw = raw.trim();
3
4
  const scheme = /^([A-Za-z][A-Za-z0-9+.-]*:\/\/)/.exec(raw);
4
5
  if (!scheme)
5
6
  return stripGatewayPath(raw);
@@ -1 +1 @@
1
- {"version":3,"file":"origin.js","sourceRoot":"","sources":["../../src/core/origin.ts"],"names":[],"mappings":"AAAA,4HAA4H;AAC5H,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,MAAM,MAAM,GAAG,iCAAiC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACvE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACnG,CAAC"}
1
+ {"version":3,"file":"origin.js","sourceRoot":"","sources":["../../src/core/origin.ts"],"names":[],"mappings":"AAAA,4HAA4H;AAC5H,MAAM,UAAU,sBAAsB,CAAC,GAAW;IAChD,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACjB,MAAM,MAAM,GAAG,iCAAiC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,IAAI,CAAC,MAAM;QAAE,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACvE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC;AAC/C,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACnG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"poller.d.ts","sourceRoot":"","sources":["../../src/core/poller.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACpD;AAID,qBAAa,eAAgB,SAAQ,aAAa;gBACpC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAe5C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,aAAa,UAAQ,GAAG,IAAI,CAUxF;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAwC9B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BtG"}
1
+ {"version":3,"file":"poller.d.ts","sourceRoot":"","sources":["../../src/core/poller.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,aAAa,EAAsB,MAAM,aAAa,CAAC;AAEhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACpD;AAID,qBAAa,eAAgB,SAAQ,aAAa;gBACpC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAQ5C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,mBAAmB,EAAE,aAAa,UAAQ,GAAG,IAAI,CAUxF;AAED,wBAAsB,OAAO,CAC3B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,mBAAmB,CAAC,CAwC9B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CA4BtG"}
@@ -4,23 +4,17 @@ import { pipeline } from 'node:stream/promises';
4
4
  import { Readable } from 'node:stream';
5
5
  import { Transform } from 'node:stream';
6
6
  import crypto from 'node:crypto';
7
- import { LumenKeyError } from './client.js';
7
+ import { LumenKeyError, redactPublicDetail } from './client.js';
8
+ import { hasErrorSentence, waitTimeoutDetail } from './locale.js';
8
9
  const TERMINAL_STATES = new Set(['succeeded', 'rejected', 'failed', 'cancelled', 'expired']);
9
10
  export class JobFailureError extends LumenKeyError {
10
11
  constructor(code, message) {
11
12
  super(code);
12
13
  this.name = 'JobFailureError';
13
- // Keep the public explanation short and single-line; never reflect credential
14
- // assignments or URLs (which can contain signed access parameters).
15
- const short = typeof message === 'string' ? message
16
- .replace(/\u001b\[[0-?]*[ -/]*[@-~]/g, '')
17
- .replace(/[\u0000-\u001f\u007f-\u009f]/g, ' ')
18
- .replace(/\b(?:https?|postgres(?:ql)?|redis):\/\/\S+/gi, '[redacted]')
19
- .replace(/\bBearer\s+\S+/gi, 'Bearer [redacted]')
20
- .replace(/\b(?:api[_-]?key|token|secret|password|authorization|dsn)\s*[:=]\s*\S+/gi, '[redacted]')
21
- .replace(/\b(?:sk-|lk_live_|lk_test_)[A-Za-z0-9_-]+/g, '[redacted]')
22
- .replace(/\s+/g, ' ').trim().slice(0, 200) : '';
23
- this.message = `${code}${short ? `: ${short}` : ''}`;
14
+ if (!hasErrorSentence(code)) {
15
+ const short = redactPublicDetail(message);
16
+ this.message = `${code}${short ? `: ${short}` : ''}`;
17
+ }
24
18
  }
25
19
  }
26
20
  export function assertJobResult(detail, requireOutput = false) {
@@ -41,7 +35,7 @@ export async function pollJob(client, jobId, options = {}) {
41
35
  const startTime = Date.now();
42
36
  while (true) {
43
37
  if (Date.now() - startTime > timeoutMs) {
44
- throw new Error(`Polling timed out after ${timeoutMs}ms for job ${jobId}. The job is still running on the server; you can resume querying with: lumenkey status ${jobId}`);
38
+ throw new LumenKeyError('WAIT_TIMEOUT', undefined, undefined, waitTimeoutDetail(jobId, timeoutMs));
45
39
  }
46
40
  let detail;
47
41
  try {
@@ -83,7 +77,7 @@ export async function downloadFile(url, outputPath, overwrite = false) {
83
77
  }
84
78
  const target = new URL(url);
85
79
  if (target.username || target.password || !['https:', 'http:'].includes(target.protocol))
86
- throw new Error('DOWNLOAD_URL_INVALID');
80
+ throw new LumenKeyError('DOWNLOAD_URL_INVALID');
87
81
  const response = await fetch(url, { redirect: 'error', signal: AbortSignal.timeout(120000) });
88
82
  if (!response.ok || !response.body) {
89
83
  throw new Error(`DOWNLOAD_HTTP_ERROR_${response.status}`);
@@ -92,7 +86,7 @@ export async function downloadFile(url, outputPath, overwrite = false) {
92
86
  const limit = 128 * 1024 * 1024;
93
87
  let bytes = 0;
94
88
  try {
95
- await pipeline(Readable.fromWeb(response.body), new Transform({ transform(chunk, _encoding, callback) { bytes += chunk.length; callback(bytes > limit ? new Error('DOWNLOAD_TOO_LARGE') : null, chunk); } }), fs.createWriteStream(temporary, { flags: 'wx', mode: 0o600 }));
89
+ await pipeline(Readable.fromWeb(response.body), new Transform({ transform(chunk, _encoding, callback) { bytes += chunk.length; callback(bytes > limit ? new LumenKeyError('DOWNLOAD_TOO_LARGE') : null, chunk); } }), fs.createWriteStream(temporary, { flags: 'wx', mode: 0o600 }));
96
90
  if (overwrite)
97
91
  await fs.promises.rename(temporary, resolvedPath);
98
92
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"poller.js","sourceRoot":"","sources":["../../src/core/poller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"poller.js","sourceRoot":"","sources":["../../src/core/poller.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,6 @@
1
+ export declare class ProfileMissingError extends Error {
2
+ constructor(name: string);
3
+ }
1
4
  export interface ProfileRecord {
2
5
  key?: string;
3
6
  host?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/core/profiles.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA4BD,wBAAgB,cAAc,CAAC,IAAI,SAAe,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,aAAa,CAAA;CAAE,CAI7F;AAED,wBAAgB,YAAY,CAAC,IAAI,SAAe,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,CAUhJ;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKxF;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAe,EAAE,QAAQ,UAAO,GAAG,SAAS,GAAG,QAAQ,CAOtG;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAe,GAAG,IAAI,CAKlE;AAED,wBAAgB,YAAY,CAAC,IAAI,SAAe,GAAG,IAAI,CAItD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAe,GAAG,OAAO,CAOxE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,SAAe,GAAG,IAAI,CAKpG;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,SAAe,GAAG,MAAM,CAOnF"}
1
+ {"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/core/profiles.ts"],"names":[],"mappings":"AAMA,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,IAAI,EAAE,MAAM;CAIzB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6BD,wBAAgB,cAAc,CAAC,IAAI,SAAe,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,aAAa,CAAA;CAAE,CAI7F;AAED,wBAAgB,YAAY,CAAC,IAAI,SAAe,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CAAE,CAUhJ;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKxF;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAe,EAAE,QAAQ,UAAO,GAAG,SAAS,GAAG,QAAQ,CAOtG;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAe,GAAG,IAAI,CAKlE;AAED,wBAAgB,YAAY,CAAC,IAAI,SAAe,GAAG,IAAI,CAItD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAe,GAAG,OAAO,CAOxE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,SAAe,GAAG,IAAI,CAKpG;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,SAAe,GAAG,MAAM,CAOnF"}
@@ -1,11 +1,20 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
3
  import os from 'node:os';
4
+ import { ui } from './locale.js';
5
+ import { assertConfigDirReadable } from './config-dir.js';
6
+ export class ProfileMissingError extends Error {
7
+ constructor(name) {
8
+ super(ui(`Profile ${name} does not exist.`, `档案 ${name} 不存在。`));
9
+ this.name = 'ProfileMissingError';
10
+ }
11
+ }
4
12
  function filePath(home = os.homedir()) {
5
13
  return path.join(home, '.lumenkey', 'profiles.json');
6
14
  }
7
15
  function read(home = os.homedir()) {
8
16
  const target = filePath(home);
17
+ assertConfigDirReadable(target);
9
18
  if (!fs.existsSync(target))
10
19
  return { profiles: {} };
11
20
  try {
@@ -58,7 +67,7 @@ export function createProfile(name, home = os.homedir(), activate = true) {
58
67
  export function setProfile(name, home = os.homedir()) {
59
68
  const data = read(home);
60
69
  if (!data.profiles[name])
61
- throw new Error(`Profile ${name} does not exist.`);
70
+ throw new ProfileMissingError(name);
62
71
  data.current = name;
63
72
  write(data, home);
64
73
  }
@@ -80,7 +89,7 @@ export function deleteProfile(name, home = os.homedir()) {
80
89
  export function setNamedProfileFields(name, fields, home = os.homedir()) {
81
90
  const data = read(home);
82
91
  if (!data.profiles[name])
83
- throw new Error(`Profile ${name} does not exist.`);
92
+ throw new ProfileMissingError(name);
84
93
  data.profiles[name] = { ...data.profiles[name], ...fields };
85
94
  write(data, home);
86
95
  }
@@ -88,7 +97,7 @@ export function setProfileFields(fields, home = os.homedir()) {
88
97
  const data = read(home);
89
98
  const name = data.current;
90
99
  if (!name || !data.profiles[name])
91
- throw new Error('No key set for profile. Use profile create first.');
100
+ throw new Error(ui('No key set for profile. Use profile create first.', '当前没有档案。请先运行 profile create。'));
92
101
  data.profiles[name] = { ...data.profiles[name], ...fields };
93
102
  write(data, home);
94
103
  return name;
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/core/profiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/core/profiles.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../src/core/wait.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAKtD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACxD,OAAO,CAAC,mBAAmB,CAAC,CAW9B"}
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../../src/core/wait.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAKtD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACxD,OAAO,CAAC,mBAAmB,CAAC,CAyB9B"}
package/dist/core/wait.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { LumenKeyError } from './client.js';
2
+ import { assertJobResult } from './poller.js';
2
3
  const TERMINAL = new Set(['succeeded', 'failed', 'rejected', 'cancelled', 'expired']);
3
4
  const MAX_TIMER_MS = 2_147_483_647;
4
5
  export async function waitForJob(client, jobId, options = {}) {
@@ -7,10 +8,26 @@ export async function waitForJob(client, jobId, options = {}) {
7
8
  if (!Number.isFinite(intervalMs) || intervalMs < 0 || intervalMs > MAX_TIMER_MS || !Number.isFinite(timeoutMs) || timeoutMs < 0)
8
9
  throw new LumenKeyError('WAIT_OPTIONS_INVALID');
9
10
  const deadline = Date.now() + timeoutMs;
11
+ let delay = intervalMs;
10
12
  for (;;) {
11
- const detail = await client.getJob(jobId);
12
- if (TERMINAL.has(detail.status))
13
+ let detail;
14
+ try {
15
+ detail = await client.getJob(jobId);
16
+ }
17
+ catch (error) {
18
+ if (!(error instanceof LumenKeyError) || !(error.status === 429 || error.status === 502 || error.status === 503 || error.status === 504))
19
+ throw error;
20
+ const remaining = deadline - Date.now();
21
+ if (remaining <= 0)
22
+ throw error;
23
+ await new Promise((resolve) => setTimeout(resolve, Math.min(remaining, Math.max(delay, error.retryAfterMs ?? 0))));
24
+ delay = Math.min(delay * 1.5, Math.max(intervalMs, 10_000));
25
+ continue;
26
+ }
27
+ if (TERMINAL.has(detail.status)) {
28
+ assertJobResult(detail, detail.status === 'succeeded');
13
29
  return detail;
30
+ }
14
31
  if (Date.now() >= deadline)
15
32
  throw new LumenKeyError('WAIT_TIMEOUT');
16
33
  await new Promise((resolve) => setTimeout(resolve, Math.max(0, intervalMs)));
@@ -1 +1 @@
1
- {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../src/core/wait.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AACtF,MAAM,YAAY,GAAG,aAAa,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAsB,EACtB,KAAa,EACb,UAAuD,EAAE;IAEzD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,YAAY,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,sBAAsB,CAAC,CAAC;IACjL,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC;QACR,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAC/C,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;YAAE,MAAM,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;QACpE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../src/core/wait.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;AACtF,MAAM,YAAY,GAAG,aAAa,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAsB,EACtB,KAAa,EACb,UAAuD,EAAE;IAEzD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;IAC9C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,SAAS,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,YAAY,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC;QAAE,MAAM,IAAI,aAAa,CAAC,sBAAsB,CAAC,CAAC;IACjL,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,IAAI,KAAK,GAAG,UAAU,CAAC;IACvB,SAAS,CAAC;QACR,IAAI,MAA2B,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,CAAC,KAAK,YAAY,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC;gBAAE,MAAM,KAAK,CAAC;YACtJ,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxC,IAAI,SAAS,IAAI,CAAC;gBAAE,MAAM,KAAK,CAAC;YAChC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnH,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;YAC5D,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAChC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC;YACvD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;YAAE,MAAM,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;QACpE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC"}
@@ -43,7 +43,7 @@ export function createMcpServer() {
43
43
  assertSupportedLang();
44
44
  const server = new McpServer({
45
45
  name: 'lumenkey-mcp-server',
46
- version: '0.1.8',
46
+ version: '0.2.0',
47
47
  });
48
48
  const config = loadConfig();
49
49
  const client = new LumenKeyClient(config);
@@ -53,7 +53,7 @@ export function createMcpServer() {
53
53
  /**
54
54
  * Tool: List available models
55
55
  */
56
- tool('lumenkey_list_models', 'List all available AI models (video, image, text, audio) from LumenKey catalog with schemas and pricing', {
56
+ tool('lumenkey_list_models', ui('List all available AI models (video, image, text, audio) from LumenKey catalog with schemas and pricing', '读取光钥模型目录,包含视频、图片、文本、音频的参数结构与价格。'), {
57
57
  type: z.enum(['video', 'image', 'text', 'audio']).optional().describe('Filter models by type'),
58
58
  }, async ({ type }) => {
59
59
  try {
@@ -80,7 +80,7 @@ export function createMcpServer() {
80
80
  /**
81
81
  * Tool: Generate Video (Seedance 2.0, Wan 3.0, etc.)
82
82
  */
83
- tool('lumenkey_generate_video', 'Quote a LumenKey video. Nothing is submitted until confirm is true.', {
83
+ tool('lumenkey_generate_video', ui('Quote a LumenKey video. Nothing is submitted until confirm is true.', '获取光钥视频报价;只有 confirm 为 true 时才提交计费生成。'), {
84
84
  modelId: z.string().describe('Model ID (e.g. doubao-seedance-2.0, wan3.0-video)'),
85
85
  prompt: requiredPrompt('Text description of the video to generate'),
86
86
  imageUrl: z.string().optional().describe('Optional source image URL for image-to-video'),
@@ -162,7 +162,7 @@ export function createMcpServer() {
162
162
  /**
163
163
  * Tool: Generate Image
164
164
  */
165
- tool('lumenkey_generate_image', 'Quote a LumenKey image. Nothing is submitted until confirm is true.', {
165
+ tool('lumenkey_generate_image', ui('Quote a LumenKey image. Nothing is submitted until confirm is true.', '获取光钥图片报价;只有 confirm 为 true 时才提交计费生成。'), {
166
166
  modelId: z.string().describe('Model ID (e.g. flux-2-pro)'),
167
167
  prompt: requiredPrompt('Prompt for image generation'),
168
168
  imageUrl: z.string().optional().describe('Reference image URL, only when declared in the model inputSchema'),
@@ -229,12 +229,12 @@ export function createMcpServer() {
229
229
  /**
230
230
  * Tool: Query Job Status
231
231
  */
232
- tool('lumenkey_query_job', 'Query the status of an asynchronous generation task by its jobId', {
232
+ tool('lumenkey_query_job', ui('Query the status of an asynchronous generation task by its jobId', '按任务 ID 查询已有异步生成任务的状态。'), {
233
233
  jobId: z.string().describe('The task ID to query'),
234
234
  }, async ({ jobId }) => {
235
235
  try {
236
236
  const detail = await client.getJob(jobId);
237
- assertJobResult(detail, false);
237
+ assertJobResult(detail, detail.status === 'succeeded');
238
238
  return {
239
239
  content: [
240
240
  {
@@ -254,7 +254,7 @@ export function createMcpServer() {
254
254
  /**
255
255
  * Tool: Check Account Balance
256
256
  */
257
- tool('lumenkey_check_balance', 'Query current LumenKey account credits balance (available credits, reserved credits, and updatedAt timestamp)', {}, async () => {
257
+ tool('lumenkey_check_balance', ui('Query current LumenKey account credits balance (available credits, reserved credits, and updatedAt timestamp)', '查询光钥账户的可用算力点、冻结算力点和更新时间。'), {}, async () => {
258
258
  try {
259
259
  const balance = await client.getBalance();
260
260
  return {
@@ -276,7 +276,7 @@ export function createMcpServer() {
276
276
  /**
277
277
  * Tool: Chat Completion & Reasoning
278
278
  */
279
- tool('lumenkey_chat', 'Run billable LLM inference. Every successful call may incur credits; reuse idempotencyKey only for an identical request.', {
279
+ tool('lumenkey_chat', ui('Run billable LLM inference. Every successful call may incur credits; reuse idempotencyKey only for an identical request.', '发起计费文本推理;成功调用可能消耗算力点,仅为同一次相同请求复用幂等键。'), {
280
280
  modelId: z.string().default('qwen3.7-flash').describe('Model ID (e.g. qwen3.7-flash, qwen3.8-max, grok-4.6)'),
281
281
  prompt: requiredPrompt('User message/prompt to send to the model'),
282
282
  systemPrompt: z.string().optional().describe('Optional system instruction'),
@@ -316,7 +316,7 @@ export function createMcpServer() {
316
316
  };
317
317
  }
318
318
  });
319
- tool('lumenkey_explain_model', 'Explain one model: its parameters, which are required, and which values are allowed.', {
319
+ tool('lumenkey_explain_model', ui('Explain one model: its parameters, which are required, and which values are allowed.', '说明指定模型的参数、必填字段与允许的值。'), {
320
320
  modelId: z.string(),
321
321
  }, async ({ modelId }) => {
322
322
  try {
@@ -329,19 +329,19 @@ export function createMcpServer() {
329
329
  return { isError: true, content: [{ type: 'text', text: errorText(err) }] };
330
330
  }
331
331
  });
332
- tool('lumenkey_tasks_progress', 'Read one existing generation job', {
332
+ tool('lumenkey_tasks_progress', ui('Read one existing generation job', '读取一条已有生成任务的进度。'), {
333
333
  jobId: z.string(),
334
334
  }, async ({ jobId }) => {
335
335
  try {
336
336
  const detail = await client.getJob(jobId);
337
- assertJobResult(detail, false);
337
+ assertJobResult(detail, detail.status === 'succeeded');
338
338
  return { content: [{ type: 'text', text: JSON.stringify(detail) }] };
339
339
  }
340
340
  catch (err) {
341
341
  return { isError: true, content: [{ type: 'text', text: errorText(err) }] };
342
342
  }
343
343
  });
344
- tool('lumenkey_tasks_wait', 'Wait for an existing job without creating one', {
344
+ tool('lumenkey_tasks_wait', ui('Wait for an existing job without creating one', '等待已有生成任务,不创建新任务。'), {
345
345
  jobId: z.string(),
346
346
  intervalMs: z.number().nonnegative().finite().max(2_147_483_647).optional(),
347
347
  timeoutMs: z.number().nonnegative().finite().optional(),
@@ -355,9 +355,9 @@ export function createMcpServer() {
355
355
  return { isError: true, content: [{ type: 'text', text: errorText(err) }] };
356
356
  }
357
357
  });
358
- tool('lumenkey_tasks_cancel', 'Request cancellation with yes: true. Cancellation is not a refund; held credits are released or charged only when gateway settlement completes.', {
358
+ tool('lumenkey_tasks_cancel', ui('Request cancellation with yes: true. Cancellation is not a refund; held credits are released or charged only when gateway settlement completes.', '取消已有任务必须传 yes: true。取消不等于退款;冻结算力点是否释放或扣除由网关最终结算决定。'), {
359
359
  jobId: z.string(),
360
- yes: z.boolean(),
360
+ yes: z.boolean({ required_error: ui('Cancellation requires yes: true.', '取消任务必须传入 yes: true。'), invalid_type_error: ui('Cancellation requires yes: true.', '取消任务必须传入 yes: true。') }),
361
361
  }, async ({ jobId, yes }) => {
362
362
  try {
363
363
  if (yes !== true)