paracosm 0.4.140 → 0.4.142
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/src/runtime/emergent-setup.d.ts +90 -0
- package/dist/src/runtime/emergent-setup.d.ts.map +1 -0
- package/dist/src/runtime/emergent-setup.js +349 -0
- package/dist/src/runtime/emergent-setup.js.map +1 -0
- package/dist/src/runtime/orchestrator.d.ts +1 -16
- package/dist/src/runtime/orchestrator.d.ts.map +1 -1
- package/dist/src/runtime/orchestrator.js +2 -355
- package/dist/src/runtime/orchestrator.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Emergent-tool forge + judge wiring, extracted from orchestrator.ts.
|
|
3
|
+
*
|
|
4
|
+
* The orchestrator needs three things to let department agents forge
|
|
5
|
+
* tools at runtime:
|
|
6
|
+
* 1. A shared web_search tool (multi-provider fusion + reranking)
|
|
7
|
+
* 2. An EmergentCapabilityEngine (forge pipeline + judge)
|
|
8
|
+
* 3. A per-dept wrapper around forge_tool that captures every attempt
|
|
9
|
+
* into a run-level ledger so the UI can show reality, not just
|
|
10
|
+
* whatever the LLM self-reports.
|
|
11
|
+
*
|
|
12
|
+
* All three are standalone and pure — they take their collaborators via
|
|
13
|
+
* arguments and return values. Pulling them out of orchestrator.ts drops
|
|
14
|
+
* ~360 lines from the god file and makes the forge machinery testable
|
|
15
|
+
* without spinning up a full simulation run.
|
|
16
|
+
*
|
|
17
|
+
* @module paracosm/runtime/emergent-setup
|
|
18
|
+
*/
|
|
19
|
+
import type { ITool } from '@framers/agentos';
|
|
20
|
+
import { EmergentCapabilityEngine, ForgeToolMetaTool } from '@framers/agentos';
|
|
21
|
+
import { type SimulationExecutionConfig } from '../cli/sim-config.js';
|
|
22
|
+
import type { LlmProvider } from '../engine/types.js';
|
|
23
|
+
/**
|
|
24
|
+
* Multi-provider web search tool exposed to every department agent.
|
|
25
|
+
*
|
|
26
|
+
* Tries AgentOS WebSearchService first (Serper, Tavily, Firecrawl, Brave
|
|
27
|
+
* with RRF fusion and optional Cohere rerank). Falls back to a direct
|
|
28
|
+
* Serper call when the fusion service is unavailable. Missing keys
|
|
29
|
+
* return a clean error payload instead of throwing.
|
|
30
|
+
*/
|
|
31
|
+
export declare const webSearchTool: ITool;
|
|
32
|
+
/**
|
|
33
|
+
* Create the emergent capability engine wired to AgentOS's forge + judge.
|
|
34
|
+
*
|
|
35
|
+
* @param toolMap Registry of built-in tools (web_search, etc.) that forged
|
|
36
|
+
* tools can compose against via the ComposableToolBuilder.
|
|
37
|
+
* @param provider LLM provider for judge calls (openai | anthropic).
|
|
38
|
+
* @param judgeModel Model ID used for judge reviews. Defaults in
|
|
39
|
+
* sim-config.ts keep this cheap — the judge runs once per forge
|
|
40
|
+
* (dozens per run) so flagship-model pricing here dominates total
|
|
41
|
+
* cost.
|
|
42
|
+
* @param execution Runtime limits (sandbox timeout / memory).
|
|
43
|
+
* @param onUsage Optional callback invoked after every judge LLM call so
|
|
44
|
+
* the orchestrator can fold judge spend into run-wide cost
|
|
45
|
+
* telemetry. Without this, judge costs (often 30-50% of total run
|
|
46
|
+
* spend) were invisible to `runSimulation()`'s returned `cost`.
|
|
47
|
+
* @param onProviderError Optional callback invoked when the judge's LLM
|
|
48
|
+
* call throws. Forwards to the run-level provider-error
|
|
49
|
+
* classifier so quota/auth failures get reported the same way as
|
|
50
|
+
* any other call site.
|
|
51
|
+
*/
|
|
52
|
+
export declare function createEmergentEngine(toolMap: Map<string, ITool>, provider: LlmProvider, judgeModel: string, execution?: Partial<SimulationExecutionConfig>, onUsage?: (result: {
|
|
53
|
+
usage?: {
|
|
54
|
+
totalTokens?: number;
|
|
55
|
+
promptTokens?: number;
|
|
56
|
+
completionTokens?: number;
|
|
57
|
+
costUSD?: number;
|
|
58
|
+
};
|
|
59
|
+
}) => void, onProviderError?: (err: unknown) => void): {
|
|
60
|
+
engine: EmergentCapabilityEngine;
|
|
61
|
+
forgeTool: ForgeToolMetaTool;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Captured forge event — the ground-truth record of an actual forge call,
|
|
65
|
+
* independent of whether the LLM remembered to self-report it in its JSON.
|
|
66
|
+
*/
|
|
67
|
+
export interface CapturedForge {
|
|
68
|
+
name: string;
|
|
69
|
+
description: string;
|
|
70
|
+
mode: string;
|
|
71
|
+
inputSchema: unknown;
|
|
72
|
+
outputSchema: unknown;
|
|
73
|
+
approved: boolean;
|
|
74
|
+
confidence: number;
|
|
75
|
+
output: unknown;
|
|
76
|
+
errorReason?: string;
|
|
77
|
+
department: string;
|
|
78
|
+
/** Wall-clock ms timestamp so we can attribute forges to the surrounding event. */
|
|
79
|
+
timestamp: number;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Wrap the raw forge_tool meta-tool so each department's forge attempts
|
|
83
|
+
* get captured + logged + normalized before they reach the engine. LLMs
|
|
84
|
+
* emit wild variety in forge_tool args (stringified JSON, wrong mode
|
|
85
|
+
* spellings, missing allowlists, no code body). This wrapper fixes them
|
|
86
|
+
* up so the engine never crashes deep in sandbox validation, and every
|
|
87
|
+
* attempt gets recorded into the `capture` sink regardless of outcome.
|
|
88
|
+
*/
|
|
89
|
+
export declare function wrapForgeTool(raw: ForgeToolMetaTool, agentId: string, sessionId: string, dept: string, capture: (record: CapturedForge) => void): ITool;
|
|
90
|
+
//# sourceMappingURL=emergent-setup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emergent-setup.d.ts","sourceRoot":"","sources":["../../../src/runtime/emergent-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,wBAAwB,EACmB,iBAAiB,EAC7D,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAqB,KAAK,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAMtD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,KA6C3B,CAAC;AAMF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,EAC3B,QAAQ,EAAE,WAAW,EACrB,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,OAAO,CAAC,yBAAyB,CAAM,EAClD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE;IAAE,KAAK,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,KAAK,IAAI,EACpI,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI;;;EAgFzC;AAMD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,GACvC,KAAK,CAyIP"}
|
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Emergent-tool forge + judge wiring, extracted from orchestrator.ts.
|
|
3
|
+
*
|
|
4
|
+
* The orchestrator needs three things to let department agents forge
|
|
5
|
+
* tools at runtime:
|
|
6
|
+
* 1. A shared web_search tool (multi-provider fusion + reranking)
|
|
7
|
+
* 2. An EmergentCapabilityEngine (forge pipeline + judge)
|
|
8
|
+
* 3. A per-dept wrapper around forge_tool that captures every attempt
|
|
9
|
+
* into a run-level ledger so the UI can show reality, not just
|
|
10
|
+
* whatever the LLM self-reports.
|
|
11
|
+
*
|
|
12
|
+
* All three are standalone and pure — they take their collaborators via
|
|
13
|
+
* arguments and return values. Pulling them out of orchestrator.ts drops
|
|
14
|
+
* ~360 lines from the god file and makes the forge machinery testable
|
|
15
|
+
* without spinning up a full simulation run.
|
|
16
|
+
*
|
|
17
|
+
* @module paracosm/runtime/emergent-setup
|
|
18
|
+
*/
|
|
19
|
+
import { EmergentCapabilityEngine, EmergentJudge, EmergentToolRegistry, ComposableToolBuilder, SandboxedToolForge, ForgeToolMetaTool, generateText, } from '@framers/agentos';
|
|
20
|
+
import { DEFAULT_EXECUTION } from '../cli/sim-config.js';
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
// Web search tool
|
|
23
|
+
// ---------------------------------------------------------------------------
|
|
24
|
+
/**
|
|
25
|
+
* Multi-provider web search tool exposed to every department agent.
|
|
26
|
+
*
|
|
27
|
+
* Tries AgentOS WebSearchService first (Serper, Tavily, Firecrawl, Brave
|
|
28
|
+
* with RRF fusion and optional Cohere rerank). Falls back to a direct
|
|
29
|
+
* Serper call when the fusion service is unavailable. Missing keys
|
|
30
|
+
* return a clean error payload instead of throwing.
|
|
31
|
+
*/
|
|
32
|
+
export const webSearchTool = {
|
|
33
|
+
id: 'tool.web_search', name: 'web_search', displayName: 'Multi-Provider Web Search',
|
|
34
|
+
description: 'Search for scientific papers, NASA data, and Mars research using AgentOS WebSearchService with multi-provider fusion (Serper, Tavily, Firecrawl, Brave) and Cohere neural reranking.',
|
|
35
|
+
inputSchema: { type: 'object', properties: { query: { type: 'string' } }, required: ['query'] },
|
|
36
|
+
hasSideEffects: false,
|
|
37
|
+
async execute(args) {
|
|
38
|
+
const query = String(args.query || '');
|
|
39
|
+
try {
|
|
40
|
+
const { WebSearchService, FirecrawlProvider, TavilyProvider, SerperProvider, BraveProvider } = await import('@framers/agentos/web-search');
|
|
41
|
+
const service = new WebSearchService();
|
|
42
|
+
if (process.env.FIRECRAWL_API_KEY)
|
|
43
|
+
service.registerProvider(new FirecrawlProvider(process.env.FIRECRAWL_API_KEY));
|
|
44
|
+
if (process.env.TAVILY_API_KEY)
|
|
45
|
+
service.registerProvider(new TavilyProvider(process.env.TAVILY_API_KEY));
|
|
46
|
+
if (process.env.SERPER_API_KEY)
|
|
47
|
+
service.registerProvider(new SerperProvider(process.env.SERPER_API_KEY));
|
|
48
|
+
if (process.env.BRAVE_API_KEY)
|
|
49
|
+
service.registerProvider(new BraveProvider(process.env.BRAVE_API_KEY));
|
|
50
|
+
if (!service.hasProviders()) {
|
|
51
|
+
return { success: false, error: 'No search API keys configured. Set SERPER_API_KEY, TAVILY_API_KEY, FIRECRAWL_API_KEY, or BRAVE_API_KEY.' };
|
|
52
|
+
}
|
|
53
|
+
const results = await service.search(query, { maxResults: 5, rerank: !!process.env.COHERE_API_KEY });
|
|
54
|
+
return {
|
|
55
|
+
success: true,
|
|
56
|
+
output: {
|
|
57
|
+
results: results.map(r => ({
|
|
58
|
+
title: r.title, url: r.url, snippet: r.snippet,
|
|
59
|
+
providers: r.providerSources || [],
|
|
60
|
+
relevance: r.rerankScore || r.rrfScore || r.relevanceScore,
|
|
61
|
+
})),
|
|
62
|
+
query,
|
|
63
|
+
reranked: !!process.env.COHERE_API_KEY,
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// Fallback: direct Serper when the fusion service isn't available.
|
|
69
|
+
try {
|
|
70
|
+
const key = process.env.SERPER_API_KEY;
|
|
71
|
+
if (!key)
|
|
72
|
+
return { success: false, error: 'No search API keys configured' };
|
|
73
|
+
const res = await fetch('https://google.serper.dev/search', {
|
|
74
|
+
method: 'POST', headers: { 'X-API-KEY': key, 'Content-Type': 'application/json' },
|
|
75
|
+
body: JSON.stringify({ q: query, num: 5 }),
|
|
76
|
+
});
|
|
77
|
+
if (!res.ok)
|
|
78
|
+
return { success: false, error: `Search ${res.status}` };
|
|
79
|
+
const data = await res.json();
|
|
80
|
+
return { success: true, output: { results: (data.organic || []).slice(0, 5).map((r) => ({ title: r.title, url: r.link, snippet: r.snippet })), query } };
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
return { success: false, error: String(err) };
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
// ---------------------------------------------------------------------------
|
|
89
|
+
// Emergent engine factory
|
|
90
|
+
// ---------------------------------------------------------------------------
|
|
91
|
+
/**
|
|
92
|
+
* Create the emergent capability engine wired to AgentOS's forge + judge.
|
|
93
|
+
*
|
|
94
|
+
* @param toolMap Registry of built-in tools (web_search, etc.) that forged
|
|
95
|
+
* tools can compose against via the ComposableToolBuilder.
|
|
96
|
+
* @param provider LLM provider for judge calls (openai | anthropic).
|
|
97
|
+
* @param judgeModel Model ID used for judge reviews. Defaults in
|
|
98
|
+
* sim-config.ts keep this cheap — the judge runs once per forge
|
|
99
|
+
* (dozens per run) so flagship-model pricing here dominates total
|
|
100
|
+
* cost.
|
|
101
|
+
* @param execution Runtime limits (sandbox timeout / memory).
|
|
102
|
+
* @param onUsage Optional callback invoked after every judge LLM call so
|
|
103
|
+
* the orchestrator can fold judge spend into run-wide cost
|
|
104
|
+
* telemetry. Without this, judge costs (often 30-50% of total run
|
|
105
|
+
* spend) were invisible to `runSimulation()`'s returned `cost`.
|
|
106
|
+
* @param onProviderError Optional callback invoked when the judge's LLM
|
|
107
|
+
* call throws. Forwards to the run-level provider-error
|
|
108
|
+
* classifier so quota/auth failures get reported the same way as
|
|
109
|
+
* any other call site.
|
|
110
|
+
*/
|
|
111
|
+
export function createEmergentEngine(toolMap, provider, judgeModel, execution = {}, onUsage, onProviderError) {
|
|
112
|
+
const llmCb = async (model, prompt) => {
|
|
113
|
+
try {
|
|
114
|
+
const r = await generateText({ provider, model: model || judgeModel, prompt });
|
|
115
|
+
onUsage?.(r);
|
|
116
|
+
return r.text;
|
|
117
|
+
}
|
|
118
|
+
catch (err) {
|
|
119
|
+
onProviderError?.(err);
|
|
120
|
+
throw err;
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
// Structured callback with cacheable system block. Judge's stable
|
|
124
|
+
// rubric (~500 tokens) lands in the system slot with cacheBreakpoint:
|
|
125
|
+
// true, so on Anthropic the second judge call onward reads cached
|
|
126
|
+
// tokens at 10% of input rate. OpenAI auto-caches prompts >= 1024
|
|
127
|
+
// tokens so the same savings apply. Typical run saves ~25% of judge
|
|
128
|
+
// spend.
|
|
129
|
+
const llmCbWithSystem = async (model, system, user) => {
|
|
130
|
+
try {
|
|
131
|
+
const r = await generateText({
|
|
132
|
+
provider,
|
|
133
|
+
model: model || judgeModel,
|
|
134
|
+
system: [{ text: system, cacheBreakpoint: true }],
|
|
135
|
+
prompt: user,
|
|
136
|
+
});
|
|
137
|
+
onUsage?.(r);
|
|
138
|
+
return r.text;
|
|
139
|
+
}
|
|
140
|
+
catch (err) {
|
|
141
|
+
onProviderError?.(err);
|
|
142
|
+
throw err;
|
|
143
|
+
}
|
|
144
|
+
};
|
|
145
|
+
// Session-tier tool limit. The registry was previously constructed
|
|
146
|
+
// without the config so it fell through to DEFAULT_EMERGENT_CONFIG's
|
|
147
|
+
// value of 10. That limit was reached by turn 3 in a 5-department
|
|
148
|
+
// run (5 depts × ~2 tools each = 10) and every subsequent forge
|
|
149
|
+
// failed with "Session tool limit reached". 50 comfortably fits
|
|
150
|
+
// 5 depts × 6 turns × ~1.5 unique tools each ≈ 45 with headroom for
|
|
151
|
+
// re-forges and composition wrappers.
|
|
152
|
+
const SESSION_TOOL_LIMIT = 50;
|
|
153
|
+
const AGENT_TOOL_LIMIT = 50;
|
|
154
|
+
const registry = new EmergentToolRegistry({
|
|
155
|
+
maxSessionTools: SESSION_TOOL_LIMIT,
|
|
156
|
+
maxAgentTools: AGENT_TOOL_LIMIT,
|
|
157
|
+
});
|
|
158
|
+
// EmergentJudgeConfig accepts an optional `generateTextWithSystem`
|
|
159
|
+
// callback for prompt caching. The installed @framers/agentos may
|
|
160
|
+
// predate that field (monorepo adds it, npm publish is separate);
|
|
161
|
+
// the any-cast lets the cached path activate today and TS tightens
|
|
162
|
+
// automatically once the new version lands in node_modules.
|
|
163
|
+
const judgeConfig = {
|
|
164
|
+
judgeModel,
|
|
165
|
+
promotionModel: judgeModel,
|
|
166
|
+
generateText: llmCb,
|
|
167
|
+
generateTextWithSystem: llmCbWithSystem,
|
|
168
|
+
};
|
|
169
|
+
const judge = new EmergentJudge(judgeConfig);
|
|
170
|
+
const executor = async (name, args, ctx) => {
|
|
171
|
+
const t = toolMap.get(name);
|
|
172
|
+
return t ? t.execute(args, ctx) : { success: false, error: `Tool "${name}" not found` };
|
|
173
|
+
};
|
|
174
|
+
const engine = new EmergentCapabilityEngine({
|
|
175
|
+
config: {
|
|
176
|
+
enabled: true,
|
|
177
|
+
maxSessionTools: SESSION_TOOL_LIMIT,
|
|
178
|
+
maxAgentTools: AGENT_TOOL_LIMIT,
|
|
179
|
+
sandboxTimeoutMs: execution.sandboxTimeoutMs ?? DEFAULT_EXECUTION.sandboxTimeoutMs,
|
|
180
|
+
sandboxMemoryMB: execution.sandboxMemoryMB ?? DEFAULT_EXECUTION.sandboxMemoryMB,
|
|
181
|
+
promotionThreshold: { uses: 5, confidence: 0.8 },
|
|
182
|
+
allowSandboxTools: true, persistSandboxSource: true,
|
|
183
|
+
judgeModel, promotionJudgeModel: judgeModel,
|
|
184
|
+
},
|
|
185
|
+
composableBuilder: new ComposableToolBuilder(executor),
|
|
186
|
+
sandboxForge: new SandboxedToolForge(),
|
|
187
|
+
judge, registry,
|
|
188
|
+
});
|
|
189
|
+
return { engine, forgeTool: new ForgeToolMetaTool(engine) };
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Wrap the raw forge_tool meta-tool so each department's forge attempts
|
|
193
|
+
* get captured + logged + normalized before they reach the engine. LLMs
|
|
194
|
+
* emit wild variety in forge_tool args (stringified JSON, wrong mode
|
|
195
|
+
* spellings, missing allowlists, no code body). This wrapper fixes them
|
|
196
|
+
* up so the engine never crashes deep in sandbox validation, and every
|
|
197
|
+
* attempt gets recorded into the `capture` sink regardless of outcome.
|
|
198
|
+
*/
|
|
199
|
+
export function wrapForgeTool(raw, agentId, sessionId, dept, capture) {
|
|
200
|
+
return {
|
|
201
|
+
...raw,
|
|
202
|
+
async execute(args, ctx) {
|
|
203
|
+
const fixed = { ...args };
|
|
204
|
+
for (const k of ['implementation', 'inputSchema', 'outputSchema', 'testCases']) {
|
|
205
|
+
if (typeof fixed[k] === 'string') {
|
|
206
|
+
try {
|
|
207
|
+
fixed[k] = JSON.parse(fixed[k]);
|
|
208
|
+
}
|
|
209
|
+
catch (e) {
|
|
210
|
+
console.warn(` [forge] Failed to parse ${k}:`, e);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
// Normalize implementation. LLMs send a wide variety of mode
|
|
215
|
+
// spellings and sometimes mis-label compose specs as sandbox or
|
|
216
|
+
// vice versa. AgentOS's engine does a STRICT `mode === 'compose'`
|
|
217
|
+
// check — anything else falls into the sandbox branch, which
|
|
218
|
+
// then reads `allowlist` / `code` fields that a compose spec
|
|
219
|
+
// does not carry. That path crashes with
|
|
220
|
+
// TypeError: Cannot read properties of undefined (reading 'includes')
|
|
221
|
+
// inside SandboxedToolForge.validateCode. Normalize to one of
|
|
222
|
+
// exactly 'sandbox' or 'compose', infer from field shape when
|
|
223
|
+
// the mode string is unfamiliar, backstop every required field
|
|
224
|
+
// so neither engine path can crash on malformed LLM output.
|
|
225
|
+
if (fixed.implementation && typeof fixed.implementation === 'object') {
|
|
226
|
+
const impl = fixed.implementation;
|
|
227
|
+
if (impl.mode === 'code' || impl.mode === 'javascript' || impl.mode === 'js') {
|
|
228
|
+
impl.mode = 'sandbox';
|
|
229
|
+
}
|
|
230
|
+
if (impl.mode === 'composed' ||
|
|
231
|
+
impl.mode === 'composition' ||
|
|
232
|
+
impl.mode === 'composable' ||
|
|
233
|
+
impl.mode === 'chain' ||
|
|
234
|
+
impl.mode === 'pipeline') {
|
|
235
|
+
impl.mode = 'compose';
|
|
236
|
+
}
|
|
237
|
+
if (impl.mode !== 'sandbox' && impl.mode !== 'compose') {
|
|
238
|
+
if (Array.isArray(impl.steps))
|
|
239
|
+
impl.mode = 'compose';
|
|
240
|
+
else if (typeof impl.code === 'string')
|
|
241
|
+
impl.mode = 'sandbox';
|
|
242
|
+
else
|
|
243
|
+
impl.mode = 'sandbox';
|
|
244
|
+
}
|
|
245
|
+
if (impl.mode === 'sandbox') {
|
|
246
|
+
if (!Array.isArray(impl.allowlist))
|
|
247
|
+
impl.allowlist = [];
|
|
248
|
+
if (impl.code != null && typeof impl.code !== 'string')
|
|
249
|
+
impl.code = String(impl.code);
|
|
250
|
+
if (!impl.code || typeof impl.code !== 'string') {
|
|
251
|
+
impl.code = 'function execute(input) { return { error: "No code provided in forge request" }; }';
|
|
252
|
+
}
|
|
253
|
+
if (!impl.code.includes('function execute')) {
|
|
254
|
+
impl.code = `function execute(input) {\n${impl.code}\n}`;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
else if (impl.mode === 'compose') {
|
|
258
|
+
if (!Array.isArray(impl.steps))
|
|
259
|
+
impl.steps = [];
|
|
260
|
+
for (const step of impl.steps) {
|
|
261
|
+
if (step && typeof step === 'object') {
|
|
262
|
+
if (typeof step.tool !== 'string')
|
|
263
|
+
step.tool = '';
|
|
264
|
+
if (typeof step.name !== 'string')
|
|
265
|
+
step.name = step.tool || 'step';
|
|
266
|
+
if (!step.inputMapping || typeof step.inputMapping !== 'object') {
|
|
267
|
+
step.inputMapping = {};
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
if (!fixed.inputSchema || typeof fixed.inputSchema !== 'object') {
|
|
274
|
+
fixed.inputSchema = { type: 'object', additionalProperties: true };
|
|
275
|
+
}
|
|
276
|
+
if (!fixed.outputSchema || typeof fixed.outputSchema !== 'object') {
|
|
277
|
+
fixed.outputSchema = { type: 'object', additionalProperties: true };
|
|
278
|
+
}
|
|
279
|
+
if (!Array.isArray(fixed.testCases) || fixed.testCases.length === 0) {
|
|
280
|
+
fixed.testCases = [{ input: {}, expectedOutput: {} }];
|
|
281
|
+
}
|
|
282
|
+
for (const tc of fixed.testCases) {
|
|
283
|
+
if (!tc.input || typeof tc.input !== 'object')
|
|
284
|
+
tc.input = {};
|
|
285
|
+
if (tc.expectedOutput === undefined)
|
|
286
|
+
tc.expectedOutput = {};
|
|
287
|
+
}
|
|
288
|
+
const mode = fixed.implementation?.mode || '?';
|
|
289
|
+
const toolName = String(fixed.name || 'unnamed');
|
|
290
|
+
const toolDescription = String(fixed.description || toolName);
|
|
291
|
+
console.log(` 🔧 [${dept}] Forging "${toolName}" (${mode})...`);
|
|
292
|
+
const patched = { ...ctx, gmiId: agentId, sessionData: { ...(ctx?.sessionData ?? {}), sessionId } };
|
|
293
|
+
try {
|
|
294
|
+
const r = await raw.execute(fixed, patched);
|
|
295
|
+
const out = r.output;
|
|
296
|
+
const verdict = out?.verdict || {};
|
|
297
|
+
// Judge confidence is the judge's score for whether the tool
|
|
298
|
+
// is safe + correct. When the judge fails the forge, its
|
|
299
|
+
// confidence is in REJECTING the tool; surfacing that as the
|
|
300
|
+
// tool's own quality score is misleading. So:
|
|
301
|
+
// approved → use judge confidence if provided, else 0.85
|
|
302
|
+
// rejected → confidence is 0 (not accepted at all)
|
|
303
|
+
const judgeConfidence = typeof verdict.confidence === 'number' ? verdict.confidence : null;
|
|
304
|
+
const confidence = r.success ? (judgeConfidence ?? 0.85) : 0;
|
|
305
|
+
const errorReason = !r.success
|
|
306
|
+
? String(r.error || verdict.reasoning || out?.error || '').slice(0, 240)
|
|
307
|
+
: undefined;
|
|
308
|
+
if (r.success) {
|
|
309
|
+
console.log(` 🔧 [${dept}] ✓ "${toolName}" approved (conf ${confidence.toFixed(2)})`);
|
|
310
|
+
}
|
|
311
|
+
else {
|
|
312
|
+
console.log(` 🔧 [${dept}] ✗ "${toolName}" — ${errorReason}`);
|
|
313
|
+
}
|
|
314
|
+
capture({
|
|
315
|
+
name: toolName,
|
|
316
|
+
description: toolDescription,
|
|
317
|
+
mode: String(mode),
|
|
318
|
+
inputSchema: fixed.inputSchema,
|
|
319
|
+
outputSchema: fixed.outputSchema,
|
|
320
|
+
approved: !!r.success,
|
|
321
|
+
confidence,
|
|
322
|
+
output: out?.testResults ?? out?.result ?? out ?? null,
|
|
323
|
+
errorReason,
|
|
324
|
+
department: dept,
|
|
325
|
+
timestamp: Date.now(),
|
|
326
|
+
});
|
|
327
|
+
return r;
|
|
328
|
+
}
|
|
329
|
+
catch (err) {
|
|
330
|
+
console.log(` 🔧 [${dept}] ERR: ${err}`);
|
|
331
|
+
capture({
|
|
332
|
+
name: toolName,
|
|
333
|
+
description: toolDescription,
|
|
334
|
+
mode: String(mode),
|
|
335
|
+
inputSchema: fixed.inputSchema,
|
|
336
|
+
outputSchema: fixed.outputSchema,
|
|
337
|
+
approved: false,
|
|
338
|
+
confidence: 0,
|
|
339
|
+
output: null,
|
|
340
|
+
errorReason: String(err).slice(0, 240),
|
|
341
|
+
department: dept,
|
|
342
|
+
timestamp: Date.now(),
|
|
343
|
+
});
|
|
344
|
+
return { success: false, error: String(err) };
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
//# sourceMappingURL=emergent-setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emergent-setup.js","sourceRoot":"","sources":["../../../src/runtime/emergent-setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type CapturedForge } from './emergent-setup.js';
|
|
1
2
|
import type { Department, TurnOutcome } from '../engine/core/state.js';
|
|
2
3
|
import type { CommanderDecision, TurnArtifact } from './contracts.js';
|
|
3
4
|
import type { KeyPersonnel } from '../engine/core/agent-generator.js';
|
|
@@ -7,22 +8,6 @@ import type { LlmProvider, SimulationModelConfig } from '../engine/types.js';
|
|
|
7
8
|
import { type SimulationExecutionConfig, type StartingPolitics, type StartingResources } from '../cli/sim-config.js';
|
|
8
9
|
import type { LeaderConfig } from '../engine/types.js';
|
|
9
10
|
export type { LeaderConfig };
|
|
10
|
-
/** Captured forge event — the ground-truth record of an actual forge call,
|
|
11
|
-
* independent of whether the LLM remembered to self-report it in its JSON. */
|
|
12
|
-
export interface CapturedForge {
|
|
13
|
-
name: string;
|
|
14
|
-
description: string;
|
|
15
|
-
mode: string;
|
|
16
|
-
inputSchema: unknown;
|
|
17
|
-
outputSchema: unknown;
|
|
18
|
-
approved: boolean;
|
|
19
|
-
confidence: number;
|
|
20
|
-
output: unknown;
|
|
21
|
-
errorReason?: string;
|
|
22
|
-
department: string;
|
|
23
|
-
/** Wall-clock ms timestamp so we can attribute forges to the surrounding event. */
|
|
24
|
-
timestamp: number;
|
|
25
|
-
}
|
|
26
11
|
export type SimEvent = {
|
|
27
12
|
type: 'turn_start' | 'event_start' | 'dept_start' | 'dept_done' | 'forge_attempt' | 'commander_deciding' | 'commander_decided' | 'outcome' | 'drift' | 'agent_reactions' | 'bulletin' | 'turn_done' | 'promotion' | 'colony_snapshot' | 'provider_error' | 'sim_aborted';
|
|
28
13
|
leader: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/runtime/orchestrator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/runtime/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { writeFileSync, mkdirSync } from 'node:fs';
|
|
2
2
|
import { resolve, dirname } from 'node:path';
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
|
-
import {
|
|
4
|
+
import { extractJson } from '@framers/agentos';
|
|
5
|
+
import { webSearchTool, createEmergentEngine, wrapForgeTool } from './emergent-setup.js';
|
|
5
6
|
import { SeededRng } from '../engine/core/rng.js';
|
|
6
7
|
import { classifyOutcome, classifyOutcomeById } from '../engine/core/progression.js';
|
|
7
8
|
import { SimulationKernel } from '../engine/core/kernel.js';
|
|
@@ -19,360 +20,6 @@ import { EffectRegistry } from '../engine/effect-registry.js';
|
|
|
19
20
|
import { marsScenario } from '../engine/mars/index.js';
|
|
20
21
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
21
22
|
// ---------------------------------------------------------------------------
|
|
22
|
-
// Web search tool
|
|
23
|
-
// ---------------------------------------------------------------------------
|
|
24
|
-
const webSearchTool = {
|
|
25
|
-
id: 'tool.web_search', name: 'web_search', displayName: 'Multi-Provider Web Search',
|
|
26
|
-
description: 'Search for scientific papers, NASA data, and Mars research using AgentOS WebSearchService with multi-provider fusion (Serper, Tavily, Firecrawl, Brave) and Cohere neural reranking.',
|
|
27
|
-
inputSchema: { type: 'object', properties: { query: { type: 'string' } }, required: ['query'] },
|
|
28
|
-
hasSideEffects: false,
|
|
29
|
-
async execute(args) {
|
|
30
|
-
const query = String(args.query || '');
|
|
31
|
-
// Try AgentOS WebSearchService first (multi-provider with RRF fusion)
|
|
32
|
-
try {
|
|
33
|
-
const { WebSearchService, FirecrawlProvider, TavilyProvider, SerperProvider, BraveProvider } = await import('@framers/agentos/web-search');
|
|
34
|
-
const service = new WebSearchService();
|
|
35
|
-
if (process.env.FIRECRAWL_API_KEY)
|
|
36
|
-
service.registerProvider(new FirecrawlProvider(process.env.FIRECRAWL_API_KEY));
|
|
37
|
-
if (process.env.TAVILY_API_KEY)
|
|
38
|
-
service.registerProvider(new TavilyProvider(process.env.TAVILY_API_KEY));
|
|
39
|
-
if (process.env.SERPER_API_KEY)
|
|
40
|
-
service.registerProvider(new SerperProvider(process.env.SERPER_API_KEY));
|
|
41
|
-
if (process.env.BRAVE_API_KEY)
|
|
42
|
-
service.registerProvider(new BraveProvider(process.env.BRAVE_API_KEY));
|
|
43
|
-
if (!service.hasProviders()) {
|
|
44
|
-
return { success: false, error: 'No search API keys configured. Set SERPER_API_KEY, TAVILY_API_KEY, FIRECRAWL_API_KEY, or BRAVE_API_KEY.' };
|
|
45
|
-
}
|
|
46
|
-
const results = await service.search(query, { maxResults: 5, rerank: !!process.env.COHERE_API_KEY });
|
|
47
|
-
return {
|
|
48
|
-
success: true,
|
|
49
|
-
output: {
|
|
50
|
-
results: results.map(r => ({
|
|
51
|
-
title: r.title, url: r.url, snippet: r.snippet,
|
|
52
|
-
providers: r.providerSources || [],
|
|
53
|
-
relevance: r.rerankScore || r.rrfScore || r.relevanceScore,
|
|
54
|
-
})),
|
|
55
|
-
query,
|
|
56
|
-
reranked: !!process.env.COHERE_API_KEY,
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
catch {
|
|
61
|
-
// Fallback to direct Serper if AgentOS web-search module not available
|
|
62
|
-
try {
|
|
63
|
-
const key = process.env.SERPER_API_KEY;
|
|
64
|
-
if (!key)
|
|
65
|
-
return { success: false, error: 'No search API keys configured' };
|
|
66
|
-
const res = await fetch('https://google.serper.dev/search', {
|
|
67
|
-
method: 'POST', headers: { 'X-API-KEY': key, 'Content-Type': 'application/json' },
|
|
68
|
-
body: JSON.stringify({ q: query, num: 5 }),
|
|
69
|
-
});
|
|
70
|
-
if (!res.ok)
|
|
71
|
-
return { success: false, error: `Search ${res.status}` };
|
|
72
|
-
const data = await res.json();
|
|
73
|
-
return { success: true, output: { results: (data.organic || []).slice(0, 5).map((r) => ({ title: r.title, url: r.link, snippet: r.snippet })), query } };
|
|
74
|
-
}
|
|
75
|
-
catch (err) {
|
|
76
|
-
return { success: false, error: String(err) };
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
},
|
|
80
|
-
};
|
|
81
|
-
// ---------------------------------------------------------------------------
|
|
82
|
-
// Emergent engine
|
|
83
|
-
// ---------------------------------------------------------------------------
|
|
84
|
-
/**
|
|
85
|
-
* Create the emergent capability engine wired to AgentOS's forge + judge.
|
|
86
|
-
*
|
|
87
|
-
* @param toolMap Registry of built-in tools (web_search, etc.) that forged
|
|
88
|
-
* tools can compose against via the ComposableToolBuilder.
|
|
89
|
-
* @param provider LLM provider for judge calls (openai | anthropic).
|
|
90
|
-
* @param judgeModel Model ID used for judge reviews. Kept cheap by default
|
|
91
|
-
* in sim-config.ts — the judge runs once per forge (dozens per run)
|
|
92
|
-
* so flagship-model pricing here dominates total cost.
|
|
93
|
-
* @param execution Runtime limits (sandbox timeout / memory).
|
|
94
|
-
* @param onUsage Optional callback invoked after every judge LLM call so the
|
|
95
|
-
* orchestrator can fold judge spend into the run-wide cost telemetry.
|
|
96
|
-
* Without this, judge costs (often 30-50% of total run spend) were
|
|
97
|
-
* silently invisible to `runSimulation()`'s returned `cost` object
|
|
98
|
-
* even though the API bill against the provider was still real.
|
|
99
|
-
*/
|
|
100
|
-
function createEmergentEngine(toolMap, provider, judgeModel, execution = {}, onUsage,
|
|
101
|
-
/**
|
|
102
|
-
* Called when the judge's LLM call throws. Forwards to the run-level
|
|
103
|
-
* provider-error classifier so quota/auth failures on judge calls get
|
|
104
|
-
* reported the same way as failures on any other call site.
|
|
105
|
-
*/
|
|
106
|
-
onProviderError) {
|
|
107
|
-
const llmCb = async (model, prompt) => {
|
|
108
|
-
try {
|
|
109
|
-
const r = await generateText({ provider, model: model || judgeModel, prompt });
|
|
110
|
-
onUsage?.(r);
|
|
111
|
-
return r.text;
|
|
112
|
-
}
|
|
113
|
-
catch (err) {
|
|
114
|
-
onProviderError?.(err);
|
|
115
|
-
throw err;
|
|
116
|
-
}
|
|
117
|
-
};
|
|
118
|
-
// Structured callback with cacheable system block. Judge's stable
|
|
119
|
-
// rubric (~500 tokens) lands in the system slot with cacheBreakpoint:
|
|
120
|
-
// true, so on Anthropic the second judge call onward reads cached
|
|
121
|
-
// tokens at 10% of input rate. OpenAI auto-caches prompts >= 1024
|
|
122
|
-
// tokens so the same savings apply once the rubric lives in a stable
|
|
123
|
-
// prefix position. Typical run saves ~25% of judge spend.
|
|
124
|
-
const llmCbWithSystem = async (model, system, user) => {
|
|
125
|
-
try {
|
|
126
|
-
const r = await generateText({
|
|
127
|
-
provider,
|
|
128
|
-
model: model || judgeModel,
|
|
129
|
-
system: [{ text: system, cacheBreakpoint: true }],
|
|
130
|
-
prompt: user,
|
|
131
|
-
});
|
|
132
|
-
onUsage?.(r);
|
|
133
|
-
return r.text;
|
|
134
|
-
}
|
|
135
|
-
catch (err) {
|
|
136
|
-
onProviderError?.(err);
|
|
137
|
-
throw err;
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
// Session-tier tool limit. Previously the engine config set this to 20
|
|
141
|
-
// but the registry was constructed below WITHOUT receiving that config,
|
|
142
|
-
// so it fell through to AgentOS's DEFAULT_EMERGENT_CONFIG value of 10.
|
|
143
|
-
// That limit was reached by turn 3 in a 5-department run (5 depts ×
|
|
144
|
-
// ~2 tools each = 10) and every subsequent forge failed with "Session
|
|
145
|
-
// tool limit reached". Bumped to 50 and propagated to the registry so
|
|
146
|
-
// the limit and the config are actually the SAME number.
|
|
147
|
-
//
|
|
148
|
-
// 50 comfortably fits 5 depts × 6 turns × ~1.5 unique tools each ≈ 45,
|
|
149
|
-
// with headroom for re-forges and composition wrappers. Agent-tier
|
|
150
|
-
// stays at 50 (those are promotion targets across runs).
|
|
151
|
-
const SESSION_TOOL_LIMIT = 50;
|
|
152
|
-
const AGENT_TOOL_LIMIT = 50;
|
|
153
|
-
const registry = new EmergentToolRegistry({
|
|
154
|
-
maxSessionTools: SESSION_TOOL_LIMIT,
|
|
155
|
-
maxAgentTools: AGENT_TOOL_LIMIT,
|
|
156
|
-
});
|
|
157
|
-
// EmergentJudgeConfig accepts an optional `generateTextWithSystem`
|
|
158
|
-
// callback for prompt caching. The installed @framers/agentos may
|
|
159
|
-
// predate that field (monorepo adds it in the same pass but npm
|
|
160
|
-
// publish is a separate step); the any-cast lets the cached path
|
|
161
|
-
// activate today and TS tightens automatically once the new version
|
|
162
|
-
// lands in node_modules. Runtime behavior is identical either way:
|
|
163
|
-
// the judge checks for the optional callback and falls back to the
|
|
164
|
-
// legacy one when it's absent.
|
|
165
|
-
const judgeConfig = {
|
|
166
|
-
judgeModel,
|
|
167
|
-
promotionModel: judgeModel,
|
|
168
|
-
generateText: llmCb,
|
|
169
|
-
generateTextWithSystem: llmCbWithSystem,
|
|
170
|
-
};
|
|
171
|
-
const judge = new EmergentJudge(judgeConfig);
|
|
172
|
-
const executor = async (name, args, ctx) => {
|
|
173
|
-
const t = toolMap.get(name);
|
|
174
|
-
return t ? t.execute(args, ctx) : { success: false, error: `Tool "${name}" not found` };
|
|
175
|
-
};
|
|
176
|
-
const engine = new EmergentCapabilityEngine({
|
|
177
|
-
config: {
|
|
178
|
-
enabled: true,
|
|
179
|
-
maxSessionTools: SESSION_TOOL_LIMIT,
|
|
180
|
-
maxAgentTools: AGENT_TOOL_LIMIT,
|
|
181
|
-
sandboxTimeoutMs: execution.sandboxTimeoutMs ?? DEFAULT_EXECUTION.sandboxTimeoutMs,
|
|
182
|
-
sandboxMemoryMB: execution.sandboxMemoryMB ?? DEFAULT_EXECUTION.sandboxMemoryMB,
|
|
183
|
-
promotionThreshold: { uses: 5, confidence: 0.8 },
|
|
184
|
-
allowSandboxTools: true, persistSandboxSource: true,
|
|
185
|
-
judgeModel, promotionJudgeModel: judgeModel,
|
|
186
|
-
},
|
|
187
|
-
composableBuilder: new ComposableToolBuilder(executor),
|
|
188
|
-
sandboxForge: new SandboxedToolForge(),
|
|
189
|
-
judge, registry,
|
|
190
|
-
});
|
|
191
|
-
return { engine, forgeTool: new ForgeToolMetaTool(engine) };
|
|
192
|
-
}
|
|
193
|
-
function wrapForgeTool(raw, agentId, sessionId, dept,
|
|
194
|
-
/** Sink that receives every successful (and failed) forge attempt for
|
|
195
|
-
* this dept. The orchestrator merges these into the SSE payload so the
|
|
196
|
-
* count reflects reality even when the LLM forgets to mention the tool
|
|
197
|
-
* in its own JSON response. */
|
|
198
|
-
capture) {
|
|
199
|
-
return {
|
|
200
|
-
...raw,
|
|
201
|
-
async execute(args, ctx) {
|
|
202
|
-
const fixed = { ...args };
|
|
203
|
-
// Parse stringified nested JSON from tool call serialization
|
|
204
|
-
for (const k of ['implementation', 'inputSchema', 'outputSchema', 'testCases']) {
|
|
205
|
-
if (typeof fixed[k] === 'string')
|
|
206
|
-
try {
|
|
207
|
-
fixed[k] = JSON.parse(fixed[k]);
|
|
208
|
-
}
|
|
209
|
-
catch (e) {
|
|
210
|
-
console.warn(` [forge] Failed to parse ${k}:`, e);
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
// Normalize implementation. LLMs send a wide variety of mode
|
|
214
|
-
// spellings and sometimes mis-label compose specs as sandbox or
|
|
215
|
-
// vice versa. AgentOS's engine does a STRICT `mode === 'compose'`
|
|
216
|
-
// check — anything else falls into the sandbox branch, which then
|
|
217
|
-
// reads `allowlist` / `code` fields that a compose spec does not
|
|
218
|
-
// carry. That path crashes with
|
|
219
|
-
// TypeError: Cannot read properties of undefined (reading 'includes')
|
|
220
|
-
// inside SandboxedToolForge.validateCode when it tries
|
|
221
|
-
// `allowlist.includes('fetch')` on an undefined allowlist.
|
|
222
|
-
//
|
|
223
|
-
// Normalize to one of exactly 'sandbox' or 'compose', infer from
|
|
224
|
-
// field shape when the mode string is unfamiliar, and backstop
|
|
225
|
-
// every required field so neither engine path can crash on
|
|
226
|
-
// malformed LLM output.
|
|
227
|
-
if (fixed.implementation && typeof fixed.implementation === 'object') {
|
|
228
|
-
const impl = fixed.implementation;
|
|
229
|
-
// Alias the common variants to their canonical values.
|
|
230
|
-
if (impl.mode === 'code' || impl.mode === 'javascript' || impl.mode === 'js') {
|
|
231
|
-
impl.mode = 'sandbox';
|
|
232
|
-
}
|
|
233
|
-
if (impl.mode === 'composed' ||
|
|
234
|
-
impl.mode === 'composition' ||
|
|
235
|
-
impl.mode === 'composable' ||
|
|
236
|
-
impl.mode === 'chain' ||
|
|
237
|
-
impl.mode === 'pipeline') {
|
|
238
|
-
impl.mode = 'compose';
|
|
239
|
-
}
|
|
240
|
-
// Mode still unrecognized: infer from fields. A spec with a
|
|
241
|
-
// `steps` array is a compose spec; one with `code` is sandbox.
|
|
242
|
-
// When neither field is present, default to sandbox since that
|
|
243
|
-
// is the more common LLM pattern and the safer default (sandbox
|
|
244
|
-
// code runs in a V8 isolate under an allowlist).
|
|
245
|
-
if (impl.mode !== 'sandbox' && impl.mode !== 'compose') {
|
|
246
|
-
if (Array.isArray(impl.steps))
|
|
247
|
-
impl.mode = 'compose';
|
|
248
|
-
else if (typeof impl.code === 'string')
|
|
249
|
-
impl.mode = 'sandbox';
|
|
250
|
-
else
|
|
251
|
-
impl.mode = 'sandbox';
|
|
252
|
-
}
|
|
253
|
-
// Backstop every required field for the chosen mode so the
|
|
254
|
-
// engine never hits an undefined-access crash. Missing fields
|
|
255
|
-
// still produce rejected forges (no valid code or no steps),
|
|
256
|
-
// but via the judge's normal rejection path with a readable
|
|
257
|
-
// error, not a TypeError deep in sandbox validation.
|
|
258
|
-
if (impl.mode === 'sandbox') {
|
|
259
|
-
if (!Array.isArray(impl.allowlist))
|
|
260
|
-
impl.allowlist = [];
|
|
261
|
-
if (impl.code != null && typeof impl.code !== 'string')
|
|
262
|
-
impl.code = String(impl.code);
|
|
263
|
-
if (!impl.code || typeof impl.code !== 'string') {
|
|
264
|
-
// No code body — synthesize a placeholder the judge will
|
|
265
|
-
// correctly reject rather than letting the sandbox crash.
|
|
266
|
-
impl.code = 'function execute(input) { return { error: "No code provided in forge request" }; }';
|
|
267
|
-
}
|
|
268
|
-
if (!impl.code.includes('function execute')) {
|
|
269
|
-
impl.code = `function execute(input) {\n${impl.code}\n}`;
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
else if (impl.mode === 'compose') {
|
|
273
|
-
if (!Array.isArray(impl.steps))
|
|
274
|
-
impl.steps = [];
|
|
275
|
-
// Each step needs a tool name, input mapping, and output name.
|
|
276
|
-
// Defaulting lets the judge reject structurally-invalid specs
|
|
277
|
-
// via its normal path instead of throwing deep in the pipeline.
|
|
278
|
-
for (const step of impl.steps) {
|
|
279
|
-
if (step && typeof step === 'object') {
|
|
280
|
-
if (typeof step.tool !== 'string')
|
|
281
|
-
step.tool = '';
|
|
282
|
-
if (typeof step.name !== 'string')
|
|
283
|
-
step.name = step.tool || 'step';
|
|
284
|
-
if (!step.inputMapping || typeof step.inputMapping !== 'object') {
|
|
285
|
-
step.inputMapping = {};
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
// Ensure schemas are valid objects — use permissive schemas so the judge
|
|
292
|
-
// doesn't reject on schema conformance mismatch
|
|
293
|
-
if (!fixed.inputSchema || typeof fixed.inputSchema !== 'object') {
|
|
294
|
-
fixed.inputSchema = { type: 'object', additionalProperties: true };
|
|
295
|
-
}
|
|
296
|
-
if (!fixed.outputSchema || typeof fixed.outputSchema !== 'object') {
|
|
297
|
-
fixed.outputSchema = { type: 'object', additionalProperties: true };
|
|
298
|
-
}
|
|
299
|
-
// Ensure testCases is a non-empty array with valid structure
|
|
300
|
-
if (!Array.isArray(fixed.testCases) || fixed.testCases.length === 0) {
|
|
301
|
-
fixed.testCases = [{ input: {}, expectedOutput: {} }];
|
|
302
|
-
}
|
|
303
|
-
for (const tc of fixed.testCases) {
|
|
304
|
-
if (!tc.input || typeof tc.input !== 'object')
|
|
305
|
-
tc.input = {};
|
|
306
|
-
if (tc.expectedOutput === undefined)
|
|
307
|
-
tc.expectedOutput = {};
|
|
308
|
-
}
|
|
309
|
-
const mode = fixed.implementation?.mode || '?';
|
|
310
|
-
const toolName = String(fixed.name || 'unnamed');
|
|
311
|
-
const toolDescription = String(fixed.description || toolName);
|
|
312
|
-
console.log(` 🔧 [${dept}] Forging "${toolName}" (${mode})...`);
|
|
313
|
-
const patched = { ...ctx, gmiId: agentId, sessionData: { ...(ctx?.sessionData ?? {}), sessionId } };
|
|
314
|
-
try {
|
|
315
|
-
const r = await raw.execute(fixed, patched);
|
|
316
|
-
const out = r.output;
|
|
317
|
-
const verdict = out?.verdict || {};
|
|
318
|
-
// Judge confidence is the LLM-as-judge's score for whether the
|
|
319
|
-
// tool is safe + correct. When the judge fails the forge, its
|
|
320
|
-
// confidence is in REJECTING the tool; surfacing it as the tool's
|
|
321
|
-
// own quality score is misleading. So:
|
|
322
|
-
// approved → use judge confidence if provided, else 0.85
|
|
323
|
-
// rejected → confidence is 0 (the tool didn't get accepted at all)
|
|
324
|
-
// This matches what the UI's PASS/FAIL pill is trying to communicate.
|
|
325
|
-
const judgeConfidence = typeof verdict.confidence === 'number' ? verdict.confidence : null;
|
|
326
|
-
const confidence = r.success
|
|
327
|
-
? (judgeConfidence ?? 0.85)
|
|
328
|
-
: 0;
|
|
329
|
-
const errorReason = !r.success
|
|
330
|
-
? String(r.error || verdict.reasoning || out?.error || '').slice(0, 240)
|
|
331
|
-
: undefined;
|
|
332
|
-
if (r.success) {
|
|
333
|
-
console.log(` 🔧 [${dept}] ✓ "${toolName}" approved (conf ${confidence.toFixed(2)})`);
|
|
334
|
-
}
|
|
335
|
-
else {
|
|
336
|
-
console.log(` 🔧 [${dept}] ✗ "${toolName}" — ${errorReason}`);
|
|
337
|
-
}
|
|
338
|
-
// Always capture — both successes and failures count as evidence of
|
|
339
|
-
// emergent forging behavior. The UI distinguishes them via PASS/FAIL.
|
|
340
|
-
capture({
|
|
341
|
-
name: toolName,
|
|
342
|
-
description: toolDescription,
|
|
343
|
-
mode: String(mode),
|
|
344
|
-
inputSchema: fixed.inputSchema,
|
|
345
|
-
outputSchema: fixed.outputSchema,
|
|
346
|
-
approved: !!r.success,
|
|
347
|
-
confidence,
|
|
348
|
-
output: out?.testResults ?? out?.result ?? out ?? null,
|
|
349
|
-
errorReason,
|
|
350
|
-
department: dept,
|
|
351
|
-
timestamp: Date.now(),
|
|
352
|
-
});
|
|
353
|
-
return r;
|
|
354
|
-
}
|
|
355
|
-
catch (err) {
|
|
356
|
-
console.log(` 🔧 [${dept}] ERR: ${err}`);
|
|
357
|
-
capture({
|
|
358
|
-
name: toolName,
|
|
359
|
-
description: toolDescription,
|
|
360
|
-
mode: String(mode),
|
|
361
|
-
inputSchema: fixed.inputSchema,
|
|
362
|
-
outputSchema: fixed.outputSchema,
|
|
363
|
-
approved: false,
|
|
364
|
-
confidence: 0,
|
|
365
|
-
output: null,
|
|
366
|
-
errorReason: String(err).slice(0, 240),
|
|
367
|
-
department: dept,
|
|
368
|
-
timestamp: Date.now(),
|
|
369
|
-
});
|
|
370
|
-
return { success: false, error: String(err) };
|
|
371
|
-
}
|
|
372
|
-
},
|
|
373
|
-
};
|
|
374
|
-
}
|
|
375
|
-
// ---------------------------------------------------------------------------
|
|
376
23
|
// Parsing
|
|
377
24
|
// ---------------------------------------------------------------------------
|
|
378
25
|
function humanizeToolName(name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/runtime/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/runtime/orchestrator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "paracosm",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.142",
|
|
4
4
|
"description": "AI agent swarm simulation engine with emergent crises, runtime tool forging, HEXACO personality drift, and deterministic kernels. Built on AgentOS.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/engine/index.js",
|