@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.
Files changed (199) hide show
  1. package/README.md +3 -3
  2. package/dist/core/acp/application/acp-agent.js +4 -8
  3. package/dist/core/acp/application/acp-agent.js.map +1 -1
  4. package/dist/core/agents/application/agent-manifest.service.d.ts +1 -4
  5. package/dist/core/agents/application/agent-manifest.service.js +39 -52
  6. package/dist/core/agents/application/agent-manifest.service.js.map +1 -1
  7. package/dist/core/agents/application/agent.service.d.ts +43 -4
  8. package/dist/core/agents/application/agent.service.js +476 -55
  9. package/dist/core/agents/application/agent.service.js.map +1 -1
  10. package/dist/core/agents/domain/agent-manifest.d.ts +10 -4
  11. package/dist/core/agents/domain/agent-manifest.js +118 -25
  12. package/dist/core/agents/domain/agent-manifest.js.map +1 -1
  13. package/dist/core/agents/index.d.ts +1 -3
  14. package/dist/core/agents/index.js +1 -3
  15. package/dist/core/agents/index.js.map +1 -1
  16. package/dist/core/boards/application/board.service.d.ts +64 -0
  17. package/dist/core/boards/application/board.service.js +590 -0
  18. package/dist/core/boards/application/board.service.js.map +1 -0
  19. package/dist/core/boards/domain/board.d.ts +30 -0
  20. package/dist/core/boards/domain/board.js +2 -0
  21. package/dist/core/boards/domain/board.js.map +1 -0
  22. package/dist/core/boards/index.d.ts +2 -0
  23. package/dist/core/boards/index.js +2 -0
  24. package/dist/core/boards/index.js.map +1 -0
  25. package/dist/core/bootstrap/application/bootstrap.service.d.ts +5 -2
  26. package/dist/core/bootstrap/application/bootstrap.service.js +32 -17
  27. package/dist/core/bootstrap/application/bootstrap.service.js.map +1 -1
  28. package/dist/core/domain/agent-id.d.ts +1 -1
  29. package/dist/core/domain/agent-id.js +1 -1
  30. package/dist/core/domain/agent-id.js.map +1 -1
  31. package/dist/core/domain/agent.d.ts +31 -8
  32. package/dist/core/domain/opengoat-paths.d.ts +1 -0
  33. package/dist/core/opengoat/application/opengoat.service.d.ts +111 -27
  34. package/dist/core/opengoat/application/opengoat.service.js +1048 -136
  35. package/dist/core/opengoat/application/opengoat.service.js.map +1 -1
  36. package/dist/core/opengoat/index.d.ts +1 -0
  37. package/dist/core/orchestration/application/orchestration.service.d.ts +8 -21
  38. package/dist/core/orchestration/application/orchestration.service.js +59 -871
  39. package/dist/core/orchestration/application/orchestration.service.js.map +1 -1
  40. package/dist/core/orchestration/application/routing.service.js +10 -8
  41. package/dist/core/orchestration/application/routing.service.js.map +1 -1
  42. package/dist/core/orchestration/domain/routing.d.ts +0 -17
  43. package/dist/core/orchestration/domain/run-events.d.ts +1 -1
  44. package/dist/core/orchestration/index.d.ts +0 -2
  45. package/dist/core/orchestration/index.js +0 -1
  46. package/dist/core/orchestration/index.js.map +1 -1
  47. package/dist/core/providers/application/provider.service.d.ts +16 -32
  48. package/dist/core/providers/application/provider.service.js +178 -202
  49. package/dist/core/providers/application/provider.service.js.map +1 -1
  50. package/dist/core/providers/cli-provider.d.ts +1 -0
  51. package/dist/core/providers/cli-provider.js +66 -1
  52. package/dist/core/providers/cli-provider.js.map +1 -1
  53. package/dist/core/providers/image-input.d.ts +16 -0
  54. package/dist/core/providers/image-input.js +158 -0
  55. package/dist/core/providers/image-input.js.map +1 -0
  56. package/dist/core/providers/index.d.ts +1 -7
  57. package/dist/core/providers/index.js +0 -13
  58. package/dist/core/providers/index.js.map +1 -1
  59. package/dist/core/providers/loader.js +1 -95
  60. package/dist/core/providers/loader.js.map +1 -1
  61. package/dist/core/providers/providers/openclaw/provider.js +213 -32
  62. package/dist/core/providers/providers/openclaw/provider.js.map +1 -1
  63. package/dist/core/providers/types.d.ts +8 -3
  64. package/dist/core/scenarios/application/scenario-runner.service.d.ts +0 -1
  65. package/dist/core/scenarios/application/scenario-runner.service.js +30 -87
  66. package/dist/core/scenarios/application/scenario-runner.service.js.map +1 -1
  67. package/dist/core/scenarios/domain/scenario.d.ts +0 -15
  68. package/dist/core/sessions/application/session.service.d.ts +10 -4
  69. package/dist/core/sessions/application/session.service.js +87 -89
  70. package/dist/core/sessions/application/session.service.js.map +1 -1
  71. package/dist/core/sessions/domain/session.d.ts +3 -3
  72. package/dist/core/sessions/domain/transcript.d.ts +1 -1
  73. package/dist/core/sessions/index.d.ts +1 -1
  74. package/dist/core/sessions/index.js.map +1 -1
  75. package/dist/core/skills/application/skill.service.d.ts +2 -3
  76. package/dist/core/skills/application/skill.service.js +153 -56
  77. package/dist/core/skills/application/skill.service.js.map +1 -1
  78. package/dist/core/skills/domain/skill.d.ts +2 -2
  79. package/dist/core/skills/domain/skill.js +4 -2
  80. package/dist/core/skills/domain/skill.js.map +1 -1
  81. package/dist/core/templates/assets/ceo/BOOTSTRAP.md +41 -0
  82. package/dist/core/templates/assets/ceo/ROLE.md +15 -0
  83. package/dist/core/templates/assets/organization/MISSION.md +73 -0
  84. package/dist/core/templates/assets/organization/STRATEGY.md +107 -0
  85. package/dist/core/templates/assets/organization/VISION.md +80 -0
  86. package/dist/core/templates/assets/organization/wiki/index.md +15 -0
  87. package/dist/core/templates/assets/skills/og-board-individual/SKILL.md +148 -0
  88. package/dist/core/templates/assets/skills/og-board-manager/SKILL.md +140 -0
  89. package/dist/core/templates/default-templates.d.ts +17 -14
  90. package/dist/core/templates/default-templates.js +115 -212
  91. package/dist/core/templates/default-templates.js.map +1 -1
  92. package/dist/index.d.ts +1 -4
  93. package/dist/index.js +1 -4
  94. package/dist/index.js.map +1 -1
  95. package/dist/platform/node/node-path.port.js +1 -0
  96. package/dist/platform/node/node-path.port.js.map +1 -1
  97. package/package.json +16 -13
  98. package/dist/core/agents/application/workspace-context.service.d.ts +0 -28
  99. package/dist/core/agents/application/workspace-context.service.js +0 -157
  100. package/dist/core/agents/application/workspace-context.service.js.map +0 -1
  101. package/dist/core/agents/domain/workspace-context.d.ts +0 -13
  102. package/dist/core/agents/domain/workspace-context.js +0 -14
  103. package/dist/core/agents/domain/workspace-context.js.map +0 -1
  104. package/dist/core/gateway/domain/protocol.d.ts +0 -113
  105. package/dist/core/gateway/domain/protocol.js +0 -394
  106. package/dist/core/gateway/domain/protocol.js.map +0 -1
  107. package/dist/core/gateway/index.d.ts +0 -2
  108. package/dist/core/gateway/index.js +0 -2
  109. package/dist/core/gateway/index.js.map +0 -1
  110. package/dist/core/llm/application/vercel-ai-text-runtime.d.ts +0 -26
  111. package/dist/core/llm/application/vercel-ai-text-runtime.js +0 -223
  112. package/dist/core/llm/application/vercel-ai-text-runtime.js.map +0 -1
  113. package/dist/core/llm/domain/text-runtime.d.ts +0 -22
  114. package/dist/core/llm/domain/text-runtime.js +0 -2
  115. package/dist/core/llm/domain/text-runtime.js.map +0 -1
  116. package/dist/core/llm/index.d.ts +0 -2
  117. package/dist/core/llm/index.js +0 -2
  118. package/dist/core/llm/index.js.map +0 -1
  119. package/dist/core/orchestration/application/orchestration-planner.service.d.ts +0 -28
  120. package/dist/core/orchestration/application/orchestration-planner.service.js +0 -279
  121. package/dist/core/orchestration/application/orchestration-planner.service.js.map +0 -1
  122. package/dist/core/orchestration/domain/loop.d.ts +0 -119
  123. package/dist/core/orchestration/domain/loop.js +0 -2
  124. package/dist/core/orchestration/domain/loop.js.map +0 -1
  125. package/dist/core/plugins/application/plugin.service.d.ts +0 -32
  126. package/dist/core/plugins/application/plugin.service.js +0 -236
  127. package/dist/core/plugins/application/plugin.service.js.map +0 -1
  128. package/dist/core/plugins/domain/openclaw-compat.d.ts +0 -60
  129. package/dist/core/plugins/domain/openclaw-compat.js +0 -9
  130. package/dist/core/plugins/domain/openclaw-compat.js.map +0 -1
  131. package/dist/core/plugins/index.d.ts +0 -3
  132. package/dist/core/plugins/index.js +0 -3
  133. package/dist/core/plugins/index.js.map +0 -1
  134. package/dist/core/providers/onboarding.d.ts +0 -13
  135. package/dist/core/providers/onboarding.js +0 -149
  136. package/dist/core/providers/onboarding.js.map +0 -1
  137. package/dist/core/providers/providers/claude/index.d.ts +0 -4
  138. package/dist/core/providers/providers/claude/index.js +0 -19
  139. package/dist/core/providers/providers/claude/index.js.map +0 -1
  140. package/dist/core/providers/providers/claude/provider.d.ts +0 -8
  141. package/dist/core/providers/providers/claude/provider.js +0 -106
  142. package/dist/core/providers/providers/claude/provider.js.map +0 -1
  143. package/dist/core/providers/providers/codex/index.d.ts +0 -4
  144. package/dist/core/providers/providers/codex/index.js +0 -19
  145. package/dist/core/providers/providers/codex/index.js.map +0 -1
  146. package/dist/core/providers/providers/codex/provider.d.ts +0 -7
  147. package/dist/core/providers/providers/codex/provider.js +0 -31
  148. package/dist/core/providers/providers/codex/provider.js.map +0 -1
  149. package/dist/core/providers/providers/cursor/index.d.ts +0 -4
  150. package/dist/core/providers/providers/cursor/index.js +0 -19
  151. package/dist/core/providers/providers/cursor/index.js.map +0 -1
  152. package/dist/core/providers/providers/cursor/provider.d.ts +0 -11
  153. package/dist/core/providers/providers/cursor/provider.js +0 -90
  154. package/dist/core/providers/providers/cursor/provider.js.map +0 -1
  155. package/dist/core/providers/providers/extended-http/catalog.d.ts +0 -40
  156. package/dist/core/providers/providers/extended-http/catalog.js +0 -728
  157. package/dist/core/providers/providers/extended-http/catalog.js.map +0 -1
  158. package/dist/core/providers/providers/extended-http/index.d.ts +0 -5
  159. package/dist/core/providers/providers/extended-http/index.js +0 -13
  160. package/dist/core/providers/providers/extended-http/index.js.map +0 -1
  161. package/dist/core/providers/providers/extended-http/provider.d.ts +0 -31
  162. package/dist/core/providers/providers/extended-http/provider.js +0 -580
  163. package/dist/core/providers/providers/extended-http/provider.js.map +0 -1
  164. package/dist/core/providers/providers/gemini/index.d.ts +0 -4
  165. package/dist/core/providers/providers/gemini/index.js +0 -37
  166. package/dist/core/providers/providers/gemini/index.js.map +0 -1
  167. package/dist/core/providers/providers/gemini/provider.d.ts +0 -7
  168. package/dist/core/providers/providers/gemini/provider.js +0 -59
  169. package/dist/core/providers/providers/gemini/provider.js.map +0 -1
  170. package/dist/core/providers/providers/grok/index.d.ts +0 -4
  171. package/dist/core/providers/providers/grok/index.js +0 -41
  172. package/dist/core/providers/providers/grok/index.js.map +0 -1
  173. package/dist/core/providers/providers/grok/provider.d.ts +0 -13
  174. package/dist/core/providers/providers/grok/provider.js +0 -95
  175. package/dist/core/providers/providers/grok/provider.js.map +0 -1
  176. package/dist/core/providers/providers/openai/index.d.ts +0 -4
  177. package/dist/core/providers/providers/openai/index.js +0 -45
  178. package/dist/core/providers/providers/openai/index.js.map +0 -1
  179. package/dist/core/providers/providers/openai/provider.d.ts +0 -14
  180. package/dist/core/providers/providers/openai/provider.js +0 -203
  181. package/dist/core/providers/providers/openai/provider.js.map +0 -1
  182. package/dist/core/providers/providers/opencode/index.d.ts +0 -4
  183. package/dist/core/providers/providers/opencode/index.js +0 -23
  184. package/dist/core/providers/providers/opencode/index.js.map +0 -1
  185. package/dist/core/providers/providers/opencode/provider.d.ts +0 -11
  186. package/dist/core/providers/providers/opencode/provider.js +0 -215
  187. package/dist/core/providers/providers/opencode/provider.js.map +0 -1
  188. package/dist/core/providers/providers/openrouter/index.d.ts +0 -4
  189. package/dist/core/providers/providers/openrouter/index.js +0 -37
  190. package/dist/core/providers/providers/openrouter/index.js.map +0 -1
  191. package/dist/core/providers/providers/openrouter/provider.d.ts +0 -13
  192. package/dist/core/providers/providers/openrouter/provider.js +0 -80
  193. package/dist/core/providers/providers/openrouter/provider.js.map +0 -1
  194. package/dist/platform/node/opengoat-gateway-client.d.ts +0 -19
  195. package/dist/platform/node/opengoat-gateway-client.js +0 -194
  196. package/dist/platform/node/opengoat-gateway-client.js.map +0 -1
  197. package/dist/platform/node/opengoat-gateway-server.d.ts +0 -53
  198. package/dist/platform/node/opengoat-gateway-server.js +0 -906
  199. package/dist/platform/node/opengoat-gateway-server.js.map +0 -1
@@ -1,6 +1,8 @@
1
1
  import { BaseCliProvider } from "../../cli-provider.js";
2
2
  import { attachProviderSessionId } from "../../provider-session.js";
3
- import { delimiter } from "node:path";
3
+ import { randomUUID } from "node:crypto";
4
+ import { homedir } from "node:os";
5
+ import { delimiter, dirname, join } from "node:path";
4
6
  export class OpenClawProvider extends BaseCliProvider {
5
7
  constructor() {
6
8
  super({
@@ -20,36 +22,18 @@ export class OpenClawProvider extends BaseCliProvider {
20
22
  });
21
23
  }
22
24
  buildInvocationArgs(options) {
23
- const args = ["agent"];
24
- if (options.agent) {
25
- args.push(options.agent);
26
- }
27
- if (options.providerSessionId?.trim()) {
28
- args.push("--session-id", options.providerSessionId.trim());
29
- }
30
- if (options.model) {
31
- args.push("--model", options.model);
25
+ const runtime = resolveGatewayInvocationRuntime(options.env);
26
+ const sessionKey = buildOpenClawSessionKey(options.agent, options.providerSessionId);
27
+ const args = [...runtime.globalArgs, "gateway", "call", "agent"];
28
+ if (runtime.gatewayUrl && runtime.gatewayToken) {
29
+ args.push("--url", runtime.gatewayUrl, "--token", runtime.gatewayToken);
32
30
  }
33
31
  args.push(...(options.passthroughArgs ?? []));
34
- args.push("--message", options.message);
35
- // Inject extra arguments from env if present
36
- const extraArgs = options.env?.OPENCLAW_ARGUMENTS?.trim();
37
- if (extraArgs) {
38
- // Simple splitting by space - for more complex cases user should use shell script wrapper
39
- // or we might need a proper argv parser, but this suffices for simple flags like --remote
40
- args.push(...extraArgs.split(" ").filter((arg) => arg.trim().length > 0));
41
- }
32
+ args.push("--expect-final", "--json", "--timeout", "630000", "--params", JSON.stringify(buildGatewayAgentParams(options, sessionKey)));
42
33
  return args;
43
34
  }
44
35
  prepareExecutionEnv(env) {
45
- if (process.platform !== "darwin") {
46
- return env;
47
- }
48
- const preferredNodePaths = [
49
- "/opt/homebrew/bin",
50
- "/opt/homebrew/opt/node@22/bin",
51
- "/usr/local/opt/node@22/bin",
52
- ];
36
+ const preferredNodePaths = resolvePreferredCommandPaths(env);
53
37
  const mergedPath = dedupePathEntries([
54
38
  ...preferredNodePaths,
55
39
  ...(env.PATH?.split(delimiter) ?? []),
@@ -62,9 +46,15 @@ export class OpenClawProvider extends BaseCliProvider {
62
46
  buildAuthInvocationArgs(options) {
63
47
  const passthrough = options.passthroughArgs ?? [];
64
48
  if (passthrough.length > 0) {
65
- return ["models", "auth", "login", ...passthrough];
49
+ return [
50
+ ...resolveOpenClawArguments(options.env),
51
+ "models",
52
+ "auth",
53
+ "login",
54
+ ...passthrough,
55
+ ];
66
56
  }
67
- return ["onboard"];
57
+ return [...resolveOpenClawArguments(options.env), "onboard"];
68
58
  }
69
59
  buildCreateAgentInvocationArgs(options) {
70
60
  const args = [
@@ -81,16 +71,181 @@ export class OpenClawProvider extends BaseCliProvider {
81
71
  if (model) {
82
72
  args.push("--model", model);
83
73
  }
84
- return args;
74
+ return [...resolveOpenClawArguments(options.env), ...args];
85
75
  }
86
76
  buildDeleteAgentInvocationArgs(options) {
87
- return ["agents", "delete", options.agentId, "--force"];
77
+ return [
78
+ ...resolveOpenClawArguments(options.env),
79
+ "agents",
80
+ "delete",
81
+ options.agentId,
82
+ "--force",
83
+ ];
88
84
  }
89
85
  async invoke(options) {
90
- const sessionId = options.providerSessionId?.trim();
86
+ const sessionKey = buildOpenClawSessionKey(options.agent, options.providerSessionId);
91
87
  const result = await super.invoke(options);
92
- return attachProviderSessionId(result, sessionId);
88
+ const parsed = parseGatewayAgentResponse(result.stdout);
89
+ const normalizedStdout = parsed?.assistantText || result.stdout;
90
+ return attachProviderSessionId({
91
+ ...result,
92
+ stdout: normalizedStdout,
93
+ }, sessionKey ?? parsed?.providerSessionId);
94
+ }
95
+ }
96
+ function buildOpenClawSessionKey(agentId, providerSessionId) {
97
+ const raw = providerSessionId?.trim();
98
+ if (!raw) {
99
+ return undefined;
100
+ }
101
+ if (raw.includes(":")) {
102
+ return raw.toLowerCase();
93
103
  }
104
+ return `agent:${normalizeSessionSegment(agentId) || "main"}:${normalizeSessionSegment(raw) || "main"}`;
105
+ }
106
+ function buildGatewayAgentParams(options, sessionKey) {
107
+ const idempotencyKey = options.idempotencyKey?.trim() || randomUUID().toLowerCase();
108
+ const params = {
109
+ message: options.message,
110
+ idempotencyKey,
111
+ };
112
+ const agentId = options.agent?.trim();
113
+ if (agentId) {
114
+ params.agentId = agentId;
115
+ }
116
+ const model = options.model?.trim();
117
+ if (model) {
118
+ params.model = model;
119
+ }
120
+ const providerSessionId = options.providerSessionId?.trim();
121
+ if (providerSessionId) {
122
+ params.sessionId = providerSessionId;
123
+ }
124
+ if (sessionKey) {
125
+ params.sessionKey = sessionKey;
126
+ }
127
+ return params;
128
+ }
129
+ function resolveOpenClawArguments(env) {
130
+ const raw = env?.OPENCLAW_ARGUMENTS?.trim();
131
+ if (!raw) {
132
+ return [];
133
+ }
134
+ return raw
135
+ .split(" ")
136
+ .map((part) => part.trim())
137
+ .filter((part) => part.length > 0);
138
+ }
139
+ function resolveGatewayInvocationRuntime(env) {
140
+ const parsed = tokenizeArguments(env?.OPENCLAW_ARGUMENTS);
141
+ let gatewayUrl = env?.OPENCLAW_GATEWAY_URL?.trim();
142
+ let gatewayToken = env?.OPENCLAW_GATEWAY_PASSWORD?.trim();
143
+ const globalArgs = [];
144
+ for (let index = 0; index < parsed.length; index += 1) {
145
+ const token = parsed[index]?.trim();
146
+ if (!token) {
147
+ continue;
148
+ }
149
+ if (token === "--remote") {
150
+ const next = parsed[index + 1]?.trim();
151
+ if (next && !next.startsWith("--")) {
152
+ if (!gatewayUrl) {
153
+ gatewayUrl = next;
154
+ }
155
+ index += 1;
156
+ }
157
+ continue;
158
+ }
159
+ if (token === "--token") {
160
+ const next = parsed[index + 1]?.trim();
161
+ if (next && !next.startsWith("--")) {
162
+ if (!gatewayToken) {
163
+ gatewayToken = next;
164
+ }
165
+ index += 1;
166
+ }
167
+ continue;
168
+ }
169
+ globalArgs.push(token);
170
+ }
171
+ return {
172
+ globalArgs,
173
+ gatewayUrl,
174
+ gatewayToken,
175
+ };
176
+ }
177
+ function tokenizeArguments(raw) {
178
+ const value = raw?.trim();
179
+ if (!value) {
180
+ return [];
181
+ }
182
+ return value
183
+ .split(" ")
184
+ .map((part) => part.trim())
185
+ .filter((part) => part.length > 0);
186
+ }
187
+ function normalizeSessionSegment(value) {
188
+ const normalized = (value ?? "")
189
+ .trim()
190
+ .toLowerCase()
191
+ .replace(/[^a-z0-9:-]+/g, "-")
192
+ .replace(/^-+|-+$/g, "");
193
+ return normalized;
194
+ }
195
+ function parseGatewayAgentResponse(raw) {
196
+ const trimmed = raw.trim();
197
+ if (!trimmed) {
198
+ return null;
199
+ }
200
+ let parsed;
201
+ try {
202
+ parsed = JSON.parse(trimmed);
203
+ }
204
+ catch {
205
+ return null;
206
+ }
207
+ if (!parsed || typeof parsed !== "object") {
208
+ return null;
209
+ }
210
+ const record = parsed;
211
+ const lines = [];
212
+ for (const payload of record.result?.payloads ?? []) {
213
+ const text = typeof payload?.text === "string" ? payload.text.trim() : "";
214
+ if (text) {
215
+ lines.push(text);
216
+ }
217
+ for (const mediaUrl of normalizeMediaUrls(payload?.mediaUrl, payload?.mediaUrls)) {
218
+ lines.push(`MEDIA:${mediaUrl}`);
219
+ }
220
+ }
221
+ return {
222
+ assistantText: lines.join("\n\n").trim(),
223
+ providerSessionId: typeof record.result?.meta?.agentMeta?.sessionId === "string"
224
+ ? record.result.meta.agentMeta.sessionId.trim() || undefined
225
+ : undefined,
226
+ };
227
+ }
228
+ function normalizeMediaUrls(mediaUrl, mediaUrls) {
229
+ const urls = [];
230
+ if (typeof mediaUrl === "string") {
231
+ const normalized = mediaUrl.trim();
232
+ if (normalized) {
233
+ urls.push(normalized);
234
+ }
235
+ }
236
+ if (!Array.isArray(mediaUrls)) {
237
+ return urls;
238
+ }
239
+ for (const entry of mediaUrls) {
240
+ if (typeof entry !== "string") {
241
+ continue;
242
+ }
243
+ const normalized = entry.trim();
244
+ if (normalized) {
245
+ urls.push(normalized);
246
+ }
247
+ }
248
+ return urls;
94
249
  }
95
250
  function dedupePathEntries(entries) {
96
251
  const seen = new Set();
@@ -105,4 +260,30 @@ function dedupePathEntries(entries) {
105
260
  }
106
261
  return result;
107
262
  }
263
+ function resolvePreferredCommandPaths(env) {
264
+ const homeDir = homedir();
265
+ const preferredPaths = [
266
+ dirname(process.execPath),
267
+ join(homeDir, ".npm-global", "bin"),
268
+ join(homeDir, ".npm", "bin"),
269
+ join(homeDir, ".local", "bin"),
270
+ join(homeDir, ".volta", "bin"),
271
+ join(homeDir, ".fnm", "current", "bin"),
272
+ join(homeDir, ".asdf", "shims"),
273
+ join(homeDir, "bin"),
274
+ ];
275
+ const npmPrefixCandidates = dedupePathEntries([
276
+ env.npm_config_prefix ?? "",
277
+ env.NPM_CONFIG_PREFIX ?? "",
278
+ process.env.npm_config_prefix ?? "",
279
+ process.env.NPM_CONFIG_PREFIX ?? "",
280
+ ]);
281
+ for (const prefix of npmPrefixCandidates) {
282
+ preferredPaths.push(join(prefix, "bin"));
283
+ }
284
+ if (process.platform === "darwin") {
285
+ preferredPaths.push("/opt/homebrew/bin", "/opt/homebrew/opt/node@22/bin", "/usr/local/opt/node@22/bin");
286
+ }
287
+ return preferredPaths;
288
+ }
108
289
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../../src/core/providers/providers/openclaw/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../../src/core/providers/providers/openclaw/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAQpE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAErD,MAAM,OAAO,gBAAiB,SAAQ,eAAe;IACnD;QACE,KAAK,CAAC;YACJ,EAAE,EAAE,UAAU;YACd,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,UAAU;YACnB,aAAa,EAAE,cAAc;YAC7B,YAAY,EAAE;gBACZ,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,IAAI;gBACV,WAAW,EAAE,IAAI;gBACjB,WAAW,EAAE,IAAI;gBACjB,WAAW,EAAE,IAAI;aAClB;SACF,CAAC,CAAC;IACL,CAAC;IAES,mBAAmB,CAAC,OAA8B;QAC1D,MAAM,OAAO,GAAG,+BAA+B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACrF,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAEjE,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAC1E,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CACP,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,UAAU,EACV,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAC7D,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;IAEkB,mBAAmB,CAAC,GAAsB;QAC3D,MAAM,kBAAkB,GAAG,4BAA4B,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,iBAAiB,CAAC;YACnC,GAAG,kBAAkB;YACrB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACtC,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,GAAG;YACN,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC;SACjC,CAAC;IACJ,CAAC;IAEkB,uBAAuB,CACxC,OAA4B;QAE5B,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;QAElD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACL,GAAG,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC;gBACxC,QAAQ;gBACR,MAAM;gBACN,OAAO;gBACP,GAAG,WAAW;aACf,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,GAAG,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IAEkB,8BAA8B,CAC/C,OAAmC;QAEnC,MAAM,IAAI,GAAG;YACX,QAAQ;YACR,KAAK;YACL,OAAO,CAAC,OAAO;YACf,aAAa;YACb,OAAO,CAAC,YAAY;YACpB,aAAa;YACb,OAAO,CAAC,iBAAiB;YACzB,mBAAmB;SACpB,CAAC;QAEF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;QAC3D,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,CAAC,GAAG,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEkB,8BAA8B,CAC/C,OAAmC;QAEnC,OAAO;YACL,GAAG,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC;YACxC,QAAQ;YACR,QAAQ;YACR,OAAO,CAAC,OAAO;YACf,SAAS;SACV,CAAC;IACJ,CAAC;IAEe,KAAK,CAAC,MAAM,CAC1B,OAA8B;QAE9B,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACrF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,gBAAgB,GAAG,MAAM,EAAE,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC;QAChE,OAAO,uBAAuB,CAC5B;YACE,GAAG,MAAM;YACT,MAAM,EAAE,gBAAgB;SACzB,EACD,UAAU,IAAI,MAAM,EAAE,iBAAiB,CACxC,CAAC;IACJ,CAAC;CACF;AAED,SAAS,uBAAuB,CAC9B,OAA2B,EAC3B,iBAAqC;IAErC,MAAM,GAAG,GAAG,iBAAiB,EAAE,IAAI,EAAE,CAAC;IACtC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,SAAS,uBAAuB,CAAC,OAAO,CAAC,IAAI,MAAM,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;AACzG,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAA8B,EAC9B,UAA8B;IAE9B,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,UAAU,EAAE,CAAC,WAAW,EAAE,CAAC;IACpF,MAAM,MAAM,GAA4B;QACtC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,cAAc;KACf,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;IACtC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;IACpC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAC5D,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,CAAC,SAAS,GAAG,iBAAiB,CAAC;IACvC,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,wBAAwB,CAAC,GAAkC;IAClE,MAAM,GAAG,GAAG,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;IAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,GAAG;SACP,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,+BAA+B,CAAC,GAAkC;IAKzE,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAC1D,IAAI,UAAU,GAAG,GAAG,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IACnD,IAAI,YAAY,GAAG,GAAG,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC;IAC1D,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACvC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,UAAU,GAAG,IAAI,CAAC;gBACpB,CAAC;gBACD,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACvC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;gBACD,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;YACD,SAAS;QACX,CAAC;QAED,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,OAAO;QACL,UAAU;QACV,UAAU;QACV,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAuB;IAChD,MAAM,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC;IAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,KAAK;SACT,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAyB;IACxD,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;SAC7B,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC;SAC7B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,yBAAyB,CAAC,GAAW;IAI5C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,MAKd,CAAC;IAEF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,OAAO,OAAO,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,CAAC;YACjF,KAAK,CAAC,IAAI,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,OAAO;QACL,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;QACxC,iBAAiB,EACf,OAAO,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,KAAK,QAAQ;YAC3D,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,SAAS;YAC5D,CAAC,CAAC,SAAS;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAiB,EAAE,SAAkB;IAC/D,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC9B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAiB;IAC1C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,4BAA4B,CAAC,GAAsB;IAC1D,MAAM,OAAO,GAAG,OAAO,EAAE,CAAC;IAC1B,MAAM,cAAc,GAAa;QAC/B,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,CAAC;QACnC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;QAC9B,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC;QAC9B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;KACrB,CAAC;IAEF,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;QAC5C,GAAG,CAAC,iBAAiB,IAAI,EAAE;QAC3B,GAAG,CAAC,iBAAiB,IAAI,EAAE;QAC3B,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE;QACnC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE;KACpC,CAAC,CAAC;IACH,KAAK,MAAM,MAAM,IAAI,mBAAmB,EAAE,CAAC;QACzC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,cAAc,CAAC,IAAI,CACjB,mBAAmB,EACnB,+BAA+B,EAC/B,4BAA4B,CAC7B,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -1,4 +1,10 @@
1
1
  export type ProviderKind = "cli" | "http";
2
+ export interface ProviderImageInput {
3
+ path?: string;
4
+ dataUrl?: string;
5
+ mediaType?: string;
6
+ name?: string;
7
+ }
2
8
  export interface ProviderCapabilities {
3
9
  agent: boolean;
4
10
  model: boolean;
@@ -9,15 +15,14 @@ export interface ProviderCapabilities {
9
15
  }
10
16
  export interface ProviderInvokeOptions {
11
17
  message: string;
18
+ images?: ProviderImageInput[];
12
19
  systemPrompt?: string;
13
20
  skillsPromptOverride?: string;
14
21
  sessionRef?: string;
15
22
  forceNewSession?: boolean;
16
23
  disableSession?: boolean;
17
- directAgentSession?: boolean;
24
+ idempotencyKey?: string;
18
25
  providerSessionId?: string;
19
- forceNewProviderSession?: boolean;
20
- sessionContext?: string;
21
26
  agent?: string;
22
27
  model?: string;
23
28
  passthroughArgs?: string[];
@@ -18,6 +18,5 @@ export declare class ScenarioRunnerService {
18
18
  runLive(service: OpenGoatService, scenario: ScenarioSpec): Promise<ScenarioRunResult>;
19
19
  runScripted(scenario: ScenarioSpec): Promise<ScenarioRunResult>;
20
20
  private evaluate;
21
- private writeAgentManifest;
22
21
  }
23
22
  export {};
@@ -1,5 +1,5 @@
1
- import { BaseProvider, ProviderRegistry } from "../../providers/index.js";
2
1
  import { OpenGoatService } from "../../opengoat/index.js";
2
+ import { BaseProvider, ProviderRegistry, } from "../../providers/index.js";
3
3
  export class ScenarioRunnerService {
4
4
  fileSystem;
5
5
  pathPort;
@@ -13,8 +13,8 @@ export class ScenarioRunnerService {
13
13
  }
14
14
  async runLive(service, scenario) {
15
15
  await service.initialize();
16
- const result = await service.runAgent(scenario.entryAgentId ?? "orchestrator", {
17
- message: scenario.message
16
+ const result = await service.runAgent(scenario.entryAgentId ?? "ceo", {
17
+ message: scenario.message,
18
18
  });
19
19
  return this.evaluate("live", scenario, result);
20
20
  }
@@ -23,23 +23,20 @@ export class ScenarioRunnerService {
23
23
  throw new Error("Scripted scenario mode requires a 'scripted' section.");
24
24
  }
25
25
  const registry = new ProviderRegistry();
26
- registry.register("scenario-scripted", () => new ScenarioScriptedProvider(scenario));
26
+ registry.register("openclaw", () => new ScenarioScriptedProvider(scenario));
27
27
  const service = new OpenGoatService({
28
28
  fileSystem: this.fileSystem,
29
29
  pathPort: this.pathPort,
30
30
  pathsProvider: this.pathsProvider,
31
31
  providerRegistry: registry,
32
- nowIso: this.nowIso
32
+ nowIso: this.nowIso,
33
33
  });
34
34
  await service.initialize();
35
35
  for (const agent of scenario.agents ?? []) {
36
- const created = await service.createAgent(agent.name);
37
- await service.setAgentProvider(created.agent.id, "scenario-scripted");
38
- await this.writeAgentManifest(created.agent.id, agent.name, agent.description);
36
+ await service.createAgent(agent.name);
39
37
  }
40
- await service.setAgentProvider("orchestrator", "scenario-scripted");
41
- const result = await service.runAgent(scenario.entryAgentId ?? "orchestrator", {
42
- message: scenario.message
38
+ const result = await service.runAgent(scenario.entryAgentId ?? "ceo", {
39
+ message: scenario.message,
43
40
  });
44
41
  return this.evaluate("scripted", scenario, result);
45
42
  }
@@ -55,23 +52,6 @@ export class ScenarioRunnerService {
55
52
  failures.push(`stdout missing required fragment: "${fragment}"`);
56
53
  }
57
54
  }
58
- const delegatedAgents = (result.orchestration?.steps ?? [])
59
- .map((step) => step.agentCall?.targetAgentId)
60
- .filter((value) => Boolean(value));
61
- if (assertions.delegatedAgents) {
62
- const expected = assertions.delegatedAgents.join(",");
63
- const actual = delegatedAgents.join(",");
64
- if (expected !== actual) {
65
- failures.push(`delegated agents mismatch. expected=${expected} actual=${actual}`);
66
- }
67
- }
68
- const steps = result.orchestration?.steps.length ?? 0;
69
- if (typeof assertions.minSteps === "number" && steps < assertions.minSteps) {
70
- failures.push(`expected at least ${assertions.minSteps} steps, received ${steps}`);
71
- }
72
- if (typeof assertions.maxSteps === "number" && steps > assertions.maxSteps) {
73
- failures.push(`expected at most ${assertions.maxSteps} steps, received ${steps}`);
74
- }
75
55
  return {
76
56
  scenarioName: scenario.name,
77
57
  mode,
@@ -79,33 +59,8 @@ export class ScenarioRunnerService {
79
59
  failures,
80
60
  tracePath: result.tracePath,
81
61
  output,
82
- delegatedAgents,
83
- steps
84
62
  };
85
63
  }
86
- async writeAgentManifest(agentId, name, description) {
87
- const paths = this.pathsProvider.getPaths();
88
- const manifestPath = this.pathPort.join(paths.workspacesDir, agentId, "AGENTS.md");
89
- const content = [
90
- "---",
91
- `id: ${agentId}`,
92
- `name: ${name}`,
93
- `description: ${description}`,
94
- "provider: scenario-scripted",
95
- "discoverable: true",
96
- "tags: [scenario, scripted]",
97
- "delegation:",
98
- " canReceive: true",
99
- " canDelegate: false",
100
- "priority: 70",
101
- "---",
102
- "",
103
- `# ${name}`,
104
- "",
105
- description
106
- ].join("\n") + "\n";
107
- await this.fileSystem.writeFile(manifestPath, content);
108
- }
109
64
  }
110
65
  class ScenarioScriptedProvider extends BaseProvider {
111
66
  scenario;
@@ -118,8 +73,10 @@ class ScenarioScriptedProvider extends BaseProvider {
118
73
  agent: true,
119
74
  model: true,
120
75
  auth: false,
121
- passthrough: false
122
- }
76
+ passthrough: false,
77
+ agentCreate: true,
78
+ agentDelete: true,
79
+ },
123
80
  });
124
81
  this.scenario = scenario;
125
82
  }
@@ -131,42 +88,28 @@ class ScenarioScriptedProvider extends BaseProvider {
131
88
  return {
132
89
  code: 0,
133
90
  stdout: output,
134
- stderr: ""
91
+ stderr: "",
135
92
  };
136
93
  }
137
- resolveOutput(agentId, message) {
138
- if (agentId === "orchestrator") {
139
- return this.resolvePlannerOutput(message);
140
- }
141
- const reply = this.scenario.scripted?.agentReplies[agentId] ?? `handled-by:${agentId}`;
142
- return reply.endsWith("\n") ? reply : `${reply}\n`;
143
- }
144
- resolvePlannerOutput(message) {
145
- const actions = this.scenario.scripted?.orchestratorActions ?? [];
146
- const index = resolvePlannerStepIndex(message);
147
- const selected = actions[Math.min(index, Math.max(0, actions.length - 1))];
148
- if (!selected) {
149
- return JSON.stringify({
150
- rationale: "No scripted action available.",
151
- action: {
152
- type: "finish",
153
- mode: "direct",
154
- message: "Scenario finished without scripted actions."
155
- }
156
- }, null, 2);
157
- }
158
- return `${JSON.stringify(selected, null, 2)}\n`;
94
+ async createAgent(_options) {
95
+ return {
96
+ code: 0,
97
+ stdout: "",
98
+ stderr: "",
99
+ };
159
100
  }
160
- }
161
- function resolvePlannerStepIndex(message) {
162
- const match = message.match(/Step\s+(\d+)\//i);
163
- if (!match) {
164
- return 0;
101
+ async deleteAgent(_options) {
102
+ return {
103
+ code: 0,
104
+ stdout: "",
105
+ stderr: "",
106
+ };
165
107
  }
166
- const parsed = Number.parseInt(match[1] ?? "1", 10);
167
- if (!Number.isFinite(parsed) || parsed <= 1) {
168
- return 0;
108
+ resolveOutput(agentId, message) {
109
+ const reply = this.scenario.scripted?.agentReplies[agentId] ??
110
+ this.scenario.scripted?.agentReplies.ceo ??
111
+ `handled-by:${agentId}`;
112
+ return reply.endsWith("\n") ? reply : `${reply}\n`;
169
113
  }
170
- return parsed - 1;
171
114
  }
172
115
  //# sourceMappingURL=scenario-runner.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scenario-runner.service.js","sourceRoot":"","sources":["../../../../src/core/scenarios/application/scenario-runner.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scenario-runner.service.js","sourceRoot":"","sources":["../../../../src/core/scenarios/application/scenario-runner.service.ts"],"names":[],"mappings":"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"}
@@ -4,24 +4,11 @@ export interface ScenarioAgentSpec {
4
4
  description: string;
5
5
  }
6
6
  export interface ScenarioScriptedSpec {
7
- orchestratorActions: Array<{
8
- rationale: string;
9
- action: {
10
- type: "delegate_to_agent" | "respond_user" | "finish";
11
- mode?: "direct" | "artifacts" | "hybrid";
12
- targetAgentId?: string;
13
- message: string;
14
- expectedOutput?: string;
15
- };
16
- }>;
17
7
  agentReplies: Record<string, string>;
18
8
  }
19
9
  export interface ScenarioAssertions {
20
10
  mustSucceed?: boolean;
21
11
  stdoutIncludes?: string[];
22
- delegatedAgents?: string[];
23
- minSteps?: number;
24
- maxSteps?: number;
25
12
  }
26
13
  export interface ScenarioSpec {
27
14
  name: string;
@@ -38,6 +25,4 @@ export interface ScenarioRunResult {
38
25
  failures: string[];
39
26
  tracePath: string;
40
27
  output: string;
41
- delegatedAgents: string[];
42
- steps: number;
43
28
  }
@@ -14,7 +14,7 @@ export interface PrepareSessionRunRequest {
14
14
  sessionRef?: string;
15
15
  forceNew?: boolean;
16
16
  disableSession?: boolean;
17
- workingPath?: string;
17
+ projectPath?: string;
18
18
  userMessage: string;
19
19
  }
20
20
  export type PreparedSessionRun = {
@@ -22,7 +22,6 @@ export type PreparedSessionRun = {
22
22
  } | {
23
23
  enabled: true;
24
24
  info: SessionRunInfo;
25
- contextPrompt: string;
26
25
  compactionApplied: boolean;
27
26
  };
28
27
  export interface SessionHistoryResult {
@@ -39,6 +38,13 @@ export interface SessionCompactionResult {
39
38
  summary?: string;
40
39
  compactedMessages: number;
41
40
  }
41
+ export interface AgentLastAction {
42
+ agentId: string;
43
+ sessionKey: string;
44
+ sessionId: string;
45
+ transcriptPath: string;
46
+ timestamp: number;
47
+ }
42
48
  export declare class SessionService {
43
49
  private readonly fileSystem;
44
50
  private readonly pathPort;
@@ -51,6 +57,7 @@ export declare class SessionService {
51
57
  listSessions(paths: OpenGoatPaths, agentId: string, options?: {
52
58
  activeMinutes?: number;
53
59
  }): Promise<SessionSummary[]>;
60
+ getLastAgentAction(paths: OpenGoatPaths, agentId: string): Promise<AgentLastAction | null>;
54
61
  renameSession(paths: OpenGoatPaths, agentId: string, title: string, sessionRef?: string): Promise<SessionSummary>;
55
62
  removeSession(paths: OpenGoatPaths, agentId: string, sessionRef?: string): Promise<SessionRemoveResult>;
56
63
  getSessionHistory(paths: OpenGoatPaths, agentId: string, options?: {
@@ -62,13 +69,12 @@ export declare class SessionService {
62
69
  compactSession(paths: OpenGoatPaths, agentId: string, sessionRef?: string): Promise<SessionCompactionResult>;
63
70
  private compactSessionInternal;
64
71
  private appendMessage;
65
- private buildSessionContext;
66
72
  private ensureTranscriptHeader;
67
73
  private readStore;
68
74
  private persistStore;
69
75
  private readTranscriptRecords;
70
76
  private writeTranscriptRecords;
71
77
  private readSessionConfig;
72
- private ensureWorkingPathGitRepository;
78
+ private ensureProjectPathGitRepository;
73
79
  }
74
80
  export {};