@opengoat/core 2026.2.14 → 2026.2.17
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/core/agents/application/agent.service.d.ts +19 -3
- package/dist/core/agents/application/agent.service.js +170 -45
- package/dist/core/agents/application/agent.service.js.map +1 -1
- package/dist/core/boards/application/board.service.d.ts +2 -0
- package/dist/core/boards/application/board.service.js +36 -2
- package/dist/core/boards/application/board.service.js.map +1 -1
- package/dist/core/bootstrap/application/bootstrap.service.js +17 -1
- package/dist/core/bootstrap/application/bootstrap.service.js.map +1 -1
- package/dist/core/opengoat/application/opengoat.service.d.ts +14 -3
- package/dist/core/opengoat/application/opengoat.service.helpers.d.ts +62 -0
- package/dist/core/opengoat/application/opengoat.service.helpers.js +403 -0
- package/dist/core/opengoat/application/opengoat.service.helpers.js.map +1 -0
- package/dist/core/opengoat/application/opengoat.service.js +653 -371
- package/dist/core/opengoat/application/opengoat.service.js.map +1 -1
- package/dist/core/orchestration/application/orchestration.service.d.ts +2 -0
- package/dist/core/orchestration/application/orchestration.service.js +150 -52
- package/dist/core/orchestration/application/orchestration.service.js.map +1 -1
- package/dist/core/providers/application/provider.service.d.ts +35 -4
- package/dist/core/providers/application/provider.service.js +823 -96
- package/dist/core/providers/application/provider.service.js.map +1 -1
- package/dist/core/providers/index.d.ts +1 -1
- package/dist/core/providers/index.js.map +1 -1
- package/dist/core/providers/loader.js +4 -2
- package/dist/core/providers/loader.js.map +1 -1
- package/dist/core/providers/openclaw-gateway-rpc.d.ts +20 -0
- package/dist/core/providers/openclaw-gateway-rpc.js +629 -0
- package/dist/core/providers/openclaw-gateway-rpc.js.map +1 -0
- package/dist/core/providers/provider-module.d.ts +11 -0
- package/dist/core/providers/provider-module.js +8 -1
- package/dist/core/providers/provider-module.js.map +1 -1
- package/dist/core/providers/providers/claude-code/index.d.ts +4 -0
- package/dist/core/providers/providers/claude-code/index.js +32 -0
- package/dist/core/providers/providers/claude-code/index.js.map +1 -0
- package/dist/core/providers/providers/claude-code/provider.d.ts +13 -0
- package/dist/core/providers/providers/claude-code/provider.js +152 -0
- package/dist/core/providers/providers/claude-code/provider.js.map +1 -0
- package/dist/core/providers/providers/codex/index.d.ts +4 -0
- package/dist/core/providers/providers/codex/index.js +32 -0
- package/dist/core/providers/providers/codex/index.js.map +1 -0
- package/dist/core/providers/providers/codex/provider.d.ts +12 -0
- package/dist/core/providers/providers/codex/provider.js +156 -0
- package/dist/core/providers/providers/codex/provider.js.map +1 -0
- package/dist/core/providers/providers/cursor/index.d.ts +4 -0
- package/dist/core/providers/providers/cursor/index.js +32 -0
- package/dist/core/providers/providers/cursor/index.js.map +1 -0
- package/dist/core/providers/providers/cursor/provider.d.ts +12 -0
- package/dist/core/providers/providers/cursor/provider.js +161 -0
- package/dist/core/providers/providers/cursor/provider.js.map +1 -0
- package/dist/core/providers/providers/gemini-cli/index.d.ts +4 -0
- package/dist/core/providers/providers/gemini-cli/index.js +36 -0
- package/dist/core/providers/providers/gemini-cli/index.js.map +1 -0
- package/dist/core/providers/providers/gemini-cli/provider.d.ts +11 -0
- package/dist/core/providers/providers/gemini-cli/provider.js +122 -0
- package/dist/core/providers/providers/gemini-cli/provider.js.map +1 -0
- package/dist/core/providers/providers/openclaw/index.js +8 -0
- package/dist/core/providers/providers/openclaw/index.js.map +1 -1
- package/dist/core/providers/providers/openclaw/provider.js +1 -0
- package/dist/core/providers/providers/openclaw/provider.js.map +1 -1
- package/dist/core/providers/providers/opencode/index.d.ts +4 -0
- package/dist/core/providers/providers/opencode/index.js +27 -0
- package/dist/core/providers/providers/opencode/index.js.map +1 -0
- package/dist/core/providers/providers/opencode/provider.d.ts +12 -0
- package/dist/core/providers/providers/opencode/provider.js +130 -0
- package/dist/core/providers/providers/opencode/provider.js.map +1 -0
- package/dist/core/providers/providers/registry.d.ts +2 -0
- package/dist/core/providers/providers/registry.js +17 -0
- package/dist/core/providers/providers/registry.js.map +1 -0
- package/dist/core/providers/registry.d.ts +2 -1
- package/dist/core/providers/registry.js +40 -0
- package/dist/core/providers/registry.js.map +1 -1
- package/dist/core/providers/types.d.ts +1 -0
- package/dist/core/scenarios/application/scenario-runner.service.js +2 -1
- package/dist/core/scenarios/application/scenario-runner.service.js.map +1 -1
- package/dist/core/sessions/application/session.service.d.ts +0 -2
- package/dist/core/sessions/application/session.service.js +10 -73
- package/dist/core/sessions/application/session.service.js.map +1 -1
- package/dist/core/sessions/domain/session.d.ts +0 -3
- package/dist/core/sessions/domain/session.js.map +1 -1
- package/dist/core/skills/application/skill.service.js +4 -1
- package/dist/core/skills/application/skill.service.js.map +1 -1
- package/dist/core/templates/assets/ceo/BOOTSTRAP.md +3 -3
- package/dist/core/templates/assets/ceo/ROLE.md +5 -3
- package/dist/core/templates/assets/skills/og-board-individual/SKILL.md +66 -89
- package/dist/core/templates/assets/skills/og-board-manager/SKILL.md +64 -45
- package/dist/core/templates/assets/skills/og-boards/SKILL.md +65 -0
- package/dist/core/templates/default-templates.d.ts +1 -2
- package/dist/core/templates/default-templates.js +22 -10
- package/dist/core/templates/default-templates.js.map +1 -1
- package/package.json +3 -2
|
@@ -23,15 +23,28 @@ export interface AgentWorkspaceBootstrapInput {
|
|
|
23
23
|
displayName: string;
|
|
24
24
|
role: string;
|
|
25
25
|
}
|
|
26
|
+
export interface AgentWorkspaceBootstrapOptions {
|
|
27
|
+
syncBootstrapMarkdown?: boolean;
|
|
28
|
+
roleSkillDirectories?: string[];
|
|
29
|
+
managedRoleSkillDirectories?: string[];
|
|
30
|
+
}
|
|
26
31
|
interface WorkspaceSkillSyncResult {
|
|
27
32
|
createdPaths: string[];
|
|
28
33
|
skippedPaths: string[];
|
|
29
34
|
removedPaths: string[];
|
|
30
35
|
}
|
|
36
|
+
export interface WorkspaceRoleSkillSyncOptions {
|
|
37
|
+
requiredSkillDirectories?: string[];
|
|
38
|
+
managedSkillDirectories?: string[];
|
|
39
|
+
}
|
|
31
40
|
interface RoleAssignmentSyncResult {
|
|
32
41
|
updatedPaths: string[];
|
|
33
42
|
skippedPaths: string[];
|
|
34
43
|
}
|
|
44
|
+
export interface WorkspaceCommandShimSyncResult {
|
|
45
|
+
createdPaths: string[];
|
|
46
|
+
skippedPaths: string[];
|
|
47
|
+
}
|
|
35
48
|
export declare class AgentService {
|
|
36
49
|
private readonly fileSystem;
|
|
37
50
|
private readonly pathPort;
|
|
@@ -40,18 +53,21 @@ export declare class AgentService {
|
|
|
40
53
|
normalizeAgentName(rawName: string): AgentIdentity;
|
|
41
54
|
ensureAgent(paths: OpenGoatPaths, identity: AgentIdentity, options?: EnsureAgentOptions): Promise<AgentCreationResult>;
|
|
42
55
|
listAgents(paths: OpenGoatPaths): Promise<AgentDescriptor[]>;
|
|
43
|
-
ensureCeoWorkspaceBootstrap(paths: OpenGoatPaths): Promise<CeoWorkspaceBootstrapResult>;
|
|
44
|
-
ensureAgentWorkspaceBootstrap(paths: OpenGoatPaths, input: AgentWorkspaceBootstrapInput): Promise<CeoWorkspaceBootstrapResult>;
|
|
45
|
-
|
|
56
|
+
ensureCeoWorkspaceBootstrap(paths: OpenGoatPaths, options?: AgentWorkspaceBootstrapOptions): Promise<CeoWorkspaceBootstrapResult>;
|
|
57
|
+
ensureAgentWorkspaceBootstrap(paths: OpenGoatPaths, input: AgentWorkspaceBootstrapInput, options?: AgentWorkspaceBootstrapOptions): Promise<CeoWorkspaceBootstrapResult>;
|
|
58
|
+
ensureAgentWorkspaceCommandShim(paths: OpenGoatPaths, rawAgentId: string): Promise<WorkspaceCommandShimSyncResult>;
|
|
59
|
+
ensureAgentWorkspaceRoleSkills(paths: OpenGoatPaths, agentId: string, options?: WorkspaceRoleSkillSyncOptions): Promise<WorkspaceSkillSyncResult>;
|
|
46
60
|
syncAgentRoleAssignments(paths: OpenGoatPaths, agentId: string): Promise<RoleAssignmentSyncResult>;
|
|
47
61
|
removeAgent(paths: OpenGoatPaths, rawAgentId: string): Promise<AgentDeletionResult>;
|
|
48
62
|
setAgentManager(paths: OpenGoatPaths, rawAgentId: string, rawReportsTo: string | null | undefined): Promise<AgentManagerUpdateResult>;
|
|
49
63
|
private ensureDirectory;
|
|
64
|
+
private removePathIfExists;
|
|
50
65
|
private writeJsonIfMissing;
|
|
51
66
|
private writeMarkdown;
|
|
52
67
|
private rewriteAgentsMarkdown;
|
|
53
68
|
private writeRoleMarkdown;
|
|
54
69
|
private writeBootstrapMarkdown;
|
|
70
|
+
private writeOpenGoatWorkspaceShim;
|
|
55
71
|
private readJsonIfPresent;
|
|
56
72
|
private readAgentDisplayName;
|
|
57
73
|
private readAgentRole;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { basename, isAbsolute, resolve as resolvePath } from "node:path";
|
|
1
2
|
import { DEFAULT_AGENT_ID, isDefaultAgentId, normalizeAgentId, } from "../../domain/agent-id.js";
|
|
2
|
-
import { renderAgentsIndex,
|
|
3
|
+
import { renderAgentsIndex, renderBoardsSkillMarkdown, renderCeoBootstrapMarkdown, renderCeoRoleMarkdown, renderInternalAgentConfig, resolveAgentRole, } from "../../templates/default-templates.js";
|
|
3
4
|
export class AgentService {
|
|
4
5
|
fileSystem;
|
|
5
6
|
pathPort;
|
|
@@ -65,16 +66,18 @@ export class AgentService {
|
|
|
65
66
|
}
|
|
66
67
|
return descriptors.sort((left, right) => left.id.localeCompare(right.id));
|
|
67
68
|
}
|
|
68
|
-
async ensureCeoWorkspaceBootstrap(paths
|
|
69
|
+
async ensureCeoWorkspaceBootstrap(paths, options = {
|
|
70
|
+
syncBootstrapMarkdown: true,
|
|
71
|
+
}) {
|
|
69
72
|
const displayName = await this.readAgentDisplayName(paths, DEFAULT_AGENT_ID);
|
|
70
73
|
const role = await this.readAgentRole(paths, DEFAULT_AGENT_ID);
|
|
71
74
|
return this.ensureAgentWorkspaceBootstrap(paths, {
|
|
72
75
|
agentId: DEFAULT_AGENT_ID,
|
|
73
76
|
displayName,
|
|
74
77
|
role,
|
|
75
|
-
});
|
|
78
|
+
}, options);
|
|
76
79
|
}
|
|
77
|
-
async ensureAgentWorkspaceBootstrap(paths, input) {
|
|
80
|
+
async ensureAgentWorkspaceBootstrap(paths, input, options = {}) {
|
|
78
81
|
const normalizedAgentId = normalizeAgentId(input.agentId);
|
|
79
82
|
if (!normalizedAgentId) {
|
|
80
83
|
throw new Error("Agent id cannot be empty.");
|
|
@@ -83,37 +86,57 @@ export class AgentService {
|
|
|
83
86
|
const agentsPath = this.pathPort.join(workspaceDir, "AGENTS.md");
|
|
84
87
|
const rolePath = this.pathPort.join(workspaceDir, "ROLE.md");
|
|
85
88
|
const bootstrapPath = this.pathPort.join(workspaceDir, "BOOTSTRAP.md");
|
|
89
|
+
const userPath = this.pathPort.join(workspaceDir, "USER.md");
|
|
86
90
|
const createdPaths = [];
|
|
87
91
|
const skippedPaths = [];
|
|
88
92
|
const removedPaths = [];
|
|
89
93
|
await this.ensureDirectory(workspaceDir, createdPaths, skippedPaths);
|
|
94
|
+
await this.writeOpenGoatWorkspaceShim(workspaceDir, createdPaths, skippedPaths);
|
|
90
95
|
await this.rewriteAgentsMarkdown(agentsPath, normalizedAgentId, createdPaths, skippedPaths);
|
|
91
96
|
await this.writeRoleMarkdown(rolePath, {
|
|
92
97
|
agentId: normalizedAgentId,
|
|
93
98
|
displayName: input.displayName.trim() || normalizedAgentId,
|
|
94
99
|
role: input.role.trim(),
|
|
95
100
|
}, createdPaths, skippedPaths);
|
|
96
|
-
const workspaceSkillSync = await this.ensureAgentWorkspaceRoleSkills(paths, normalizedAgentId
|
|
101
|
+
const workspaceSkillSync = await this.ensureAgentWorkspaceRoleSkills(paths, normalizedAgentId, {
|
|
102
|
+
requiredSkillDirectories: options.roleSkillDirectories,
|
|
103
|
+
managedSkillDirectories: options.managedRoleSkillDirectories,
|
|
104
|
+
});
|
|
97
105
|
createdPaths.push(...workspaceSkillSync.createdPaths);
|
|
98
106
|
skippedPaths.push(...workspaceSkillSync.skippedPaths);
|
|
99
107
|
removedPaths.push(...workspaceSkillSync.removedPaths);
|
|
100
|
-
if (isDefaultAgentId(normalizedAgentId)) {
|
|
108
|
+
if (isDefaultAgentId(normalizedAgentId) && options.syncBootstrapMarkdown) {
|
|
101
109
|
await this.writeBootstrapMarkdown(bootstrapPath, createdPaths, skippedPaths);
|
|
102
110
|
}
|
|
103
|
-
else if (
|
|
104
|
-
|
|
105
|
-
removedPaths.push(bootstrapPath);
|
|
111
|
+
else if (isDefaultAgentId(normalizedAgentId)) {
|
|
112
|
+
skippedPaths.push(bootstrapPath);
|
|
106
113
|
}
|
|
107
114
|
else {
|
|
108
|
-
|
|
115
|
+
await this.removePathIfExists(bootstrapPath, removedPaths, skippedPaths);
|
|
109
116
|
}
|
|
117
|
+
await this.removePathIfExists(userPath, removedPaths, skippedPaths);
|
|
110
118
|
return {
|
|
111
119
|
createdPaths,
|
|
112
120
|
skippedPaths,
|
|
113
121
|
removedPaths,
|
|
114
122
|
};
|
|
115
123
|
}
|
|
116
|
-
async
|
|
124
|
+
async ensureAgentWorkspaceCommandShim(paths, rawAgentId) {
|
|
125
|
+
const agentId = normalizeAgentId(rawAgentId);
|
|
126
|
+
if (!agentId) {
|
|
127
|
+
throw new Error("Agent id cannot be empty.");
|
|
128
|
+
}
|
|
129
|
+
const workspaceDir = this.pathPort.join(paths.workspacesDir, agentId);
|
|
130
|
+
const createdPaths = [];
|
|
131
|
+
const skippedPaths = [];
|
|
132
|
+
await this.ensureDirectory(workspaceDir, createdPaths, skippedPaths);
|
|
133
|
+
await this.writeOpenGoatWorkspaceShim(workspaceDir, createdPaths, skippedPaths);
|
|
134
|
+
return {
|
|
135
|
+
createdPaths,
|
|
136
|
+
skippedPaths,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
async ensureAgentWorkspaceRoleSkills(paths, agentId, options = {}) {
|
|
117
140
|
const normalizedAgentId = normalizeAgentId(agentId);
|
|
118
141
|
if (!normalizedAgentId) {
|
|
119
142
|
throw new Error("Agent id cannot be empty.");
|
|
@@ -128,30 +151,43 @@ export class AgentService {
|
|
|
128
151
|
...LEGACY_INDIVIDUAL_ROLE_SKILLS,
|
|
129
152
|
]),
|
|
130
153
|
];
|
|
154
|
+
const requiredSkillDirectories = resolveRoleSkillDirectories(options.requiredSkillDirectories);
|
|
155
|
+
const managedSkillDirectories = resolveRoleSkillDirectories([
|
|
156
|
+
...(options.managedSkillDirectories ?? []),
|
|
157
|
+
...requiredSkillDirectories,
|
|
158
|
+
]);
|
|
159
|
+
const requiredSkillDirectorySet = new Set(requiredSkillDirectories);
|
|
131
160
|
const workspaceDir = this.pathPort.join(paths.workspacesDir, normalizedAgentId);
|
|
132
|
-
const skillsDir = this.pathPort.join(workspaceDir, "skills");
|
|
133
161
|
const createdPaths = [];
|
|
134
162
|
const skippedPaths = [];
|
|
135
163
|
const removedPaths = [];
|
|
136
164
|
await this.ensureDirectory(workspaceDir, createdPaths, skippedPaths);
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
const
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
if (requiredSkillIds.includes(skillId)) {
|
|
146
|
-
continue;
|
|
147
|
-
}
|
|
148
|
-
const staleSkillDir = this.pathPort.join(skillsDir, skillId);
|
|
149
|
-
if (await this.fileSystem.exists(staleSkillDir)) {
|
|
150
|
-
await this.fileSystem.removeDir(staleSkillDir);
|
|
151
|
-
removedPaths.push(staleSkillDir);
|
|
165
|
+
for (const relativeSkillsDir of requiredSkillDirectories) {
|
|
166
|
+
const skillsDir = this.pathPort.join(workspaceDir, relativeSkillsDir);
|
|
167
|
+
await this.ensureDirectory(skillsDir, createdPaths, skippedPaths);
|
|
168
|
+
for (const skillId of requiredSkillIds) {
|
|
169
|
+
const skillDir = this.pathPort.join(skillsDir, skillId);
|
|
170
|
+
const skillFile = this.pathPort.join(skillDir, "SKILL.md");
|
|
171
|
+
await this.ensureDirectory(skillDir, createdPaths, skippedPaths);
|
|
172
|
+
await this.writeMarkdown(skillFile, this.renderWorkspaceSkill(skillId, normalizedAgentId), createdPaths, skippedPaths, { overwrite: true });
|
|
152
173
|
}
|
|
153
|
-
|
|
154
|
-
|
|
174
|
+
}
|
|
175
|
+
for (const relativeSkillsDir of managedSkillDirectories) {
|
|
176
|
+
const skillsDir = this.pathPort.join(workspaceDir, relativeSkillsDir);
|
|
177
|
+
const shouldKeepRoleSkillsInDirectory = requiredSkillDirectorySet.has(relativeSkillsDir);
|
|
178
|
+
for (const skillId of managedRoleSkillIds) {
|
|
179
|
+
const shouldExist = shouldKeepRoleSkillsInDirectory && requiredSkillIds.includes(skillId);
|
|
180
|
+
if (shouldExist) {
|
|
181
|
+
continue;
|
|
182
|
+
}
|
|
183
|
+
const staleSkillDir = this.pathPort.join(skillsDir, skillId);
|
|
184
|
+
if (await this.fileSystem.exists(staleSkillDir)) {
|
|
185
|
+
await this.fileSystem.removeDir(staleSkillDir);
|
|
186
|
+
removedPaths.push(staleSkillDir);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
skippedPaths.push(staleSkillDir);
|
|
190
|
+
}
|
|
155
191
|
}
|
|
156
192
|
}
|
|
157
193
|
return {
|
|
@@ -309,6 +345,15 @@ export class AgentService {
|
|
|
309
345
|
}
|
|
310
346
|
createdPaths.push(directoryPath);
|
|
311
347
|
}
|
|
348
|
+
async removePathIfExists(filePath, removedPaths, skippedPaths) {
|
|
349
|
+
const exists = await this.fileSystem.exists(filePath);
|
|
350
|
+
if (!exists) {
|
|
351
|
+
skippedPaths.push(filePath);
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
await this.fileSystem.removeDir(filePath);
|
|
355
|
+
removedPaths.push(filePath);
|
|
356
|
+
}
|
|
312
357
|
async writeJsonIfMissing(filePath, payload, createdPaths, skippedPaths) {
|
|
313
358
|
const exists = await this.fileSystem.exists(filePath);
|
|
314
359
|
if (exists) {
|
|
@@ -355,6 +400,10 @@ export class AgentService {
|
|
|
355
400
|
async writeBootstrapMarkdown(filePath, createdPaths, skippedPaths) {
|
|
356
401
|
await this.writeMarkdown(filePath, renderCeoBootstrapMarkdown(), createdPaths, skippedPaths, { overwrite: true });
|
|
357
402
|
}
|
|
403
|
+
async writeOpenGoatWorkspaceShim(workspaceDir, createdPaths, skippedPaths) {
|
|
404
|
+
const shimPath = this.pathPort.join(workspaceDir, "opengoat");
|
|
405
|
+
await this.writeMarkdown(shimPath, renderOpenGoatWorkspaceShim(), createdPaths, skippedPaths, { overwrite: true });
|
|
406
|
+
}
|
|
358
407
|
async readJsonIfPresent(filePath) {
|
|
359
408
|
const exists = await this.fileSystem.exists(filePath);
|
|
360
409
|
if (!exists) {
|
|
@@ -396,12 +445,11 @@ export class AgentService {
|
|
|
396
445
|
}
|
|
397
446
|
return hasDirectReportees ? "manager" : "individual";
|
|
398
447
|
}
|
|
399
|
-
renderWorkspaceSkill(skillId) {
|
|
400
|
-
if (skillId === "og-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
return renderBoardIndividualSkillMarkdown();
|
|
448
|
+
renderWorkspaceSkill(skillId, agentId) {
|
|
449
|
+
if (skillId === "og-boards" ||
|
|
450
|
+
skillId === "og-board-manager" ||
|
|
451
|
+
skillId === "og-board-individual") {
|
|
452
|
+
return renderBoardsSkillMarkdown(agentId);
|
|
405
453
|
}
|
|
406
454
|
throw new Error(`Unsupported workspace skill id: ${skillId}`);
|
|
407
455
|
}
|
|
@@ -454,10 +502,14 @@ export class AgentService {
|
|
|
454
502
|
return false;
|
|
455
503
|
}
|
|
456
504
|
}
|
|
457
|
-
const MANAGER_ROLE_SKILLS = ["og-
|
|
458
|
-
const INDIVIDUAL_ROLE_SKILLS = ["og-
|
|
459
|
-
const LEGACY_MANAGER_ROLE_SKILLS = ["board-manager"];
|
|
460
|
-
const LEGACY_INDIVIDUAL_ROLE_SKILLS = [
|
|
505
|
+
const MANAGER_ROLE_SKILLS = ["og-boards"];
|
|
506
|
+
const INDIVIDUAL_ROLE_SKILLS = ["og-boards"];
|
|
507
|
+
const LEGACY_MANAGER_ROLE_SKILLS = ["og-board-manager", "board-manager"];
|
|
508
|
+
const LEGACY_INDIVIDUAL_ROLE_SKILLS = [
|
|
509
|
+
"og-board-individual",
|
|
510
|
+
"board-individual",
|
|
511
|
+
];
|
|
512
|
+
const DEFAULT_WORKSPACE_SKILL_DIRECTORY = "skills";
|
|
461
513
|
function toAgentTemplateOptions(agentId, options) {
|
|
462
514
|
const type = options.type ?? (isDefaultAgentId(agentId) ? "manager" : "individual");
|
|
463
515
|
const reportsTo = resolveReportsTo(agentId, options.reportsTo);
|
|
@@ -506,6 +558,34 @@ function normalizeReportsToValue(value) {
|
|
|
506
558
|
function dedupe(values) {
|
|
507
559
|
return [...new Set(values)].sort((left, right) => left.localeCompare(right));
|
|
508
560
|
}
|
|
561
|
+
function resolveRoleSkillDirectories(input) {
|
|
562
|
+
const candidates = input && input.length > 0 ? input : [DEFAULT_WORKSPACE_SKILL_DIRECTORY];
|
|
563
|
+
const directories = [];
|
|
564
|
+
for (const candidate of candidates) {
|
|
565
|
+
const normalized = normalizeRoleSkillDirectory(candidate);
|
|
566
|
+
if (!normalized || directories.includes(normalized)) {
|
|
567
|
+
continue;
|
|
568
|
+
}
|
|
569
|
+
directories.push(normalized);
|
|
570
|
+
}
|
|
571
|
+
return directories.length > 0
|
|
572
|
+
? directories
|
|
573
|
+
: [DEFAULT_WORKSPACE_SKILL_DIRECTORY];
|
|
574
|
+
}
|
|
575
|
+
function normalizeRoleSkillDirectory(rawDirectory) {
|
|
576
|
+
const trimmed = rawDirectory.trim().replace(/\\/g, "/");
|
|
577
|
+
if (!trimmed) {
|
|
578
|
+
return null;
|
|
579
|
+
}
|
|
580
|
+
const parts = trimmed
|
|
581
|
+
.split("/")
|
|
582
|
+
.map((part) => part.trim())
|
|
583
|
+
.filter((part) => part.length > 0 && part !== ".");
|
|
584
|
+
if (parts.length === 0 || parts.includes("..")) {
|
|
585
|
+
return null;
|
|
586
|
+
}
|
|
587
|
+
return parts.join("/");
|
|
588
|
+
}
|
|
509
589
|
function toJson(payload) {
|
|
510
590
|
return `${JSON.stringify(payload, null, 2)}\n`;
|
|
511
591
|
}
|
|
@@ -571,8 +651,6 @@ function rewriteSecondLevelSection(markdown, headingPattern, replacementLines) {
|
|
|
571
651
|
const EVERY_SESSION_SECTION_LINES = [
|
|
572
652
|
"## Every Session",
|
|
573
653
|
"",
|
|
574
|
-
"You are part of an organization run by AI agents.",
|
|
575
|
-
"",
|
|
576
654
|
"Before doing anything else:",
|
|
577
655
|
"",
|
|
578
656
|
"1. Read `SOUL.md` — this is who you are",
|
|
@@ -580,11 +658,17 @@ const EVERY_SESSION_SECTION_LINES = [
|
|
|
580
658
|
"3. Read `memory/YYYY-MM-DD.md` (today + yesterday) for recent context",
|
|
581
659
|
"4. **If in MAIN SESSION**: Also read `MEMORY.md`",
|
|
582
660
|
"",
|
|
661
|
+
"Use OpenGoat tools directly (`opengoat_*`). Do not rely on shell CLI commands.",
|
|
662
|
+
"",
|
|
583
663
|
"Don't ask permission. Just do it.",
|
|
584
664
|
"",
|
|
585
665
|
"## The Organization",
|
|
586
666
|
"",
|
|
587
|
-
"You are part of an organization run by AI agents. You have access to the organization's context and wiki on
|
|
667
|
+
"You are part of an organization run by AI agents. You have access to the organization's context and wiki on `~/.opengoat/organization`",
|
|
668
|
+
"",
|
|
669
|
+
"## Repositories",
|
|
670
|
+
"",
|
|
671
|
+
"If you need to use a repo, clone it or copy it into your own workspace.",
|
|
588
672
|
"",
|
|
589
673
|
];
|
|
590
674
|
function renderRoleMarkdown(profile) {
|
|
@@ -599,14 +683,55 @@ function renderRoleMarkdown(profile) {
|
|
|
599
683
|
`- Your id: ${profile.agentId} (agent id)`,
|
|
600
684
|
`- Your name: ${profile.displayName}`,
|
|
601
685
|
`- Role: ${profile.role}`,
|
|
602
|
-
`- For info about your level on the
|
|
686
|
+
`- For info about your level on the organization, call tool \`opengoat_agent_info\` with \`{"agentId":"${profile.agentId}"}\`.`,
|
|
687
|
+
"- Use OpenGoat tools directly (`opengoat_*`), not shell CLI commands.",
|
|
603
688
|
"- To delegate and coordinate work, use `og-*` skills.",
|
|
604
|
-
"- Organization context is available in
|
|
605
|
-
"- You can view and edit the wiki in
|
|
689
|
+
"- Organization context is available in `~/.opengoat/organization` - read them",
|
|
690
|
+
"- You can view and edit the wiki in `~/.opengoat/organization/wiki`",
|
|
691
|
+
"- If you need to use a repo, clone it or copy it into your own workspace.",
|
|
606
692
|
"",
|
|
607
693
|
"---",
|
|
608
694
|
"",
|
|
609
695
|
"_This file is yours to evolve. Update it as you learn your role and responsibilities in the organization._",
|
|
610
696
|
].join("\n");
|
|
611
697
|
}
|
|
698
|
+
function renderOpenGoatWorkspaceShim() {
|
|
699
|
+
const cliEntrypoint = resolveOpenGoatCliEntrypoint();
|
|
700
|
+
if (!cliEntrypoint) {
|
|
701
|
+
return ["#!/usr/bin/env sh", "set -eu", "", 'exec opengoat "$@"'].join("\n");
|
|
702
|
+
}
|
|
703
|
+
return [
|
|
704
|
+
"#!/usr/bin/env sh",
|
|
705
|
+
"set -eu",
|
|
706
|
+
"",
|
|
707
|
+
`exec ${quoteForShell(process.execPath)} ${quoteForShell(cliEntrypoint)} "$@"`,
|
|
708
|
+
].join("\n");
|
|
709
|
+
}
|
|
710
|
+
function resolveOpenGoatCliEntrypoint() {
|
|
711
|
+
const explicit = process.env.OPENGOAT_CLI_ENTRYPOINT?.trim();
|
|
712
|
+
if (explicit) {
|
|
713
|
+
return normalizeEntrypointPath(explicit);
|
|
714
|
+
}
|
|
715
|
+
const argvEntrypoint = process.argv[1]?.trim();
|
|
716
|
+
if (!argvEntrypoint) {
|
|
717
|
+
return undefined;
|
|
718
|
+
}
|
|
719
|
+
const normalizedBasename = basename(argvEntrypoint).toLowerCase();
|
|
720
|
+
if (!isLikelyOpenGoatEntrypointName(normalizedBasename)) {
|
|
721
|
+
return undefined;
|
|
722
|
+
}
|
|
723
|
+
return normalizeEntrypointPath(argvEntrypoint);
|
|
724
|
+
}
|
|
725
|
+
function normalizeEntrypointPath(value) {
|
|
726
|
+
if (isAbsolute(value)) {
|
|
727
|
+
return value;
|
|
728
|
+
}
|
|
729
|
+
return resolvePath(process.cwd(), value);
|
|
730
|
+
}
|
|
731
|
+
function isLikelyOpenGoatEntrypointName(value) {
|
|
732
|
+
return (value === "opengoat" || value === "opengoat.js" || value === "opengoat.mjs");
|
|
733
|
+
}
|
|
734
|
+
function quoteForShell(value) {
|
|
735
|
+
return `'${value.replace(/'/g, `'\"'\"'`)}'`;
|
|
736
|
+
}
|
|
612
737
|
//# sourceMappingURL=agent.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.service.js","sourceRoot":"","sources":["../../../../src/core/agents/application/agent.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.service.js","sourceRoot":"","sources":["../../../../src/core/agents/application/agent.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,7 @@ export declare class BoardService {
|
|
|
40
40
|
deletedCount: number;
|
|
41
41
|
}>;
|
|
42
42
|
updateTaskStatus(paths: OpenGoatPaths, actorId: string, taskId: string, status: string, reason?: string): Promise<TaskRecord>;
|
|
43
|
+
listPendingTaskIdsOlderThan(paths: OpenGoatPaths, olderThanMinutes: number): Promise<string[]>;
|
|
43
44
|
addTaskBlocker(paths: OpenGoatPaths, actorId: string, taskId: string, blocker: string): Promise<TaskRecord>;
|
|
44
45
|
addTaskArtifact(paths: OpenGoatPaths, actorId: string, taskId: string, content: string): Promise<TaskRecord>;
|
|
45
46
|
addTaskWorklog(paths: OpenGoatPaths, actorId: string, taskId: string, content: string): Promise<TaskRecord>;
|
|
@@ -59,6 +60,7 @@ export declare class BoardService {
|
|
|
59
60
|
private queryOne;
|
|
60
61
|
private ensureTaskProjectColumn;
|
|
61
62
|
private ensureTaskStatusReasonColumn;
|
|
63
|
+
private ensureTaskStatusUpdatedAtColumn;
|
|
62
64
|
private ensureBoardDefaultColumn;
|
|
63
65
|
}
|
|
64
66
|
export {};
|
|
@@ -57,6 +57,7 @@ export class BoardService {
|
|
|
57
57
|
task_id,
|
|
58
58
|
board_id,
|
|
59
59
|
created_at,
|
|
60
|
+
status_updated_at,
|
|
60
61
|
project,
|
|
61
62
|
owner_agent_id,
|
|
62
63
|
assigned_to_agent_id,
|
|
@@ -64,10 +65,11 @@ export class BoardService {
|
|
|
64
65
|
description,
|
|
65
66
|
status,
|
|
66
67
|
status_reason
|
|
67
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
|
|
68
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
|
|
68
69
|
taskId,
|
|
69
70
|
INTERNAL_TASK_BUCKET_ID,
|
|
70
71
|
createdAt,
|
|
72
|
+
createdAt,
|
|
71
73
|
project,
|
|
72
74
|
normalizedActorId,
|
|
73
75
|
assignedTo,
|
|
@@ -185,10 +187,27 @@ export class BoardService {
|
|
|
185
187
|
this.assertTaskUpdatePermission(task, normalizedActorId, manifests);
|
|
186
188
|
const nextStatus = normalizeTaskStatus(status, true);
|
|
187
189
|
const nextStatusReason = normalizeTaskStatusReason(nextStatus, reason);
|
|
188
|
-
this.execute(db, `UPDATE tasks
|
|
190
|
+
this.execute(db, `UPDATE tasks
|
|
191
|
+
SET status = ?, status_reason = ?, status_updated_at = ?
|
|
192
|
+
WHERE task_id = ?`, [nextStatus, nextStatusReason, this.nowIso(), resolvedTaskId]);
|
|
189
193
|
await this.persistDatabase(paths, db);
|
|
190
194
|
return this.requireTask(db, resolvedTaskId);
|
|
191
195
|
}
|
|
196
|
+
async listPendingTaskIdsOlderThan(paths, olderThanMinutes) {
|
|
197
|
+
if (!Number.isFinite(olderThanMinutes) || olderThanMinutes <= 0) {
|
|
198
|
+
return [];
|
|
199
|
+
}
|
|
200
|
+
const db = await this.getDatabase(paths);
|
|
201
|
+
const nowMs = Date.parse(this.nowIso());
|
|
202
|
+
const referenceNowMs = Number.isFinite(nowMs) ? nowMs : Date.now();
|
|
203
|
+
const cutoffIso = new Date(referenceNowMs - Math.floor(olderThanMinutes) * 60_000).toISOString();
|
|
204
|
+
const rows = this.queryAll(db, `SELECT task_id
|
|
205
|
+
FROM tasks
|
|
206
|
+
WHERE status = 'pending'
|
|
207
|
+
AND COALESCE(status_updated_at, created_at) <= ?
|
|
208
|
+
ORDER BY COALESCE(status_updated_at, created_at) ASC, task_id ASC`, [cutoffIso]);
|
|
209
|
+
return rows.map((row) => row.task_id);
|
|
210
|
+
}
|
|
192
211
|
async addTaskBlocker(paths, actorId, taskId, blocker) {
|
|
193
212
|
const db = await this.getDatabase(paths);
|
|
194
213
|
const normalizedActorId = normalizeAgentId(actorId) || DEFAULT_AGENT_ID;
|
|
@@ -347,6 +366,7 @@ export class BoardService {
|
|
|
347
366
|
task_id TEXT PRIMARY KEY,
|
|
348
367
|
board_id TEXT NOT NULL,
|
|
349
368
|
created_at TEXT NOT NULL,
|
|
369
|
+
status_updated_at TEXT,
|
|
350
370
|
project TEXT NOT NULL DEFAULT '${DEFAULT_TASK_PROJECT}',
|
|
351
371
|
owner_agent_id TEXT NOT NULL,
|
|
352
372
|
assigned_to_agent_id TEXT NOT NULL,
|
|
@@ -358,6 +378,7 @@ export class BoardService {
|
|
|
358
378
|
);`);
|
|
359
379
|
this.ensureTaskProjectColumn(db);
|
|
360
380
|
this.ensureTaskStatusReasonColumn(db);
|
|
381
|
+
this.ensureTaskStatusUpdatedAtColumn(db);
|
|
361
382
|
this.execute(db, `CREATE TABLE IF NOT EXISTS task_blockers (
|
|
362
383
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
363
384
|
task_id TEXT NOT NULL,
|
|
@@ -385,6 +406,8 @@ export class BoardService {
|
|
|
385
406
|
this.execute(db, "CREATE INDEX IF NOT EXISTS idx_tasks_board_id ON tasks(board_id);");
|
|
386
407
|
this.execute(db, "CREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks(status);");
|
|
387
408
|
this.execute(db, "CREATE INDEX IF NOT EXISTS idx_tasks_created_at ON tasks(created_at, task_id);");
|
|
409
|
+
this.execute(db, "CREATE INDEX IF NOT EXISTS idx_tasks_status_updated_at ON tasks(status_updated_at, task_id);");
|
|
410
|
+
this.execute(db, "CREATE INDEX IF NOT EXISTS idx_tasks_status_status_updated_at ON tasks(status, status_updated_at, task_id);");
|
|
388
411
|
this.execute(db, "CREATE INDEX IF NOT EXISTS idx_tasks_assignee_created_at ON tasks(assigned_to_agent_id, created_at, task_id);");
|
|
389
412
|
this.execute(db, "CREATE INDEX IF NOT EXISTS idx_task_blockers_task_id ON task_blockers(task_id);");
|
|
390
413
|
this.execute(db, "CREATE INDEX IF NOT EXISTS idx_task_artifacts_task_id ON task_artifacts(task_id);");
|
|
@@ -481,6 +504,17 @@ export class BoardService {
|
|
|
481
504
|
}
|
|
482
505
|
this.execute(db, "ALTER TABLE tasks ADD COLUMN status_reason TEXT;");
|
|
483
506
|
}
|
|
507
|
+
ensureTaskStatusUpdatedAtColumn(db) {
|
|
508
|
+
const columns = this.queryAll(db, "PRAGMA table_info(tasks);");
|
|
509
|
+
const hasStatusUpdatedAt = columns.some((column) => column.name === "status_updated_at");
|
|
510
|
+
if (!hasStatusUpdatedAt) {
|
|
511
|
+
this.execute(db, "ALTER TABLE tasks ADD COLUMN status_updated_at TEXT;");
|
|
512
|
+
}
|
|
513
|
+
this.execute(db, `UPDATE tasks
|
|
514
|
+
SET status_updated_at = created_at
|
|
515
|
+
WHERE status_updated_at IS NULL
|
|
516
|
+
OR TRIM(status_updated_at) = '';`);
|
|
517
|
+
}
|
|
484
518
|
ensureBoardDefaultColumn(db) {
|
|
485
519
|
const columns = this.queryAll(db, "PRAGMA table_info(boards);");
|
|
486
520
|
const hasDefaultColumn = columns.some((column) => column.name === "is_default");
|