@opengoat/core 2026.2.15 → 2026.2.18-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.
- package/dist/core/agents/application/agent.service.d.ts +20 -3
- package/dist/core/agents/application/agent.service.js +138 -64
- 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 +4 -1
- package/dist/core/bootstrap/application/bootstrap.service.js.map +1 -1
- package/dist/core/opengoat/application/opengoat.service.d.ts +8 -4
- package/dist/core/opengoat/application/opengoat.service.helpers.d.ts +24 -2
- package/dist/core/opengoat/application/opengoat.service.helpers.js +145 -19
- package/dist/core/opengoat/application/opengoat.service.helpers.js.map +1 -1
- package/dist/core/opengoat/application/opengoat.service.js +285 -109
- package/dist/core/opengoat/application/opengoat.service.js.map +1 -1
- package/dist/core/orchestration/application/orchestration.service.d.ts +1 -0
- package/dist/core/orchestration/application/orchestration.service.js +46 -29
- package/dist/core/orchestration/application/orchestration.service.js.map +1 -1
- package/dist/core/providers/application/provider.service.d.ts +43 -4
- package/dist/core/providers/application/provider.service.js +957 -82
- 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 +15 -0
- package/dist/core/providers/provider-module.js +12 -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 +36 -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 +153 -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 +36 -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 +161 -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 +36 -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 +162 -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 +40 -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 +130 -0
- package/dist/core/providers/providers/gemini-cli/provider.js.map +1 -0
- package/dist/core/providers/providers/openclaw/index.js +12 -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 +31 -0
- package/dist/core/providers/providers/opencode/index.js.map +1 -0
- package/dist/core/providers/providers/opencode/provider.d.ts +13 -0
- package/dist/core/providers/providers/opencode/provider.js +143 -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 +66 -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 +27 -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 +3 -2
- 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 +13 -7
- package/dist/core/templates/default-templates.js.map +1 -1
- package/package.json +3 -2
|
@@ -23,11 +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
|
+
roleSkillIdsByType?: RoleSkillIdsByType;
|
|
31
|
+
managedRoleSkillIds?: string[];
|
|
32
|
+
}
|
|
26
33
|
interface WorkspaceSkillSyncResult {
|
|
27
34
|
createdPaths: string[];
|
|
28
35
|
skippedPaths: string[];
|
|
29
36
|
removedPaths: string[];
|
|
30
37
|
}
|
|
38
|
+
export interface WorkspaceRoleSkillSyncOptions {
|
|
39
|
+
requiredSkillDirectories?: string[];
|
|
40
|
+
managedSkillDirectories?: string[];
|
|
41
|
+
roleSkillIdsByType?: RoleSkillIdsByType;
|
|
42
|
+
managedRoleSkillIds?: string[];
|
|
43
|
+
}
|
|
44
|
+
export interface RoleSkillIdsByType {
|
|
45
|
+
manager: string[];
|
|
46
|
+
individual: string[];
|
|
47
|
+
}
|
|
31
48
|
interface RoleAssignmentSyncResult {
|
|
32
49
|
updatedPaths: string[];
|
|
33
50
|
skippedPaths: string[];
|
|
@@ -44,10 +61,10 @@ export declare class AgentService {
|
|
|
44
61
|
normalizeAgentName(rawName: string): AgentIdentity;
|
|
45
62
|
ensureAgent(paths: OpenGoatPaths, identity: AgentIdentity, options?: EnsureAgentOptions): Promise<AgentCreationResult>;
|
|
46
63
|
listAgents(paths: OpenGoatPaths): Promise<AgentDescriptor[]>;
|
|
47
|
-
ensureCeoWorkspaceBootstrap(paths: OpenGoatPaths): Promise<CeoWorkspaceBootstrapResult>;
|
|
48
|
-
ensureAgentWorkspaceBootstrap(paths: OpenGoatPaths, input: AgentWorkspaceBootstrapInput): Promise<CeoWorkspaceBootstrapResult>;
|
|
64
|
+
ensureCeoWorkspaceBootstrap(paths: OpenGoatPaths, options?: AgentWorkspaceBootstrapOptions): Promise<CeoWorkspaceBootstrapResult>;
|
|
65
|
+
ensureAgentWorkspaceBootstrap(paths: OpenGoatPaths, input: AgentWorkspaceBootstrapInput, options?: AgentWorkspaceBootstrapOptions): Promise<CeoWorkspaceBootstrapResult>;
|
|
49
66
|
ensureAgentWorkspaceCommandShim(paths: OpenGoatPaths, rawAgentId: string): Promise<WorkspaceCommandShimSyncResult>;
|
|
50
|
-
ensureAgentWorkspaceRoleSkills(paths: OpenGoatPaths, agentId: string): Promise<WorkspaceSkillSyncResult>;
|
|
67
|
+
ensureAgentWorkspaceRoleSkills(paths: OpenGoatPaths, agentId: string, options?: WorkspaceRoleSkillSyncOptions): Promise<WorkspaceSkillSyncResult>;
|
|
51
68
|
syncAgentRoleAssignments(paths: OpenGoatPaths, agentId: string): Promise<RoleAssignmentSyncResult>;
|
|
52
69
|
removeAgent(paths: OpenGoatPaths, rawAgentId: string): Promise<AgentDeletionResult>;
|
|
53
70
|
setAgentManager(paths: OpenGoatPaths, rawAgentId: string, rawReportsTo: string | null | undefined): Promise<AgentManagerUpdateResult>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DEFAULT_AGENT_ID, isDefaultAgentId, normalizeAgentId, } from "../../domain/agent-id.js";
|
|
2
1
|
import { basename, isAbsolute, resolve as resolvePath } from "node:path";
|
|
3
|
-
import {
|
|
2
|
+
import { DEFAULT_AGENT_ID, isDefaultAgentId, normalizeAgentId, } from "../../domain/agent-id.js";
|
|
3
|
+
import { renderAgentsIndex, renderBoardsSkillMarkdown, renderCeoBootstrapMarkdown, renderCeoRoleMarkdown, renderInternalAgentConfig, resolveAgentRole, } from "../../templates/default-templates.js";
|
|
4
4
|
export class AgentService {
|
|
5
5
|
fileSystem;
|
|
6
6
|
pathPort;
|
|
@@ -66,16 +66,18 @@ export class AgentService {
|
|
|
66
66
|
}
|
|
67
67
|
return descriptors.sort((left, right) => left.id.localeCompare(right.id));
|
|
68
68
|
}
|
|
69
|
-
async ensureCeoWorkspaceBootstrap(paths
|
|
69
|
+
async ensureCeoWorkspaceBootstrap(paths, options = {
|
|
70
|
+
syncBootstrapMarkdown: true,
|
|
71
|
+
}) {
|
|
70
72
|
const displayName = await this.readAgentDisplayName(paths, DEFAULT_AGENT_ID);
|
|
71
73
|
const role = await this.readAgentRole(paths, DEFAULT_AGENT_ID);
|
|
72
74
|
return this.ensureAgentWorkspaceBootstrap(paths, {
|
|
73
75
|
agentId: DEFAULT_AGENT_ID,
|
|
74
76
|
displayName,
|
|
75
77
|
role,
|
|
76
|
-
});
|
|
78
|
+
}, options);
|
|
77
79
|
}
|
|
78
|
-
async ensureAgentWorkspaceBootstrap(paths, input) {
|
|
80
|
+
async ensureAgentWorkspaceBootstrap(paths, input, options = {}) {
|
|
79
81
|
const normalizedAgentId = normalizeAgentId(input.agentId);
|
|
80
82
|
if (!normalizedAgentId) {
|
|
81
83
|
throw new Error("Agent id cannot be empty.");
|
|
@@ -96,13 +98,21 @@ export class AgentService {
|
|
|
96
98
|
displayName: input.displayName.trim() || normalizedAgentId,
|
|
97
99
|
role: input.role.trim(),
|
|
98
100
|
}, createdPaths, skippedPaths);
|
|
99
|
-
const workspaceSkillSync = await this.ensureAgentWorkspaceRoleSkills(paths, normalizedAgentId
|
|
101
|
+
const workspaceSkillSync = await this.ensureAgentWorkspaceRoleSkills(paths, normalizedAgentId, {
|
|
102
|
+
requiredSkillDirectories: options.roleSkillDirectories,
|
|
103
|
+
managedSkillDirectories: options.managedRoleSkillDirectories,
|
|
104
|
+
roleSkillIdsByType: options.roleSkillIdsByType,
|
|
105
|
+
managedRoleSkillIds: options.managedRoleSkillIds,
|
|
106
|
+
});
|
|
100
107
|
createdPaths.push(...workspaceSkillSync.createdPaths);
|
|
101
108
|
skippedPaths.push(...workspaceSkillSync.skippedPaths);
|
|
102
109
|
removedPaths.push(...workspaceSkillSync.removedPaths);
|
|
103
|
-
if (isDefaultAgentId(normalizedAgentId)) {
|
|
110
|
+
if (isDefaultAgentId(normalizedAgentId) && options.syncBootstrapMarkdown) {
|
|
104
111
|
await this.writeBootstrapMarkdown(bootstrapPath, createdPaths, skippedPaths);
|
|
105
112
|
}
|
|
113
|
+
else if (isDefaultAgentId(normalizedAgentId)) {
|
|
114
|
+
skippedPaths.push(bootstrapPath);
|
|
115
|
+
}
|
|
106
116
|
else {
|
|
107
117
|
await this.removePathIfExists(bootstrapPath, removedPaths, skippedPaths);
|
|
108
118
|
}
|
|
@@ -128,45 +138,59 @@ export class AgentService {
|
|
|
128
138
|
skippedPaths,
|
|
129
139
|
};
|
|
130
140
|
}
|
|
131
|
-
async ensureAgentWorkspaceRoleSkills(paths, agentId) {
|
|
141
|
+
async ensureAgentWorkspaceRoleSkills(paths, agentId, options = {}) {
|
|
132
142
|
const normalizedAgentId = normalizeAgentId(agentId);
|
|
133
143
|
if (!normalizedAgentId) {
|
|
134
144
|
throw new Error("Agent id cannot be empty.");
|
|
135
145
|
}
|
|
136
146
|
const type = await this.readAgentType(paths, normalizedAgentId);
|
|
137
|
-
const
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
]),
|
|
145
|
-
|
|
147
|
+
const roleSkillIdsByType = resolveRoleSkillIdsByType(options.roleSkillIdsByType);
|
|
148
|
+
const requiredSkillIds = type === "manager"
|
|
149
|
+
? roleSkillIdsByType.manager
|
|
150
|
+
: roleSkillIdsByType.individual;
|
|
151
|
+
const managedRoleSkillIds = dedupeRoleSkillIds([
|
|
152
|
+
...roleSkillIdsByType.manager,
|
|
153
|
+
...roleSkillIdsByType.individual,
|
|
154
|
+
...(options.managedRoleSkillIds ?? []),
|
|
155
|
+
...STATIC_ROLE_SKILL_IDS,
|
|
156
|
+
]);
|
|
157
|
+
const requiredSkillDirectories = resolveRoleSkillDirectories(options.requiredSkillDirectories);
|
|
158
|
+
const managedSkillDirectories = resolveRoleSkillDirectories([
|
|
159
|
+
...(options.managedSkillDirectories ?? []),
|
|
160
|
+
...requiredSkillDirectories,
|
|
161
|
+
]);
|
|
162
|
+
const requiredSkillDirectorySet = new Set(requiredSkillDirectories);
|
|
146
163
|
const workspaceDir = this.pathPort.join(paths.workspacesDir, normalizedAgentId);
|
|
147
|
-
const skillsDir = this.pathPort.join(workspaceDir, "skills");
|
|
148
164
|
const createdPaths = [];
|
|
149
165
|
const skippedPaths = [];
|
|
150
166
|
const removedPaths = [];
|
|
151
167
|
await this.ensureDirectory(workspaceDir, createdPaths, skippedPaths);
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
const
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
if (requiredSkillIds.includes(skillId)) {
|
|
161
|
-
continue;
|
|
168
|
+
for (const relativeSkillsDir of requiredSkillDirectories) {
|
|
169
|
+
const skillsDir = this.pathPort.join(workspaceDir, relativeSkillsDir);
|
|
170
|
+
await this.ensureDirectory(skillsDir, createdPaths, skippedPaths);
|
|
171
|
+
for (const skillId of requiredSkillIds) {
|
|
172
|
+
const skillDir = this.pathPort.join(skillsDir, skillId);
|
|
173
|
+
const skillFile = this.pathPort.join(skillDir, "SKILL.md");
|
|
174
|
+
await this.ensureDirectory(skillDir, createdPaths, skippedPaths);
|
|
175
|
+
await this.writeMarkdown(skillFile, this.renderWorkspaceSkill(skillId, normalizedAgentId), createdPaths, skippedPaths, { overwrite: true });
|
|
162
176
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
177
|
+
}
|
|
178
|
+
for (const relativeSkillsDir of managedSkillDirectories) {
|
|
179
|
+
const skillsDir = this.pathPort.join(workspaceDir, relativeSkillsDir);
|
|
180
|
+
const shouldKeepRoleSkillsInDirectory = requiredSkillDirectorySet.has(relativeSkillsDir);
|
|
181
|
+
for (const skillId of managedRoleSkillIds) {
|
|
182
|
+
const shouldExist = shouldKeepRoleSkillsInDirectory && requiredSkillIds.includes(skillId);
|
|
183
|
+
if (shouldExist) {
|
|
184
|
+
continue;
|
|
185
|
+
}
|
|
186
|
+
const staleSkillDir = this.pathPort.join(skillsDir, skillId);
|
|
187
|
+
if (await this.fileSystem.exists(staleSkillDir)) {
|
|
188
|
+
await this.fileSystem.removeDir(staleSkillDir);
|
|
189
|
+
removedPaths.push(staleSkillDir);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
skippedPaths.push(staleSkillDir);
|
|
193
|
+
}
|
|
170
194
|
}
|
|
171
195
|
}
|
|
172
196
|
return {
|
|
@@ -189,12 +213,14 @@ export class AgentService {
|
|
|
189
213
|
};
|
|
190
214
|
}
|
|
191
215
|
const type = await this.readAgentType(paths, normalizedAgentId);
|
|
192
|
-
const
|
|
216
|
+
const roleSkillIdsByType = resolveRoleSkillIdsByType();
|
|
217
|
+
const requiredSkillIds = type === "manager"
|
|
218
|
+
? roleSkillIdsByType.manager
|
|
219
|
+
: roleSkillIdsByType.individual;
|
|
193
220
|
const roleSkillIds = new Set([
|
|
194
|
-
...
|
|
195
|
-
...
|
|
196
|
-
...
|
|
197
|
-
...LEGACY_INDIVIDUAL_ROLE_SKILLS,
|
|
221
|
+
...roleSkillIdsByType.manager,
|
|
222
|
+
...roleSkillIdsByType.individual,
|
|
223
|
+
...STATIC_ROLE_SKILL_IDS,
|
|
198
224
|
]);
|
|
199
225
|
const runtimeRecord = toObject(config.runtime);
|
|
200
226
|
const skillsRecord = toObject(runtimeRecord.skills);
|
|
@@ -424,12 +450,11 @@ export class AgentService {
|
|
|
424
450
|
}
|
|
425
451
|
return hasDirectReportees ? "manager" : "individual";
|
|
426
452
|
}
|
|
427
|
-
renderWorkspaceSkill(skillId) {
|
|
428
|
-
if (skillId === "og-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
return renderBoardIndividualSkillMarkdown();
|
|
453
|
+
renderWorkspaceSkill(skillId, agentId) {
|
|
454
|
+
if (skillId === "og-boards" ||
|
|
455
|
+
skillId === "og-board-manager" ||
|
|
456
|
+
skillId === "og-board-individual") {
|
|
457
|
+
return renderBoardsSkillMarkdown(skillId, agentId);
|
|
433
458
|
}
|
|
434
459
|
throw new Error(`Unsupported workspace skill id: ${skillId}`);
|
|
435
460
|
}
|
|
@@ -484,18 +509,22 @@ export class AgentService {
|
|
|
484
509
|
}
|
|
485
510
|
const MANAGER_ROLE_SKILLS = ["og-board-manager"];
|
|
486
511
|
const INDIVIDUAL_ROLE_SKILLS = ["og-board-individual"];
|
|
512
|
+
const SHARED_ROLE_SKILLS = ["og-boards"];
|
|
487
513
|
const LEGACY_MANAGER_ROLE_SKILLS = ["board-manager"];
|
|
488
514
|
const LEGACY_INDIVIDUAL_ROLE_SKILLS = ["board-individual"];
|
|
515
|
+
const STATIC_ROLE_SKILL_IDS = [
|
|
516
|
+
...MANAGER_ROLE_SKILLS,
|
|
517
|
+
...INDIVIDUAL_ROLE_SKILLS,
|
|
518
|
+
...SHARED_ROLE_SKILLS,
|
|
519
|
+
...LEGACY_MANAGER_ROLE_SKILLS,
|
|
520
|
+
...LEGACY_INDIVIDUAL_ROLE_SKILLS,
|
|
521
|
+
];
|
|
522
|
+
const DEFAULT_WORKSPACE_SKILL_DIRECTORY = "skills";
|
|
489
523
|
function toAgentTemplateOptions(agentId, options) {
|
|
490
524
|
const type = options.type ?? (isDefaultAgentId(agentId) ? "manager" : "individual");
|
|
491
525
|
const reportsTo = resolveReportsTo(agentId, options.reportsTo);
|
|
492
526
|
const providedSkills = options.skills ?? [];
|
|
493
|
-
const roleSkillIds = new Set([
|
|
494
|
-
...MANAGER_ROLE_SKILLS,
|
|
495
|
-
...INDIVIDUAL_ROLE_SKILLS,
|
|
496
|
-
...LEGACY_MANAGER_ROLE_SKILLS,
|
|
497
|
-
...LEGACY_INDIVIDUAL_ROLE_SKILLS,
|
|
498
|
-
]);
|
|
527
|
+
const roleSkillIds = new Set([...STATIC_ROLE_SKILL_IDS]);
|
|
499
528
|
const skills = dedupe(providedSkills.filter((skillId) => !roleSkillIds.has(skillId)));
|
|
500
529
|
const role = resolveAgentRole(agentId, type, options.role);
|
|
501
530
|
return {
|
|
@@ -534,6 +563,53 @@ function normalizeReportsToValue(value) {
|
|
|
534
563
|
function dedupe(values) {
|
|
535
564
|
return [...new Set(values)].sort((left, right) => left.localeCompare(right));
|
|
536
565
|
}
|
|
566
|
+
function resolveRoleSkillIdsByType(input) {
|
|
567
|
+
const manager = dedupeRoleSkillIds(input?.manager ?? MANAGER_ROLE_SKILLS);
|
|
568
|
+
const individual = dedupeRoleSkillIds(input?.individual ?? INDIVIDUAL_ROLE_SKILLS);
|
|
569
|
+
return {
|
|
570
|
+
manager: manager.length > 0 ? manager : [...MANAGER_ROLE_SKILLS],
|
|
571
|
+
individual: individual.length > 0 ? individual : [...INDIVIDUAL_ROLE_SKILLS],
|
|
572
|
+
};
|
|
573
|
+
}
|
|
574
|
+
function dedupeRoleSkillIds(values) {
|
|
575
|
+
const deduped = [];
|
|
576
|
+
for (const value of values) {
|
|
577
|
+
const normalized = value.trim().toLowerCase();
|
|
578
|
+
if (!normalized || deduped.includes(normalized)) {
|
|
579
|
+
continue;
|
|
580
|
+
}
|
|
581
|
+
deduped.push(normalized);
|
|
582
|
+
}
|
|
583
|
+
return deduped;
|
|
584
|
+
}
|
|
585
|
+
function resolveRoleSkillDirectories(input) {
|
|
586
|
+
const candidates = input && input.length > 0 ? input : [DEFAULT_WORKSPACE_SKILL_DIRECTORY];
|
|
587
|
+
const directories = [];
|
|
588
|
+
for (const candidate of candidates) {
|
|
589
|
+
const normalized = normalizeRoleSkillDirectory(candidate);
|
|
590
|
+
if (!normalized || directories.includes(normalized)) {
|
|
591
|
+
continue;
|
|
592
|
+
}
|
|
593
|
+
directories.push(normalized);
|
|
594
|
+
}
|
|
595
|
+
return directories.length > 0
|
|
596
|
+
? directories
|
|
597
|
+
: [DEFAULT_WORKSPACE_SKILL_DIRECTORY];
|
|
598
|
+
}
|
|
599
|
+
function normalizeRoleSkillDirectory(rawDirectory) {
|
|
600
|
+
const trimmed = rawDirectory.trim().replace(/\\/g, "/");
|
|
601
|
+
if (!trimmed) {
|
|
602
|
+
return null;
|
|
603
|
+
}
|
|
604
|
+
const parts = trimmed
|
|
605
|
+
.split("/")
|
|
606
|
+
.map((part) => part.trim())
|
|
607
|
+
.filter((part) => part.length > 0 && part !== ".");
|
|
608
|
+
if (parts.length === 0 || parts.includes("..")) {
|
|
609
|
+
return null;
|
|
610
|
+
}
|
|
611
|
+
return parts.join("/");
|
|
612
|
+
}
|
|
537
613
|
function toJson(payload) {
|
|
538
614
|
return `${JSON.stringify(payload, null, 2)}\n`;
|
|
539
615
|
}
|
|
@@ -612,7 +688,11 @@ const EVERY_SESSION_SECTION_LINES = [
|
|
|
612
688
|
"",
|
|
613
689
|
"## The Organization",
|
|
614
690
|
"",
|
|
615
|
-
"You are part of an organization run by AI agents. You have access to the organization's context and wiki on
|
|
691
|
+
"You are part of an organization run by AI agents. You have access to the organization's context and wiki on `~/.opengoat/organization`",
|
|
692
|
+
"",
|
|
693
|
+
"## Repositories",
|
|
694
|
+
"",
|
|
695
|
+
"If you need to use a repo, clone it or copy it into your own workspace at `~/.opengoat/workspaces/<agent-id>/<repo>`.",
|
|
616
696
|
"",
|
|
617
697
|
];
|
|
618
698
|
function renderRoleMarkdown(profile) {
|
|
@@ -630,8 +710,9 @@ function renderRoleMarkdown(profile) {
|
|
|
630
710
|
`- For info about your level on the organization, call tool \`opengoat_agent_info\` with \`{"agentId":"${profile.agentId}"}\`.`,
|
|
631
711
|
"- Use OpenGoat tools directly (`opengoat_*`), not shell CLI commands.",
|
|
632
712
|
"- To delegate and coordinate work, use `og-*` skills.",
|
|
633
|
-
"- Organization context is available in
|
|
634
|
-
"- You can view and edit the wiki in
|
|
713
|
+
"- Organization context is available in `~/.opengoat/organization` - read them",
|
|
714
|
+
"- You can view and edit the wiki in `~/.opengoat/organization/wiki`",
|
|
715
|
+
"- If you need to use a repo, clone it or copy it into your own workspace at `~/.opengoat/workspaces/<agent-id>/<repo>`.",
|
|
635
716
|
"",
|
|
636
717
|
"---",
|
|
637
718
|
"",
|
|
@@ -641,12 +722,7 @@ function renderRoleMarkdown(profile) {
|
|
|
641
722
|
function renderOpenGoatWorkspaceShim() {
|
|
642
723
|
const cliEntrypoint = resolveOpenGoatCliEntrypoint();
|
|
643
724
|
if (!cliEntrypoint) {
|
|
644
|
-
return [
|
|
645
|
-
"#!/usr/bin/env sh",
|
|
646
|
-
"set -eu",
|
|
647
|
-
"",
|
|
648
|
-
'exec opengoat "$@"',
|
|
649
|
-
].join("\n");
|
|
725
|
+
return ["#!/usr/bin/env sh", "set -eu", "", 'exec opengoat "$@"'].join("\n");
|
|
650
726
|
}
|
|
651
727
|
return [
|
|
652
728
|
"#!/usr/bin/env sh",
|
|
@@ -677,9 +753,7 @@ function normalizeEntrypointPath(value) {
|
|
|
677
753
|
return resolvePath(process.cwd(), value);
|
|
678
754
|
}
|
|
679
755
|
function isLikelyOpenGoatEntrypointName(value) {
|
|
680
|
-
return (value === "opengoat" ||
|
|
681
|
-
value === "opengoat.js" ||
|
|
682
|
-
value === "opengoat.mjs");
|
|
756
|
+
return (value === "opengoat" || value === "opengoat.js" || value === "opengoat.mjs");
|
|
683
757
|
}
|
|
684
758
|
function quoteForShell(value) {
|
|
685
759
|
return `'${value.replace(/'/g, `'\"'\"'`)}'`;
|
|
@@ -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");
|