@rubytech/taskmaster 1.21.1 → 1.21.2
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.
|
@@ -10,6 +10,17 @@ const SkillPackInstallSchema = Type.Object({
|
|
|
10
10
|
description: "Absolute path to the .skillpack.json file received as an attachment.",
|
|
11
11
|
}),
|
|
12
12
|
});
|
|
13
|
+
/**
|
|
14
|
+
* Resolve the workspace root from the agent workspace dir.
|
|
15
|
+
* Agent tools receive workspaceDir = agent CWD (e.g. ~/taskmaster/agents/admin/)
|
|
16
|
+
* but skills.create writes to the workspace root (e.g. ~/taskmaster/).
|
|
17
|
+
* Strip trailing /agents/<name> to match where skills actually live.
|
|
18
|
+
*/
|
|
19
|
+
function resolveSkillsRoot(agentWorkspaceDir) {
|
|
20
|
+
const normalised = agentWorkspaceDir.replace(/\/+$/, "");
|
|
21
|
+
const match = normalised.match(/^(.+)\/agents\/[^/]+$/);
|
|
22
|
+
return match ? match[1] : normalised;
|
|
23
|
+
}
|
|
13
24
|
export function createSkillPackInstallTool(opts) {
|
|
14
25
|
return {
|
|
15
26
|
label: "Skill Pack Install",
|
|
@@ -44,8 +55,10 @@ export function createSkillPackInstallTool(opts) {
|
|
|
44
55
|
throw new Error("This skill pack is licensed for a different device. " +
|
|
45
56
|
"It cannot be installed on this device.");
|
|
46
57
|
}
|
|
58
|
+
// skills.create writes to workspace root, not agent subdir
|
|
59
|
+
const skillsRoot = resolveSkillsRoot(opts.workspaceDir);
|
|
47
60
|
// Check if all skills in this pack version are already installed
|
|
48
|
-
const allAlreadyInstalled = await allSkillsInstalled(
|
|
61
|
+
const allAlreadyInstalled = await allSkillsInstalled(skillsRoot, payload.content.skills.map((s) => s.id), payload.pack.id, payload.pack.version);
|
|
49
62
|
if (allAlreadyInstalled) {
|
|
50
63
|
return jsonResult({
|
|
51
64
|
ok: true,
|
|
@@ -67,8 +80,8 @@ export function createSkillPackInstallTool(opts) {
|
|
|
67
80
|
skillContent: entry.skill,
|
|
68
81
|
...(references.length > 0 ? { references } : {}),
|
|
69
82
|
});
|
|
70
|
-
// Write marker file
|
|
71
|
-
const skillDir = path.join(
|
|
83
|
+
// Write marker file — use workspace root where skills.create puts the skill
|
|
84
|
+
const skillDir = path.join(skillsRoot, "skills", entry.id);
|
|
72
85
|
const marker = {
|
|
73
86
|
packId: payload.pack.id,
|
|
74
87
|
version: payload.pack.version,
|
package/dist/build-info.json
CHANGED
package/dist/memory/manager.js
CHANGED
|
@@ -2145,7 +2145,7 @@ export class MemoryIndexManager {
|
|
|
2145
2145
|
throw err;
|
|
2146
2146
|
}
|
|
2147
2147
|
const waitMs = Math.min(EMBEDDING_RETRY_MAX_DELAY_MS, Math.round(delayMs * (1 + Math.random() * 0.2)));
|
|
2148
|
-
log.warn(`memory embeddings
|
|
2148
|
+
log.warn(`memory embeddings error (retrying in ${waitMs}ms): ${message}`);
|
|
2149
2149
|
await new Promise((resolve) => setTimeout(resolve, waitMs));
|
|
2150
2150
|
delayMs *= 2;
|
|
2151
2151
|
attempt += 1;
|