@rdmind/rdmind 0.2.8-alpha.11 → 0.2.8-alpha.12

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 (2) hide show
  1. package/cli.js +55 -10
  2. package/package.json +2 -2
package/cli.js CHANGED
@@ -148831,6 +148831,7 @@ var init_vertexAnthropicContentGenerator = __esm({
148831
148831
  // packages/core/src/core/codexContentGenerator.ts
148832
148832
  var codexContentGenerator_exports = {};
148833
148833
  __export(codexContentGenerator_exports, {
148834
+ CodexApiError: () => CodexApiError,
148834
148835
  CodexContentGenerator: () => CodexContentGenerator
148835
148836
  });
148836
148837
  function extractBaseModel(model) {
@@ -149199,7 +149200,7 @@ function createGeminiResponse(responseId, parts, finishReason = FinishReason.STO
149199
149200
  }
149200
149201
  return response;
149201
149202
  }
149202
- var CodexContentGenerator;
149203
+ var CodexApiError, CodexContentGenerator;
149203
149204
  var init_codexContentGenerator = __esm({
149204
149205
  "packages/core/src/core/codexContentGenerator.ts"() {
149205
149206
  "use strict";
@@ -149210,6 +149211,17 @@ var init_codexContentGenerator = __esm({
149210
149211
  init_loggers();
149211
149212
  init_types();
149212
149213
  init_openaiLogger();
149214
+ CodexApiError = class extends Error {
149215
+ constructor(code2, message, status) {
149216
+ super(message);
149217
+ this.code = code2;
149218
+ this.status = status;
149219
+ this.name = "CodexApiError";
149220
+ }
149221
+ static {
149222
+ __name(this, "CodexApiError");
149223
+ }
149224
+ };
149213
149225
  CodexContentGenerator = class {
149214
149226
  static {
149215
149227
  __name(this, "CodexContentGenerator");
@@ -149311,8 +149323,20 @@ var init_codexContentGenerator = __esm({
149311
149323
  });
149312
149324
  if (!response.ok) {
149313
149325
  const errorText = await response.text();
149314
- throw new Error(
149315
- `Codex API request failed: ${response.status} - ${errorText}`
149326
+ let errorCode = "unknown";
149327
+ let errorMessage = errorText;
149328
+ try {
149329
+ const errorJson = JSON.parse(errorText);
149330
+ if (errorJson.error) {
149331
+ errorCode = errorJson.error.code || errorJson.error.type || "unknown";
149332
+ errorMessage = errorJson.error.message || errorText;
149333
+ }
149334
+ } catch {
149335
+ }
149336
+ throw new CodexApiError(
149337
+ errorCode,
149338
+ `[Codex API Error] ${response.status} ${errorCode}: ${errorMessage}`,
149339
+ response.status
149316
149340
  );
149317
149341
  }
149318
149342
  return response;
@@ -149371,7 +149395,8 @@ var init_codexContentGenerator = __esm({
149371
149395
  const toolCallArgs = /* @__PURE__ */ new Map();
149372
149396
  try {
149373
149397
  let isFirstChunk = true;
149374
- while (true) {
149398
+ let streamFinished = false;
149399
+ while (!streamFinished) {
149375
149400
  const { done, value } = await reader.read();
149376
149401
  if (done) break;
149377
149402
  const chunk = decoder.decode(value, { stream: true });
@@ -149392,7 +149417,10 @@ var init_codexContentGenerator = __esm({
149392
149417
  }
149393
149418
  if (trimmed2.startsWith("data: ")) {
149394
149419
  const dataStr = trimmed2.slice(6).trim();
149395
- if (dataStr === "[DONE]") return;
149420
+ if (dataStr === "[DONE]") {
149421
+ streamFinished = true;
149422
+ break;
149423
+ }
149396
149424
  try {
149397
149425
  const data = JSON.parse(dataStr);
149398
149426
  streamDiag.lastRawDataSnippet = dataStr.slice(0, 1e3);
@@ -149426,7 +149454,8 @@ var init_codexContentGenerator = __esm({
149426
149454
  yieldState.hasYieldedFunctionCall = true;
149427
149455
  yield response;
149428
149456
  }
149429
- } catch {
149457
+ } catch (e4) {
149458
+ if (e4 instanceof CodexApiError) throw e4;
149430
149459
  }
149431
149460
  } else {
149432
149461
  streamDiag.skippedLines++;
@@ -149488,11 +149517,27 @@ var init_codexContentGenerator = __esm({
149488
149517
  }
149489
149518
  return null;
149490
149519
  }
149520
+ case "error": {
149521
+ const errData = data;
149522
+ const code2 = errData["code"] || "unknown";
149523
+ const message = errData["message"] || "Unknown API error";
149524
+ throw new CodexApiError(code2, `[Codex API Error] ${code2}: ${message}`);
149525
+ }
149491
149526
  case "response.completed":
149492
149527
  case "response.incomplete":
149493
149528
  case "response.failed": {
149494
149529
  const response = data.response;
149495
- const finishReason = event === "response.incomplete" ? FinishReason.MAX_TOKENS : event === "response.failed" ? FinishReason.FINISH_REASON_UNSPECIFIED : mapCodexStatusToFinishReason(response?.status);
149530
+ if (event === "response.failed") {
149531
+ const respRecord = response;
149532
+ const err = respRecord?.["error"];
149533
+ const failCode = err?.code || "unknown";
149534
+ const failMsg = err?.message || "Response failed without details";
149535
+ throw new CodexApiError(
149536
+ failCode,
149537
+ `[Codex API Error] ${failCode}: ${failMsg}`
149538
+ );
149539
+ }
149540
+ const finishReason = event === "response.incomplete" ? FinishReason.MAX_TOKENS : mapCodexStatusToFinishReason(response?.status);
149496
149541
  const usage2 = response?.usage;
149497
149542
  const parts = [];
149498
149543
  if (response?.output) {
@@ -161198,7 +161243,7 @@ __export(geminiContentGenerator_exports2, {
161198
161243
  createGeminiContentGenerator: () => createGeminiContentGenerator
161199
161244
  });
161200
161245
  function createGeminiContentGenerator(config2, gcConfig) {
161201
- const version2 = "0.2.8-alpha.11";
161246
+ const version2 = "0.2.8-alpha.12";
161202
161247
  const userAgent2 = config2.userAgent || `QwenCode/${version2} (${process.platform}; ${process.arch})`;
161203
161248
  const baseHeaders = {
161204
161249
  "User-Agent": userAgent2
@@ -377178,7 +377223,7 @@ __name(getPackageJson, "getPackageJson");
377178
377223
  // packages/cli/src/utils/version.ts
377179
377224
  async function getCliVersion() {
377180
377225
  const pkgJson = await getPackageJson();
377181
- return "0.2.8-alpha.11";
377226
+ return "0.2.8-alpha.12";
377182
377227
  }
377183
377228
  __name(getCliVersion, "getCliVersion");
377184
377229
 
@@ -447277,7 +447322,7 @@ var QwenAgent = class {
447277
447322
  async initialize(args) {
447278
447323
  this.clientCapabilities = args.clientCapabilities;
447279
447324
  const authMethods = buildAuthMethods();
447280
- const version2 = "0.2.8-alpha.11";
447325
+ const version2 = "0.2.8-alpha.12";
447281
447326
  return {
447282
447327
  protocolVersion: PROTOCOL_VERSION,
447283
447328
  agentInfo: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rdmind/rdmind",
3
- "version": "0.2.8-alpha.11",
3
+ "version": "0.2.8-alpha.12",
4
4
  "description": "RDMind - AI-powered coding assistant",
5
5
  "type": "module",
6
6
  "main": "cli.js",
@@ -19,7 +19,7 @@
19
19
  "locales"
20
20
  ],
21
21
  "config": {
22
- "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.2.8-alpha.11"
22
+ "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.2.8-alpha.12"
23
23
  },
24
24
  "publishConfig": {
25
25
  "access": "public"