nolo-cli 0.91.1 → 0.92.0
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-H35GQ2XO.js → _executeModel-SCZL7EYW.js} +23 -22
- package/{agentDeleteCommand-XOFMXMHW.js → agentDeleteCommand-CTZYXUBY.js} +16 -15
- package/{agentEmailCommands-H2SEP6ZQ.js → agentEmailCommands-M4RKRMV5.js} +31 -30
- package/{agentListCommands-RYGH6NUL.js → agentListCommands-QWBMMYNO.js} +18 -17
- package/{agentMachineCommands-XELOBZIP.js → agentMachineCommands-CFGNRGKC.js} +16 -15
- package/{agentProviderCommands-JCRK6ST2.js → agentProviderCommands-TWB6E5WD.js} +1 -1
- package/{agentRecordCommands-43HAXAZO.js → agentRecordCommands-ZTUVMJOZ.js} +30 -29
- package/{agentRunCommand-GIPN6DBO.js → agentRunCommand-NARA7GSD.js} +30 -29
- package/{agentRuntimeLocal-SDOSSCLU.js → agentRuntimeLocal-OKYH7XBH.js} +14 -13
- package/{agentSlice-B2DLZMAC.js → agentSlice-L6BEWT2Q.js} +1 -1
- package/{appDeleteCommands-7OR5MAOR.js → appDeleteCommands-2D2R56YU.js} +17 -16
- package/{appDeployCommands-5GNI723H.js → appDeployCommands-R5PAA5YI.js} +17 -16
- package/{appDeployStatusCommands-WL2NG3SG.js → appDeployStatusCommands-VHTBTS3W.js} +17 -16
- package/{appGetCommands-7BVKQS44.js → appGetCommands-G35QG2QG.js} +17 -16
- package/{appListCommands-5VXFJOBU.js → appListCommands-YQ2PKESX.js} +17 -16
- package/{authCommand-N4Q6463J.js → authCommand-W6I6GD3F.js} +8 -8
- package/{builtinSkillRegistry-JPY2DKRF.js → builtinSkillRegistry-XG6RUDWO.js} +4 -3
- package/{chatQueueReduxAdapter-3KDRKXTT.js → chatQueueReduxAdapter-OINFB5SN.js} +7 -7
- package/{chromeCommands-NKU3OWKH.js → chromeCommands-K27J4OVZ.js} +91 -20
- package/{chromeOpsCommands-OQDJGD4Y.js → chromeOpsCommands-IXRLN57H.js} +4 -3
- package/{chunk-OOSVFT6S.js → chunk-27ONFIEY.js} +22 -4
- package/{chunk-W2P25VGS.js → chunk-2QX2MTNK.js} +3 -3
- package/{chunk-D2W6WRHT.js → chunk-2SYTUTLI.js} +244 -29
- package/{chunk-ZI2MEZMT.js → chunk-3BXNTXYI.js} +7 -1
- package/{chunk-Z5W7UMQV.js → chunk-4DPP773Q.js} +2 -2
- package/chunk-5J3PYNUP.js +255 -0
- package/{chunk-KQOD3G2X.js → chunk-5RUECWE2.js} +2 -2
- package/{chunk-YMPTI7RZ.js → chunk-66MWFK6R.js} +4 -4
- package/{chunk-PAYUVQ6P.js → chunk-6PPDYAMH.js} +11 -11
- package/{chunk-ZGJLSHER.js → chunk-7KVZ5LDQ.js} +2 -2
- package/{chunk-7YMUSSHQ.js → chunk-AVKLJP6J.js} +4 -4
- package/{chunk-N3XA2O6O.js → chunk-AZRHIN5B.js} +1 -1
- package/{chunk-BAAKVSMZ.js → chunk-BDHW7EBD.js} +1 -1
- package/{chunk-BFCXG6AJ.js → chunk-BPCPBG2O.js} +1 -1
- package/{chunk-K7M4I3PF.js → chunk-CCOXTK3I.js} +3 -3
- package/{chunk-YRIFJ6XQ.js → chunk-CUBJUVQS.js} +3 -3
- package/{chunk-ACTMNVHM.js → chunk-CYSYR67N.js} +1 -1
- package/{chunk-WC6A2Q7S.js → chunk-EMBK4B7D.js} +4 -1
- package/{chunk-64TIEZHF.js → chunk-FIZ5TAVE.js} +1 -1
- package/{chunk-6PELJ3DS.js → chunk-GA77XY7N.js} +24 -226
- package/{chunk-RZ6CQZB2.js → chunk-IBQ6NJI4.js} +1 -1
- package/{chunk-VETFWL5K.js → chunk-LNUOUGIY.js} +1 -1
- package/{chunk-GJUKGFHG.js → chunk-MV26343G.js} +4 -5
- package/{chunk-WT2IAJAJ.js → chunk-O26PCYLS.js} +77 -10
- package/{chunk-B4PW6UAI.js → chunk-P4U2QMT5.js} +14 -13
- package/{chunk-X6YIXGPT.js → chunk-P6GMCCAT.js} +1 -1
- package/{chunk-EHO5EGU4.js → chunk-PEXU23PJ.js} +7 -7
- package/{chunk-7EMJBGCA.js → chunk-PHINMJJZ.js} +36 -27
- package/{chunk-46CRK7XP.js → chunk-Q3SKC2TQ.js} +3 -3
- package/{chunk-NILSKYOE.js → chunk-Q7JFHTQT.js} +2 -2
- package/{chunk-HBTA2SGQ.js → chunk-QL32RJFG.js} +3 -3
- package/{chunk-G4EMOUX3.js → chunk-QMQBSKUP.js} +14 -14
- package/{chunk-232453C2.js → chunk-QZYL5UNG.js} +16 -12
- package/{chunk-IS5VEM2G.js → chunk-RESDFLXS.js} +1 -1
- package/{chunk-ISHYYQJC.js → chunk-S5XGT6GB.js} +1 -1
- package/{chunk-LS2MI3B4.js → chunk-TC6TTNZW.js} +2 -2
- package/{chunk-T5V7HA3K.js → chunk-U7ZDIW37.js} +1 -1
- package/{chunk-55VQ4OPL.js → chunk-V2AB7ULS.js} +2 -2
- package/{chunk-VBSVA6CB.js → chunk-X5VY2LEV.js} +2 -2
- package/{chunk-O6OSWFZQ.js → chunk-XUWRURDF.js} +6 -0
- package/{chunk-Q67DOFOO.js → chunk-Y3PMXGLH.js} +2 -0
- package/{chunk-25GAGMRK.js → chunk-YFIUVDQY.js} +2 -2
- package/{chunk-OY5IJI2N.js → chunk-YUNJN43V.js} +23 -3
- package/{commandRegistry-BP5JLW24.js → commandRegistry-T4PY3XBY.js} +72 -61
- package/{contentThunks-2HYFUXUM.js → contentThunks-7SBK3Y7B.js} +8 -8
- package/{createAgentAutomationAction-DCKUSJH7.js → createAgentAutomationAction-NPD23L7Y.js} +8 -8
- package/{createDialogAction-NRIAEH2A.js → createDialogAction-2JVPW2WV.js} +11 -10
- package/{createPageAction-AUJHHXGG.js → createPageAction-UUIPRGHK.js} +8 -8
- package/{dialogCommands-UJRGCRN6.js → dialogCommands-7JXIBGPD.js} +17 -16
- package/{dialogSlice-AHU4XXIW.js → dialogSlice-Q2QUTMHK.js} +7 -7
- package/{docCreateCommands-ZOV3ZBLW.js → docCreateCommands-2JDSCRGB.js} +16 -15
- package/{docDeleteCommands-G4KAXJYQ.js → docDeleteCommands-Y4XRBWKE.js} +17 -16
- package/{docReadCommands-B2MM3JIT.js → docReadCommands-35FY3PYU.js} +16 -15
- package/{docStore-SITH63V3.js → docStore-FWQIXF33.js} +1 -1
- package/{docUpdateCommands-2QNF5CYN.js → docUpdateCommands-MT7YKSP7.js} +16 -15
- package/{getPricing-OX7B4R6B.js → getPricing-NMMFT3YI.js} +3 -3
- package/{handleSendMessageAction-7ZMJMWLC.js → handleSendMessageAction-W33QLNXQ.js} +20 -9
- package/index.js +19 -4
- package/{machineCommands-YCTD5KOL.js → machineCommands-HLEUUEKS.js} +29 -28
- package/{machineWsRunDispatch-JFMD4ZAW.js → machineWsRunDispatch-DWBXW7XY.js} +29 -28
- package/{models-T3SG6MJ5.js → models-ZPU5EDF4.js} +2 -2
- package/package.json +1 -1
- package/{providerPresetApply-2QTBYN36.js → providerPresetApply-XTEXOH7X.js} +6 -6
- package/{providerRegistry-SVXE4G4T.js → providerRegistry-ADYDSLKR.js} +6 -6
- package/{readlineWorkspace-M3PLTBLD.js → readlineWorkspace-32ILQXZJ.js} +34 -33
- package/{runAgentClientLoop-QMCXBOBH.js → runAgentClientLoop-MSCR5Y3E.js} +21 -20
- package/{spaceCommands-3U6OHM6O.js → spaceCommands-UYWX63IP.js} +16 -15
- package/{streamAgentChatTurn-JPMJQSEE.js → streamAgentChatTurn-73OAEDOJ.js} +24 -23
- package/{tools-XQ5GIH6P.js → tools-6IUC3EFI.js} +18 -17
- package/{tuiSummaryLlmCaller-L63PDJUD.js → tuiSummaryLlmCaller-RVWN63CP.js} +5 -5
- package/{updateCommands-ECWKIWLQ.js → updateCommands-4EHDLF5J.js} +1 -1
- package/{updateDialogTitleAction-EGAZMLUB.js → updateDialogTitleAction-KCAY2OZF.js} +8 -8
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
assembleAgentDiscoveryResult,
|
|
6
6
|
resolveDiscoveryScope
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-5RUECWE2.js";
|
|
8
8
|
import {
|
|
9
9
|
fetchWithTransientRetry
|
|
10
10
|
} from "./chunk-5UTFL4QJ.js";
|
|
@@ -35,7 +35,7 @@ import {
|
|
|
35
35
|
} from "./chunk-3VNWWVKB.js";
|
|
36
36
|
import {
|
|
37
37
|
createDialogAction
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-66MWFK6R.js";
|
|
39
39
|
import {
|
|
40
40
|
addMemberSpace,
|
|
41
41
|
fetchAuthoritativeRemoteSpace,
|
|
@@ -59,7 +59,7 @@ import {
|
|
|
59
59
|
} from "./chunk-VF4K2QE6.js";
|
|
60
60
|
import {
|
|
61
61
|
createDocState
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-Q7JFHTQT.js";
|
|
63
63
|
import {
|
|
64
64
|
setDialogExtraReferencesAction
|
|
65
65
|
} from "./chunk-BTSYHR7J.js";
|
|
@@ -98,7 +98,7 @@ import {
|
|
|
98
98
|
updateContentCategory,
|
|
99
99
|
updateContentTitle,
|
|
100
100
|
writeStoredCollapsedCategories
|
|
101
|
-
} from "./chunk-
|
|
101
|
+
} from "./chunk-BPCPBG2O.js";
|
|
102
102
|
import {
|
|
103
103
|
getCurrentSpaceId,
|
|
104
104
|
getCurrentSpaceIdRaw,
|
|
@@ -120,14 +120,14 @@ import {
|
|
|
120
120
|
selectMsgById,
|
|
121
121
|
uiAskChoiceFunc,
|
|
122
122
|
uiAskChoiceFunctionSchema
|
|
123
|
-
} from "./chunk-
|
|
123
|
+
} from "./chunk-6PPDYAMH.js";
|
|
124
124
|
import {
|
|
125
125
|
createAgent,
|
|
126
126
|
deleteServerSyncedCredential,
|
|
127
127
|
runLlm,
|
|
128
128
|
streamAgentChatTurn,
|
|
129
129
|
updateAgent
|
|
130
|
-
} from "./chunk-
|
|
130
|
+
} from "./chunk-Q3SKC2TQ.js";
|
|
131
131
|
import {
|
|
132
132
|
getActiveDialogKey,
|
|
133
133
|
selectCurrentDialogKey,
|
|
@@ -144,10 +144,10 @@ import {
|
|
|
144
144
|
resolveBuiltinCapability,
|
|
145
145
|
resolveBuiltinSkillByName,
|
|
146
146
|
resolveBuiltinSkillEntry
|
|
147
|
-
} from "./chunk-
|
|
147
|
+
} from "./chunk-V2AB7ULS.js";
|
|
148
148
|
import {
|
|
149
149
|
CAPABILITY_PACKS
|
|
150
|
-
} from "./chunk-
|
|
150
|
+
} from "./chunk-EMBK4B7D.js";
|
|
151
151
|
import {
|
|
152
152
|
buildSkillDocMarkdown,
|
|
153
153
|
normalizeSkillModalities,
|
|
@@ -190,7 +190,7 @@ import {
|
|
|
190
190
|
DEFAULT_MODEL,
|
|
191
191
|
clampReasoningEffort,
|
|
192
192
|
resolveModelReasoningCapabilityWithCache
|
|
193
|
-
} from "./chunk-
|
|
193
|
+
} from "./chunk-3BXNTXYI.js";
|
|
194
194
|
import {
|
|
195
195
|
UNCATEGORIZED_ID,
|
|
196
196
|
addContentAction,
|
|
@@ -203,7 +203,14 @@ import {
|
|
|
203
203
|
import {
|
|
204
204
|
canonicalizeToolName,
|
|
205
205
|
canonicalizeToolNames
|
|
206
|
-
} from "./chunk-
|
|
206
|
+
} from "./chunk-XUWRURDF.js";
|
|
207
|
+
import {
|
|
208
|
+
CHROME_CONNECTOR_ACCEPTED_TOOL_NAMES,
|
|
209
|
+
chromeConnectorToolSchemas,
|
|
210
|
+
chromeConnectorUnavailableFunc,
|
|
211
|
+
getChromeConnectorToolBehavior,
|
|
212
|
+
getChromeConnectorToolDefaultConsent
|
|
213
|
+
} from "./chunk-5J3PYNUP.js";
|
|
207
214
|
import {
|
|
208
215
|
AGENT_UPDATE_FIELD_NAMES,
|
|
209
216
|
normalizeAgentUpdateFieldList,
|
|
@@ -1020,7 +1027,7 @@ var HOSTED_EXEC_RUNTIME_TOOL_POLICY = {
|
|
|
1020
1027
|
workspace: { mode: "lease" }
|
|
1021
1028
|
};
|
|
1022
1029
|
var findModelConfig = async (modelName, provider) => {
|
|
1023
|
-
const { ALL_MODELS } = await import("./models-
|
|
1030
|
+
const { ALL_MODELS } = await import("./models-ZPU5EDF4.js");
|
|
1024
1031
|
const name = toTrimmedString(modelName);
|
|
1025
1032
|
const prov = toTrimmedString(provider ?? "");
|
|
1026
1033
|
if (!name) return null;
|
|
@@ -1265,7 +1272,7 @@ var buildPlatformFormDataFromArgs = async (args) => {
|
|
|
1265
1272
|
const trimmedModel = toTrimmedString(model);
|
|
1266
1273
|
const trimmedProvider = toTrimmedString(provider);
|
|
1267
1274
|
const modelConfig = await findModelConfig(trimmedModel, trimmedProvider);
|
|
1268
|
-
const { getModelPricing } = await import("./getPricing-
|
|
1275
|
+
const { getModelPricing } = await import("./getPricing-NMMFT3YI.js");
|
|
1269
1276
|
const normalizedTools = tools ?? [];
|
|
1270
1277
|
const resolvedRuntimeToolPolicy = runtimeToolPolicy ?? (normalizedTools.includes("execShell") ? HOSTED_EXEC_RUNTIME_TOOL_POLICY : void 0);
|
|
1271
1278
|
const formData = {
|
|
@@ -3974,7 +3981,7 @@ async function deleteDialogsFunc(args, thunkApi) {
|
|
|
3974
3981
|
const deletedDialogIds = [];
|
|
3975
3982
|
const deletedDialogKeys = [];
|
|
3976
3983
|
const failures = [];
|
|
3977
|
-
const { deleteDialog: deleteDialog2 } = await import("./dialogSlice-
|
|
3984
|
+
const { deleteDialog: deleteDialog2 } = await import("./dialogSlice-Q2QUTMHK.js");
|
|
3978
3985
|
for (const target of targets) {
|
|
3979
3986
|
try {
|
|
3980
3987
|
await thunkApi.dispatch(deleteDialog2(target.dbKey)).unwrap();
|
|
@@ -9374,214 +9381,6 @@ ${preview}`
|
|
|
9374
9381
|
};
|
|
9375
9382
|
}
|
|
9376
9383
|
|
|
9377
|
-
// packages/ai/tools/chromeConnectorTools.ts
|
|
9378
|
-
var CHROME_CONNECTOR_TOOL_NAMES = [
|
|
9379
|
-
"chrome_list_tabs",
|
|
9380
|
-
"chrome_open_tab",
|
|
9381
|
-
"chrome_close_tab",
|
|
9382
|
-
"chrome_read_page",
|
|
9383
|
-
"chrome_click",
|
|
9384
|
-
"chrome_type",
|
|
9385
|
-
"chrome_press",
|
|
9386
|
-
"chrome_scroll",
|
|
9387
|
-
"chrome_screenshot",
|
|
9388
|
-
"chrome_read_console",
|
|
9389
|
-
"chrome_read_network"
|
|
9390
|
-
];
|
|
9391
|
-
var CHROME_CONNECTOR_READ_TOOL_NAMES = [
|
|
9392
|
-
"chrome_list_tabs",
|
|
9393
|
-
"chrome_read_page",
|
|
9394
|
-
"chrome_screenshot",
|
|
9395
|
-
"chrome_read_console",
|
|
9396
|
-
"chrome_read_network"
|
|
9397
|
-
];
|
|
9398
|
-
var getChromeConnectorToolBehavior = (name) => CHROME_CONNECTOR_READ_TOOL_NAMES.includes(name) ? "data" : "action";
|
|
9399
|
-
var getChromeConnectorToolDefaultConsent = (name) => CHROME_CONNECTOR_READ_TOOL_NAMES.includes(name) ? "auto" : "ask";
|
|
9400
|
-
function baseSchema(name, description, properties, required = []) {
|
|
9401
|
-
return {
|
|
9402
|
-
name,
|
|
9403
|
-
description,
|
|
9404
|
-
parameters: {
|
|
9405
|
-
type: "object",
|
|
9406
|
-
properties,
|
|
9407
|
-
required
|
|
9408
|
-
}
|
|
9409
|
-
};
|
|
9410
|
-
}
|
|
9411
|
-
var tabId = {
|
|
9412
|
-
type: "string",
|
|
9413
|
-
description: "Chrome tab id returned by chrome_list_tabs or chrome_open_tab."
|
|
9414
|
-
};
|
|
9415
|
-
var elementRef = {
|
|
9416
|
-
type: "string",
|
|
9417
|
-
description: "Revision-scoped ref like 1a2b3c4d-e2, copied verbatim from chrome_read_page; preferred over selector when available."
|
|
9418
|
-
};
|
|
9419
|
-
var selector = {
|
|
9420
|
-
type: "string",
|
|
9421
|
-
description: "CSS selector for the visible page element to operate on; fallback when no elementRef is available."
|
|
9422
|
-
};
|
|
9423
|
-
var chromeListTabsFunctionSchema = baseSchema(
|
|
9424
|
-
"chrome_list_tabs",
|
|
9425
|
-
"List controllable Chrome tabs from the user's Chrome profile through the Nolo desktop Chrome connector.",
|
|
9426
|
-
{}
|
|
9427
|
-
);
|
|
9428
|
-
var chromeOpenTabFunctionSchema = baseSchema(
|
|
9429
|
-
"chrome_open_tab",
|
|
9430
|
-
"Open a URL in the user's Chrome browser through the Nolo desktop Chrome connector.",
|
|
9431
|
-
{
|
|
9432
|
-
url: {
|
|
9433
|
-
type: "string",
|
|
9434
|
-
description: "HTTP or HTTPS URL to open in Chrome."
|
|
9435
|
-
},
|
|
9436
|
-
active: {
|
|
9437
|
-
type: "boolean",
|
|
9438
|
-
description: "Whether to focus the new Chrome tab. Defaults to true."
|
|
9439
|
-
}
|
|
9440
|
-
},
|
|
9441
|
-
["url"]
|
|
9442
|
-
);
|
|
9443
|
-
var chromeCloseTabFunctionSchema = baseSchema(
|
|
9444
|
-
"chrome_close_tab",
|
|
9445
|
-
"Close a Chrome tab through the Nolo desktop Chrome connector. Prefer closing the tabs your own run opened with chrome_open_tab, and ask the user before closing a tab they are using. Pinned tabs are refused (TAB_PINNED); unknown tab ids fail (TAB_NOT_FOUND).",
|
|
9446
|
-
{
|
|
9447
|
-
tabId
|
|
9448
|
-
},
|
|
9449
|
-
["tabId"]
|
|
9450
|
-
);
|
|
9451
|
-
var chromeReadPageFunctionSchema = baseSchema(
|
|
9452
|
-
"chrome_read_page",
|
|
9453
|
-
"Read a compact view of a Chrome tab: visible text (hard cap 6000 chars) plus short-lived elementRefs (hard cap 35) and a pageRevision. Reuse those refs for chrome_click and chrome_type instead of guessing selectors; use region to focus a big page. Does not read cookies or profile databases.",
|
|
9454
|
-
{
|
|
9455
|
-
tabId,
|
|
9456
|
-
region: {
|
|
9457
|
-
type: "string",
|
|
9458
|
-
description: "Optional CSS selector limiting the read to part of the page."
|
|
9459
|
-
},
|
|
9460
|
-
maxChars: {
|
|
9461
|
-
type: "number",
|
|
9462
|
-
description: "Optional text character budget; the connector clamps it to a hard maximum."
|
|
9463
|
-
},
|
|
9464
|
-
detail: {
|
|
9465
|
-
type: "string",
|
|
9466
|
-
enum: ["compact", "full"],
|
|
9467
|
-
description: "compact (default) returns budgeted text; full raises the budget and adds capped HTML."
|
|
9468
|
-
}
|
|
9469
|
-
},
|
|
9470
|
-
["tabId"]
|
|
9471
|
-
);
|
|
9472
|
-
var chromeClickFunctionSchema = baseSchema(
|
|
9473
|
-
"chrome_click",
|
|
9474
|
-
"Click a visible element in a Chrome tab by elementRef from chrome_read_page, or by CSS selector. Controls whose name indicates an irreversible external action (payment, send, delete, publish, permission change) are refused with SENSITIVE_ACTION_REQUIRES_CONFIRMATION: this desktop runtime has no approval channel, so name the control and ask the user to activate it themselves.",
|
|
9475
|
-
{
|
|
9476
|
-
tabId,
|
|
9477
|
-
elementRef,
|
|
9478
|
-
selector
|
|
9479
|
-
},
|
|
9480
|
-
["tabId"]
|
|
9481
|
-
);
|
|
9482
|
-
var chromeTypeFunctionSchema = baseSchema(
|
|
9483
|
-
"chrome_type",
|
|
9484
|
-
"Type text into a Chrome page element identified by elementRef from chrome_read_page or by CSS selector. Typing into a control whose name indicates an irreversible external action is refused with SENSITIVE_ACTION_REQUIRES_CONFIRMATION, same as clicking it.",
|
|
9485
|
-
{
|
|
9486
|
-
tabId,
|
|
9487
|
-
elementRef,
|
|
9488
|
-
selector,
|
|
9489
|
-
text: {
|
|
9490
|
-
type: "string",
|
|
9491
|
-
description: "Text to type into the selected element."
|
|
9492
|
-
},
|
|
9493
|
-
clearFirst: {
|
|
9494
|
-
type: "boolean",
|
|
9495
|
-
description: "Whether to clear the field before typing. Defaults to true."
|
|
9496
|
-
}
|
|
9497
|
-
},
|
|
9498
|
-
["tabId", "text"]
|
|
9499
|
-
);
|
|
9500
|
-
var chromePressFunctionSchema = baseSchema(
|
|
9501
|
-
"chrome_press",
|
|
9502
|
-
"Send a keyboard key or shortcut to a Chrome tab. Enter-like keys are refused with SENSITIVE_ACTION_REQUIRES_CONFIRMATION when the focused control is an irreversible action.",
|
|
9503
|
-
{
|
|
9504
|
-
tabId,
|
|
9505
|
-
key: {
|
|
9506
|
-
type: "string",
|
|
9507
|
-
description: "Key or shortcut, for example Enter, Escape, ArrowDown, or Meta+L."
|
|
9508
|
-
}
|
|
9509
|
-
},
|
|
9510
|
-
["tabId", "key"]
|
|
9511
|
-
);
|
|
9512
|
-
var chromeScrollFunctionSchema = baseSchema(
|
|
9513
|
-
"chrome_scroll",
|
|
9514
|
-
"Scroll a Chrome tab by pixel deltas.",
|
|
9515
|
-
{
|
|
9516
|
-
tabId,
|
|
9517
|
-
deltaX: {
|
|
9518
|
-
type: "number",
|
|
9519
|
-
description: "Horizontal scroll delta in pixels."
|
|
9520
|
-
},
|
|
9521
|
-
deltaY: {
|
|
9522
|
-
type: "number",
|
|
9523
|
-
description: "Vertical scroll delta in pixels."
|
|
9524
|
-
}
|
|
9525
|
-
},
|
|
9526
|
-
["tabId"]
|
|
9527
|
-
);
|
|
9528
|
-
var chromeScreenshotFunctionSchema = baseSchema(
|
|
9529
|
-
"chrome_screenshot",
|
|
9530
|
-
"Capture a screenshot from a Chrome tab through the Nolo desktop Chrome connector.",
|
|
9531
|
-
{
|
|
9532
|
-
tabId,
|
|
9533
|
-
fullPage: {
|
|
9534
|
-
type: "boolean",
|
|
9535
|
-
description: "Whether to capture the full page. Defaults to false."
|
|
9536
|
-
}
|
|
9537
|
-
},
|
|
9538
|
-
["tabId"]
|
|
9539
|
-
);
|
|
9540
|
-
var chromeReadConsoleFunctionSchema = baseSchema(
|
|
9541
|
-
"chrome_read_console",
|
|
9542
|
-
"Read recent console messages from a Chrome tab using debugger-backed connector state.",
|
|
9543
|
-
{
|
|
9544
|
-
tabId,
|
|
9545
|
-
limit: {
|
|
9546
|
-
type: "number",
|
|
9547
|
-
description: "Maximum number of recent console messages to return."
|
|
9548
|
-
}
|
|
9549
|
-
},
|
|
9550
|
-
["tabId"]
|
|
9551
|
-
);
|
|
9552
|
-
var chromeReadNetworkFunctionSchema = baseSchema(
|
|
9553
|
-
"chrome_read_network",
|
|
9554
|
-
"Read a deduplicated recent network summary from a Chrome tab using debugger-backed connector state. Static assets are filtered unless includeAssets is set.",
|
|
9555
|
-
{
|
|
9556
|
-
tabId,
|
|
9557
|
-
limit: {
|
|
9558
|
-
type: "number",
|
|
9559
|
-
description: "Maximum number of recent network entries to return."
|
|
9560
|
-
},
|
|
9561
|
-
includeAssets: {
|
|
9562
|
-
type: "boolean",
|
|
9563
|
-
description: "Include images, CSS, fonts and other static assets. Defaults to false."
|
|
9564
|
-
}
|
|
9565
|
-
},
|
|
9566
|
-
["tabId"]
|
|
9567
|
-
);
|
|
9568
|
-
var chromeConnectorToolSchemas = [
|
|
9569
|
-
chromeListTabsFunctionSchema,
|
|
9570
|
-
chromeOpenTabFunctionSchema,
|
|
9571
|
-
chromeCloseTabFunctionSchema,
|
|
9572
|
-
chromeReadPageFunctionSchema,
|
|
9573
|
-
chromeClickFunctionSchema,
|
|
9574
|
-
chromeTypeFunctionSchema,
|
|
9575
|
-
chromePressFunctionSchema,
|
|
9576
|
-
chromeScrollFunctionSchema,
|
|
9577
|
-
chromeScreenshotFunctionSchema,
|
|
9578
|
-
chromeReadConsoleFunctionSchema,
|
|
9579
|
-
chromeReadNetworkFunctionSchema
|
|
9580
|
-
];
|
|
9581
|
-
async function chromeConnectorUnavailableFunc() {
|
|
9582
|
-
throw new Error("Chrome connector tools are only executable in the Nolo desktop local runtime.");
|
|
9583
|
-
}
|
|
9584
|
-
|
|
9585
9384
|
// packages/ai/tools/exaSearchTool.ts
|
|
9586
9385
|
var exaSearchSchema = {
|
|
9587
9386
|
name: "exa_search",
|
|
@@ -15085,7 +14884,7 @@ var executeToolRun = createAsyncThunk(
|
|
|
15085
14884
|
if (!executionInput) {
|
|
15086
14885
|
throw new Error(`ToolRun ${id} has no input to execute with.`);
|
|
15087
14886
|
}
|
|
15088
|
-
const { findToolExecutor: findToolExecutor2 } = await import("./tools-
|
|
14887
|
+
const { findToolExecutor: findToolExecutor2 } = await import("./tools-6IUC3EFI.js");
|
|
15089
14888
|
const { executor } = findToolExecutor2(run.toolName);
|
|
15090
14889
|
toolRunStarted({
|
|
15091
14890
|
id: run.id,
|
|
@@ -17592,7 +17391,7 @@ async function updateDocFunc(args, thunkApi) {
|
|
|
17592
17391
|
updated_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
17593
17392
|
};
|
|
17594
17393
|
await dispatch(write({ data: updatedPageData, customKey: id })).unwrap();
|
|
17595
|
-
const { getDocState, applyExternalDocUpdate } = await import("./docStore-
|
|
17394
|
+
const { getDocState, applyExternalDocUpdate } = await import("./docStore-FWQIXF33.js");
|
|
17596
17395
|
if (getDocState().pageKey === id) {
|
|
17597
17396
|
applyExternalDocUpdate({
|
|
17598
17397
|
slateData: finalSlateData,
|
|
@@ -19415,7 +19214,7 @@ var baseToolDefinitions = [
|
|
|
19415
19214
|
},
|
|
19416
19215
|
behavior: getChromeConnectorToolBehavior(name),
|
|
19417
19216
|
capability: "browser_automation",
|
|
19418
|
-
riskLevel: name === "
|
|
19217
|
+
riskLevel: name === "browser_click_element" || name === "browser_type" ? "medium" : "low",
|
|
19419
19218
|
costLevel: "low",
|
|
19420
19219
|
defaultConsent: getChromeConnectorToolDefaultConsent(name),
|
|
19421
19220
|
cancelable: true
|
|
@@ -19849,7 +19648,7 @@ var toolDefinitions = [
|
|
|
19849
19648
|
];
|
|
19850
19649
|
var ALL_TOOL_FUNCTION_NAMES = toolDefinitions.map((tool) => tool.schema?.name).filter((name) => Boolean(name));
|
|
19851
19650
|
var AGENT_AVAILABLE_TOOL_NAMES = ALL_TOOL_FUNCTION_NAMES.filter(
|
|
19852
|
-
(name) => name !== "toolquery" && !name.startsWith("browser_") && name !== "exa_search"
|
|
19651
|
+
(name) => name !== "toolquery" && (!name.startsWith("browser_") || CHROME_CONNECTOR_ACCEPTED_TOOL_NAMES.includes(name)) && name !== "exa_search"
|
|
19853
19652
|
);
|
|
19854
19653
|
var patchAgentToolSchemas = () => {
|
|
19855
19654
|
try {
|
|
@@ -19918,7 +19717,6 @@ export {
|
|
|
19918
19717
|
readXPostFunc,
|
|
19919
19718
|
readXhsProfileFunctionSchema,
|
|
19920
19719
|
readXhsProfileFunc,
|
|
19921
|
-
CHROME_CONNECTOR_TOOL_NAMES,
|
|
19922
19720
|
rememberMemoryFunctionSchema,
|
|
19923
19721
|
deleteMemoryFunctionSchema,
|
|
19924
19722
|
queryMemoryFunctionSchema,
|
|
@@ -523,7 +523,7 @@ async function buildCreatedAgentRecord(args) {
|
|
|
523
523
|
const resolvedAgentInput = resolveCliAgentKeyInput(args.parsed.agentInput);
|
|
524
524
|
const agentKey = resolvedAgentInput.startsWith("agent-") ? resolvedAgentInput : createAgentKey.private(userId || "local", resolvedAgentInput);
|
|
525
525
|
if (args.parsed.presetId) {
|
|
526
|
-
const { resolveProviderPresetFields } = await import("./providerPresetApply-
|
|
526
|
+
const { resolveProviderPresetFields } = await import("./providerPresetApply-XTEXOH7X.js");
|
|
527
527
|
const fields = resolveProviderPresetFields(args.parsed.presetId);
|
|
528
528
|
if (fields.kind === "manual") {
|
|
529
529
|
throw new Error(
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
listUserRecordsFromServers,
|
|
3
3
|
readLiveDbRecordAfterTombstoneMerge
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-LNUOUGIY.js";
|
|
5
5
|
import {
|
|
6
6
|
agentRecordHasConfiguredCredential
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-IBQ6NJI4.js";
|
|
8
8
|
import {
|
|
9
9
|
deriveCredentialGroup
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-5RUECWE2.js";
|
|
11
11
|
import {
|
|
12
12
|
PUBLIC_AGENT_KEY_PREFIX,
|
|
13
|
-
isOwnedAgentKey,
|
|
14
13
|
ownedAgentKey,
|
|
15
14
|
ownedAgentKeyPrefix,
|
|
16
15
|
parseOwnedAgentId,
|
|
@@ -104,7 +103,7 @@ async function listLocalCachedAgents(args) {
|
|
|
104
103
|
for (const prefix of [ownedPrefix, PUBLIC_AGENT_KEY_PREFIX]) {
|
|
105
104
|
for await (const [key, value] of args.db.iterator({ gte: prefix, lte: `${prefix}\uFFFF` })) {
|
|
106
105
|
if (typeof key !== "string" || !value || typeof value !== "object") continue;
|
|
107
|
-
if (
|
|
106
|
+
if (key.startsWith(ownedPrefix)) {
|
|
108
107
|
privateRecords.set(key, { ...value, dbKey: key });
|
|
109
108
|
continue;
|
|
110
109
|
}
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
getAntigravityUserAgent,
|
|
12
12
|
normalizeAntigravityTokenPayload,
|
|
13
13
|
refreshAntigravityToken
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-S5XGT6GB.js";
|
|
15
15
|
import {
|
|
16
16
|
toErrorMessage
|
|
17
17
|
} from "./chunk-HNMXYYJR.js";
|
|
@@ -367,6 +367,77 @@ async function refreshAntigravityOAuthToken(credential, deps = {}) {
|
|
|
367
367
|
// packages/cli/oauth/flows/openai-codex.ts
|
|
368
368
|
import { createHash as createHash2 } from "node:crypto";
|
|
369
369
|
|
|
370
|
+
// packages/agent-runtime/oauthRefreshError.ts
|
|
371
|
+
var PERMANENT_REFRESH_CODES = /* @__PURE__ */ new Set([
|
|
372
|
+
"invalid_grant",
|
|
373
|
+
// OpenAI 令牌端点对失效/不存在的 refresh token 返回 401
|
|
374
|
+
// {"error":{"code":"invalid_refresh_token",...}}(2026-10-01 用必然无效的
|
|
375
|
+
// token 实测)。线上 chatgpt 凭据正是因为没认出它,被当成临时的
|
|
376
|
+
// "unauthorized"、每 15 分钟重试一次且永远不提示重新授权。
|
|
377
|
+
"invalid_refresh_token",
|
|
378
|
+
"refresh_token_reused",
|
|
379
|
+
"invalid_client"
|
|
380
|
+
]);
|
|
381
|
+
var SAFE_MESSAGES = {
|
|
382
|
+
invalid_grant: "refresh token \u5DF2\u5931\u6548\uFF0C\u8BF7\u91CD\u65B0\u6388\u6743",
|
|
383
|
+
invalid_refresh_token: "refresh token \u5DF2\u5931\u6548\uFF0C\u8BF7\u91CD\u65B0\u6388\u6743",
|
|
384
|
+
refresh_token_reused: "refresh token \u5DF2\u88AB\u5176\u4ED6\u526F\u672C\u4F7F\u7528\uFF0C\u8BF7\u91CD\u65B0\u6388\u6743",
|
|
385
|
+
invalid_client: "OAuth \u5BA2\u6237\u7AEF\u88AB\u62D2\u7EDD\uFF0C\u8BF7\u91CD\u65B0\u6388\u6743",
|
|
386
|
+
unauthorized: "\u4E0A\u6E38\u62D2\u7EDD\u4E86\u5237\u65B0\u8BF7\u6C42\uFF08401/403\uFF09",
|
|
387
|
+
rate_limited: "\u4E0A\u6E38\u9650\u6D41\uFF0C\u7A0D\u540E\u91CD\u8BD5",
|
|
388
|
+
http_5xx: "\u4E0A\u6E38\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528",
|
|
389
|
+
network: "\u65E0\u6CD5\u8FDE\u63A5\u4E0A\u6E38",
|
|
390
|
+
bad_response: "\u4E0A\u6E38\u8FD4\u56DE\u4E86\u65E0\u6CD5\u8BC6\u522B\u7684\u54CD\u5E94",
|
|
391
|
+
unknown: "\u5237\u65B0\u5931\u8D25"
|
|
392
|
+
};
|
|
393
|
+
var OAuthRefreshError = class extends Error {
|
|
394
|
+
code;
|
|
395
|
+
status;
|
|
396
|
+
retryAfterMs;
|
|
397
|
+
constructor(code, opts = {}) {
|
|
398
|
+
super(SAFE_MESSAGES[code]);
|
|
399
|
+
this.name = "OAuthRefreshError";
|
|
400
|
+
this.code = code;
|
|
401
|
+
if (opts.status !== void 0) this.status = opts.status;
|
|
402
|
+
if (opts.retryAfterMs !== void 0) this.retryAfterMs = opts.retryAfterMs;
|
|
403
|
+
}
|
|
404
|
+
get permanent() {
|
|
405
|
+
return PERMANENT_REFRESH_CODES.has(this.code);
|
|
406
|
+
}
|
|
407
|
+
};
|
|
408
|
+
function readErrorCode(payload) {
|
|
409
|
+
if (!payload || typeof payload !== "object") return void 0;
|
|
410
|
+
const err = payload.error;
|
|
411
|
+
if (typeof err === "string") return err;
|
|
412
|
+
if (err && typeof err === "object") {
|
|
413
|
+
const code = err.code;
|
|
414
|
+
if (typeof code === "string") return code;
|
|
415
|
+
}
|
|
416
|
+
return void 0;
|
|
417
|
+
}
|
|
418
|
+
function classifyOAuthRefreshHttpFailure(status, payload, headers) {
|
|
419
|
+
const raw = readErrorCode(payload)?.toLowerCase();
|
|
420
|
+
if (raw === "invalid_grant") return new OAuthRefreshError("invalid_grant", { status });
|
|
421
|
+
if (raw === "invalid_refresh_token") {
|
|
422
|
+
return new OAuthRefreshError("invalid_refresh_token", { status });
|
|
423
|
+
}
|
|
424
|
+
if (raw === "refresh_token_reused") {
|
|
425
|
+
return new OAuthRefreshError("refresh_token_reused", { status });
|
|
426
|
+
}
|
|
427
|
+
if (raw === "invalid_client") return new OAuthRefreshError("invalid_client", { status });
|
|
428
|
+
if (status === 429) {
|
|
429
|
+
const seconds = Number(headers?.get("retry-after"));
|
|
430
|
+
return new OAuthRefreshError("rate_limited", {
|
|
431
|
+
status,
|
|
432
|
+
...Number.isFinite(seconds) && seconds > 0 ? { retryAfterMs: seconds * 1e3 } : {}
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
if (status === 401 || status === 403) return new OAuthRefreshError("unauthorized", { status });
|
|
436
|
+
if (status >= 500) return new OAuthRefreshError("http_5xx", { status });
|
|
437
|
+
return new OAuthRefreshError("unknown", { status });
|
|
438
|
+
}
|
|
439
|
+
var TRANSIENT_MAX_MS = 15 * 6e4;
|
|
440
|
+
|
|
370
441
|
// packages/agent-runtime/openaiCodexOAuth.ts
|
|
371
442
|
var OPENAI_CODEX_CLIENT_ID = "app_EMoamEEZ73f0CkXaXp7hrann";
|
|
372
443
|
var OPENAI_CODEX_SCOPES = [
|
|
@@ -463,17 +534,14 @@ async function refreshOpenAiCodexToken(credential, deps = {}) {
|
|
|
463
534
|
signal: AbortSignal.timeout(OPENAI_CODEX_TOKEN_REQUEST_TIMEOUT_MS)
|
|
464
535
|
});
|
|
465
536
|
} catch (error) {
|
|
466
|
-
throw new
|
|
467
|
-
`OpenAI Codex token refresh failed: ${toErrorMessage(error)}`
|
|
468
|
-
);
|
|
537
|
+
throw new OAuthRefreshError("network");
|
|
469
538
|
}
|
|
470
539
|
const payload = await response.json().catch(() => ({}));
|
|
471
540
|
if (!response.ok) {
|
|
472
|
-
|
|
473
|
-
throw new Error(`OpenAI Codex token refresh failed: ${detail}`);
|
|
541
|
+
throw classifyOAuthRefreshHttpFailure(response.status, payload, response.headers);
|
|
474
542
|
}
|
|
475
543
|
if (typeof payload.access_token !== "string" || !payload.access_token.trim()) {
|
|
476
|
-
throw new
|
|
544
|
+
throw new OAuthRefreshError("bad_response");
|
|
477
545
|
}
|
|
478
546
|
const now = deps.now?.() ?? Date.now();
|
|
479
547
|
return normalizeOpenAiCodexTokenPayload({
|
|
@@ -1047,11 +1115,10 @@ async function refreshAnthropicToken(credential, deps = {}) {
|
|
|
1047
1115
|
});
|
|
1048
1116
|
const payload = await response.json().catch(() => ({}));
|
|
1049
1117
|
if (!response.ok) {
|
|
1050
|
-
|
|
1051
|
-
throw new Error(`Claude token refresh failed: ${detail}`);
|
|
1118
|
+
throw classifyOAuthRefreshHttpFailure(response.status, payload, response.headers);
|
|
1052
1119
|
}
|
|
1053
1120
|
if (typeof payload.access_token !== "string" || !payload.access_token.trim()) {
|
|
1054
|
-
throw new
|
|
1121
|
+
throw new OAuthRefreshError("bad_response");
|
|
1055
1122
|
}
|
|
1056
1123
|
const now = deps.now?.() ?? Date.now();
|
|
1057
1124
|
return normalizeAnthropicTokenPayload({
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
clipMultilineText,
|
|
9
9
|
fetchAndSerializeTable
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-GA77XY7N.js";
|
|
11
11
|
import {
|
|
12
12
|
isGatewayHttpStatus
|
|
13
13
|
} from "./chunk-NF64D32W.js";
|
|
@@ -29,19 +29,19 @@ import {
|
|
|
29
29
|
} from "./chunk-MEYIRKDN.js";
|
|
30
30
|
import {
|
|
31
31
|
fetchAndCacheMessages
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-6PPDYAMH.js";
|
|
33
33
|
import {
|
|
34
34
|
shouldUseServerProxy
|
|
35
35
|
} from "./chunk-YYLHWIW6.js";
|
|
36
36
|
import {
|
|
37
37
|
fetchServerSyncedCredential
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-Q3SKC2TQ.js";
|
|
39
39
|
import {
|
|
40
40
|
buildSkillGuidancePromptBlock,
|
|
41
41
|
extractRuntimePageCapabilities,
|
|
42
42
|
resolveBuiltinSkillPage,
|
|
43
43
|
resolveSkillGraphFromRoots
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-V2AB7ULS.js";
|
|
45
45
|
import {
|
|
46
46
|
DELETE_SAFETY_RED_LINE,
|
|
47
47
|
buildIdentityBlock,
|
|
@@ -50,7 +50,7 @@ import {
|
|
|
50
50
|
detectDispatchIntentFromMessages,
|
|
51
51
|
normalizeChatCompletionsBodyForProvider,
|
|
52
52
|
resolveToolGuidedSections
|
|
53
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-QL32RJFG.js";
|
|
54
54
|
import {
|
|
55
55
|
convertMessagesToResponsesInput,
|
|
56
56
|
getUsageRequestOptions,
|
|
@@ -60,10 +60,10 @@ import {
|
|
|
60
60
|
import {
|
|
61
61
|
ANTIGRAVITY_CLOUD_CODE_BASE_URL,
|
|
62
62
|
isAntigravityOAuthAgent
|
|
63
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-S5XGT6GB.js";
|
|
64
64
|
import {
|
|
65
65
|
buildProviderAuthHeaders
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-27ONFIEY.js";
|
|
67
67
|
import {
|
|
68
68
|
estimateTokenCount
|
|
69
69
|
} from "./chunk-PSCNXBYA.js";
|
|
@@ -74,7 +74,7 @@ import {
|
|
|
74
74
|
isOpenAiResponsesModel,
|
|
75
75
|
resolvePlatformChatCompletionsEndpoint,
|
|
76
76
|
resolvePlatformResponsesEndpoint
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-7KVZ5LDQ.js";
|
|
78
78
|
import {
|
|
79
79
|
toErrorMessage
|
|
80
80
|
} from "./chunk-HNMXYYJR.js";
|
|
@@ -82,7 +82,7 @@ import {
|
|
|
82
82
|
clampReasoningEffort,
|
|
83
83
|
getModelConfig,
|
|
84
84
|
isModelSupportReasoningEffort
|
|
85
|
-
} from "./chunk-
|
|
85
|
+
} from "./chunk-3BXNTXYI.js";
|
|
86
86
|
import {
|
|
87
87
|
createSpaceKey
|
|
88
88
|
} from "./chunk-UAD2WT54.js";
|
|
@@ -93,13 +93,13 @@ import {
|
|
|
93
93
|
} from "./chunk-2GRGFCF6.js";
|
|
94
94
|
import {
|
|
95
95
|
canonicalizeToolNames
|
|
96
|
-
} from "./chunk-
|
|
96
|
+
} from "./chunk-XUWRURDF.js";
|
|
97
97
|
import {
|
|
98
98
|
isDeepInfraKimiModel,
|
|
99
99
|
isFireworksKimiModel,
|
|
100
100
|
isPlatformMimoProviderModel,
|
|
101
101
|
resolveFireworksKimiModel
|
|
102
|
-
} from "./chunk-
|
|
102
|
+
} from "./chunk-Y3PMXGLH.js";
|
|
103
103
|
import {
|
|
104
104
|
read
|
|
105
105
|
} from "./chunk-QALRKMHF.js";
|
|
@@ -1224,7 +1224,7 @@ var buildProxyPayload = (bodyData, api, agentConfig, dialogId) => {
|
|
|
1224
1224
|
};
|
|
1225
1225
|
};
|
|
1226
1226
|
var fetchDirectly = async (params) => {
|
|
1227
|
-
const { api, agentConfig, bodyData, signal, currentServer, token } = params;
|
|
1227
|
+
const { api, agentConfig, bodyData, signal, currentServer, token, dialogId } = params;
|
|
1228
1228
|
try {
|
|
1229
1229
|
const apiKey = await resolveDirectRequestApiKey(agentConfig, {
|
|
1230
1230
|
syncFetcher: currentServer && token ? (ref) => fetchServerSyncedCredential({ currentServer, authToken: token }, ref) : void 0,
|
|
@@ -1244,7 +1244,8 @@ var fetchDirectly = async (params) => {
|
|
|
1244
1244
|
const authHeaders = buildProviderAuthHeaders({
|
|
1245
1245
|
endpoint: api,
|
|
1246
1246
|
apiKey: apiKey ?? "",
|
|
1247
|
-
apiKeyHeader: agentConfig.apiKeyHeader
|
|
1247
|
+
apiKeyHeader: agentConfig.apiKeyHeader,
|
|
1248
|
+
sessionId: dialogId || agentConfig.dbKey || agentConfig.key
|
|
1248
1249
|
});
|
|
1249
1250
|
return await fetch(api, {
|
|
1250
1251
|
method: "POST",
|