nolo-cli 0.88.0-alpha.2 → 0.90.0-alpha.1
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 +2 -2
- package/{_executeModel-S7KQX4XS.js → _executeModel-W26HVI75.js} +38 -38
- package/{action-JZ62BXLX.js → action-6DXQGJMX.js} +7 -7
- package/{addContentAction-2ETXWERA.js → addContentAction-I7VX5SAC.js} +5 -5
- package/{addDialogAgentAction-COSPGJ4K.js → addDialogAgentAction-OJSFV7DZ.js} +4 -4
- package/{agentDeleteCommand-J6Y2C5X2.js → agentDeleteCommand-XNFWCKBH.js} +25 -24
- package/{agentEmailCommands-TGZ5DJAB.js → agentEmailCommands-W3X3EJ3V.js} +53 -52
- package/{agentGrantCommands-R3VQEZJR.js → agentGrantCommands-YW6PQAQ2.js} +2 -2
- package/{agentListCommands-UIDWO3EG.js → agentListCommands-DFWFU6XO.js} +33 -26
- package/{agentMachineCommands-FPSZ6FJ4.js → agentMachineCommands-LMFOAEL4.js} +25 -24
- package/{agentProviderCommands-65ZC2WB4.js → agentProviderCommands-ZBYHGTGY.js} +87 -0
- package/{agentPullCommand-N7L2CT7L.js → agentPullCommand-GLOOXJ2E.js} +3 -3
- package/{agentRecordCommands-6SCONH5I.js → agentRecordCommands-FVVVCQFM.js} +51 -50
- package/{agentRunCommand-2IXI6Z2U.js → agentRunCommand-HTBVIBGV.js} +52 -51
- package/{agentRunControl-T44MESII.js → agentRunControl-XLGD3UZ5.js} +1 -1
- package/{agentRuntimeLocal-UYU2POZ7.js → agentRuntimeLocal-2JFG4HDU.js} +21 -20
- package/{agentSlice-J5XXG3H7.js → agentSlice-ZNLGFUB5.js} +5 -5
- package/{appDeleteCommands-BVSKDJNM.js → appDeleteCommands-2UN4N2NR.js} +25 -24
- package/{appDeployCommands-UTPULKP3.js → appDeployCommands-37D74KRR.js} +25 -24
- package/{appDeployStatusCommands-DKDE2ECO.js → appDeployStatusCommands-QBLWL2IA.js} +25 -24
- package/{appGetCommands-KT7A7JJQ.js → appGetCommands-6KXIDF2T.js} +25 -24
- package/{appListCommands-MTHRLBXS.js → appListCommands-G2WFGEWQ.js} +25 -24
- package/{authCommand-NNFLRLGJ.js → authCommand-V2DJ7DB7.js} +85 -19
- package/{authCommands-364ESL7K.js → authCommands-RGOGCPP6.js} +3 -3
- package/{builtinSkillRegistry-VXSNE7LM.js → builtinSkillRegistry-WBGYKIAZ.js} +5 -5
- package/{chatQueueReduxAdapter-6I4F5TQW.js → chatQueueReduxAdapter-XCJHIY3R.js} +17 -17
- package/{chunk-BXLB7DXE.js → chunk-2ADBVBEM.js} +98 -2
- package/{chunk-WKJC6UOK.js → chunk-2AYMFHUG.js} +4 -4
- package/{chunk-CADAR6QU.js → chunk-2F4VYGFW.js} +2 -2
- package/{chunk-C3FZR5EC.js → chunk-2F7RJC6L.js} +1 -1
- package/{chunk-IBT5GKZM.js → chunk-3CMTBX3X.js} +6 -6
- package/{chunk-T2EUOLNJ.js → chunk-3CR2LC6X.js} +1 -1
- package/{chunk-UMYXJWI3.js → chunk-3R5PH4IP.js} +1 -1
- package/{chunk-EVCXTAOR.js → chunk-4BYPU626.js} +294 -203
- package/{chunk-M67M3AK5.js → chunk-4DRWWIOL.js} +1 -1
- package/{chunk-KR3MGGC7.js → chunk-576IMUGH.js} +1 -1
- package/{chunk-MGRRXGZD.js → chunk-5DFFKASO.js} +3 -3
- package/{chunk-SENTM5XJ.js → chunk-5NMZNPTN.js} +5 -5
- package/{chunk-5XTOKQLW.js → chunk-5UTFL4QJ.js} +6 -2
- package/{chunk-5CEIOSBX.js → chunk-5V4NJHRM.js} +6 -6
- package/chunk-5ZUL4CUO.js +10 -0
- package/{chunk-XPMTSMUR.js → chunk-6BEA566T.js} +2 -2
- package/{chunk-KIAHQ37Z.js → chunk-6D6VBVEW.js} +2 -2
- package/{chunk-PP3LAL6G.js → chunk-7MYYE7WX.js} +23 -19
- package/{chunk-BQKN5ZHZ.js → chunk-A2C4AKKM.js} +1 -1
- package/{chunk-PBMUDRON.js → chunk-AQZRTHDZ.js} +1192 -44
- package/{chunk-AJHEFRGJ.js → chunk-ASGDO77C.js} +122 -1
- package/{chunk-2KDR4CWE.js → chunk-BYMV6QZG.js} +24 -1
- package/{chunk-WVXCW7DR.js → chunk-CLI4LFSM.js} +9 -4
- package/{chunk-HH65VA5U.js → chunk-CPH3W5A7.js} +15 -3
- package/{chunk-A3GDWRW6.js → chunk-DNQPPRHY.js} +1 -1
- package/{chunk-SR2I44ML.js → chunk-DPQ2WVBY.js} +1 -1
- package/{chunk-IZWQKAGJ.js → chunk-F2CGG72C.js} +40 -40
- package/{chunk-QDOYVIIL.js → chunk-FQYMLZ6C.js} +5 -5
- package/{chunk-BJIRLHJR.js → chunk-GII32WZW.js} +1 -0
- package/{chunk-TR54UTFI.js → chunk-GRYGRGPS.js} +4 -4
- package/{chunk-QIU65GHY.js → chunk-HMEMJ7GH.js} +364 -24
- package/{chunk-OZX2IPKM.js → chunk-HQCSU3DI.js} +1 -1
- package/{chunk-KMIMGCZT.js → chunk-HYZHJ5GW.js} +3 -3
- package/{chunk-OAJRZ35U.js → chunk-IIKPWSPX.js} +1 -1
- package/{chunk-EFWQMKEG.js → chunk-JBBZ5KUM.js} +10 -10
- package/{chunk-KC5FAHVS.js → chunk-JEDZAO7L.js} +1 -1
- package/{chunk-4YIWJYIX.js → chunk-JTK3TJYV.js} +1 -1
- package/{chunk-TMPLPCVX.js → chunk-K7M3MWCE.js} +2 -2
- package/{chunk-OHUU52T3.js → chunk-L2ICPOAL.js} +1 -1
- package/{chunk-RXX4GDIH.js → chunk-LS2ZANRJ.js} +1 -1
- package/{chunk-EVBFYPDC.js → chunk-MC4XLIJ7.js} +6 -2
- package/{chunk-LHDV2QUI.js → chunk-MJHQ3NRV.js} +1 -1
- package/{chunk-WHYTL6XG.js → chunk-N3OAPEZE.js} +28 -9
- package/{chunk-PZCTYKGU.js → chunk-ND2J3NRB.js} +2 -2
- package/{chunk-M2ZBPSGH.js → chunk-NFMHIUY3.js} +65 -50
- package/{chunk-S6FCVZ4I.js → chunk-PH5J5VUY.js} +2 -2
- package/{chunk-FMODTASJ.js → chunk-Q5FJJ6XI.js} +1 -7
- package/{chunk-JYYZCK2Z.js → chunk-QFMFJZLO.js} +1 -1
- package/{chunk-5XV64MAU.js → chunk-QHETQ3KI.js} +35 -1
- package/{chunk-BEQGQMYW.js → chunk-RZANZZL2.js} +2 -2
- package/{chunk-SPAQ4PVV.js → chunk-SAFZABH7.js} +1 -1
- package/{chunk-6LUUGZTS.js → chunk-SMZSWB44.js} +10 -5
- package/{chunk-HJKGQPYF.js → chunk-TL6L5XUT.js} +1 -1
- package/{chunk-M5K26BH3.js → chunk-TVNI5FLG.js} +4 -4
- package/{chunk-X7WAX4JU.js → chunk-UA5S3LQQ.js} +3 -3
- package/{chunk-2LX7X7HX.js → chunk-UTCCPWB2.js} +31 -3
- package/{chunk-DJM4BCSB.js → chunk-VHJLQHPQ.js} +2 -2
- package/{chunk-MXUSPS2N.js → chunk-VRLI2WNW.js} +1563 -1529
- package/{chunk-NG4UT4K4.js → chunk-WS22FPWT.js} +1 -1
- package/{chunk-NJBLAV2R.js → chunk-WXPVOQD7.js} +35 -33
- package/{chunk-5HKWE6OQ.js → chunk-XKQJJK4F.js} +1 -1
- package/{chunk-N4X2KIYL.js → chunk-XMGHGEN6.js} +1 -1
- package/{chunk-6IHWRTUK.js → chunk-XTUY5EL4.js} +16 -12
- package/{chunk-OKCTLCKS.js → chunk-YOXYA2GU.js} +1 -1
- package/{chunk-EDZAJS6E.js → chunk-Z33ARZCP.js} +1 -1
- package/chunk-ZAB3A45K.js +677 -0
- package/{chunk-YZHP76TR.js → chunk-ZBT3WNBK.js} +1 -1
- package/{contentThunks-2N2J3EGF.js → contentThunks-VURN3DFW.js} +18 -18
- package/{createAgentAutomationAction-7QO4ZVVP.js → createAgentAutomationAction-QZAAY77R.js} +18 -18
- package/{createDialogAction-PC2IQ4T7.js → createDialogAction-CHGXVTAC.js} +20 -20
- package/{createPageAction-EFL5EC22.js → createPageAction-IOGAFIN7.js} +18 -18
- package/{dbSlice-JNK4XZ27.js → dbSlice-YXQ6RYIH.js} +4 -4
- package/{dialogCommands-BSOWO6CA.js → dialogCommands-XREAP6WQ.js} +26 -25
- package/{dialogSlice-W6X5G2KS.js → dialogSlice-DOPGWGS4.js} +17 -17
- package/{docCreateCommands-LWZU23FP.js → docCreateCommands-3PYZGSCL.js} +24 -23
- package/{docDeleteCommands-RR6GKDDF.js → docDeleteCommands-3Y6MU44Q.js} +25 -24
- package/{docReadCommands-JP77ZTCY.js → docReadCommands-UBANMAFR.js} +24 -23
- package/{docStore-DMNGPTL4.js → docStore-SYYFBENY.js} +5 -5
- package/{docUpdateCommands-T4OACV4V.js → docUpdateCommands-4GK2X6BN.js} +24 -23
- package/{getPricing-QVTUQQTM.js → getPricing-F2C65RIX.js} +3 -3
- package/{handleSendMessageAction-RJEXW5VS.js → handleSendMessageAction-NPVTY2GE.js} +17 -17
- package/index.js +85 -81
- package/{localDialogRead-GKTRZFAP.js → localDialogRead-BTFJ4V2I.js} +1 -1
- package/{localRuntimeDb-P37ZTX55.js → localRuntimeDb-SYQGUF4U.js} +1 -1
- package/{machineCommands-K3VQUSAX.js → machineCommands-I66X2XB7.js} +49 -48
- package/{machineWsRunDispatch-P7RNOLMU.js → machineWsRunDispatch-W4FVBOUM.js} +49 -48
- package/{memberThunks-A6OAY77F.js → memberThunks-5T4J6KXQ.js} +5 -5
- package/{models-GS72DVJS.js → models-WW7VFNXB.js} +2 -2
- package/{offlineMarxistsAgentCommand-GEH6SNNA.js → offlineMarxistsAgentCommand-JEWCIAWM.js} +1 -1
- package/package.json +1 -1
- package/providerPresetApply-OCWWKBSD.js +214 -0
- package/providerRegistry-ZJQU7AJ7.js +31 -0
- package/{read-2PV4PN2E.js → read-M2Q6WEKB.js} +3 -3
- package/{readDocTool-FGK5XGAW.js → readDocTool-T37P3YPB.js} +1 -1
- package/{readlineWorkspace-FGQLVWLE.js → readlineWorkspace-VY5AMOGR.js} +127 -95
- package/{removeDialogAgentAction-6SGBZWSW.js → removeDialogAgentAction-HB3JBVAI.js} +7 -7
- package/{runAgentClientLoop-75TQMT2H.js → runAgentClientLoop-3NDADLVE.js} +36 -36
- package/{runtimeDoctorCommands-CROTMULY.js → runtimeDoctorCommands-X6WDBEQX.js} +2 -2
- package/{setDialogExtraReferencesAction-LC3SOVJO.js → setDialogExtraReferencesAction-4XLHRV37.js} +5 -5
- package/{setPrimaryDialogAgentAction-XE2HIEVY.js → setPrimaryDialogAgentAction-C3JOFC4W.js} +7 -7
- package/{settingSlice-GJYAXZZ6.js → settingSlice-CZRURSTH.js} +6 -6
- package/{spaceCommands-7GMVZQYI.js → spaceCommands-ENYCUUZH.js} +24 -23
- package/{streamAgentChatTurn-JYKKAOEU.js → streamAgentChatTurn-634OFUSR.js} +46 -44
- package/{switchDialogAgentAction-EDYI5RLR.js → switchDialogAgentAction-C6KVUKJP.js} +4 -4
- package/{tableCommands-SUNTHAYX.js → tableCommands-O6NWHFKV.js} +1 -1
- package/{toolApiClient-VGYUB4P5.js → toolApiClient-7PSIFQPJ.js} +2 -2
- package/{tools-PCY3TDNR.js → tools-ILBLCF7D.js} +33 -33
- package/tuiSummaryLlmCaller-LFUBZKXK.js +127 -0
- package/{updateCommands-Y363MC3L.js → updateCommands-2M74UL7P.js} +2 -2
- package/{updateDialogTitleAction-36NOSXEX.js → updateDialogTitleAction-RKFET73N.js} +38 -21
- package/tuiSummaryLlmCaller-CCYGQDGB.js +0 -116
- package/{db-VQSAOWAO.js → db-WK5MDZVN.js} +1 -1
- package/{localRuntimeAuthority-R5UBODT3.js → localRuntimeAuthority-6IR6BBXE.js} +3 -3
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
} from "./chunk-YPREESF4.js";
|
|
5
5
|
import {
|
|
6
6
|
handleSendMessage
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-HMEMJ7GH.js";
|
|
8
|
+
import "./chunk-MC4XLIJ7.js";
|
|
9
9
|
import "./chunk-3BMYXEUW.js";
|
|
10
10
|
import "./chunk-YYLHWIW6.js";
|
|
11
11
|
import "./chunk-AGGIDPCZ.js";
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-TVNI5FLG.js";
|
|
13
|
+
import "./chunk-6BEA566T.js";
|
|
14
14
|
import "./chunk-5RGU3J7P.js";
|
|
15
15
|
import {
|
|
16
16
|
clearPendingUserInputQueue,
|
|
@@ -21,34 +21,34 @@ import {
|
|
|
21
21
|
} from "./chunk-6YTOJY35.js";
|
|
22
22
|
import "./chunk-M76ECQRD.js";
|
|
23
23
|
import "./chunk-YDH3FDFQ.js";
|
|
24
|
-
import "./chunk-
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-PZCTYKGU.js";
|
|
24
|
+
import "./chunk-F2CGG72C.js";
|
|
25
|
+
import "./chunk-VHJLQHPQ.js";
|
|
27
26
|
import "./chunk-PSCNXBYA.js";
|
|
27
|
+
import "./chunk-ND2J3NRB.js";
|
|
28
28
|
import "./chunk-BYXBJQAS.js";
|
|
29
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-VRLI2WNW.js";
|
|
30
30
|
import "./chunk-DWLEOOGR.js";
|
|
31
31
|
import "./chunk-HVURBGF3.js";
|
|
32
32
|
import "./chunk-ONXOABJR.js";
|
|
33
33
|
import "./chunk-W7XHHYWM.js";
|
|
34
34
|
import "./chunk-HNMXYYJR.js";
|
|
35
35
|
import "./chunk-7S4YWN7P.js";
|
|
36
|
-
import "./chunk-
|
|
37
|
-
import "./chunk-
|
|
38
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-WS22FPWT.js";
|
|
37
|
+
import "./chunk-ASGDO77C.js";
|
|
38
|
+
import "./chunk-PH5J5VUY.js";
|
|
39
39
|
import "./chunk-Y5GCAMGP.js";
|
|
40
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-RZANZZL2.js";
|
|
41
41
|
import "./chunk-KX6YBIHG.js";
|
|
42
|
-
import "./chunk-
|
|
42
|
+
import "./chunk-4DRWWIOL.js";
|
|
43
43
|
import "./chunk-UAD2WT54.js";
|
|
44
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-UA5S3LQQ.js";
|
|
45
45
|
import "./chunk-VMFTFOWF.js";
|
|
46
46
|
import "./chunk-WWC7I6TA.js";
|
|
47
47
|
import "./chunk-ABQYVJBJ.js";
|
|
48
48
|
import "./chunk-QSJ3HFEF.js";
|
|
49
|
-
import "./chunk-
|
|
50
|
-
import "./chunk-
|
|
51
|
-
import "./chunk-
|
|
49
|
+
import "./chunk-L2ICPOAL.js";
|
|
50
|
+
import "./chunk-TL6L5XUT.js";
|
|
51
|
+
import "./chunk-GII32WZW.js";
|
|
52
52
|
import "./chunk-UKWGR5SS.js";
|
|
53
53
|
import "./chunk-QOKAKDPE.js";
|
|
54
54
|
import "./chunk-OW765XBU.js";
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
buildBuiltinObjectSkillDbKey,
|
|
7
7
|
buildBuiltinObjectSkillPageContent,
|
|
8
8
|
buildCodeWorkDiscipline
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-CLI4LFSM.js";
|
|
10
10
|
import {
|
|
11
11
|
buildSkillDocMarkdown,
|
|
12
12
|
resolvePageSkillMetadata
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
} from "./chunk-O6OSWFZQ.js";
|
|
17
17
|
import {
|
|
18
18
|
nolotusId
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-RZANZZL2.js";
|
|
20
20
|
import {
|
|
21
21
|
asNonEmptyStringArray
|
|
22
22
|
} from "./chunk-VMFTFOWF.js";
|
|
@@ -55,6 +55,7 @@ var buildSkillGuidancePromptBlock = (options) => {
|
|
|
55
55
|
return [
|
|
56
56
|
title,
|
|
57
57
|
recommendedSkillHints.length > 0 ? `\u4EE5\u4E0B\u6280\u80FD\u4E0E\u5F53\u524D\u4EFB\u52A1\u66F4\u76F8\u5173\uFF0C\u53EF\u4F18\u5148\u8003\u8651\uFF1A${recommendedSkillHints.join("\u3001")}` : "",
|
|
58
|
+
recommendedSkillHints.length > 0 ? "\u8FD9\u4E9B\u63A8\u8350\u6280\u80FD\u662F\u6309\u9700\u52A0\u8F7D\u7684\u8BF4\u660E\u4E66\uFF0C\u4E0D\u662F\u88C5\u9970\u6027\u6807\u7B7E\uFF1A\u5F53\u5F53\u524D\u4EFB\u52A1\u660E\u663E\u547D\u4E2D\u67D0\u9879\u6280\u80FD\u7684\u540D\u79F0\u6216\u804C\u8D23\u65F6\uFF0C\u5148\u7528 loadSkill \u8BFB\u53D6\u5BF9\u5E94\u6280\u80FD\uFF0C\u518D\u6309\u5176\u65B9\u6CD5\u6267\u884C\uFF1B\u4E0D\u547D\u4E2D\u65F6\u4E0D\u8981\u4E3A\u4E86\u2018\u7528 Skill\u2019\u800C\u52A0\u8F7D\u3002\u82E5\u6CA1\u6709 loadSkill \u5DE5\u5177\uFF0C\u5219\u6309\u73B0\u6709\u4E0A\u4E0B\u6587\u7EE7\u7EED\uFF0C\u4E0D\u8981\u5047\u88C5\u5DF2\u8BFB\u53D6\u6280\u80FD\u6B63\u6587\u3002" : "",
|
|
58
59
|
...skillPromptPatches
|
|
59
60
|
].filter(Boolean).join("\n");
|
|
60
61
|
};
|
|
@@ -1339,6 +1340,94 @@ function buildSkillCreatorSkillContentBySlug(slug) {
|
|
|
1339
1340
|
});
|
|
1340
1341
|
}
|
|
1341
1342
|
|
|
1343
|
+
// packages/ai/skills/agentProviderSetupSkill.ts
|
|
1344
|
+
var AGENT_PROVIDER_SETUP_SKILL_SLUGS = ["agent-provider-setup"];
|
|
1345
|
+
function deterministicId11(prefix, seed) {
|
|
1346
|
+
let h = 2166136261;
|
|
1347
|
+
for (let i = 0; i < seed.length; i++) {
|
|
1348
|
+
h ^= seed.charCodeAt(i);
|
|
1349
|
+
h = h * 16777619 >>> 0;
|
|
1350
|
+
}
|
|
1351
|
+
const suffix = h.toString(36).toUpperCase().padStart(14, "0");
|
|
1352
|
+
return (prefix + suffix).slice(0, 26);
|
|
1353
|
+
}
|
|
1354
|
+
function normalizeSkillSeed11(input) {
|
|
1355
|
+
return input.trim().toLowerCase().replace(/[^a-z0-9\u4e00-\u9fa5]+/g, "-").replace(/^-+|-+$/g, "");
|
|
1356
|
+
}
|
|
1357
|
+
function buildAgentProviderSetupSkillId(slug) {
|
|
1358
|
+
return deterministicId11("01SK", normalizeSkillSeed11(slug) || slug);
|
|
1359
|
+
}
|
|
1360
|
+
function buildAgentProviderSetupSkillPageKey(userId, slug) {
|
|
1361
|
+
return `page-${userId}-${buildAgentProviderSetupSkillId(slug)}`;
|
|
1362
|
+
}
|
|
1363
|
+
function buildAgentProviderSetupSkillConfig(slug) {
|
|
1364
|
+
return {
|
|
1365
|
+
version: "0.1",
|
|
1366
|
+
kind: "skill",
|
|
1367
|
+
id: buildAgentProviderSetupSkillId(slug),
|
|
1368
|
+
name: "\u81EA\u5EFA Provider Agent \u5F15\u5BFC\uFF08agent-provider-setup\uFF09",
|
|
1369
|
+
triggerMode: "recommended",
|
|
1370
|
+
// execShell runs `nolo agent providers` + `nolo agent create`; ask_user is
|
|
1371
|
+
// used for the model/effort fork and the key-confirm gate.
|
|
1372
|
+
toolNames: ["execShell", "ask_user", "loadSkill"],
|
|
1373
|
+
description: 'Guide the user through creating an Agent on a subscription token-plan or metered own-API-key provider (Step Plan, Kimi Code, DeepSeek, OpenCode Go, \u2026). Use when the user wants to create an agent that is NOT platform-hosted \u2014 e.g. "\u7528\u8BA2\u9605\u4F1A\u5458\u5EFA agent", "create an agent on Step Plan / my own API key", or names a provider subscription. Reads `nolo agent providers --json` for the live preset list; never hardcode providers.'
|
|
1374
|
+
};
|
|
1375
|
+
}
|
|
1376
|
+
function buildAgentProviderSetupSkillContentBySlug(slug) {
|
|
1377
|
+
return buildSkillDocMarkdown({
|
|
1378
|
+
skillConfig: buildAgentProviderSetupSkillConfig(slug),
|
|
1379
|
+
body: `Help the user create an Agent that runs on their own subscription plan or API key, not a platform-hosted model.
|
|
1380
|
+
|
|
1381
|
+
The preset catalog is DATA-DRIVEN \u2014 do not hardcode provider names or base URLs. Always read the live list first.
|
|
1382
|
+
|
|
1383
|
+
## Step 1 \u2014 List available presets
|
|
1384
|
+
|
|
1385
|
+
Run (via execShell):
|
|
1386
|
+
\`\`\`
|
|
1387
|
+
nolo agent providers --json
|
|
1388
|
+
\`\`\`
|
|
1389
|
+
This returns the registry presets grouped by \`group\`:
|
|
1390
|
+
- \`subscription\` \u2014 token-plan subscriptions (Step Plan, Kimi Code, OpenCode Go\u2026): need an API key + a locked baseUrl.
|
|
1391
|
+
- \`metered_api\` \u2014 pay-per-use own-key APIs (stepfun-api, deepseek-api, minimax\u2026).
|
|
1392
|
+
- \`subscription_oauth\` \u2014 OAuth brands (ChatGPT, Claude, Cursor\u2026): **cannot be created from a key here** \u2014 tell the user these require Nolo Desktop OAuth login, and stop.
|
|
1393
|
+
|
|
1394
|
+
Match the user's request to a preset \`id\`. If the user already named one (e.g. "stepfun \u8BA2\u9605" \u2192 \`step-plan\`), skip straight to it. If ambiguous between subscription vs metered for the same vendor (e.g. \`step-plan\` vs \`stepfun-api\`), ask which they mean \u2014 subscription is the monthly-Credit plan, metered is pay-per-token.
|
|
1395
|
+
|
|
1396
|
+
## Step 2 \u2014 Model & reasoning effort: fork on how much the user knows
|
|
1397
|
+
|
|
1398
|
+
- **User is specific** (names a model or effort): use the preset's \`models[]\` list to confirm the choice is valid, and ask for reasoning effort only among what that model supports (\`low/medium/high\` for stepfun; check \`supportsReasoningEffort\`).
|
|
1399
|
+
- **User doesn't know / says "\u968F\u4FBF / \u4F60\u770B\u7740\u529E"**: just use the preset's \`defaultModel\` and default effort \u2014 do NOT interrogate them. The recommended model is already marked \`recommended:true\` in the list.
|
|
1400
|
+
|
|
1401
|
+
## Step 3 \u2014 Collect the API key
|
|
1402
|
+
|
|
1403
|
+
Show the preset's \`keyFormatHint\` if present (it says where to get the key). Ask the user to paste their API key. Never invent one.
|
|
1404
|
+
|
|
1405
|
+
## Step 4 \u2014 Confirm & create (sensitive \u2014 confirm first)
|
|
1406
|
+
|
|
1407
|
+
Show the user the exact command you will run, with the key masked, and get an explicit yes before executing. Then run it with the key passed via env so it never lands on the command line / in logs:
|
|
1408
|
+
|
|
1409
|
+
\`\`\`
|
|
1410
|
+
CUSTOM_API_KEY='<the-key>' nolo agent create <slug> \\
|
|
1411
|
+
--preset <preset-id> --api-key "$CUSTOM_API_KEY" --verify
|
|
1412
|
+
\`\`\`
|
|
1413
|
+
|
|
1414
|
+
- \`--preset\` auto-fills provider/baseUrl/model from the registry; add \`--model <id>\` only if the user picked a non-default model.
|
|
1415
|
+
- \`--verify\` probes the endpoint end-to-end and confirms the key works.
|
|
1416
|
+
- For a metered preset use its \`metered_api\` id the same way.
|
|
1417
|
+
|
|
1418
|
+
## Step 5 \u2014 Report
|
|
1419
|
+
|
|
1420
|
+
On success report the created agentKey and model. If \`--verify\` fails, relay the endpoint's error verbatim and suggest checking the key / plan tier.
|
|
1421
|
+
|
|
1422
|
+
## Hard rules
|
|
1423
|
+
|
|
1424
|
+
- API key goes through the \`CUSTOM_API_KEY\` env var, never as a literal arg, never echoed back.
|
|
1425
|
+
- Always show the resolved command (key masked) and get confirmation before running \u2014 creating an agent + storing a credential is a sensitive action.
|
|
1426
|
+
- OAuth subscription presets \u2192 redirect to Nolo Desktop; do not attempt to create them via key.
|
|
1427
|
+
- If \`nolo agent providers\` fails or the list is empty, say so and ask the user for the provider's base URL + key to build a manual custom agent instead.`
|
|
1428
|
+
});
|
|
1429
|
+
}
|
|
1430
|
+
|
|
1342
1431
|
// packages/ai/skills/builtinSkillRegistry.ts
|
|
1343
1432
|
var codePlannerContentBySlug = /* @__PURE__ */ (() => {
|
|
1344
1433
|
const cache = /* @__PURE__ */ new Map();
|
|
@@ -1431,6 +1520,13 @@ var SOURCES = [
|
|
|
1431
1520
|
buildPageKey: buildSkillCreatorSkillPageKey,
|
|
1432
1521
|
buildConfig: buildSkillCreatorSkillConfig,
|
|
1433
1522
|
buildContent: buildSkillCreatorSkillContentBySlug
|
|
1523
|
+
},
|
|
1524
|
+
{
|
|
1525
|
+
slugs: AGENT_PROVIDER_SETUP_SKILL_SLUGS,
|
|
1526
|
+
buildSkillId: buildAgentProviderSetupSkillId,
|
|
1527
|
+
buildPageKey: buildAgentProviderSetupSkillPageKey,
|
|
1528
|
+
buildConfig: buildAgentProviderSetupSkillConfig,
|
|
1529
|
+
buildContent: buildAgentProviderSetupSkillContentBySlug
|
|
1434
1530
|
}
|
|
1435
1531
|
];
|
|
1436
1532
|
var buildRegistry = () => {
|
|
@@ -3,18 +3,18 @@ import {
|
|
|
3
3
|
} from "./chunk-YYLHWIW6.js";
|
|
4
4
|
import {
|
|
5
5
|
compareAgentSelection
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-YOXYA2GU.js";
|
|
7
7
|
import {
|
|
8
8
|
isAntigravityOAuthAgent
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-MJHQ3NRV.js";
|
|
10
10
|
import {
|
|
11
11
|
getModelAbility
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-WS22FPWT.js";
|
|
13
13
|
import {
|
|
14
14
|
isOwnedAgentKey,
|
|
15
15
|
ownedAgentKey,
|
|
16
16
|
publicAgentKey
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-GII32WZW.js";
|
|
18
18
|
import {
|
|
19
19
|
fnv1a32Hex
|
|
20
20
|
} from "./chunk-UKWGR5SS.js";
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
} from "./chunk-AGGIDPCZ.js";
|
|
7
7
|
import {
|
|
8
8
|
getModelConfig
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-VRLI2WNW.js";
|
|
10
10
|
import {
|
|
11
11
|
isPlatformHostedImageModel
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-ASGDO77C.js";
|
|
13
13
|
import {
|
|
14
14
|
asOptionalFiniteNumber
|
|
15
15
|
} from "./chunk-WWC7I6TA.js";
|
|
@@ -14,7 +14,7 @@ function buildCliLocalRuntimeDbEnv(env = process.env) {
|
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
async function getDefaultCliLocalRuntimeDb(options = {}) {
|
|
17
|
-
const { getDefaultCliLocalRuntimeDb: getAuthorityBackedDb } = await import("./localRuntimeAuthority-
|
|
17
|
+
const { getDefaultCliLocalRuntimeDb: getAuthorityBackedDb } = await import("./localRuntimeAuthority-6IR6BBXE.js");
|
|
18
18
|
return getAuthorityBackedDb(options);
|
|
19
19
|
}
|
|
20
20
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
clearCliLocalRuntimePreparedAgentCache
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NFMHIUY3.js";
|
|
4
4
|
import {
|
|
5
5
|
getReadableCliDb
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LS2ZANRJ.js";
|
|
7
7
|
import {
|
|
8
8
|
buildCreatedAgentRecord,
|
|
9
9
|
buildUpdatedAgentRecord,
|
|
@@ -12,10 +12,10 @@ import {
|
|
|
12
12
|
resolveAgentRecordFromHybridStore,
|
|
13
13
|
sanitizeAgentRecordForCliOutput,
|
|
14
14
|
writeAgentRecord
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-UTCCPWB2.js";
|
|
16
16
|
import {
|
|
17
17
|
resolveCliAgentKeyInput
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-SAFZABH7.js";
|
|
19
19
|
import {
|
|
20
20
|
toErrorMessage
|
|
21
21
|
} from "./chunk-HNMXYYJR.js";
|
|
@@ -167,7 +167,7 @@ async function runAgentCreateCommand(args, deps = {}) {
|
|
|
167
167
|
}
|
|
168
168
|
if (!parsed) {
|
|
169
169
|
output.write(
|
|
170
|
-
"Usage: nolo agent create <agent> [--model <id>] [--cli-provider <provider>] [--api-source <source>] [--max-concurrent <n>] [--expires-at <iso>] [--prompt <text> | --prompt-file <path> | --prompt-doc <pageKey>] [--tools <json>] [--copy-provider-from <agent>] [--name <name>] [--custom-provider-url <url>] [--api-key <key>|--provider-api-key <key>] [--verify] [--field key=value]\n".replace("[--field key=value]", "[--handle <name>] [--field key=value]")
|
|
170
|
+
"Usage: nolo agent create <agent> [--preset <id>] [--model <id>] [--cli-provider <provider>] [--api-source <source>] [--max-concurrent <n>] [--expires-at <iso>] [--prompt <text> | --prompt-file <path> | --prompt-doc <pageKey>] [--tools <json>] [--copy-provider-from <agent>] [--name <name>] [--custom-provider-url <url>] [--api-key <key>|--provider-api-key <key>] [--verify] [--field key=value]\n" + " --preset <id> resolves a `nolo agent providers` preset (e.g. step-plan) into provider/baseUrl/model; explicit flags override it.\n".replace("[--field key=value]", "[--handle <name>] [--field key=value]")
|
|
171
171
|
);
|
|
172
172
|
return args[0] ? 0 : 1;
|
|
173
173
|
}
|
|
@@ -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-ZBYHGTGY.js");
|
|
216
216
|
const rec = built.nextRecord;
|
|
217
217
|
verifyResult = await verifyCustomProvider({
|
|
218
218
|
providerUrl: rec.customProviderUrl,
|