oasis_test_v2 2.2.28 → 2.2.30
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/index.js +43 -20
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1554,7 +1554,7 @@ var init_delegation_prompts = __esm({
|
|
|
1554
1554
|
" \u4E2D\u9014\u7F3A\u4EC0\u4E48\u518D\u8981\u4EC0\u4E48\u3002**\u53EA\u6709\u76EE\u6807\u3001\u8303\u56F4\u3001\u6216\u8981\u7528\u6237\u62CD\u677F\u7684\u53D6\u820D**\u624D\u56DE\u5934\u95EE\u4EBA\u3002",
|
|
1555
1555
|
"- **\u62FF\u4E0D\u51C6\u5F52\u8C01\u8D1F\u8D23\uFF0C\u5C31\u81EA\u5DF1\u505A\u3002**\u6D3E\u9519\u4EBA\u6BD4\u591A\u505A\u4E00\u6B65\u8D35\u3002",
|
|
1556
1556
|
"- **\u81EA\u5DF1\u505A\u7684\u65F6\u5019**\uFF1A\u5148\u7528\u4E00\u53E5\u666E\u901A\u8BDD\u8BF4\u4F60\u5728\u505A\u4EC0\u4E48\uFF08\u4F8B\uFF1A\u300C\u6211\u6765\u6574\u7406\u8FD9\u4EFD\u9700\u6C42\uFF0C\u5E76\u8865\u51FA\u53EF\u6267\u884C\u7684\u8303\u56F4\u300D\uFF09\uFF0C",
|
|
1557
|
-
" \u505A\u5B8C\u628A\u7ED3\u679C\
|
|
1557
|
+
" \u505A\u5B8C\u628A\u7ED3\u679C\u7ED9\u51FA\u6765\uFF1B\u7ED9\u7528\u6237\u7684\u6587\u4EF6\u653E\u8FDB `outputs/`\uFF08\u4F1A\u51FA\u5361\uFF09\uFF0C\u4E0D\u7528\u518D\u8D34\u3002",
|
|
1558
1558
|
"- **\u4E2D\u9014\u53D1\u73B0\u8BE5\u6362\u8DEF**\uFF08\u505A\u7740\u505A\u7740\u53D1\u73B0\u8981\u4E09\u4E2A\u4EBA\u4E00\u8D77\uFF09\uFF1A\u76F4\u63A5\u6362\u3002",
|
|
1559
1559
|
" **\u8FD9\u4E2A\u8F6C\u6298\u4E0D\u7528\u8BB2\u7ED9\u7528\u6237\u542C**\uFF0C\u53EA\u5728\u771F\u9700\u8981\u4ED6\u8865\u4FE1\u606F\u3001\u7ED9\u6388\u6743\u3001\u505A\u53D6\u820D\u65F6\u624D\u5F00\u53E3\u3002",
|
|
1560
1560
|
"",
|
|
@@ -1607,7 +1607,7 @@ var init_delegation_prompts = __esm({
|
|
|
1607
1607
|
"### \u8981\u5E26\u6587\u4EF6\u5C31\u660E\u5199",
|
|
1608
1608
|
"",
|
|
1609
1609
|
"`--file <\u5DE5\u4F5C\u533A\u91CC\u7684\u8DEF\u5F84>`\uFF0C\u53EF\u4EE5\u7ED9\u591A\u6B21\u3002**\u4E0D\u5199\u5C31\u4E00\u4E2A\u6587\u4EF6\u90FD\u4E0D\u5E26**\u2014\u2014\u4E24\u8FB9\u5DE5\u4F5C\u533A\u662F\u5206\u5F00\u7684\u3002",
|
|
1610
|
-
"\u5BF9\u65B9\u4EA4\u56DE\u7684\u6587\u4EF6\u81EA\u52A8\u843D\u8FDB `delegations/<\u77ED\u540D>/`\
|
|
1610
|
+
"\u5BF9\u65B9\u4EA4\u56DE\u7684\u6587\u4EF6\u81EA\u52A8\u843D\u8FDB `delegations/<\u77ED\u540D>/`\uFF0C\u4E0D\u51FA\u5361\uFF1B\u8981\u7ED9\u7528\u6237\u770B\u7684\uFF0C\u590D\u5236\u6216\u52A0\u5DE5\u8FDB `outputs/`\uFF0C\u539F\u4EF6\u522B\u52A8\u3002"
|
|
1611
1611
|
].join("\n");
|
|
1612
1612
|
}
|
|
1613
1613
|
});
|
|
@@ -25935,11 +25935,19 @@ var init_codex = __esm({
|
|
|
25935
25935
|
active: false,
|
|
25936
25936
|
pendingInputs: /* @__PURE__ */ new Set(),
|
|
25937
25937
|
codex: createCodexNormalizeState(),
|
|
25938
|
-
// 本次 run
|
|
25939
|
-
|
|
25940
|
-
|
|
25941
|
-
//
|
|
25942
|
-
|
|
25938
|
+
// 本次 run 的用量:`thread/tokenUsage/updated` 的 `last`(见该解析函数注释)按轮次记下,
|
|
25939
|
+
// 结算时只加**本次 run 发起的轮次**(runTurnIds)。原因:`thread/resume` 之后 codex 会把线程
|
|
25940
|
+
// **上一轮**的用量通知重放一遍(本机 codex 0.154.0 实测,turnId 是上一轮的),照单全收的话
|
|
25941
|
+
// 每次续接都把上一轮的 token 再记一遍。没带 turnId 的通知(老版本)照旧直接计入。
|
|
25942
|
+
usageByTurn: [],
|
|
25943
|
+
runTurnIds: /* @__PURE__ */ new Set(),
|
|
25944
|
+
// 已经发出本次 run 的 `turn/start`:在这之前出现的 `turn/started` 不是本次的轮次。
|
|
25945
|
+
turnRequested: false,
|
|
25946
|
+
// 会话 rollout 的绝对路径:新开线程时 `thread/started` 通知会给;**续接(thread/resume)不发这条通知**,
|
|
25947
|
+
// 只能从 resume 的响应里取(同上实测)。取不到它就读不到实际模型。
|
|
25948
|
+
rolloutPath: void 0,
|
|
25949
|
+
// thread/start / thread/resume 响应里 codex 报的线程模型:rollout 读不到时的兜底。
|
|
25950
|
+
threadModel: void 0
|
|
25943
25951
|
}),
|
|
25944
25952
|
initialCommand: () => ({
|
|
25945
25953
|
jsonrpc: "2.0",
|
|
@@ -25956,12 +25964,16 @@ var init_codex = __esm({
|
|
|
25956
25964
|
const threadId = thread.thread?.id ?? thread.id;
|
|
25957
25965
|
if (typeof threadId !== "string" || !threadId) throw new Error("codex app-server returned no thread id");
|
|
25958
25966
|
state.threadId = threadId;
|
|
25967
|
+
if (typeof thread.thread?.path === "string" && thread.thread.path) state.rolloutPath ??= thread.thread.path;
|
|
25968
|
+
const responseModel = typeof thread.model === "string" && thread.model ? thread.model : typeof thread.thread?.model === "string" && thread.thread.model ? thread.thread.model : void 0;
|
|
25969
|
+
if (responseModel) state.threadModel = responseModel;
|
|
25959
25970
|
const text5 = currentJob.systemPrompt ? `${currentJob.systemPrompt}
|
|
25960
25971
|
|
|
25961
25972
|
---
|
|
25962
25973
|
|
|
25963
25974
|
${task}` : task;
|
|
25964
25975
|
state.active = true;
|
|
25976
|
+
state.turnRequested = true;
|
|
25965
25977
|
const turn = await send({
|
|
25966
25978
|
jsonrpc: "2.0",
|
|
25967
25979
|
method: "turn/start",
|
|
@@ -25974,7 +25986,10 @@ ${task}` : task;
|
|
|
25974
25986
|
}
|
|
25975
25987
|
});
|
|
25976
25988
|
const turnId = turn.turn?.id ?? turn.id;
|
|
25977
|
-
if (typeof turnId === "string" && turnId)
|
|
25989
|
+
if (typeof turnId === "string" && turnId) {
|
|
25990
|
+
state.turnId = turnId;
|
|
25991
|
+
state.runTurnIds.add(turnId);
|
|
25992
|
+
}
|
|
25978
25993
|
if (!state.turnId) throw new Error("codex app-server returned no turn id");
|
|
25979
25994
|
},
|
|
25980
25995
|
liveEvents(message, state) {
|
|
@@ -26015,16 +26030,14 @@ ${task}` : task;
|
|
|
26015
26030
|
}
|
|
26016
26031
|
if (method === "thread/tokenUsage/updated") {
|
|
26017
26032
|
const turn = parseCodexAppServerTurnUsage(params);
|
|
26018
|
-
if (turn) {
|
|
26019
|
-
addCodexBuckets(state.usage, turn);
|
|
26020
|
-
state.sawUsage = true;
|
|
26021
|
-
}
|
|
26033
|
+
if (turn) state.usageByTurn.push({ turnId: typeof params?.turnId === "string" ? params.turnId : void 0, buckets: turn });
|
|
26022
26034
|
}
|
|
26023
26035
|
if (method === "turn/started") {
|
|
26024
26036
|
const turn = params?.turn;
|
|
26025
26037
|
if (typeof turn?.id === "string") {
|
|
26026
26038
|
state.turnId = turn.id;
|
|
26027
26039
|
state.active = true;
|
|
26040
|
+
if (state.turnRequested) state.runTurnIds.add(turn.id);
|
|
26028
26041
|
}
|
|
26029
26042
|
}
|
|
26030
26043
|
if (method === "item/agentMessage/delta" || method === "item/reasoning/textDelta") {
|
|
@@ -26056,9 +26069,16 @@ ${task}` : task;
|
|
|
26056
26069
|
} catch {
|
|
26057
26070
|
}
|
|
26058
26071
|
}
|
|
26059
|
-
model ??= resolvedModel2;
|
|
26072
|
+
model ??= state.threadModel ?? resolvedModel2;
|
|
26073
|
+
const usage = { input: 0, cacheRead: 0, cacheWrite: 0, output: 0 };
|
|
26074
|
+
let sawUsage = false;
|
|
26075
|
+
for (const entry of state.usageByTurn) {
|
|
26076
|
+
if (entry.turnId !== void 0 && !state.runTurnIds.has(entry.turnId)) continue;
|
|
26077
|
+
addCodexBuckets(usage, entry.buckets);
|
|
26078
|
+
sawUsage = true;
|
|
26079
|
+
}
|
|
26060
26080
|
return {
|
|
26061
|
-
...
|
|
26081
|
+
...sawUsage ? { usage: codexUsageFromBuckets(usage) } : {},
|
|
26062
26082
|
...model ? { model } : {}
|
|
26063
26083
|
};
|
|
26064
26084
|
},
|
|
@@ -26068,7 +26088,10 @@ ${task}` : task;
|
|
|
26068
26088
|
await send({ jsonrpc: "2.0", method: "turn/interrupt", params: { threadId: state.threadId, turnId: state.turnId } });
|
|
26069
26089
|
const next = await send({ jsonrpc: "2.0", method: "turn/start", params: { threadId: state.threadId, input: [{ type: "text", text: input.text }] } });
|
|
26070
26090
|
const nextId = next.turn?.id;
|
|
26071
|
-
if (typeof nextId === "string")
|
|
26091
|
+
if (typeof nextId === "string") {
|
|
26092
|
+
state.turnId = nextId;
|
|
26093
|
+
state.runTurnIds.add(nextId);
|
|
26094
|
+
}
|
|
26072
26095
|
state.active = true;
|
|
26073
26096
|
return { accepted: true, interrupt: "unknown" };
|
|
26074
26097
|
}
|
|
@@ -198179,7 +198202,7 @@ function delegationReturnText(terminal, opts) {
|
|
|
198179
198202
|
);
|
|
198180
198203
|
if (opts.movedPaths.length > 0 || (opts.unchangedPaths?.length ?? 0) > 0) {
|
|
198181
198204
|
lines.push(
|
|
198182
|
-
"\u4EA4\u56DE\u7684\u6587\u4EF6\u653E\u5728 `delegations/` \u4E0B\uFF0C**\u7528\u6237\
|
|
198205
|
+
"\u4EA4\u56DE\u7684\u6587\u4EF6\u653E\u5728 `delegations/` \u4E0B\uFF0C**\u4E0D\u4F1A\u5728\u5BF9\u8BDD\u91CC\u51FA\u5361**\uFF08\u7528\u6237\u53EA\u80FD\u53BB\u53F3\u4FA7\u300C\u76F8\u5173\u6587\u4EF6\u300D\u5217\u8868\u91CC\u7FFB\uFF09\uFF1B\u8981\u7ED9\u7528\u6237\u770B\u7684\uFF0C\u590D\u5236\u6216\u52A0\u5DE5\u540E\u653E\u8FDB `outputs/`\uFF08\u539F\u4EF6\u522B\u79FB\u52A8\u3001\u522B\u5220\u9664\uFF09\u3002" + ((opts.updatedPaths?.length ?? 0) > 0 ? "\u6807\u4E86\u300C\u66F4\u65B0\u300D\u7684\u6587\u4EF6\u5982\u679C\u4F60\u4E4B\u524D\u653E\u8FDB\u8FC7 `outputs/`\uFF0C\u8981\u4E0D\u8981\u6362\u6210\u65B0\u7248\u7531\u4F60\u5224\u65AD\u3002" : "")
|
|
198183
198206
|
);
|
|
198184
198207
|
}
|
|
198185
198208
|
return lines.join("\n");
|
|
@@ -259628,12 +259651,12 @@ ${detail}`.slice(0, 4200) } : {}
|
|
|
259628
259651
|
init_src11();
|
|
259629
259652
|
init_src();
|
|
259630
259653
|
var BRAINSTORM_LEGACY_LINE = "\u8BF7\u76F4\u63A5\u56DE\u7B54\u7528\u6237\u95EE\u9898\u3002\u9664\u975E\u7528\u6237\u660E\u786E\u8981\u6C42\u5199\u5165\u7CFB\u7EDF\uFF0C\u5426\u5219\u4E0D\u8981\u521B\u5EFA\u6216\u4FEE\u6539 artifact\u3002";
|
|
259631
|
-
var BRAINSTORM_ARTIFACT_GUARD = "\u9664\u975E\u7528\u6237\u660E\u786E\u8981\u6C42\u5199\u5165\u7CFB\u7EDF\uFF0C\u5426\u5219\u4E0D\u8981\u521B\u5EFA\u6216\u4FEE\u6539 artifact\u3002";
|
|
259654
|
+
var BRAINSTORM_ARTIFACT_GUARD = "\u9664\u975E\u7528\u6237\u660E\u786E\u8981\u6C42\u5199\u5165\u7CFB\u7EDF\uFF0C\u5426\u5219\u4E0D\u8981\u76F4\u63A5\u521B\u5EFA\u6216\u4FEE\u6539 artifact\uFF1B\u5DE5\u5355\u8349\u6848\u8981\u7528\u6237\u786E\u8BA4\u624D\u751F\u6548\uFF0C\u4E0D\u5728\u6B64\u5217\u3002";
|
|
259632
259655
|
var OUTPUTS_CONVENTION = [
|
|
259633
259656
|
"## \u4EA7\u51FA\u653E\u54EA",
|
|
259634
259657
|
"",
|
|
259635
259658
|
"\u8981\u7ED9\u7528\u6237\u770B\u7684\u6210\u54C1\u6587\u4EF6\uFF0C**\u653E\u8FDB\u5DE5\u4F5C\u76EE\u5F55\u4E0B\u7684 `outputs/`**\uFF08\u53EF\u4EE5\u6709\u5B50\u76EE\u5F55\uFF0C\u7ED3\u6784\u81EA\u5DF1\u5B9A\uFF09\u3002",
|
|
259636
|
-
"\u53EA\u6709\u8FD9\u4E2A\u76EE\u5F55\u91CC\u7684\u6587\u4EF6\u4F1A\u5728\u5BF9\u8BDD\u91CC\u663E\u793A\u6210\u53EF\u70B9\u5F00\u7684\u6587\u4EF6\u5361\u7247\uFF1B\u5199\u5728\u522B\u5904\u7684\u7528\u6237\
|
|
259659
|
+
"\u53EA\u6709\u8FD9\u4E2A\u76EE\u5F55\u91CC\u7684\u6587\u4EF6\u4F1A\u5728\u5BF9\u8BDD\u91CC\u663E\u793A\u6210\u53EF\u70B9\u5F00\u7684\u6587\u4EF6\u5361\u7247\uFF1B\u5199\u5728\u522B\u5904\u7684\u4E0D\u51FA\u5361\uFF0C\u7528\u6237\u53EA\u80FD\u53BB\u53F3\u4FA7\u300C\u76F8\u5173\u6587\u4EF6\u300D\u5217\u8868\u91CC\u81EA\u5DF1\u7FFB\u3002",
|
|
259637
259660
|
"\u4E2D\u95F4\u4EA7\u7269\u3001\u4E34\u65F6\u811A\u672C\u3001\u8349\u7A3F\u4E0D\u8981\u653E\u8FD9\u91CC\u2014\u2014\u653E\u8FDB\u53BB\u5C31\u4F1A\u6446\u5230\u7528\u6237\u9762\u524D\u3002"
|
|
259638
259661
|
].join("\n");
|
|
259639
259662
|
function buildChatTaskHeader(input) {
|
|
@@ -270972,7 +270995,7 @@ ${round.text}`);
|
|
|
270972
270995
|
break;
|
|
270973
270996
|
}
|
|
270974
270997
|
println(`\u5DF2\u4EA4\u7ED9 ${to} \u53BB\u505A\uFF08\u5F02\u6B65\uFF0C\u4E0D\u7528\u7B49\uFF09\u3002`);
|
|
270975
|
-
println(` \u77ED\u540D\uFF08--
|
|
270998
|
+
println(` \u77ED\u540D\uFF08--follow-up \u7528\u8FD9\u4E2A\uFF09\uFF1A${started.label}`);
|
|
270976
270999
|
println(` delegationId\uFF1A${started.delegationId}`);
|
|
270977
271000
|
if (started.attachedFiles?.length) println(` \u5E26\u8FC7\u53BB\u7684\u6587\u4EF6\uFF1A${started.attachedFiles.join("\u3001")}`);
|
|
270978
271001
|
println("\u7ED3\u679C\u5E72\u5B8C\u4E86\u4F1A\u81EA\u5DF1\u56DE\u5230\u8FD9\u6761\u5BF9\u8BDD\u3002\u8FD9\u4E00\u8F6E\u5148\u6536\u5C3E\u2014\u2014\u53EF\u4EE5\u987A\u624B\u8DDF\u7528\u6237\u8BF4\u4E00\u53E5\u4F60\u628A\u8FD9\u4EF6\u4E8B\u6D3E\u51FA\u53BB\u4E86\u3002");
|
|
@@ -273755,7 +273778,7 @@ function shimScript() {
|
|
|
273755
273778
|
}
|
|
273756
273779
|
|
|
273757
273780
|
// src/index.ts
|
|
273758
|
-
var PKG_VERSION = true ? "2.2.
|
|
273781
|
+
var PKG_VERSION = true ? "2.2.30" : "dev";
|
|
273759
273782
|
var LOCAL_BIN = localBin();
|
|
273760
273783
|
var NPM_PREFIX = npmPrefix();
|
|
273761
273784
|
var INSTANCE = DEFAULT_INSTANCE;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oasis_test_v2",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.30",
|
|
4
4
|
"description": "Oasis node daemon + CLI — background daemon, auto-start, full server CLI",
|
|
5
5
|
"bin": {
|
|
6
6
|
"oasis": "./dist/index.js"
|
|
@@ -26,6 +26,6 @@
|
|
|
26
26
|
"node": ">=20"
|
|
27
27
|
},
|
|
28
28
|
"oasisRelease": {
|
|
29
|
-
"sourceHead": "
|
|
29
|
+
"sourceHead": "013d645f571ea8a12f1a119c0dae1cc1f4c3caac"
|
|
30
30
|
}
|
|
31
31
|
}
|