nolo-cli 0.168.0-alpha.2 → 0.169.0-alpha.2
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/{_executeModel-AY53O33B.js → _executeModel-7J6IIHWQ.js} +13 -13
- package/{agentDeleteCommand-4HOAILRY.js → agentDeleteCommand-F66NIWCF.js} +15 -15
- package/{agentEmailCommands-PYNUCXDD.js → agentEmailCommands-M4SHODDA.js} +17 -17
- package/{agentGrantCommands-5DPHYEKP.js → agentGrantCommands-LPVAJ6KR.js} +1 -1
- package/{agentListCommands-TLM2Z5YA.js → agentListCommands-4BBFWXHX.js} +7 -7
- package/{agentMachineCommands-U4EJNIZ3.js → agentMachineCommands-R55P5SZY.js} +5 -5
- package/{agentProviderCommands-CXBHNONN.js → agentProviderCommands-4USYTCL3.js} +1 -1
- package/{agentPullCommand-GXXEDOSA.js → agentPullCommand-UXXV5KKW.js} +1 -1
- package/{agentRecordCommands-TBIANIZL.js → agentRecordCommands-PDWACZFR.js} +16 -16
- package/{agentRunCommand-73EXLR7O.js → agentRunCommand-U2F74LTS.js} +16 -16
- package/{agentRunControl-QWFFIAQY.js → agentRunControl-EI3BGJFM.js} +4 -2
- package/{agentRuntimeLocal-YDRO43VQ.js → agentRuntimeLocal-7EZYBR6X.js} +2 -2
- package/{agentSlice-ZU6XEZND.js → agentSlice-UN7ZHCAM.js} +1 -1
- package/{appDeleteCommands-UKXZ4AW6.js → appDeleteCommands-WS3UFMCB.js} +6 -6
- package/{appDeployCommands-X5TKB23X.js → appDeployCommands-W5B7I73P.js} +6 -6
- package/{appDeployStatusCommands-N4RRXIOF.js → appDeployStatusCommands-UEHNV2GU.js} +6 -6
- package/{appGetCommands-RTXNFQNZ.js → appGetCommands-XJOBVREN.js} +6 -6
- package/{appListCommands-FX2YMHZU.js → appListCommands-BISQV6BQ.js} +6 -6
- package/{authCommand-OVBMDPIF.js → authCommand-H35CPF25.js} +2 -2
- package/{authCommands-QOCKVPX3.js → authCommands-BKDT4ZYB.js} +2 -2
- package/{chromeOpsCommands-GZVVK7HU.js → chromeOpsCommands-6JHNTKXU.js} +1 -1
- package/{chunk-HL5KVGSL.js → chunk-2AZSL4GL.js} +2 -2
- package/{chunk-JICBK5VC.js → chunk-2DXGW4UO.js} +1 -1
- package/{chunk-N3XCSZOY.js → chunk-3ELX6JK5.js} +3 -3
- package/{chunk-6NAYN42Q.js → chunk-3USFOET4.js} +2 -2
- package/{chunk-CFHDJJBA.js → chunk-45IOFLGH.js} +5 -5
- package/{chunk-FK55VK7X.js → chunk-46OQD3AP.js} +2 -2
- package/{chunk-4TIZP7PG.js → chunk-7VWWGKEQ.js} +2 -2
- package/{chunk-IRC2AHEV.js → chunk-CEQFVBI2.js} +2 -2
- package/{chunk-T6CYTRP4.js → chunk-CMRP4XHV.js} +8 -8
- package/{chunk-XFTJICLD.js → chunk-DHNQA4VI.js} +1 -1
- package/{chunk-KU5TYLY3.js → chunk-FQU23S3P.js} +7 -7
- package/{chunk-6M2XWWM3.js → chunk-HZMWJUSD.js} +2 -2
- package/{chunk-5DJOZ3FN.js → chunk-IMMA7QFE.js} +3 -3
- package/{chunk-YOKJE6RU.js → chunk-IOFLVIKF.js} +2 -2
- package/{chunk-N6EMFRPR.js → chunk-KJETBEEN.js} +1 -1
- package/{chunk-CR2YHS2G.js → chunk-LEZLJTQ4.js} +1 -1
- package/{chunk-6M5BXJK5.js → chunk-O2AY3CVI.js} +13 -11
- package/{chunk-TQYYH5UI.js → chunk-QW6SSF7V.js} +8 -8
- package/{chunk-DLV3H464.js → chunk-RV4DPEAM.js} +1 -1
- package/{chunk-KYFGIHVF.js → chunk-TOUKACDK.js} +35 -19
- package/{chunk-IW64YHXL.js → chunk-TWJYVVUB.js} +1 -1
- package/{chunk-DWMLT22B.js → chunk-URO44BCD.js} +1 -1
- package/{chunk-LPO6AMQU.js → chunk-URW5UM6Y.js} +85 -23
- package/{chunk-A7GB5UGH.js → chunk-WACI5I6V.js} +1 -1
- package/{chunk-2BWYN4N6.js → chunk-WC7UXON2.js} +10 -10
- package/{chunk-NH7672YN.js → chunk-WLPUUBFR.js} +2 -2
- package/{chunk-7NBDLDX2.js → chunk-WVREKHHJ.js} +5 -5
- package/{chunk-RG5K3ULI.js → chunk-XLBQQ5SB.js} +3 -3
- package/{chunk-PBCVKRGH.js → chunk-XLQFVHNX.js} +2 -2
- package/{chunk-U4STABYN.js → chunk-YGILMZ7N.js} +1 -1
- package/{chunk-D52O6RA6.js → chunk-Z6HR75HX.js} +4 -4
- package/{cliEnvHelpers-ZXNMX7VV.js → cliEnvHelpers-BVYTMUPJ.js} +1 -1
- package/{commandRegistry-IKUZMWAN.js → commandRegistry-3XBG7JHS.js} +72 -72
- package/{contentThunks-VAPJZ75B.js → contentThunks-OO3MJAED.js} +3 -3
- package/{createAgentAutomationAction-4GXJYWCX.js → createAgentAutomationAction-F3O6FJ5W.js} +3 -3
- package/{createDialogAction-I73INVXI.js → createDialogAction-UBQKDUK5.js} +4 -4
- package/{createPageAction-2UXGWGNB.js → createPageAction-RDEDO4GF.js} +3 -3
- package/{dialogCommands-T6E3ZC6W.js → dialogCommands-P5HSDZ7T.js} +7 -7
- package/{dialogSlice-AGUU6TEF.js → dialogSlice-WZCWWYR3.js} +2 -2
- package/{docCreateCommands-PB5O2AHR.js → docCreateCommands-B2M3MGX7.js} +5 -5
- package/{docDeleteCommands-RPW7WC2I.js → docDeleteCommands-NHCUX4XL.js} +6 -6
- package/{docReadCommands-IXHQDBDY.js → docReadCommands-FOLST4JD.js} +5 -5
- package/{docStore-W72REPIB.js → docStore-PTSCGC6T.js} +1 -1
- package/{docUpdateCommands-FFY6APSV.js → docUpdateCommands-YZT2PQP2.js} +5 -5
- package/{handleSendMessageAction-3OHYCSFM.js → handleSendMessageAction-3YMQS6XO.js} +7 -7
- package/index.js +5 -5
- package/{localRuntimeAdapter-UYVJ5AJT.js → localRuntimeAdapter-ZIAOTUBE.js} +13 -13
- package/{machineCommands-VPLS3SWV.js → machineCommands-3LSEP24P.js} +14 -14
- package/{machineWsRunDispatch-YVELU5LS.js → machineWsRunDispatch-7A3TSH4Q.js} +14 -14
- package/{memoryCommands-ZS3VQJAL.js → memoryCommands-YLT3ADGQ.js} +1 -1
- package/package.json +1 -1
- package/{readlineWorkspace-Q5BPFMSC.js → readlineWorkspace-OFBP6OA7.js} +22 -22
- package/{runAgentClientLoop-N2B2CN2W.js → runAgentClientLoop-F6EQK26A.js} +11 -11
- package/{runtimeDoctorCommands-MMCP4B4U.js → runtimeDoctorCommands-LYMJEM4F.js} +1 -1
- package/{spaceCommands-X5ITNKLC.js → spaceCommands-XESXH5CW.js} +5 -5
- package/{streamAgentChatTurn-C7QTXNPY.js → streamAgentChatTurn-KXELVHFR.js} +13 -13
- package/{tools-5RNURQPU.js → tools-FMNDEVTZ.js} +7 -7
- package/{updateCommands-FJHGWD3Q.js → updateCommands-C56QMWHF.js} +2 -2
- package/{updateDialogTitleAction-TOSX6Q4L.js → updateDialogTitleAction-65R3Y22L.js} +3 -3
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
resolveRawAgentInput,
|
|
10
10
|
resolveServerUrl,
|
|
11
11
|
writeUsage
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-DHNQA4VI.js";
|
|
13
13
|
import {
|
|
14
14
|
getReadableCliDb
|
|
15
15
|
} from "./chunk-62TBKWTV.js";
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
resolveFileWriteGateEnabled,
|
|
32
32
|
resolveLocalUserId,
|
|
33
33
|
validateInstaboxWorkspaceSelection
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-WC7UXON2.js";
|
|
35
35
|
import {
|
|
36
36
|
clearCredentialAvailability,
|
|
37
37
|
readEffectiveCredentialEntry,
|
|
@@ -64,7 +64,7 @@ import {
|
|
|
64
64
|
import {
|
|
65
65
|
readDbRecord,
|
|
66
66
|
resolveAgentRecordFromHybridStore
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-KJETBEEN.js";
|
|
68
68
|
import {
|
|
69
69
|
isLocalCliAgentKey
|
|
70
70
|
} from "./chunk-NBTY7YJF.js";
|
|
@@ -79,14 +79,14 @@ import {
|
|
|
79
79
|
} from "./chunk-BMQ2MJUK.js";
|
|
80
80
|
import {
|
|
81
81
|
resolveCliLocalRuntimeKeyCapability
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-QW6SSF7V.js";
|
|
83
83
|
import {
|
|
84
84
|
isTransientFetchError
|
|
85
85
|
} from "./chunk-KFHREHUQ.js";
|
|
86
86
|
import {
|
|
87
87
|
parseUiCard,
|
|
88
88
|
uiCardFallback
|
|
89
|
-
} from "./chunk-
|
|
89
|
+
} from "./chunk-WLPUUBFR.js";
|
|
90
90
|
import {
|
|
91
91
|
isGatewayHttpStatus
|
|
92
92
|
} from "./chunk-NF64D32W.js";
|
|
@@ -95,7 +95,7 @@ import {
|
|
|
95
95
|
chooseMemoryOwners,
|
|
96
96
|
loadMemoryCandidatesFromDb,
|
|
97
97
|
resolveAgentMemoryPolicy
|
|
98
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-46OQD3AP.js";
|
|
99
99
|
import {
|
|
100
100
|
API_REPORTED_COST_MULTIPLIER,
|
|
101
101
|
estimateMessagesTokens,
|
|
@@ -103,7 +103,7 @@ import {
|
|
|
103
103
|
resolveAgentContextWindow,
|
|
104
104
|
resolveOccupancy,
|
|
105
105
|
resolveOccupancyWindow
|
|
106
|
-
} from "./chunk-
|
|
106
|
+
} from "./chunk-CMRP4XHV.js";
|
|
107
107
|
import {
|
|
108
108
|
buildSkillDiscoveryContextLayer
|
|
109
109
|
} from "./chunk-AU7AXHUL.js";
|
|
@@ -115,7 +115,7 @@ import {
|
|
|
115
115
|
LOCAL_AGENT_CONFIG_MISSING_CODE,
|
|
116
116
|
LOCAL_TURN_ABORTED_CODE,
|
|
117
117
|
readActionGate
|
|
118
|
-
} from "./chunk-
|
|
118
|
+
} from "./chunk-2DXGW4UO.js";
|
|
119
119
|
import {
|
|
120
120
|
resolveAgentRuntimeConfigFromRecord
|
|
121
121
|
} from "./chunk-CEXJ6Y3C.js";
|
|
@@ -182,13 +182,14 @@ import {
|
|
|
182
182
|
popSingleQueueMessage,
|
|
183
183
|
readRunRecord,
|
|
184
184
|
recordRunResultHeaderMeta,
|
|
185
|
+
reportRunProcessIdentity,
|
|
185
186
|
resolveResultServerMeta,
|
|
186
187
|
resolveRunQueuePath,
|
|
187
188
|
resolveRunsDir,
|
|
188
189
|
serverOriginForDialog,
|
|
189
190
|
settleRunTerminalAuthoritatively,
|
|
190
191
|
spawnLocalBackgroundRun
|
|
191
|
-
} from "./chunk-
|
|
192
|
+
} from "./chunk-URW5UM6Y.js";
|
|
192
193
|
import {
|
|
193
194
|
formatAgentListCard,
|
|
194
195
|
formatFinishedRunCard,
|
|
@@ -213,7 +214,7 @@ import {
|
|
|
213
214
|
} from "./chunk-EYLGAEB4.js";
|
|
214
215
|
import {
|
|
215
216
|
resolveAuthToken
|
|
216
|
-
} from "./chunk-
|
|
217
|
+
} from "./chunk-WACI5I6V.js";
|
|
217
218
|
import {
|
|
218
219
|
readPipeText,
|
|
219
220
|
spawnProcess
|
|
@@ -11373,7 +11374,7 @@ function isBalanceExhaustedError(error) {
|
|
|
11373
11374
|
|
|
11374
11375
|
// packages/cli/client/agentRun.ts
|
|
11375
11376
|
async function loadRunLocalAgentTurn() {
|
|
11376
|
-
const { runLocalAgentTurn } = await import("./agentRuntimeLocal-
|
|
11377
|
+
const { runLocalAgentTurn } = await import("./agentRuntimeLocal-7EZYBR6X.js");
|
|
11377
11378
|
return runLocalAgentTurn;
|
|
11378
11379
|
}
|
|
11379
11380
|
var stripDebugNoise = (s) => s.replace(/\s*raw="[\s\S]*"/g, "").replace(/\s*raw=\S+/g, "").replace(/\s*headers=\[[^\]]*\]/g, "").replace(/\s*headers=\S+/g, "").trim();
|
|
@@ -15600,6 +15601,7 @@ async function runAgentRunCommand(args, deps) {
|
|
|
15600
15601
|
const nowMs = () => deps.now ? deps.now().getTime() : Date.now();
|
|
15601
15602
|
const childRunId = env.NOLO_AGENT_RUN_ID;
|
|
15602
15603
|
const hasRegistry = typeof childRunId === "string" && childRunId.length > 0;
|
|
15604
|
+
if (hasRegistry) reportRunProcessIdentity(childRunId, { env, homedir: deps.homedir, fs: deps.fs, now: deps.now });
|
|
15603
15605
|
const processExit = deps.processExit ?? ((code) => process.exit(code));
|
|
15604
15606
|
const stallTimeoutMs = resolvePositiveMs(
|
|
15605
15607
|
deps.stallTimeoutMs ?? env.NOLO_LOCAL_RUN_STALL_TIMEOUT_MS,
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
toolRunUpdated,
|
|
21
21
|
uiCardFallback,
|
|
22
22
|
waitForAbortableDelay
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-WLPUUBFR.js";
|
|
24
24
|
import {
|
|
25
25
|
isGatewayHttpStatus
|
|
26
26
|
} from "./chunk-NF64D32W.js";
|
|
@@ -64,7 +64,7 @@ import {
|
|
|
64
64
|
} from "./chunk-VF4K2QE6.js";
|
|
65
65
|
import {
|
|
66
66
|
createDocState
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-HZMWJUSD.js";
|
|
68
68
|
import {
|
|
69
69
|
addMemberSpace,
|
|
70
70
|
fetchAuthoritativeRemoteSpace,
|
|
@@ -79,7 +79,7 @@ import {
|
|
|
79
79
|
} from "./chunk-BAWAKW7X.js";
|
|
80
80
|
import {
|
|
81
81
|
createDialogAction
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-46OQD3AP.js";
|
|
83
83
|
import {
|
|
84
84
|
setDialogExtraReferencesAction
|
|
85
85
|
} from "./chunk-IF7V3CBU.js";
|
|
@@ -102,7 +102,7 @@ import {
|
|
|
102
102
|
updateContentCategory,
|
|
103
103
|
updateContentTitle,
|
|
104
104
|
writeStoredCollapsedCategories
|
|
105
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-URO44BCD.js";
|
|
106
106
|
import {
|
|
107
107
|
buildDatabaseFileContentUrl,
|
|
108
108
|
deleteDialog,
|
|
@@ -115,7 +115,7 @@ import {
|
|
|
115
115
|
selectMsgById,
|
|
116
116
|
uiAskChoiceFunc,
|
|
117
117
|
uiAskChoiceFunctionSchema
|
|
118
|
-
} from "./chunk-
|
|
118
|
+
} from "./chunk-CMRP4XHV.js";
|
|
119
119
|
import {
|
|
120
120
|
buildMediaToolConfirmation,
|
|
121
121
|
normalizeMediaConfirmExecutionRevision
|
|
@@ -126,7 +126,7 @@ import {
|
|
|
126
126
|
runLlm,
|
|
127
127
|
streamAgentChatTurn,
|
|
128
128
|
updateAgent
|
|
129
|
-
} from "./chunk-
|
|
129
|
+
} from "./chunk-XLBQQ5SB.js";
|
|
130
130
|
import {
|
|
131
131
|
getCurrentSpaceId,
|
|
132
132
|
getCurrentSpaceIdRaw,
|
|
@@ -3882,7 +3882,7 @@ async function deleteDialogsFunc(args, thunkApi) {
|
|
|
3882
3882
|
const deletedDialogIds = [];
|
|
3883
3883
|
const deletedDialogKeys = [];
|
|
3884
3884
|
const failures = [];
|
|
3885
|
-
const { deleteDialog: deleteDialog2 } = await import("./dialogSlice-
|
|
3885
|
+
const { deleteDialog: deleteDialog2 } = await import("./dialogSlice-WZCWWYR3.js");
|
|
3886
3886
|
for (const target of targets) {
|
|
3887
3887
|
try {
|
|
3888
3888
|
await thunkApi.dispatch(deleteDialog2(target.dbKey)).unwrap();
|
|
@@ -18563,7 +18563,7 @@ async function updateDocFunc(args, thunkApi) {
|
|
|
18563
18563
|
updated_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
18564
18564
|
};
|
|
18565
18565
|
await dispatch(write({ data: updatedPageData, customKey: id })).unwrap();
|
|
18566
|
-
const { getDocState, applyExternalDocUpdate } = await import("./docStore-
|
|
18566
|
+
const { getDocState, applyExternalDocUpdate } = await import("./docStore-PTSCGC6T.js");
|
|
18567
18567
|
if (getDocState().pageKey === id) {
|
|
18568
18568
|
applyExternalDocUpdate({
|
|
18569
18569
|
slateData: finalSlateData,
|
|
@@ -475,26 +475,42 @@ var AGENT_CONFIRM_BOUNDARY = `--- \u786E\u8BA4\u8FB9\u754C ---
|
|
|
475
475
|
- \u6D89\u53CA\u4E0D\u53EF\u9006\u64CD\u4F5C\uFF08\u4FEE\u6539\u6587\u4EF6\u3001\u5220\u9664\u6570\u636E\u3001\u53D1\u9001\u6D88\u606F\u3001\u751F\u6210\u6B63\u5F0F\u6587\u4EF6\u3001\u6267\u884C\u4EA4\u6613\uFF09\u6216\u9AD8\u6210\u672C\u52A8\u4F5C\uFF08\u5927\u89C4\u6A21\u91CD\u6784/\u957F\u65F6\u8FD0\u884C/\u5927\u91CF token\uFF09\u65F6\uFF0C\u4F18\u5148\u9884\u89C8\u6216\u5411\u7528\u6237\u786E\u8BA4\uFF1B\u5DE5\u5177\u8FD4\u56DE"\u9884\u89C8/\u5F85\u786E\u8BA4"\u65F6\u6682\u505C\uFF0C\u7B49\u660E\u786E\u786E\u8BA4\u518D\u7EE7\u7EED\uFF0C\u672A\u786E\u8BA4\u524D\u4E0D\u8FDE\u7EED\u53D1\u591A\u6B21\u7834\u574F\u6027\u4FEE\u6539\u3002
|
|
476
476
|
- \u6536\u5230\u300C\u5B50\u5BF9\u8BDD\u7981\u6B62\u518D\u521B\u5EFA\u5B59\u5BF9\u8BDD\u300D\uFF1D\u4F60\u5DF2\u662F\u5B50\u5BF9\u8BDD\uFF0C\u7981\u6B62\u518D\u6D3E\u53D1\uFF0C\u628A\u7ED3\u679C\u8FD4\u56DE\u7236\u5BF9\u8BDD\u5373\u53EF\u3002
|
|
477
477
|
- **\u76EE\u6807\u8303\u56F4\u63A7\u5236**\uFF1A\u53D1\u73B0\u539F\u4EA4\u4ED8\u7269\u4E0D\u80FD\u5B9E\u73B0\uFF0C\u4E0D\u5F97\u81EA\u884C\u7F29\u6210\u6587\u6848/\u624B\u52A8\u9000\u8DEF\u540E\u5BA3\u79F0\u5B8C\u6210\uFF1B\u9648\u8FF0\u5DF2\u8BC1\u5B9E\u9650\u5236\u3001\u539F\u76EE\u6807\u5DEE\u8DDD\u3001\u63A8\u8350\u66FF\u4EE3\u53CA\u5F71\u54CD\uFF0C\u7F29\u51CF\u7528\u6237\u53EF\u89C1\u80FD\u529B\u9700\u660E\u786E\u786E\u8BA4\uFF1B\u540C\u8303\u56F4\u6280\u672F\u7EC6\u8282\u4E0D\u9700\u95EE\uFF0C\u5DF2\u6388\u6743\u4E0D\u53D8\u8303\u56F4\u7EE7\u7EED\u63A8\u8FDB\uFF0C\u9632\u53D8\u6210\u4E8B\u4E8B\u786E\u8BA4\u3002`;
|
|
478
|
-
var
|
|
479
|
-
AGENT_COLLABORATION_VALUE_AND_METHOD,
|
|
480
|
-
AGENT_DELEGATE_FIRST_DEFAULT,
|
|
481
|
-
AGENT_PLATFORM_CREDITS_GATE,
|
|
482
|
-
AGENT_DISPATCH_PRECHECK,
|
|
483
|
-
AGENT_COLLABORATION_FULL_PROTOCOL,
|
|
484
|
-
AGENT_COMMIT_REVIEW_GATE,
|
|
485
|
-
AGENT_CONFIRM_BOUNDARY
|
|
486
|
-
].join("\n\n");
|
|
487
|
-
var AGENT_COLLABORATION_MIN_INSTRUCTIONS = [
|
|
488
|
-
`--- \u591A Agent \u6D3E\u53D1\uFF08\u6700\u5C0F\u534F\u8BAE\uFF09 ---
|
|
478
|
+
var AGENT_COLLABORATION_MIN_DISPATCH = `--- \u591A Agent \u6D3E\u53D1\uFF08\u6700\u5C0F\u534F\u8BAE\uFF09 ---
|
|
489
479
|
- startAgentRun \u542F\u52A8\u5B50 Agent\uFF1A\u7701\u7565 agentKey\uFF08\u6216\u4F20 'self'\uFF09\u81EA\u52A8\u6D3E\u53D1\u81EA\u8EAB\u6267\u884C\u7EC6\u5206\u5B50\u4EFB\u52A1\uFF1B\u6D3E\u5176\u4ED6 Agent \u65F6 agentKey \u5FC5\u987B\u539F\u6837\u7167\u6284 listAgents \u8FD4\u56DE\u7684 agentKey \u5B57\u6BB5\uFF08\u4E0D\u62FC\u63A5/\u4E0D\u63A8\u65AD/\u4E0D\u6362\u683C\u5F0F/\u4E0D\u4F20 name\uFF09\uFF1Bwait:false\uFF08\u9ED8\u8BA4\uFF09\u5F02\u6B65\u8FD4\u56DE runId\uFF0C\u6D3E\u53D1\u540E\u7ACB\u5373\u6536\u5C3E\u7B49\u7EC8\u6001\u901A\u77E5\uFF0C\u7981\u6B62\u8F6E\u8BE2\uFF1B\u5E76\u884C\u6D3E\u53D1\u7528\u540C\u4E00 batchId \u5F52\u7EC4\u3002
|
|
490
480
|
- \u5E76\u884C\u6247\u51FA\uFF1A\u540C\u4E00\u51ED\u8BC1\u9ED8\u8BA4\u5141\u8BB8\u5E76\u53D1\uFF08\u53D7\u670D\u52A1\u7AEF\u51C6\u5165\u9884\u7B97\u7EA6\u675F\uFF1B\u6CE8\u610F\u4E0A\u6E38 429 \u9650\u6D41\uFF0C\u5FC5\u8981\u65F6\u964D\u4F4E\u5E76\u53D1\u6216\u6362\u901A\u9053\uFF09\uFF1B\u82E5\u9700\u5206\u6563\u4E0A\u6E38\u538B\u529B\uFF0C\u4F18\u5148\u8DE8\u4E0D\u540C credentialGroup \u6D3E\u53D1\uFF1Bcredentialed:false\uFF08\u51ED\u8BC1\u5F52\u5C5E\u672A\u77E5\uFF09\u7684 agent \u4E0D\u662F\u300C\u72EC\u7ACB\u51ED\u8BC1\u300D\uFF0C\u540C\u6279\u5E76\u53D1\u4F1A\u88AB\u5B88\u536B\u62D2\u7EDD\uFF0C\u9700\u4E32\u884C\u6D3E\u53D1\u6216\u663E\u5F0F allowUnknownCredential \u786E\u8BA4\u98CE\u9669\u3002
|
|
491
|
-
- \u672C\u8F6E\u672A\u6CE8\u5165\u5B8C\u6574\u7F16\u6392\u534F\u8BAE\uFF08\u65E0\u6D3E\u53D1\u610F\u56FE\uFF09\uFF1B\u5982\u786E\u9700\u591A Agent \u7F16\u6392\uFF0C\u6309\u672C\u6700\u5C0F\u534F\u8BAE\u4E0E startAgentRun \u5DE5\u5177\u63CF\u8FF0\u6267\u884C\uFF0C\u5B89\u5168\u786C\u95E8\u89C1\u4E0B\u3002
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
481
|
+
- \u672C\u8F6E\u672A\u6CE8\u5165\u5B8C\u6574\u7F16\u6392\u534F\u8BAE\uFF08\u65E0\u6D3E\u53D1\u610F\u56FE\uFF09\uFF1B\u5982\u786E\u9700\u591A Agent \u7F16\u6392\uFF0C\u6309\u672C\u6700\u5C0F\u534F\u8BAE\u4E0E startAgentRun \u5DE5\u5177\u63CF\u8FF0\u6267\u884C\uFF0C\u5B89\u5168\u786C\u95E8\u89C1\u4E0B\u3002`;
|
|
482
|
+
function isCommitReviewGateEnabled(opts) {
|
|
483
|
+
if (opts?.enableCommitReviewGate !== void 0) {
|
|
484
|
+
return opts.enableCommitReviewGate;
|
|
485
|
+
}
|
|
486
|
+
if (typeof process !== "undefined" && process.env?.NOLO_DISABLE_COMMIT_REVIEW_GATE === "1") {
|
|
487
|
+
return false;
|
|
488
|
+
}
|
|
489
|
+
return true;
|
|
490
|
+
}
|
|
491
|
+
function buildAgentCollaborationInstructions(opts) {
|
|
492
|
+
const isFull = opts?.dispatchIntent === true;
|
|
493
|
+
const gateEnabled = isCommitReviewGateEnabled(opts);
|
|
494
|
+
const sections = isFull ? [
|
|
495
|
+
AGENT_COLLABORATION_VALUE_AND_METHOD,
|
|
496
|
+
AGENT_DELEGATE_FIRST_DEFAULT,
|
|
497
|
+
AGENT_PLATFORM_CREDITS_GATE,
|
|
498
|
+
AGENT_DISPATCH_PRECHECK,
|
|
499
|
+
AGENT_COLLABORATION_FULL_PROTOCOL,
|
|
500
|
+
...gateEnabled ? [AGENT_COMMIT_REVIEW_GATE] : [],
|
|
501
|
+
AGENT_CONFIRM_BOUNDARY
|
|
502
|
+
] : [
|
|
503
|
+
AGENT_COLLABORATION_MIN_DISPATCH,
|
|
504
|
+
AGENT_DELEGATE_FIRST_DEFAULT,
|
|
505
|
+
AGENT_PLATFORM_CREDITS_GATE,
|
|
506
|
+
AGENT_DISPATCH_PRECHECK,
|
|
507
|
+
...gateEnabled ? [AGENT_COMMIT_REVIEW_GATE] : [],
|
|
508
|
+
AGENT_CONFIRM_BOUNDARY
|
|
509
|
+
];
|
|
510
|
+
return sections.join("\n\n");
|
|
511
|
+
}
|
|
512
|
+
var AGENT_COLLABORATION_INSTRUCTIONS = buildAgentCollaborationInstructions({ dispatchIntent: true });
|
|
513
|
+
var AGENT_COLLABORATION_MIN_INSTRUCTIONS = buildAgentCollaborationInstructions({ dispatchIntent: false });
|
|
498
514
|
var CONVERSATION_INTERACTION_INSTRUCTIONS = `--- \u5BF9\u8BDD\u5185\u4EA4\u4E92\uFF08show_interaction\uFF09 ---
|
|
499
515
|
\u201C\u5C55\u793A\u7ED3\u6784\u5316\u5185\u5BB9 + \u8BA9\u7528\u6237\u9009\u62E9\u201D\u540C\u65F6\u51FA\u73B0\u65F6\uFF08\u591A\u65B9\u6848\u5BF9\u6BD4\u8981\u7528\u6237\u9009\u4E00\u4E2A\u3001\u5173\u952E\u6307\u6807\u914D\u5408\u786E\u8BA4\u9879\uFF09\uFF0C\u8D70 show_interaction\uFF0C\u5185\u5BB9\u4E0E\u9009\u9879\u5728\u540C\u4E00\u5757\u5448\u73B0\u4E14\u63D0\u4EA4\u540E\u539F\u4F4D\u53EA\u8BFB\uFF0C\u6BD4\u5148\u7ED9 Markdown \u8868\u683C\u518D\u8FFD\u95EE\u66F4\u7D27\u51D1\u3002
|
|
500
516
|
- \u7528\u5B83\uFF1A\u7ED3\u6784\u5316\u5BF9\u6BD4/\u6307\u6807\u4E0E\u9009\u62E9\u540C\u5757\u5C55\u793A\uFF1B\u63D0\u4EA4\u540E\u7528\u6237\u9009\u62E9\u539F\u4F4D\u53EA\u8BFB\u3002
|
|
@@ -576,7 +592,7 @@ var TOOL_GUIDED_SECTIONS = [
|
|
|
576
592
|
],
|
|
577
593
|
// 按需注入:完整编排协议仅在有派发意图时给;无派发意图给最小协议
|
|
578
594
|
// (派发机制 + 安全硬门常在:平台积分授权门 / commit review 硬门)。
|
|
579
|
-
build: (_tools, opts) => opts
|
|
595
|
+
build: (_tools, opts) => buildAgentCollaborationInstructions(opts)
|
|
580
596
|
},
|
|
581
597
|
{ id: "menuUsage", triggerTools: ["ask_user"], build: () => MENU_USAGE_INSTRUCTIONS },
|
|
582
598
|
{
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
isCompiledBinary,
|
|
7
7
|
resolveCliEntrypointPath
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-WACI5I6V.js";
|
|
9
9
|
import {
|
|
10
10
|
resolvePlatformAuthToken
|
|
11
11
|
} from "./chunk-PIG2IUVZ.js";
|
|
@@ -828,7 +828,7 @@ function scanActiveReservations(reservationsDir, deps) {
|
|
|
828
828
|
} catch {
|
|
829
829
|
}
|
|
830
830
|
const reused = expectedStart && actualStart && Number.isFinite(actualStart.getTime()) && actualStart.toISOString() !== expectedStart;
|
|
831
|
-
if (!alive || reused || record.status === "active" && ageMs >= startupWindowMs) {
|
|
831
|
+
if (!alive || reused || record.status === "active" && !!expectedStart && record.childIdentity !== "unverified" && ageMs >= startupWindowMs) {
|
|
832
832
|
updateReservationFile(filePath, fs, (r) => {
|
|
833
833
|
r.status = "reclaimed";
|
|
834
834
|
r.reclaimedAt = new Date(nowMs).toISOString();
|
|
@@ -909,14 +909,14 @@ function reserveHostMemory(deps) {
|
|
|
909
909
|
const validStart = !!params.processStartedAt && Number.isFinite(Date.parse(params.processStartedAt));
|
|
910
910
|
locked(() => updateReservationFile(recordPath, fs, (r) => {
|
|
911
911
|
if (r.status !== "reserved") throw new Error("Reservation is not reserved");
|
|
912
|
+
r.status = "active";
|
|
913
|
+
r.childIdentity = validStart ? "verified" : "unverified";
|
|
912
914
|
if (validStart) {
|
|
913
|
-
r.status = "active";
|
|
914
915
|
r.childStartedAt = params.processStartedAt;
|
|
915
916
|
}
|
|
916
917
|
if (params.runId) r.runId = params.runId;
|
|
917
918
|
if (typeof params.pid === "number") r.childPid = params.pid;
|
|
918
919
|
}));
|
|
919
|
-
if (!validStart) throw new Error("Child starttime unknown; reservation retained");
|
|
920
920
|
},
|
|
921
921
|
release(reason) {
|
|
922
922
|
locked(() => updateReservationFile(recordPath, fs, (r) => {
|
|
@@ -1472,6 +1472,17 @@ function writeRunRecord(record, deps = {}) {
|
|
|
1472
1472
|
}
|
|
1473
1473
|
fs.writeFileSync(path, payload);
|
|
1474
1474
|
}
|
|
1475
|
+
function reportRunProcessIdentity(runId, deps = {}) {
|
|
1476
|
+
const processStartedAt = new Date(Date.now() - process.uptime() * 1e3).toISOString();
|
|
1477
|
+
withRunRecordLock(runId, deps, () => {
|
|
1478
|
+
const record = readRunRecord(runId, deps);
|
|
1479
|
+
if (!record || record.pid !== void 0 && record.pid !== process.pid) return;
|
|
1480
|
+
record.pid = process.pid;
|
|
1481
|
+
record.processStartedAt = processStartedAt;
|
|
1482
|
+
record.processIdentity = "verified";
|
|
1483
|
+
writeRunRecord(record, deps);
|
|
1484
|
+
}, { strict: true });
|
|
1485
|
+
}
|
|
1475
1486
|
var FILE_EDIT_TOOL_NAMES = /* @__PURE__ */ new Set(["writeFile", "editFile"]);
|
|
1476
1487
|
var DEFAULT_ACTIVITY_WRITE_INTERVAL_MS = 2e3;
|
|
1477
1488
|
function createRunActivityTracker(runId, deps = {}, options = {}) {
|
|
@@ -1932,7 +1943,8 @@ async function spawnLocalBackgroundRun(input, deps = {}) {
|
|
|
1932
1943
|
fs: reservationFs,
|
|
1933
1944
|
now: resolvedDeps.now,
|
|
1934
1945
|
readHostMemory: () => hostMemory = (resolvedDeps.readHostMemory ?? readHostMemory)(),
|
|
1935
|
-
|
|
1946
|
+
// Admission remains conservative for existing reservations; no OS probes on startup.
|
|
1947
|
+
getProcessStartTime: () => null,
|
|
1936
1948
|
withLock: (id, fn, opts) => withRunRecordLock(id, resolvedDeps, fn, opts)
|
|
1937
1949
|
});
|
|
1938
1950
|
proc = spawn(execPath, childArgs, {
|
|
@@ -1966,24 +1978,17 @@ async function spawnLocalBackgroundRun(input, deps = {}) {
|
|
|
1966
1978
|
});
|
|
1967
1979
|
const hostMemoryNotice = emitHostMemoryNotice(hostMemory, input.output);
|
|
1968
1980
|
if (typeof proc.pid === "number") {
|
|
1969
|
-
let processStartedAt;
|
|
1970
|
-
try {
|
|
1971
|
-
processStartedAt = (resolvedDeps.getProcessStartTime ?? defaultGetProcessStartTime)(proc.pid);
|
|
1972
|
-
if (processStartedAt && !Number.isFinite(processStartedAt.getTime())) processStartedAt = null;
|
|
1973
|
-
} catch {
|
|
1974
|
-
processStartedAt = null;
|
|
1975
|
-
}
|
|
1976
1981
|
withRunRecordLock(runId, resolvedDeps, () => {
|
|
1977
1982
|
const latest = readRunRecord(runId, resolvedDeps) ?? record;
|
|
1978
1983
|
latest.pid = proc.pid;
|
|
1979
|
-
|
|
1984
|
+
latest.processIdentity ??= "unverified";
|
|
1980
1985
|
writeRunRecord(latest, resolvedDeps);
|
|
1981
1986
|
return true;
|
|
1982
1987
|
}, { strict: true });
|
|
1983
1988
|
try {
|
|
1984
1989
|
const persisted = readRunRecord(runId, resolvedDeps);
|
|
1985
|
-
reservation.associate({ runId, pid: proc.pid, processStartedAt: processStartedAt
|
|
1986
|
-
if (persisted?.pid !== proc.pid
|
|
1990
|
+
reservation.associate({ runId, pid: proc.pid, processStartedAt: persisted?.processStartedAt });
|
|
1991
|
+
if (persisted?.pid !== proc.pid) throw new Error("Child identity persistence failed: pid not bound");
|
|
1987
1992
|
} catch (error) {
|
|
1988
1993
|
throw new Error(`[host-memory-reservation] child ${proc.pid}, run ${runId}: association failed: ${error}`);
|
|
1989
1994
|
}
|
|
@@ -2187,9 +2192,29 @@ function isPidGone(pid, deps = {}) {
|
|
|
2187
2192
|
return error.code === "ESRCH";
|
|
2188
2193
|
}
|
|
2189
2194
|
}
|
|
2190
|
-
function defaultGetProcessStartTime(pid) {
|
|
2195
|
+
function defaultGetProcessStartTime(pid, deps = {}) {
|
|
2196
|
+
if (!Number.isSafeInteger(pid) || pid <= 0) return null;
|
|
2191
2197
|
try {
|
|
2192
|
-
const
|
|
2198
|
+
const execFileSync = deps.execFileSync ?? nodeExecFileSync;
|
|
2199
|
+
if ((deps.platform ?? process.platform) === "win32") {
|
|
2200
|
+
const systemRoot = (deps.env ?? process.env).SystemRoot;
|
|
2201
|
+
const shell = systemRoot ? join2(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe") : "powershell.exe";
|
|
2202
|
+
const output2 = execFileSync(shell, [
|
|
2203
|
+
"-NoProfile",
|
|
2204
|
+
"-NonInteractive",
|
|
2205
|
+
"-Command",
|
|
2206
|
+
`$ErrorActionPreference='Stop'; (Get-Process -Id ${pid} -ErrorAction Stop).StartTime.ToUniversalTime().ToString('o')`
|
|
2207
|
+
], {
|
|
2208
|
+
encoding: "utf8",
|
|
2209
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
2210
|
+
timeout: 5e3,
|
|
2211
|
+
windowsHide: true
|
|
2212
|
+
}).trim();
|
|
2213
|
+
if (!output2) return null;
|
|
2214
|
+
const date = new Date(output2);
|
|
2215
|
+
return Number.isFinite(date.getTime()) ? date : null;
|
|
2216
|
+
}
|
|
2217
|
+
const output = execFileSync("ps", ["-o", "lstart=", "-p", String(pid)], {
|
|
2193
2218
|
encoding: "utf8",
|
|
2194
2219
|
stdio: ["ignore", "pipe", "ignore"],
|
|
2195
2220
|
timeout: 1e3,
|
|
@@ -2210,6 +2235,14 @@ function defaultGetProcessStartTime(pid) {
|
|
|
2210
2235
|
}
|
|
2211
2236
|
var MAX_PROCESS_START_TIME_DIFF_MS = 3e4;
|
|
2212
2237
|
var MAX_PERSISTED_PROCESS_START_TIME_DIFF_MS = 2e3;
|
|
2238
|
+
function probeProcessStartTime(pid, deps) {
|
|
2239
|
+
try {
|
|
2240
|
+
const date = deps.getProcessStartTime ? deps.getProcessStartTime(pid) : defaultGetProcessStartTime(pid, deps);
|
|
2241
|
+
return date && Number.isFinite(date.getTime()) ? date : null;
|
|
2242
|
+
} catch {
|
|
2243
|
+
return null;
|
|
2244
|
+
}
|
|
2245
|
+
}
|
|
2213
2246
|
var ORPHAN_HEARTBEAT_GRACE_MS = 1e4;
|
|
2214
2247
|
function readTimestampMs(value) {
|
|
2215
2248
|
if (!value) return null;
|
|
@@ -2217,8 +2250,7 @@ function readTimestampMs(value) {
|
|
|
2217
2250
|
return Number.isNaN(ms) ? null : ms;
|
|
2218
2251
|
}
|
|
2219
2252
|
function isPidReused(pid, expectedStartedAt, deps = {}, maxDiffMs = MAX_PROCESS_START_TIME_DIFF_MS) {
|
|
2220
|
-
const
|
|
2221
|
-
const procStartTime = getStartTime(pid);
|
|
2253
|
+
const procStartTime = probeProcessStartTime(pid, deps);
|
|
2222
2254
|
if (!procStartTime) {
|
|
2223
2255
|
return false;
|
|
2224
2256
|
}
|
|
@@ -2235,7 +2267,7 @@ function checkStaleRun(runId, deps = {}) {
|
|
|
2235
2267
|
const pidGone = isPidGone(record.pid, deps);
|
|
2236
2268
|
const expectedStartedAt = record.processStartedAt ?? record.startedAt;
|
|
2237
2269
|
const maxStartTimeDiffMs = record.processStartedAt ? MAX_PERSISTED_PROCESS_START_TIME_DIFF_MS : MAX_PROCESS_START_TIME_DIFF_MS;
|
|
2238
|
-
const pidReused = !pidGone && isPidReused(record.pid, expectedStartedAt, deps, maxStartTimeDiffMs);
|
|
2270
|
+
const pidReused = !pidGone && record.processIdentity !== "unverified" && isPidReused(record.pid, expectedStartedAt, deps, maxStartTimeDiffMs);
|
|
2239
2271
|
if (!pidGone && !pidReused) return record;
|
|
2240
2272
|
const now = deps.now ?? (() => /* @__PURE__ */ new Date());
|
|
2241
2273
|
const heartbeatAt = readTimestampMs(record.activity?.updatedAt);
|
|
@@ -2603,8 +2635,30 @@ async function terminateRunProcess(record, initialSignal, deps) {
|
|
|
2603
2635
|
const sleep = deps.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
2604
2636
|
const nowMs = () => deps.now ? deps.now().getTime() : Date.now();
|
|
2605
2637
|
const signalGroup = (sig) => {
|
|
2638
|
+
const fail = (reason) => {
|
|
2639
|
+
throw new Error(`Run ${record.runId}, pid ${pid}, platform ${deps.platform ?? process.platform}: \u8EAB\u4EFD\u672A\u9A8C\u8BC1\uFF0C\u65E0\u6CD5\u5B89\u5168\u7EC8\u6B62 (${reason}). \u53EF\u5148\u786E\u8BA4\u8FDB\u7A0B\u72B6\u6001\u6216\u91CD\u542F\u8BE5 run\uFF1B\u786E\u8BA4\u8EAB\u4EFD\u540E\u91CD\u8BD5 stop/kill\u3002`);
|
|
2640
|
+
};
|
|
2641
|
+
const expectedMs = readTimestampMs(record.processStartedAt ?? record.startedAt);
|
|
2642
|
+
if (expectedMs === null) fail("no trusted process start baseline");
|
|
2643
|
+
const maxDiffMs = record.processStartedAt ? MAX_PERSISTED_PROCESS_START_TIME_DIFF_MS : MAX_PROCESS_START_TIME_DIFF_MS;
|
|
2644
|
+
const actual = probeProcessStartTime(pid, deps);
|
|
2645
|
+
if (!actual || Math.abs(actual.getTime() - expectedMs) > maxDiffMs) {
|
|
2646
|
+
fail("identity probe failed or PID start time mismatch");
|
|
2647
|
+
}
|
|
2648
|
+
const persisted = withRunRecordLock(record.runId, deps, () => {
|
|
2649
|
+
const latest = readRunRecord(record.runId, deps);
|
|
2650
|
+
if (latest) {
|
|
2651
|
+
if (latest.pid !== pid || latest.processStartedAt !== record.processStartedAt || latest.startedAt !== record.startedAt) {
|
|
2652
|
+
fail("record changed");
|
|
2653
|
+
}
|
|
2654
|
+
latest.processIdentity = "verified";
|
|
2655
|
+
writeRunRecord(latest, deps);
|
|
2656
|
+
}
|
|
2657
|
+
return true;
|
|
2658
|
+
}, { strict: true });
|
|
2659
|
+
if (persisted !== true) fail("identity persistence lock contended");
|
|
2606
2660
|
try {
|
|
2607
|
-
if (process.platform !== "win32") {
|
|
2661
|
+
if ((deps.platform ?? process.platform) !== "win32") {
|
|
2608
2662
|
kill(-pid, sig);
|
|
2609
2663
|
} else {
|
|
2610
2664
|
kill(pid, sig);
|
|
@@ -2648,7 +2702,7 @@ async function runSignalCommand(args, signal, verb, deps) {
|
|
|
2648
2702
|
`);
|
|
2649
2703
|
return 1;
|
|
2650
2704
|
}
|
|
2651
|
-
const reconciled = checkStaleRun(record.runId, deps) ?? record;
|
|
2705
|
+
const reconciled = record.status === "running" && typeof record.pid === "number" && isPidGone(record.pid, deps) ? checkStaleRun(record.runId, deps) ?? record : record;
|
|
2652
2706
|
if (isAgentRunTerminalStatus(reconciled.status)) {
|
|
2653
2707
|
deps.output.write(`Run ${reconciled.runId} is already ${reconciled.status}.
|
|
2654
2708
|
`);
|
|
@@ -2659,7 +2713,14 @@ async function runSignalCommand(args, signal, verb, deps) {
|
|
|
2659
2713
|
`);
|
|
2660
2714
|
return 1;
|
|
2661
2715
|
}
|
|
2662
|
-
|
|
2716
|
+
let confirmed;
|
|
2717
|
+
try {
|
|
2718
|
+
confirmed = await terminateRunProcess(reconciled, signal, deps);
|
|
2719
|
+
} catch (error) {
|
|
2720
|
+
deps.output.write(`${error instanceof Error ? error.message : String(error)}
|
|
2721
|
+
`);
|
|
2722
|
+
return 1;
|
|
2723
|
+
}
|
|
2663
2724
|
if (!confirmed) {
|
|
2664
2725
|
deps.output.write(
|
|
2665
2726
|
`Failed to ${verb} ${record.runId} (pid ${record.pid}): process still alive after SIGKILL.
|
|
@@ -2725,6 +2786,7 @@ export {
|
|
|
2725
2786
|
defaultGenerateBatchId,
|
|
2726
2787
|
withRunRecordLock,
|
|
2727
2788
|
writeRunRecord,
|
|
2789
|
+
reportRunProcessIdentity,
|
|
2728
2790
|
createRunActivityTracker,
|
|
2729
2791
|
readRunRecord,
|
|
2730
2792
|
backfillRunRecordParentDialog,
|
|
@@ -130,7 +130,7 @@ function resolveCliEntrypointPath(fromModuleUrl = import.meta.url) {
|
|
|
130
130
|
}
|
|
131
131
|
const sourcePath = fileURLToPath(fromModuleUrl);
|
|
132
132
|
const ext = extname(sourcePath) || ".ts";
|
|
133
|
-
return join(dirname(sourcePath),
|
|
133
|
+
return join(dirname(sourcePath), `index${ext}`);
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
export {
|
|
@@ -64,7 +64,7 @@ import {
|
|
|
64
64
|
import {
|
|
65
65
|
inlineImageUrlsForCustomProvider,
|
|
66
66
|
prepareTools
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-2AZSL4GL.js";
|
|
68
68
|
import {
|
|
69
69
|
getServerProviderSecret
|
|
70
70
|
} from "./chunk-HS7MLR74.js";
|
|
@@ -86,7 +86,7 @@ import {
|
|
|
86
86
|
resolveCliLocalRuntimeKeyCapability,
|
|
87
87
|
resolveCliLocalSpawnDispatch,
|
|
88
88
|
resolveStartAgentRunCwd
|
|
89
|
-
} from "./chunk-
|
|
89
|
+
} from "./chunk-QW6SSF7V.js";
|
|
90
90
|
import {
|
|
91
91
|
deriveCredentialGroup,
|
|
92
92
|
deriveCustomProviderCredentialGroup
|
|
@@ -97,7 +97,7 @@ import {
|
|
|
97
97
|
} from "./chunk-KFHREHUQ.js";
|
|
98
98
|
import {
|
|
99
99
|
resolveAgentRequiredPackIds
|
|
100
|
-
} from "./chunk-
|
|
100
|
+
} from "./chunk-WLPUUBFR.js";
|
|
101
101
|
import {
|
|
102
102
|
applyBuiltinAgentRuntimeOverride,
|
|
103
103
|
applyTokenUsageToDayStats,
|
|
@@ -106,14 +106,14 @@ import {
|
|
|
106
106
|
resolveBuiltinPlatformAgentConfig,
|
|
107
107
|
runKeyed,
|
|
108
108
|
validateAskChoiceInput
|
|
109
|
-
} from "./chunk-
|
|
109
|
+
} from "./chunk-CMRP4XHV.js";
|
|
110
110
|
import {
|
|
111
111
|
BUILTIN_DIALOG_LLM_CHAT_FALLBACK_MODEL,
|
|
112
112
|
BUILTIN_TITLE_LLM_CONFIG
|
|
113
113
|
} from "./chunk-523DITKR.js";
|
|
114
114
|
import {
|
|
115
115
|
fetchServerSyncedCredential
|
|
116
|
-
} from "./chunk-
|
|
116
|
+
} from "./chunk-XLBQQ5SB.js";
|
|
117
117
|
import {
|
|
118
118
|
isTombstoneRecord
|
|
119
119
|
} from "./chunk-D2MDMY2M.js";
|
|
@@ -170,7 +170,7 @@ import {
|
|
|
170
170
|
runExecShellGates,
|
|
171
171
|
validateConfiguredRootExecutionLease,
|
|
172
172
|
verifyOwnerRouteAck
|
|
173
|
-
} from "./chunk-
|
|
173
|
+
} from "./chunk-2DXGW4UO.js";
|
|
174
174
|
import {
|
|
175
175
|
accumulateGeminiChunks,
|
|
176
176
|
buildGeminiGenerateContentRequest,
|
|
@@ -303,7 +303,7 @@ import {
|
|
|
303
303
|
terminateRunProcess,
|
|
304
304
|
transitionRunToTerminal,
|
|
305
305
|
withQueueLock
|
|
306
|
-
} from "./chunk-
|
|
306
|
+
} from "./chunk-URW5UM6Y.js";
|
|
307
307
|
import {
|
|
308
308
|
TASK_PREVIEW_MAX,
|
|
309
309
|
formatListRunsCard,
|
|
@@ -331,7 +331,7 @@ import {
|
|
|
331
331
|
parseUserIdFromAuthToken,
|
|
332
332
|
resolveAuthToken,
|
|
333
333
|
resolveServerUrl
|
|
334
|
-
} from "./chunk-
|
|
334
|
+
} from "./chunk-WACI5I6V.js";
|
|
335
335
|
import {
|
|
336
336
|
DEFAULT_NOLO_SERVER_URL
|
|
337
337
|
} from "./chunk-OLZBQWZU.js";
|
|
@@ -12169,7 +12169,7 @@ function createCliLocalRuntimeAdapter(deps) {
|
|
|
12169
12169
|
const recordRunExecutionIsolation = async () => {
|
|
12170
12170
|
try {
|
|
12171
12171
|
const { writeFileSync: writeFileSync4, mkdirSync: mkdirSync4 } = await import("node:fs");
|
|
12172
|
-
const { resolveRunsDir: resolveRunsDir2 } = await import("./agentRunControl-
|
|
12172
|
+
const { resolveRunsDir: resolveRunsDir2 } = await import("./agentRunControl-EI3BGJFM.js");
|
|
12173
12173
|
const fact = resolveLocalRunExecutionIsolationFact({
|
|
12174
12174
|
// F1:显式点名宿主执行的 run 在审计里必须与 docker 沙盒区分开
|
|
12175
12175
|
// (reason: host-explicit-writes vs docker-workload)。
|
|
@@ -12201,7 +12201,7 @@ function createCliLocalRuntimeAdapter(deps) {
|
|
|
12201
12201
|
dockerWorkloadReleased = true;
|
|
12202
12202
|
dockerWorkloadLoad = null;
|
|
12203
12203
|
if (loaded) {
|
|
12204
|
-
const { resolveRunsDir: resolveRunsDir2 } = await import("./agentRunControl-
|
|
12204
|
+
const { resolveRunsDir: resolveRunsDir2 } = await import("./agentRunControl-EI3BGJFM.js");
|
|
12205
12205
|
const exportRunDiff = deps.exportDockerRunDiffArtifact ?? exportDockerRunDiffArtifact;
|
|
12206
12206
|
const warn = (message) => process.stderr.write(`[nolo] ${message}
|
|
12207
12207
|
`);
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
} from "./chunk-VYNMQ6HW.js";
|
|
9
9
|
import {
|
|
10
10
|
fetchAndCacheTableRows
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-URO44BCD.js";
|
|
12
12
|
import {
|
|
13
13
|
require_react
|
|
14
14
|
} from "./chunk-YDH3FDFQ.js";
|
|
@@ -521,7 +521,7 @@ var executeToolRun = createAsyncThunk(
|
|
|
521
521
|
if (!executionInput) {
|
|
522
522
|
throw new Error(`ToolRun ${id} has no input to execute with.`);
|
|
523
523
|
}
|
|
524
|
-
const { findToolExecutor } = await import("./tools-
|
|
524
|
+
const { findToolExecutor } = await import("./tools-FMNDEVTZ.js");
|
|
525
525
|
const { executor } = findToolExecutor(run.toolName);
|
|
526
526
|
toolRunStarted({
|
|
527
527
|
id: run.id,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
refreshSubscriptionQuotas
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YGILMZ7N.js";
|
|
4
4
|
import {
|
|
5
5
|
getReadableCliDb
|
|
6
6
|
} from "./chunk-62TBKWTV.js";
|
|
7
7
|
import {
|
|
8
8
|
clearCliLocalRuntimePreparedAgentCache
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-WC7UXON2.js";
|
|
10
10
|
import {
|
|
11
11
|
readCredentialAvailability
|
|
12
12
|
} from "./chunk-R4BMKAR5.js";
|
|
@@ -19,14 +19,14 @@ import {
|
|
|
19
19
|
resolveAgentRecordFromHybridStore,
|
|
20
20
|
sanitizeAgentRecordForCliOutput,
|
|
21
21
|
writeAgentRecord
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-KJETBEEN.js";
|
|
23
23
|
import {
|
|
24
24
|
resolveCliAgentKeyInput
|
|
25
25
|
} from "./chunk-NBTY7YJF.js";
|
|
26
26
|
import {
|
|
27
27
|
parseUserIdFromAuthToken,
|
|
28
28
|
resolveAuthToken
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-WACI5I6V.js";
|
|
30
30
|
import {
|
|
31
31
|
toErrorMessage
|
|
32
32
|
} from "./chunk-HNMXYYJR.js";
|
|
@@ -244,7 +244,7 @@ async function runAgentCreateCommand(args, deps = {}) {
|
|
|
244
244
|
let verifyResult;
|
|
245
245
|
if (parsed.verify) {
|
|
246
246
|
try {
|
|
247
|
-
const { verifyCustomProvider } = await import("./agentProviderCommands-
|
|
247
|
+
const { verifyCustomProvider } = await import("./agentProviderCommands-4USYTCL3.js");
|
|
248
248
|
const rec = built.nextRecord;
|
|
249
249
|
verifyResult = await verifyCustomProvider({
|
|
250
250
|
providerUrl: rec.customProviderUrl,
|