@rdmind/rdmind 0.2.8-alpha.12 → 0.2.8-alpha.14
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/cli.js +208 -140
- package/package.json +2 -2
package/cli.js
CHANGED
|
@@ -134348,7 +134348,8 @@ var init_loggingContentGenerator = __esm({
|
|
|
134348
134348
|
combinedParts.push({
|
|
134349
134349
|
text: part.text,
|
|
134350
134350
|
...part.thought ? { thought: true } : {},
|
|
134351
|
-
...part.thoughtSignature ? { thoughtSignature: part.thoughtSignature } : {}
|
|
134351
|
+
...part.thoughtSignature ? { thoughtSignature: part.thoughtSignature } : {},
|
|
134352
|
+
..."codexReasoningItem" in part && part.codexReasoningItem ? { codexReasoningItem: part.codexReasoningItem } : {}
|
|
134352
134353
|
});
|
|
134353
134354
|
}
|
|
134354
134355
|
continue;
|
|
@@ -148831,7 +148832,6 @@ var init_vertexAnthropicContentGenerator = __esm({
|
|
|
148831
148832
|
// packages/core/src/core/codexContentGenerator.ts
|
|
148832
148833
|
var codexContentGenerator_exports = {};
|
|
148833
148834
|
__export(codexContentGenerator_exports, {
|
|
148834
|
-
CodexApiError: () => CodexApiError,
|
|
148835
148835
|
CodexContentGenerator: () => CodexContentGenerator
|
|
148836
148836
|
});
|
|
148837
148837
|
function extractBaseModel(model) {
|
|
@@ -148870,6 +148870,45 @@ function buildCodexInput(contents, systemInstruction, modalities) {
|
|
|
148870
148870
|
}
|
|
148871
148871
|
function convertContentToCodexMessages(content, modalities) {
|
|
148872
148872
|
const messages = [];
|
|
148873
|
+
const convertCodexReasoningItem = /* @__PURE__ */ __name((rawItem, fallbackText, fallbackSignature) => {
|
|
148874
|
+
if (!rawItem || typeof rawItem !== "object") {
|
|
148875
|
+
if (!fallbackSignature) {
|
|
148876
|
+
return null;
|
|
148877
|
+
}
|
|
148878
|
+
return {
|
|
148879
|
+
type: "reasoning",
|
|
148880
|
+
summary: [{ type: "summary_text", text: fallbackText }],
|
|
148881
|
+
encrypted_content: fallbackSignature
|
|
148882
|
+
};
|
|
148883
|
+
}
|
|
148884
|
+
const raw2 = rawItem;
|
|
148885
|
+
const type = raw2["type"];
|
|
148886
|
+
if (type !== "reasoning") {
|
|
148887
|
+
return null;
|
|
148888
|
+
}
|
|
148889
|
+
const normalized2 = {
|
|
148890
|
+
type: "reasoning",
|
|
148891
|
+
id: typeof raw2["id"] === "string" ? raw2["id"] : void 0,
|
|
148892
|
+
status: typeof raw2["status"] === "string" || raw2["status"] === null ? raw2["status"] : void 0,
|
|
148893
|
+
encrypted_content: typeof raw2["encrypted_content"] === "string" || raw2["encrypted_content"] === null ? raw2["encrypted_content"] : fallbackSignature
|
|
148894
|
+
};
|
|
148895
|
+
if (Array.isArray(raw2["summary"])) {
|
|
148896
|
+
normalized2.summary = raw2["summary"].filter(
|
|
148897
|
+
(summaryItem) => typeof summaryItem === "object" && summaryItem !== null
|
|
148898
|
+
).map((summaryItem) => ({
|
|
148899
|
+
...summaryItem,
|
|
148900
|
+
type: summaryItem["type"] === "summary_text" ? "summary_text" : "summary_text",
|
|
148901
|
+
text: typeof summaryItem["text"] === "string" ? summaryItem["text"] : ""
|
|
148902
|
+
}));
|
|
148903
|
+
}
|
|
148904
|
+
if (Array.isArray(raw2["content"])) {
|
|
148905
|
+
normalized2.content = raw2["content"].filter((contentItem) => typeof contentItem === "object" && contentItem).map((contentItem) => ({ ...contentItem }));
|
|
148906
|
+
}
|
|
148907
|
+
if (!normalized2.summary || normalized2.summary.length === 0) {
|
|
148908
|
+
normalized2.summary = [{ type: "summary_text", text: fallbackText }];
|
|
148909
|
+
}
|
|
148910
|
+
return normalized2;
|
|
148911
|
+
}, "convertCodexReasoningItem");
|
|
148873
148912
|
if (!content) return messages;
|
|
148874
148913
|
if (typeof content === "string") {
|
|
148875
148914
|
if (content.trim()) {
|
|
@@ -148887,7 +148926,21 @@ function convertContentToCodexMessages(content, modalities) {
|
|
|
148887
148926
|
const partObj = part;
|
|
148888
148927
|
if ("text" in partObj && typeof partObj["text"] === "string") {
|
|
148889
148928
|
const text = partObj["text"];
|
|
148890
|
-
|
|
148929
|
+
const isThought = Boolean(partObj["thought"]);
|
|
148930
|
+
const thoughtSignature = typeof partObj["thoughtSignature"] === "string" ? partObj["thoughtSignature"] : void 0;
|
|
148931
|
+
const codexReasoningItem = "codexReasoningItem" in partObj ? partObj["codexReasoningItem"] : void 0;
|
|
148932
|
+
if (isThought) {
|
|
148933
|
+
if (role === "assistant") {
|
|
148934
|
+
const reasoningMessage = convertCodexReasoningItem(
|
|
148935
|
+
codexReasoningItem,
|
|
148936
|
+
text,
|
|
148937
|
+
thoughtSignature
|
|
148938
|
+
);
|
|
148939
|
+
if (reasoningMessage) {
|
|
148940
|
+
messages.push(reasoningMessage);
|
|
148941
|
+
}
|
|
148942
|
+
}
|
|
148943
|
+
} else {
|
|
148891
148944
|
messages.push({ role, content: text });
|
|
148892
148945
|
}
|
|
148893
148946
|
}
|
|
@@ -149143,11 +149196,66 @@ function mapCodexStatusToFinishReason(status) {
|
|
|
149143
149196
|
return FinishReason.STOP;
|
|
149144
149197
|
}
|
|
149145
149198
|
}
|
|
149199
|
+
function finalizeStreamResponse(response, streamState) {
|
|
149200
|
+
const finalResponse = convertCodexResponseToGemini(response);
|
|
149201
|
+
const shouldKeepThoughtPartsOnly = streamState.sawOutputTextDelta || streamState.sawFunctionCallChunk;
|
|
149202
|
+
if (!finalResponse.candidates?.length) {
|
|
149203
|
+
return finalResponse;
|
|
149204
|
+
}
|
|
149205
|
+
finalResponse.candidates = [
|
|
149206
|
+
{
|
|
149207
|
+
...finalResponse.candidates[0] || {
|
|
149208
|
+
index: 0,
|
|
149209
|
+
content: { role: "model", parts: [] },
|
|
149210
|
+
safetyRatings: []
|
|
149211
|
+
},
|
|
149212
|
+
content: {
|
|
149213
|
+
role: "model",
|
|
149214
|
+
parts: finalResponse.candidates[0]?.content?.parts?.flatMap((part) => {
|
|
149215
|
+
if (shouldKeepThoughtPartsOnly && !part.thought) {
|
|
149216
|
+
return [];
|
|
149217
|
+
}
|
|
149218
|
+
if (streamState.sawReasoningSummaryTextDelta && part.thought) {
|
|
149219
|
+
return [
|
|
149220
|
+
{
|
|
149221
|
+
...part,
|
|
149222
|
+
text: ""
|
|
149223
|
+
}
|
|
149224
|
+
];
|
|
149225
|
+
}
|
|
149226
|
+
return [part];
|
|
149227
|
+
}) || []
|
|
149228
|
+
}
|
|
149229
|
+
}
|
|
149230
|
+
];
|
|
149231
|
+
return finalResponse;
|
|
149232
|
+
}
|
|
149146
149233
|
function convertCodexResponseToGemini(response) {
|
|
149147
149234
|
const parts = [];
|
|
149148
149235
|
if (response.output && Array.isArray(response.output)) {
|
|
149149
149236
|
for (const item of response.output) {
|
|
149150
149237
|
if (item.type === "reasoning") {
|
|
149238
|
+
const summaryText = item.summary?.map((summaryItem) => summaryItem.text).filter(Boolean).join("") || "";
|
|
149239
|
+
if (summaryText || item.encrypted_content) {
|
|
149240
|
+
const thoughtPart = {
|
|
149241
|
+
text: summaryText,
|
|
149242
|
+
thought: true
|
|
149243
|
+
};
|
|
149244
|
+
if (item.encrypted_content) {
|
|
149245
|
+
thoughtPart.thoughtSignature = item.encrypted_content;
|
|
149246
|
+
}
|
|
149247
|
+
thoughtPart.codexReasoningItem = {
|
|
149248
|
+
type: "reasoning",
|
|
149249
|
+
id: item.id,
|
|
149250
|
+
status: item.status,
|
|
149251
|
+
content: Array.isArray(item.content) ? item.content.map((contentItem) => ({
|
|
149252
|
+
...contentItem
|
|
149253
|
+
})) : void 0,
|
|
149254
|
+
summary: item.summary?.map((summaryItem) => ({ ...summaryItem })),
|
|
149255
|
+
encrypted_content: item.encrypted_content
|
|
149256
|
+
};
|
|
149257
|
+
parts.push(thoughtPart);
|
|
149258
|
+
}
|
|
149151
149259
|
continue;
|
|
149152
149260
|
}
|
|
149153
149261
|
if (item.type === "message" && item.content) {
|
|
@@ -149200,7 +149308,7 @@ function createGeminiResponse(responseId, parts, finishReason = FinishReason.STO
|
|
|
149200
149308
|
}
|
|
149201
149309
|
return response;
|
|
149202
149310
|
}
|
|
149203
|
-
var
|
|
149311
|
+
var CodexContentGenerator;
|
|
149204
149312
|
var init_codexContentGenerator = __esm({
|
|
149205
149313
|
"packages/core/src/core/codexContentGenerator.ts"() {
|
|
149206
149314
|
"use strict";
|
|
@@ -149211,17 +149319,6 @@ var init_codexContentGenerator = __esm({
|
|
|
149211
149319
|
init_loggers();
|
|
149212
149320
|
init_types();
|
|
149213
149321
|
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
|
-
};
|
|
149225
149322
|
CodexContentGenerator = class {
|
|
149226
149323
|
static {
|
|
149227
149324
|
__name(this, "CodexContentGenerator");
|
|
@@ -149313,30 +149410,29 @@ var init_codexContentGenerator = __esm({
|
|
|
149313
149410
|
};
|
|
149314
149411
|
}
|
|
149315
149412
|
async fetchApi(request4) {
|
|
149316
|
-
|
|
149317
|
-
|
|
149318
|
-
|
|
149319
|
-
|
|
149320
|
-
|
|
149321
|
-
|
|
149322
|
-
|
|
149323
|
-
|
|
149413
|
+
let response;
|
|
149414
|
+
try {
|
|
149415
|
+
response = await fetch(this.baseUrl, {
|
|
149416
|
+
method: "POST",
|
|
149417
|
+
headers: {
|
|
149418
|
+
"Content-Type": "application/json",
|
|
149419
|
+
"api-key": this.apiKey
|
|
149420
|
+
},
|
|
149421
|
+
body: JSON.stringify(request4)
|
|
149422
|
+
});
|
|
149423
|
+
} catch (err) {
|
|
149424
|
+
const cause = err instanceof Error ? err.cause : void 0;
|
|
149425
|
+
const code2 = cause && typeof cause === "object" && "code" in cause ? cause.code : void 0;
|
|
149426
|
+
const msg = cause instanceof Error ? cause.message : String(cause ?? err);
|
|
149427
|
+
throw new Error(
|
|
149428
|
+
`Codex API network error: fetch failed (${code2 ?? "unknown"}). ${msg}`,
|
|
149429
|
+
{ cause: err }
|
|
149430
|
+
);
|
|
149431
|
+
}
|
|
149324
149432
|
if (!response.ok) {
|
|
149325
149433
|
const errorText = await response.text();
|
|
149326
|
-
|
|
149327
|
-
|
|
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
|
|
149434
|
+
throw new Error(
|
|
149435
|
+
`Codex API request failed: ${response.status} - ${errorText}`
|
|
149340
149436
|
);
|
|
149341
149437
|
}
|
|
149342
149438
|
return response;
|
|
@@ -149353,7 +149449,8 @@ var init_codexContentGenerator = __esm({
|
|
|
149353
149449
|
model,
|
|
149354
149450
|
input,
|
|
149355
149451
|
stream: stream2,
|
|
149356
|
-
store:
|
|
149452
|
+
store: false,
|
|
149453
|
+
include: ["reasoning.encrypted_content"],
|
|
149357
149454
|
truncation: "auto",
|
|
149358
149455
|
temperature: this.samplingParams?.temperature ?? 1,
|
|
149359
149456
|
top_p: this.samplingParams?.top_p,
|
|
@@ -149377,10 +149474,8 @@ var init_codexContentGenerator = __esm({
|
|
|
149377
149474
|
const decoder = new TextDecoder();
|
|
149378
149475
|
let buffer = "";
|
|
149379
149476
|
let currentEvent = "";
|
|
149380
|
-
const yieldState = { hasYieldedText: false, hasYieldedFunctionCall: false };
|
|
149381
149477
|
const streamDiag = {
|
|
149382
149478
|
eventTypes: [],
|
|
149383
|
-
yieldCount: 0,
|
|
149384
149479
|
totalLines: 0,
|
|
149385
149480
|
skippedLines: 0,
|
|
149386
149481
|
firstRawChunk: "",
|
|
@@ -149389,13 +149484,17 @@ var init_codexContentGenerator = __esm({
|
|
|
149389
149484
|
finalStatus: "",
|
|
149390
149485
|
finalOutputTypes: [],
|
|
149391
149486
|
finalOutputSummary: [],
|
|
149392
|
-
|
|
149393
|
-
finalExtractedFunctionCallCount: 0
|
|
149487
|
+
streamErrors: []
|
|
149394
149488
|
};
|
|
149489
|
+
let streamFinished = false;
|
|
149395
149490
|
const toolCallArgs = /* @__PURE__ */ new Map();
|
|
149491
|
+
const streamState = {
|
|
149492
|
+
sawReasoningSummaryTextDelta: false,
|
|
149493
|
+
sawOutputTextDelta: false,
|
|
149494
|
+
sawFunctionCallChunk: false
|
|
149495
|
+
};
|
|
149396
149496
|
try {
|
|
149397
149497
|
let isFirstChunk = true;
|
|
149398
|
-
let streamFinished = false;
|
|
149399
149498
|
while (!streamFinished) {
|
|
149400
149499
|
const { done, value } = await reader.read();
|
|
149401
149500
|
if (done) break;
|
|
@@ -149431,31 +149530,32 @@ var init_codexContentGenerator = __esm({
|
|
|
149431
149530
|
if (eventType === "response.completed" || eventType === "response.incomplete" || eventType === "response.failed") {
|
|
149432
149531
|
const finalResponse = data.response;
|
|
149433
149532
|
streamDiag.finalEventType = eventType;
|
|
149434
|
-
streamDiag.finalStatus = finalResponse?.status
|
|
149435
|
-
streamDiag.finalOutputTypes = finalResponse?.output?.map((item) => item.type)
|
|
149533
|
+
streamDiag.finalStatus = finalResponse?.status ?? "";
|
|
149534
|
+
streamDiag.finalOutputTypes = finalResponse?.output?.map((item) => item.type) ?? [];
|
|
149436
149535
|
streamDiag.finalOutputSummary = finalResponse?.output?.map((item) => ({
|
|
149437
149536
|
type: item.type,
|
|
149438
|
-
contentTypes: item.content?.map(
|
|
149439
|
-
|
|
149537
|
+
contentTypes: item.content?.map(
|
|
149538
|
+
(c4) => typeof c4 === "object" && c4 && "type" in c4 ? c4.type : void 0
|
|
149539
|
+
).filter((type) => typeof type === "string")
|
|
149540
|
+
})) ?? [];
|
|
149541
|
+
}
|
|
149542
|
+
if (eventType === "error") {
|
|
149543
|
+
const errPayload = data;
|
|
149544
|
+
const nested = errPayload["error"];
|
|
149545
|
+
const code2 = errPayload["code"] || nested?.code || nested?.type || "unknown";
|
|
149546
|
+
const message = errPayload["message"] || nested?.message || JSON.stringify(data);
|
|
149547
|
+
streamDiag.streamErrors.push({ code: code2, message });
|
|
149440
149548
|
}
|
|
149441
149549
|
const response = this.handleStreamEvent(
|
|
149442
|
-
|
|
149550
|
+
currentEvent,
|
|
149443
149551
|
data,
|
|
149444
149552
|
toolCallArgs,
|
|
149445
|
-
|
|
149446
|
-
streamDiag
|
|
149553
|
+
streamState
|
|
149447
149554
|
);
|
|
149448
149555
|
if (response) {
|
|
149449
|
-
streamDiag.yieldCount++;
|
|
149450
|
-
const parts = response.candidates?.[0]?.content?.parts;
|
|
149451
|
-
if (parts?.some((p2) => p2.text))
|
|
149452
|
-
yieldState.hasYieldedText = true;
|
|
149453
|
-
if (parts?.some((p2) => p2.functionCall))
|
|
149454
|
-
yieldState.hasYieldedFunctionCall = true;
|
|
149455
149556
|
yield response;
|
|
149456
149557
|
}
|
|
149457
|
-
} catch
|
|
149458
|
-
if (e4 instanceof CodexApiError) throw e4;
|
|
149558
|
+
} catch {
|
|
149459
149559
|
}
|
|
149460
149560
|
} else {
|
|
149461
149561
|
streamDiag.skippedLines++;
|
|
@@ -149463,10 +149563,7 @@ var init_codexContentGenerator = __esm({
|
|
|
149463
149563
|
}
|
|
149464
149564
|
}
|
|
149465
149565
|
context2.duration = Date.now() - context2.startTime;
|
|
149466
|
-
await this.logStreamingSuccess(context2, request4,
|
|
149467
|
-
yieldState,
|
|
149468
|
-
...streamDiag
|
|
149469
|
-
});
|
|
149566
|
+
await this.logStreamingSuccess(context2, request4, streamDiag);
|
|
149470
149567
|
} catch (error40) {
|
|
149471
149568
|
context2.duration = Date.now() - context2.startTime;
|
|
149472
149569
|
await this.logError(context2, error40, request4);
|
|
@@ -149475,14 +149572,23 @@ var init_codexContentGenerator = __esm({
|
|
|
149475
149572
|
reader.releaseLock();
|
|
149476
149573
|
}
|
|
149477
149574
|
}
|
|
149478
|
-
handleStreamEvent(event, data, toolCallArgs,
|
|
149575
|
+
handleStreamEvent(event, data, toolCallArgs, streamState) {
|
|
149479
149576
|
switch (event) {
|
|
149480
149577
|
case "response.reasoning_summary_text.delta": {
|
|
149481
|
-
|
|
149578
|
+
const text = data.delta;
|
|
149579
|
+
if (!text) return null;
|
|
149580
|
+
streamState.sawReasoningSummaryTextDelta = true;
|
|
149581
|
+
return createGeminiResponse(data.item_id || "unknown", [
|
|
149582
|
+
{
|
|
149583
|
+
text,
|
|
149584
|
+
thought: true
|
|
149585
|
+
}
|
|
149586
|
+
]);
|
|
149482
149587
|
}
|
|
149483
149588
|
case "response.output_text.delta": {
|
|
149484
149589
|
const text = data.delta;
|
|
149485
149590
|
if (!text) return null;
|
|
149591
|
+
streamState.sawOutputTextDelta = true;
|
|
149486
149592
|
return createGeminiResponse(data.item_id || "unknown", [{ text }]);
|
|
149487
149593
|
}
|
|
149488
149594
|
case "response.function_call_arguments.delta": {
|
|
@@ -149506,6 +149612,7 @@ var init_codexContentGenerator = __esm({
|
|
|
149506
149612
|
const callId = item.call_id || item.id || accumulated?.id || `call_${Date.now()}`;
|
|
149507
149613
|
const name3 = item.name || accumulated?.name || "unknown";
|
|
149508
149614
|
toolCallArgs.delete(index);
|
|
149615
|
+
streamState.sawFunctionCallChunk = true;
|
|
149509
149616
|
return createGeminiResponse(data.item_id || "unknown", [
|
|
149510
149617
|
{
|
|
149511
149618
|
functionCall: { id: callId, name: name3, args }
|
|
@@ -149517,68 +149624,29 @@ var init_codexContentGenerator = __esm({
|
|
|
149517
149624
|
}
|
|
149518
149625
|
return null;
|
|
149519
149626
|
}
|
|
149520
|
-
case "
|
|
149521
|
-
const
|
|
149522
|
-
|
|
149523
|
-
|
|
149524
|
-
|
|
149627
|
+
case "response.completed": {
|
|
149628
|
+
const response = data.response;
|
|
149629
|
+
if (response) {
|
|
149630
|
+
return finalizeStreamResponse(response, streamState);
|
|
149631
|
+
}
|
|
149632
|
+
return createGeminiResponse("final", []);
|
|
149525
149633
|
}
|
|
149526
|
-
case "response.
|
|
149527
|
-
case "response.incomplete":
|
|
149528
|
-
case "response.failed": {
|
|
149634
|
+
case "response.incomplete": {
|
|
149529
149635
|
const response = data.response;
|
|
149530
|
-
if (
|
|
149531
|
-
|
|
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
|
-
);
|
|
149636
|
+
if (response) {
|
|
149637
|
+
return finalizeStreamResponse(response, streamState);
|
|
149539
149638
|
}
|
|
149540
|
-
|
|
149541
|
-
|
|
149542
|
-
|
|
149543
|
-
|
|
149544
|
-
|
|
149545
|
-
|
|
149546
|
-
const text = item.content.map((c4) => c4.text).filter(Boolean).join("");
|
|
149547
|
-
if (text) {
|
|
149548
|
-
parts.push({ text });
|
|
149549
|
-
if (streamDiag) {
|
|
149550
|
-
streamDiag.finalExtractedTextLength += text.length;
|
|
149551
|
-
}
|
|
149552
|
-
}
|
|
149553
|
-
} else if (!yieldState.hasYieldedFunctionCall && item.type === "function_call" && item.arguments) {
|
|
149554
|
-
try {
|
|
149555
|
-
const args = JSON.parse(item.arguments);
|
|
149556
|
-
parts.push({
|
|
149557
|
-
functionCall: {
|
|
149558
|
-
id: item.call_id || item.id || `call_${Date.now()}`,
|
|
149559
|
-
name: item.name || "unknown",
|
|
149560
|
-
args
|
|
149561
|
-
}
|
|
149562
|
-
});
|
|
149563
|
-
if (streamDiag) {
|
|
149564
|
-
streamDiag.finalExtractedFunctionCallCount += 1;
|
|
149565
|
-
}
|
|
149566
|
-
} catch {
|
|
149567
|
-
}
|
|
149568
|
-
}
|
|
149569
|
-
}
|
|
149639
|
+
return createGeminiResponse("final", [], FinishReason.MAX_TOKENS);
|
|
149640
|
+
}
|
|
149641
|
+
case "response.failed": {
|
|
149642
|
+
const response = data.response;
|
|
149643
|
+
if (response) {
|
|
149644
|
+
return finalizeStreamResponse(response, streamState);
|
|
149570
149645
|
}
|
|
149571
149646
|
return createGeminiResponse(
|
|
149572
|
-
|
|
149573
|
-
|
|
149574
|
-
|
|
149575
|
-
usage2 ? {
|
|
149576
|
-
promptTokenCount: usage2.input_tokens,
|
|
149577
|
-
candidatesTokenCount: usage2.output_tokens,
|
|
149578
|
-
totalTokenCount: usage2.total_tokens,
|
|
149579
|
-
cachedContentTokenCount: usage2.input_tokens_details?.cached_tokens,
|
|
149580
|
-
thoughtsTokenCount: usage2.output_tokens_details?.reasoning_tokens
|
|
149581
|
-
} : void 0
|
|
149647
|
+
"final",
|
|
149648
|
+
[],
|
|
149649
|
+
FinishReason.FINISH_REASON_UNSPECIFIED
|
|
149582
149650
|
);
|
|
149583
149651
|
}
|
|
149584
149652
|
default:
|
|
@@ -149636,7 +149704,7 @@ var init_codexContentGenerator = __esm({
|
|
|
149636
149704
|
if (this.enableOpenAILogging && this.logger) {
|
|
149637
149705
|
await this.logger.logInteraction(request4, {
|
|
149638
149706
|
streamed: true,
|
|
149639
|
-
...diagnostics
|
|
149707
|
+
...diagnostics ?? {}
|
|
149640
149708
|
});
|
|
149641
149709
|
}
|
|
149642
149710
|
}
|
|
@@ -149652,6 +149720,7 @@ var init_codexContentGenerator = __esm({
|
|
|
149652
149720
|
__name(convertTools, "convertTools");
|
|
149653
149721
|
__name(convertGeminiSchemaToOpenAI, "convertGeminiSchemaToOpenAI");
|
|
149654
149722
|
__name(mapCodexStatusToFinishReason, "mapCodexStatusToFinishReason");
|
|
149723
|
+
__name(finalizeStreamResponse, "finalizeStreamResponse");
|
|
149655
149724
|
__name(convertCodexResponseToGemini, "convertCodexResponseToGemini");
|
|
149656
149725
|
__name(createGeminiResponse, "createGeminiResponse");
|
|
149657
149726
|
}
|
|
@@ -161243,7 +161312,7 @@ __export(geminiContentGenerator_exports2, {
|
|
|
161243
161312
|
createGeminiContentGenerator: () => createGeminiContentGenerator
|
|
161244
161313
|
});
|
|
161245
161314
|
function createGeminiContentGenerator(config2, gcConfig) {
|
|
161246
|
-
const version2 = "0.2.8-alpha.
|
|
161315
|
+
const version2 = "0.2.8-alpha.14";
|
|
161247
161316
|
const userAgent2 = config2.userAgent || `QwenCode/${version2} (${process.platform}; ${process.arch})`;
|
|
161248
161317
|
const baseHeaders = {
|
|
161249
161318
|
"User-Agent": userAgent2
|
|
@@ -163193,6 +163262,12 @@ This error was probably caused by cyclic schema references in one of the followi
|
|
|
163193
163262
|
if (thoughtContentPart && thoughtSignature) {
|
|
163194
163263
|
thoughtContentPart.thoughtSignature = thoughtSignature;
|
|
163195
163264
|
}
|
|
163265
|
+
const codexReasoningItem = allModelParts.find(
|
|
163266
|
+
(part) => part && typeof part === "object" && "thought" in part && part.thought && "codexReasoningItem" in part
|
|
163267
|
+
);
|
|
163268
|
+
if (thoughtContentPart && codexReasoningItem?.codexReasoningItem) {
|
|
163269
|
+
thoughtContentPart.codexReasoningItem = codexReasoningItem.codexReasoningItem;
|
|
163270
|
+
}
|
|
163196
163271
|
}
|
|
163197
163272
|
const contentParts = allModelParts.filter((part) => !part.thought);
|
|
163198
163273
|
const consolidatedHistoryParts = [];
|
|
@@ -377223,7 +377298,7 @@ __name(getPackageJson, "getPackageJson");
|
|
|
377223
377298
|
// packages/cli/src/utils/version.ts
|
|
377224
377299
|
async function getCliVersion() {
|
|
377225
377300
|
const pkgJson = await getPackageJson();
|
|
377226
|
-
return "0.2.8-alpha.
|
|
377301
|
+
return "0.2.8-alpha.14";
|
|
377227
377302
|
}
|
|
377228
377303
|
__name(getCliVersion, "getCliVersion");
|
|
377229
377304
|
|
|
@@ -384946,7 +385021,7 @@ var formatDuration = /* @__PURE__ */ __name((milliseconds) => {
|
|
|
384946
385021
|
|
|
384947
385022
|
// packages/cli/src/generated/git-commit.ts
|
|
384948
385023
|
init_esbuild_shims();
|
|
384949
|
-
var GIT_COMMIT_INFO = "
|
|
385024
|
+
var GIT_COMMIT_INFO = "4ebf619b1";
|
|
384950
385025
|
|
|
384951
385026
|
// packages/cli/src/utils/systemInfo.ts
|
|
384952
385027
|
async function getNpmVersion() {
|
|
@@ -426321,13 +426396,6 @@ var XHS_SSO_MODELS = [
|
|
|
426321
426396
|
contextWindow: "272K",
|
|
426322
426397
|
description: "\u7528\u4E8E\u5904\u7406\u590D\u6742\u4E13\u4E1A\u5DE5\u4F5C\u7684\u524D\u6CBF\u6A21\u578B (\u63A8\u7406\u5F3A\u5EA6\u4E2D)"
|
|
426323
426398
|
},
|
|
426324
|
-
{
|
|
426325
|
-
id: "gpt-5.4(xhigh)",
|
|
426326
|
-
displayName: "gpt-5.4(xhigh)",
|
|
426327
|
-
baseUrl: "https://runway.devops.rednote.life/openai/v1/responses?api-version=v1",
|
|
426328
|
-
contextWindow: "272K",
|
|
426329
|
-
description: "\u7528\u4E8E\u5904\u7406\u590D\u6742\u4E13\u4E1A\u5DE5\u4F5C\u7684\u524D\u6CBF\u6A21\u578B (\u63A8\u7406\u5F3A\u5EA6\u6781\u9AD8)"
|
|
426330
|
-
},
|
|
426331
426399
|
{
|
|
426332
426400
|
id: "gpt-5.3-codex(medium)",
|
|
426333
426401
|
displayName: "gpt-5.3-codex(medium)",
|
|
@@ -426391,13 +426459,13 @@ var XHS_SSO_MODELS = [
|
|
|
426391
426459
|
contextWindow: "200K",
|
|
426392
426460
|
description: "\u667A\u8C31\u65B0\u4E00\u4EE3\u7684\u65D7\u8230\u57FA\u5EA7\u6A21\u578B\uFF0C\u9762\u5411 Agentic Engineering \u6253\u9020\uFF0C\u5BF9\u9F50 Claude Opus 4.5"
|
|
426393
426461
|
},
|
|
426394
|
-
{
|
|
426395
|
-
|
|
426396
|
-
|
|
426397
|
-
|
|
426398
|
-
|
|
426399
|
-
|
|
426400
|
-
},
|
|
426462
|
+
// {
|
|
426463
|
+
// id: 'claude-opus-4-5@20251101',
|
|
426464
|
+
// displayName: 'Claude Opus 4.5',
|
|
426465
|
+
// baseUrl: 'https://runway.devops.rednote.life/openai/google/anthropic/v1',
|
|
426466
|
+
// contextWindow: '200K',
|
|
426467
|
+
// description: 'Anthropic 最强大的模型,擅长复杂推理和代码生成',
|
|
426468
|
+
// },
|
|
426401
426469
|
{
|
|
426402
426470
|
id: "Kimi-K2.5",
|
|
426403
426471
|
displayName: "Kimi-K2.5",
|
|
@@ -447322,7 +447390,7 @@ var QwenAgent = class {
|
|
|
447322
447390
|
async initialize(args) {
|
|
447323
447391
|
this.clientCapabilities = args.clientCapabilities;
|
|
447324
447392
|
const authMethods = buildAuthMethods();
|
|
447325
|
-
const version2 = "0.2.8-alpha.
|
|
447393
|
+
const version2 = "0.2.8-alpha.14";
|
|
447326
447394
|
return {
|
|
447327
447395
|
protocolVersion: PROTOCOL_VERSION,
|
|
447328
447396
|
agentInfo: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rdmind/rdmind",
|
|
3
|
-
"version": "0.2.8-alpha.
|
|
3
|
+
"version": "0.2.8-alpha.14",
|
|
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.
|
|
22
|
+
"sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.2.8-alpha.14"
|
|
23
23
|
},
|
|
24
24
|
"publishConfig": {
|
|
25
25
|
"access": "public"
|