@opengoat/core 2026.2.9 → 2026.2.14
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 +3 -3
- package/dist/core/acp/application/acp-agent.js +4 -8
- package/dist/core/acp/application/acp-agent.js.map +1 -1
- package/dist/core/agents/application/agent-manifest.service.d.ts +1 -4
- package/dist/core/agents/application/agent-manifest.service.js +39 -52
- package/dist/core/agents/application/agent-manifest.service.js.map +1 -1
- package/dist/core/agents/application/agent.service.d.ts +43 -4
- package/dist/core/agents/application/agent.service.js +476 -55
- package/dist/core/agents/application/agent.service.js.map +1 -1
- package/dist/core/agents/domain/agent-manifest.d.ts +10 -4
- package/dist/core/agents/domain/agent-manifest.js +118 -25
- package/dist/core/agents/domain/agent-manifest.js.map +1 -1
- package/dist/core/agents/index.d.ts +1 -3
- package/dist/core/agents/index.js +1 -3
- package/dist/core/agents/index.js.map +1 -1
- package/dist/core/boards/application/board.service.d.ts +64 -0
- package/dist/core/boards/application/board.service.js +590 -0
- package/dist/core/boards/application/board.service.js.map +1 -0
- package/dist/core/boards/domain/board.d.ts +30 -0
- package/dist/core/boards/domain/board.js +2 -0
- package/dist/core/boards/domain/board.js.map +1 -0
- package/dist/core/boards/index.d.ts +2 -0
- package/dist/core/boards/index.js +2 -0
- package/dist/core/boards/index.js.map +1 -0
- package/dist/core/bootstrap/application/bootstrap.service.d.ts +5 -2
- package/dist/core/bootstrap/application/bootstrap.service.js +32 -17
- package/dist/core/bootstrap/application/bootstrap.service.js.map +1 -1
- package/dist/core/domain/agent-id.d.ts +1 -1
- package/dist/core/domain/agent-id.js +1 -1
- package/dist/core/domain/agent-id.js.map +1 -1
- package/dist/core/domain/agent.d.ts +31 -8
- package/dist/core/domain/opengoat-paths.d.ts +1 -0
- package/dist/core/opengoat/application/opengoat.service.d.ts +111 -27
- package/dist/core/opengoat/application/opengoat.service.js +1048 -136
- package/dist/core/opengoat/application/opengoat.service.js.map +1 -1
- package/dist/core/opengoat/index.d.ts +1 -0
- package/dist/core/orchestration/application/orchestration.service.d.ts +8 -21
- package/dist/core/orchestration/application/orchestration.service.js +59 -871
- package/dist/core/orchestration/application/orchestration.service.js.map +1 -1
- package/dist/core/orchestration/application/routing.service.js +10 -8
- package/dist/core/orchestration/application/routing.service.js.map +1 -1
- package/dist/core/orchestration/domain/routing.d.ts +0 -17
- package/dist/core/orchestration/domain/run-events.d.ts +1 -1
- package/dist/core/orchestration/index.d.ts +0 -2
- package/dist/core/orchestration/index.js +0 -1
- package/dist/core/orchestration/index.js.map +1 -1
- package/dist/core/providers/application/provider.service.d.ts +16 -32
- package/dist/core/providers/application/provider.service.js +178 -202
- package/dist/core/providers/application/provider.service.js.map +1 -1
- package/dist/core/providers/cli-provider.d.ts +1 -0
- package/dist/core/providers/cli-provider.js +66 -1
- package/dist/core/providers/cli-provider.js.map +1 -1
- package/dist/core/providers/image-input.d.ts +16 -0
- package/dist/core/providers/image-input.js +158 -0
- package/dist/core/providers/image-input.js.map +1 -0
- package/dist/core/providers/index.d.ts +1 -7
- package/dist/core/providers/index.js +0 -13
- package/dist/core/providers/index.js.map +1 -1
- package/dist/core/providers/loader.js +1 -95
- package/dist/core/providers/loader.js.map +1 -1
- package/dist/core/providers/providers/openclaw/provider.js +213 -32
- package/dist/core/providers/providers/openclaw/provider.js.map +1 -1
- package/dist/core/providers/types.d.ts +8 -3
- package/dist/core/scenarios/application/scenario-runner.service.d.ts +0 -1
- package/dist/core/scenarios/application/scenario-runner.service.js +30 -87
- package/dist/core/scenarios/application/scenario-runner.service.js.map +1 -1
- package/dist/core/scenarios/domain/scenario.d.ts +0 -15
- package/dist/core/sessions/application/session.service.d.ts +10 -4
- package/dist/core/sessions/application/session.service.js +87 -89
- package/dist/core/sessions/application/session.service.js.map +1 -1
- package/dist/core/sessions/domain/session.d.ts +3 -3
- package/dist/core/sessions/domain/transcript.d.ts +1 -1
- package/dist/core/sessions/index.d.ts +1 -1
- package/dist/core/sessions/index.js.map +1 -1
- package/dist/core/skills/application/skill.service.d.ts +2 -3
- package/dist/core/skills/application/skill.service.js +153 -56
- package/dist/core/skills/application/skill.service.js.map +1 -1
- package/dist/core/skills/domain/skill.d.ts +2 -2
- package/dist/core/skills/domain/skill.js +4 -2
- package/dist/core/skills/domain/skill.js.map +1 -1
- package/dist/core/templates/assets/ceo/BOOTSTRAP.md +41 -0
- package/dist/core/templates/assets/ceo/ROLE.md +15 -0
- package/dist/core/templates/assets/organization/MISSION.md +73 -0
- package/dist/core/templates/assets/organization/STRATEGY.md +107 -0
- package/dist/core/templates/assets/organization/VISION.md +80 -0
- package/dist/core/templates/assets/organization/wiki/index.md +15 -0
- package/dist/core/templates/assets/skills/og-board-individual/SKILL.md +148 -0
- package/dist/core/templates/assets/skills/og-board-manager/SKILL.md +140 -0
- package/dist/core/templates/default-templates.d.ts +17 -14
- package/dist/core/templates/default-templates.js +115 -212
- package/dist/core/templates/default-templates.js.map +1 -1
- package/dist/index.d.ts +1 -4
- package/dist/index.js +1 -4
- package/dist/index.js.map +1 -1
- package/dist/platform/node/node-path.port.js +1 -0
- package/dist/platform/node/node-path.port.js.map +1 -1
- package/package.json +16 -13
- package/dist/core/agents/application/workspace-context.service.d.ts +0 -28
- package/dist/core/agents/application/workspace-context.service.js +0 -157
- package/dist/core/agents/application/workspace-context.service.js.map +0 -1
- package/dist/core/agents/domain/workspace-context.d.ts +0 -13
- package/dist/core/agents/domain/workspace-context.js +0 -14
- package/dist/core/agents/domain/workspace-context.js.map +0 -1
- package/dist/core/gateway/domain/protocol.d.ts +0 -113
- package/dist/core/gateway/domain/protocol.js +0 -394
- package/dist/core/gateway/domain/protocol.js.map +0 -1
- package/dist/core/gateway/index.d.ts +0 -2
- package/dist/core/gateway/index.js +0 -2
- package/dist/core/gateway/index.js.map +0 -1
- package/dist/core/llm/application/vercel-ai-text-runtime.d.ts +0 -26
- package/dist/core/llm/application/vercel-ai-text-runtime.js +0 -223
- package/dist/core/llm/application/vercel-ai-text-runtime.js.map +0 -1
- package/dist/core/llm/domain/text-runtime.d.ts +0 -22
- package/dist/core/llm/domain/text-runtime.js +0 -2
- package/dist/core/llm/domain/text-runtime.js.map +0 -1
- package/dist/core/llm/index.d.ts +0 -2
- package/dist/core/llm/index.js +0 -2
- package/dist/core/llm/index.js.map +0 -1
- package/dist/core/orchestration/application/orchestration-planner.service.d.ts +0 -28
- package/dist/core/orchestration/application/orchestration-planner.service.js +0 -279
- package/dist/core/orchestration/application/orchestration-planner.service.js.map +0 -1
- package/dist/core/orchestration/domain/loop.d.ts +0 -119
- package/dist/core/orchestration/domain/loop.js +0 -2
- package/dist/core/orchestration/domain/loop.js.map +0 -1
- package/dist/core/plugins/application/plugin.service.d.ts +0 -32
- package/dist/core/plugins/application/plugin.service.js +0 -236
- package/dist/core/plugins/application/plugin.service.js.map +0 -1
- package/dist/core/plugins/domain/openclaw-compat.d.ts +0 -60
- package/dist/core/plugins/domain/openclaw-compat.js +0 -9
- package/dist/core/plugins/domain/openclaw-compat.js.map +0 -1
- package/dist/core/plugins/index.d.ts +0 -3
- package/dist/core/plugins/index.js +0 -3
- package/dist/core/plugins/index.js.map +0 -1
- package/dist/core/providers/onboarding.d.ts +0 -13
- package/dist/core/providers/onboarding.js +0 -149
- package/dist/core/providers/onboarding.js.map +0 -1
- package/dist/core/providers/providers/claude/index.d.ts +0 -4
- package/dist/core/providers/providers/claude/index.js +0 -19
- package/dist/core/providers/providers/claude/index.js.map +0 -1
- package/dist/core/providers/providers/claude/provider.d.ts +0 -8
- package/dist/core/providers/providers/claude/provider.js +0 -106
- package/dist/core/providers/providers/claude/provider.js.map +0 -1
- package/dist/core/providers/providers/codex/index.d.ts +0 -4
- package/dist/core/providers/providers/codex/index.js +0 -19
- package/dist/core/providers/providers/codex/index.js.map +0 -1
- package/dist/core/providers/providers/codex/provider.d.ts +0 -7
- package/dist/core/providers/providers/codex/provider.js +0 -31
- package/dist/core/providers/providers/codex/provider.js.map +0 -1
- package/dist/core/providers/providers/cursor/index.d.ts +0 -4
- package/dist/core/providers/providers/cursor/index.js +0 -19
- package/dist/core/providers/providers/cursor/index.js.map +0 -1
- package/dist/core/providers/providers/cursor/provider.d.ts +0 -11
- package/dist/core/providers/providers/cursor/provider.js +0 -90
- package/dist/core/providers/providers/cursor/provider.js.map +0 -1
- package/dist/core/providers/providers/extended-http/catalog.d.ts +0 -40
- package/dist/core/providers/providers/extended-http/catalog.js +0 -728
- package/dist/core/providers/providers/extended-http/catalog.js.map +0 -1
- package/dist/core/providers/providers/extended-http/index.d.ts +0 -5
- package/dist/core/providers/providers/extended-http/index.js +0 -13
- package/dist/core/providers/providers/extended-http/index.js.map +0 -1
- package/dist/core/providers/providers/extended-http/provider.d.ts +0 -31
- package/dist/core/providers/providers/extended-http/provider.js +0 -580
- package/dist/core/providers/providers/extended-http/provider.js.map +0 -1
- package/dist/core/providers/providers/gemini/index.d.ts +0 -4
- package/dist/core/providers/providers/gemini/index.js +0 -37
- package/dist/core/providers/providers/gemini/index.js.map +0 -1
- package/dist/core/providers/providers/gemini/provider.d.ts +0 -7
- package/dist/core/providers/providers/gemini/provider.js +0 -59
- package/dist/core/providers/providers/gemini/provider.js.map +0 -1
- package/dist/core/providers/providers/grok/index.d.ts +0 -4
- package/dist/core/providers/providers/grok/index.js +0 -41
- package/dist/core/providers/providers/grok/index.js.map +0 -1
- package/dist/core/providers/providers/grok/provider.d.ts +0 -13
- package/dist/core/providers/providers/grok/provider.js +0 -95
- package/dist/core/providers/providers/grok/provider.js.map +0 -1
- package/dist/core/providers/providers/openai/index.d.ts +0 -4
- package/dist/core/providers/providers/openai/index.js +0 -45
- package/dist/core/providers/providers/openai/index.js.map +0 -1
- package/dist/core/providers/providers/openai/provider.d.ts +0 -14
- package/dist/core/providers/providers/openai/provider.js +0 -203
- package/dist/core/providers/providers/openai/provider.js.map +0 -1
- package/dist/core/providers/providers/opencode/index.d.ts +0 -4
- package/dist/core/providers/providers/opencode/index.js +0 -23
- package/dist/core/providers/providers/opencode/index.js.map +0 -1
- package/dist/core/providers/providers/opencode/provider.d.ts +0 -11
- package/dist/core/providers/providers/opencode/provider.js +0 -215
- package/dist/core/providers/providers/opencode/provider.js.map +0 -1
- package/dist/core/providers/providers/openrouter/index.d.ts +0 -4
- package/dist/core/providers/providers/openrouter/index.js +0 -37
- package/dist/core/providers/providers/openrouter/index.js.map +0 -1
- package/dist/core/providers/providers/openrouter/provider.d.ts +0 -13
- package/dist/core/providers/providers/openrouter/provider.js +0 -80
- package/dist/core/providers/providers/openrouter/provider.js.map +0 -1
- package/dist/platform/node/opengoat-gateway-client.d.ts +0 -19
- package/dist/platform/node/opengoat-gateway-client.js +0 -194
- package/dist/platform/node/opengoat-gateway-client.js.map +0 -1
- package/dist/platform/node/opengoat-gateway-server.d.ts +0 -53
- package/dist/platform/node/opengoat-gateway-server.js +0 -906
- package/dist/platform/node/opengoat-gateway-server.js.map +0 -1
|
@@ -1,24 +1,28 @@
|
|
|
1
1
|
import os from "node:os";
|
|
2
2
|
import path from "node:path";
|
|
3
|
+
import { BOARD_MANAGER_SKILL_ID } from "../../agents/domain/agent-manifest.js";
|
|
3
4
|
import { DEFAULT_AGENT_ID, normalizeAgentId } from "../../domain/agent-id.js";
|
|
4
|
-
import { resolveSkillsConfig } from "../domain/skill.js";
|
|
5
|
+
import { resolveSkillsConfig, } from "../domain/skill.js";
|
|
5
6
|
export class SkillService {
|
|
6
7
|
fileSystem;
|
|
7
8
|
pathPort;
|
|
8
|
-
pluginSkillDirsProvider;
|
|
9
9
|
constructor(deps) {
|
|
10
10
|
this.fileSystem = deps.fileSystem;
|
|
11
11
|
this.pathPort = deps.pathPort;
|
|
12
|
-
this.pluginSkillDirsProvider = deps.pluginSkillDirsProvider;
|
|
13
12
|
}
|
|
14
13
|
async listSkills(paths, agentId = DEFAULT_AGENT_ID, runtimeConfig) {
|
|
15
14
|
const normalizedAgentId = normalizeAgentId(agentId) || DEFAULT_AGENT_ID;
|
|
16
|
-
const resolvedConfig = resolveSkillsConfig(runtimeConfig ??
|
|
15
|
+
const resolvedConfig = resolveSkillsConfig(runtimeConfig ??
|
|
16
|
+
(await this.readAgentSkillsConfig(paths, normalizedAgentId)));
|
|
17
17
|
if (!resolvedConfig.enabled) {
|
|
18
18
|
return [];
|
|
19
19
|
}
|
|
20
|
-
const discovered = await this.loadSkillsWithPrecedence(paths,
|
|
21
|
-
|
|
20
|
+
const discovered = await this.loadSkillsWithPrecedence(paths, resolvedConfig);
|
|
21
|
+
const assigned = new Set(resolvedConfig.assigned);
|
|
22
|
+
const filtered = assigned.size > 0
|
|
23
|
+
? discovered.filter((skill) => assigned.has(skill.id))
|
|
24
|
+
: discovered;
|
|
25
|
+
return [...filtered].sort((left, right) => left.id.localeCompare(right.id));
|
|
22
26
|
}
|
|
23
27
|
async listGlobalSkills(paths) {
|
|
24
28
|
const loaded = await this.loadSkillsFromDirectory(paths.skillsDir, "managed");
|
|
@@ -26,7 +30,8 @@ export class SkillService {
|
|
|
26
30
|
}
|
|
27
31
|
async buildSkillsPrompt(paths, agentId = DEFAULT_AGENT_ID, runtimeConfig) {
|
|
28
32
|
const skills = await this.listSkills(paths, agentId, runtimeConfig);
|
|
29
|
-
const resolvedConfig = resolveSkillsConfig(runtimeConfig ??
|
|
33
|
+
const resolvedConfig = resolveSkillsConfig(runtimeConfig ??
|
|
34
|
+
(await this.readAgentSkillsConfig(paths, normalizeAgentId(agentId) || DEFAULT_AGENT_ID)));
|
|
30
35
|
if (!resolvedConfig.enabled) {
|
|
31
36
|
return { prompt: "", skills: [] };
|
|
32
37
|
}
|
|
@@ -39,14 +44,18 @@ export class SkillService {
|
|
|
39
44
|
const content = resolvedConfig.prompt.includeContent
|
|
40
45
|
? clampText(skill.content, resolvedConfig.prompt.maxCharsPerSkill)
|
|
41
46
|
: "";
|
|
42
|
-
const estimatedChars = skill.name.length +
|
|
47
|
+
const estimatedChars = skill.name.length +
|
|
48
|
+
skill.description.length +
|
|
49
|
+
skill.skillFilePath.length +
|
|
50
|
+
content.length +
|
|
51
|
+
150;
|
|
43
52
|
if (budgetUsed + estimatedChars > resolvedConfig.prompt.maxTotalChars) {
|
|
44
53
|
break;
|
|
45
54
|
}
|
|
46
55
|
budgetUsed += estimatedChars;
|
|
47
56
|
selected.push({
|
|
48
57
|
...skill,
|
|
49
|
-
content
|
|
58
|
+
content,
|
|
50
59
|
});
|
|
51
60
|
}
|
|
52
61
|
const lines = [
|
|
@@ -55,14 +64,14 @@ export class SkillService {
|
|
|
55
64
|
"- If exactly one skill clearly applies, follow that skill.",
|
|
56
65
|
"- If multiple skills could apply, choose the most specific.",
|
|
57
66
|
"- If none apply, continue without using a skill.",
|
|
58
|
-
"
|
|
59
|
-
""
|
|
67
|
+
"Skill definitions are centralized under the global skills store.",
|
|
68
|
+
"",
|
|
60
69
|
];
|
|
61
70
|
if (selected.length === 0) {
|
|
62
71
|
lines.push("No installed skills were found for this agent.");
|
|
63
72
|
return {
|
|
64
73
|
prompt: lines.join("\n"),
|
|
65
|
-
skills: []
|
|
74
|
+
skills: [],
|
|
66
75
|
};
|
|
67
76
|
}
|
|
68
77
|
lines.push("<available_skills>");
|
|
@@ -83,7 +92,7 @@ export class SkillService {
|
|
|
83
92
|
lines.push("</available_skills>");
|
|
84
93
|
return {
|
|
85
94
|
prompt: lines.join("\n"),
|
|
86
|
-
skills: selected
|
|
95
|
+
skills: selected,
|
|
87
96
|
};
|
|
88
97
|
}
|
|
89
98
|
async installSkill(paths, request) {
|
|
@@ -93,14 +102,15 @@ export class SkillService {
|
|
|
93
102
|
if (!skillId) {
|
|
94
103
|
throw new Error("Skill name must contain at least one alphanumeric character.");
|
|
95
104
|
}
|
|
96
|
-
const baseDir =
|
|
105
|
+
const baseDir = paths.skillsDir;
|
|
97
106
|
const targetDir = this.pathPort.join(baseDir, skillId);
|
|
98
107
|
const targetSkillFile = this.pathPort.join(targetDir, "SKILL.md");
|
|
99
108
|
const replaced = await this.fileSystem.exists(targetDir);
|
|
100
109
|
await this.fileSystem.ensureDir(baseDir);
|
|
101
110
|
if (request.sourcePath?.trim()) {
|
|
102
111
|
const sourcePath = resolveUserPath(request.sourcePath.trim());
|
|
103
|
-
const sourceSkillFile = sourcePath.toLowerCase().endsWith("/skill.md") ||
|
|
112
|
+
const sourceSkillFile = sourcePath.toLowerCase().endsWith("/skill.md") ||
|
|
113
|
+
sourcePath.toLowerCase().endsWith("\\skill.md")
|
|
104
114
|
? sourcePath
|
|
105
115
|
: this.pathPort.join(sourcePath, "SKILL.md");
|
|
106
116
|
const sourceFileExists = await this.fileSystem.exists(sourceSkillFile);
|
|
@@ -110,6 +120,10 @@ export class SkillService {
|
|
|
110
120
|
const sourceDir = sourceSkillFile === sourcePath ? path.dirname(sourcePath) : sourcePath;
|
|
111
121
|
await this.fileSystem.removeDir(targetDir);
|
|
112
122
|
await this.fileSystem.copyDir(sourceDir, targetDir);
|
|
123
|
+
if (scope === "agent") {
|
|
124
|
+
await this.assignSkillToAgent(paths, normalizedAgentId, skillId);
|
|
125
|
+
await this.reconcileRoleSkillsIfNeeded(paths, normalizedAgentId, skillId);
|
|
126
|
+
}
|
|
113
127
|
return {
|
|
114
128
|
scope,
|
|
115
129
|
agentId: scope === "agent" ? normalizedAgentId : undefined,
|
|
@@ -117,49 +131,51 @@ export class SkillService {
|
|
|
117
131
|
skillName: request.skillName.trim(),
|
|
118
132
|
source: "source-path",
|
|
119
133
|
installedPath: targetSkillFile,
|
|
120
|
-
replaced
|
|
134
|
+
replaced,
|
|
121
135
|
};
|
|
122
136
|
}
|
|
137
|
+
let source = "generated";
|
|
138
|
+
const existingGlobalSkill = this.pathPort.join(paths.skillsDir, skillId, "SKILL.md");
|
|
139
|
+
if (scope === "agent" &&
|
|
140
|
+
(await this.fileSystem.exists(existingGlobalSkill))) {
|
|
141
|
+
source = "managed";
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
const description = request.description?.trim() ||
|
|
145
|
+
`Skill instructions for ${request.skillName.trim()}.`;
|
|
146
|
+
const content = request.content?.trim() ||
|
|
147
|
+
renderSkillMarkdown({ skillId, description });
|
|
148
|
+
await this.fileSystem.ensureDir(targetDir);
|
|
149
|
+
await this.fileSystem.writeFile(targetSkillFile, ensureTrailingNewline(content));
|
|
150
|
+
source = "generated";
|
|
151
|
+
}
|
|
123
152
|
if (scope === "agent") {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
if (await this.fileSystem.exists(managedSkillFile)) {
|
|
127
|
-
await this.fileSystem.removeDir(targetDir);
|
|
128
|
-
await this.fileSystem.copyDir(managedDir, targetDir);
|
|
129
|
-
return {
|
|
130
|
-
scope,
|
|
131
|
-
agentId: normalizedAgentId,
|
|
132
|
-
skillId,
|
|
133
|
-
skillName: request.skillName.trim(),
|
|
134
|
-
source: "managed",
|
|
135
|
-
installedPath: targetSkillFile,
|
|
136
|
-
replaced
|
|
137
|
-
};
|
|
138
|
-
}
|
|
153
|
+
await this.assignSkillToAgent(paths, normalizedAgentId, skillId);
|
|
154
|
+
await this.reconcileRoleSkillsIfNeeded(paths, normalizedAgentId, skillId);
|
|
139
155
|
}
|
|
140
|
-
const description = request.description?.trim() || `Skill instructions for ${request.skillName.trim()}.`;
|
|
141
|
-
const content = request.content?.trim() || renderSkillMarkdown({ skillId, description });
|
|
142
|
-
await this.fileSystem.ensureDir(targetDir);
|
|
143
|
-
await this.fileSystem.writeFile(targetSkillFile, ensureTrailingNewline(content));
|
|
144
156
|
return {
|
|
145
157
|
scope,
|
|
146
158
|
agentId: scope === "agent" ? normalizedAgentId : undefined,
|
|
147
159
|
skillId,
|
|
148
160
|
skillName: request.skillName.trim(),
|
|
149
|
-
source
|
|
161
|
+
source,
|
|
150
162
|
installedPath: targetSkillFile,
|
|
151
|
-
replaced
|
|
163
|
+
replaced,
|
|
152
164
|
};
|
|
153
165
|
}
|
|
154
|
-
async loadSkillsWithPrecedence(paths,
|
|
155
|
-
const workspaceSkillsDir = this.pathPort.join(paths.workspacesDir, agentId, "skills");
|
|
156
|
-
const pluginDirs = await this.resolvePluginSkillDirs(paths);
|
|
166
|
+
async loadSkillsWithPrecedence(paths, config) {
|
|
157
167
|
const extraDirs = config.load.extraDirs.map(resolveUserPath);
|
|
158
168
|
const sources = [
|
|
159
|
-
{
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
169
|
+
{
|
|
170
|
+
source: "managed",
|
|
171
|
+
dir: paths.skillsDir,
|
|
172
|
+
enabled: config.includeManaged,
|
|
173
|
+
},
|
|
174
|
+
...extraDirs.map((dir) => ({
|
|
175
|
+
source: "extra",
|
|
176
|
+
dir,
|
|
177
|
+
enabled: true,
|
|
178
|
+
})),
|
|
163
179
|
];
|
|
164
180
|
const merged = new Map();
|
|
165
181
|
for (const sourceEntry of sources) {
|
|
@@ -194,7 +210,8 @@ export class SkillService {
|
|
|
194
210
|
if (parsed.frontmatter.enabled === false) {
|
|
195
211
|
continue;
|
|
196
212
|
}
|
|
197
|
-
const id = normalizeAgentId(parsed.frontmatter.name ?? directoryName) ||
|
|
213
|
+
const id = normalizeAgentId(parsed.frontmatter.name ?? directoryName) ||
|
|
214
|
+
normalizeAgentId(directoryName);
|
|
198
215
|
if (!id) {
|
|
199
216
|
continue;
|
|
200
217
|
}
|
|
@@ -206,7 +223,7 @@ export class SkillService {
|
|
|
206
223
|
skillDir,
|
|
207
224
|
skillFilePath,
|
|
208
225
|
content: parsed.body.trim(),
|
|
209
|
-
frontmatter: parsed.frontmatter
|
|
226
|
+
frontmatter: parsed.frontmatter,
|
|
210
227
|
});
|
|
211
228
|
}
|
|
212
229
|
return loaded;
|
|
@@ -225,19 +242,98 @@ export class SkillService {
|
|
|
225
242
|
return undefined;
|
|
226
243
|
}
|
|
227
244
|
}
|
|
228
|
-
async
|
|
229
|
-
|
|
230
|
-
|
|
245
|
+
async assignSkillToAgent(paths, agentId, skillId) {
|
|
246
|
+
const configPath = this.pathPort.join(paths.agentsDir, agentId, "config.json");
|
|
247
|
+
if (!(await this.fileSystem.exists(configPath))) {
|
|
248
|
+
return;
|
|
231
249
|
}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
250
|
+
const raw = await this.fileSystem.readFile(configPath);
|
|
251
|
+
const parsed = JSON.parse(raw);
|
|
252
|
+
const runtimeRecord = parsed.runtime &&
|
|
253
|
+
typeof parsed.runtime === "object" &&
|
|
254
|
+
!Array.isArray(parsed.runtime)
|
|
255
|
+
? parsed.runtime
|
|
256
|
+
: {};
|
|
257
|
+
const skillsRecord = runtimeRecord.skills &&
|
|
258
|
+
typeof runtimeRecord.skills === "object" &&
|
|
259
|
+
!Array.isArray(runtimeRecord.skills)
|
|
260
|
+
? runtimeRecord.skills
|
|
261
|
+
: {};
|
|
262
|
+
const assignedRaw = Array.isArray(skillsRecord.assigned)
|
|
263
|
+
? skillsRecord.assigned
|
|
264
|
+
: [];
|
|
265
|
+
const assigned = [
|
|
266
|
+
...new Set(assignedRaw
|
|
267
|
+
.map((value) => String(value).trim().toLowerCase())
|
|
268
|
+
.filter(Boolean)),
|
|
269
|
+
];
|
|
270
|
+
if (!assigned.includes(skillId)) {
|
|
271
|
+
assigned.push(skillId);
|
|
235
272
|
}
|
|
236
|
-
|
|
237
|
-
|
|
273
|
+
skillsRecord.assigned = assigned;
|
|
274
|
+
runtimeRecord.skills = skillsRecord;
|
|
275
|
+
parsed.runtime = runtimeRecord;
|
|
276
|
+
await this.fileSystem.writeFile(configPath, `${JSON.stringify(parsed, null, 2)}\n`);
|
|
277
|
+
}
|
|
278
|
+
async reconcileRoleSkillsIfNeeded(paths, agentId, skillId) {
|
|
279
|
+
const normalizedSkill = skillId.trim().toLowerCase();
|
|
280
|
+
if (!ROLE_SKILL_IDS.has(normalizedSkill)) {
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
283
|
+
const configPath = this.pathPort.join(paths.agentsDir, agentId, "config.json");
|
|
284
|
+
if (!(await this.fileSystem.exists(configPath))) {
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
const raw = await this.fileSystem.readFile(configPath);
|
|
288
|
+
const parsed = JSON.parse(raw);
|
|
289
|
+
const organizationRecord = parsed.organization &&
|
|
290
|
+
typeof parsed.organization === "object" &&
|
|
291
|
+
!Array.isArray(parsed.organization)
|
|
292
|
+
? parsed.organization
|
|
293
|
+
: {};
|
|
294
|
+
const runtimeRecord = parsed.runtime &&
|
|
295
|
+
typeof parsed.runtime === "object" &&
|
|
296
|
+
!Array.isArray(parsed.runtime)
|
|
297
|
+
? parsed.runtime
|
|
298
|
+
: {};
|
|
299
|
+
const skillsRecord = runtimeRecord.skills &&
|
|
300
|
+
typeof runtimeRecord.skills === "object" &&
|
|
301
|
+
!Array.isArray(runtimeRecord.skills)
|
|
302
|
+
? runtimeRecord.skills
|
|
303
|
+
: {};
|
|
304
|
+
const assignedRaw = Array.isArray(skillsRecord.assigned)
|
|
305
|
+
? skillsRecord.assigned
|
|
306
|
+
: [];
|
|
307
|
+
const assigned = [
|
|
308
|
+
...new Set(assignedRaw
|
|
309
|
+
.map((value) => String(value).trim().toLowerCase())
|
|
310
|
+
.filter(Boolean)),
|
|
311
|
+
];
|
|
312
|
+
if (normalizedSkill === BOARD_MANAGER_SKILL_ID ||
|
|
313
|
+
normalizedSkill === LEGACY_BOARD_MANAGER_SKILL_ID) {
|
|
314
|
+
organizationRecord.type = "manager";
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
organizationRecord.type = "individual";
|
|
238
318
|
}
|
|
319
|
+
// Role skills live in OpenClaw workspace skill folders, not local assigned metadata.
|
|
320
|
+
skillsRecord.assigned = assigned.filter((entry) => !ROLE_SKILL_IDS.has(entry));
|
|
321
|
+
runtimeRecord.skills = skillsRecord;
|
|
322
|
+
parsed.runtime = runtimeRecord;
|
|
323
|
+
parsed.organization =
|
|
324
|
+
organizationRecord;
|
|
325
|
+
await this.fileSystem.writeFile(configPath, `${JSON.stringify(parsed, null, 2)}\n`);
|
|
239
326
|
}
|
|
240
327
|
}
|
|
328
|
+
const BOARD_INDIVIDUAL_SKILL_ID = "og-board-individual";
|
|
329
|
+
const LEGACY_BOARD_MANAGER_SKILL_ID = "board-manager";
|
|
330
|
+
const LEGACY_BOARD_INDIVIDUAL_SKILL_ID = "board-individual";
|
|
331
|
+
const ROLE_SKILL_IDS = new Set([
|
|
332
|
+
BOARD_MANAGER_SKILL_ID,
|
|
333
|
+
BOARD_INDIVIDUAL_SKILL_ID,
|
|
334
|
+
LEGACY_BOARD_MANAGER_SKILL_ID,
|
|
335
|
+
LEGACY_BOARD_INDIVIDUAL_SKILL_ID,
|
|
336
|
+
]);
|
|
241
337
|
function renderSkillMarkdown(params) {
|
|
242
338
|
return [
|
|
243
339
|
"---",
|
|
@@ -254,7 +350,7 @@ function renderSkillMarkdown(params) {
|
|
|
254
350
|
"- Add explicit step-by-step guidance here.",
|
|
255
351
|
"",
|
|
256
352
|
"## Constraints",
|
|
257
|
-
"- Add constraints and safety checks here."
|
|
353
|
+
"- Add constraints and safety checks here.",
|
|
258
354
|
].join("\n");
|
|
259
355
|
}
|
|
260
356
|
function parseSkillMarkdown(content) {
|
|
@@ -307,7 +403,8 @@ function parseSkillMarkdown(content) {
|
|
|
307
403
|
}
|
|
308
404
|
continue;
|
|
309
405
|
}
|
|
310
|
-
if (key === "disable-model-invocation" ||
|
|
406
|
+
if (key === "disable-model-invocation" ||
|
|
407
|
+
key === "disable_model_invocation") {
|
|
311
408
|
const normalized = value.toLowerCase();
|
|
312
409
|
if (normalized === "true") {
|
|
313
410
|
frontmatter.disableModelInvocation = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.service.js","sourceRoot":"","sources":["../../../../src/core/skills/application/skill.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skill.service.js","sourceRoot":"","sources":["../../../../src/core/skills/application/skill.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type SkillSource = "
|
|
1
|
+
export type SkillSource = "managed" | "extra";
|
|
2
2
|
export type SkillScope = "agent" | "global";
|
|
3
3
|
export interface AgentSkillsLoadConfig {
|
|
4
4
|
extraDirs?: string[];
|
|
@@ -11,8 +11,8 @@ export interface AgentSkillsPromptConfig {
|
|
|
11
11
|
}
|
|
12
12
|
export interface AgentSkillsConfig {
|
|
13
13
|
enabled?: boolean;
|
|
14
|
-
includeWorkspace?: boolean;
|
|
15
14
|
includeManaged?: boolean;
|
|
15
|
+
assigned?: string[];
|
|
16
16
|
load?: AgentSkillsLoadConfig;
|
|
17
17
|
prompt?: AgentSkillsPromptConfig;
|
|
18
18
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { DEFAULT_AGENT_ID } from "../../domain/agent-id.js";
|
|
2
2
|
export const DEFAULT_SKILLS_CONFIG = {
|
|
3
3
|
enabled: true,
|
|
4
|
-
includeWorkspace: true,
|
|
5
4
|
includeManaged: true,
|
|
5
|
+
assigned: [],
|
|
6
6
|
load: {
|
|
7
7
|
extraDirs: []
|
|
8
8
|
},
|
|
@@ -18,8 +18,10 @@ export function resolveSkillsConfig(input) {
|
|
|
18
18
|
const load = input?.load;
|
|
19
19
|
return {
|
|
20
20
|
enabled: input?.enabled ?? DEFAULT_SKILLS_CONFIG.enabled,
|
|
21
|
-
includeWorkspace: input?.includeWorkspace ?? DEFAULT_SKILLS_CONFIG.includeWorkspace,
|
|
22
21
|
includeManaged: input?.includeManaged ?? DEFAULT_SKILLS_CONFIG.includeManaged,
|
|
22
|
+
assigned: Array.isArray(input?.assigned)
|
|
23
|
+
? [...new Set(input.assigned.map((value) => value.trim().toLowerCase()).filter(Boolean))]
|
|
24
|
+
: DEFAULT_SKILLS_CONFIG.assigned,
|
|
23
25
|
load: {
|
|
24
26
|
extraDirs: Array.isArray(load?.extraDirs)
|
|
25
27
|
? load.extraDirs.map((value) => value.trim()).filter(Boolean)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../../src/core/skills/domain/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAmE5D,MAAM,CAAC,MAAM,qBAAqB,GAG9B;IACF,OAAO,EAAE,IAAI;IACb,
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../../src/core/skills/domain/skill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAmE5D,MAAM,CAAC,MAAM,qBAAqB,GAG9B;IACF,OAAO,EAAE,IAAI;IACb,cAAc,EAAE,IAAI;IACpB,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE;QACJ,SAAS,EAAE,EAAE;KACd;IACD,MAAM,EAAE;QACN,SAAS,EAAE,EAAE;QACb,gBAAgB,EAAE,KAAK;QACvB,aAAa,EAAE,MAAM;QACrB,cAAc,EAAE,IAAI;KACrB;CACF,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,KAAoC;IACtE,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,CAAC;IAC7B,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC;IACzB,OAAO;QACL,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,qBAAqB,CAAC,OAAO;QACxD,cAAc,EAAE,KAAK,EAAE,cAAc,IAAI,qBAAqB,CAAC,cAAc;QAC7E,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;YACtC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YACzF,CAAC,CAAC,qBAAqB,CAAC,QAAQ;QAClC,IAAI,EAAE;YACJ,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC;gBACvC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC7D,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS;SACzC;QACD,MAAM,EAAE;YACN,SAAS,EAAE,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC;YACnF,gBAAgB,EAAE,aAAa,CAAC,MAAM,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,MAAM,CAAC,gBAAgB,CAAC;YACxG,aAAa,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,qBAAqB,CAAC,MAAM,CAAC,aAAa,CAAC;YAC/F,cAAc,EAAE,MAAM,EAAE,cAAc,IAAI,qBAAqB,CAAC,MAAM,CAAC,cAAc;SACtF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAyB;IAC3D,MAAM,UAAU,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,OAAO,UAAU,IAAI,gBAAgB,CAAC;AACxC,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,QAAgB;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACvE,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# BOOTSTRAP.md - First Contact
|
|
2
|
+
|
|
3
|
+
_This workspace is new._
|
|
4
|
+
_Your job is to learn what this organization is and what it's building._
|
|
5
|
+
_Don't interrogate. Get the essentials, then start shipping._
|
|
6
|
+
|
|
7
|
+
## Start Like a Human
|
|
8
|
+
|
|
9
|
+
Say something like:
|
|
10
|
+
|
|
11
|
+
> "Hey, I just came online as the CEO for this org.
|
|
12
|
+
> Before we do anything: what are we building, and how should we call it?"
|
|
13
|
+
|
|
14
|
+
Then figure out together:
|
|
15
|
+
|
|
16
|
+
1. **What are we building?**
|
|
17
|
+
(One sentence. Summarize it back.)
|
|
18
|
+
|
|
19
|
+
2. **Who is it for, and what problem does it solve?**
|
|
20
|
+
(Two short sentences.)
|
|
21
|
+
|
|
22
|
+
3. **What’s the vision?**
|
|
23
|
+
(One paragraph max. Long-term ambition, not a roadmap.)
|
|
24
|
+
|
|
25
|
+
## As You Get The Essentials
|
|
26
|
+
|
|
27
|
+
Write them down:
|
|
28
|
+
|
|
29
|
+
- Update `MISSION.md` with the “what / who / problem”
|
|
30
|
+
- Update `VISION.md` with the vision
|
|
31
|
+
- Update `STRATEGY.md` only if the answers clearly imply changes to “where we play / how we win”
|
|
32
|
+
|
|
33
|
+
Then propose the next 1 to 3 concrete tasks and start.
|
|
34
|
+
|
|
35
|
+
## When You’re Done
|
|
36
|
+
|
|
37
|
+
Delete this file. It’s only for first contact.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
_Get clarity. Write it down. Ship._
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# ROLE.md - Your position in the organization
|
|
2
|
+
|
|
3
|
+
You are the CEO of an organization fully run by AI agents.
|
|
4
|
+
|
|
5
|
+
- Your id: ceo (agent id)
|
|
6
|
+
- Your name: CEO
|
|
7
|
+
- Role: CEO
|
|
8
|
+
- For info about your reportees, run `opengoat agent info ceo`.
|
|
9
|
+
- To delegate and coordinate work, use `og-*` skills.
|
|
10
|
+
- Organization context is available in `../../organization` - you're the owner of these files.
|
|
11
|
+
- You can view and edit the wiki in `../../organization/wiki`.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
_This file is yours to evolve. Update it as you learn your role and responsibilities in the organization._
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# MISSION.md - What this organization exists to do right now
|
|
2
|
+
|
|
3
|
+
_Vision is the long-term ambition._
|
|
4
|
+
_Mission is our current job._
|
|
5
|
+
_If we cannot say it simply, we do not understand it._
|
|
6
|
+
|
|
7
|
+
## Mission Statement
|
|
8
|
+
|
|
9
|
+
**We exist to <DO WHAT> for <WHO>, by delivering <WHAT OUTCOMES> in a way that is <KEY QUALITY 1>, <KEY QUALITY 2>, and <KEY QUALITY 3>.**
|
|
10
|
+
|
|
11
|
+
Examples of qualities: reliable, safe, cheap to run, auditable, fast, delightful, boring and stable.
|
|
12
|
+
|
|
13
|
+
## Who We Serve
|
|
14
|
+
|
|
15
|
+
- Primary: <PRIMARY USERS>
|
|
16
|
+
- Secondary: <SECONDARY USERS>
|
|
17
|
+
- Not for now: <EXPLICIT NON-CUSTOMERS OR OUT OF SCOPE USERS>
|
|
18
|
+
|
|
19
|
+
## What We Deliver
|
|
20
|
+
|
|
21
|
+
The mission is measured in outputs, not activity.
|
|
22
|
+
|
|
23
|
+
- Core outputs: <ARTIFACTS OR RESULTS WE PRODUCE>
|
|
24
|
+
- Secondary outputs: <NICE TO HAVE>
|
|
25
|
+
- Definition of done: <WHAT "DONE" MEANS MOST OF THE TIME>
|
|
26
|
+
|
|
27
|
+
## Scope and Boundaries
|
|
28
|
+
|
|
29
|
+
### In Scope
|
|
30
|
+
|
|
31
|
+
- <THING>
|
|
32
|
+
- <THING>
|
|
33
|
+
- <THING>
|
|
34
|
+
|
|
35
|
+
### Out of Scope
|
|
36
|
+
|
|
37
|
+
- <THING>
|
|
38
|
+
- <THING>
|
|
39
|
+
- <THING>
|
|
40
|
+
|
|
41
|
+
## How We Know We Are Succeeding
|
|
42
|
+
|
|
43
|
+
Pick 3 to 5 signals that are hard to fake.
|
|
44
|
+
|
|
45
|
+
- <SUCCESS SIGNAL 1>
|
|
46
|
+
- <SUCCESS SIGNAL 2>
|
|
47
|
+
- <SUCCESS SIGNAL 3>
|
|
48
|
+
- <SUCCESS SIGNAL 4>
|
|
49
|
+
|
|
50
|
+
## Tradeoffs
|
|
51
|
+
|
|
52
|
+
When mission pressure is high, we choose:
|
|
53
|
+
|
|
54
|
+
1. <PRIORITY 1>
|
|
55
|
+
2. <PRIORITY 2>
|
|
56
|
+
3. <PRIORITY 3>
|
|
57
|
+
|
|
58
|
+
## Review Cadence
|
|
59
|
+
|
|
60
|
+
- Review: <MONTHLY | QUARTERLY>
|
|
61
|
+
- Update when:
|
|
62
|
+
- the primary user changes
|
|
63
|
+
- the core outputs change
|
|
64
|
+
- the definition of done changes
|
|
65
|
+
- the mission statement no longer matches reality
|
|
66
|
+
|
|
67
|
+
**Rule:** changes must stay consistent with `VISION.md` and `STRATEGY.md`
|
|
68
|
+
|
|
69
|
+
_Last updated: <YYYY-MM-DD>_
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
_This file is for the CEO and executives to evolve._
|