@goondocks/myco 0.19.3 → 0.19.4
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/dist/{agent-run-MCVZOJWA.js → agent-run-OGWPNU43.js} +4 -4
- package/dist/{agent-tasks-I4S35M2E.js → agent-tasks-XWMDAEPG.js} +4 -4
- package/dist/{chunk-SELPXOJ7.js → chunk-5B2ORGTF.js} +2 -2
- package/dist/{chunk-NFXXQCO2.js → chunk-NTWJR6KH.js} +2 -2
- package/dist/{chunk-THZKOZ4M.js → chunk-RTNLDAIC.js} +70 -15
- package/dist/chunk-RTNLDAIC.js.map +1 -0
- package/dist/{chunk-JRKTIOXA.js → chunk-W3P6MHLQ.js} +2 -2
- package/dist/{chunk-XE5HDAYZ.js → chunk-Y3IJFUVX.js} +2 -2
- package/dist/{chunk-R2PT7XMQ.js → chunk-YDCGI3CS.js} +2 -2
- package/dist/{cli-ZCHAHP66.js → cli-XDG624PV.js} +32 -32
- package/dist/{client-JSV6QAZA.js → client-EEPUQVMX.js} +3 -3
- package/dist/{doctor-2RTWDLZO.js → doctor-L4LWMJYH.js} +4 -4
- package/dist/{executor-EYNL4NVR.js → executor-4TJOZN32.js} +13 -5
- package/dist/executor-4TJOZN32.js.map +1 -0
- package/dist/{init-WAPYF4BJ.js → init-U2SG2IOC.js} +5 -5
- package/dist/{main-XBKU4RCF.js → main-EVS3FXDJ.js} +9 -9
- package/dist/{open-JEFE5TGE.js → open-TEQZXO4A.js} +4 -4
- package/dist/{post-compact-OONI54PN.js → post-compact-POSTGJEV.js} +4 -4
- package/dist/{post-tool-use-EQO3KWOY.js → post-tool-use-VE6YPEY2.js} +3 -3
- package/dist/{post-tool-use-failure-SJL47FL4.js → post-tool-use-failure-LUFD62SB.js} +4 -4
- package/dist/{pre-compact-GWELYS3R.js → pre-compact-7QGJYRJF.js} +4 -4
- package/dist/{remove-Y3556MDU.js → remove-4UZXDSVY.js} +4 -4
- package/dist/{restart-SFLYAFOS.js → restart-HLXD4ZGX.js} +5 -5
- package/dist/{search-3JZ3KAK6.js → search-MWXY3GTI.js} +4 -4
- package/dist/{server-L7OOWT34.js → server-TQY7CYOS.js} +3 -3
- package/dist/{session-PLMQL7I6.js → session-P2POKO22.js} +4 -4
- package/dist/{session-end-RPRVFGUD.js → session-end-DZNJHGQB.js} +3 -3
- package/dist/{session-start-P7K2ACLN.js → session-start-JNNJTP3C.js} +3 -3
- package/dist/{setup-llm-MK3HLT4I.js → setup-llm-UQO2INBY.js} +4 -4
- package/dist/src/agent/definitions/tasks/skill-generate.yaml +9 -0
- package/dist/src/agent/definitions/tasks/skill-survey.yaml +1 -1
- 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/{stats-I23UJGHJ.js → stats-DJYTDCUE.js} +5 -5
- package/dist/{stop-7SCG645G.js → stop-VBA4RMQM.js} +3 -3
- package/dist/{stop-failure-7FDDU2M3.js → stop-failure-54Z2HSU4.js} +4 -4
- package/dist/{subagent-start-L5EYRGIA.js → subagent-start-XL773ZID.js} +4 -4
- package/dist/{subagent-stop-IJ4RCOWX.js → subagent-stop-HJVSYNII.js} +4 -4
- package/dist/{task-completed-XLTUWCH6.js → task-completed-GLNYNBYP.js} +4 -4
- package/dist/{update-UCEI2JIV.js → update-JZV2K4YG.js} +4 -4
- package/dist/{user-prompt-submit-MUDVYQIT.js → user-prompt-submit-6KMTMHKW.js} +3 -3
- package/dist/{version-MMF4SWQ3.js → version-KS3UADP5.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-THZKOZ4M.js.map +0 -1
- package/dist/executor-EYNL4NVR.js.map +0 -1
- /package/dist/{agent-run-MCVZOJWA.js.map → agent-run-OGWPNU43.js.map} +0 -0
- /package/dist/{agent-tasks-I4S35M2E.js.map → agent-tasks-XWMDAEPG.js.map} +0 -0
- /package/dist/{chunk-SELPXOJ7.js.map → chunk-5B2ORGTF.js.map} +0 -0
- /package/dist/{chunk-NFXXQCO2.js.map → chunk-NTWJR6KH.js.map} +0 -0
- /package/dist/{chunk-JRKTIOXA.js.map → chunk-W3P6MHLQ.js.map} +0 -0
- /package/dist/{chunk-XE5HDAYZ.js.map → chunk-Y3IJFUVX.js.map} +0 -0
- /package/dist/{chunk-R2PT7XMQ.js.map → chunk-YDCGI3CS.js.map} +0 -0
- /package/dist/{cli-ZCHAHP66.js.map → cli-XDG624PV.js.map} +0 -0
- /package/dist/{client-JSV6QAZA.js.map → client-EEPUQVMX.js.map} +0 -0
- /package/dist/{doctor-2RTWDLZO.js.map → doctor-L4LWMJYH.js.map} +0 -0
- /package/dist/{init-WAPYF4BJ.js.map → init-U2SG2IOC.js.map} +0 -0
- /package/dist/{main-XBKU4RCF.js.map → main-EVS3FXDJ.js.map} +0 -0
- /package/dist/{open-JEFE5TGE.js.map → open-TEQZXO4A.js.map} +0 -0
- /package/dist/{post-compact-OONI54PN.js.map → post-compact-POSTGJEV.js.map} +0 -0
- /package/dist/{post-tool-use-EQO3KWOY.js.map → post-tool-use-VE6YPEY2.js.map} +0 -0
- /package/dist/{post-tool-use-failure-SJL47FL4.js.map → post-tool-use-failure-LUFD62SB.js.map} +0 -0
- /package/dist/{pre-compact-GWELYS3R.js.map → pre-compact-7QGJYRJF.js.map} +0 -0
- /package/dist/{remove-Y3556MDU.js.map → remove-4UZXDSVY.js.map} +0 -0
- /package/dist/{restart-SFLYAFOS.js.map → restart-HLXD4ZGX.js.map} +0 -0
- /package/dist/{search-3JZ3KAK6.js.map → search-MWXY3GTI.js.map} +0 -0
- /package/dist/{server-L7OOWT34.js.map → server-TQY7CYOS.js.map} +0 -0
- /package/dist/{session-PLMQL7I6.js.map → session-P2POKO22.js.map} +0 -0
- /package/dist/{session-end-RPRVFGUD.js.map → session-end-DZNJHGQB.js.map} +0 -0
- /package/dist/{session-start-P7K2ACLN.js.map → session-start-JNNJTP3C.js.map} +0 -0
- /package/dist/{setup-llm-MK3HLT4I.js.map → setup-llm-UQO2INBY.js.map} +0 -0
- /package/dist/{stats-I23UJGHJ.js.map → stats-DJYTDCUE.js.map} +0 -0
- /package/dist/{stop-7SCG645G.js.map → stop-VBA4RMQM.js.map} +0 -0
- /package/dist/{stop-failure-7FDDU2M3.js.map → stop-failure-54Z2HSU4.js.map} +0 -0
- /package/dist/{subagent-start-L5EYRGIA.js.map → subagent-start-XL773ZID.js.map} +0 -0
- /package/dist/{subagent-stop-IJ4RCOWX.js.map → subagent-stop-HJVSYNII.js.map} +0 -0
- /package/dist/{task-completed-XLTUWCH6.js.map → task-completed-GLNYNBYP.js.map} +0 -0
- /package/dist/{update-UCEI2JIV.js.map → update-JZV2K4YG.js.map} +0 -0
- /package/dist/{user-prompt-submit-MUDVYQIT.js.map → user-prompt-submit-6KMTMHKW.js.map} +0 -0
- /package/dist/{version-MMF4SWQ3.js.map → version-KS3UADP5.js.map} +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
connectToDaemon
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-5B2ORGTF.js";
|
|
5
5
|
import "./chunk-SAKJMNSR.js";
|
|
6
6
|
import "./chunk-WYOE4IAX.js";
|
|
7
7
|
import "./chunk-PMT2LSTQ.js";
|
|
8
8
|
import "./chunk-MYX5NCRH.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-W3P6MHLQ.js";
|
|
10
|
+
import "./chunk-NTWJR6KH.js";
|
|
11
11
|
import "./chunk-LPUQPDC2.js";
|
|
12
12
|
import "./chunk-I54KLC6H.js";
|
|
13
13
|
import "./chunk-UUHLLQXO.js";
|
|
@@ -32,4 +32,4 @@ async function run(args, vaultDir) {
|
|
|
32
32
|
export {
|
|
33
33
|
run
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=agent-run-
|
|
35
|
+
//# sourceMappingURL=agent-run-OGWPNU43.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
connectToDaemon
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-5B2ORGTF.js";
|
|
5
5
|
import "./chunk-SAKJMNSR.js";
|
|
6
6
|
import "./chunk-WYOE4IAX.js";
|
|
7
7
|
import "./chunk-PMT2LSTQ.js";
|
|
8
8
|
import "./chunk-MYX5NCRH.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-W3P6MHLQ.js";
|
|
10
|
+
import "./chunk-NTWJR6KH.js";
|
|
11
11
|
import "./chunk-LPUQPDC2.js";
|
|
12
12
|
import "./chunk-I54KLC6H.js";
|
|
13
13
|
import "./chunk-UUHLLQXO.js";
|
|
@@ -178,4 +178,4 @@ async function run(args, vaultDir) {
|
|
|
178
178
|
export {
|
|
179
179
|
run
|
|
180
180
|
};
|
|
181
|
-
//# sourceMappingURL=agent-tasks-
|
|
181
|
+
//# sourceMappingURL=agent-tasks-XWMDAEPG.js.map
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from "./chunk-MYX5NCRH.js";
|
|
14
14
|
import {
|
|
15
15
|
DaemonClient
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-W3P6MHLQ.js";
|
|
17
17
|
|
|
18
18
|
// src/cli/shared.ts
|
|
19
19
|
import fs from "fs";
|
|
@@ -123,4 +123,4 @@ export {
|
|
|
123
123
|
VAULT_GITIGNORE,
|
|
124
124
|
registerSymbionts
|
|
125
125
|
};
|
|
126
|
-
//# sourceMappingURL=chunk-
|
|
126
|
+
//# sourceMappingURL=chunk-5B2ORGTF.js.map
|
|
@@ -11,7 +11,7 @@ var cached;
|
|
|
11
11
|
function getPluginVersion() {
|
|
12
12
|
if (cached) return cached;
|
|
13
13
|
if (true) {
|
|
14
|
-
cached = "0.19.
|
|
14
|
+
cached = "0.19.4";
|
|
15
15
|
return cached;
|
|
16
16
|
}
|
|
17
17
|
const root = findPackageRoot(path.dirname(fileURLToPath(import.meta.url)));
|
|
@@ -32,4 +32,4 @@ function getPluginVersion() {
|
|
|
32
32
|
export {
|
|
33
33
|
getPluginVersion
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=chunk-
|
|
35
|
+
//# sourceMappingURL=chunk-NTWJR6KH.js.map
|
|
@@ -40,6 +40,12 @@ import {
|
|
|
40
40
|
QUERY_DEFAULT_LIST_LIMIT,
|
|
41
41
|
epochSeconds
|
|
42
42
|
} from "./chunk-I54KLC6H.js";
|
|
43
|
+
import {
|
|
44
|
+
require_dist
|
|
45
|
+
} from "./chunk-6LQIMRTC.js";
|
|
46
|
+
import {
|
|
47
|
+
__toESM
|
|
48
|
+
} from "./chunk-PZUWP5VK.js";
|
|
43
49
|
|
|
44
50
|
// src/notifications/notify.ts
|
|
45
51
|
import crypto from "crypto";
|
|
@@ -934,7 +940,10 @@ function getStatesForAgent(agentId) {
|
|
|
934
940
|
}
|
|
935
941
|
|
|
936
942
|
// src/agent/tools/skill-validator.ts
|
|
943
|
+
var import_yaml = __toESM(require_dist(), 1);
|
|
937
944
|
var MAX_SKILL_LINES = 800;
|
|
945
|
+
var MAX_SKILL_DESCRIPTION_CHARS = 1024;
|
|
946
|
+
var FRONTMATTER_PATTERN = /^---\n([\s\S]*?)\n---/;
|
|
938
947
|
var REQUIRED_FRONTMATTER_FIELDS = ["name", "description", "managed_by", "user-invocable", "allowed-tools"];
|
|
939
948
|
var PROTECTED_FRONTMATTER_FIELDS = ["user-invocable", "allowed-tools"];
|
|
940
949
|
var ALLOWED_CLAUDE_CODE_TOOLS = /* @__PURE__ */ new Set([
|
|
@@ -952,10 +961,36 @@ var ALLOWED_CLAUDE_CODE_TOOLS = /* @__PURE__ */ new Set([
|
|
|
952
961
|
"Task",
|
|
953
962
|
"TodoWrite"
|
|
954
963
|
]);
|
|
964
|
+
function extractFrontmatterBlock(content) {
|
|
965
|
+
return content.match(FRONTMATTER_PATTERN)?.[1];
|
|
966
|
+
}
|
|
967
|
+
function parseFrontmatter(content) {
|
|
968
|
+
const block = extractFrontmatterBlock(content);
|
|
969
|
+
if (!block) return null;
|
|
970
|
+
const parsed = (0, import_yaml.parse)(block);
|
|
971
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
|
|
972
|
+
return null;
|
|
973
|
+
}
|
|
974
|
+
return parsed;
|
|
975
|
+
}
|
|
976
|
+
function normalizeFrontmatterValue(value) {
|
|
977
|
+
if (typeof value === "string") return value;
|
|
978
|
+
if (typeof value === "boolean" || typeof value === "number") return String(value);
|
|
979
|
+
if (Array.isArray(value)) {
|
|
980
|
+
const items = value.map((item) => typeof item === "string" ? item : null).filter((item) => item !== null);
|
|
981
|
+
return items.length > 0 ? items.join(", ") : void 0;
|
|
982
|
+
}
|
|
983
|
+
return void 0;
|
|
984
|
+
}
|
|
955
985
|
function extractFrontmatterField(content, field) {
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
986
|
+
try {
|
|
987
|
+
const parsed = parseFrontmatter(content);
|
|
988
|
+
const normalized = normalizeFrontmatterValue(parsed?.[field]);
|
|
989
|
+
if (normalized !== void 0) return normalized;
|
|
990
|
+
} catch {
|
|
991
|
+
}
|
|
992
|
+
const fm = extractFrontmatterBlock(content);
|
|
993
|
+
if (!fm) return void 0;
|
|
959
994
|
const match = fm.match(new RegExp(`^${field}:\\s*(.+)$`, "m"));
|
|
960
995
|
if (match) return match[1].trim();
|
|
961
996
|
const blockMatch = fm.match(new RegExp(`^${field}:\\s*$`, "m"));
|
|
@@ -1115,26 +1150,46 @@ function checkFrontmatterPreservation(existing, incoming) {
|
|
|
1115
1150
|
}
|
|
1116
1151
|
function validateSkillContent(content, dirName) {
|
|
1117
1152
|
const issues = [];
|
|
1118
|
-
const
|
|
1119
|
-
if (!
|
|
1153
|
+
const frontmatter = extractFrontmatterBlock(content);
|
|
1154
|
+
if (!frontmatter) {
|
|
1120
1155
|
issues.push("Missing YAML frontmatter (must start with --- and end with ---)");
|
|
1121
1156
|
return issues;
|
|
1122
1157
|
}
|
|
1123
|
-
|
|
1158
|
+
let parsedFrontmatter = null;
|
|
1159
|
+
try {
|
|
1160
|
+
parsedFrontmatter = parseFrontmatter(content);
|
|
1161
|
+
} catch (error) {
|
|
1162
|
+
const message = error instanceof Error ? error.message.split("\n")[0] : String(error);
|
|
1163
|
+
issues.push(`Invalid YAML frontmatter: ${message}`);
|
|
1164
|
+
return issues;
|
|
1165
|
+
}
|
|
1166
|
+
if (!parsedFrontmatter) {
|
|
1167
|
+
issues.push("Invalid YAML frontmatter: top-level frontmatter must be a mapping/object");
|
|
1168
|
+
return issues;
|
|
1169
|
+
}
|
|
1124
1170
|
for (const field of REQUIRED_FRONTMATTER_FIELDS) {
|
|
1125
|
-
if (!
|
|
1171
|
+
if (!(field in parsedFrontmatter)) {
|
|
1126
1172
|
issues.push(`Missing required frontmatter field: ${field}`);
|
|
1127
1173
|
}
|
|
1128
1174
|
}
|
|
1129
|
-
const
|
|
1130
|
-
if (
|
|
1131
|
-
issues.push(`Skill name must start with "myco:" prefix. Got: "${
|
|
1175
|
+
const nameValue = normalizeFrontmatterValue(parsedFrontmatter.name);
|
|
1176
|
+
if (nameValue && !nameValue.startsWith("myco:")) {
|
|
1177
|
+
issues.push(`Skill name must start with "myco:" prefix. Got: "${nameValue}"`);
|
|
1178
|
+
}
|
|
1179
|
+
if (nameValue && nameValue !== `myco:${dirName}`) {
|
|
1180
|
+
issues.push(`Skill name must match directory name. Expected "myco:${dirName}", got "${nameValue}"`);
|
|
1181
|
+
}
|
|
1182
|
+
const managedByValue = normalizeFrontmatterValue(parsedFrontmatter.managed_by);
|
|
1183
|
+
if (managedByValue && managedByValue !== "myco") {
|
|
1184
|
+
issues.push(`managed_by must be "myco". Got: "${managedByValue}"`);
|
|
1132
1185
|
}
|
|
1133
|
-
const
|
|
1134
|
-
if (
|
|
1135
|
-
issues.push(
|
|
1186
|
+
const descriptionValue = normalizeFrontmatterValue(parsedFrontmatter.description);
|
|
1187
|
+
if (descriptionValue && descriptionValue.length > MAX_SKILL_DESCRIPTION_CHARS) {
|
|
1188
|
+
issues.push(
|
|
1189
|
+
`description exceeds maximum length of ${MAX_SKILL_DESCRIPTION_CHARS} characters (got ${descriptionValue.length})`
|
|
1190
|
+
);
|
|
1136
1191
|
}
|
|
1137
|
-
const rawAllowedTools =
|
|
1192
|
+
const rawAllowedTools = normalizeFrontmatterValue(parsedFrontmatter["allowed-tools"]);
|
|
1138
1193
|
if (rawAllowedTools) {
|
|
1139
1194
|
const rawValue = rawAllowedTools;
|
|
1140
1195
|
if (rawValue.includes("vault_")) {
|
|
@@ -2167,4 +2222,4 @@ export {
|
|
|
2167
2222
|
buildTaskInstruction,
|
|
2168
2223
|
isInstructionRequiredTask
|
|
2169
2224
|
};
|
|
2170
|
-
//# sourceMappingURL=chunk-
|
|
2225
|
+
//# sourceMappingURL=chunk-RTNLDAIC.js.map
|