nolo-cli 0.54.0-alpha.2 → 0.61.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/{_executeModel-ANY4SIAS.js → _executeModel-CKT6RGTL.js} +58 -49
- package/{action-Q4W5JPI5.js → action-76JX3JX3.js} +9 -8
- package/{addContentAction-O25HFR37.js → addContentAction-V3NAZRTJ.js} +9 -7
- package/{addDialogAgentAction-GH7AUPPB.js → addDialogAgentAction-RZOAF46K.js} +11 -9
- package/{agentDeleteCommand-JWIKNWWI.js → agentDeleteCommand-VN7NPXQ4.js} +37 -32
- package/{agentEmailCommands-PL22BEU5.js → agentEmailCommands-F2TNAV4A.js} +73 -65
- package/{agentGrantCommands-2LEZDADN.js → agentGrantCommands-R3VQEZJR.js} +1 -1
- package/{agentListCommands-6NR7AQEK.js → agentListCommands-OSM2ANI3.js} +78 -39
- package/{agentMachineCommands-TASPU6OA.js → agentMachineCommands-MTPWYVRV.js} +38 -33
- package/{agentPullCommand-M552CYSI.js → agentPullCommand-N7L2CT7L.js} +2 -2
- package/agentRecordCommands-VWAWTVVC.js +122 -0
- package/agentRunCommand-PLZOBNVK.js +149 -0
- package/{agentRunControl-4GHHSXFZ.js → agentRunControl-WECMOO6O.js} +13 -6
- package/{agentRuntimeLocal-PCJJ56J2.js → agentRuntimeLocal-XCJLRWQE.js} +35 -28
- package/{agentSlice-KYLDUSNN.js → agentSlice-F6DOP4IW.js} +10 -9
- package/{appDeleteCommands-WLHMJAVT.js → appDeleteCommands-3BCFTRFJ.js} +37 -32
- package/{appDeployCommands-CKON7N2E.js → appDeployCommands-B4GMHCYA.js} +37 -32
- package/{appDeployStatusCommands-PXRLDASH.js → appDeployStatusCommands-4MN36WIG.js} +37 -32
- package/{appGetCommands-RAB5RM4M.js → appGetCommands-4GJIEUAX.js} +37 -32
- package/{appListCommands-GU57FB62.js → appListCommands-CHU53GSX.js} +37 -32
- package/{authCommand-QOPOEYEK.js → authCommand-WOTWLJNF.js} +38 -32
- package/{authCommands-SBQVTD6V.js → authCommands-ILTBI6JV.js} +8 -6
- package/{chatQueueReduxAdapter-5O2WLITN.js → chatQueueReduxAdapter-HNSQXNIR.js} +29 -24
- package/{chunk-WL3UOGYO.js → chunk-22BTGNSP.js} +151 -155
- package/{chunk-7CH6U3FL.js → chunk-2GRGFCF6.js} +2 -4
- package/{chunk-V4KZGLOI.js → chunk-2HPRMEEZ.js} +3059 -1079
- package/{chunk-UNZDCI3O.js → chunk-2KDR4CWE.js} +35 -4
- package/{chunk-VRZIH5JO.js → chunk-2PGGC63K.js} +1 -1
- package/{chunk-T27IEBNQ.js → chunk-2QDDKFG5.js} +74 -1
- package/{chunk-7K5VMB4Q.js → chunk-37QVS7BU.js} +21 -8
- package/{chunk-UITMHBVK.js → chunk-37XDGCY7.js} +1 -1
- package/chunk-3BLB7QKO.js +433 -0
- package/{chunk-NQ4N4IGO.js → chunk-3JQ2NRYU.js} +33 -10
- package/{chunk-UW4INMD2.js → chunk-3JWKQDA4.js} +2 -2
- package/{chunk-IKTHA3JH.js → chunk-3QGUVVX5.js} +2 -2
- package/{chunk-WHVQA7PJ.js → chunk-45YO6H7P.js} +97 -35
- package/chunk-4C4ST2YE.js +20015 -0
- package/{chunk-32I5RVMY.js → chunk-4NJEIGBQ.js} +5 -5
- package/{chunk-KUUTWU4I.js → chunk-5ZYA4JJ3.js} +90 -22
- package/chunk-6YTOJY35.js +352 -0
- package/{chunk-INXBNYCG.js → chunk-7A3RRUCQ.js} +155 -12
- package/{chunk-GV35EHNA.js → chunk-7O7KH4X5.js} +1262 -971
- package/{chunk-Y7LNKP32.js → chunk-7UF7CQ6B.js} +4 -6
- package/{chunk-2BWU4ORW.js → chunk-AQMVUA7N.js} +2 -1
- package/{chunk-LA4IDAK7.js → chunk-AVE2YR4F.js} +1056 -3591
- package/{chunk-TI5BCZCH.js → chunk-B7DXRX7F.js} +59 -121
- package/chunk-BFU6C242.js +66 -0
- package/{chunk-FA4SY4F5.js → chunk-BYEJ7K2Z.js} +1 -1
- package/chunk-BYXBJQAS.js +0 -0
- package/{chunk-IA3A5373.js → chunk-C3FZR5EC.js} +1 -1
- package/{chunk-IWUMSAQF.js → chunk-CJCJF5XB.js} +26 -3
- package/{chunk-PAHILFNT.js → chunk-CP7VIDZ7.js} +4 -4
- package/{chunk-OYNDYVSE.js → chunk-CTCW7U7N.js} +1 -1
- package/{chunk-BJLYCOZK.js → chunk-D5XKNNUV.js} +135 -795
- package/{chunk-AV6KQCM5.js → chunk-DNNSCSA2.js} +19 -14
- package/{chunk-3AOLVADY.js → chunk-DVINR3PL.js} +1 -1
- package/{chunk-NI2BS6UD.js → chunk-DWUCB2A3.js} +1 -1
- package/{chunk-AA564GBL.js → chunk-DZZL7UBV.js} +1 -1
- package/{chunk-6FGXGFAH.js → chunk-E6RGHPDR.js} +6 -4
- package/chunk-EDKF7RX4.js +30 -0
- package/{chunk-6SZ52ORL.js → chunk-ES6CVKVD.js} +24 -30
- package/{chunk-DQLYEGP7.js → chunk-FHAGENAS.js} +3 -4
- package/{chunk-56W233KG.js → chunk-FKFMIBTT.js} +5 -1
- package/{chunk-INZZJSQF.js → chunk-FZGV4FGK.js} +24 -12
- package/{chunk-D3JQPONH.js → chunk-GAL47RNP.js} +1 -1
- package/{chunk-6FQ2552G.js → chunk-HBPV76EK.js} +1085 -1150
- package/{chunk-LN3OQJGG.js → chunk-HLU5Q2GV.js} +4 -4
- package/{chunk-U2A47SVI.js → chunk-HQP7HJDL.js} +7 -7
- package/{chunk-H2G6JXTR.js → chunk-HQUORJTM.js} +1 -1
- package/{chunk-3Z3DXZBD.js → chunk-IYCUMIYS.js} +24 -20
- package/{chunk-7APQB6R6.js → chunk-JX5PJCWS.js} +8 -6
- package/{chunk-LYGNQHUW.js → chunk-JYYZCK2Z.js} +2 -4
- package/{chunk-PYKV6FSC.js → chunk-KWSQR2KK.js} +16 -31
- package/{chunk-VULELK4T.js → chunk-L7B47JXR.js} +37 -64
- package/{chunk-4NN3EK7H.js → chunk-LAFC3B2I.js} +1 -1
- package/{chunk-VRJUIUIY.js → chunk-LJKICKVC.js} +2 -2
- package/chunk-M3JEW6N6.js +193 -0
- package/chunk-MBOEV4L2.js +301 -0
- package/{chunk-QDHZCAH3.js → chunk-MMZ6ZTVO.js} +229 -74
- package/{chunk-JDSUTNYY.js → chunk-MP64VFGD.js} +2 -2
- package/{chunk-U5Z7LFZF.js → chunk-MXUDQZXQ.js} +47 -8
- package/chunk-N4G4PKQ6.js +23 -0
- package/{chunk-SVEUG45B.js → chunk-NHRQCXIQ.js} +0 -24
- package/{chunk-KXKQO4Q6.js → chunk-NTW5GWDM.js} +58 -1
- package/chunk-ONXOABJR.js +215 -0
- package/{chunk-BANYWEYY.js → chunk-OZX2IPKM.js} +8 -3
- package/{chunk-Q24S4NDF.js → chunk-P7OOB7QP.js} +1 -1
- package/{chunk-GLGD2JGY.js → chunk-PEZJEQAO.js} +7 -7
- package/{chunk-GBADO3SM.js → chunk-PQDIDWGX.js} +1 -1
- package/chunk-PSCNXBYA.js +11 -0
- package/chunk-QEFJJS2I.js +508 -0
- package/{chunk-757BGY6Y.js → chunk-QEW2MFDQ.js} +1 -1
- package/{chunk-SP3DPVBH.js → chunk-RDBARW6T.js} +8 -3
- package/{chunk-TNPCQNGQ.js → chunk-RJ2SAFB5.js} +83 -41
- package/{chunk-FGEYVPPR.js → chunk-RVWRKFUB.js} +8 -65
- package/{chunk-43CXXVJD.js → chunk-RXX4GDIH.js} +1 -1
- package/chunk-SEJ5OS6F.js +49 -0
- package/{chunk-MFI4FGHX.js → chunk-SOJM57FX.js} +5 -2
- package/{chunk-EKLRRZIN.js → chunk-SPAQ4PVV.js} +0 -5
- package/{chunk-L7NG2M6H.js → chunk-TRV2MIDW.js} +89 -74
- package/chunk-UAD2WT54.js +64 -0
- package/{chunk-RTLJUGQH.js → chunk-UZPQSVM6.js} +2 -2
- package/{chunk-3QJTD6DO.js → chunk-VMWYBIXG.js} +9 -7
- package/{chunk-ZHXJ6M7T.js → chunk-W7XHHYWM.js} +4 -0
- package/{chunk-5WADL4O7.js → chunk-XAVSS3KE.js} +21 -3
- package/{chunk-CVT7L2WZ.js → chunk-XOKOSO35.js} +13 -22
- package/{chunk-6BYAXNH5.js → chunk-XTJTN3RW.js} +57 -4
- package/{chunk-T5HJEUQN.js → chunk-YCDWJX45.js} +1 -1
- package/{chunk-MRWGHF56.js → chunk-YDH3FDFQ.js} +12 -356
- package/{chunk-H4RYESI6.js → chunk-Z4QSJILV.js} +85 -13
- package/chunk-ZJ7UHBJS.js +89 -0
- package/{chunk-O5FLGN2L.js → chunk-ZRSJ3JEH.js} +6 -2
- package/{cliExecutor-BBUVQU4L.js → cliExecutor-HG3S345O.js} +1 -1
- package/{codingSkills-BCQXRZOI.js → codingSkills-VDXQYWX4.js} +2 -2
- package/contentThunks-7YG2ZYQC.js +73 -0
- package/{cooldownCommands-GI5NNWGL.js → cooldownCommands-BSCH2W7P.js} +2 -2
- package/{createAgentAutomationAction-UJLNFFFC.js → createAgentAutomationAction-PJQSCAIO.js} +32 -26
- package/createDialogAction-SFEJX6SP.js +64 -0
- package/{createPageAction-N3IYABHV.js → createPageAction-B7WRHOQO.js} +35 -28
- package/{dbSlice-D5CNGWPD.js → dbSlice-IBVOBVMS.js} +7 -6
- package/{deleteFile-44TUM34Y.js → deleteFile-FWP2PSBG.js} +4 -3
- package/{dialogCommands-35M6RBAC.js → dialogCommands-VL2X22QC.js} +38 -33
- package/{dialogSlice-KO7ADD7H.js → dialogSlice-ANMACABO.js} +29 -24
- package/{docCreateCommands-VXHZWQ3P.js → docCreateCommands-ITLGZ5YI.js} +40 -35
- package/{docDeleteCommands-4WFAJR6A.js → docDeleteCommands-LH3YNL4C.js} +37 -32
- package/{docReadCommands-OYREEFAR.js → docReadCommands-YAJ77F36.js} +36 -31
- package/{docStore-5BU76DFK.js → docStore-D4HGHPWI.js} +9 -33
- package/{docUpdateCommands-A7QERSME.js → docUpdateCommands-DQBOMH2G.js} +40 -35
- package/{fetchMessages-KZQVBXKY.js → fetchMessages-DRABNDPZ.js} +3 -3
- package/{getPricing-HAU62AFM.js → getPricing-NM3NUTAS.js} +5 -5
- package/handleSendMessageAction-DF2OABGW.js +675 -0
- package/index.js +79 -88
- package/{lib-2ZTNRXR4.js → lib-FRRS27KN.js} +63 -28
- package/{localDialogRead-NQ33HBSI.js → localDialogRead-PUQKFI73.js} +1 -1
- package/{localRuntimeAuthority-KQDAE64E.js → localRuntimeAuthority-R5UBODT3.js} +6 -4
- package/{localRuntimeDb-PF7CFKDL.js → localRuntimeDb-P37ZTX55.js} +1 -1
- package/{machineCommands-J43U3TX5.js → machineCommands-JXDYQ5LB.js} +309 -87
- package/{machineWsRunDispatch-Z2Z6STXZ.js → machineWsRunDispatch-3QHI7JX5.js} +67 -59
- package/memberThunks-VZI6G7YZ.js +640 -0
- package/{models-4QF4BJVY.js → models-FAMINFZ7.js} +2 -2
- package/package.json +3 -2
- package/{read-RGNPI5H2.js → read-2BYWW7AA.js} +4 -3
- package/{readDocTool-6ESWKTXD.js → readDocTool-LC3A7QTB.js} +1 -1
- package/{readlineWorkspace-YRPV6JPN.js → readlineWorkspace-KVZTEAHB.js} +4609 -2698
- package/{removeDialogAgentAction-JYT73FU2.js → removeDialogAgentAction-SFYZXHNK.js} +14 -12
- package/{runAgentClientLoop-5YM5WMAY.js → runAgentClientLoop-KGTEL7ZP.js} +60 -50
- package/{runtimeDoctorCommands-JKTTN723.js → runtimeDoctorCommands-CROTMULY.js} +7 -5
- package/{setDialogExtraReferencesAction-D564LMYQ.js → setDialogExtraReferencesAction-Q32RGFTA.js} +10 -8
- package/{setPrimaryDialogAgentAction-ACY3BLYA.js → setPrimaryDialogAgentAction-BFYJHUJS.js} +14 -12
- package/{settingSlice-MKI3MNZJ.js → settingSlice-IRUU4VFB.js} +8 -7
- package/{skillDiscovery-GPUDHDTZ.js → skillDiscovery-NTRLM6KP.js} +3 -3
- package/{spaceCommands-MY26V52L.js → spaceCommands-KNAYWMCZ.js} +40 -220
- package/{streamAgentChatTurn-XV5X5TNQ.js → streamAgentChatTurn-FLYPTXKZ.js} +140 -95
- package/{switchDialogAgentAction-CJ5H6SAR.js → switchDialogAgentAction-L2KOKCGG.js} +11 -9
- package/{tableCommands-R6WFRDYF.js → tableCommands-SUNTHAYX.js} +1 -1
- package/{toolApiClient-B2MFXMEG.js → toolApiClient-VGYUB4P5.js} +4 -2
- package/{tools-MIMELA2Y.js → tools-CVLUXK6P.js} +46 -38
- package/{tuiSummaryLlmCaller-XJ5BKNNS.js → tuiSummaryLlmCaller-F3DPFFZM.js} +20 -16
- package/{updateCommands-IYKLF3JX.js → updateCommands-AJYSD73Y.js} +2 -2
- package/{updateDialogTitleAction-EIZUSWHR.js → updateDialogTitleAction-HWJIZEIV.js} +33 -27
- package/agentRecordCommands-Z64TA63M.js +0 -114
- package/agentRunCommand-4QJQLPRW.js +0 -134
- package/agentSuperviseCommands-VB6BUS5H.js +0 -640
- package/chunk-6BGAQ3KR.js +0 -7081
- package/chunk-FD36SCCD.js +0 -105
- package/chunk-J3UALFHL.js +0 -370
- package/chunk-RU5D3B22.js +0 -230
- package/chunk-YBV6QJKM.js +0 -441
- package/createDialogAction-TJCX6GUE.js +0 -58
- package/handleSendMessageAction-OSGQJQ45.js +0 -406
- package/spaceSlice-JUIXC365.js +0 -127
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// packages/create/space/spaceKeys.ts
|
|
2
|
+
var SEPARATOR = "-";
|
|
3
|
+
var SPACE_PREFIX = "space";
|
|
4
|
+
var SPACE_PREFIX_WITH_SEPARATOR = `${SPACE_PREFIX}${SEPARATOR}`;
|
|
5
|
+
var normalizeSpaceId = (spaceId) => {
|
|
6
|
+
if (!spaceId) return spaceId;
|
|
7
|
+
return spaceId.startsWith(SPACE_PREFIX_WITH_SEPARATOR) ? spaceId.slice(SPACE_PREFIX_WITH_SEPARATOR.length) : spaceId;
|
|
8
|
+
};
|
|
9
|
+
var createSpaceKey = {
|
|
10
|
+
// 空间基础信息的key
|
|
11
|
+
space: (spaceId) => {
|
|
12
|
+
return [SPACE_PREFIX, normalizeSpaceId(spaceId)].join(SEPARATOR);
|
|
13
|
+
},
|
|
14
|
+
// 空间成员的key
|
|
15
|
+
member: (userId, spaceId) => {
|
|
16
|
+
return [SPACE_PREFIX, "member", userId, normalizeSpaceId(spaceId)].join(
|
|
17
|
+
SEPARATOR
|
|
18
|
+
);
|
|
19
|
+
},
|
|
20
|
+
// 查询用户所在的所有空间的范围
|
|
21
|
+
memberRange: (userId) => {
|
|
22
|
+
return {
|
|
23
|
+
start: [SPACE_PREFIX, "member", userId, ""].join(SEPARATOR),
|
|
24
|
+
end: [SPACE_PREFIX, "member", userId, "\uFFFF"].join(SEPARATOR)
|
|
25
|
+
};
|
|
26
|
+
},
|
|
27
|
+
/**
|
|
28
|
+
* 预留:未来若出现“按用户、按空间、且必须跨设备同步”的空间级偏好,
|
|
29
|
+
* 统一使用这个 key family。当前产品主链不要依赖它。
|
|
30
|
+
*/
|
|
31
|
+
setting: (userId, spaceId) => {
|
|
32
|
+
return [SPACE_PREFIX, "setting", userId, normalizeSpaceId(spaceId)].join(
|
|
33
|
+
SEPARATOR
|
|
34
|
+
);
|
|
35
|
+
},
|
|
36
|
+
/**
|
|
37
|
+
* 预留:未来如确实需要批量读取空间级远端偏好,再使用这个范围。
|
|
38
|
+
*/
|
|
39
|
+
settingRange: (userId) => {
|
|
40
|
+
return {
|
|
41
|
+
start: [SPACE_PREFIX, "setting", userId, ""].join(SEPARATOR),
|
|
42
|
+
end: [SPACE_PREFIX, "setting", userId, "\uFFFF"].join(SEPARATOR)
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
// 从成员key中提取空间key
|
|
46
|
+
// 成员 key 格式: space-member-{userId}-{spaceId}
|
|
47
|
+
// userId 是单段(无连字符),spaceId 是 ULID(无连字符)
|
|
48
|
+
spaceFromMember: (memberKey) => {
|
|
49
|
+
const parts = memberKey.split(SEPARATOR);
|
|
50
|
+
if (parts.length < 4) return "";
|
|
51
|
+
const spaceId = parts[parts.length - 1];
|
|
52
|
+
return [SPACE_PREFIX, spaceId].join(SEPARATOR);
|
|
53
|
+
},
|
|
54
|
+
// 从成员key中提取空间ID
|
|
55
|
+
spaceIdFromMember: (memberKey) => {
|
|
56
|
+
const parts = memberKey.split(SEPARATOR);
|
|
57
|
+
return parts.length >= 4 ? parts[parts.length - 1] : "";
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
export {
|
|
62
|
+
normalizeSpaceId,
|
|
63
|
+
createSpaceKey
|
|
64
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readDbRecord,
|
|
3
3
|
writeAgentRecord
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-FHAGENAS.js";
|
|
5
5
|
import {
|
|
6
6
|
buildSkillSummaryMarker
|
|
7
7
|
} from "./chunk-VF4K2QE6.js";
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from "./chunk-A7GB5UGH.js";
|
|
14
14
|
import {
|
|
15
15
|
createSpaceKey
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-UAD2WT54.js";
|
|
17
17
|
import {
|
|
18
18
|
asTrimmedLowercaseString
|
|
19
19
|
} from "./chunk-QSJ3HFEF.js";
|
|
@@ -13,31 +13,33 @@ import {
|
|
|
13
13
|
toTimestampMs,
|
|
14
14
|
upsert,
|
|
15
15
|
write
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-DNNSCSA2.js";
|
|
17
17
|
import {
|
|
18
18
|
createUserKey,
|
|
19
19
|
createUserPreferenceKey,
|
|
20
20
|
ulid
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-NHRQCXIQ.js";
|
|
22
22
|
import {
|
|
23
23
|
asTrimmedLowercaseString
|
|
24
24
|
} from "./chunk-QSJ3HFEF.js";
|
|
25
25
|
import {
|
|
26
26
|
BUILTIN_NOLO_AGENT_KEY
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-L7B47JXR.js";
|
|
28
28
|
import {
|
|
29
29
|
asyncThunkCreator,
|
|
30
30
|
buildCreateSlice,
|
|
31
31
|
createAction,
|
|
32
32
|
createAsyncThunk,
|
|
33
|
-
createSelector
|
|
34
|
-
|
|
35
|
-
} from "./chunk-PYKV6FSC.js";
|
|
33
|
+
createSelector
|
|
34
|
+
} from "./chunk-KWSQR2KK.js";
|
|
36
35
|
import {
|
|
37
36
|
getAllServers,
|
|
38
37
|
getIsDesktopApp,
|
|
39
38
|
isProduction
|
|
40
39
|
} from "./chunk-QOKAKDPE.js";
|
|
40
|
+
import {
|
|
41
|
+
selectIdentityUserId
|
|
42
|
+
} from "./chunk-SEJ5OS6F.js";
|
|
41
43
|
import {
|
|
42
44
|
SERVERS
|
|
43
45
|
} from "./chunk-LCBAMY2M.js";
|
|
@@ -923,7 +925,7 @@ var initialState = {
|
|
|
923
925
|
editorFontFamily: "SF Mono, Monaco, Cascadia Code, Roboto Mono, monospace",
|
|
924
926
|
enableReadCurrentSpace: true,
|
|
925
927
|
globalPrompt: "",
|
|
926
|
-
userTonePreset: "",
|
|
928
|
+
userTonePreset: "default",
|
|
927
929
|
knowledgeCaptureLevel: DEFAULT_USER_PREFERENCE_PROFILE.knowledgeCaptureLevel,
|
|
928
930
|
spaceContextLevel: DEFAULT_USER_PREFERENCE_PROFILE.spaceContextLevel,
|
|
929
931
|
autoApproveSelfUpdateFields: [...DEFAULT_AUTO_APPROVED_SELF_UPDATE_FIELDS],
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
listUserRecordsFromServers,
|
|
3
3
|
readLiveDbRecordAfterTombstoneMerge
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-P7OOB7QP.js";
|
|
5
5
|
import {
|
|
6
6
|
agentRecordHasConfiguredCredential
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-FHAGENAS.js";
|
|
8
8
|
import {
|
|
9
9
|
toSafeAgentSummary
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-3BLB7QKO.js";
|
|
11
11
|
import {
|
|
12
12
|
PUBLIC_AGENT_KEY_PREFIX,
|
|
13
13
|
isOwnedAgentKey,
|
|
@@ -77,12 +77,18 @@ function sortListedAgents(agents) {
|
|
|
77
77
|
});
|
|
78
78
|
return agents;
|
|
79
79
|
}
|
|
80
|
+
function readArgValue(args, flag) {
|
|
81
|
+
const index = args.indexOf(flag);
|
|
82
|
+
const value = index >= 0 ? args[index + 1] : void 0;
|
|
83
|
+
return value && !value.startsWith("--") ? value : void 0;
|
|
84
|
+
}
|
|
80
85
|
function parseAgentListArgs(args) {
|
|
81
86
|
return {
|
|
82
87
|
wantJson: args.includes("--json"),
|
|
83
88
|
wantSafe: args.includes("--safe"),
|
|
84
89
|
publicOnly: args.includes("--public-only"),
|
|
85
90
|
idsOnly: args.includes("--ids-only"),
|
|
91
|
+
scope: readArgValue(args, "--scope"),
|
|
86
92
|
showUnavailable: args.includes("--show-unavailable"),
|
|
87
93
|
// --safe 默认输出精简投影(与 server listAgents 一致,防大列表被截断);
|
|
88
94
|
// --verbose 拿回完整字段集排障。
|
|
@@ -118,6 +124,17 @@ async function hasReadableRecord(args) {
|
|
|
118
124
|
return false;
|
|
119
125
|
}
|
|
120
126
|
}
|
|
127
|
+
async function listRemotePublicAgents(args) {
|
|
128
|
+
const response = await args.fetchImpl(`${args.serverUrl}/rpc/getPublicAgents`, {
|
|
129
|
+
method: "POST",
|
|
130
|
+
headers: { "Content-Type": "application/json", Authorization: `Bearer ${args.authToken}` },
|
|
131
|
+
body: JSON.stringify({ limit: Math.min(args.limit ?? 500, 500), summary: true })
|
|
132
|
+
});
|
|
133
|
+
if (!response.ok) throw new Error(`Public agent catalog request failed (${response.status})`);
|
|
134
|
+
const payload = await response.json();
|
|
135
|
+
const records = Array.isArray(payload?.data?.data) ? payload.data.data : Array.isArray(payload?.data) ? payload.data : [];
|
|
136
|
+
return records.filter((record) => record?.isPublic === true).map((record) => normalizeListedAgent({ ...record, userId: record?.userId || "system" })).filter((agent) => agent != null).map((agent) => ({ ...agent, publicRecordExists: true }));
|
|
137
|
+
}
|
|
121
138
|
async function listRemoteAgents(args) {
|
|
122
139
|
const recordGroups = [await args.queryUserRecords({ ...args, type: "agent" })];
|
|
123
140
|
const agents = sortListedAgents(
|
|
@@ -214,6 +231,7 @@ export {
|
|
|
214
231
|
toSafeListedAgentSummary,
|
|
215
232
|
parseAgentListArgs,
|
|
216
233
|
listLocalCachedAgents,
|
|
234
|
+
listRemotePublicAgents,
|
|
217
235
|
listRemoteAgents,
|
|
218
236
|
listRemoteAgentsAcrossServers,
|
|
219
237
|
listFavoriteAgentIdsAcrossServers,
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
findModelConfig,
|
|
3
3
|
getProviderByModelName
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-MMZ6ZTVO.js";
|
|
5
5
|
import {
|
|
6
6
|
asOptionalFiniteNumber
|
|
7
7
|
} from "./chunk-WWC7I6TA.js";
|
|
8
8
|
import {
|
|
9
9
|
asTrimmedLowercaseString
|
|
10
10
|
} from "./chunk-QSJ3HFEF.js";
|
|
11
|
-
import {
|
|
12
|
-
isRecord
|
|
13
|
-
} from "./chunk-KUG52IAP.js";
|
|
14
11
|
import {
|
|
15
12
|
asTrimmedString
|
|
16
13
|
} from "./chunk-3EUW3WEO.js";
|
|
14
|
+
import {
|
|
15
|
+
isRecord
|
|
16
|
+
} from "./chunk-KUG52IAP.js";
|
|
17
17
|
import {
|
|
18
18
|
asOptionalTrimmedString
|
|
19
19
|
} from "./chunk-G3SUCT4W.js";
|
|
@@ -207,9 +207,7 @@ function resolveAgentRuntimeConfigFromRecord(key, record) {
|
|
|
207
207
|
}
|
|
208
208
|
|
|
209
209
|
// packages/ai/agent/toolOutputPolicy.ts
|
|
210
|
-
var MAX_HISTORICAL_TOOL_CONTENT_CHARS = 1600;
|
|
211
210
|
var MAX_IN_TURN_TOOL_CONTENT_CHARS = 4e3;
|
|
212
|
-
var FRESH_TOOL_OUTPUT_MAX_CHARS = 32e3;
|
|
213
211
|
var DEFAULT_TOOL_OUTPUT_PROFILE = {
|
|
214
212
|
maxChars: MAX_IN_TURN_TOOL_CONTENT_CHARS,
|
|
215
213
|
headRatio: 0.5
|
|
@@ -234,21 +232,16 @@ function resolveHistoricalToolContentCap(toolName, historicalMaxChars) {
|
|
|
234
232
|
return profile?.historicalMaxChars !== void 0 ? Math.max(historicalMaxChars, profile.historicalMaxChars) : historicalMaxChars;
|
|
235
233
|
}
|
|
236
234
|
function projectToolMessageContent(input) {
|
|
237
|
-
const { content,
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
235
|
+
const { content, toolName } = input;
|
|
236
|
+
const maxChars = resolveToolOutputProfile(toolName).maxChars;
|
|
237
|
+
if (content.length <= maxChars) return content;
|
|
238
|
+
return clipToolText(
|
|
239
|
+
content,
|
|
240
|
+
maxChars,
|
|
241
|
+
resolveToolOutputProfile(toolName).headRatio,
|
|
242
|
+
`
|
|
245
243
|
\u2026[\u622A\u65AD\uFF0C\u539F\u59CB\u957F\u5EA6 ${content.length} \u5B57\u7B26]`
|
|
246
|
-
|
|
247
|
-
}
|
|
248
|
-
const cap = resolveHistoricalToolContentCap(toolName, historicalMaxChars);
|
|
249
|
-
if (content.length <= cap) return content;
|
|
250
|
-
return content.slice(0, cap) + `
|
|
251
|
-
\u2026[\u622A\u65AD\uFF0C\u539F\u59CB\u957F\u5EA6 ${content.length} \u5B57\u7B26]`;
|
|
244
|
+
);
|
|
252
245
|
}
|
|
253
246
|
function clipToolText(content, maxChars, headRatio, marker = "\n\n[... tool output middle omitted; head/tail preserved ...]\n\n") {
|
|
254
247
|
const normalized = content.replace(/\r\n/g, "\n").trim();
|
|
@@ -543,8 +536,6 @@ export {
|
|
|
543
536
|
hasImageInRuntimeMessages,
|
|
544
537
|
stripImagePartsFromMessages,
|
|
545
538
|
stripImagePartsForTextOnlyAgent,
|
|
546
|
-
MAX_HISTORICAL_TOOL_CONTENT_CHARS,
|
|
547
|
-
FRESH_TOOL_OUTPUT_MAX_CHARS,
|
|
548
539
|
resolveToolOutputProfile,
|
|
549
540
|
resolveHistoricalToolContentCap,
|
|
550
541
|
projectToolMessageContent,
|
|
@@ -8,6 +8,19 @@ import {
|
|
|
8
8
|
asOptionalTrimmedString
|
|
9
9
|
} from "./chunk-G3SUCT4W.js";
|
|
10
10
|
|
|
11
|
+
// packages/core/ollamaEndpoint.ts
|
|
12
|
+
function isOllamaEndpoint(endpoint) {
|
|
13
|
+
if (!endpoint || typeof endpoint !== "string") return false;
|
|
14
|
+
try {
|
|
15
|
+
const url = new URL(endpoint.includes("://") ? endpoint : `http://${endpoint}`);
|
|
16
|
+
if (url.port === "11434") return true;
|
|
17
|
+
const host = url.hostname.toLowerCase();
|
|
18
|
+
return host === "ollama.com" || host.endsWith(".ollama.com") || host === "ollama.ai" || host.endsWith(".ollama.ai");
|
|
19
|
+
} catch {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
11
24
|
// packages/ai/llm/usageRequestOptions.ts
|
|
12
25
|
var STREAM_USAGE_PROVIDERS = /* @__PURE__ */ new Set([
|
|
13
26
|
"google",
|
|
@@ -40,13 +53,23 @@ var STREAM_USAGE_PROVIDERS = /* @__PURE__ */ new Set([
|
|
|
40
53
|
// RunInfra hosted fallback channel: OpenAI-compatible chat.completions
|
|
41
54
|
// endpoint, supports stream_options.include_usage (measured to return
|
|
42
55
|
// prompt_tokens_details.cached_tokens).
|
|
43
|
-
"runinfra"
|
|
56
|
+
"runinfra",
|
|
57
|
+
"baseten",
|
|
58
|
+
// Kimi For Coding subscription (api.kimi.com/coding/v1): OpenAI-compatible
|
|
59
|
+
// chat.completions streaming that only emits the terminal usage frame when
|
|
60
|
+
// stream_options.include_usage is requested (measured; the official
|
|
61
|
+
// kimi-code CLI also sends include_usage). Custom agents pointing at the
|
|
62
|
+
// same endpoint are covered by the endpoint check below, not here.
|
|
63
|
+
"kimi-code"
|
|
44
64
|
]);
|
|
65
|
+
var KIMI_CODE_ENDPOINT_MARKER = "api.kimi.com";
|
|
66
|
+
var isKimiCodeEndpoint = (endpoint) => typeof endpoint === "string" && endpoint.includes(KIMI_CODE_ENDPOINT_MARKER);
|
|
45
67
|
var EXTRA_USAGE_FIELD_PROVIDERS = /* @__PURE__ */ new Set(["openrouter"]);
|
|
46
68
|
var normalizeProviderName = (providerName) => asTrimmedLowercaseString(providerName);
|
|
47
69
|
var getUsageRequestOptions = (providerName, options) => {
|
|
48
70
|
const normalizedProvider = normalizeProviderName(providerName);
|
|
49
71
|
const api = options?.api ?? "chat-completions";
|
|
72
|
+
const shouldRequestStreamUsage = STREAM_USAGE_PROVIDERS.has(normalizedProvider) || normalizedProvider === "custom" && (isKimiCodeEndpoint(options?.endpoint) || isOllamaEndpoint(options?.endpoint));
|
|
50
73
|
if (api === "responses") {
|
|
51
74
|
return EXTRA_USAGE_FIELD_PROVIDERS.has(normalizedProvider) ? {
|
|
52
75
|
usage: {
|
|
@@ -55,7 +78,7 @@ var getUsageRequestOptions = (providerName, options) => {
|
|
|
55
78
|
} : {};
|
|
56
79
|
}
|
|
57
80
|
return {
|
|
58
|
-
...
|
|
81
|
+
...shouldRequestStreamUsage ? {
|
|
59
82
|
stream_options: {
|
|
60
83
|
include_usage: true
|
|
61
84
|
}
|
|
@@ -98,7 +121,7 @@ function shouldStripReasoningContentForOutbound(provider, model) {
|
|
|
98
121
|
const m = model?.trim().toLowerCase();
|
|
99
122
|
if (!p || !m) return false;
|
|
100
123
|
if (p === "deepseek" || p === "nolo") {
|
|
101
|
-
return m === "deepseek-v4-flash" || m === "deepseek-v4-flash-vision-exp" || m === "deepseek-v4-pro";
|
|
124
|
+
return m === "deepseek-flash" || m === "deepseek-v4-flash" || m === "deepseek-v4-flash-vision-exp" || m === "deepseek-v4-pro";
|
|
102
125
|
}
|
|
103
126
|
return false;
|
|
104
127
|
}
|
|
@@ -319,6 +342,33 @@ var extractToolCallsFromResponseOutput = (response) => {
|
|
|
319
342
|
return calls;
|
|
320
343
|
};
|
|
321
344
|
|
|
345
|
+
// packages/agent-runtime/promptCacheKey.ts
|
|
346
|
+
function collectStablePromptPrefix(messages, fallbackPrompt) {
|
|
347
|
+
const systemTexts = [];
|
|
348
|
+
if (fallbackPrompt?.trim()) systemTexts.push(fallbackPrompt.trim());
|
|
349
|
+
for (const raw of messages) {
|
|
350
|
+
if (!raw || typeof raw !== "object") continue;
|
|
351
|
+
const message = raw;
|
|
352
|
+
const role = String(message.role ?? "");
|
|
353
|
+
if (role !== "system" && role !== "developer") continue;
|
|
354
|
+
if (typeof message.content === "string") {
|
|
355
|
+
const boundary = Number(message.stable_prefix_chars);
|
|
356
|
+
const text = Number.isFinite(boundary) && boundary > 0 ? message.content.slice(0, boundary) : message.content;
|
|
357
|
+
if (text.trim()) systemTexts.push(text.trim());
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
return systemTexts.join("\n\n");
|
|
361
|
+
}
|
|
362
|
+
function stablePromptCacheKey(parts, namespace) {
|
|
363
|
+
const value = JSON.stringify(parts);
|
|
364
|
+
let hash = 2166136261;
|
|
365
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
366
|
+
hash ^= value.charCodeAt(index);
|
|
367
|
+
hash = Math.imul(hash, 16777619) >>> 0;
|
|
368
|
+
}
|
|
369
|
+
return `${namespace}-${hash.toString(16).padStart(8, "0")}`;
|
|
370
|
+
}
|
|
371
|
+
|
|
322
372
|
// packages/core/chat/imageParts.ts
|
|
323
373
|
function isImageUrlPart(part) {
|
|
324
374
|
return isRecord(part) && part.type === "image_url";
|
|
@@ -330,6 +380,7 @@ function hasImageParts(messages) {
|
|
|
330
380
|
}
|
|
331
381
|
|
|
332
382
|
export {
|
|
383
|
+
isOllamaEndpoint,
|
|
333
384
|
getUsageRequestOptions,
|
|
334
385
|
isImageUrlPart,
|
|
335
386
|
hasImageParts,
|
|
@@ -341,5 +392,7 @@ export {
|
|
|
341
392
|
extractTextFromResponseOutput,
|
|
342
393
|
extractReasoningFromResponseOutput,
|
|
343
394
|
extractImagePartsFromResponseOutput,
|
|
344
|
-
extractToolCallsFromResponseOutput
|
|
395
|
+
extractToolCallsFromResponseOutput,
|
|
396
|
+
collectStablePromptPrefix,
|
|
397
|
+
stablePromptCacheKey
|
|
345
398
|
};
|