nolo-cli 0.198.0-alpha.3 → 0.199.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/{_executeModel-3D4HLADO.js → _executeModel-KGMFBND7.js} +15 -16
- package/{agentDeleteCommand-EXBU3PZJ.js → agentDeleteCommand-ITQN4QLD.js} +15 -15
- package/{agentEmailCommands-3T7NAJHR.js → agentEmailCommands-3LDZFOFC.js} +17 -17
- package/{agentListCommands-AFR6XDWI.js → agentListCommands-SW3QUAOF.js} +1 -1
- package/{agentMachineCommands-JXXDCTG5.js → agentMachineCommands-QH2BUSWC.js} +2 -2
- package/{agentRecordCommands-RLHYIRGY.js → agentRecordCommands-NE36A7IH.js} +16 -16
- package/{agentRunCommand-7KO6SQPF.js → agentRunCommand-KNNJSEDV.js} +17 -17
- package/{agentRuntimeLocal-N7LXMTFO.js → agentRuntimeLocal-FZQTLBN6.js} +1 -1
- package/{agentSlice-JFRZAKR4.js → agentSlice-CB25SUJB.js} +1 -1
- package/{appDeleteCommands-IVQD7JC4.js → appDeleteCommands-TUCRDFU2.js} +1 -1
- package/{appDeployCommands-PXFX5INY.js → appDeployCommands-BQCYEC3R.js} +1 -1
- package/{appDeployStatusCommands-PWQEL3ED.js → appDeployStatusCommands-SX26DRSV.js} +1 -1
- package/{appGetCommands-GJHFSJMP.js → appGetCommands-CDFTFOOZ.js} +1 -1
- package/{appListCommands-ARUY6PBR.js → appListCommands-7ARRUYU3.js} +1 -1
- package/{builtinSkillRegistry-7MBUY5EY.js → builtinSkillRegistry-36WIAYXB.js} +2 -3
- package/{chunk-X26GHKRS.js → chunk-4BBAP7E4.js} +1 -1
- package/{chunk-3Z7KHXVE.js → chunk-4G5YV3EG.js} +19 -9
- package/{chunk-SM56M7N7.js → chunk-6OEPWZV7.js} +38 -4
- package/{chunk-UL57BAAE.js → chunk-6YJA5FPA.js} +3 -3
- package/{chunk-MKDEI64N.js → chunk-74YOBGG6.js} +3 -3
- package/{chunk-VYNMQ6HW.js → chunk-76OXA55E.js} +75 -0
- package/{chunk-HGS3XV5K.js → chunk-C4RTTV4V.js} +1 -1
- package/{chunk-RYPJRIFF.js → chunk-DEOPS4PJ.js} +4 -79
- package/{chunk-S5DELBWY.js → chunk-E7B4CR5M.js} +3 -3
- package/{chunk-HN3XRWSP.js → chunk-GQ3QPQEP.js} +2 -2
- package/{chunk-YQH5IYWZ.js → chunk-IYI5Y74S.js} +7 -7
- package/{chunk-7MB72UW6.js → chunk-JNRGTW6S.js} +13 -13
- package/{chunk-POEYAIBT.js → chunk-KJZFDQF3.js} +8 -8
- package/{chunk-OYZLT2BN.js → chunk-LKZ7FZTI.js} +3 -3
- package/{chunk-TXQ5BC57.js → chunk-MQKPELXS.js} +2 -2
- package/{chunk-5HAPEKNH.js → chunk-O2H2Z7U4.js} +82 -15
- package/{chunk-L577NIDI.js → chunk-R33OLTYJ.js} +1 -1
- package/{chunk-MGFRMNK5.js → chunk-RJVYCYLQ.js} +8 -8
- package/{chunk-4SEOTTFQ.js → chunk-RMRLWIQS.js} +2 -2
- package/{chunk-JW2GK3KC.js → chunk-RRKJTPWB.js} +3 -3
- package/{chunk-2WVRUUXO.js → chunk-SYGZQMC2.js} +30 -10
- package/{chunk-W7JWTQTJ.js → chunk-TDVJP4KY.js} +1 -1
- package/{chunk-INFHX73M.js → chunk-TS2LLPTD.js} +1 -1
- package/chunk-TYQAGKPR.js +57 -0
- package/{commandRegistry-A4AXQVI6.js → commandRegistry-5IWG5Y44.js} +40 -40
- package/{contentThunks-6BAKBO7Q.js → contentThunks-HLK4P4WY.js} +3 -3
- package/{createAgentAutomationAction-HJWAZ7RX.js → createAgentAutomationAction-PGEMZSPA.js} +3 -3
- package/{createDialogAction-BDI3T4C7.js → createDialogAction-3YFKJAL3.js} +5 -6
- package/{createPageAction-P5NL5NIZ.js → createPageAction-3DYXFT6A.js} +3 -3
- package/{dialogCommands-HA674SBZ.js → dialogCommands-VPPMDS7O.js} +1 -1
- package/{dialogSlice-UZXUHU3F.js → dialogSlice-7MTH65XY.js} +2 -2
- package/{docCreateCommands-GIUFPKTR.js → docCreateCommands-RBSXLMXE.js} +1 -1
- package/{docDeleteCommands-J5CEAHTI.js → docDeleteCommands-KNDHZJ5P.js} +1 -1
- package/{docReadCommands-JNMDIG7M.js → docReadCommands-WOPIYED3.js} +1 -1
- package/{docStore-624W4Z63.js → docStore-GUGX22ZK.js} +1 -1
- package/{docUpdateCommands-NMC2U3X5.js → docUpdateCommands-4QEUPC27.js} +1 -1
- package/{handleSendMessageAction-LTXSYSV6.js → handleSendMessageAction-VNFSQCOL.js} +14 -13
- package/index.js +3 -3
- package/{localRuntimeAdapter-TXW7C4C6.js → localRuntimeAdapter-55YKDA6C.js} +15 -15
- package/{machineCommands-NA7OPUFC.js → machineCommands-PLM7EYGX.js} +16 -16
- package/{machineWsRunDispatch-H5BYGTVO.js → machineWsRunDispatch-5GAWU7VZ.js} +16 -16
- package/package.json +1 -1
- package/{readlineWorkspace-6P3HJ6GO.js → readlineWorkspace-ZQBXJDCB.js} +17 -17
- package/{runAgentClientLoop-GSEMKTPY.js → runAgentClientLoop-P56EMBCN.js} +13 -14
- package/{settingThunks-GH326IL5.js → settingThunks-MH2OF52M.js} +22 -2
- package/{spaceCommands-AC5MPPXS.js → spaceCommands-E7DW3KLI.js} +1 -1
- package/{streamAgentChatTurn-6UMDQLPT.js → streamAgentChatTurn-45SHUYWK.js} +17 -17
- package/{tools-3GCMXU2R.js → tools-WFX2BG5Y.js} +10 -11
- package/{updateDialogTitleAction-SO5P7F64.js → updateDialogTitleAction-3HRLWCWE.js} +3 -3
- package/chunk-EUGTFFO6.js +0 -42
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
buildBuiltinObjectSkillDbKey,
|
|
7
7
|
buildBuiltinObjectSkillPageContent,
|
|
8
8
|
buildCodeWorkDiscipline
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-6OEPWZV7.js";
|
|
10
10
|
import {
|
|
11
11
|
buildSkillDocMarkdown,
|
|
12
12
|
resolvePageSkillMetadata
|
|
@@ -1182,9 +1182,69 @@ function buildAutoReviewSkillContentBySlug(slug) {
|
|
|
1182
1182
|
});
|
|
1183
1183
|
}
|
|
1184
1184
|
|
|
1185
|
+
// packages/ai/skills/ubModeSkill.ts
|
|
1186
|
+
var UB_MODE_SKILL_SLUGS = ["ub-mode"];
|
|
1187
|
+
function deterministicId7(prefix, seed) {
|
|
1188
|
+
let h = 2166136261;
|
|
1189
|
+
for (let i = 0; i < seed.length; i++) {
|
|
1190
|
+
h ^= seed.charCodeAt(i);
|
|
1191
|
+
h = h * 16777619 >>> 0;
|
|
1192
|
+
}
|
|
1193
|
+
const suffix = h.toString(36).toUpperCase().padStart(14, "0");
|
|
1194
|
+
return (prefix + suffix).slice(0, 26);
|
|
1195
|
+
}
|
|
1196
|
+
function buildUbModeSkillId(slug) {
|
|
1197
|
+
return deterministicId7("01SK", slug);
|
|
1198
|
+
}
|
|
1199
|
+
function buildUbModeSkillPageKey(userId, slug) {
|
|
1200
|
+
return `page-${userId}-${buildUbModeSkillId(slug)}`;
|
|
1201
|
+
}
|
|
1202
|
+
function buildUbModeSkillConfig(slug) {
|
|
1203
|
+
return {
|
|
1204
|
+
version: "0.1",
|
|
1205
|
+
kind: "skill",
|
|
1206
|
+
id: buildUbModeSkillId(slug),
|
|
1207
|
+
name: "\u4EE3\u7801\u8D28\u91CF\u539F\u5219\uFF08ub-mode \xB7 Nolo \u9002\u914D\u7248\uFF09",
|
|
1208
|
+
triggerMode: "explicit",
|
|
1209
|
+
description: "Nolo \u9002\u914D\u7248\uFF0C\u53C2\u8003 unclebob/ub-mode \u7684\u4EE3\u7801\u8D28\u91CF\u539F\u5219\u3002\u7528\u6237\u663E\u5F0F\u542F\u7528\u540E\uFF0C\u4EE5 TDD\u3001\u6700\u5C0F\u6539\u52A8\u3001\u6839\u56E0\u4FEE\u590D\u3001\u590D\u6742\u5EA6\u4E0E\u91CD\u590D\u6CBB\u7406\u3001\u884C\u4E3A\u6D4B\u8BD5\u6307\u5BFC\u7F16\u7801\uFF1B\u4E0D\u9ED8\u8BA4\u542F\u7528\uFF0C\u4E0D\u6388\u4E88\u5DE5\u5177\u6216\u63D0\u4EA4\u3001\u63A8\u9001\u3001\u5220\u9664\u6743\u9650\u3002\u89E6\u53D1\u8BCD\uFF1Aub-mode\u3001/ub-mode\u3002"
|
|
1210
|
+
};
|
|
1211
|
+
}
|
|
1212
|
+
var BODY2 = [
|
|
1213
|
+
"# ub-mode \xB7 Nolo \u9002\u914D\u7248",
|
|
1214
|
+
"",
|
|
1215
|
+
"## \u6765\u6E90\u4E0E\u9002\u914D\u8FB9\u754C",
|
|
1216
|
+
"\u672C\u8BF4\u660E\u7531 Nolo \u72EC\u7ACB\u7F16\u5199\uFF0C\u539F\u5219\u53C2\u8003 unclebob \u7684 ub-mode \u9879\u76EE\uFF0C\u4E0D\u662F\u4E0A\u6E38\u539F\u6587\u3001\u5B98\u65B9\u7248\u672C\u6216\u5168\u6587\u7FFB\u8BD1\u3002",
|
|
1217
|
+
"\u6765\u6E90\uFF1Ahttps://github.com/unclebob/ub-mode\uFF1B\u53C2\u8003\u539F\u6587\uFF1Ahttps://github.com/unclebob/ub-mode/blob/master/SKILL.md \u3002",
|
|
1218
|
+
"\u9002\u914D\u65F6\u672A\u53D1\u73B0\u660E\u786E\u8BB8\u53EF\u8BC1\u58F0\u660E\uFF1B\u4E0D\u636E\u6B64\u63A8\u5B9A\u83B7\u5F97\u5168\u6587\u518D\u5206\u53D1\u8BB8\u53EF\u3002\u6B64\u5904\u4EC5\u63D0\u4F9B\u7B80\u6D01\u7684\u539F\u5219\u8BF4\u660E\uFF0C\u539F\u6587\u4E0E\u540E\u7EED\u53D8\u52A8\u4EE5\u4E0A\u6E38\u4E3A\u51C6\u3002",
|
|
1219
|
+
"",
|
|
1220
|
+
"## \u542F\u7528\u4E0E\u6743\u9650",
|
|
1221
|
+
"- \u4EC5\u5728\u7528\u6237\u663E\u5F0F\u542F\u7528\u7684\u4F5C\u7528\u57DF\u5185\u5E94\u7528\uFF0C\u4E0D\u9ED8\u8BA4\u542F\u7528\u4E8E\u7528\u6237\u3001\u5BF9\u8BDD\u6216\u9879\u76EE\uFF1B\u6682\u505C\u3001\u5173\u95ED\u6216\u5355\u6B21\u8986\u76D6\u4F18\u5148\u3002\u4E0D\u8981\u4EC5\u56E0\u4EFB\u52A1\u6D89\u53CA\u7F16\u7801\u4FBF\u81EA\u884C\u542F\u7528\u3002",
|
|
1222
|
+
"- \u8FD9\u662F\u4E00\u4EFD\u7F16\u7801\u6307\u5BFC\uFF0C\u4E0D\u6388\u4E88\u4EFB\u4F55\u5DE5\u5177\u6743\u9650\uFF0C\u4E5F\u4E0D\u81EA\u52A8\u52A0\u8F7D\u5176\u4ED6 Skill\u3002\u5E73\u53F0\u66F4\u9AD8\u4F18\u5148\u7EA7\u89C4\u5219\u3001\u7528\u6237\u6388\u6743\u8FB9\u754C\u548C\u9879\u76EE\u95E8\u7981\u4F18\u5148\u3002",
|
|
1223
|
+
"- \u542F\u7528\u4E0D\u7B49\u4E8E\u6388\u6743 commit\u3001push\u3001\u5408\u5E76\u3001\u53D1\u5E03\u6216\u5220\u9664\u6E05\u7406\uFF1B\u8FD9\u4E9B\u64CD\u4F5C\u4ECD\u987B\u6EE1\u8DB3\u5404\u81EA\u7684\u786E\u8BA4\u4E0E\u5BA1\u67E5\u8981\u6C42\u3002\u672A\u63D0\u4EA4\u5DE5\u4F5C\u548C\u4ED6\u4EBA\u8D44\u6E90\u4E0D\u5F97\u81EA\u884C\u6E05\u7406\u3002",
|
|
1224
|
+
"",
|
|
1225
|
+
"## \u7F16\u7801\u539F\u5219",
|
|
1226
|
+
"1. **\u5148\u660E\u786E\u884C\u4E3A\uFF0C\u518D\u505A\u6700\u5C0F\u6539\u52A8**\uFF1A\u786E\u8BA4\u8F93\u5165\u3001\u8F93\u51FA\u3001\u6570\u636E\u7ED3\u6784\u4E0E\u9A8C\u6536\u76EE\u6807\uFF1B\u53EA\u6539\u89E3\u51B3\u5F53\u524D\u95EE\u9898\u5FC5\u9700\u7684\u90E8\u5206\uFF0C\u4E0D\u5939\u5E26\u65E0\u5173\u91CD\u6784\u3002\u76F8\u540C\u51B3\u7B56\u4FDD\u6301\u5355\u4E00\u771F\u503C\u3002",
|
|
1227
|
+
"2. **TDD**\uFF1A\u80FD\u8BDA\u5B9E\u9A8C\u8BC1\u65F6\uFF0C\u5148\u5199\u80FD\u66B4\u9732\u76EE\u6807\u884C\u4E3A\u7F3A\u53E3\u7684\u6D4B\u8BD5\uFF0C\u89C2\u5BDF\u5B83\u56E0\u9884\u671F\u539F\u56E0\u5931\u8D25\uFF0C\u518D\u7528\u6700\u5C0F\u5B9E\u73B0\u4F7F\u5176\u901A\u8FC7\uFF0C\u6700\u540E\u5728\u884C\u4E3A\u53D7\u4FDD\u62A4\u65F6\u91CD\u6784\u3002\u82E5\u65E0\u6CD5\u6267\u884C\u6D4B\u8BD5\u6216\u96BE\u4EE5\u6784\u9020\u6709\u6548\u6D4B\u8BD5\uFF0C\u660E\u786E\u8BF4\u660E\u9650\u5236\uFF0C\u4E0D\u4F2A\u9020\u7EA2\u7EFF\u8BC1\u636E\uFF0C\u4E0D\u5199\u65E0\u4EF7\u503C\u6D4B\u8BD5\u51D1\u6570\u3002",
|
|
1228
|
+
"3. **\u4FEE\u590D\u6839\u56E0**\uFF1A\u5148\u590D\u73B0\u6216\u6536\u96C6\u76F4\u63A5\u8BC1\u636E\uFF0C\u533A\u5206\u75C7\u72B6\u4E0E\u539F\u56E0\u3002\u8FDE\u7EED\u4FEE\u590D\u5931\u8D25\u65F6\u91CD\u65B0\u68C0\u67E5\u5171\u540C\u524D\u63D0\uFF1B\u4E0D\u8981\u7528\u541E\u9519\u6216\u989D\u5916\u5B88\u536B\u63A9\u76D6\u7F3A\u9677\u3002",
|
|
1229
|
+
"4. **\u63A7\u5236\u590D\u6742\u5EA6\u4E0E\u91CD\u590D**\uFF1A\u68C0\u67E5\u5206\u652F\u3001\u5D4C\u5957\u3001\u804C\u8D23\u548C\u91CD\u590D\u7684\u4E1A\u52A1\u51B3\u7B56\uFF1B\u4F18\u5148\u7B80\u5316\u6570\u636E\u6A21\u578B\u4E0E\u8FB9\u754C\uFF0C\u518D\u6309\u8BC1\u636E\u63D0\u53D6\u5171\u4EAB\u903B\u8F91\u3002\u4E0D\u4E3A\u6307\u6807\u62C6\u788E\u6E05\u6670\u4EE3\u7801\uFF0C\u4E0D\u4E3A\u8868\u9762\u76F8\u4F3C\u5236\u9020\u62BD\u8C61\u3002",
|
|
1230
|
+
"5. **\u6D4B\u8BD5\u53EF\u89C2\u5BDF\u884C\u4E3A**\uFF1A\u4ECE\u8C03\u7528\u8005\u5165\u53E3\u68C0\u67E5\u8F93\u51FA\u3001\u72B6\u6001\u4E0E\u526F\u4F5C\u7528\uFF0C\u800C\u4E0D\u662F\u79C1\u6709\u5B9E\u73B0\u6216 mock \u81EA\u8BC1\u3002\u91CD\u6784\u524D\u56FA\u5B9A\u5173\u952E\u884C\u4E3A\uFF0C\u91CD\u6784\u540E\u8FD0\u884C\u76F8\u5173\u68C0\u67E5\uFF0C\u786E\u8BA4\u884C\u4E3A\u672A\u53D8\u3002",
|
|
1231
|
+
"6. **\u7EA6\u675F\u72B6\u6001\u4E0E\u8FB9\u754C**\uFF1A\u5916\u90E8\u6570\u636E\u5728\u5165\u53E3\u6821\u9A8C\uFF0C\u5185\u90E8\u903B\u8F91\u5C3D\u91CF\u4FDD\u6301\u7EAF\u51FD\u6570\uFF1B\u7528\u7C7B\u578B\u8868\u8FBE\u6709\u6548\u72B6\u6001\u3002\u65E0\u5171\u4EAB\u5199\u5165\u9700\u6C42\u7684\u4EFB\u52A1\u9694\u79BB\u72B6\u6001\uFF0C\u6709\u5171\u4EAB\u72B6\u6001\u65F6\u660E\u786E\u5199\u5165\u8005\u4E0E\u6062\u590D/\u5E42\u7B49\u7B56\u7565\u3002",
|
|
1232
|
+
"7. **\u5C0F\u6B65\u4EA4\u4ED8\u4E0E\u8BC1\u636E**\uFF1A\u628A\u6539\u52A8\u62C6\u6210\u53EF\u9A8C\u8BC1\u7684\u5C0F\u5355\u5143\uFF1B\u65E0\u6587\u4EF6\u51B2\u7A81\u6216\u771F\u5B9E\u6570\u636E\u4F9D\u8D56\u7684\u5DE5\u4F5C\u6309\u5E73\u53F0\u89C4\u5219\u5E76\u884C\uFF0C\u4E0D\u628A\u4E0A\u6E38\u7684\u987A\u5E8F\u5EFA\u8BAE\u53D8\u6210\u5168\u5C40\u4E32\u884C\u3002\u6C47\u62A5\u6539\u52A8\u3001\u5B9E\u9645\u68C0\u67E5\u7ED3\u679C\u4E0E\u5C1A\u672A\u9A8C\u8BC1\u7684\u90E8\u5206\u3002",
|
|
1233
|
+
"",
|
|
1234
|
+
"## \u8D28\u91CF\u5DE5\u5177\u4E0E\u7ED3\u679C\u771F\u5B9E\u6027",
|
|
1235
|
+
"- Crapper\uFF08\u590D\u6742\u5EA6\u4E0E\u6D4B\u8BD5\u98CE\u9669\uFF09\u3001Dryer\uFF08\u91CD\u590D\u68C0\u67E5\uFF09\u3001Mutator\uFF08\u53D8\u5F02\u6D4B\u8BD5\uFF09\u53EF\u4F5C\u4E3A\u8F85\u52A9\uFF0C\u4E0D\u662F\u542F\u7528\u524D\u63D0\u3002\u4EC5\u5728\u73AF\u5883\u5DF2\u5B89\u88C5\u3001\u9879\u76EE\u5141\u8BB8\u4E14\u9002\u5408\u5F53\u524D\u4EFB\u52A1\u65F6\u4F7F\u7528\uFF1B\u4E0D\u81EA\u52A8\u5B89\u88C5\u3002",
|
|
1236
|
+
"- \u5DE5\u5177\u672A\u5B89\u88C5\u3001\u68C0\u67E5\u672A\u6267\u884C\u6216\u6267\u884C\u5931\u8D25\u65F6\uFF0C\u5FC5\u987B\u5982\u5B9E\u8BF4\u660E\uFF1B\u4E0D\u53EF\u5BA3\u79F0\u68C0\u67E5\u901A\u8FC7\u3002\u666E\u901A\u6D4B\u8BD5\u901A\u8FC7\u4E5F\u4E0D\u80FD\u5192\u5145\u590D\u6742\u5EA6\u3001\u91CD\u590D\u6216\u53D8\u5F02\u68C0\u67E5\u901A\u8FC7\u3002"
|
|
1237
|
+
].join("\n");
|
|
1238
|
+
function buildUbModeSkillContentBySlug(slug) {
|
|
1239
|
+
return buildSkillDocMarkdown({
|
|
1240
|
+
body: BODY2,
|
|
1241
|
+
skillConfig: buildUbModeSkillConfig(slug)
|
|
1242
|
+
});
|
|
1243
|
+
}
|
|
1244
|
+
|
|
1185
1245
|
// packages/ai/skills/worktreeSkill.ts
|
|
1186
1246
|
var WORKTREE_SKILL_SLUGS = ["worktree-isolation"];
|
|
1187
|
-
function
|
|
1247
|
+
function deterministicId8(prefix, seed) {
|
|
1188
1248
|
let h = 2166136261;
|
|
1189
1249
|
for (let i = 0; i < seed.length; i++) {
|
|
1190
1250
|
h ^= seed.charCodeAt(i);
|
|
@@ -1197,7 +1257,7 @@ function normalizeSkillSeed6(input) {
|
|
|
1197
1257
|
return input.trim().toLowerCase().replace(/[^a-z0-9\u4e00-\u9fa5]+/g, "-").replace(/^-+|-+$/g, "");
|
|
1198
1258
|
}
|
|
1199
1259
|
function buildWorktreeSkillId(slug) {
|
|
1200
|
-
return
|
|
1260
|
+
return deterministicId8("01SK", normalizeSkillSeed6(slug) || slug);
|
|
1201
1261
|
}
|
|
1202
1262
|
function buildWorktreeSkillPageKey(userId, slug) {
|
|
1203
1263
|
return `page-${userId}-${buildWorktreeSkillId(slug)}`;
|
|
@@ -1264,7 +1324,7 @@ function buildWorktreeSkillContentBySlug(slug) {
|
|
|
1264
1324
|
|
|
1265
1325
|
// packages/ai/skills/secretsManagerSkill.ts
|
|
1266
1326
|
var SECRETS_MANAGER_SKILL_SLUGS = ["secrets-manager"];
|
|
1267
|
-
function
|
|
1327
|
+
function deterministicId9(prefix, seed) {
|
|
1268
1328
|
let h = 2166136261;
|
|
1269
1329
|
for (let i = 0; i < seed.length; i++) {
|
|
1270
1330
|
h ^= seed.charCodeAt(i);
|
|
@@ -1277,7 +1337,7 @@ function normalizeSkillSeed7(input) {
|
|
|
1277
1337
|
return input.trim().toLowerCase().replace(/[^a-z0-9\u4e00-\u9fa5]+/g, "-").replace(/^-+|-+$/g, "");
|
|
1278
1338
|
}
|
|
1279
1339
|
function buildSecretsManagerSkillId(slug) {
|
|
1280
|
-
return
|
|
1340
|
+
return deterministicId9("01SK", normalizeSkillSeed7(slug) || slug);
|
|
1281
1341
|
}
|
|
1282
1342
|
function buildSecretsManagerSkillPageKey(userId, slug) {
|
|
1283
1343
|
return `page-${userId}-${buildSecretsManagerSkillId(slug)}`;
|
|
@@ -1358,7 +1418,7 @@ function buildSecretsManagerSkillContentBySlug(slug) {
|
|
|
1358
1418
|
|
|
1359
1419
|
// packages/ai/skills/systematicInvestigationSkill.ts
|
|
1360
1420
|
var SYSTEMATIC_INVESTIGATION_SKILL_SLUGS = ["systematic-investigation"];
|
|
1361
|
-
function
|
|
1421
|
+
function deterministicId10(prefix, seed) {
|
|
1362
1422
|
let h = 2166136261;
|
|
1363
1423
|
for (let i = 0; i < seed.length; i++) {
|
|
1364
1424
|
h ^= seed.charCodeAt(i);
|
|
@@ -1371,7 +1431,7 @@ function normalizeSkillSeed8(input) {
|
|
|
1371
1431
|
return input.trim().toLowerCase().replace(/[^a-z0-9\u4e00-\u9fa5]+/g, "-").replace(/^-+|-+$/g, "");
|
|
1372
1432
|
}
|
|
1373
1433
|
function buildSystematicinvestigationSkillId(slug) {
|
|
1374
|
-
return
|
|
1434
|
+
return deterministicId10("01SK", normalizeSkillSeed8(slug) || slug);
|
|
1375
1435
|
}
|
|
1376
1436
|
function buildSystematicinvestigationSkillPageKey(userId, slug) {
|
|
1377
1437
|
return `page-${userId}-${buildSystematicinvestigationSkillId(slug)}`;
|
|
@@ -1395,7 +1455,7 @@ function buildSystematicinvestigationSkillContentBySlug(slug) {
|
|
|
1395
1455
|
|
|
1396
1456
|
// packages/ai/skills/showMeSkill.ts
|
|
1397
1457
|
var SHOW_ME_SKILL_SLUGS = ["show-me"];
|
|
1398
|
-
function
|
|
1458
|
+
function deterministicId11(prefix, seed) {
|
|
1399
1459
|
let h = 2166136261;
|
|
1400
1460
|
for (let i = 0; i < seed.length; i++) {
|
|
1401
1461
|
h ^= seed.charCodeAt(i);
|
|
@@ -1408,7 +1468,7 @@ function normalizeSkillSeed9(input) {
|
|
|
1408
1468
|
return input.trim().toLowerCase().replace(/[^a-z0-9\u4e00-\u9fa5]+/g, "-").replace(/^-+|-+$/g, "");
|
|
1409
1469
|
}
|
|
1410
1470
|
function buildShowmeSkillId(slug) {
|
|
1411
|
-
return
|
|
1471
|
+
return deterministicId11("01SK", normalizeSkillSeed9(slug) || slug);
|
|
1412
1472
|
}
|
|
1413
1473
|
function buildShowmeSkillPageKey(userId, slug) {
|
|
1414
1474
|
return `page-${userId}-${buildShowmeSkillId(slug)}`;
|
|
@@ -1432,7 +1492,7 @@ function buildShowmeSkillContentBySlug(slug) {
|
|
|
1432
1492
|
|
|
1433
1493
|
// packages/ai/skills/cavemanSkill.ts
|
|
1434
1494
|
var CAVEMAN_SKILL_SLUGS = ["caveman"];
|
|
1435
|
-
function
|
|
1495
|
+
function deterministicId12(prefix, seed) {
|
|
1436
1496
|
let h = 2166136261;
|
|
1437
1497
|
for (let i = 0; i < seed.length; i++) {
|
|
1438
1498
|
h ^= seed.charCodeAt(i);
|
|
@@ -1445,7 +1505,7 @@ function normalizeSkillSeed10(input) {
|
|
|
1445
1505
|
return input.trim().toLowerCase().replace(/[^a-z0-9\u4e00-\u9fa5]+/g, "-").replace(/^-+|-+$/g, "");
|
|
1446
1506
|
}
|
|
1447
1507
|
function buildCavemanSkillId(slug) {
|
|
1448
|
-
return
|
|
1508
|
+
return deterministicId12("01SK", normalizeSkillSeed10(slug) || slug);
|
|
1449
1509
|
}
|
|
1450
1510
|
function buildCavemanSkillPageKey(userId, slug) {
|
|
1451
1511
|
return `page-${userId}-${buildCavemanSkillId(slug)}`;
|
|
@@ -1469,7 +1529,7 @@ function buildCavemanSkillContentBySlug(slug) {
|
|
|
1469
1529
|
|
|
1470
1530
|
// packages/ai/skills/skillCreatorSkill.ts
|
|
1471
1531
|
var SKILL_CREATOR_SKILL_SLUGS = ["skill-creator"];
|
|
1472
|
-
function
|
|
1532
|
+
function deterministicId13(prefix, seed) {
|
|
1473
1533
|
let h = 2166136261;
|
|
1474
1534
|
for (let i = 0; i < seed.length; i++) {
|
|
1475
1535
|
h ^= seed.charCodeAt(i);
|
|
@@ -1482,7 +1542,7 @@ function normalizeSkillSeed11(input) {
|
|
|
1482
1542
|
return input.trim().toLowerCase().replace(/[^a-z0-9\u4e00-\u9fa5]+/g, "-").replace(/^-+|-+$/g, "");
|
|
1483
1543
|
}
|
|
1484
1544
|
function buildSkillCreatorSkillId(slug) {
|
|
1485
|
-
return
|
|
1545
|
+
return deterministicId13("01SK", normalizeSkillSeed11(slug) || slug);
|
|
1486
1546
|
}
|
|
1487
1547
|
function buildSkillCreatorSkillPageKey(userId, slug) {
|
|
1488
1548
|
return `page-${userId}-${buildSkillCreatorSkillId(slug)}`;
|
|
@@ -1506,7 +1566,7 @@ function buildSkillCreatorSkillContentBySlug(slug) {
|
|
|
1506
1566
|
|
|
1507
1567
|
// packages/ai/skills/agentProviderSetupSkill.ts
|
|
1508
1568
|
var AGENT_PROVIDER_SETUP_SKILL_SLUGS = ["agent-provider-setup"];
|
|
1509
|
-
function
|
|
1569
|
+
function deterministicId14(prefix, seed) {
|
|
1510
1570
|
let h = 2166136261;
|
|
1511
1571
|
for (let i = 0; i < seed.length; i++) {
|
|
1512
1572
|
h ^= seed.charCodeAt(i);
|
|
@@ -1519,7 +1579,7 @@ function normalizeSkillSeed12(input) {
|
|
|
1519
1579
|
return input.trim().toLowerCase().replace(/[^a-z0-9\u4e00-\u9fa5]+/g, "-").replace(/^-+|-+$/g, "");
|
|
1520
1580
|
}
|
|
1521
1581
|
function buildAgentProviderSetupSkillId(slug) {
|
|
1522
|
-
return
|
|
1582
|
+
return deterministicId14("01SK", normalizeSkillSeed12(slug) || slug);
|
|
1523
1583
|
}
|
|
1524
1584
|
function buildAgentProviderSetupSkillPageKey(userId, slug) {
|
|
1525
1585
|
return `page-${userId}-${buildAgentProviderSetupSkillId(slug)}`;
|
|
@@ -1684,6 +1744,13 @@ var SOURCES = [
|
|
|
1684
1744
|
buildConfig: buildAutoReviewSkillConfig,
|
|
1685
1745
|
buildContent: buildAutoReviewSkillContentBySlug
|
|
1686
1746
|
},
|
|
1747
|
+
{
|
|
1748
|
+
slugs: UB_MODE_SKILL_SLUGS,
|
|
1749
|
+
buildSkillId: buildUbModeSkillId,
|
|
1750
|
+
buildPageKey: buildUbModeSkillPageKey,
|
|
1751
|
+
buildConfig: buildUbModeSkillConfig,
|
|
1752
|
+
buildContent: buildUbModeSkillContentBySlug
|
|
1753
|
+
},
|
|
1687
1754
|
{
|
|
1688
1755
|
slugs: WORKTREE_SKILL_SLUGS,
|
|
1689
1756
|
buildSkillId: buildWorktreeSkillId,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
} from "./chunk-523DITKR.js";
|
|
12
12
|
import {
|
|
13
13
|
runLlm
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-E7B4CR5M.js";
|
|
15
15
|
import {
|
|
16
16
|
isMediaToolConfirmation
|
|
17
17
|
} from "./chunk-QYPE3TS3.js";
|
|
@@ -11073,7 +11073,7 @@ var messageSlice = createSliceWithThunks({
|
|
|
11073
11073
|
runtimeOptions: args.runtimeOptions
|
|
11074
11074
|
});
|
|
11075
11075
|
if (agentKeyToUse) {
|
|
11076
|
-
const { streamAgentChatTurn } = await import("./agentSlice-
|
|
11076
|
+
const { streamAgentChatTurn } = await import("./agentSlice-CB25SUJB.js");
|
|
11077
11077
|
await dispatch(
|
|
11078
11078
|
streamAgentChatTurn({
|
|
11079
11079
|
agentKey: agentKeyToUse,
|
|
@@ -13887,7 +13887,7 @@ var deleteDialogThunk = async (payload, thunkApi) => {
|
|
|
13887
13887
|
}
|
|
13888
13888
|
if (isCurrentDialog) {
|
|
13889
13889
|
await thunkApi.dispatch(resetMsgs());
|
|
13890
|
-
const { clearPendingAttachments: clearPendingAttachments2 } = await import("./dialogSlice-
|
|
13890
|
+
const { clearPendingAttachments: clearPendingAttachments2 } = await import("./dialogSlice-7MTH65XY.js");
|
|
13891
13891
|
dispatch(clearPendingAttachments2());
|
|
13892
13892
|
}
|
|
13893
13893
|
return { dialogKey, isCurrentDialog, attachmentPlan };
|
|
@@ -13895,15 +13895,15 @@ var deleteDialogThunk = async (payload, thunkApi) => {
|
|
|
13895
13895
|
|
|
13896
13896
|
// packages/chat/dialog/dialogSlice.ts
|
|
13897
13897
|
var runCreateDialogAction = async (args, thunkApi) => {
|
|
13898
|
-
const { createDialogAction } = await import("./createDialogAction-
|
|
13898
|
+
const { createDialogAction } = await import("./createDialogAction-3YFKJAL3.js");
|
|
13899
13899
|
return createDialogAction(args, thunkApi);
|
|
13900
13900
|
};
|
|
13901
13901
|
var runCreateAgentAutomationAction = async (args, thunkApi) => {
|
|
13902
|
-
const { createAgentAutomationAction } = await import("./createAgentAutomationAction-
|
|
13902
|
+
const { createAgentAutomationAction } = await import("./createAgentAutomationAction-PGEMZSPA.js");
|
|
13903
13903
|
return createAgentAutomationAction(args, thunkApi);
|
|
13904
13904
|
};
|
|
13905
13905
|
var runUpdateDialogTitleAction = async (args, thunkApi) => {
|
|
13906
|
-
const { updateDialogTitleAction } = await import("./updateDialogTitleAction-
|
|
13906
|
+
const { updateDialogTitleAction } = await import("./updateDialogTitleAction-3HRLWCWE.js");
|
|
13907
13907
|
return updateDialogTitleAction(args, thunkApi);
|
|
13908
13908
|
};
|
|
13909
13909
|
var runAddDialogAgentAction = async (args, thunkApi) => {
|
|
@@ -13927,7 +13927,7 @@ var runSetDialogExtraReferencesAction = async (args, thunkApi) => {
|
|
|
13927
13927
|
return setDialogExtraReferencesAction(args, thunkApi);
|
|
13928
13928
|
};
|
|
13929
13929
|
var runHandleSendMessageAction = async (args, thunkApi) => {
|
|
13930
|
-
const { handleSendMessageAction } = await import("./handleSendMessageAction-
|
|
13930
|
+
const { handleSendMessageAction } = await import("./handleSendMessageAction-VNFSQCOL.js");
|
|
13931
13931
|
return handleSendMessageAction(args, thunkApi);
|
|
13932
13932
|
};
|
|
13933
13933
|
function clearDialogState() {
|
|
@@ -13940,7 +13940,7 @@ var createPageAndAddReference = createAsyncThunk(
|
|
|
13940
13940
|
async (payload, { dispatch, getState, rejectWithValue }) => {
|
|
13941
13941
|
const { slateData, jsonData, title, type, fileId, groupId, dialogKey } = payload;
|
|
13942
13942
|
try {
|
|
13943
|
-
const { createDocState } = await import("./docStore-
|
|
13943
|
+
const { createDocState } = await import("./docStore-GUGX22ZK.js");
|
|
13944
13944
|
const pageKey = await createDocState(
|
|
13945
13945
|
{ slateData, title },
|
|
13946
13946
|
{ dispatch, getState }
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
addContentToSpace
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-TDVJP4KY.js";
|
|
4
4
|
import {
|
|
5
5
|
format,
|
|
6
6
|
prepareAndPersistMessage,
|
|
7
7
|
uiAskChoiceFunc,
|
|
8
8
|
uiAskChoiceFunctionSchema
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-RJVYCYLQ.js";
|
|
10
10
|
import {
|
|
11
11
|
formatISO
|
|
12
12
|
} from "./chunk-ZRAU6T47.js";
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
} from "./chunk-PXYBUFDB.js";
|
|
26
26
|
import {
|
|
27
27
|
buildBuiltinObjectSkillReference
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-6OEPWZV7.js";
|
|
29
29
|
import {
|
|
30
30
|
extractCustomId
|
|
31
31
|
} from "./chunk-M2EJHDJP.js";
|
|
@@ -56,11 +56,14 @@ import {
|
|
|
56
56
|
} from "./chunk-ATNTHIZI.js";
|
|
57
57
|
import {
|
|
58
58
|
inferCaptureIntent
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-TS2LLPTD.js";
|
|
60
|
+
import {
|
|
61
|
+
resolveUserPromptSkillPatches
|
|
62
|
+
} from "./chunk-TYQAGKPR.js";
|
|
60
63
|
import {
|
|
61
64
|
inlineImageUrlsForCustomProvider,
|
|
62
65
|
prepareTools
|
|
63
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-RMRLWIQS.js";
|
|
64
67
|
import {
|
|
65
68
|
getServerProviderSecret
|
|
66
69
|
} from "./chunk-HS7MLR74.js";
|
|
@@ -82,7 +85,7 @@ import {
|
|
|
82
85
|
resolveCliLocalRuntimeKeyCapability,
|
|
83
86
|
resolveCliLocalSpawnDispatch,
|
|
84
87
|
resolveStartAgentRunCwd
|
|
85
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-JNRGTW6S.js";
|
|
86
89
|
import {
|
|
87
90
|
fetchWithTransientRetry,
|
|
88
91
|
isTransientFetchError
|
|
@@ -93,7 +96,7 @@ import {
|
|
|
93
96
|
} from "./chunk-5TO2R77F.js";
|
|
94
97
|
import {
|
|
95
98
|
resolveAgentRequiredPackIds
|
|
96
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-76OXA55E.js";
|
|
97
100
|
import {
|
|
98
101
|
applyBuiltinAgentRuntimeOverride,
|
|
99
102
|
applyTokenUsageToDayStats,
|
|
@@ -102,14 +105,14 @@ import {
|
|
|
102
105
|
resolveBuiltinPlatformAgentConfig,
|
|
103
106
|
runKeyed,
|
|
104
107
|
validateAskChoiceInput
|
|
105
|
-
} from "./chunk-
|
|
108
|
+
} from "./chunk-RJVYCYLQ.js";
|
|
106
109
|
import {
|
|
107
110
|
BUILTIN_DIALOG_LLM_CHAT_FALLBACK_MODEL,
|
|
108
111
|
BUILTIN_TITLE_LLM_CONFIG
|
|
109
112
|
} from "./chunk-523DITKR.js";
|
|
110
113
|
import {
|
|
111
114
|
fetchServerSyncedCredential
|
|
112
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-E7B4CR5M.js";
|
|
113
116
|
import {
|
|
114
117
|
getDefaultCliLocalRuntimeDb
|
|
115
118
|
} from "./chunk-P64WRQYV.js";
|
|
@@ -125,7 +128,7 @@ import {
|
|
|
125
128
|
applySystemBuiltinSkillFilter,
|
|
126
129
|
expandEnabledPacks,
|
|
127
130
|
resolveEffectiveEnabledPacks
|
|
128
|
-
} from "./chunk-
|
|
131
|
+
} from "./chunk-6OEPWZV7.js";
|
|
129
132
|
import {
|
|
130
133
|
DEFAULT_HYBRID_READ_TIMEOUT_MS,
|
|
131
134
|
Duration_exports,
|
|
@@ -169,7 +172,7 @@ import {
|
|
|
169
172
|
runExecShellGates,
|
|
170
173
|
validateConfiguredRootExecutionLease,
|
|
171
174
|
verifyOwnerRouteAck
|
|
172
|
-
} from "./chunk-
|
|
175
|
+
} from "./chunk-4BBAP7E4.js";
|
|
173
176
|
import {
|
|
174
177
|
accumulateGeminiChunks,
|
|
175
178
|
buildGeminiGenerateContentRequest,
|
|
@@ -1104,6 +1107,9 @@ function buildPreparedAgentCacheKey(args) {
|
|
|
1104
1107
|
const systemBuiltinSkillsKey = args.systemBuiltinSkills ? JSON.stringify(
|
|
1105
1108
|
Object.keys(args.systemBuiltinSkills).sort().map((key) => [key, args.systemBuiltinSkills?.[key]])
|
|
1106
1109
|
) : "default";
|
|
1110
|
+
const promptSkillsKey = JSON.stringify(
|
|
1111
|
+
Array.isArray(args.enabledPromptSkills) && args.enabledPromptSkills.includes("ub-mode") ? ["ub-mode"] : []
|
|
1112
|
+
);
|
|
1107
1113
|
const wakeKey = args.wake !== void 0 ? args.wake ? "wake:1" : "wake:0" : "";
|
|
1108
1114
|
const policyKey = JSON.stringify([
|
|
1109
1115
|
args.env?.NOLO_LOCAL_WORKSPACE_TOOLSET ?? "",
|
|
@@ -1113,7 +1119,7 @@ function buildPreparedAgentCacheKey(args) {
|
|
|
1113
1119
|
args.env?.NOLO_LOCAL_ALLOWED_TOOLS ?? "",
|
|
1114
1120
|
args.env?.NOLO_LOCAL_ALLOW_UNDECLARED_TOOLS ?? ""
|
|
1115
1121
|
]);
|
|
1116
|
-
return `${policyKey}\0${args.userId}\0${args.agentRef}\0${args.cwd}\0${systemBuiltinSkillsKey}${wakeKey ? `\0${wakeKey}` : ""}`;
|
|
1122
|
+
return `${policyKey}\0${args.userId}\0${args.agentRef}\0${args.cwd}\0${systemBuiltinSkillsKey}\0${promptSkillsKey}${wakeKey ? `\0${wakeKey}` : ""}`;
|
|
1117
1123
|
}
|
|
1118
1124
|
function clearCliLocalRuntimePreparedAgentCache() {
|
|
1119
1125
|
preparedAgentRuntimeCache.clear();
|
|
@@ -12836,6 +12842,7 @@ function createCliLocalRuntimeAdapter(deps) {
|
|
|
12836
12842
|
credentialBroker,
|
|
12837
12843
|
loadAgentConfig: async (agentRef) => {
|
|
12838
12844
|
let systemBuiltinSkills = null;
|
|
12845
|
+
let enabledPromptSkills = [];
|
|
12839
12846
|
const sharedStore = await getOrCreateSharedStore(deps);
|
|
12840
12847
|
if (userId) {
|
|
12841
12848
|
try {
|
|
@@ -12843,6 +12850,7 @@ function createCliLocalRuntimeAdapter(deps) {
|
|
|
12843
12850
|
createUserKey.settings(userId),
|
|
12844
12851
|
{ remote: false }
|
|
12845
12852
|
);
|
|
12853
|
+
enabledPromptSkills = settingsRecord && typeof settingsRecord === "object" ? settingsRecord.enabledPromptSkills ?? [] : [];
|
|
12846
12854
|
systemBuiltinSkills = settingsRecord && typeof settingsRecord === "object" ? settingsRecord.systemBuiltinSkills ?? null : null;
|
|
12847
12855
|
} catch {
|
|
12848
12856
|
}
|
|
@@ -12852,6 +12860,7 @@ function createCliLocalRuntimeAdapter(deps) {
|
|
|
12852
12860
|
agentRef,
|
|
12853
12861
|
cwd: normalizeRuntimeCacheCwd(workspaceRoot),
|
|
12854
12862
|
systemBuiltinSkills,
|
|
12863
|
+
enabledPromptSkills,
|
|
12855
12864
|
wake: hasRunWakeChannel(deps.env),
|
|
12856
12865
|
env: deps.env
|
|
12857
12866
|
})}:${dockerRuntimeEnabled ? "docker" : instaboxRuntimeEnabled ? "instabox" : "host"}`;
|
|
@@ -12872,7 +12881,18 @@ function createCliLocalRuntimeAdapter(deps) {
|
|
|
12872
12881
|
storedAgentConfig ?? fallbackLocalCliAgentConfig,
|
|
12873
12882
|
deps.env
|
|
12874
12883
|
);
|
|
12875
|
-
const
|
|
12884
|
+
const packAgentConfig = baseAgentConfig ? withRuntimeEnabledPacksAndPrompt(baseAgentConfig) : baseAgentConfig;
|
|
12885
|
+
const userPromptPatches = resolveUserPromptSkillPatches(
|
|
12886
|
+
packAgentConfig?.rawRecord ?? packAgentConfig,
|
|
12887
|
+
enabledPromptSkills
|
|
12888
|
+
);
|
|
12889
|
+
const agentConfig = packAgentConfig && userPromptPatches.length ? {
|
|
12890
|
+
...packAgentConfig,
|
|
12891
|
+
prompt: [
|
|
12892
|
+
packAgentConfig.prompt,
|
|
12893
|
+
...userPromptPatches.filter((patch) => !String(packAgentConfig.prompt ?? "").includes(patch))
|
|
12894
|
+
].filter(Boolean).join("\n\n")
|
|
12895
|
+
} : packAgentConfig;
|
|
12876
12896
|
const requestedToolNames = agentConfig ? resolveCliRequestedToolNames(
|
|
12877
12897
|
agentConfig,
|
|
12878
12898
|
deps.env,
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import {
|
|
2
|
+
isAgentSkillDisabled
|
|
3
|
+
} from "./chunk-76OXA55E.js";
|
|
4
|
+
import {
|
|
5
|
+
resolveBuiltinSkillEntry
|
|
6
|
+
} from "./chunk-O2H2Z7U4.js";
|
|
7
|
+
|
|
8
|
+
// packages/ai/skills/userPromptSkills.ts
|
|
9
|
+
var RECOMMENDED_PROMPT_SKILL_SLUGS = ["ub-mode"];
|
|
10
|
+
var ALLOWED_PROMPT_SKILL_SLUGS = new Set(
|
|
11
|
+
RECOMMENDED_PROMPT_SKILL_SLUGS
|
|
12
|
+
);
|
|
13
|
+
function normalizeEnabledPromptSkills(value) {
|
|
14
|
+
if (!Array.isArray(value)) {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
17
|
+
const result = [];
|
|
18
|
+
const seen = /* @__PURE__ */ new Set();
|
|
19
|
+
for (const item of value) {
|
|
20
|
+
if (typeof item !== "string") {
|
|
21
|
+
continue;
|
|
22
|
+
}
|
|
23
|
+
const trimmed = item.trim();
|
|
24
|
+
if (ALLOWED_PROMPT_SKILL_SLUGS.has(trimmed) && !seen.has(trimmed)) {
|
|
25
|
+
seen.add(trimmed);
|
|
26
|
+
result.push(trimmed);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
function resolveUserPromptSkillPatches(agentConfig, enabledPromptSkills) {
|
|
32
|
+
const normalized = normalizeEnabledPromptSkills(enabledPromptSkills);
|
|
33
|
+
if (normalized.length === 0) {
|
|
34
|
+
return [];
|
|
35
|
+
}
|
|
36
|
+
const effectiveConfig = agentConfig && typeof agentConfig === "object" ? "rawRecord" in agentConfig && agentConfig.rawRecord && typeof agentConfig.rawRecord === "object" ? agentConfig.rawRecord : agentConfig : null;
|
|
37
|
+
const patches = [];
|
|
38
|
+
for (const slug of normalized) {
|
|
39
|
+
if (isAgentSkillDisabled(effectiveConfig, slug)) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
const entry = resolveBuiltinSkillEntry(slug);
|
|
43
|
+
if (!entry) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
const content = entry.content?.trim();
|
|
47
|
+
if (content) {
|
|
48
|
+
patches.push(content);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return patches;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export {
|
|
55
|
+
normalizeEnabledPromptSkills,
|
|
56
|
+
resolveUserPromptSkillPatches
|
|
57
|
+
};
|