nolo-cli 0.34.0-alpha.1 → 0.34.0-alpha.3
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-BUYCXZCQ.js → _executeModel-TMUXL7J5.js} +13 -14
- package/{agentDeleteCommand-WSS2IJVM.js → agentDeleteCommand-KA2IQAPG.js} +2 -2
- package/{agentEmailCommands-SHTPJTSX.js → agentEmailCommands-UIYBGCZW.js} +14 -15
- package/{agentListCommands-GV6UYVAF.js → agentListCommands-L6JNUOLH.js} +2 -2
- package/{agentMachineCommands-FLD7TAFH.js → agentMachineCommands-5CQW5NZR.js} +3 -3
- package/{agentRecordCommands-57W6R7QW.js → agentRecordCommands-VUDJQIZH.js} +14 -15
- package/{agentRunCommand-HJGXSMDN.js → agentRunCommand-EJWYF3BL.js} +16 -17
- package/{agentRunControl-GXOB47YI.js → agentRunControl-7MUPSYDQ.js} +3 -1
- package/{agentRuntimeLocal-G7ZV55I6.js → agentRuntimeLocal-XXBMDMBU.js} +2 -2
- package/{agentSlice-HFR7SP3B.js → agentSlice-HTIEYKIU.js} +1 -1
- package/{agentSuperviseCommands-Q64S5SPG.js → agentSuperviseCommands-MKWW3ICX.js} +3 -3
- package/{appDeleteCommands-SHHE56Y2.js → appDeleteCommands-OUBL6VHB.js} +2 -2
- package/{appDeployCommands-WUMSO2VS.js → appDeployCommands-BZSS2MX4.js} +2 -2
- package/{appDeployStatusCommands-VZSVN6SR.js → appDeployStatusCommands-P2ZQOY5X.js} +2 -2
- package/{appGetCommands-ZJ2C3A5Y.js → appGetCommands-WCFWQZZM.js} +2 -2
- package/{appListCommands-W33L6U5X.js → appListCommands-FVJ3QNL7.js} +2 -2
- package/{chatQueueReduxAdapter-SYIX4ODY.js → chatQueueReduxAdapter-ZP2ZS63U.js} +2 -2
- package/chunk-2BWU4ORW.js +2574 -0
- package/{chunk-6KYCG5GW.js → chunk-5GQ6XCJY.js} +11 -11
- package/{chunk-74IQ5RRO.js → chunk-5LDKQUOT.js} +1 -1
- package/{chunk-6XIE5ZGI.js → chunk-6HIGYUBQ.js} +1 -1
- package/{chunk-MI2J67UU.js → chunk-AA2YUJNV.js} +12 -1
- package/{chunk-KCBK4MDT.js → chunk-AE5GVFMG.js} +4 -4
- package/{chunk-VSA6QAGV.js → chunk-E2OQ5N2F.js} +40 -10
- package/{chunk-KHCLMKZZ.js → chunk-EY7V7REW.js} +280 -6
- package/{chunk-3XZUNRYF.js → chunk-FT4XBCK4.js} +7 -7
- package/{chunk-LQ6PUHW6.js → chunk-I7VDDN45.js} +26 -67
- package/{chunk-7YDKVLAE.js → chunk-IEEEWIVO.js} +3 -3
- package/{chunk-VBD7W4Q6.js → chunk-ILZY5B4U.js} +16 -12
- package/{chunk-4HOXB6SY.js → chunk-IMHO5LC6.js} +100 -27
- package/{chunk-2KO5QQFV.js → chunk-P2I7ELDC.js} +1 -1
- package/{chunk-DX6BP4K7.js → chunk-PILJX4DH.js} +8 -8
- package/{chunk-LAUUAYLK.js → chunk-QI3CHZUT.js} +2 -2
- package/{chunk-YRP7LG4R.js → chunk-RKRXAL3V.js} +7 -16
- package/{chunk-AUH2LTIY.js → chunk-TLBZMLLJ.js} +3 -3
- package/{chunk-3LWZNEGQ.js → chunk-WBZE7C6S.js} +1 -1
- package/{chunk-HDT2RB7T.js → chunk-XMFDQYWA.js} +1 -1
- package/{chunk-FDKEDU7R.js → chunk-Y5W623XU.js} +3 -3
- package/{chunk-VD2SO4RG.js → chunk-Z7COG62J.js} +2 -2
- package/{codingSkills-H6N5EKSX.js → codingSkills-6F4EQFCM.js} +2 -3
- package/{createAgentAutomationAction-BH3D2L2H.js → createAgentAutomationAction-TGUXUZCY.js} +3 -3
- package/{createDialogAction-U4LDV2RW.js → createDialogAction-FD5AEOUF.js} +5 -6
- package/{createPageAction-Q2ANG535.js → createPageAction-NPC3LYNK.js} +4 -5
- package/{dialogCommands-C556D6WD.js → dialogCommands-ZF2RSNCG.js} +2 -2
- package/{dialogSlice-P2VSKG2X.js → dialogSlice-6BINHWQT.js} +2 -2
- package/{docCreateCommands-AAVGLQWE.js → docCreateCommands-4VQ5MOHP.js} +4 -5
- package/{docDeleteCommands-PKMKSQD2.js → docDeleteCommands-M7WLNVPB.js} +4 -5
- package/{docReadCommands-2WUH7UXC.js → docReadCommands-6LU6P2WT.js} +4 -5
- package/{docStore-J5UWRBB4.js → docStore-SIUFLABN.js} +4 -4
- package/{docUpdateCommands-B2N4E5HQ.js → docUpdateCommands-S2LX4ENL.js} +4 -5
- package/{handleSendMessageAction-RRZ53YYH.js → handleSendMessageAction-QVG5YNZY.js} +2 -2
- package/index.js +46 -46
- package/{machineCommands-CWKMJG33.js → machineCommands-OSEBN7BZ.js} +14 -15
- package/{machineWsRunDispatch-UYNVNX4A.js → machineWsRunDispatch-NTJQCIIF.js} +14 -15
- package/package.json +1 -1
- package/{readlineWorkspace-VYELP22P.js → readlineWorkspace-JPME5S7A.js} +130 -82
- package/{runAgentClientLoop-35GKZDOZ.js → runAgentClientLoop-SOKEXCUF.js} +10 -11
- package/{skillDiscovery-COX56OBO.js → skillDiscovery-GPUDHDTZ.js} +1 -2
- package/{spaceCommands-AAKQM2PM.js → spaceCommands-Z5JLMFFJ.js} +2 -2
- package/{spaceSlice-NSNGR4Y2.js → spaceSlice-Z3BGCLGX.js} +3 -3
- package/{streamAgentChatTurn-D5IDHXMV.js → streamAgentChatTurn-INF5RGK4.js} +12 -13
- package/{tools-JQOETZP5.js → tools-ZELMSJZ3.js} +8 -9
- package/{updateDialogTitleAction-WOTSDSFQ.js → updateDialogTitleAction-EDUCIB7G.js} +3 -3
- package/chunk-AETZ7AD6.js +0 -274
- package/chunk-OFZPJ3NT.js +0 -114
|
@@ -2,29 +2,29 @@ import {
|
|
|
2
2
|
buildMachinePermissionPromptBlock,
|
|
3
3
|
handleConnectorRunMessage,
|
|
4
4
|
resolveMachineRunPermissionPolicy
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-IEEEWIVO.js";
|
|
6
6
|
import {
|
|
7
7
|
isConnectorWebSocketAuthError,
|
|
8
8
|
isConnectorWebSocketRetryableError,
|
|
9
9
|
resolveConnectorWebSocketTarget
|
|
10
10
|
} from "./chunk-MQRZ5QUH.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-RKRXAL3V.js";
|
|
12
12
|
import "./chunk-IZNJDUJ4.js";
|
|
13
13
|
import "./chunk-6XG52ZQ6.js";
|
|
14
14
|
import "./chunk-J5NMOM35.js";
|
|
15
15
|
import "./chunk-EKLRRZIN.js";
|
|
16
16
|
import "./chunk-JDSUTNYY.js";
|
|
17
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-E2OQ5N2F.js";
|
|
18
18
|
import {
|
|
19
19
|
detectMachineInfo
|
|
20
20
|
} from "./chunk-ESHYE7WU.js";
|
|
21
21
|
import "./chunk-JBTJAPUF.js";
|
|
22
22
|
import "./chunk-JI2TIPLP.js";
|
|
23
23
|
import "./chunk-ATNTHIZI.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-XMFDQYWA.js";
|
|
25
25
|
import "./chunk-HS7MLR74.js";
|
|
26
26
|
import "./chunk-PV734VZX.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-5GQ6XCJY.js";
|
|
28
28
|
import {
|
|
29
29
|
CORE_DRAIN_REASON
|
|
30
30
|
} from "./chunk-RQSOAMPJ.js";
|
|
@@ -32,37 +32,36 @@ import "./chunk-GUYMR3JL.js";
|
|
|
32
32
|
import "./chunk-KQHGZWSV.js";
|
|
33
33
|
import "./chunk-IFS5CUEH.js";
|
|
34
34
|
import "./chunk-KXKQO4Q6.js";
|
|
35
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-Z7COG62J.js";
|
|
36
36
|
import "./chunk-BANYWEYY.js";
|
|
37
37
|
import "./chunk-U6QQLXWI.js";
|
|
38
38
|
import "./chunk-INZZJSQF.js";
|
|
39
39
|
import "./chunk-MEYIRKDN.js";
|
|
40
40
|
import "./chunk-63W5N6P3.js";
|
|
41
41
|
import "./chunk-VF4K2QE6.js";
|
|
42
|
-
import "./chunk-
|
|
43
|
-
import "./chunk-
|
|
44
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-Y5W623XU.js";
|
|
43
|
+
import "./chunk-QI3CHZUT.js";
|
|
44
|
+
import "./chunk-PILJX4DH.js";
|
|
45
45
|
import "./chunk-RCFIB45Q.js";
|
|
46
46
|
import "./chunk-JIADXJYU.js";
|
|
47
47
|
import "./chunk-YYLHWIW6.js";
|
|
48
48
|
import "./chunk-AGGIDPCZ.js";
|
|
49
|
-
import "./chunk-
|
|
49
|
+
import "./chunk-TLBZMLLJ.js";
|
|
50
50
|
import "./chunk-MGIHZ5CJ.js";
|
|
51
51
|
import "./chunk-5RGU3J7P.js";
|
|
52
52
|
import "./chunk-M76ECQRD.js";
|
|
53
53
|
import "./chunk-MRWGHF56.js";
|
|
54
54
|
import "./chunk-N4XRDM26.js";
|
|
55
55
|
import "./chunk-LM6IYQ3F.js";
|
|
56
|
-
import "./chunk-
|
|
56
|
+
import "./chunk-P2I7ELDC.js";
|
|
57
57
|
import "./chunk-IIOHYLIG.js";
|
|
58
|
-
import "./chunk-
|
|
59
|
-
import "./chunk-
|
|
60
|
-
import "./chunk-LQ6PUHW6.js";
|
|
58
|
+
import "./chunk-EY7V7REW.js";
|
|
59
|
+
import "./chunk-I7VDDN45.js";
|
|
61
60
|
import "./chunk-OSCSEJJR.js";
|
|
62
61
|
import "./chunk-ZNFJWEN4.js";
|
|
63
62
|
import "./chunk-64KIQZA2.js";
|
|
64
63
|
import "./chunk-T27IEBNQ.js";
|
|
65
|
-
import "./chunk-
|
|
64
|
+
import "./chunk-AA2YUJNV.js";
|
|
66
65
|
import "./chunk-N7J63Q6C.js";
|
|
67
66
|
import "./chunk-M3JQWYBC.js";
|
|
68
67
|
import "./chunk-BMB563Y6.js";
|
|
@@ -11,57 +11,56 @@ import {
|
|
|
11
11
|
runtimeWorkspacePermissionPolicy,
|
|
12
12
|
scopePermissionPolicyToRuntimeWorkspace,
|
|
13
13
|
summarizeAgentConfigForLogs
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-IEEEWIVO.js";
|
|
15
|
+
import "./chunk-RKRXAL3V.js";
|
|
16
16
|
import "./chunk-IZNJDUJ4.js";
|
|
17
17
|
import "./chunk-6XG52ZQ6.js";
|
|
18
18
|
import "./chunk-J5NMOM35.js";
|
|
19
19
|
import "./chunk-EKLRRZIN.js";
|
|
20
20
|
import "./chunk-JDSUTNYY.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-E2OQ5N2F.js";
|
|
22
22
|
import "./chunk-JBTJAPUF.js";
|
|
23
23
|
import "./chunk-JI2TIPLP.js";
|
|
24
24
|
import "./chunk-ATNTHIZI.js";
|
|
25
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-XMFDQYWA.js";
|
|
26
26
|
import "./chunk-HS7MLR74.js";
|
|
27
27
|
import "./chunk-PV734VZX.js";
|
|
28
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-5GQ6XCJY.js";
|
|
29
29
|
import "./chunk-RQSOAMPJ.js";
|
|
30
30
|
import "./chunk-GUYMR3JL.js";
|
|
31
31
|
import "./chunk-KQHGZWSV.js";
|
|
32
32
|
import "./chunk-IFS5CUEH.js";
|
|
33
33
|
import "./chunk-KXKQO4Q6.js";
|
|
34
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-Z7COG62J.js";
|
|
35
35
|
import "./chunk-BANYWEYY.js";
|
|
36
36
|
import "./chunk-U6QQLXWI.js";
|
|
37
37
|
import "./chunk-INZZJSQF.js";
|
|
38
38
|
import "./chunk-MEYIRKDN.js";
|
|
39
39
|
import "./chunk-63W5N6P3.js";
|
|
40
40
|
import "./chunk-VF4K2QE6.js";
|
|
41
|
-
import "./chunk-
|
|
42
|
-
import "./chunk-
|
|
43
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-Y5W623XU.js";
|
|
42
|
+
import "./chunk-QI3CHZUT.js";
|
|
43
|
+
import "./chunk-PILJX4DH.js";
|
|
44
44
|
import "./chunk-RCFIB45Q.js";
|
|
45
45
|
import "./chunk-JIADXJYU.js";
|
|
46
46
|
import "./chunk-YYLHWIW6.js";
|
|
47
47
|
import "./chunk-AGGIDPCZ.js";
|
|
48
|
-
import "./chunk-
|
|
48
|
+
import "./chunk-TLBZMLLJ.js";
|
|
49
49
|
import "./chunk-MGIHZ5CJ.js";
|
|
50
50
|
import "./chunk-5RGU3J7P.js";
|
|
51
51
|
import "./chunk-M76ECQRD.js";
|
|
52
52
|
import "./chunk-MRWGHF56.js";
|
|
53
53
|
import "./chunk-N4XRDM26.js";
|
|
54
54
|
import "./chunk-LM6IYQ3F.js";
|
|
55
|
-
import "./chunk-
|
|
55
|
+
import "./chunk-P2I7ELDC.js";
|
|
56
56
|
import "./chunk-IIOHYLIG.js";
|
|
57
|
-
import "./chunk-
|
|
58
|
-
import "./chunk-
|
|
59
|
-
import "./chunk-LQ6PUHW6.js";
|
|
57
|
+
import "./chunk-EY7V7REW.js";
|
|
58
|
+
import "./chunk-I7VDDN45.js";
|
|
60
59
|
import "./chunk-OSCSEJJR.js";
|
|
61
60
|
import "./chunk-ZNFJWEN4.js";
|
|
62
61
|
import "./chunk-64KIQZA2.js";
|
|
63
62
|
import "./chunk-T27IEBNQ.js";
|
|
64
|
-
import "./chunk-
|
|
63
|
+
import "./chunk-AA2YUJNV.js";
|
|
65
64
|
import "./chunk-N7J63Q6C.js";
|
|
66
65
|
import "./chunk-M3JQWYBC.js";
|
|
67
66
|
import "./chunk-BMB563Y6.js";
|
package/package.json
CHANGED
|
@@ -76,8 +76,8 @@ import {
|
|
|
76
76
|
wrapTextToLines,
|
|
77
77
|
wrapTranscriptLine,
|
|
78
78
|
wrapTranscriptLineWithLayout
|
|
79
|
-
} from "./chunk-
|
|
80
|
-
import "./chunk-
|
|
79
|
+
} from "./chunk-ILZY5B4U.js";
|
|
80
|
+
import "./chunk-IMHO5LC6.js";
|
|
81
81
|
import "./chunk-4AWH4LQA.js";
|
|
82
82
|
import {
|
|
83
83
|
createCliLocalRuntimeAdapter,
|
|
@@ -86,7 +86,7 @@ import {
|
|
|
86
86
|
readTimestamp,
|
|
87
87
|
setCliLocale,
|
|
88
88
|
t
|
|
89
|
-
} from "./chunk-
|
|
89
|
+
} from "./chunk-RKRXAL3V.js";
|
|
90
90
|
import "./chunk-IZNJDUJ4.js";
|
|
91
91
|
import "./chunk-6XG52ZQ6.js";
|
|
92
92
|
import {
|
|
@@ -107,7 +107,7 @@ import {
|
|
|
107
107
|
checkStaleRun,
|
|
108
108
|
isRunRecordClaimed,
|
|
109
109
|
readRunRecord
|
|
110
|
-
} from "./chunk-
|
|
110
|
+
} from "./chunk-E2OQ5N2F.js";
|
|
111
111
|
import "./chunk-ESHYE7WU.js";
|
|
112
112
|
import "./chunk-JBTJAPUF.js";
|
|
113
113
|
import "./chunk-LTRXGFMS.js";
|
|
@@ -116,10 +116,10 @@ import "./chunk-ATNTHIZI.js";
|
|
|
116
116
|
import "./chunk-JEXVIMYZ.js";
|
|
117
117
|
import {
|
|
118
118
|
prepareTools
|
|
119
|
-
} from "./chunk-
|
|
119
|
+
} from "./chunk-XMFDQYWA.js";
|
|
120
120
|
import "./chunk-HS7MLR74.js";
|
|
121
121
|
import "./chunk-PV734VZX.js";
|
|
122
|
-
import "./chunk-
|
|
122
|
+
import "./chunk-5GQ6XCJY.js";
|
|
123
123
|
import "./chunk-RQSOAMPJ.js";
|
|
124
124
|
import "./chunk-GUYMR3JL.js";
|
|
125
125
|
import "./chunk-KQHGZWSV.js";
|
|
@@ -135,7 +135,7 @@ import {
|
|
|
135
135
|
runShowsLogTail,
|
|
136
136
|
shortRunId
|
|
137
137
|
} from "./chunk-KXKQO4Q6.js";
|
|
138
|
-
import "./chunk-
|
|
138
|
+
import "./chunk-Z7COG62J.js";
|
|
139
139
|
import "./chunk-BANYWEYY.js";
|
|
140
140
|
import "./chunk-U6QQLXWI.js";
|
|
141
141
|
import "./chunk-INZZJSQF.js";
|
|
@@ -147,16 +147,16 @@ import {
|
|
|
147
147
|
createTurnRequest,
|
|
148
148
|
normalizeRunCompletionShape
|
|
149
149
|
} from "./chunk-YPREESF4.js";
|
|
150
|
-
import "./chunk-
|
|
151
|
-
import "./chunk-
|
|
150
|
+
import "./chunk-Y5W623XU.js";
|
|
151
|
+
import "./chunk-QI3CHZUT.js";
|
|
152
152
|
import {
|
|
153
153
|
extractReferenceKeysFromMessage
|
|
154
|
-
} from "./chunk-
|
|
154
|
+
} from "./chunk-PILJX4DH.js";
|
|
155
155
|
import "./chunk-RCFIB45Q.js";
|
|
156
156
|
import "./chunk-JIADXJYU.js";
|
|
157
157
|
import "./chunk-YYLHWIW6.js";
|
|
158
158
|
import "./chunk-AGGIDPCZ.js";
|
|
159
|
-
import "./chunk-
|
|
159
|
+
import "./chunk-TLBZMLLJ.js";
|
|
160
160
|
import "./chunk-MGIHZ5CJ.js";
|
|
161
161
|
import "./chunk-5RGU3J7P.js";
|
|
162
162
|
import "./chunk-M76ECQRD.js";
|
|
@@ -167,24 +167,23 @@ import "./chunk-LM6IYQ3F.js";
|
|
|
167
167
|
import {
|
|
168
168
|
buildSkillDiscoveryContextBlock,
|
|
169
169
|
buildSkillDiscoveryContextLayer
|
|
170
|
-
} from "./chunk-
|
|
171
|
-
import "./chunk-
|
|
170
|
+
} from "./chunk-2BWU4ORW.js";
|
|
171
|
+
import "./chunk-P2I7ELDC.js";
|
|
172
172
|
import {
|
|
173
173
|
expandEnabledPacks
|
|
174
174
|
} from "./chunk-IIOHYLIG.js";
|
|
175
|
-
import "./chunk-
|
|
176
|
-
import "./chunk-KHCLMKZZ.js";
|
|
175
|
+
import "./chunk-EY7V7REW.js";
|
|
177
176
|
import {
|
|
178
177
|
buildLocalWorkspaceOpenAiTools,
|
|
179
178
|
buildLocalWorkspaceToolset,
|
|
180
179
|
getProcessRegistry,
|
|
181
180
|
readCommandActionGatePayload
|
|
182
|
-
} from "./chunk-
|
|
181
|
+
} from "./chunk-I7VDDN45.js";
|
|
183
182
|
import "./chunk-OSCSEJJR.js";
|
|
184
183
|
import "./chunk-ZNFJWEN4.js";
|
|
185
184
|
import "./chunk-64KIQZA2.js";
|
|
186
185
|
import "./chunk-T27IEBNQ.js";
|
|
187
|
-
import "./chunk-
|
|
186
|
+
import "./chunk-AA2YUJNV.js";
|
|
188
187
|
import "./chunk-N7J63Q6C.js";
|
|
189
188
|
import {
|
|
190
189
|
buildCurrentTimeBlock,
|
|
@@ -3252,72 +3251,92 @@ function createRunRegistryPoller(deps) {
|
|
|
3252
3251
|
|
|
3253
3252
|
// packages/cli/tui/runCompletionWatcher.ts
|
|
3254
3253
|
var WAKE_NOTE_MAX_CHARS = 300;
|
|
3255
|
-
function
|
|
3256
|
-
|
|
3257
|
-
const createdAt = now();
|
|
3258
|
-
const lastStatusByRunId = /* @__PURE__ */ new Map();
|
|
3259
|
-
const notifiedRunIds = /* @__PURE__ */ new Set();
|
|
3260
|
-
const runDuration = (record) => formatRunAge(
|
|
3254
|
+
function runDuration(record, nowMs = Date.now()) {
|
|
3255
|
+
return formatRunAge(
|
|
3261
3256
|
{
|
|
3262
3257
|
startedAt: readTimestamp(record.startedAt),
|
|
3263
3258
|
finishedAt: readTimestamp(record.endedAt ?? record.finishedAt)
|
|
3264
3259
|
},
|
|
3265
|
-
|
|
3260
|
+
nowMs
|
|
3266
3261
|
) ?? "";
|
|
3267
|
-
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3276
|
-
|
|
3277
|
-
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
}
|
|
3296
|
-
return lines;
|
|
3297
|
-
};
|
|
3298
|
-
const buildWakeMessage = (finished) => {
|
|
3299
|
-
const lines = [
|
|
3300
|
-
`\u3010\u540E\u53F0 run \u7EC8\u6001\u901A\u77E5\u3011\u4F60\u6D3E\u51FA\u7684 ${finished.length} \u6761\u540E\u53F0 run \u5DF2\u5230\u8FBE\u7EC8\u6001\uFF1A`
|
|
3301
|
-
];
|
|
3302
|
-
for (const record of finished) {
|
|
3303
|
-
lines.push("", ...describeRun(record));
|
|
3304
|
-
}
|
|
3262
|
+
}
|
|
3263
|
+
function isFailureStatus(status) {
|
|
3264
|
+
return typeof status === "string" && status !== "done";
|
|
3265
|
+
}
|
|
3266
|
+
function describeRun(record, nowMs = Date.now()) {
|
|
3267
|
+
const lines = [
|
|
3268
|
+
`runId: ${record.runId}`,
|
|
3269
|
+
`agent: ${resolveRunLabel(record)}`,
|
|
3270
|
+
`status: ${record.status}`
|
|
3271
|
+
];
|
|
3272
|
+
const verbose = isFailureStatus(record.status);
|
|
3273
|
+
if (verbose && typeof record.exitCode === "number") {
|
|
3274
|
+
lines.push(`exitCode: ${record.exitCode}`);
|
|
3275
|
+
}
|
|
3276
|
+
if (record.dialogId) {
|
|
3277
|
+
lines.push(`childDialogId: ${record.dialogId}`);
|
|
3278
|
+
} else if (record.ephemeral) {
|
|
3279
|
+
lines.push(`ephemeral: true (no persisted child dialog)`);
|
|
3280
|
+
} else {
|
|
3281
|
+
lines.push(`childDialogId: missing (result unpersisted or ephemeral)`);
|
|
3282
|
+
}
|
|
3283
|
+
const duration = runDuration(record, nowMs);
|
|
3284
|
+
if (duration) lines.push(`duration: ${duration}`);
|
|
3285
|
+
const recordError = "error" in record && typeof record.error === "string" ? record.error : void 0;
|
|
3286
|
+
const note = typeof record.note === "string" ? clipText(record.note, WAKE_NOTE_MAX_CHARS) : typeof recordError === "string" ? clipText(recordError, WAKE_NOTE_MAX_CHARS) : "";
|
|
3287
|
+
if (note) lines.push(`note: ${note}`);
|
|
3288
|
+
const counters = verbose ? record.activity?.counters : void 0;
|
|
3289
|
+
if (counters && typeof counters.toolCalls === "number" && typeof counters.llmCalls === "number" && typeof counters.fileEdits === "number") {
|
|
3305
3290
|
lines.push(
|
|
3306
|
-
|
|
3307
|
-
'\u4EE5\u4E0A\u662F\u4F60\u901A\u8FC7 startAgentRun \u6D3E\u51FA\u7684\u540E\u53F0 run \u7684\u7EC8\u6001\u901A\u77E5\uFF08\u7CFB\u7EDF\u5185\u90E8\u4E8B\u4EF6\uFF0C\u4E0D\u662F\u7528\u6237\u6D88\u606F\uFF09\u3002\u8BF7\u9605\u8BFB\u4E0A\u9762\u7684\u6458\u8981\u5E76\u81EA\u5DF1\u51B3\u5B9A\u4E0B\u4E00\u6B65\uFF1A\u6C47\u603B\u7ED3\u679C\u3001\u7EE7\u7EED\u540E\u7EED\u5DE5\u4F5C\u3001\u6216\u5411\u7528\u6237\u6C47\u62A5\u7ED3\u8BBA\u3002\u9700\u8981\u5B8C\u6574\u8F93\u51FA\u65F6\u7528 controlAgentRun(action:"status", runId, tailLines:30) \u62C9\u53D6\u5BF9\u5E94 run \u7684\u65E5\u5FD7\u3002'
|
|
3291
|
+
`activity: ${counters.toolCalls} tool calls \xB7 ${counters.llmCalls} llm calls \xB7 ${counters.fileEdits} edits`
|
|
3308
3292
|
);
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3318
|
-
|
|
3319
|
-
|
|
3320
|
-
|
|
3293
|
+
}
|
|
3294
|
+
return lines;
|
|
3295
|
+
}
|
|
3296
|
+
function buildWakeMessage(finished, nowMs = Date.now()) {
|
|
3297
|
+
const lines = [
|
|
3298
|
+
`\u3010\u540E\u53F0 run \u7EC8\u6001\u901A\u77E5\u3011\u4F60\u6D3E\u51FA\u7684 ${finished.length} \u6761\u540E\u53F0 run \u5DF2\u5230\u8FBE\u7EC8\u6001\uFF1A`
|
|
3299
|
+
];
|
|
3300
|
+
for (const record of finished) {
|
|
3301
|
+
lines.push("", ...describeRun(record, nowMs));
|
|
3302
|
+
}
|
|
3303
|
+
lines.push(
|
|
3304
|
+
"",
|
|
3305
|
+
'\u4EE5\u4E0A\u662F\u4F60\u901A\u8FC7 startAgentRun \u6D3E\u51FA\u7684\u540E\u53F0 run \u7684\u7EC8\u6001\u901A\u77E5\uFF08\u7CFB\u7EDF\u5185\u90E8\u4E8B\u4EF6\uFF0C\u4E0D\u662F\u7528\u6237\u6D88\u606F\uFF09\u3002\u8BF7\u9605\u8BFB\u4E0A\u9762\u7684\u6458\u8981\u5E76\u81EA\u5DF1\u51B3\u5B9A\u4E0B\u4E00\u6B65\uFF1A\u6C47\u603B\u7ED3\u679C\u3001\u7EE7\u7EED\u540E\u7EED\u5DE5\u4F5C\u3001\u6216\u5411\u7528\u6237\u6C47\u62A5\u7ED3\u8BBA\u3002\u9700\u8981\u5B8C\u6574\u8F93\u51FA\u65F6\u7528 controlAgentRun(action:"status", runId, tailLines:30) \u62C9\u53D6\u5BF9\u5E94 run \u7684\u65E5\u5FD7\u3002'
|
|
3306
|
+
);
|
|
3307
|
+
return lines.join("\n");
|
|
3308
|
+
}
|
|
3309
|
+
function buildWakeDisplayText(finished, nowMs = Date.now()) {
|
|
3310
|
+
const parts = finished.map((record) => {
|
|
3311
|
+
const mark = isFailureStatus(record.status) ? "\u2717" : "\u2713";
|
|
3312
|
+
const duration = runDuration(record, nowMs);
|
|
3313
|
+
const label = resolveRunLabel(record);
|
|
3314
|
+
const status = isFailureStatus(record.status) ? ` ${record.status}` : "";
|
|
3315
|
+
return `${mark} ${label}${status}${duration ? ` \xB7 ${duration}` : ""}`;
|
|
3316
|
+
});
|
|
3317
|
+
return `${finished.length} \u6761\u540E\u53F0 run \u5DF2\u5B8C\u6210 \xB7 ${parts.join(" \xB7 ")}`;
|
|
3318
|
+
}
|
|
3319
|
+
function filterUnclaimedChildRuns(runs, deps = {}) {
|
|
3320
|
+
const rawNow = deps.now ? deps.now() : Date.now();
|
|
3321
|
+
const nowMs = typeof rawNow === "number" ? rawNow : rawNow.getTime();
|
|
3322
|
+
const remainingRuns = [];
|
|
3323
|
+
const claimedRunIds = [];
|
|
3324
|
+
for (const r of runs) {
|
|
3325
|
+
const record = readRunRecord(r.runId, deps);
|
|
3326
|
+
const target = record ?? r;
|
|
3327
|
+
if (isRunRecordClaimed(target, nowMs)) {
|
|
3328
|
+
claimedRunIds.push(r.runId);
|
|
3329
|
+
} else {
|
|
3330
|
+
remainingRuns.push(normalizeRunCompletionShape(r));
|
|
3331
|
+
}
|
|
3332
|
+
}
|
|
3333
|
+
return { remainingRuns, claimedRunIds };
|
|
3334
|
+
}
|
|
3335
|
+
function createRunCompletionWatcher(deps) {
|
|
3336
|
+
const now = deps.now ?? (() => Date.now());
|
|
3337
|
+
const createdAt = now();
|
|
3338
|
+
const lastStatusByRunId = /* @__PURE__ */ new Map();
|
|
3339
|
+
const notifiedRunIds = /* @__PURE__ */ new Set();
|
|
3321
3340
|
return {
|
|
3322
3341
|
observe(records) {
|
|
3323
3342
|
const finished = [];
|
|
@@ -3353,12 +3372,12 @@ function createRunCompletionWatcher(deps) {
|
|
|
3353
3372
|
}
|
|
3354
3373
|
if (finished.length === 0) return;
|
|
3355
3374
|
const shapes = finished.map((r) => normalizeRunCompletionShape(r));
|
|
3356
|
-
const summaryText = buildWakeMessage(finished);
|
|
3375
|
+
const summaryText = buildWakeMessage(finished, now());
|
|
3357
3376
|
const event = {
|
|
3358
3377
|
kind: "child-run-completed",
|
|
3359
3378
|
runs: shapes,
|
|
3360
3379
|
text: summaryText,
|
|
3361
|
-
displayText: buildWakeDisplayText(finished)
|
|
3380
|
+
displayText: buildWakeDisplayText(finished, now())
|
|
3362
3381
|
};
|
|
3363
3382
|
deps.onWake(event);
|
|
3364
3383
|
},
|
|
@@ -7110,14 +7129,15 @@ async function runTuiWorkspace(options) {
|
|
|
7110
7129
|
getCurrentDialogId: () => state.dialogId ?? null,
|
|
7111
7130
|
onWake: (text) => runWakeHandler?.(text)
|
|
7112
7131
|
});
|
|
7132
|
+
const effectiveEnv = options.env ? { ...process.env, ...options.env } : process.env;
|
|
7113
7133
|
const runRegistryPoller = createRunRegistryPoller({
|
|
7114
7134
|
getDockedRuns: () => activityIndicator.getAgentRuns(),
|
|
7115
7135
|
update: (snapshot) => activityIndicator.updateAgentRun(snapshot),
|
|
7116
7136
|
// 显式传 env:resolveNoloHome 只认传入 env 的 NOLO_HOME,不传则永远读
|
|
7117
7137
|
// ~/.nolo——设了 NOLO_HOME 的环境(dev、测试)会读错目录。run 记录读取
|
|
7118
7138
|
// 与 reconcile 的调用点也是同样写法。
|
|
7119
|
-
readRecord: (runId) => readRunRecord(runId, { env:
|
|
7120
|
-
reconcile: (runId) => checkStaleRun(runId, { env:
|
|
7139
|
+
readRecord: (runId) => readRunRecord(runId, { env: effectiveEnv }),
|
|
7140
|
+
reconcile: (runId) => checkStaleRun(runId, { env: effectiveEnv }),
|
|
7121
7141
|
onRecordsPolled: (records) => runCompletionWatcher.observe(records)
|
|
7122
7142
|
});
|
|
7123
7143
|
const history = createTurnHistory();
|
|
@@ -7310,11 +7330,39 @@ ${content}`);
|
|
|
7310
7330
|
}).catch(() => {
|
|
7311
7331
|
});
|
|
7312
7332
|
};
|
|
7313
|
-
|
|
7333
|
+
let req = createTurnRequest(inputMsg);
|
|
7314
7334
|
if (req.event.kind === "child-run-completed") {
|
|
7315
|
-
|
|
7335
|
+
const nowMs = Date.now();
|
|
7336
|
+
const { remainingRuns, claimedRunIds } = filterUnclaimedChildRuns(
|
|
7337
|
+
req.event.runs,
|
|
7338
|
+
{ env: effectiveEnv, now: () => nowMs }
|
|
7339
|
+
);
|
|
7340
|
+
for (const runId of claimedRunIds) {
|
|
7341
|
+
runCompletionWatcher.markAcknowledged(runId);
|
|
7342
|
+
}
|
|
7343
|
+
if (remainingRuns.length === 0) {
|
|
7344
|
+
for (const r of req.event.runs) {
|
|
7345
|
+
runCompletionWatcher.markAcknowledged(r.runId);
|
|
7346
|
+
}
|
|
7347
|
+
return { ok: true, aborted: false };
|
|
7348
|
+
}
|
|
7349
|
+
for (const r of remainingRuns) {
|
|
7316
7350
|
runCompletionWatcher.markAcknowledged(r.runId);
|
|
7317
7351
|
}
|
|
7352
|
+
if (remainingRuns.length !== req.event.runs.length) {
|
|
7353
|
+
const text = buildWakeMessage(remainingRuns, nowMs);
|
|
7354
|
+
const displayText = buildWakeDisplayText(remainingRuns, nowMs);
|
|
7355
|
+
const updatedEvent = {
|
|
7356
|
+
kind: "child-run-completed",
|
|
7357
|
+
runs: remainingRuns,
|
|
7358
|
+
text,
|
|
7359
|
+
displayText
|
|
7360
|
+
};
|
|
7361
|
+
req = {
|
|
7362
|
+
text,
|
|
7363
|
+
event: updatedEvent
|
|
7364
|
+
};
|
|
7365
|
+
}
|
|
7318
7366
|
}
|
|
7319
7367
|
const message = req.text;
|
|
7320
7368
|
forcedStop = false;
|
|
@@ -1,48 +1,47 @@
|
|
|
1
1
|
import {
|
|
2
2
|
fetchAgentContexts
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WBZE7C6S.js";
|
|
4
4
|
import {
|
|
5
5
|
generateRequestBody,
|
|
6
6
|
mergeReferences,
|
|
7
7
|
performFetchRequest,
|
|
8
8
|
sanitizeOutboundBody
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-AE5GVFMG.js";
|
|
10
10
|
import "./chunk-HS7MLR74.js";
|
|
11
11
|
import "./chunk-PV734VZX.js";
|
|
12
12
|
import {
|
|
13
13
|
findToolExecutor,
|
|
14
14
|
getToolResultErrorData
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-5GQ6XCJY.js";
|
|
16
16
|
import "./chunk-RQSOAMPJ.js";
|
|
17
17
|
import "./chunk-GUYMR3JL.js";
|
|
18
18
|
import "./chunk-KQHGZWSV.js";
|
|
19
19
|
import "./chunk-IFS5CUEH.js";
|
|
20
20
|
import "./chunk-KXKQO4Q6.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-Z7COG62J.js";
|
|
22
22
|
import "./chunk-BANYWEYY.js";
|
|
23
23
|
import "./chunk-U6QQLXWI.js";
|
|
24
24
|
import "./chunk-INZZJSQF.js";
|
|
25
25
|
import "./chunk-MEYIRKDN.js";
|
|
26
26
|
import "./chunk-63W5N6P3.js";
|
|
27
27
|
import "./chunk-VF4K2QE6.js";
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-Y5W623XU.js";
|
|
29
|
+
import "./chunk-QI3CHZUT.js";
|
|
30
30
|
import {
|
|
31
31
|
updateTokensAction
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-PILJX4DH.js";
|
|
33
33
|
import "./chunk-RCFIB45Q.js";
|
|
34
34
|
import "./chunk-JIADXJYU.js";
|
|
35
35
|
import "./chunk-YYLHWIW6.js";
|
|
36
36
|
import "./chunk-AGGIDPCZ.js";
|
|
37
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-TLBZMLLJ.js";
|
|
38
38
|
import "./chunk-MGIHZ5CJ.js";
|
|
39
39
|
import "./chunk-5RGU3J7P.js";
|
|
40
40
|
import "./chunk-M76ECQRD.js";
|
|
41
41
|
import "./chunk-MRWGHF56.js";
|
|
42
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-P2I7ELDC.js";
|
|
43
43
|
import "./chunk-IIOHYLIG.js";
|
|
44
|
-
import "./chunk-
|
|
45
|
-
import "./chunk-KHCLMKZZ.js";
|
|
44
|
+
import "./chunk-EY7V7REW.js";
|
|
46
45
|
import "./chunk-M3JQWYBC.js";
|
|
47
46
|
import "./chunk-BMB563Y6.js";
|
|
48
47
|
import "./chunk-GKHV4UH5.js";
|
|
@@ -4,8 +4,7 @@ import {
|
|
|
4
4
|
discoverSkills,
|
|
5
5
|
parseSkillFrontmatter,
|
|
6
6
|
resolveSkillByName
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-KHCLMKZZ.js";
|
|
7
|
+
} from "./chunk-2BWU4ORW.js";
|
|
9
8
|
import "./chunk-3AOLVADY.js";
|
|
10
9
|
import "./chunk-7CH6U3FL.js";
|
|
11
10
|
import "./chunk-4VNS5WPM.js";
|
|
@@ -8,12 +8,12 @@ import {
|
|
|
8
8
|
import "./chunk-J5NMOM35.js";
|
|
9
9
|
import "./chunk-EKLRRZIN.js";
|
|
10
10
|
import "./chunk-KQHGZWSV.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-I7VDDN45.js";
|
|
12
12
|
import "./chunk-OSCSEJJR.js";
|
|
13
13
|
import "./chunk-ZNFJWEN4.js";
|
|
14
14
|
import "./chunk-64KIQZA2.js";
|
|
15
15
|
import "./chunk-T27IEBNQ.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-AA2YUJNV.js";
|
|
17
17
|
import "./chunk-N7J63Q6C.js";
|
|
18
18
|
import "./chunk-M3JQWYBC.js";
|
|
19
19
|
import "./chunk-BMB563Y6.js";
|
|
@@ -37,13 +37,13 @@ import {
|
|
|
37
37
|
updateContentTitle,
|
|
38
38
|
updateSpace,
|
|
39
39
|
uploadAndAddFileToSpace
|
|
40
|
-
} from "./chunk-
|
|
41
|
-
import "./chunk-
|
|
40
|
+
} from "./chunk-QI3CHZUT.js";
|
|
41
|
+
import "./chunk-PILJX4DH.js";
|
|
42
42
|
import "./chunk-RCFIB45Q.js";
|
|
43
43
|
import "./chunk-JIADXJYU.js";
|
|
44
44
|
import "./chunk-YYLHWIW6.js";
|
|
45
45
|
import "./chunk-AGGIDPCZ.js";
|
|
46
|
-
import "./chunk-
|
|
46
|
+
import "./chunk-TLBZMLLJ.js";
|
|
47
47
|
import "./chunk-MGIHZ5CJ.js";
|
|
48
48
|
import "./chunk-5RGU3J7P.js";
|
|
49
49
|
import "./chunk-M76ECQRD.js";
|