@goondocks/myco 0.16.1 → 0.17.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/CONTRIBUTING.md +3 -3
- package/README.md +4 -3
- package/dist/{agent-run-LOZGH6P5.js → agent-run-ZDHXORE2.js} +7 -7
- package/dist/{agent-tasks-SNQ55FUN.js → agent-tasks-IPUWMMDZ.js} +7 -7
- package/dist/{chunk-P6C6ADBU.js → chunk-2IJ6C63F.js} +2 -2
- package/dist/{chunk-V2ZBYKDU.js → chunk-2WRXLYG6.js} +3 -3
- package/dist/{chunk-TIAYBVSI.js → chunk-4JPUC6RL.js} +170 -56
- package/dist/chunk-4JPUC6RL.js.map +1 -0
- package/dist/{chunk-34NHDRWI.js → chunk-6SDC6V3N.js} +2 -2
- package/dist/{chunk-34NHDRWI.js.map → chunk-6SDC6V3N.js.map} +1 -1
- package/dist/{chunk-6JZEAOLG.js → chunk-CPL76CYD.js} +3 -3
- package/dist/{chunk-VWXDSDJU.js → chunk-DKSQMH5X.js} +2 -2
- package/dist/{chunk-GSKXOCFG.js → chunk-EBIYONNZ.js} +21 -1
- package/dist/chunk-EBIYONNZ.js.map +1 -0
- package/dist/{chunk-XAXQ72L3.js → chunk-FEX6ALLH.js} +2 -2
- package/dist/{chunk-UILSK6DK.js → chunk-GBYLHPML.js} +2 -2
- package/dist/{chunk-DZWSHCAC.js → chunk-KGL5QSDN.js} +2 -2
- package/dist/{chunk-4JVHWBZF.js → chunk-KKEMVH6D.js} +2 -2
- package/dist/{chunk-35FAQCKJ.js → chunk-MSM775XQ.js} +6 -5
- package/dist/{chunk-35FAQCKJ.js.map → chunk-MSM775XQ.js.map} +1 -1
- package/dist/{chunk-CJ2KTRWI.js → chunk-OGNEW5CN.js} +2 -2
- package/dist/{chunk-VTSNXAW7.js → chunk-PFF4KB4O.js} +2 -2
- package/dist/{chunk-HA7HO2X2.js → chunk-QBB6LX57.js} +3 -3
- package/dist/{chunk-C3GNF7RJ.js → chunk-QQ7CXA7Q.js} +5 -5
- package/dist/{chunk-I3S6L7QC.js → chunk-U3SSOSIR.js} +2 -2
- package/dist/{chunk-G42PTGMC.js → chunk-U63GDHYJ.js} +3 -3
- package/dist/{chunk-IRSNOBGD.js → chunk-UDBCAFXS.js} +2 -2
- package/dist/{chunk-SGYYOTNM.js → chunk-VGVRBSLC.js} +2 -2
- package/dist/{chunk-W7ZOOZMK.js → chunk-VQQ57UPG.js} +3 -3
- package/dist/{chunk-TPTF3R77.js → chunk-XVWJ273L.js} +4 -4
- package/dist/{chunk-RPILIIYT.js → chunk-Y7QCKCEJ.js} +2 -2
- package/dist/{chunk-D63XTGBV.js → chunk-YTOD6L6N.js} +6 -6
- package/dist/{chunk-D2NTFSVO.js → chunk-ZUSTCXHT.js} +3 -3
- package/dist/{cli-W66XNY2H.js → cli-BRDOPJW3.js} +40 -40
- package/dist/{client-IZM3GJMT.js → client-AQZMD3LB.js} +4 -4
- package/dist/{config-VHHCGE4F.js → config-K3CJEFFO.js} +3 -3
- package/dist/{detect-6FNYONJF.js → detect-NJ2OREDP.js} +2 -2
- package/dist/{detect-providers-R7QOB3H6.js → detect-providers-OE6HWW3M.js} +4 -4
- package/dist/{doctor-WLV7QNRP.js → doctor-YOUCIJJY.js} +14 -13
- package/dist/doctor-YOUCIJJY.js.map +1 -0
- package/dist/{executor-PUKL76TU.js → executor-UYNV4EOQ.js} +50 -24
- package/dist/executor-UYNV4EOQ.js.map +1 -0
- package/dist/{init-5TB6A2RV.js → init-MTMEFG4E.js} +17 -17
- package/dist/{init-wizard-2Y52AX2A.js → init-wizard-ZS3CV6CM.js} +7 -7
- package/dist/{installer-AARSFXI6.js → installer-CTWQB4RS.js} +2 -2
- package/dist/{llm-LS7U7BHC.js → llm-PGETQHZ2.js} +7 -7
- package/dist/{loader-QDWQTBX4.js → loader-AVWL7PNO.js} +3 -3
- package/dist/{loader-YQDG5GI5.js → loader-J56KP27U.js} +3 -3
- package/dist/{main-3ZXFA56L.js → main-ZIMYW2AB.js} +105 -60
- package/dist/main-ZIMYW2AB.js.map +1 -0
- package/dist/{open-ZOZLFBEA.js → open-77QXL7VY.js} +7 -7
- package/dist/{openai-embeddings-FUW6CSN2.js → openai-embeddings-LZKY6RV5.js} +4 -4
- package/dist/{openrouter-YSIUSUQL.js → openrouter-UTOZG6Z5.js} +4 -4
- package/dist/{post-compact-QSID23PX.js → post-compact-CA7O7QPL.js} +7 -7
- package/dist/{post-tool-use-4MTNNDTO.js → post-tool-use-JNXJIGNK.js} +6 -6
- package/dist/{post-tool-use-failure-WKSMUGJI.js → post-tool-use-failure-V52CZWVZ.js} +7 -7
- package/dist/{pre-compact-HFGKNBYV.js → pre-compact-J2GSDQCJ.js} +7 -7
- package/dist/{provider-check-VEYONGNU.js → provider-check-CESRPIY5.js} +4 -4
- package/dist/{registry-5R3DLJQH.js → registry-SPKP2WLI.js} +4 -4
- package/dist/{remove-S5G6VGVT.js → remove-ODPLWK7O.js} +9 -9
- package/dist/{resolution-events-CHOKR35X.js → resolution-events-CLDXZF67.js} +4 -4
- package/dist/{restart-A7HJTFFM.js → restart-6KKZODOI.js} +8 -8
- package/dist/{search-HKBGO3QV.js → search-U6N2DSOI.js} +8 -8
- package/dist/{server-UAATWKNX.js → server-SP4G7MY7.js} +5 -5
- package/dist/{server-UAATWKNX.js.map → server-SP4G7MY7.js.map} +1 -1
- package/dist/{session-D2WPQTSR.js → session-6R3RNVKD.js} +9 -9
- package/dist/{session-end-S4RYJG3Y.js → session-end-TCFCYDBL.js} +6 -6
- package/dist/{session-start-4RJ32KS5.js → session-start-XXN2TVNI.js} +11 -11
- package/dist/{setup-llm-EZRNEIW2.js → setup-llm-GISFI73Z.js} +8 -8
- package/dist/src/cli.js +1 -1
- package/dist/src/daemon/main.js +1 -1
- package/dist/src/hooks/post-tool-use.js +1 -1
- package/dist/src/hooks/session-end.js +1 -1
- package/dist/src/hooks/session-start.js +1 -1
- package/dist/src/hooks/stop.js +1 -1
- package/dist/src/hooks/user-prompt-submit.js +1 -1
- package/dist/src/mcp/server.js +1 -1
- package/dist/src/symbionts/manifests/claude-code.yaml +4 -0
- package/dist/src/symbionts/manifests/opencode.yaml +26 -0
- package/dist/src/symbionts/templates/opencode/mcp.json +6 -0
- package/dist/src/symbionts/templates/opencode/package.json +5 -0
- package/dist/src/symbionts/templates/opencode/plugin.ts +690 -0
- package/dist/src/symbionts/templates/opencode/settings.json +8 -0
- package/dist/{stats-PW7OGIBR.js → stats-MYQD4OVD.js} +9 -9
- package/dist/{stop-FVMLTWXU.js → stop-K6TDJORY.js} +6 -6
- package/dist/{stop-failure-MD52CGFX.js → stop-failure-U635O5A3.js} +7 -7
- package/dist/{subagent-start-ZJZA7EAJ.js → subagent-start-LLGQBC5Q.js} +7 -7
- package/dist/{subagent-stop-56H22JSE.js → subagent-stop-BO3GZWXD.js} +7 -7
- package/dist/{task-completed-TQ4WW2HW.js → task-completed-3ZJHSI2E.js} +7 -7
- package/dist/{team-RXYFXGUT.js → team-OJLQCVE3.js} +5 -5
- package/dist/ui/assets/{index-RYHXSJv1.js → index-2UyTdjlV.js} +12 -12
- package/dist/ui/assets/index-Cts1wLEW.css +1 -0
- package/dist/ui/index.html +2 -2
- package/dist/{update-HIJUK5ZK.js → update-HR7WMESA.js} +9 -9
- package/dist/{user-prompt-submit-SLQNTQFL.js → user-prompt-submit-NM73R4I3.js} +6 -6
- package/dist/{verify-ITBMLK67.js → verify-PSERIZPF.js} +8 -8
- package/dist/{version-4YUDRPU4.js → version-YCODQZSX.js} +2 -2
- package/package.json +1 -1
- package/skills/rules/SKILL.md +1 -1
- package/dist/chunk-GSKXOCFG.js.map +0 -1
- package/dist/chunk-TIAYBVSI.js.map +0 -1
- package/dist/doctor-WLV7QNRP.js.map +0 -1
- package/dist/executor-PUKL76TU.js.map +0 -1
- package/dist/main-3ZXFA56L.js.map +0 -1
- package/dist/ui/assets/index-Bjv_ck3c.css +0 -1
- /package/dist/{agent-run-LOZGH6P5.js.map → agent-run-ZDHXORE2.js.map} +0 -0
- /package/dist/{agent-tasks-SNQ55FUN.js.map → agent-tasks-IPUWMMDZ.js.map} +0 -0
- /package/dist/{chunk-P6C6ADBU.js.map → chunk-2IJ6C63F.js.map} +0 -0
- /package/dist/{chunk-V2ZBYKDU.js.map → chunk-2WRXLYG6.js.map} +0 -0
- /package/dist/{chunk-6JZEAOLG.js.map → chunk-CPL76CYD.js.map} +0 -0
- /package/dist/{chunk-VWXDSDJU.js.map → chunk-DKSQMH5X.js.map} +0 -0
- /package/dist/{chunk-XAXQ72L3.js.map → chunk-FEX6ALLH.js.map} +0 -0
- /package/dist/{chunk-UILSK6DK.js.map → chunk-GBYLHPML.js.map} +0 -0
- /package/dist/{chunk-DZWSHCAC.js.map → chunk-KGL5QSDN.js.map} +0 -0
- /package/dist/{chunk-4JVHWBZF.js.map → chunk-KKEMVH6D.js.map} +0 -0
- /package/dist/{chunk-CJ2KTRWI.js.map → chunk-OGNEW5CN.js.map} +0 -0
- /package/dist/{chunk-VTSNXAW7.js.map → chunk-PFF4KB4O.js.map} +0 -0
- /package/dist/{chunk-HA7HO2X2.js.map → chunk-QBB6LX57.js.map} +0 -0
- /package/dist/{chunk-C3GNF7RJ.js.map → chunk-QQ7CXA7Q.js.map} +0 -0
- /package/dist/{chunk-I3S6L7QC.js.map → chunk-U3SSOSIR.js.map} +0 -0
- /package/dist/{chunk-G42PTGMC.js.map → chunk-U63GDHYJ.js.map} +0 -0
- /package/dist/{chunk-IRSNOBGD.js.map → chunk-UDBCAFXS.js.map} +0 -0
- /package/dist/{chunk-SGYYOTNM.js.map → chunk-VGVRBSLC.js.map} +0 -0
- /package/dist/{chunk-W7ZOOZMK.js.map → chunk-VQQ57UPG.js.map} +0 -0
- /package/dist/{chunk-TPTF3R77.js.map → chunk-XVWJ273L.js.map} +0 -0
- /package/dist/{chunk-RPILIIYT.js.map → chunk-Y7QCKCEJ.js.map} +0 -0
- /package/dist/{chunk-D63XTGBV.js.map → chunk-YTOD6L6N.js.map} +0 -0
- /package/dist/{chunk-D2NTFSVO.js.map → chunk-ZUSTCXHT.js.map} +0 -0
- /package/dist/{cli-W66XNY2H.js.map → cli-BRDOPJW3.js.map} +0 -0
- /package/dist/{client-IZM3GJMT.js.map → client-AQZMD3LB.js.map} +0 -0
- /package/dist/{config-VHHCGE4F.js.map → config-K3CJEFFO.js.map} +0 -0
- /package/dist/{detect-6FNYONJF.js.map → detect-NJ2OREDP.js.map} +0 -0
- /package/dist/{detect-providers-R7QOB3H6.js.map → detect-providers-OE6HWW3M.js.map} +0 -0
- /package/dist/{init-5TB6A2RV.js.map → init-MTMEFG4E.js.map} +0 -0
- /package/dist/{init-wizard-2Y52AX2A.js.map → init-wizard-ZS3CV6CM.js.map} +0 -0
- /package/dist/{installer-AARSFXI6.js.map → installer-CTWQB4RS.js.map} +0 -0
- /package/dist/{llm-LS7U7BHC.js.map → llm-PGETQHZ2.js.map} +0 -0
- /package/dist/{loader-QDWQTBX4.js.map → loader-AVWL7PNO.js.map} +0 -0
- /package/dist/{loader-YQDG5GI5.js.map → loader-J56KP27U.js.map} +0 -0
- /package/dist/{open-ZOZLFBEA.js.map → open-77QXL7VY.js.map} +0 -0
- /package/dist/{openai-embeddings-FUW6CSN2.js.map → openai-embeddings-LZKY6RV5.js.map} +0 -0
- /package/dist/{openrouter-YSIUSUQL.js.map → openrouter-UTOZG6Z5.js.map} +0 -0
- /package/dist/{post-compact-QSID23PX.js.map → post-compact-CA7O7QPL.js.map} +0 -0
- /package/dist/{post-tool-use-4MTNNDTO.js.map → post-tool-use-JNXJIGNK.js.map} +0 -0
- /package/dist/{post-tool-use-failure-WKSMUGJI.js.map → post-tool-use-failure-V52CZWVZ.js.map} +0 -0
- /package/dist/{pre-compact-HFGKNBYV.js.map → pre-compact-J2GSDQCJ.js.map} +0 -0
- /package/dist/{provider-check-VEYONGNU.js.map → provider-check-CESRPIY5.js.map} +0 -0
- /package/dist/{registry-5R3DLJQH.js.map → registry-SPKP2WLI.js.map} +0 -0
- /package/dist/{remove-S5G6VGVT.js.map → remove-ODPLWK7O.js.map} +0 -0
- /package/dist/{resolution-events-CHOKR35X.js.map → resolution-events-CLDXZF67.js.map} +0 -0
- /package/dist/{restart-A7HJTFFM.js.map → restart-6KKZODOI.js.map} +0 -0
- /package/dist/{search-HKBGO3QV.js.map → search-U6N2DSOI.js.map} +0 -0
- /package/dist/{session-D2WPQTSR.js.map → session-6R3RNVKD.js.map} +0 -0
- /package/dist/{session-end-S4RYJG3Y.js.map → session-end-TCFCYDBL.js.map} +0 -0
- /package/dist/{session-start-4RJ32KS5.js.map → session-start-XXN2TVNI.js.map} +0 -0
- /package/dist/{setup-llm-EZRNEIW2.js.map → setup-llm-GISFI73Z.js.map} +0 -0
- /package/dist/{stats-PW7OGIBR.js.map → stats-MYQD4OVD.js.map} +0 -0
- /package/dist/{stop-FVMLTWXU.js.map → stop-K6TDJORY.js.map} +0 -0
- /package/dist/{stop-failure-MD52CGFX.js.map → stop-failure-U635O5A3.js.map} +0 -0
- /package/dist/{subagent-start-ZJZA7EAJ.js.map → subagent-start-LLGQBC5Q.js.map} +0 -0
- /package/dist/{subagent-stop-56H22JSE.js.map → subagent-stop-BO3GZWXD.js.map} +0 -0
- /package/dist/{task-completed-TQ4WW2HW.js.map → task-completed-3ZJHSI2E.js.map} +0 -0
- /package/dist/{team-RXYFXGUT.js.map → team-OJLQCVE3.js.map} +0 -0
- /package/dist/{update-HIJUK5ZK.js.map → update-HR7WMESA.js.map} +0 -0
- /package/dist/{user-prompt-submit-SLQNTQFL.js.map → user-prompt-submit-NM73R4I3.js.map} +0 -0
- /package/dist/{verify-ITBMLK67.js.map → verify-PSERIZPF.js.map} +0 -0
- /package/dist/{version-4YUDRPU4.js.map → version-YCODQZSX.js.map} +0 -0
|
@@ -31,10 +31,10 @@ import {
|
|
|
31
31
|
updateRunStatus,
|
|
32
32
|
updateSkillRecord,
|
|
33
33
|
upsertDigestExtract
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-YTOD6L6N.js";
|
|
35
35
|
import {
|
|
36
36
|
fullTextSearch
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-GBYLHPML.js";
|
|
38
38
|
import {
|
|
39
39
|
cleanupStagedSkill,
|
|
40
40
|
readStagedManifest,
|
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
} from "./chunk-U5EW2VIQ.js";
|
|
45
45
|
import {
|
|
46
46
|
loadAllTasks
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-ZUSTCXHT.js";
|
|
48
48
|
import {
|
|
49
49
|
getAgent,
|
|
50
50
|
getDefaultTask,
|
|
@@ -53,33 +53,33 @@ import {
|
|
|
53
53
|
loadSystemPrompt,
|
|
54
54
|
resolveDefinitionsDir,
|
|
55
55
|
resolveEffectiveConfig
|
|
56
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-VQQ57UPG.js";
|
|
57
57
|
import {
|
|
58
58
|
insertTurn
|
|
59
59
|
} from "./chunk-QLCD77AN.js";
|
|
60
60
|
import {
|
|
61
61
|
insertResolutionEvent
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-2IJ6C63F.js";
|
|
63
63
|
import "./chunk-IB76KGBY.js";
|
|
64
64
|
import {
|
|
65
65
|
DEFAULT_IMPORTANCE,
|
|
66
66
|
insertSpore,
|
|
67
67
|
listSpores,
|
|
68
68
|
updateSporeStatus
|
|
69
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-UDBCAFXS.js";
|
|
70
70
|
import {
|
|
71
71
|
listSessions,
|
|
72
72
|
updateSession
|
|
73
|
-
} from "./chunk-
|
|
74
|
-
import "./chunk-
|
|
73
|
+
} from "./chunk-VGVRBSLC.js";
|
|
74
|
+
import "./chunk-KKEMVH6D.js";
|
|
75
75
|
import {
|
|
76
76
|
AGENT_SETTABLE_STATUSES,
|
|
77
77
|
CANDIDATE_STATUS,
|
|
78
78
|
createSchema
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-OGNEW5CN.js";
|
|
80
80
|
import {
|
|
81
81
|
loadConfig
|
|
82
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-FEX6ALLH.js";
|
|
83
83
|
import {
|
|
84
84
|
getDatabase,
|
|
85
85
|
initDatabase,
|
|
@@ -87,7 +87,7 @@ import {
|
|
|
87
87
|
} from "./chunk-MYX5NCRH.js";
|
|
88
88
|
import {
|
|
89
89
|
getPluginVersion
|
|
90
|
-
} from "./chunk-
|
|
90
|
+
} from "./chunk-PFF4KB4O.js";
|
|
91
91
|
import {
|
|
92
92
|
findPackageRoot
|
|
93
93
|
} from "./chunk-LPUQPDC2.js";
|
|
@@ -99,7 +99,7 @@ import {
|
|
|
99
99
|
SEARCH_SIMILARITY_THRESHOLD,
|
|
100
100
|
TEAM_SOURCE_PREFIX,
|
|
101
101
|
epochSeconds
|
|
102
|
-
} from "./chunk-
|
|
102
|
+
} from "./chunk-6SDC6V3N.js";
|
|
103
103
|
import "./chunk-E7NUADTQ.js";
|
|
104
104
|
import "./chunk-D7TYRPRM.js";
|
|
105
105
|
import "./chunk-E4VLWIJC.js";
|
|
@@ -694,6 +694,14 @@ function parseAllowedTools(rawValue) {
|
|
|
694
694
|
if (parts.some((p) => sentinels.has(p))) return null;
|
|
695
695
|
return parts;
|
|
696
696
|
}
|
|
697
|
+
function stemToken(word) {
|
|
698
|
+
let w = word;
|
|
699
|
+
if (w.length > 5 && w.endsWith("ing")) w = w.slice(0, -3);
|
|
700
|
+
else if (w.length > 5 && w.endsWith("ed")) w = w.slice(0, -2);
|
|
701
|
+
if (w.length > 4 && w.endsWith("s")) w = w.slice(0, -1);
|
|
702
|
+
if (w.length > 4 && w.endsWith("e")) w = w.slice(0, -1);
|
|
703
|
+
return w;
|
|
704
|
+
}
|
|
697
705
|
function tokenSet(text) {
|
|
698
706
|
const stopwords = /* @__PURE__ */ new Set([
|
|
699
707
|
"the",
|
|
@@ -753,21 +761,34 @@ function tokenSet(text) {
|
|
|
753
761
|
"makes"
|
|
754
762
|
]);
|
|
755
763
|
return new Set(
|
|
756
|
-
text.toLowerCase().replace(/[^a-z0-9_\s]/g, " ").split(/\s+/).filter((w) => w.length >= 4 && !stopwords.has(w))
|
|
764
|
+
text.toLowerCase().replace(/[^a-z0-9_\s]/g, " ").split(/\s+/).filter((w) => w.length >= 4 && !stopwords.has(w)).map(stemToken)
|
|
757
765
|
);
|
|
758
766
|
}
|
|
767
|
+
function intersectionSize(a, b) {
|
|
768
|
+
let count = 0;
|
|
769
|
+
for (const token of a) {
|
|
770
|
+
if (b.has(token)) count++;
|
|
771
|
+
}
|
|
772
|
+
return count;
|
|
773
|
+
}
|
|
759
774
|
function descriptionSimilarity(a, b) {
|
|
760
775
|
const aTokens = tokenSet(a);
|
|
761
776
|
const bTokens = tokenSet(b);
|
|
762
777
|
if (aTokens.size === 0 || bTokens.size === 0) return 0;
|
|
763
|
-
|
|
764
|
-
for (const token of aTokens) {
|
|
765
|
-
if (bTokens.has(token)) intersection++;
|
|
766
|
-
}
|
|
778
|
+
const intersection = intersectionSize(aTokens, bTokens);
|
|
767
779
|
const union = aTokens.size + bTokens.size - intersection;
|
|
768
780
|
return union === 0 ? 0 : intersection / union;
|
|
769
781
|
}
|
|
782
|
+
function topicOverlapSimilarity(a, b, minTokens = 3) {
|
|
783
|
+
const aTokens = tokenSet(a);
|
|
784
|
+
const bTokens = tokenSet(b);
|
|
785
|
+
if (aTokens.size < minTokens || bTokens.size < minTokens) return 0;
|
|
786
|
+
const intersection = intersectionSize(aTokens, bTokens);
|
|
787
|
+
const smaller = Math.min(aTokens.size, bTokens.size);
|
|
788
|
+
return smaller === 0 ? 0 : intersection / smaller;
|
|
789
|
+
}
|
|
770
790
|
var DESCRIPTION_DUPLICATE_THRESHOLD = 0.4;
|
|
791
|
+
var TOPIC_OVERLAP_THRESHOLD = 0.6;
|
|
771
792
|
function checkFrontmatterPreservation(existing, incoming) {
|
|
772
793
|
const violations = [];
|
|
773
794
|
for (const field of PROTECTED_FRONTMATTER_FIELDS) {
|
|
@@ -849,8 +870,13 @@ function createSkillTools(deps) {
|
|
|
849
870
|
function findOverlappingCandidate(newTopic, existing) {
|
|
850
871
|
let best = null;
|
|
851
872
|
for (const candidate of existing) {
|
|
852
|
-
const
|
|
853
|
-
|
|
873
|
+
const jaccard = descriptionSimilarity(newTopic, candidate.topic);
|
|
874
|
+
const overlap = topicOverlapSimilarity(newTopic, candidate.topic);
|
|
875
|
+
const hitsJaccard = jaccard >= DESCRIPTION_DUPLICATE_THRESHOLD;
|
|
876
|
+
const hitsOverlap = overlap >= TOPIC_OVERLAP_THRESHOLD;
|
|
877
|
+
if (!hitsJaccard && !hitsOverlap) continue;
|
|
878
|
+
const score = Math.max(jaccard, overlap);
|
|
879
|
+
if (!best || score > best.score) {
|
|
854
880
|
best = { candidate, score };
|
|
855
881
|
}
|
|
856
882
|
}
|
|
@@ -959,7 +985,7 @@ function createSkillTools(deps) {
|
|
|
959
985
|
);
|
|
960
986
|
}
|
|
961
987
|
try {
|
|
962
|
-
const { syncSkillSymlinks } = await import("./installer-
|
|
988
|
+
const { syncSkillSymlinks } = await import("./installer-CTWQB4RS.js");
|
|
963
989
|
syncSkillSymlinks(root, params.name, { remove: true });
|
|
964
990
|
} catch (rollbackErr) {
|
|
965
991
|
console.warn(
|
|
@@ -977,7 +1003,7 @@ function createSkillTools(deps) {
|
|
|
977
1003
|
};
|
|
978
1004
|
}
|
|
979
1005
|
try {
|
|
980
|
-
const { syncSkillSymlinks } = await import("./installer-
|
|
1006
|
+
const { syncSkillSymlinks } = await import("./installer-CTWQB4RS.js");
|
|
981
1007
|
syncSkillSymlinks(root, params.name);
|
|
982
1008
|
} catch (err) {
|
|
983
1009
|
console.warn(
|
|
@@ -1210,7 +1236,7 @@ function createSkillTools(deps) {
|
|
|
1210
1236
|
console.warn("[vault_skill_records] Failed to remove skill directory:", err instanceof Error ? err.message : err);
|
|
1211
1237
|
}
|
|
1212
1238
|
try {
|
|
1213
|
-
const { syncSkillSymlinks } = await import("./installer-
|
|
1239
|
+
const { syncSkillSymlinks } = await import("./installer-CTWQB4RS.js");
|
|
1214
1240
|
syncSkillSymlinks(root, result.name, { remove: true });
|
|
1215
1241
|
} catch (err) {
|
|
1216
1242
|
console.warn("[vault_skill_records] Failed to remove symlinks:", err instanceof Error ? err.message : err);
|
|
@@ -1329,7 +1355,7 @@ function createSkillTools(deps) {
|
|
|
1329
1355
|
return textResult({ error: `Failed to write skill file: ${err instanceof Error ? err.message : String(err)}` });
|
|
1330
1356
|
}
|
|
1331
1357
|
try {
|
|
1332
|
-
const { syncSkillSymlinks } = await import("./installer-
|
|
1358
|
+
const { syncSkillSymlinks } = await import("./installer-CTWQB4RS.js");
|
|
1333
1359
|
syncSkillSymlinks(root, args.name);
|
|
1334
1360
|
} catch (err) {
|
|
1335
1361
|
console.warn("[vault_write_skill] syncSkillSymlinks failed:", err instanceof Error ? err.message : err);
|
|
@@ -2650,4 +2676,4 @@ export {
|
|
|
2650
2676
|
computeWaves,
|
|
2651
2677
|
runAgent
|
|
2652
2678
|
};
|
|
2653
|
-
//# sourceMappingURL=executor-
|
|
2679
|
+
//# sourceMappingURL=executor-UYNV4EOQ.js.map
|