nolo-cli 0.146.0-alpha.2 → 0.146.0-alpha.4
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-VI2ZFXGF.js → _executeModel-KCOBSFWR.js} +10 -10
- package/{agentEmailCommands-SKDSR6TX.js → agentEmailCommands-JWAAVWK5.js} +9 -9
- package/{agentMachineCommands-JVHHRKJC.js → agentMachineCommands-GL4TIGRD.js} +1 -1
- package/{agentRecordCommands-RXABVKRC.js → agentRecordCommands-ZPVDMPWS.js} +9 -9
- package/{agentRunCommand-4XJ3OGJ4.js → agentRunCommand-UF3OUWWS.js} +9 -9
- package/{agentSlice-BBCMHUDH.js → agentSlice-VWIBQKC5.js} +1 -1
- package/{chatQueueReduxAdapter-JUUUM7BM.js → chatQueueReduxAdapter-MBIUZKDL.js} +2 -2
- package/{chunk-IBHS2SAO.js → chunk-2Q7IUN6P.js} +3 -3
- package/{chunk-YB4IKYNP.js → chunk-3KYLP2QO.js} +1 -1
- package/{chunk-XTHMLDFS.js → chunk-45RDJCWY.js} +8 -8
- package/{chunk-UE6THNRN.js → chunk-ARJISZLY.js} +10 -8
- package/{chunk-YCHTTOE6.js → chunk-C22W3XQ5.js} +2 -2
- package/{chunk-6ECICFUL.js → chunk-I2NACKOX.js} +2 -2
- package/{chunk-27MYPW3V.js → chunk-LL75KBOF.js} +4 -4
- package/{chunk-HMYLUSAO.js → chunk-LSEP3JEV.js} +3 -3
- package/{chunk-OY5MN3QW.js → chunk-MTS4CSGW.js} +2 -2
- package/{chunk-JGMAQ6M4.js → chunk-NAQIJEFD.js} +2 -2
- package/{chunk-UUMOPF47.js → chunk-RS4EE3CY.js} +4 -4
- package/{chunk-SX3H5GRF.js → chunk-S4DLQ5OR.js} +5 -5
- package/{chunk-QE6WT54C.js → chunk-XCMPF226.js} +1 -1
- package/{chunk-ECN5PIJP.js → chunk-YFIEJTJP.js} +1 -1
- package/{commandRegistry-4OQNLR7J.js → commandRegistry-VKPZIDKP.js} +14 -14
- package/{contentThunks-UG5OLLTF.js → contentThunks-XVHPJRVX.js} +3 -3
- package/{createAgentAutomationAction-NJD2PYVZ.js → createAgentAutomationAction-QY3TENYN.js} +3 -3
- package/{createDialogAction-JURO7UNI.js → createDialogAction-ETRYMHLA.js} +4 -4
- package/{createPageAction-66GF24KF.js → createPageAction-5VX64XOW.js} +3 -3
- package/{dialogSlice-ZUS3SSM7.js → dialogSlice-Z7CEY2WY.js} +2 -2
- package/{docStore-D7PX4CZE.js → docStore-IZ6XRQCW.js} +1 -1
- package/{handleSendMessageAction-H3UDWSRC.js → handleSendMessageAction-6XVOLKPH.js} +112 -26
- package/index.js +2 -2
- package/{machineCommands-6D7JZBWS.js → machineCommands-VVSQOM5V.js} +9 -9
- package/{machineWsRunDispatch-YKFGCPFL.js → machineWsRunDispatch-LKBI7AMM.js} +9 -9
- package/package.json +1 -1
- package/{readlineWorkspace-HZWPJELZ.js → readlineWorkspace-A6I3TDOI.js} +9 -9
- package/{runAgentClientLoop-EX3DZPKM.js → runAgentClientLoop-SU23IDMY.js} +8 -8
- package/{streamAgentChatTurn-AWIN7723.js → streamAgentChatTurn-KJMIQEDI.js} +9 -9
- package/{tools-6AILTEFE.js → tools-M2HTAI6K.js} +6 -6
- package/{updateDialogTitleAction-FX6HJK4R.js → updateDialogTitleAction-KZZ26EZU.js} +3 -3
|
@@ -103,7 +103,7 @@ function createDaemonShortcutCommand(path, description, command) {
|
|
|
103
103
|
// packages/cli/agentInternalCommandEntries.ts
|
|
104
104
|
function getAgentInternalCommandEntries() {
|
|
105
105
|
const createAgentRunCommand = (path, description) => createContextCommand(path, description, async (args, ctx) => {
|
|
106
|
-
const { runAgentRunCommand } = await import("./agentRunCommand-
|
|
106
|
+
const { runAgentRunCommand } = await import("./agentRunCommand-UF3OUWWS.js");
|
|
107
107
|
return runAgentRunCommand(args, {
|
|
108
108
|
env: ctx.env,
|
|
109
109
|
scriptDir: ctx.scriptDir,
|
|
@@ -119,7 +119,7 @@ function getAgentInternalCommandEntries() {
|
|
|
119
119
|
return runAgentListCommand(args, deps);
|
|
120
120
|
}),
|
|
121
121
|
createEnvCommand(["agent", "create"], "Create a new agent", async (args, deps) => {
|
|
122
|
-
const { runAgentCreateCommand } = await import("./agentRecordCommands-
|
|
122
|
+
const { runAgentCreateCommand } = await import("./agentRecordCommands-ZPVDMPWS.js");
|
|
123
123
|
return runAgentCreateCommand(args, deps);
|
|
124
124
|
}),
|
|
125
125
|
createEnvCommand(["agent", "models"], "List models available on an OpenAI-compatible provider", async (args, deps) => {
|
|
@@ -135,7 +135,7 @@ function getAgentInternalCommandEntries() {
|
|
|
135
135
|
return runAgentPullCommand(args, deps);
|
|
136
136
|
}),
|
|
137
137
|
createEnvCommand(["agent", "read"], "Read a single agent", async (args, deps) => {
|
|
138
|
-
const { runAgentReadCommand } = await import("./agentRecordCommands-
|
|
138
|
+
const { runAgentReadCommand } = await import("./agentRecordCommands-ZPVDMPWS.js");
|
|
139
139
|
return runAgentReadCommand(args, deps);
|
|
140
140
|
}),
|
|
141
141
|
createAgentRunCommand(["agent", "run"], "Run an agent"),
|
|
@@ -164,26 +164,26 @@ function getAgentInternalCommandEntries() {
|
|
|
164
164
|
return runSetupOfflineMarxistsAgentCommand(args, deps);
|
|
165
165
|
}),
|
|
166
166
|
createEnvCommand(["agent", "update"], "Update agent fields", async (args, deps) => {
|
|
167
|
-
const { runAgentUpdateCommand } = await import("./agentRecordCommands-
|
|
167
|
+
const { runAgentUpdateCommand } = await import("./agentRecordCommands-ZPVDMPWS.js");
|
|
168
168
|
return runAgentUpdateCommand(args, deps);
|
|
169
169
|
}),
|
|
170
170
|
createEnvCommand(["agent", "email", "provision"], "Provision a controlled inbox for an agent", async (args, deps) => {
|
|
171
|
-
const { runAgentEmailProvisionCommand } = await import("./agentEmailCommands-
|
|
171
|
+
const { runAgentEmailProvisionCommand } = await import("./agentEmailCommands-JWAAVWK5.js");
|
|
172
172
|
return runAgentEmailProvisionCommand(args, deps);
|
|
173
173
|
}),
|
|
174
174
|
createEnvCommand(["agent", "email", "bind"], "Bind an existing email address to an agent", async (args, deps) => {
|
|
175
|
-
const { runAgentEmailBindCommand } = await import("./agentEmailCommands-
|
|
175
|
+
const { runAgentEmailBindCommand } = await import("./agentEmailCommands-JWAAVWK5.js");
|
|
176
176
|
return runAgentEmailBindCommand(args, deps);
|
|
177
177
|
}),
|
|
178
178
|
createEnvCommand(["agent", "email", "transfer"], "Transfer an email identity from one agent to another (cross-account)", async (args, deps) => {
|
|
179
|
-
const { runAgentEmailTransferCommand } = await import("./agentEmailCommands-
|
|
179
|
+
const { runAgentEmailTransferCommand } = await import("./agentEmailCommands-JWAAVWK5.js");
|
|
180
180
|
return runAgentEmailTransferCommand(args, deps);
|
|
181
181
|
}),
|
|
182
182
|
createEnvCommand(
|
|
183
183
|
["agent", "email", "create-and-provision"],
|
|
184
184
|
"Create an agent and provision its controlled inbox",
|
|
185
185
|
async (args, deps) => {
|
|
186
|
-
const { runAgentEmailCreateAndProvisionCommand } = await import("./agentEmailCommands-
|
|
186
|
+
const { runAgentEmailCreateAndProvisionCommand } = await import("./agentEmailCommands-JWAAVWK5.js");
|
|
187
187
|
return runAgentEmailCreateAndProvisionCommand(args, deps);
|
|
188
188
|
}
|
|
189
189
|
),
|
|
@@ -204,15 +204,15 @@ function getAgentInternalCommandEntries() {
|
|
|
204
204
|
return runAgentRevokeGrantCommand(args, deps);
|
|
205
205
|
}),
|
|
206
206
|
createEnvCommand(["agent", "bind-current"], "Bind an agent to this machine", async (args, deps) => {
|
|
207
|
-
const { runAgentBindCurrentCommand } = await import("./agentMachineCommands-
|
|
207
|
+
const { runAgentBindCurrentCommand } = await import("./agentMachineCommands-GL4TIGRD.js");
|
|
208
208
|
return runAgentBindCurrentCommand(args, deps);
|
|
209
209
|
}),
|
|
210
210
|
createEnvCommand(["agent", "smoke-current"], "Smoke test a bound agent through this machine", async (args, deps) => {
|
|
211
|
-
const { runAgentSmokeCurrentCommand } = await import("./agentMachineCommands-
|
|
211
|
+
const { runAgentSmokeCurrentCommand } = await import("./agentMachineCommands-GL4TIGRD.js");
|
|
212
212
|
return runAgentSmokeCurrentCommand(args, deps);
|
|
213
213
|
}),
|
|
214
214
|
createEnvCommand(["agent", "runtime-doctor"], "Diagnose current machine runtime compatibility", async (args, deps) => {
|
|
215
|
-
const { runAgentRuntimeDoctorCommand } = await import("./agentMachineCommands-
|
|
215
|
+
const { runAgentRuntimeDoctorCommand } = await import("./agentMachineCommands-GL4TIGRD.js");
|
|
216
216
|
return runAgentRuntimeDoctorCommand(args, deps);
|
|
217
217
|
}),
|
|
218
218
|
createAgentRunCommand(["agent", "chat"], "Chat with an agent")
|
|
@@ -473,15 +473,15 @@ function getSystemInternalCommandEntries(renderHelpText2) {
|
|
|
473
473
|
return runWhoamiCommand({ args, env: ctx.env });
|
|
474
474
|
}),
|
|
475
475
|
createEntrypointEnvCommand(["connect"], "Send machine heartbeats or hold a connector websocket", async (args, deps) => {
|
|
476
|
-
const { runMachineConnectCommand } = await import("./machineCommands-
|
|
476
|
+
const { runMachineConnectCommand } = await import("./machineCommands-VVSQOM5V.js");
|
|
477
477
|
return runMachineConnectCommand(args, deps);
|
|
478
478
|
}),
|
|
479
479
|
createDaemonShortcutCommand(["daemon"], "Run the connector daemon shortcut", async (args, deps) => {
|
|
480
|
-
const { runMachineConnectCommand } = await import("./machineCommands-
|
|
480
|
+
const { runMachineConnectCommand } = await import("./machineCommands-VVSQOM5V.js");
|
|
481
481
|
return runMachineConnectCommand(args, deps);
|
|
482
482
|
}),
|
|
483
483
|
createEnvCommand(["machine", "status"], "List machines registered to the current profile", async (args, deps) => {
|
|
484
|
-
const { runMachineStatusCommand } = await import("./machineCommands-
|
|
484
|
+
const { runMachineStatusCommand } = await import("./machineCommands-VVSQOM5V.js");
|
|
485
485
|
return runMachineStatusCommand(args, deps);
|
|
486
486
|
}),
|
|
487
487
|
createEnvCommand(["doctor", "runtime"], "Diagnose local-first agent runtime selection", async (args, deps) => {
|
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
updateContentPinned,
|
|
8
8
|
updateContentTitle,
|
|
9
9
|
uploadAndAddFileToSpace
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-YFIEJTJP.js";
|
|
11
11
|
import "./chunk-ZJ7UHBJS.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-ARJISZLY.js";
|
|
13
13
|
import "./chunk-523DITKR.js";
|
|
14
14
|
import "./chunk-YYLHWIW6.js";
|
|
15
15
|
import "./chunk-6O4IK4V2.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-LSEP3JEV.js";
|
|
17
17
|
import "./chunk-D76D3RTR.js";
|
|
18
18
|
import "./chunk-5RGU3J7P.js";
|
|
19
19
|
import "./chunk-M76ECQRD.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
addContentToSpace
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YFIEJTJP.js";
|
|
4
4
|
import "./chunk-ZJ7UHBJS.js";
|
|
5
|
-
import "./chunk-
|
|
5
|
+
import "./chunk-ARJISZLY.js";
|
|
6
6
|
import "./chunk-523DITKR.js";
|
|
7
7
|
import "./chunk-YYLHWIW6.js";
|
|
8
8
|
import "./chunk-6O4IK4V2.js";
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-LSEP3JEV.js";
|
|
10
10
|
import "./chunk-D76D3RTR.js";
|
|
11
11
|
import "./chunk-5RGU3J7P.js";
|
|
12
12
|
import "./chunk-M76ECQRD.js";
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
createDialogAction,
|
|
3
3
|
isLocalOwnerDialogAgents
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-I2NACKOX.js";
|
|
5
|
+
import "./chunk-YFIEJTJP.js";
|
|
6
6
|
import "./chunk-ZJ7UHBJS.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-ARJISZLY.js";
|
|
8
8
|
import "./chunk-523DITKR.js";
|
|
9
9
|
import "./chunk-YYLHWIW6.js";
|
|
10
10
|
import "./chunk-6O4IK4V2.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-LSEP3JEV.js";
|
|
12
12
|
import "./chunk-D76D3RTR.js";
|
|
13
13
|
import "./chunk-5RGU3J7P.js";
|
|
14
14
|
import "./chunk-M76ECQRD.js";
|
|
@@ -14,15 +14,15 @@ import {
|
|
|
14
14
|
import {
|
|
15
15
|
addContentToSpace,
|
|
16
16
|
client_default
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-YFIEJTJP.js";
|
|
18
18
|
import {
|
|
19
19
|
getCurrentSpaceId
|
|
20
20
|
} from "./chunk-ZJ7UHBJS.js";
|
|
21
|
-
import "./chunk-
|
|
21
|
+
import "./chunk-ARJISZLY.js";
|
|
22
22
|
import "./chunk-523DITKR.js";
|
|
23
23
|
import "./chunk-YYLHWIW6.js";
|
|
24
24
|
import "./chunk-6O4IK4V2.js";
|
|
25
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-LSEP3JEV.js";
|
|
26
26
|
import "./chunk-D76D3RTR.js";
|
|
27
27
|
import "./chunk-5RGU3J7P.js";
|
|
28
28
|
import "./chunk-M76ECQRD.js";
|
|
@@ -20,11 +20,11 @@ import {
|
|
|
20
20
|
switchDialogAgent,
|
|
21
21
|
updateDialogTitle,
|
|
22
22
|
updateTokens
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-ARJISZLY.js";
|
|
24
24
|
import "./chunk-523DITKR.js";
|
|
25
25
|
import "./chunk-YYLHWIW6.js";
|
|
26
26
|
import "./chunk-6O4IK4V2.js";
|
|
27
|
-
import "./chunk-
|
|
27
|
+
import "./chunk-LSEP3JEV.js";
|
|
28
28
|
import "./chunk-D76D3RTR.js";
|
|
29
29
|
import {
|
|
30
30
|
getActiveDialogAgentId
|
|
@@ -26,14 +26,16 @@ import {
|
|
|
26
26
|
prepareAndPersistUserMessage,
|
|
27
27
|
removeTransientMessage,
|
|
28
28
|
resolveHandleSendMessageContext,
|
|
29
|
-
selectAllMsgs
|
|
30
|
-
|
|
29
|
+
selectAllMsgs,
|
|
30
|
+
setMessages,
|
|
31
|
+
setStreamingMessageId
|
|
32
|
+
} from "./chunk-ARJISZLY.js";
|
|
31
33
|
import "./chunk-523DITKR.js";
|
|
32
34
|
import "./chunk-YYLHWIW6.js";
|
|
33
35
|
import "./chunk-6O4IK4V2.js";
|
|
34
36
|
import {
|
|
35
37
|
streamAgentChatTurn
|
|
36
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-LSEP3JEV.js";
|
|
37
39
|
import "./chunk-D76D3RTR.js";
|
|
38
40
|
import "./chunk-5RGU3J7P.js";
|
|
39
41
|
import "./chunk-M76ECQRD.js";
|
|
@@ -150,6 +152,7 @@ function hasSupportedDurableToolSurface(agent) {
|
|
|
150
152
|
return names.length === 0 || names.every((name) => name === FIRST_DURABLE_WEB_TOOL);
|
|
151
153
|
}
|
|
152
154
|
function shouldUseServerOwnedWebForegroundTurn(input) {
|
|
155
|
+
if (input.surface !== "web") return false;
|
|
153
156
|
if (input.isDesktopApp) return false;
|
|
154
157
|
if (!input.currentServer?.trim() || !input.token?.trim()) return false;
|
|
155
158
|
if (typeof input.userInput !== "string" || !input.userInput.trim()) return false;
|
|
@@ -251,31 +254,77 @@ function createServerOwnedAskUserProjection(args) {
|
|
|
251
254
|
return { handlePayload, cleanup, transientByCallId };
|
|
252
255
|
}
|
|
253
256
|
|
|
257
|
+
// packages/ai/agent/serverOwnedWebForegroundHandoff.ts
|
|
258
|
+
function assistantText(message) {
|
|
259
|
+
return typeof message.content === "string" ? message.content : "";
|
|
260
|
+
}
|
|
261
|
+
function findNewCanonicalAssistant(messages, initialMessageIds, transientId, expectedText) {
|
|
262
|
+
const transient = messages.find((message) => message?.id === transientId);
|
|
263
|
+
const completedText = expectedText || (transient ? assistantText(transient) : "");
|
|
264
|
+
for (const message of messages) {
|
|
265
|
+
if (!message?.id || message.id === transientId) continue;
|
|
266
|
+
if (initialMessageIds.has(message.id)) continue;
|
|
267
|
+
if (message.role !== "assistant") continue;
|
|
268
|
+
if (message.isStreaming) continue;
|
|
269
|
+
if (completedText && assistantText(message) !== completedText) continue;
|
|
270
|
+
return message;
|
|
271
|
+
}
|
|
272
|
+
return null;
|
|
273
|
+
}
|
|
274
|
+
async function waitForNewCanonicalAssistant(args) {
|
|
275
|
+
const timeoutMs = Math.max(0, args.timeoutMs ?? 5e3);
|
|
276
|
+
const pollMs = Math.max(1, args.pollMs ?? 25);
|
|
277
|
+
const deadline = Date.now() + timeoutMs;
|
|
278
|
+
while (true) {
|
|
279
|
+
const canonical = findNewCanonicalAssistant(
|
|
280
|
+
args.readMessages(),
|
|
281
|
+
args.initialMessageIds,
|
|
282
|
+
args.transientId,
|
|
283
|
+
args.expectedText
|
|
284
|
+
);
|
|
285
|
+
if (canonical) return canonical;
|
|
286
|
+
if (Date.now() >= deadline) return null;
|
|
287
|
+
await new Promise((resolve) => setTimeout(resolve, pollMs));
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
|
|
254
291
|
// packages/ai/agent/serverOwnedWebForegroundTurn.ts
|
|
255
292
|
async function canRunServerOwnedWebForegroundTurn(args, thunk) {
|
|
256
|
-
|
|
257
|
-
|
|
293
|
+
try {
|
|
294
|
+
let currentServer;
|
|
295
|
+
let token;
|
|
258
296
|
try {
|
|
259
|
-
const
|
|
260
|
-
|
|
297
|
+
const state = thunk.getState();
|
|
298
|
+
currentServer = selectCurrentServer(state);
|
|
299
|
+
token = selectIdentityToken(state);
|
|
261
300
|
} catch {
|
|
262
301
|
return { eligible: false };
|
|
263
302
|
}
|
|
303
|
+
if (!currentServer?.trim() || !token?.trim()) return { eligible: false };
|
|
304
|
+
let agentConfig = args.agentConfig ?? void 0;
|
|
305
|
+
if (!agentConfig) {
|
|
306
|
+
try {
|
|
307
|
+
const { readAndWait: readAndWait2 } = await import("./dbSlice-HFPIJT5P.js");
|
|
308
|
+
agentConfig = await thunk.dispatch(readAndWait2(args.agentKey)).unwrap();
|
|
309
|
+
} catch {
|
|
310
|
+
return { eligible: false };
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
return {
|
|
314
|
+
eligible: shouldUseServerOwnedWebForegroundTurn({
|
|
315
|
+
surface: "web",
|
|
316
|
+
agentConfig,
|
|
317
|
+
userInput: args.userInput,
|
|
318
|
+
runtimeOptions: args.runtimeOptions,
|
|
319
|
+
currentServer,
|
|
320
|
+
token,
|
|
321
|
+
isDesktopApp: getIsDesktopApp()
|
|
322
|
+
}),
|
|
323
|
+
agentConfig
|
|
324
|
+
};
|
|
325
|
+
} catch {
|
|
326
|
+
return { eligible: false };
|
|
264
327
|
}
|
|
265
|
-
const state = thunk.getState();
|
|
266
|
-
const currentServer = selectCurrentServer(state);
|
|
267
|
-
const token = selectIdentityToken(state);
|
|
268
|
-
return {
|
|
269
|
-
eligible: shouldUseServerOwnedWebForegroundTurn({
|
|
270
|
-
agentConfig,
|
|
271
|
-
userInput: args.userInput,
|
|
272
|
-
runtimeOptions: args.runtimeOptions,
|
|
273
|
-
currentServer,
|
|
274
|
-
token,
|
|
275
|
-
isDesktopApp: getIsDesktopApp()
|
|
276
|
-
}),
|
|
277
|
-
agentConfig
|
|
278
|
-
};
|
|
279
328
|
}
|
|
280
329
|
async function runServerOwnedWebForegroundTurn(args, thunk) {
|
|
281
330
|
const state = thunk.getState();
|
|
@@ -293,11 +342,15 @@ async function runServerOwnedWebForegroundTurn(args, thunk) {
|
|
|
293
342
|
if (!userInput.trim()) {
|
|
294
343
|
throw new Error("Server-owned foreground turn requires text input");
|
|
295
344
|
}
|
|
345
|
+
const initialMessageIds = new Set(
|
|
346
|
+
selectAllMsgs(thunk.getState(), dialogId).map((message) => message?.id).filter((id) => typeof id === "string" && id.length > 0)
|
|
347
|
+
);
|
|
296
348
|
const userId = selectIdentityUserId(thunk.getState());
|
|
297
349
|
const { key: transientKey, messageId: transientId } = createDialogMessageKeyAndId(dialogId);
|
|
298
350
|
const controller = new AbortController();
|
|
299
351
|
const loopKey = `server-owned:${dialogId}:${transientId}`;
|
|
300
352
|
let accumulated = "";
|
|
353
|
+
let sawDone = false;
|
|
301
354
|
const askUserProjection = createServerOwnedAskUserProjection({
|
|
302
355
|
dialogId,
|
|
303
356
|
dispatch: thunk.dispatch,
|
|
@@ -428,9 +481,40 @@ async function runServerOwnedWebForegroundTurn(args, thunk) {
|
|
|
428
481
|
if (!outcome.sawDone) {
|
|
429
482
|
return { serverOwned: true, detached: true };
|
|
430
483
|
}
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
484
|
+
sawDone = true;
|
|
485
|
+
let canonicalVisible = false;
|
|
486
|
+
try {
|
|
487
|
+
await thunk.dispatch(initMsgs({ dialogId })).unwrap();
|
|
488
|
+
canonicalVisible = !!await waitForNewCanonicalAssistant({
|
|
489
|
+
readMessages: () => selectAllMsgs(thunk.getState(), dialogId),
|
|
490
|
+
initialMessageIds,
|
|
491
|
+
transientId
|
|
492
|
+
});
|
|
493
|
+
} catch (error) {
|
|
494
|
+
console.warn("[chat] server-owned canonical handoff refresh failed", {
|
|
495
|
+
dialogId,
|
|
496
|
+
error
|
|
497
|
+
});
|
|
498
|
+
}
|
|
499
|
+
if (canonicalVisible) {
|
|
500
|
+
askUserProjection.cleanup();
|
|
501
|
+
thunk.dispatch(removeTransientMessage({ id: transientId, dialogId }));
|
|
502
|
+
} else {
|
|
503
|
+
const transient = selectAllMsgs(thunk.getState(), dialogId).find((message) => message?.id === transientId);
|
|
504
|
+
if (transient) {
|
|
505
|
+
thunk.dispatch(
|
|
506
|
+
setMessages({
|
|
507
|
+
dialogId,
|
|
508
|
+
messages: [{ ...transient, isStreaming: false }]
|
|
509
|
+
})
|
|
510
|
+
);
|
|
511
|
+
}
|
|
512
|
+
setStreamingMessageId(dialogId, null);
|
|
513
|
+
console.warn(
|
|
514
|
+
"[chat] server-owned canonical message not visible after done; keeping transient projection",
|
|
515
|
+
{ dialogId, transientId }
|
|
516
|
+
);
|
|
517
|
+
}
|
|
434
518
|
return { serverOwned: true };
|
|
435
519
|
} finally {
|
|
436
520
|
thunk.dispatch(
|
|
@@ -439,8 +523,10 @@ async function runServerOwnedWebForegroundTurn(args, thunk) {
|
|
|
439
523
|
dialogKey
|
|
440
524
|
})
|
|
441
525
|
);
|
|
442
|
-
|
|
443
|
-
|
|
526
|
+
if (!sawDone) {
|
|
527
|
+
askUserProjection.cleanup();
|
|
528
|
+
thunk.dispatch(removeTransientMessage({ id: transientId, dialogId }));
|
|
529
|
+
}
|
|
444
530
|
}
|
|
445
531
|
}
|
|
446
532
|
|
package/index.js
CHANGED
|
@@ -71,7 +71,7 @@ async function runScript(script, forwardedArgs, env) {
|
|
|
71
71
|
return proc.exited;
|
|
72
72
|
}
|
|
73
73
|
async function launchTuiWorkspace(args2) {
|
|
74
|
-
const { startTuiWorkspace } = await import("./readlineWorkspace-
|
|
74
|
+
const { startTuiWorkspace } = await import("./readlineWorkspace-A6I3TDOI.js");
|
|
75
75
|
const { createTuiSummaryLlmCaller } = await import("./tuiSummaryLlmCaller-RVW6CJSK.js");
|
|
76
76
|
return startTuiWorkspace({
|
|
77
77
|
...args2,
|
|
@@ -81,7 +81,7 @@ async function launchTuiWorkspace(args2) {
|
|
|
81
81
|
});
|
|
82
82
|
}
|
|
83
83
|
async function main() {
|
|
84
|
-
const { createCliRuntimeContext, looksLikeDaemonShortcut, renderHelpText, resolveCommand, runResolvedCommand } = await import("./commandRegistry-
|
|
84
|
+
const { createCliRuntimeContext, looksLikeDaemonShortcut, renderHelpText, resolveCommand, runResolvedCommand } = await import("./commandRegistry-VKPZIDKP.js");
|
|
85
85
|
const { buildCliRuntimeEnv, loadProfileConfig } = await import("./profileConfig-ZGOFORWV.js");
|
|
86
86
|
const { resolveTuiLaunchMode } = await import("./runtimeModeArgs-2Y7BALTO.js");
|
|
87
87
|
const runtimeEnv = {
|
|
@@ -2,13 +2,13 @@ import {
|
|
|
2
2
|
buildMachinePermissionPromptBlock,
|
|
3
3
|
handleConnectorRunMessage,
|
|
4
4
|
resolveMachineRunPermissionPolicy
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-C22W3XQ5.js";
|
|
6
6
|
import {
|
|
7
7
|
isConnectorWebSocketAuthError,
|
|
8
8
|
isConnectorWebSocketRetryableError,
|
|
9
9
|
resolveConnectorWebSocketTarget
|
|
10
10
|
} from "./chunk-ALXHV7NK.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-LL75KBOF.js";
|
|
12
12
|
import "./chunk-I4OPU5TK.js";
|
|
13
13
|
import "./chunk-YUNJN43V.js";
|
|
14
14
|
import "./chunk-62IL3KQV.js";
|
|
@@ -25,9 +25,9 @@ import "./chunk-4XEYAFLY.js";
|
|
|
25
25
|
import "./chunk-JBTJAPUF.js";
|
|
26
26
|
import "./chunk-QJLEMM2V.js";
|
|
27
27
|
import "./chunk-ATNTHIZI.js";
|
|
28
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-NAQIJEFD.js";
|
|
29
29
|
import "./chunk-HS7MLR74.js";
|
|
30
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-45RDJCWY.js";
|
|
31
31
|
import "./chunk-2EE5UD3N.js";
|
|
32
32
|
import "./chunk-5UTFL4QJ.js";
|
|
33
33
|
import "./chunk-KQHGZWSV.js";
|
|
@@ -37,23 +37,23 @@ import {
|
|
|
37
37
|
CORE_DRAIN_REASON
|
|
38
38
|
} from "./chunk-3L2WKC3W.js";
|
|
39
39
|
import "./chunk-4JMDLJAD.js";
|
|
40
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-I2NACKOX.js";
|
|
41
41
|
import "./chunk-HNRASX3X.js";
|
|
42
42
|
import "./chunk-YRRASA5Q.js";
|
|
43
43
|
import "./chunk-63W5N6P3.js";
|
|
44
44
|
import "./chunk-VF4K2QE6.js";
|
|
45
|
-
import "./chunk-
|
|
45
|
+
import "./chunk-MTS4CSGW.js";
|
|
46
46
|
import "./chunk-Z7IZQF56.js";
|
|
47
47
|
import "./chunk-XPRWFQQK.js";
|
|
48
48
|
import "./chunk-BJUDYFV5.js";
|
|
49
49
|
import "./chunk-MEYIRKDN.js";
|
|
50
|
-
import "./chunk-
|
|
50
|
+
import "./chunk-YFIEJTJP.js";
|
|
51
51
|
import "./chunk-ZJ7UHBJS.js";
|
|
52
|
-
import "./chunk-
|
|
52
|
+
import "./chunk-ARJISZLY.js";
|
|
53
53
|
import "./chunk-523DITKR.js";
|
|
54
54
|
import "./chunk-YYLHWIW6.js";
|
|
55
55
|
import "./chunk-6O4IK4V2.js";
|
|
56
|
-
import "./chunk-
|
|
56
|
+
import "./chunk-LSEP3JEV.js";
|
|
57
57
|
import "./chunk-D76D3RTR.js";
|
|
58
58
|
import "./chunk-5RGU3J7P.js";
|
|
59
59
|
import "./chunk-M76ECQRD.js";
|
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
runtimeWorkspacePermissionPolicy,
|
|
12
12
|
scopePermissionPolicyToRuntimeWorkspace,
|
|
13
13
|
summarizeAgentConfigForLogs
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-C22W3XQ5.js";
|
|
15
|
+
import "./chunk-LL75KBOF.js";
|
|
16
16
|
import "./chunk-I4OPU5TK.js";
|
|
17
17
|
import "./chunk-YUNJN43V.js";
|
|
18
18
|
import "./chunk-62IL3KQV.js";
|
|
@@ -26,9 +26,9 @@ import "./chunk-4XEYAFLY.js";
|
|
|
26
26
|
import "./chunk-JBTJAPUF.js";
|
|
27
27
|
import "./chunk-QJLEMM2V.js";
|
|
28
28
|
import "./chunk-ATNTHIZI.js";
|
|
29
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-NAQIJEFD.js";
|
|
30
30
|
import "./chunk-HS7MLR74.js";
|
|
31
|
-
import "./chunk-
|
|
31
|
+
import "./chunk-45RDJCWY.js";
|
|
32
32
|
import "./chunk-2EE5UD3N.js";
|
|
33
33
|
import "./chunk-5UTFL4QJ.js";
|
|
34
34
|
import "./chunk-KQHGZWSV.js";
|
|
@@ -36,23 +36,23 @@ import "./chunk-GOMR6S5Z.js";
|
|
|
36
36
|
import "./chunk-NF64D32W.js";
|
|
37
37
|
import "./chunk-3L2WKC3W.js";
|
|
38
38
|
import "./chunk-4JMDLJAD.js";
|
|
39
|
-
import "./chunk-
|
|
39
|
+
import "./chunk-I2NACKOX.js";
|
|
40
40
|
import "./chunk-HNRASX3X.js";
|
|
41
41
|
import "./chunk-YRRASA5Q.js";
|
|
42
42
|
import "./chunk-63W5N6P3.js";
|
|
43
43
|
import "./chunk-VF4K2QE6.js";
|
|
44
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-MTS4CSGW.js";
|
|
45
45
|
import "./chunk-Z7IZQF56.js";
|
|
46
46
|
import "./chunk-XPRWFQQK.js";
|
|
47
47
|
import "./chunk-BJUDYFV5.js";
|
|
48
48
|
import "./chunk-MEYIRKDN.js";
|
|
49
|
-
import "./chunk-
|
|
49
|
+
import "./chunk-YFIEJTJP.js";
|
|
50
50
|
import "./chunk-ZJ7UHBJS.js";
|
|
51
|
-
import "./chunk-
|
|
51
|
+
import "./chunk-ARJISZLY.js";
|
|
52
52
|
import "./chunk-523DITKR.js";
|
|
53
53
|
import "./chunk-YYLHWIW6.js";
|
|
54
54
|
import "./chunk-6O4IK4V2.js";
|
|
55
|
-
import "./chunk-
|
|
55
|
+
import "./chunk-LSEP3JEV.js";
|
|
56
56
|
import "./chunk-D76D3RTR.js";
|
|
57
57
|
import "./chunk-5RGU3J7P.js";
|
|
58
58
|
import "./chunk-M76ECQRD.js";
|
package/package.json
CHANGED
|
@@ -76,7 +76,7 @@ import {
|
|
|
76
76
|
wrapTextToLines,
|
|
77
77
|
wrapTranscriptLine,
|
|
78
78
|
wrapTranscriptLineWithLayout
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-RS4EE3CY.js";
|
|
80
80
|
import "./chunk-VJVNU77E.js";
|
|
81
81
|
import "./chunk-BIDGLJQ3.js";
|
|
82
82
|
import {
|
|
@@ -88,7 +88,7 @@ import {
|
|
|
88
88
|
readTimestamp,
|
|
89
89
|
setCliLocale,
|
|
90
90
|
t
|
|
91
|
-
} from "./chunk-
|
|
91
|
+
} from "./chunk-LL75KBOF.js";
|
|
92
92
|
import "./chunk-I4OPU5TK.js";
|
|
93
93
|
import "./chunk-YUNJN43V.js";
|
|
94
94
|
import "./chunk-62IL3KQV.js";
|
|
@@ -142,12 +142,12 @@ import "./chunk-ATNTHIZI.js";
|
|
|
142
142
|
import "./chunk-JEXVIMYZ.js";
|
|
143
143
|
import {
|
|
144
144
|
prepareTools
|
|
145
|
-
} from "./chunk-
|
|
145
|
+
} from "./chunk-NAQIJEFD.js";
|
|
146
146
|
import {
|
|
147
147
|
buildResponseGuidelines
|
|
148
148
|
} from "./chunk-EOARMOVD.js";
|
|
149
149
|
import "./chunk-HS7MLR74.js";
|
|
150
|
-
import "./chunk-
|
|
150
|
+
import "./chunk-45RDJCWY.js";
|
|
151
151
|
import "./chunk-2EE5UD3N.js";
|
|
152
152
|
import "./chunk-5UTFL4QJ.js";
|
|
153
153
|
import "./chunk-KQHGZWSV.js";
|
|
@@ -164,12 +164,12 @@ import {
|
|
|
164
164
|
resolveRunLabel,
|
|
165
165
|
shortRunId
|
|
166
166
|
} from "./chunk-4JMDLJAD.js";
|
|
167
|
-
import "./chunk-
|
|
167
|
+
import "./chunk-I2NACKOX.js";
|
|
168
168
|
import "./chunk-HNRASX3X.js";
|
|
169
169
|
import "./chunk-YRRASA5Q.js";
|
|
170
170
|
import "./chunk-63W5N6P3.js";
|
|
171
171
|
import "./chunk-VF4K2QE6.js";
|
|
172
|
-
import "./chunk-
|
|
172
|
+
import "./chunk-MTS4CSGW.js";
|
|
173
173
|
import "./chunk-Z7IZQF56.js";
|
|
174
174
|
import "./chunk-XPRWFQQK.js";
|
|
175
175
|
import {
|
|
@@ -179,15 +179,15 @@ import {
|
|
|
179
179
|
} from "./chunk-YPREESF4.js";
|
|
180
180
|
import "./chunk-BJUDYFV5.js";
|
|
181
181
|
import "./chunk-MEYIRKDN.js";
|
|
182
|
-
import "./chunk-
|
|
182
|
+
import "./chunk-YFIEJTJP.js";
|
|
183
183
|
import "./chunk-ZJ7UHBJS.js";
|
|
184
184
|
import {
|
|
185
185
|
extractReferenceKeysFromMessage
|
|
186
|
-
} from "./chunk-
|
|
186
|
+
} from "./chunk-ARJISZLY.js";
|
|
187
187
|
import "./chunk-523DITKR.js";
|
|
188
188
|
import "./chunk-YYLHWIW6.js";
|
|
189
189
|
import "./chunk-6O4IK4V2.js";
|
|
190
|
-
import "./chunk-
|
|
190
|
+
import "./chunk-LSEP3JEV.js";
|
|
191
191
|
import "./chunk-D76D3RTR.js";
|
|
192
192
|
import "./chunk-5RGU3J7P.js";
|
|
193
193
|
import "./chunk-M76ECQRD.js";
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
fetchAgentContexts
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XCMPF226.js";
|
|
4
4
|
import {
|
|
5
5
|
generateRequestBody,
|
|
6
6
|
mergeReferences,
|
|
7
7
|
performFetchRequest,
|
|
8
8
|
sanitizeOutboundBody
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-2Q7IUN6P.js";
|
|
10
10
|
import "./chunk-EOARMOVD.js";
|
|
11
11
|
import "./chunk-HS7MLR74.js";
|
|
12
12
|
import "./chunk-6OTOA5MH.js";
|
|
13
13
|
import {
|
|
14
14
|
findToolExecutor,
|
|
15
15
|
getToolResultErrorData
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-45RDJCWY.js";
|
|
17
17
|
import "./chunk-2EE5UD3N.js";
|
|
18
18
|
import "./chunk-5UTFL4QJ.js";
|
|
19
19
|
import "./chunk-KQHGZWSV.js";
|
|
@@ -21,25 +21,25 @@ import "./chunk-GOMR6S5Z.js";
|
|
|
21
21
|
import "./chunk-NF64D32W.js";
|
|
22
22
|
import "./chunk-3L2WKC3W.js";
|
|
23
23
|
import "./chunk-4JMDLJAD.js";
|
|
24
|
-
import "./chunk-
|
|
24
|
+
import "./chunk-I2NACKOX.js";
|
|
25
25
|
import "./chunk-HNRASX3X.js";
|
|
26
26
|
import "./chunk-YRRASA5Q.js";
|
|
27
27
|
import "./chunk-63W5N6P3.js";
|
|
28
28
|
import "./chunk-VF4K2QE6.js";
|
|
29
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-MTS4CSGW.js";
|
|
30
30
|
import "./chunk-Z7IZQF56.js";
|
|
31
31
|
import "./chunk-XPRWFQQK.js";
|
|
32
32
|
import "./chunk-BJUDYFV5.js";
|
|
33
33
|
import "./chunk-MEYIRKDN.js";
|
|
34
|
-
import "./chunk-
|
|
34
|
+
import "./chunk-YFIEJTJP.js";
|
|
35
35
|
import "./chunk-ZJ7UHBJS.js";
|
|
36
36
|
import {
|
|
37
37
|
updateTokensAction
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-ARJISZLY.js";
|
|
39
39
|
import "./chunk-523DITKR.js";
|
|
40
40
|
import "./chunk-YYLHWIW6.js";
|
|
41
41
|
import "./chunk-6O4IK4V2.js";
|
|
42
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-LSEP3JEV.js";
|
|
43
43
|
import "./chunk-D76D3RTR.js";
|
|
44
44
|
import "./chunk-5RGU3J7P.js";
|
|
45
45
|
import "./chunk-M76ECQRD.js";
|