nolo-cli 0.98.0-alpha.4 → 0.98.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/README.md +1 -1
- package/{_executeModel-HYZ4NXRJ.js → _executeModel-GJK4ZVU6.js} +74 -67
- package/action-PNPQLJHG.js +20 -0
- package/{addContentAction-O7R66HEX.js → addContentAction-RBOUD7SJ.js} +12 -11
- package/{addDialogAgentAction-74OA7KYP.js → addDialogAgentAction-IODCR6TB.js} +18 -19
- package/{agentDeleteCommand-2YAHAZFJ.js → agentDeleteCommand-GHRF6CH5.js} +47 -42
- package/{agentEmailCommands-SLEQANTK.js → agentEmailCommands-O5BTHYZK.js} +97 -87
- package/agentListCommands-3REEM63V.js +742 -0
- package/{agentMachineCommands-KBI77S35.js → agentMachineCommands-2GW3CV7Q.js} +48 -43
- package/{agentProviderCommands-GNPTL5XR.js → agentProviderCommands-IRNZXVGE.js} +1 -1
- package/{agentPullCommand-O5MPVJ5E.js → agentPullCommand-B4T2DJ5H.js} +1 -1
- package/agentRecordCommands-WYQODWZE.js +138 -0
- package/agentRunCommand-KAN65WPY.js +167 -0
- package/{agentRunControl-AVJR4JW4.js → agentRunControl-3HWA2LLQ.js} +2 -2
- package/{agentRuntimeLocal-VXZSDIGT.js → agentRuntimeLocal-IOFBNVIL.js} +48 -39
- package/{agentSlice-ZOYISPZD.js → agentSlice-I45M32KO.js} +14 -13
- package/{appDeleteCommands-32MHLR4L.js → appDeleteCommands-SFS6IZEM.js} +46 -41
- package/{appDeployCommands-WCQOUSOB.js → appDeployCommands-YZQESVRQ.js} +46 -41
- package/{appDeployStatusCommands-6QKB7DYN.js → appDeployStatusCommands-FKUUDCKP.js} +46 -41
- package/{appGetCommands-SFAPP5PB.js → appGetCommands-QUE7OQZC.js} +46 -41
- package/{appListCommands-EKUBDRUO.js → appListCommands-QEETFKMH.js} +46 -41
- package/{authCommand-F4EFRRX6.js → authCommand-NHDLY3IB.js} +118 -24
- package/{authCommands-RGOGCPP6.js → authCommands-UDBJVSZU.js} +7 -5
- package/{builtinSkillRegistry-FUAVTRVZ.js → builtinSkillRegistry-MAR5LPAC.js} +10 -8
- package/{chromeCommands-FZYAU75D.js → chromeCommands-K27J4OVZ.js} +124 -28
- package/{chromeOpsCommands-62P2Q2YB.js → chromeOpsCommands-IXRLN57H.js} +4 -3
- package/{chunk-6OZ36FXI.js → chunk-27ONFIEY.js} +22 -4
- package/{chunk-JEDZAO7L.js → chunk-2SYTUTLI.js} +257 -37
- package/{chunk-53HEEOTT.js → chunk-2WJ57RJA.js} +83 -16
- package/{chunk-OIVSQH2O.js → chunk-3BXNTXYI.js} +299 -5
- package/{chunk-ABQYVJBJ.js → chunk-46Y5D2BZ.js} +5 -5
- package/{chunk-EYAQT56M.js → chunk-4DPP773Q.js} +2 -2
- package/{chunk-H62HCIUP.js → chunk-4FFUDT6D.js} +24 -21
- package/chunk-4LCOCOR5.js +50 -0
- package/{chunk-2GRGFCF6.js → chunk-4VJAC32I.js} +2 -1
- package/{chunk-IIVGDG4I.js → chunk-4YSOUKUR.js} +13 -7
- package/{chunk-MC4XLIJ7.js → chunk-523DITKR.js} +1 -1
- package/{chunk-G4EBXCWF.js → chunk-5AUJB66Z.js} +550 -515
- package/{chunk-E4MARS3Q.js → chunk-5GVBDNTO.js} +1 -1
- package/chunk-5J3PYNUP.js +255 -0
- package/chunk-5MMAK75Q.js +15 -0
- package/{chunk-JPGCXHNM.js → chunk-5OA5HMTL.js} +1 -1
- package/{chunk-42V6BK2E.js → chunk-62IL3KQV.js} +4 -34
- package/{chunk-3BMYXEUW.js → chunk-6O4IK4V2.js} +1 -1
- package/{chunk-34BLIAHQ.js → chunk-6XDD7N7P.js} +47 -67
- package/{chunk-GQBOR3G6.js → chunk-7KVZ5LDQ.js} +2 -2
- package/{chunk-DNCEALKX.js → chunk-7MMSLEPA.js} +22 -29
- package/chunk-A4SQRTZ6.js +15 -0
- package/{chunk-7S4YWN7P.js → chunk-ADBZWMFB.js} +4 -4
- package/chunk-AGIM7IMJ.js +147 -0
- package/{chunk-5UTFL4QJ.js → chunk-AOTBKDRK.js} +7 -0
- package/{chunk-Q554LLSI.js → chunk-AUDNYVRC.js} +1 -1
- package/{chunk-T37GTQYU.js → chunk-B2DEZY6J.js} +20 -11
- package/chunk-BMQ2MJUK.js +153 -0
- package/{chunk-6YTOJY35.js → chunk-BZ7NPA6G.js} +35 -2
- package/chunk-C4DVDM72.js +13536 -0
- package/chunk-CHOZJMJS.js +78 -0
- package/{chunk-ACTMNVHM.js → chunk-CYSYR67N.js} +1 -1
- package/{chunk-GBRG75BQ.js → chunk-D2MDMY2M.js} +1 -0
- package/chunk-DZ7R5V3Y.js +164 -0
- package/{chunk-3VNWWVKB.js → chunk-E3YWHWCR.js} +50 -18
- package/{chunk-V4MJDUSR.js → chunk-E73ON47R.js} +2 -2
- package/{chunk-XDJFSBVV.js → chunk-EIFYNGU4.js} +24 -5
- package/{chunk-KQ4ONNQD.js → chunk-EKPKW6RM.js} +155 -8
- package/{chunk-TRV2MIDW.js → chunk-EXAJ6DCR.js} +1 -0
- package/{chunk-HJUYAD4A.js → chunk-FJ5BGMNM.js} +5 -5
- package/{chunk-2F7RJC6L.js → chunk-FOXQ7BAB.js} +1 -1
- package/{chunk-6IG4XSS6.js → chunk-FY7DCYW7.js} +88 -17
- package/{chunk-J4MOO56S.js → chunk-GARACBQB.js} +10 -2
- package/{chunk-6VFARHZW.js → chunk-GDFA73QZ.js} +934 -1091
- package/chunk-GMZLP5DV.js +82 -0
- package/{chunk-FDTR4QJ6.js → chunk-H6A6X4EK.js} +32 -1
- package/{chunk-DVINR3PL.js → chunk-HDLLCBRF.js} +1 -1
- package/{chunk-QOKAKDPE.js → chunk-HIM3FCLF.js} +0 -1
- package/{chunk-ONXOABJR.js → chunk-HNGRBWYF.js} +3 -0
- package/{chunk-VLTIYV3X.js → chunk-HP57OUJO.js} +4 -4
- package/{chunk-YRPASJCG.js → chunk-I76SDF7A.js} +10 -10
- package/{chunk-2D66PZ54.js → chunk-I7BCBNWZ.js} +24 -77
- package/{chunk-GPCZ7UXG.js → chunk-K6U4NKFJ.js} +1 -1
- package/{chunk-4OEFYTWL.js → chunk-LDCAFLXD.js} +64 -48
- package/{chunk-OEVAY4J6.js → chunk-LNVJHIGA.js} +18 -20
- package/{chunk-LS2ZANRJ.js → chunk-LOCNXNOU.js} +1 -1
- package/{chunk-5H7KJX7J.js → chunk-LQ4PDQCI.js} +5 -5
- package/{chunk-PDIBG2WC.js → chunk-M33GWZIZ.js} +67 -45
- package/{chunk-PUOC4YRO.js → chunk-M7VLQGQP.js} +11 -0
- package/chunk-NHDMQZJM.js +7881 -0
- package/{chunk-BFU6C242.js → chunk-NMFV26UG.js} +1 -1
- package/{chunk-L5UXH3B2.js → chunk-NNCYNBYV.js} +22 -6
- package/{chunk-FZGV4FGK.js → chunk-NUHHBEJC.js} +378 -187
- package/chunk-NWENLDMM.js +42 -0
- package/{chunk-AEOE4Z6Q.js → chunk-NZWAO6LH.js} +13 -15
- package/chunk-OCZKATRC.js +129 -0
- package/{chunk-PKUGW3X6.js → chunk-OU36O6OR.js} +23 -28
- package/chunk-OW4APERY.js +870 -0
- package/{chunk-KQHGZWSV.js → chunk-OXME3PEE.js} +1 -1
- package/{chunk-ITM7D3UQ.js → chunk-P5L7VVMT.js} +11 -9
- package/{chunk-TOP2VXOR.js → chunk-PCF3QU5Q.js} +5 -5
- package/{chunk-WV42OMV7.js → chunk-PTDYOADJ.js} +8 -8
- package/{chunk-6D6VBVEW.js → chunk-SNMQMOD2.js} +80 -14
- package/{chunk-BYMV6QZG.js → chunk-TNIX77YM.js} +4 -0
- package/{chunk-Z77CRGTW.js → chunk-TVCAR26G.js} +1 -1
- package/chunk-TY3TIUJK.js +89 -0
- package/{chunk-I3TQJXQ7.js → chunk-U3C3IA32.js} +9 -2
- package/{chunk-RG6JBBX5.js → chunk-U7XXEI5R.js} +166 -13
- package/{chunk-UZGQNTVW.js → chunk-UA324D4O.js} +8 -6
- package/chunk-UJXNKP5V.js +760 -0
- package/{chunk-UKZDAFYT.js → chunk-UM4PH574.js} +6 -10
- package/{chunk-GEPUP7OO.js → chunk-UVKDJUTL.js} +3 -3
- package/{chunk-ZCYXJSTU.js → chunk-V5OWQOJZ.js} +19 -88
- package/{chunk-NA35QHCF.js → chunk-V7Y6KRAH.js} +1 -1
- package/{chunk-3DII57IT.js → chunk-VCAQFMVN.js} +1 -1
- package/{chunk-JRQFUXY7.js → chunk-VEYL5MO5.js} +99 -22
- package/chunk-VIWDGTDA.js +8 -0
- package/chunk-VJVNU77E.js +83 -0
- package/{chunk-UKWGR5SS.js → chunk-VY6VFGKR.js} +194 -1144
- package/{chunk-5ZYCLPXL.js → chunk-W3RFFFFF.js} +873 -227
- package/{chunk-BP4XNZRM.js → chunk-W72ISAKC.js} +4 -4
- package/{chunk-DHDMC6FO.js → chunk-WCGC6S77.js} +14 -9
- package/{chunk-QDSINZM3.js → chunk-WJ3B6FX6.js} +1 -14
- package/{chunk-V7BKTIF6.js → chunk-WXHAOL7Y.js} +19 -17
- package/{chunk-37NKTC3Q.js → chunk-X2B2C4XD.js} +1 -1
- package/{chunk-HVURBGF3.js → chunk-XFUBXRVI.js} +6 -6
- package/{chunk-O6OSWFZQ.js → chunk-XUWRURDF.js} +6 -0
- package/{chunk-Q67DOFOO.js → chunk-Y3PMXGLH.js} +2 -0
- package/{chunk-ETI2NYVF.js → chunk-YPOPJAKN.js} +4 -4
- package/{chunk-SH43IESU.js → chunk-YUNJN43V.js} +44 -9
- package/chunk-YV25TM3R.js +780 -0
- package/chunk-ZRAU6T47.js +56 -0
- package/commandRegistry-RZNZ37BN.js +833 -0
- package/{contentThunks-G55OKUFE.js → contentThunks-DF7ZNCAG.js} +36 -34
- package/{cooldownCommands-REAWYVTY.js → cooldownCommands-ZLEPIB4A.js} +2 -2
- package/{createAgentAutomationAction-D2J2O5GS.js → createAgentAutomationAction-KPMOZ53Y.js} +38 -36
- package/createDialogAction-I2UDVAXN.js +69 -0
- package/{createPageAction-FHZBN7DJ.js → createPageAction-IF5JXNKV.js} +45 -42
- package/{chunk-AJ3A3445.js → cursorProvider-YGGNMVWX.js} +2496 -9897
- package/{dbSlice-XVWBAGYN.js → dbSlice-Q25STFGJ.js} +11 -10
- package/{deleteFile-YG6QMJLU.js → deleteFile-AJ2EZMHT.js} +7 -6
- package/{dialogCommands-5J56DFWN.js → dialogCommands-LWHIIUQD.js} +49 -45
- package/{dialogSlice-D4V3HURH.js → dialogSlice-74DFPFRV.js} +40 -33
- package/{dist-VODFSGNG.js → dist-NJC2W7I4.js} +61 -54
- package/{docCreateCommands-KYI2DC2U.js → docCreateCommands-LVXQ6TNZ.js} +48 -43
- package/{docDeleteCommands-67REUSRY.js → docDeleteCommands-7TVIGCLP.js} +49 -44
- package/{docReadCommands-HOSVSBDJ.js → docReadCommands-KYAXFLQ5.js} +47 -42
- package/{docStore-5LROPEEP.js → docStore-2JDRAYXJ.js} +16 -12
- package/{docUpdateCommands-EMGCSMXY.js → docUpdateCommands-TVC5KWPK.js} +48 -43
- package/{fetchMessages-EIU7UFFK.js → fetchMessages-I5ICDDHM.js} +5 -5
- package/{getPricing-LUSEABA6.js → getPricing-NMMFT3YI.js} +4 -4
- package/{handleSendMessageAction-QBPDYSLZ.js → handleSendMessageAction-54GY3XOH.js} +110 -86
- package/index.js +87 -884
- package/{localDialogRead-BTFJ4V2I.js → localDialogRead-ZHZ3KXDM.js} +2 -2
- package/{localRuntimeAuthority-6IR6BBXE.js → localRuntimeAuthority-TU6OBC76.js} +9 -6
- package/{localRuntimeDb-SYQGUF4U.js → localRuntimeDb-VKWVOPPI.js} +1 -1
- package/{machineCommands-4ISPVTPN.js → machineCommands-54RNLVJE.js} +91 -81
- package/machineWsRunDispatch-WE3VTD57.js +154 -0
- package/{memberThunks-QGFLFVCI.js → memberThunks-R75S3RWP.js} +20 -18
- package/{models-T3SG6MJ5.js → models-ZPU5EDF4.js} +2 -2
- package/oauthTokenStore-ITEB663N.js +23 -0
- package/package.json +1 -1
- package/pdf-U6KSUEZZ.js +26435 -0
- package/processSpawn-SOAV3FEV.js +11 -0
- package/profileConfig-ZGOFORWV.js +43 -0
- package/{providerPresetApply-FG6NZ57W.js → providerPresetApply-TEBH7FDX.js} +7 -7
- package/{providerRegistry-757OWH3O.js → providerRegistry-CBJLNCET.js} +11 -7
- package/{read-COE3ZYR6.js → read-SRQMNO26.js} +7 -6
- package/{readDocTool-5USN4A6V.js → readDocTool-RC3JUNJ2.js} +5 -3
- package/{readlineWorkspace-JFADM567.js → readlineWorkspace-UK5M5CJI.js} +2704 -2060
- package/{removeDialogAgentAction-IX3MN2ZO.js → removeDialogAgentAction-46XQV5Q7.js} +21 -25
- package/{runAgentClientLoop-JFFIFP7N.js → runAgentClientLoop-MTI5OU2W.js} +75 -69
- package/{runtimeDoctorCommands-X6WDBEQX.js → runtimeDoctorCommands-PIVSBZRZ.js} +4 -4
- package/runtimeModeArgs-2Y7BALTO.js +31 -0
- package/{setDialogExtraReferencesAction-X4HCPNZL.js → setDialogExtraReferencesAction-J4V5ADQF.js} +15 -13
- package/{setPrimaryDialogAgentAction-4GMIQLOD.js → setPrimaryDialogAgentAction-UHHV2QZW.js} +22 -26
- package/{chunk-AFUORTY4.js → settingThunks-PPZZZOWN.js} +226 -940
- package/{skillDiscovery-CYUCJMAG.js → skillDiscovery-ZBU76COE.js} +3 -3
- package/{slateUtils-RIZES3PV.js → slateUtils-NGV2NMKM.js} +1 -1
- package/{spaceCommands-NKJVJCQQ.js → spaceCommands-446WWA73.js} +51 -46
- package/{streamAgentChatTurn-HFVTDCFD.js → streamAgentChatTurn-IANOWAKR.js} +199 -104
- package/{switchDialogAgentAction-N52LRPA3.js → switchDialogAgentAction-A2TMVGAE.js} +18 -19
- package/{tableCommands-O6NWHFKV.js → tableCommands-6U4BMLRR.js} +10 -10
- package/{toolApiClient-QVJ6HDNN.js → toolApiClient-EJT6TMFG.js} +3 -3
- package/tools-WZZYTUNF.js +116 -0
- package/{tuiSummaryLlmCaller-WFRWERGK.js → tuiSummaryLlmCaller-Q65IBDGO.js} +24 -21
- package/{updateCommands-2M74UL7P.js → updateCommands-4EHDLF5J.js} +3 -3
- package/{updateDialogTitleAction-PER2C6MR.js → updateDialogTitleAction-Z2JTYLXD.js} +82 -44
- package/action-YVYQEAAV.js +0 -31
- package/agentListCommands-KMS675GZ.js +0 -406
- package/agentRecordCommands-IPPPUHG4.js +0 -128
- package/agentRunCommand-24XO4RDT.js +0 -155
- package/browser-image-compression-MFDTD7K6.js +0 -1763
- package/chatQueueReduxAdapter-PMAMSHG7.js +0 -186
- package/chunk-M76ECQRD.js +0 -13658
- package/chunk-MEYIRKDN.js +0 -8967
- package/chunk-OCSGDPAT.js +0 -18885
- package/chunk-Q5FJJ6XI.js +0 -103
- package/chunk-S7Z2HMCN.js +0 -25
- package/chunk-Y5GCAMGP.js +0 -9
- package/chunk-YPREESF4.js +0 -225
- package/createDialogAction-E2EVICIE.js +0 -65
- package/machineWsRunDispatch-L4MKXQAO.js +0 -144
- package/settingSlice-ZQZVUPKK.js +0 -204
- package/syncMapping-N6RGXGBW.js +0 -437
- package/tools-BBBCUOUZ.js +0 -110
- package/{chunk-VMFTFOWF.js → chunk-3AH7LNUB.js} +7 -7
- package/{chunk-X7HHHIOZ.js → chunk-Y6ROFCZO.js} +0 -0
- package/{db-WK5MDZVN.js → db-VQSAOWAO.js} +1 -1
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import {
|
|
2
|
+
clipCompactText
|
|
3
|
+
} from "./chunk-5MMAK75Q.js";
|
|
4
|
+
import {
|
|
5
|
+
asRecordOrEmpty
|
|
6
|
+
} from "./chunk-KX6YBIHG.js";
|
|
7
|
+
import {
|
|
8
|
+
asOptionalTrimmedString
|
|
9
|
+
} from "./chunk-G3SUCT4W.js";
|
|
10
|
+
|
|
11
|
+
// packages/agent-runtime/fileWritePolicy.ts
|
|
12
|
+
function evaluateFileWritePolicy(args) {
|
|
13
|
+
if (args.sessionApproved) return { permissionDecision: "allow" };
|
|
14
|
+
return {
|
|
15
|
+
permissionDecision: "ask",
|
|
16
|
+
permissionRequest: {
|
|
17
|
+
id: "permission-file-write-session",
|
|
18
|
+
tool: args.tool,
|
|
19
|
+
action: "file_write",
|
|
20
|
+
title: "\u786E\u8BA4\u5199\u5165\u6587\u4EF6",
|
|
21
|
+
body: `\u672C\u4F1A\u8BDD\u9996\u6B21\u5199\u5165\u6587\u4EF6\uFF1A${args.path}\u3002\u6279\u51C6\u540E\u672C\u4F1A\u8BDD\u540E\u7EED\u5199\u5165\u4E0D\u518D\u9010\u6B21\u786E\u8BA4\u3002`,
|
|
22
|
+
command: args.path,
|
|
23
|
+
suggestedRule: {
|
|
24
|
+
scope: "session",
|
|
25
|
+
pattern: { capability: "file_write", target: "session" }
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// packages/agent-runtime/parseToolArguments.ts
|
|
32
|
+
function parseToolArgumentsJson(raw) {
|
|
33
|
+
if (!raw?.trim()) return {};
|
|
34
|
+
try {
|
|
35
|
+
return asRecordOrEmpty(JSON.parse(raw));
|
|
36
|
+
} catch {
|
|
37
|
+
return {};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// packages/agent-runtime/summarizeToolArguments.ts
|
|
42
|
+
function clip(value, max = 240) {
|
|
43
|
+
return clipCompactText(value, max);
|
|
44
|
+
}
|
|
45
|
+
function summarizeToolArguments(toolName, rawArgs) {
|
|
46
|
+
const args = parseToolArgumentsJson(rawArgs);
|
|
47
|
+
const pick = (...keys2) => {
|
|
48
|
+
for (const key of keys2) {
|
|
49
|
+
const value = asOptionalTrimmedString(args[key]);
|
|
50
|
+
if (value) return value;
|
|
51
|
+
}
|
|
52
|
+
return "";
|
|
53
|
+
};
|
|
54
|
+
const command = pick("command", "cmd", "runCommand", "executeCommand", "bash");
|
|
55
|
+
if (command) return clip(command);
|
|
56
|
+
const query = pick("query", "pattern", "search", "q");
|
|
57
|
+
if (query) return clip(query);
|
|
58
|
+
const filePath = pick("filePath", "file_path", "path", "filename", "file");
|
|
59
|
+
if (filePath) return clip(filePath);
|
|
60
|
+
const keys = Object.keys(args);
|
|
61
|
+
if (keys.length === 0) return "";
|
|
62
|
+
return clip(
|
|
63
|
+
keys.slice(0, 6).map((key) => {
|
|
64
|
+
const value = args[key];
|
|
65
|
+
if (typeof value === "string") return `${key}=${clip(value, 80)}`;
|
|
66
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
67
|
+
return `${key}=${String(value)}`;
|
|
68
|
+
}
|
|
69
|
+
if (Array.isArray(value)) return `${key}[${value.length}]`;
|
|
70
|
+
return `${key}=${value === null ? "null" : typeof value}`;
|
|
71
|
+
}).join(" ")
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export {
|
|
76
|
+
evaluateFileWritePolicy,
|
|
77
|
+
summarizeToolArguments
|
|
78
|
+
};
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import {
|
|
2
|
+
noloAgentId
|
|
3
|
+
} from "./chunk-A4SQRTZ6.js";
|
|
4
|
+
import {
|
|
5
|
+
asTrimmedLowercaseString
|
|
6
|
+
} from "./chunk-QSJ3HFEF.js";
|
|
7
|
+
import {
|
|
8
|
+
normalizeServerOrigin
|
|
9
|
+
} from "./chunk-CF7PE763.js";
|
|
10
|
+
|
|
11
|
+
// packages/app/theme/fontPreference.ts
|
|
12
|
+
var FONT_PRESET_ALIASES = {
|
|
13
|
+
system: "system",
|
|
14
|
+
default: "system",
|
|
15
|
+
hei: "hei",
|
|
16
|
+
heiti: "hei",
|
|
17
|
+
sans: "hei",
|
|
18
|
+
song: "song",
|
|
19
|
+
songti: "song",
|
|
20
|
+
serif: "song",
|
|
21
|
+
kai: "kai",
|
|
22
|
+
kaiti: "kai",
|
|
23
|
+
"kai-ti": "kai",
|
|
24
|
+
"fang-song": "fang-song",
|
|
25
|
+
fangsong: "fang-song",
|
|
26
|
+
"fang song": "fang-song"
|
|
27
|
+
};
|
|
28
|
+
var normalizeFontPreset = (value) => {
|
|
29
|
+
const normalized = asTrimmedLowercaseString(value);
|
|
30
|
+
return FONT_PRESET_ALIASES[normalized];
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
// packages/ai/policy/types.ts
|
|
34
|
+
var DEFAULT_AGENT_BASE_POLICY = {
|
|
35
|
+
version: 1,
|
|
36
|
+
tone: {
|
|
37
|
+
preset: "default",
|
|
38
|
+
resolutionMode: "blend"
|
|
39
|
+
},
|
|
40
|
+
knowledgeCaptureMaxLevel: 4,
|
|
41
|
+
spaceContextMaxLevel: 4,
|
|
42
|
+
selfEvolutionMode: "knowledge_only"
|
|
43
|
+
};
|
|
44
|
+
var DEFAULT_USER_PREFERENCE_PROFILE = {
|
|
45
|
+
version: 1,
|
|
46
|
+
tone: {
|
|
47
|
+
preset: "default"
|
|
48
|
+
},
|
|
49
|
+
knowledgeCaptureLevel: 2,
|
|
50
|
+
spaceContextLevel: 3
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
// packages/app/settings/settingTypes.ts
|
|
54
|
+
var SYSTEM_DEFAULT_AGENT_ID = "system-default";
|
|
55
|
+
|
|
56
|
+
// packages/app/settings/settingNormalizers.ts
|
|
57
|
+
var hasOwn = (target, key) => Object.prototype.hasOwnProperty.call(target, key);
|
|
58
|
+
var normalizeDefaultAgentIdSetting = (value) => {
|
|
59
|
+
if (typeof value !== "string" || value.trim() === "") {
|
|
60
|
+
return void 0;
|
|
61
|
+
}
|
|
62
|
+
return value === noloAgentId || value === SYSTEM_DEFAULT_AGENT_ID ? SYSTEM_DEFAULT_AGENT_ID : value;
|
|
63
|
+
};
|
|
64
|
+
var normalizeAuthorityHomeServerSetting = (value) => {
|
|
65
|
+
const normalized = normalizeServerOrigin(value);
|
|
66
|
+
return /^https?:\/\//i.test(normalized) ? normalized : null;
|
|
67
|
+
};
|
|
68
|
+
var normalizeTonePresetSetting = (value) => {
|
|
69
|
+
switch (value) {
|
|
70
|
+
case "professional":
|
|
71
|
+
case "friendly":
|
|
72
|
+
case "direct":
|
|
73
|
+
case "pragmatic":
|
|
74
|
+
case "default":
|
|
75
|
+
return value;
|
|
76
|
+
default:
|
|
77
|
+
return DEFAULT_USER_PREFERENCE_PROFILE.tone?.preset ?? "default";
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
var normalizePolicyLevelSetting = (value, fallback) => {
|
|
81
|
+
const n = Number(value);
|
|
82
|
+
if (n === 1 || n === 2 || n === 3 || n === 4) {
|
|
83
|
+
return n;
|
|
84
|
+
}
|
|
85
|
+
return fallback;
|
|
86
|
+
};
|
|
87
|
+
var resolveDefaultAgentIdSetting = (value) => normalizeDefaultAgentIdSetting(value) ?? SYSTEM_DEFAULT_AGENT_ID;
|
|
88
|
+
var omitKeys = (record, keys) => {
|
|
89
|
+
const next = { ...record };
|
|
90
|
+
keys.forEach((key) => {
|
|
91
|
+
delete next[key];
|
|
92
|
+
});
|
|
93
|
+
return next;
|
|
94
|
+
};
|
|
95
|
+
var isRecordLike = (v) => typeof v === "object" && v !== null && !Array.isArray(v);
|
|
96
|
+
var normalizeSystemBuiltinSkills = (value, defaults) => {
|
|
97
|
+
const base = isRecordLike(value) ? value : {};
|
|
98
|
+
const result = { ...defaults };
|
|
99
|
+
for (const key of Object.keys(base)) {
|
|
100
|
+
result[key] = Boolean(base[key]);
|
|
101
|
+
}
|
|
102
|
+
return result;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
// packages/ai/policy/selfUpdateFields.ts
|
|
106
|
+
var AGENT_UPDATE_FIELD_NAMES = [
|
|
107
|
+
"name",
|
|
108
|
+
"handle",
|
|
109
|
+
"model",
|
|
110
|
+
"provider",
|
|
111
|
+
"prompt",
|
|
112
|
+
"introduction",
|
|
113
|
+
"greeting",
|
|
114
|
+
"isPublic",
|
|
115
|
+
"tags",
|
|
116
|
+
"tools",
|
|
117
|
+
"references",
|
|
118
|
+
"temperature",
|
|
119
|
+
"top_p",
|
|
120
|
+
"frequency_penalty",
|
|
121
|
+
"presence_penalty",
|
|
122
|
+
"max_tokens",
|
|
123
|
+
"reasoning_effort"
|
|
124
|
+
];
|
|
125
|
+
var PRIMARY_AUTO_APPROVE_SELF_UPDATE_FIELDS = [
|
|
126
|
+
"greeting",
|
|
127
|
+
"introduction",
|
|
128
|
+
"tags"
|
|
129
|
+
];
|
|
130
|
+
var DEFAULT_AUTO_APPROVED_SELF_UPDATE_FIELDS = [
|
|
131
|
+
...PRIMARY_AUTO_APPROVE_SELF_UPDATE_FIELDS
|
|
132
|
+
];
|
|
133
|
+
var VALID_AGENT_UPDATE_FIELDS = new Set(AGENT_UPDATE_FIELD_NAMES);
|
|
134
|
+
var normalizeAgentUpdateFieldList = (value, fallback = DEFAULT_AUTO_APPROVED_SELF_UPDATE_FIELDS) => {
|
|
135
|
+
if (!Array.isArray(value)) {
|
|
136
|
+
return [...fallback];
|
|
137
|
+
}
|
|
138
|
+
const normalized = Array.from(
|
|
139
|
+
new Set(
|
|
140
|
+
value.filter(
|
|
141
|
+
(item) => typeof item === "string" && VALID_AGENT_UPDATE_FIELDS.has(item)
|
|
142
|
+
)
|
|
143
|
+
)
|
|
144
|
+
);
|
|
145
|
+
return normalized;
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
export {
|
|
149
|
+
normalizeFontPreset,
|
|
150
|
+
DEFAULT_AGENT_BASE_POLICY,
|
|
151
|
+
DEFAULT_USER_PREFERENCE_PROFILE,
|
|
152
|
+
AGENT_UPDATE_FIELD_NAMES,
|
|
153
|
+
DEFAULT_AUTO_APPROVED_SELF_UPDATE_FIELDS,
|
|
154
|
+
normalizeAgentUpdateFieldList,
|
|
155
|
+
SYSTEM_DEFAULT_AGENT_ID,
|
|
156
|
+
hasOwn,
|
|
157
|
+
normalizeDefaultAgentIdSetting,
|
|
158
|
+
normalizeAuthorityHomeServerSetting,
|
|
159
|
+
normalizeTonePresetSetting,
|
|
160
|
+
normalizePolicyLevelSetting,
|
|
161
|
+
resolveDefaultAgentIdSetting,
|
|
162
|
+
omitKeys,
|
|
163
|
+
normalizeSystemBuiltinSkills
|
|
164
|
+
};
|
|
@@ -100,7 +100,17 @@ var DEFAULT_LABELS = {
|
|
|
100
100
|
runStopped: "Run stopped",
|
|
101
101
|
runFinished: "Run finished",
|
|
102
102
|
logTail: "Log tail:",
|
|
103
|
-
runs: (count) => `Runs (${count})
|
|
103
|
+
runs: (count) => `Runs (${count})`,
|
|
104
|
+
toolCount: (count) => `${count} tools`,
|
|
105
|
+
statusWord: (status) => status,
|
|
106
|
+
rows: {
|
|
107
|
+
agent: "agent ",
|
|
108
|
+
status: "status ",
|
|
109
|
+
tools: "tools ",
|
|
110
|
+
note: "note ",
|
|
111
|
+
error: "error ",
|
|
112
|
+
task: "task "
|
|
113
|
+
}
|
|
104
114
|
};
|
|
105
115
|
function resolveLabels(labels) {
|
|
106
116
|
return {
|
|
@@ -109,7 +119,10 @@ function resolveLabels(labels) {
|
|
|
109
119
|
runStopped: labels?.runStopped ?? DEFAULT_LABELS.runStopped,
|
|
110
120
|
runFinished: labels?.runFinished ?? DEFAULT_LABELS.runFinished,
|
|
111
121
|
logTail: labels?.logTail ?? DEFAULT_LABELS.logTail,
|
|
112
|
-
runs: labels?.runs ?? DEFAULT_LABELS.runs
|
|
122
|
+
runs: labels?.runs ?? DEFAULT_LABELS.runs,
|
|
123
|
+
toolCount: labels?.toolCount ?? DEFAULT_LABELS.toolCount,
|
|
124
|
+
statusWord: labels?.statusWord ?? DEFAULT_LABELS.statusWord,
|
|
125
|
+
rows: { ...DEFAULT_LABELS.rows, ...labels?.rows ?? {} }
|
|
113
126
|
};
|
|
114
127
|
}
|
|
115
128
|
function shortRunId(runId) {
|
|
@@ -165,21 +178,21 @@ function formatStartRunCard(agentName, status = "running", opts) {
|
|
|
165
178
|
const lines = [L.runStarted];
|
|
166
179
|
const identity = formatIdentityRow(agentName, opts?.runId);
|
|
167
180
|
if (identity) {
|
|
168
|
-
lines.push(` agent
|
|
181
|
+
lines.push(` ${L.rows.agent}${identity}`);
|
|
169
182
|
}
|
|
170
|
-
lines.push(` status
|
|
183
|
+
lines.push(` ${L.rows.status}${icon} ${L.statusWord(status)}`);
|
|
171
184
|
const task = opts?.task?.trim();
|
|
172
185
|
if (task) {
|
|
173
|
-
lines.push(` task
|
|
186
|
+
lines.push(` ${L.rows.task}${clipText(task, TASK_PREVIEW_MAX)}`);
|
|
174
187
|
}
|
|
175
188
|
return lines.join("\n");
|
|
176
189
|
}
|
|
177
190
|
var TASK_PREVIEW_MAX = 72;
|
|
178
191
|
var NOTE_PREVIEW_MAX = 72;
|
|
179
|
-
function formatProgressRow(toolCallCount, lastToolNames) {
|
|
192
|
+
function formatProgressRow(toolCallCount, lastToolNames, labels = DEFAULT_LABELS) {
|
|
180
193
|
const parts = [];
|
|
181
194
|
if (typeof toolCallCount === "number" && Number.isFinite(toolCallCount)) {
|
|
182
|
-
parts.push(
|
|
195
|
+
parts.push(labels.toolCount(toolCallCount));
|
|
183
196
|
}
|
|
184
197
|
if (lastToolNames && lastToolNames.length > 0) {
|
|
185
198
|
parts.push(lastToolNames.join(", "));
|
|
@@ -190,21 +203,21 @@ function formatStatusRunCard(agentName, status = "running", opts) {
|
|
|
190
203
|
const L = resolveLabels(opts?.labels);
|
|
191
204
|
const icon = getAgentRunStatusIcon(status);
|
|
192
205
|
const age = formatRunAge(opts?.timing, opts?.now);
|
|
193
|
-
const lines = [L.runStatus, ` ${icon} ${status}${age ? ` ${age}` : ""}`];
|
|
206
|
+
const lines = [L.runStatus, ` ${icon} ${L.statusWord(status)}${age ? ` ${age}` : ""}`];
|
|
194
207
|
const identity = formatIdentityRow(agentName, opts?.runId);
|
|
195
208
|
if (identity) {
|
|
196
|
-
lines.push(` agent
|
|
209
|
+
lines.push(` ${L.rows.agent}${identity}`);
|
|
197
210
|
}
|
|
198
|
-
const progress = formatProgressRow(opts?.toolCallCount, opts?.lastToolNames);
|
|
211
|
+
const progress = formatProgressRow(opts?.toolCallCount, opts?.lastToolNames, L);
|
|
199
212
|
if (progress) {
|
|
200
|
-
lines.push(` tools
|
|
213
|
+
lines.push(` ${L.rows.tools}${progress}`);
|
|
201
214
|
}
|
|
202
215
|
const note = opts?.lastAssistantText?.trim();
|
|
203
216
|
if (note) {
|
|
204
|
-
lines.push(` note
|
|
217
|
+
lines.push(` ${L.rows.note}${clipText(note, NOTE_PREVIEW_MAX)}`);
|
|
205
218
|
}
|
|
206
219
|
if (opts?.errorMessage?.trim()) {
|
|
207
|
-
lines.push(` error
|
|
220
|
+
lines.push(` ${L.rows.error}${opts.errorMessage.trim()}`);
|
|
208
221
|
}
|
|
209
222
|
if (shouldShowLogTail(status, opts?.includeLogTail, opts?.logLines)) {
|
|
210
223
|
lines.push("", L.logTail, ...opts.logLines.map((l) => ` ${l}`));
|
|
@@ -223,11 +236,11 @@ function formatFinishedRunCard(agentName, status, opts) {
|
|
|
223
236
|
const L = resolveLabels(opts?.labels);
|
|
224
237
|
const icon = getAgentRunStatusIcon(status);
|
|
225
238
|
const age = formatRunAge(opts?.timing, opts?.now);
|
|
226
|
-
const summary = [status, age, formatProgressRow(opts?.toolCallCount, opts?.lastToolNames)].filter(Boolean).join(" \xB7 ");
|
|
239
|
+
const summary = [L.statusWord(status), age, formatProgressRow(opts?.toolCallCount, opts?.lastToolNames, L)].filter(Boolean).join(" \xB7 ");
|
|
227
240
|
const lines = [L.runFinished, ` ${icon} ${summary}`];
|
|
228
241
|
const identity = formatIdentityRow(agentName, opts?.runId);
|
|
229
242
|
if (identity) {
|
|
230
|
-
lines.push(` agent
|
|
243
|
+
lines.push(` ${L.rows.agent}${identity}`);
|
|
231
244
|
}
|
|
232
245
|
const note = opts?.lastAssistantText?.trim();
|
|
233
246
|
if (note) {
|
|
@@ -245,7 +258,7 @@ function formatStopRunCard(status = "killed", labels) {
|
|
|
245
258
|
const L = resolveLabels(labels);
|
|
246
259
|
const icon = getAgentRunStatusIcon(status);
|
|
247
260
|
return `${L.runStopped}
|
|
248
|
-
${icon} ${status}`;
|
|
261
|
+
${icon} ${L.statusWord(status)}`;
|
|
249
262
|
}
|
|
250
263
|
function formatListRunsCard(runs, labels) {
|
|
251
264
|
const L = resolveLabels(labels);
|
|
@@ -260,7 +273,7 @@ function formatListRunsCard(runs, labels) {
|
|
|
260
273
|
function formatNotFoundRunCard(labels) {
|
|
261
274
|
const L = resolveLabels(labels);
|
|
262
275
|
return `${L.runStatus}
|
|
263
|
-
? not_found`;
|
|
276
|
+
? ${L.statusWord("not_found")}`;
|
|
264
277
|
}
|
|
265
278
|
var AGENT_RUN_TERMINAL_STATUSES = /* @__PURE__ */ new Set([
|
|
266
279
|
"done",
|
|
@@ -276,6 +289,24 @@ var AGENT_RUN_TERMINAL_STATUSES = /* @__PURE__ */ new Set([
|
|
|
276
289
|
function isAgentRunTerminalStatus(status) {
|
|
277
290
|
return typeof status === "string" && AGENT_RUN_TERMINAL_STATUSES.has(status);
|
|
278
291
|
}
|
|
292
|
+
function formatAgentListCard(agents, maxDisplay = 8) {
|
|
293
|
+
const total = agents.length;
|
|
294
|
+
const lines = [`Agents (${total})`];
|
|
295
|
+
const visible = agents.slice(0, maxDisplay);
|
|
296
|
+
for (const agent of visible) {
|
|
297
|
+
const star = agent.isFavorite ? "\u2605" : " ";
|
|
298
|
+
const own = agent.isOwned ? "\u25CE" : " ";
|
|
299
|
+
const name = agent.name || "(unnamed)";
|
|
300
|
+
const model = agent.model || "\u2014";
|
|
301
|
+
const source = agent.apiSource || agent.provider || agent.cliProvider || "\u2014";
|
|
302
|
+
const key = agent.agentKey || "(agentKey unavailable)";
|
|
303
|
+
lines.push(`${star}${own} ${name} ${model} ${source} ${key}`);
|
|
304
|
+
}
|
|
305
|
+
if (total > maxDisplay) {
|
|
306
|
+
lines.push(`\u2026 +${total - maxDisplay} more`);
|
|
307
|
+
}
|
|
308
|
+
return lines.join("\n");
|
|
309
|
+
}
|
|
279
310
|
|
|
280
311
|
export {
|
|
281
312
|
buildDelegatedTaskContent,
|
|
@@ -295,5 +326,6 @@ export {
|
|
|
295
326
|
formatStopRunCard,
|
|
296
327
|
formatListRunsCard,
|
|
297
328
|
formatNotFoundRunCard,
|
|
298
|
-
isAgentRunTerminalStatus
|
|
329
|
+
isAgentRunTerminalStatus,
|
|
330
|
+
formatAgentListCard
|
|
299
331
|
};
|
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
patch,
|
|
6
6
|
read
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-4FFUDT6D.js";
|
|
8
8
|
import {
|
|
9
9
|
DEVICE_LOCAL_OWNER_ID,
|
|
10
10
|
isDeviceLocalSpaceBody
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-UJXNKP5V.js";
|
|
12
12
|
import {
|
|
13
13
|
selectIdentityUserId
|
|
14
14
|
} from "./chunk-SEJ5OS6F.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
clearCliLocalRuntimePreparedAgentCache
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NHDMQZJM.js";
|
|
4
4
|
import {
|
|
5
5
|
getReadableCliDb
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LOCNXNOU.js";
|
|
7
7
|
import {
|
|
8
8
|
buildCreatedAgentRecord,
|
|
9
9
|
buildUpdatedAgentRecord,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
resolveAgentRecordFromHybridStore,
|
|
13
13
|
sanitizeAgentRecordForCliOutput,
|
|
14
14
|
writeAgentRecord
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-NZWAO6LH.js";
|
|
16
16
|
import {
|
|
17
17
|
resolveCliAgentKeyInput
|
|
18
18
|
} from "./chunk-SV5IJK6K.js";
|
|
@@ -212,7 +212,7 @@ async function runAgentCreateCommand(args, deps = {}) {
|
|
|
212
212
|
clearCliLocalRuntimePreparedAgentCache();
|
|
213
213
|
let verifyResult;
|
|
214
214
|
if (parsed.verify) {
|
|
215
|
-
const { verifyCustomProvider } = await import("./agentProviderCommands-
|
|
215
|
+
const { verifyCustomProvider } = await import("./agentProviderCommands-IRNZXVGE.js");
|
|
216
216
|
const rec = built.nextRecord;
|
|
217
217
|
verifyResult = await verifyCustomProvider({
|
|
218
218
|
providerUrl: rec.customProviderUrl,
|
|
@@ -222,15 +222,34 @@ async function runAgentCreateCommand(args, deps = {}) {
|
|
|
222
222
|
fetchImpl
|
|
223
223
|
});
|
|
224
224
|
}
|
|
225
|
+
const apiKeyRef = String(built.updates?.apiKeyRef || "").trim();
|
|
226
|
+
let authHint;
|
|
227
|
+
const OAUTH_REFS = /* @__PURE__ */ new Set(["claude", "chatgpt", "xai", "antigravity", "cloudflare"]);
|
|
228
|
+
if (apiKeyRef && OAUTH_REFS.has(apiKeyRef)) {
|
|
229
|
+
try {
|
|
230
|
+
const { createOAuthTokenStore } = await import("./oauthTokenStore-ITEB663N.js");
|
|
231
|
+
const store = createOAuthTokenStore();
|
|
232
|
+
if (!store.read(apiKeyRef)) {
|
|
233
|
+
authHint = `Subscription "${apiKeyRef}" is not authorized yet. Run \`nolo auth ${apiKeyRef}\` to log in.`;
|
|
234
|
+
}
|
|
235
|
+
} catch {
|
|
236
|
+
}
|
|
237
|
+
}
|
|
225
238
|
output.write(JSON.stringify({
|
|
226
239
|
ok: true,
|
|
227
240
|
agentKey: built.agentKey,
|
|
228
241
|
baseUrl: built.serverUrl,
|
|
229
242
|
updates: sanitizeAgentRecordForCliOutput(built.updates),
|
|
230
243
|
record: sanitizeAgentRecordForCliOutput(built.nextRecord),
|
|
231
|
-
...verifyResult ? { verify: verifyResult } : {}
|
|
244
|
+
...verifyResult ? { verify: verifyResult } : {},
|
|
245
|
+
...authHint ? { hint: authHint } : {}
|
|
232
246
|
}, null, 2));
|
|
233
247
|
output.write("\n");
|
|
248
|
+
if (authHint) {
|
|
249
|
+
const errorOutput = deps.error ?? process.stderr;
|
|
250
|
+
errorOutput.write(`[nolo] Hint: ${authHint}
|
|
251
|
+
`);
|
|
252
|
+
}
|
|
234
253
|
return 0;
|
|
235
254
|
} catch (error) {
|
|
236
255
|
output.write(
|