paracosm 0.4.240 → 0.4.248

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.
@@ -14,6 +14,7 @@
14
14
  */
15
15
  import type { SimulationModelConfig } from '../engine/types.js';
16
16
  import { type CostSite } from './pricing.js';
17
+ import { type ForgeStats as AgentOSForgeStats } from '@framers/agentos';
17
18
  /** Token + cost rollup for a single pipeline stage across a run. */
18
19
  export interface CostBucket {
19
20
  totalTokens: number;
@@ -48,50 +49,11 @@ export interface CostBreakdownEntry {
48
49
  * the same SSE payload that ships cost data also ships "how is the
49
50
  * judge treating this run's forges". Persists across the run (never
50
51
  * decrements, matching the schemaRetries pattern).
52
+ *
53
+ * Identical in shape to AgentOS's {@link AgentOSForgeStats}; aliased so
54
+ * any future drift in the canonical definition propagates automatically.
51
55
  */
52
- export interface ForgeStats {
53
- /** Total forge attempts (approved + rejected combined). */
54
- attempts: number;
55
- /** Attempts the judge approved. */
56
- approved: number;
57
- /** Attempts the judge rejected (shape check OR judge verdict). */
58
- rejected: number;
59
- /** Sum of confidence across APPROVED forges. Divide by `approved` for avg. */
60
- approvedConfidenceSum: number;
61
- /**
62
- * Count of UNIQUE tool names seen this run. A forge that got rejected
63
- * and re-forged under the same name counts once. Provides the
64
- * "how many distinct tools did this run attempt" signal.
65
- */
66
- uniqueNames: number;
67
- /**
68
- * Count of unique tool names that got approved at least once this
69
- * run. Raw `approved` counts every approval attempt (re-forges add);
70
- * `uniqueApproved` counts tools that landed in the toolbox.
71
- */
72
- uniqueApproved: number;
73
- /**
74
- * Count of unique tool names that were ONLY rejected (never
75
- * approved) this run. Non-zero means some forge ideas failed
76
- * terminally; the retry loop did not recover. This is the
77
- * actionable quality signal — small even when raw `rejected` is
78
- * large because most rejections recover on subsequent attempts.
79
- */
80
- uniqueTerminalRejections: number;
81
- /**
82
- * Histogram of rejection reasons this run, classified by
83
- * classifyForgeRejection. Turns "why did forges fail" from a
84
- * log-grep question into a live dashboard signal. Keys match
85
- * ForgeRejectionCategory.
86
- */
87
- rejectionReasons: {
88
- schema_extra_field: number;
89
- shape_check: number;
90
- parse_error: number;
91
- judge_correctness: number;
92
- other: number;
93
- };
94
- }
56
+ export type ForgeStats = AgentOSForgeStats;
95
57
  /**
96
58
  * Per-run prompt-cache rollup. Ships alongside forgeStats on every
97
59
  * _cost SSE payload so the dashboard can render live cache health.
@@ -1 +1 @@
1
- {"version":3,"file":"cost-tracker.d.ts","sourceRoot":"","sources":["../../../src/runtime/cost-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost-tracker.d.ts","sourceRoot":"","sources":["../../../src/runtime/cost-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAGL,KAAK,QAAQ,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAEL,KAAK,UAAU,IAAI,iBAAiB,EACrC,MAAM,kBAAkB,CAAC;AAE1B,oEAAoE;AACpE,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,eAAe,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,oEAAoE;AACpE,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB;qEACiE;IACjE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;CACf;AAED,0EAA0E;AAC1E,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC9C;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvF;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAED,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,UAAU,CAAC,MAAM,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAA;KAAE,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjE;;;;;OAKG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACnF;;;;;;;;;;;;OAYG;IACH,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzG;;;;;;OAMG;IACH,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC;IACzF,2DAA2D;IAC3D,gBAAgB,IAAI,WAAW,CAAC;IAChC;;;;;OAKG;IACH,SAAS,IAAI;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACvF,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,cAAc,CAAC,EAAE,kBAAkB,CAAC;KACrC,CAAC;CACH;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,qBAAqB,GAAG,WAAW,CAuMjF"}
@@ -13,7 +13,7 @@
13
13
  * @module paracosm/runtime/cost-tracker
14
14
  */
15
15
  import { buildPriceForSite, getDefaultPricing, } from './pricing.js';
16
- import { classifyForgeRejection } from './forge-rejection-classifier.js';
16
+ import { ForgeStatsAggregator, } from '@framers/agentos';
17
17
  /**
18
18
  * Create a per-run cost tracker bound to a specific model config.
19
19
  *
@@ -42,47 +42,14 @@ export function createCostTracker(modelConfig) {
42
42
  */
43
43
  const schemaRetries = new Map();
44
44
  /**
45
- * Running forge stats. Incremented on every wrapForgeTool capture so
46
- * SSE consumers see a live approval-rate indicator as the run goes.
45
+ * Running forge stats aggregator. Every wrapForgeTool capture feeds
46
+ * through recordForgeAttempt, which delegates to the AgentOS
47
+ * aggregator so SSE consumers see a live approval-rate indicator as
48
+ * the run goes. The aggregator owns the unique-name set bookkeeping,
49
+ * the rejection-reason histogram, and the `uniqueTerminalRejections =
50
+ * |rejectedNames − approvedNames|` math.
47
51
  */
48
- const forgeStats = {
49
- attempts: 0,
50
- approved: 0,
51
- rejected: 0,
52
- approvedConfidenceSum: 0,
53
- uniqueNames: 0,
54
- uniqueApproved: 0,
55
- uniqueTerminalRejections: 0,
56
- rejectionReasons: {
57
- schema_extra_field: 0,
58
- shape_check: 0,
59
- parse_error: 0,
60
- judge_correctness: 0,
61
- other: 0,
62
- },
63
- };
64
- // Per-name sets so the rollup can report unique-tool metrics. A tool
65
- // rejected twice then approved contributes to `rejectedNames` and
66
- // `approvedNames` both — at snapshot time, uniqueTerminalRejections =
67
- // |rejectedNames - approvedNames|.
68
- const approvedNames = new Set();
69
- const rejectedNames = new Set();
70
- const refreshUniqueForgeCounts = () => {
71
- forgeStats.uniqueApproved = approvedNames.size;
72
- // Names that were rejected but never approved = terminal failures.
73
- let terminal = 0;
74
- for (const n of rejectedNames)
75
- if (!approvedNames.has(n))
76
- terminal += 1;
77
- forgeStats.uniqueTerminalRejections = terminal;
78
- // Total unique = union of both sets.
79
- const union = new Set();
80
- for (const n of approvedNames)
81
- union.add(n);
82
- for (const n of rejectedNames)
83
- union.add(n);
84
- forgeStats.uniqueNames = union.size;
85
- };
52
+ const forgeAggregator = new ForgeStatsAggregator();
86
53
  /**
87
54
  * Provider-error counters keyed by classifier kind. Incremented on
88
55
  * every classified error, not just terminal ones, so rate-limit
@@ -179,8 +146,9 @@ export function createCostTracker(modelConfig) {
179
146
  if (schemaRetries.size > 0) {
180
147
  payload.schemaRetries = Object.fromEntries(schemaRetries.entries());
181
148
  }
182
- if (forgeStats.attempts > 0) {
183
- payload.forgeStats = { ...forgeStats };
149
+ const forgeSnapshot = forgeAggregator.snapshot();
150
+ if (forgeSnapshot.attempts > 0) {
151
+ payload.forgeStats = forgeSnapshot;
184
152
  }
185
153
  if (cacheReadTokens > 0 || cacheCreationTokens > 0) {
186
154
  payload.cacheStats = {
@@ -205,24 +173,7 @@ export function createCostTracker(modelConfig) {
205
173
  });
206
174
  };
207
175
  const recordForgeAttempt = (approved, confidence, toolName, errorReason) => {
208
- forgeStats.attempts += 1;
209
- if (approved) {
210
- forgeStats.approved += 1;
211
- forgeStats.approvedConfidenceSum += confidence;
212
- if (toolName)
213
- approvedNames.add(toolName);
214
- }
215
- else {
216
- forgeStats.rejected += 1;
217
- if (toolName)
218
- rejectedNames.add(toolName);
219
- // Bucket the rejection reason so /retry-stats and the dashboard
220
- // can show the failure-mode distribution without log-grep. Only
221
- // meaningful on rejections; approvals never carry errorReason.
222
- const category = classifyForgeRejection(errorReason);
223
- forgeStats.rejectionReasons[category] += 1;
224
- }
225
- refreshUniqueForgeCounts();
176
+ forgeAggregator.recordAttempt(approved, confidence, toolName, errorReason);
226
177
  };
227
178
  const recordProviderError = (kind) => {
228
179
  providerErrors[kind] += 1;
@@ -237,8 +188,9 @@ export function createCostTracker(modelConfig) {
237
188
  if (schemaRetries.size > 0) {
238
189
  out.schemaRetries = Object.fromEntries(schemaRetries.entries());
239
190
  }
240
- if (forgeStats.attempts > 0) {
241
- out.forgeStats = { ...forgeStats };
191
+ const forgeSnapshot = forgeAggregator.snapshot();
192
+ if (forgeSnapshot.attempts > 0) {
193
+ out.forgeStats = forgeSnapshot;
242
194
  }
243
195
  // Emit cacheStats only when the provider reported at least one
244
196
  // cache-related token count. OpenAI runs (which auto-cache but
@@ -1 +1 @@
1
- {"version":3,"file":"cost-tracker.js","sourceRoot":"","sources":["../../../src/runtime/cost-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost-tracker.js","sourceRoot":"","sources":["../../../src/runtime/cost-tracker.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,8 @@
17
17
  * @module paracosm/runtime/emergent-setup
18
18
  */
19
19
  import type { ITool } from '@framers/agentos';
20
- import { EmergentCapabilityEngine, ForgeToolMetaTool } from '@framers/agentos';
20
+ import { EmergentCapabilityEngine, ForgeToolMetaTool, validateForgeShape, inferSchemaFromTestCases } from '@framers/agentos';
21
+ export { validateForgeShape, inferSchemaFromTestCases };
21
22
  import { type SimulationExecutionConfig } from '../cli/sim-config.js';
22
23
  import type { LlmProvider } from '../engine/types.js';
23
24
  /**
@@ -102,48 +103,18 @@ export interface CapturedForge {
102
103
  /** Wall-clock ms timestamp so we can attribute forges to the surrounding event. */
103
104
  timestamp: number;
104
105
  }
105
- /**
106
- * When inputSchema / outputSchema lack declared properties but the
107
- * testCases carry real field values, synthesize properties from the
108
- * testCase data so the shape validator passes.
109
- *
110
- * The LLM regularly emits concrete test cases without formalizing the
111
- * schema shape. Before this helper, every such forge was rejected by
112
- * validateForgeShape even though the intent was clearly legitimate.
113
- *
114
- * Mutates `req.inputSchema` / `req.outputSchema` in place. A scanned
115
- * union of fields across ALL testCases is used so a single incomplete
116
- * case doesn't narrow the schema.
117
- *
118
- * Exported for unit testing.
119
- */
120
- export declare function inferSchemaFromTestCases(req: {
121
- inputSchema?: unknown;
122
- outputSchema?: unknown;
123
- testCases?: unknown;
124
- }): void;
125
- /**
126
- * Shape check run against a normalized forge request before it hits
127
- * the judge. Catches the failure modes that cause almost all cheap-
128
- * tier forge rejections (empty schemas + empty-input testCases) and
129
- * returns a list of reasons. Empty array means the forge is well-
130
- * formed enough to warrant the judge's attention.
131
- *
132
- * Exported for direct unit testing so the rule surface is pinned
133
- * without having to mock the forge engine.
134
- */
135
- export declare function validateForgeShape(req: {
136
- inputSchema?: unknown;
137
- outputSchema?: unknown;
138
- testCases?: unknown;
139
- }): string[];
140
106
  /**
141
107
  * Wrap the raw forge_tool meta-tool so each department's forge attempts
142
- * get captured + logged + normalized before they reach the engine. LLMs
143
- * emit wild variety in forge_tool args (stringified JSON, wrong mode
144
- * spellings, missing allowlists, no code body). This wrapper fixes them
145
- * up so the engine never crashes deep in sandbox validation, and every
146
- * attempt gets recorded into the `capture` sink regardless of outcome.
108
+ * get captured + logged + normalized before they reach the engine.
109
+ *
110
+ * Thin adapter over AgentOS's `wrapForgeTool`. Preserves paracosm's
111
+ * legacy positional signature (dept, capture) and wire shape
112
+ * (CapturedForge.department) so every downstream consumer orchestrator
113
+ * buckets, SSE payloads, the dashboard's forge viz — keeps working
114
+ * without a schema-level migration. Internally the AgentOS version does
115
+ * all the normalization, shape validation, schema inference, and capture
116
+ * — paracosm contributes the pm2-format console logging and the
117
+ * department-shaped capture record.
147
118
  */
148
119
  export declare function wrapForgeTool(raw: ForgeToolMetaTool, agentId: string, sessionId: string, dept: string, capture: (record: CapturedForge) => void): ITool;
149
120
  //# sourceMappingURL=emergent-setup.d.ts.map
@@ -1 +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,EAE7D,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;AACxC;;;;;;GAMG;AACH,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;;;EA0FvC;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,CAkCjF;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;AAiBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,IAAI,CAiDP;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,MAAM,EAAE,CA0BX;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,CAmLP"}
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,EAG5D,kBAAkB,EAClB,wBAAwB,EAGzB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,CAAC;AACxD,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;AACxC;;;;;;GAMG;AACH,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;;;EA0FvC;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,KAAK,CAkCjF;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;;;;;;;;;;;;GAYG;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,CAyCP"}
@@ -16,7 +16,10 @@
16
16
  *
17
17
  * @module paracosm/runtime/emergent-setup
18
18
  */
19
- import { EmergentCapabilityEngine, EmergentJudge, EmergentToolRegistry, ComposableToolBuilder, SandboxedToolForge, ForgeToolMetaTool, generateText, } from '@framers/agentos';
19
+ import { EmergentCapabilityEngine, EmergentJudge, EmergentToolRegistry, ComposableToolBuilder, SandboxedToolForge, ForgeToolMetaTool, generateText, wrapForgeTool as wrapForgeToolAgentOS, validateForgeShape, inferSchemaFromTestCases, } from '@framers/agentos';
20
+ // Re-export the generalized forge utilities so existing paracosm call
21
+ // sites continue to import from this module without churn.
22
+ export { validateForgeShape, inferSchemaFromTestCases };
20
23
  import { DEFAULT_EXECUTION } from '../cli/sim-config.js';
21
24
  // ---------------------------------------------------------------------------
22
25
  // Web search tool
@@ -261,313 +264,57 @@ export function createCallForgedTool(forgedExecutables) {
261
264
  },
262
265
  };
263
266
  }
264
- /**
265
- * Derive a JSON-Schema primitive type from a concrete testCase value.
266
- * Handles the types the sandbox forge actually returns: number, string,
267
- * boolean, object, array. Falls back to `string` for anything else so
268
- * the schema stays well-formed.
269
- */
270
- function inferTypeFromValue(v) {
271
- if (typeof v === 'number')
272
- return 'number';
273
- if (typeof v === 'boolean')
274
- return 'boolean';
275
- if (typeof v === 'string')
276
- return 'string';
277
- if (Array.isArray(v))
278
- return 'array';
279
- if (v !== null && typeof v === 'object')
280
- return 'object';
281
- return 'string';
282
- }
283
- /**
284
- * When inputSchema / outputSchema lack declared properties but the
285
- * testCases carry real field values, synthesize properties from the
286
- * testCase data so the shape validator passes.
287
- *
288
- * The LLM regularly emits concrete test cases without formalizing the
289
- * schema shape. Before this helper, every such forge was rejected by
290
- * validateForgeShape even though the intent was clearly legitimate.
291
- *
292
- * Mutates `req.inputSchema` / `req.outputSchema` in place. A scanned
293
- * union of fields across ALL testCases is used so a single incomplete
294
- * case doesn't narrow the schema.
295
- *
296
- * Exported for unit testing.
297
- */
298
- export function inferSchemaFromTestCases(req) {
299
- const tcArr = Array.isArray(req.testCases)
300
- ? req.testCases
301
- : [];
302
- if (tcArr.length === 0)
303
- return;
304
- const inferProperties = (key) => {
305
- const props = {};
306
- for (const tc of tcArr) {
307
- const data = tc?.[key];
308
- if (!data || typeof data !== 'object' || Array.isArray(data))
309
- continue;
310
- for (const [field, value] of Object.entries(data)) {
311
- if (props[field])
312
- continue;
313
- props[field] = { type: inferTypeFromValue(value) };
314
- }
315
- }
316
- return props;
317
- };
318
- const maybeUpgrade = (schemaKey, testCaseKey) => {
319
- const schema = req[schemaKey];
320
- const current = (schema && typeof schema === 'object' ? schema : {});
321
- const hasProps = current.properties &&
322
- typeof current.properties === 'object' &&
323
- Object.keys(current.properties).length > 0;
324
- if (hasProps)
325
- return;
326
- const inferred = inferProperties(testCaseKey);
327
- if (Object.keys(inferred).length === 0)
328
- return;
329
- req[schemaKey] = {
330
- type: 'object',
331
- properties: inferred,
332
- required: Object.keys(inferred),
333
- additionalProperties: false,
334
- };
335
- };
336
- maybeUpgrade('inputSchema', 'input');
337
- maybeUpgrade('outputSchema', 'expectedOutput');
338
- }
339
- /**
340
- * Shape check run against a normalized forge request before it hits
341
- * the judge. Catches the failure modes that cause almost all cheap-
342
- * tier forge rejections (empty schemas + empty-input testCases) and
343
- * returns a list of reasons. Empty array means the forge is well-
344
- * formed enough to warrant the judge's attention.
345
- *
346
- * Exported for direct unit testing so the rule surface is pinned
347
- * without having to mock the forge engine.
348
- */
349
- export function validateForgeShape(req) {
350
- const errors = [];
351
- const inputSchema = req.inputSchema;
352
- const outputSchema = req.outputSchema;
353
- const inputProps = inputSchema && typeof inputSchema.properties === 'object' ? inputSchema.properties : null;
354
- const outputProps = outputSchema && typeof outputSchema.properties === 'object' ? outputSchema.properties : null;
355
- if (!inputProps || Object.keys(inputProps).length === 0) {
356
- errors.push('inputSchema has no declared properties; add at least two typed fields');
357
- }
358
- if (!outputProps || Object.keys(outputProps).length === 0) {
359
- errors.push('outputSchema has no declared properties; add at least one typed output field');
360
- }
361
- const tcArr = Array.isArray(req.testCases)
362
- ? req.testCases
363
- : [];
364
- if (tcArr.length < 2) {
365
- errors.push(`need at least 2 testCases, got ${tcArr.length}`);
366
- }
367
- const emptyInputs = tcArr.filter(tc => {
368
- const inp = tc?.input;
369
- return !inp || typeof inp !== 'object' || Object.keys(inp).length === 0;
370
- }).length;
371
- if (emptyInputs > 0) {
372
- errors.push(`${emptyInputs} testCase${emptyInputs === 1 ? '' : 's'} use empty input; every test needs real field values`);
373
- }
374
- return errors;
375
- }
376
267
  /**
377
268
  * Wrap the raw forge_tool meta-tool so each department's forge attempts
378
- * get captured + logged + normalized before they reach the engine. LLMs
379
- * emit wild variety in forge_tool args (stringified JSON, wrong mode
380
- * spellings, missing allowlists, no code body). This wrapper fixes them
381
- * up so the engine never crashes deep in sandbox validation, and every
382
- * attempt gets recorded into the `capture` sink regardless of outcome.
269
+ * get captured + logged + normalized before they reach the engine.
270
+ *
271
+ * Thin adapter over AgentOS's `wrapForgeTool`. Preserves paracosm's
272
+ * legacy positional signature (dept, capture) and wire shape
273
+ * (CapturedForge.department) so every downstream consumer orchestrator
274
+ * buckets, SSE payloads, the dashboard's forge viz — keeps working
275
+ * without a schema-level migration. Internally the AgentOS version does
276
+ * all the normalization, shape validation, schema inference, and capture
277
+ * — paracosm contributes the pm2-format console logging and the
278
+ * department-shaped capture record.
383
279
  */
384
280
  export function wrapForgeTool(raw, agentId, sessionId, dept, capture) {
385
- return {
386
- ...raw,
387
- async execute(args, ctx) {
388
- const fixed = { ...args };
389
- for (const k of ['implementation', 'inputSchema', 'outputSchema', 'testCases']) {
390
- if (typeof fixed[k] === 'string') {
391
- try {
392
- fixed[k] = JSON.parse(fixed[k]);
393
- }
394
- catch (e) {
395
- console.warn(` [forge] Failed to parse ${k}:`, e);
396
- }
397
- }
398
- }
399
- // Normalize implementation. LLMs send a wide variety of mode
400
- // spellings and sometimes mis-label compose specs as sandbox or
401
- // vice versa. AgentOS's engine does a STRICT `mode === 'compose'`
402
- // check — anything else falls into the sandbox branch, which
403
- // then reads `allowlist` / `code` fields that a compose spec
404
- // does not carry. That path crashes with
405
- // TypeError: Cannot read properties of undefined (reading 'includes')
406
- // inside SandboxedToolForge.validateCode. Normalize to one of
407
- // exactly 'sandbox' or 'compose', infer from field shape when
408
- // the mode string is unfamiliar, backstop every required field
409
- // so neither engine path can crash on malformed LLM output.
410
- if (fixed.implementation && typeof fixed.implementation === 'object') {
411
- const impl = fixed.implementation;
412
- if (impl.mode === 'code' || impl.mode === 'javascript' || impl.mode === 'js') {
413
- impl.mode = 'sandbox';
414
- }
415
- if (impl.mode === 'composed' ||
416
- impl.mode === 'composition' ||
417
- impl.mode === 'composable' ||
418
- impl.mode === 'chain' ||
419
- impl.mode === 'pipeline') {
420
- impl.mode = 'compose';
421
- }
422
- if (impl.mode !== 'sandbox' && impl.mode !== 'compose') {
423
- if (Array.isArray(impl.steps))
424
- impl.mode = 'compose';
425
- else if (typeof impl.code === 'string')
426
- impl.mode = 'sandbox';
427
- else
428
- impl.mode = 'sandbox';
429
- }
430
- if (impl.mode === 'sandbox') {
431
- if (!Array.isArray(impl.allowlist))
432
- impl.allowlist = [];
433
- if (impl.code != null && typeof impl.code !== 'string')
434
- impl.code = String(impl.code);
435
- if (!impl.code || typeof impl.code !== 'string') {
436
- impl.code = 'function execute(input) { return { error: "No code provided in forge request" }; }';
437
- }
438
- if (!impl.code.includes('function execute')) {
439
- impl.code = `function execute(input) {\n${impl.code}\n}`;
440
- }
441
- }
442
- else if (impl.mode === 'compose') {
443
- if (!Array.isArray(impl.steps))
444
- impl.steps = [];
445
- for (const step of impl.steps) {
446
- if (step && typeof step === 'object') {
447
- if (typeof step.tool !== 'string')
448
- step.tool = '';
449
- if (typeof step.name !== 'string')
450
- step.name = step.tool || 'step';
451
- if (!step.inputMapping || typeof step.inputMapping !== 'object') {
452
- step.inputMapping = {};
453
- }
454
- }
455
- }
456
- }
457
- }
458
- if (!fixed.inputSchema || typeof fixed.inputSchema !== 'object') {
459
- fixed.inputSchema = { type: 'object', additionalProperties: true };
460
- }
461
- if (!fixed.outputSchema || typeof fixed.outputSchema !== 'object') {
462
- fixed.outputSchema = { type: 'object', additionalProperties: true };
463
- }
464
- if (!Array.isArray(fixed.testCases) || fixed.testCases.length === 0) {
465
- fixed.testCases = [{ input: {}, expectedOutput: {} }];
466
- }
467
- for (const tc of fixed.testCases) {
468
- if (!tc.input || typeof tc.input !== 'object')
469
- tc.input = {};
470
- if (tc.expectedOutput === undefined)
471
- tc.expectedOutput = {};
472
- }
473
- // Schema inference from testCases.
474
- //
475
- // The LLM often provides concrete testCases with real field values
476
- // but forgets to declare `inputSchema.properties` / `outputSchema.
477
- // properties`. The shape validator then rejects every forge before
478
- // the judge sees it. Since the testCases already witness the fields
479
- // the tool actually consumes, we can synthesize the missing schema
480
- // properties from them and pass the shape check deterministically.
481
- //
482
- // This is NOT a relaxation of the schema discipline — the tool code
483
- // still has to handle whatever inputs come in. It's a correction of
484
- // a common LLM oversight (examples without formalization) that was
485
- // the dominant cause of turn-1 forge failures in the demo.
486
- inferSchemaFromTestCases(fixed);
487
- const mode = fixed.implementation?.mode || '?';
488
- const toolName = String(fixed.name || 'unnamed');
489
- const toolDescription = String(fixed.description || toolName);
490
- // Pre-judge validation via the extracted helper so the rule
491
- // surface stays testable without mocking the whole forge engine.
492
- const shapeErrors = validateForgeShape(fixed);
493
- if (shapeErrors.length > 0) {
494
- const reason = `Shape check failed: ${shapeErrors.join('; ')}`;
495
- console.log(` 🔧 [${dept}] ✗ "${toolName}" — ${reason}`);
496
- capture({
497
- name: toolName,
498
- description: toolDescription,
499
- mode: String(mode),
500
- inputSchema: fixed.inputSchema,
501
- outputSchema: fixed.outputSchema,
502
- approved: false,
503
- confidence: 0,
504
- output: null,
505
- errorReason: reason.slice(0, 240),
506
- department: dept,
507
- timestamp: Date.now(),
508
- });
509
- return {
510
- success: false,
511
- error: reason,
512
- output: { success: false, verdict: { approved: false, confidence: 0, reasoning: reason } },
513
- };
514
- }
515
- console.log(` 🔧 [${dept}] Forging "${toolName}" (${mode})...`);
516
- const patched = { ...ctx, gmiId: agentId, sessionData: { ...(ctx?.sessionData ?? {}), sessionId } };
517
- try {
518
- const r = await raw.execute(fixed, patched);
519
- const out = r.output;
520
- const verdict = out?.verdict || {};
521
- // Judge confidence is the judge's score for whether the tool
522
- // is safe + correct. When the judge fails the forge, its
523
- // confidence is in REJECTING the tool; surfacing that as the
524
- // tool's own quality score is misleading. So:
525
- // approved → use judge confidence if provided, else 0.85
526
- // rejected → confidence is 0 (not accepted at all)
527
- const judgeConfidence = typeof verdict.confidence === 'number' ? verdict.confidence : null;
528
- const confidence = r.success ? (judgeConfidence ?? 0.85) : 0;
529
- const errorReason = !r.success
530
- ? String(r.error || verdict.reasoning || out?.error || '').slice(0, 240)
531
- : undefined;
532
- if (r.success) {
533
- console.log(` 🔧 [${dept}] ✓ "${toolName}" approved (conf ${confidence.toFixed(2)})`);
534
- }
535
- else {
536
- console.log(` 🔧 [${dept}] ✗ "${toolName}" — ${errorReason}`);
537
- }
538
- capture({
539
- name: toolName,
540
- description: toolDescription,
541
- mode: String(mode),
542
- inputSchema: fixed.inputSchema,
543
- outputSchema: fixed.outputSchema,
544
- approved: !!r.success,
545
- confidence,
546
- output: out?.testResults ?? out?.result ?? out ?? null,
547
- errorReason,
548
- department: dept,
549
- timestamp: Date.now(),
550
- });
551
- return r;
552
- }
553
- catch (err) {
554
- console.log(` 🔧 [${dept}] ERR: ${err}`);
555
- capture({
556
- name: toolName,
557
- description: toolDescription,
558
- mode: String(mode),
559
- inputSchema: fixed.inputSchema,
560
- outputSchema: fixed.outputSchema,
561
- approved: false,
562
- confidence: 0,
563
- output: null,
564
- errorReason: String(err).slice(0, 240),
565
- department: dept,
566
- timestamp: Date.now(),
567
- });
568
- return { success: false, error: String(err) };
281
+ return wrapForgeToolAgentOS({
282
+ raw,
283
+ agentId,
284
+ sessionId,
285
+ scope: dept,
286
+ capture: (record) => {
287
+ capture({
288
+ name: record.name,
289
+ description: record.description,
290
+ mode: record.mode,
291
+ inputSchema: record.inputSchema,
292
+ outputSchema: record.outputSchema,
293
+ approved: record.approved,
294
+ confidence: record.confidence,
295
+ output: record.output,
296
+ errorReason: record.errorReason,
297
+ department: record.scope ?? dept,
298
+ timestamp: record.timestamp,
299
+ });
300
+ },
301
+ log: (event) => {
302
+ const scopeLabel = event.scope ?? dept;
303
+ switch (event.kind) {
304
+ case 'start':
305
+ console.log(` 🔧 [${scopeLabel}] Forging "${event.toolName}" (${event.mode})...`);
306
+ break;
307
+ case 'approved':
308
+ console.log(` 🔧 [${scopeLabel}] "${event.toolName}" approved (conf ${event.confidence.toFixed(2)})`);
309
+ break;
310
+ case 'rejected':
311
+ console.log(` 🔧 [${scopeLabel}] ✗ "${event.toolName}" ${event.reason}`);
312
+ break;
313
+ case 'error':
314
+ console.log(` 🔧 [${scopeLabel}] ERR: ${event.error}`);
315
+ break;
569
316
  }
570
317
  },
571
- };
318
+ });
572
319
  }
573
320
  //# sourceMappingURL=emergent-setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emergent-setup.js","sourceRoot":"","sources":["../../../src/runtime/emergent-setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emergent-setup.js","sourceRoot":"","sources":["../../../src/runtime/emergent-setup.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.240",
3
+ "version": "0.4.248",
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",
@@ -56,7 +56,7 @@
56
56
  "leader:b": "npx tsx src/cli/run-b.ts"
57
57
  },
58
58
  "dependencies": {
59
- "@framers/agentos": "^0.1.228",
59
+ "@framers/agentos": "^0.1.232",
60
60
  "@framers/sql-storage-adapter": "^0.6.2",
61
61
  "zod": "^4.3.6"
62
62
  },
@@ -1,48 +0,0 @@
1
- /**
2
- * Classify a forge rejection's `errorReason` string into one of five
3
- * categories. Pure string matching against observed AgentOS judge
4
- * verdict text + paracosm's local shape-check messages.
5
- *
6
- * Why this exists: sub-project C exposed a `forges.rejected` counter
7
- * but the reason text was only visible via SSH'ing pm2 logs. Aggregating
8
- * by category lets the dashboard and /retry-stats answer
9
- * "is the LLM's output-schema discipline improving after the forge
10
- * guidance prompt fix" without a human reading error messages.
11
- *
12
- * Categories are deliberately narrow — we only split out patterns that
13
- * appeared clearly in the 2026-04-18 production log sample (where
14
- * ~92% of rejections were schema-extra-field) and leave anything
15
- * unrecognized in the `other` bucket.
16
- *
17
- * @module paracosm/runtime/forge-rejection-classifier
18
- */
19
- /** Rejection-reason category. */
20
- export type ForgeRejectionCategory =
21
- /** Implementation returned output fields not declared in outputSchema
22
- * (violates additionalProperties:false). #1 production failure; the
23
- * target the 2026-04-18 forge-guidance prompt fix is trying to cut. */
24
- 'schema_extra_field'
25
- /** Paracosm's pre-judge shape check caught a malformed request
26
- * (empty testCases, empty schema properties, empty-input testCases). */
27
- | 'shape_check'
28
- /** Judge LLM returned malformed JSON the engine could not parse. */
29
- | 'parse_error'
30
- /** Judge flagged logic / correctness / safety concerns in the code
31
- * itself (division bugs, threshold inversions, unbounded outputs). */
32
- | 'judge_correctness'
33
- /** Everything else. A non-zero `other` bucket is a signal to read
34
- * the raw text and consider adding a new category. */
35
- | 'other';
36
- /**
37
- * Classify a rejection reason string. Case-insensitive substring match
38
- * against pattern lists, evaluated in order: schema_extra_field first
39
- * (most common), then shape_check (local pre-validator), then
40
- * parse_error, then judge_correctness, then `other`.
41
- *
42
- * Order matters: "violates the declared output schema by returning an
43
- * additional field due to a logic error" matches BOTH schema_extra_field
44
- * and judge_correctness; the former wins because it is the more specific
45
- * and more actionable signal.
46
- */
47
- export declare function classifyForgeRejection(errorReason: string | undefined): ForgeRejectionCategory;
48
- //# sourceMappingURL=forge-rejection-classifier.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"forge-rejection-classifier.d.ts","sourceRoot":"","sources":["../../../src/runtime/forge-rejection-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,iCAAiC;AACjC,MAAM,MAAM,sBAAsB;AAChC;;wEAEwE;AACtE,oBAAoB;AACtB;yEACyE;GACvE,aAAa;AACf,oEAAoE;GAClE,aAAa;AACf;uEACuE;GACrE,mBAAmB;AACrB;uDACuD;GACrD,OAAO,CAAC;AAuEZ;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,sBAAsB,CAoB9F"}
@@ -1,120 +0,0 @@
1
- /**
2
- * Classify a forge rejection's `errorReason` string into one of five
3
- * categories. Pure string matching against observed AgentOS judge
4
- * verdict text + paracosm's local shape-check messages.
5
- *
6
- * Why this exists: sub-project C exposed a `forges.rejected` counter
7
- * but the reason text was only visible via SSH'ing pm2 logs. Aggregating
8
- * by category lets the dashboard and /retry-stats answer
9
- * "is the LLM's output-schema discipline improving after the forge
10
- * guidance prompt fix" without a human reading error messages.
11
- *
12
- * Categories are deliberately narrow — we only split out patterns that
13
- * appeared clearly in the 2026-04-18 production log sample (where
14
- * ~92% of rejections were schema-extra-field) and leave anything
15
- * unrecognized in the `other` bucket.
16
- *
17
- * @module paracosm/runtime/forge-rejection-classifier
18
- */
19
- const SCHEMA_EXTRA_FIELD_PATTERNS = [
20
- 'additional properties',
21
- 'additional property',
22
- 'additionalproperties',
23
- 'extra field',
24
- 'extra fields',
25
- 'extra property',
26
- 'extra properties',
27
- 'undeclared extra field',
28
- 'undeclared field',
29
- 'emits an additional',
30
- 'emits extra',
31
- 'returning an additional',
32
- 'returning extra',
33
- 'returns an additional',
34
- 'returns extra',
35
- 'returns additional',
36
- 'returning an undeclared',
37
- ];
38
- /**
39
- * Regex-based patterns for "extra <modifier> field" phrasings that
40
- * substring matching misses. Example: "extra recommendations field"
41
- * is clearly a schema-extra-field rejection but the string "extra field"
42
- * is not contiguous. This regex catches the general form.
43
- */
44
- const SCHEMA_EXTRA_FIELD_REGEXES = [
45
- /\bextra\s+\w+\s+field\b/,
46
- /\badditional\s+\w+\s+field\b/,
47
- /\bextra\s+\w+\s+property\b/,
48
- /\badditional\s+\w+\s+property\b/,
49
- ];
50
- const SHAPE_CHECK_PATTERNS = [
51
- 'shape check failed',
52
- 'inputschema has no declared properties',
53
- 'outputschema has no declared properties',
54
- 'testcases use empty input',
55
- 'testcase use empty input',
56
- 'need at least 2 testcases',
57
- 'every test needs real field values',
58
- ];
59
- const PARSE_ERROR_PATTERNS = [
60
- 'failed to parse llm response',
61
- 'could not parse judge response',
62
- 'judge response was not valid json',
63
- ];
64
- const JUDGE_CORRECTNESS_PATTERNS = [
65
- 'logic error',
66
- 'threshold ordering',
67
- 'clamped',
68
- 'unclamped',
69
- 'inconsistent risk grading',
70
- 'division by zero',
71
- 'unbounded output',
72
- 'unbounded',
73
- 'returns nan',
74
- 'returns infinity',
75
- 'infinite loop',
76
- 'not deterministic',
77
- 'nondeterministic',
78
- 'correctness is questionable',
79
- 'correctness concern',
80
- 'fails safety',
81
- 'safety concern',
82
- ];
83
- /**
84
- * Classify a rejection reason string. Case-insensitive substring match
85
- * against pattern lists, evaluated in order: schema_extra_field first
86
- * (most common), then shape_check (local pre-validator), then
87
- * parse_error, then judge_correctness, then `other`.
88
- *
89
- * Order matters: "violates the declared output schema by returning an
90
- * additional field due to a logic error" matches BOTH schema_extra_field
91
- * and judge_correctness; the former wins because it is the more specific
92
- * and more actionable signal.
93
- */
94
- export function classifyForgeRejection(errorReason) {
95
- if (!errorReason)
96
- return 'other';
97
- const lower = errorReason.toLowerCase();
98
- for (const p of SCHEMA_EXTRA_FIELD_PATTERNS) {
99
- if (lower.includes(p))
100
- return 'schema_extra_field';
101
- }
102
- for (const rx of SCHEMA_EXTRA_FIELD_REGEXES) {
103
- if (rx.test(lower))
104
- return 'schema_extra_field';
105
- }
106
- for (const p of SHAPE_CHECK_PATTERNS) {
107
- if (lower.includes(p))
108
- return 'shape_check';
109
- }
110
- for (const p of PARSE_ERROR_PATTERNS) {
111
- if (lower.includes(p))
112
- return 'parse_error';
113
- }
114
- for (const p of JUDGE_CORRECTNESS_PATTERNS) {
115
- if (lower.includes(p))
116
- return 'judge_correctness';
117
- }
118
- return 'other';
119
- }
120
- //# sourceMappingURL=forge-rejection-classifier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"forge-rejection-classifier.js","sourceRoot":"","sources":["../../../src/runtime/forge-rejection-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAoBH,MAAM,2BAA2B,GAAG;IAClC,uBAAuB;IACvB,qBAAqB;IACrB,sBAAsB;IACtB,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,kBAAkB;IAClB,wBAAwB;IACxB,kBAAkB;IAClB,qBAAqB;IACrB,aAAa;IACb,yBAAyB;IACzB,iBAAiB;IACjB,uBAAuB;IACvB,eAAe;IACf,oBAAoB;IACpB,yBAAyB;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,0BAA0B,GAAa;IAC3C,yBAAyB;IACzB,8BAA8B;IAC9B,4BAA4B;IAC5B,iCAAiC;CAClC,CAAC;AAEF,MAAM,oBAAoB,GAAG;IAC3B,oBAAoB;IACpB,wCAAwC;IACxC,yCAAyC;IACzC,2BAA2B;IAC3B,0BAA0B;IAC1B,2BAA2B;IAC3B,oCAAoC;CACrC,CAAC;AAEF,MAAM,oBAAoB,GAAG;IAC3B,8BAA8B;IAC9B,gCAAgC;IAChC,mCAAmC;CACpC,CAAC;AAEF,MAAM,0BAA0B,GAAG;IACjC,aAAa;IACb,oBAAoB;IACpB,SAAS;IACT,WAAW;IACX,2BAA2B;IAC3B,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;IACX,aAAa;IACb,kBAAkB;IAClB,eAAe;IACf,mBAAmB;IACnB,kBAAkB;IAClB,6BAA6B;IAC7B,qBAAqB;IACrB,cAAc;IACd,gBAAgB;CACjB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CAAC,WAA+B;IACpE,IAAI,CAAC,WAAW;QAAE,OAAO,OAAO,CAAC;IACjC,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAExC,KAAK,MAAM,CAAC,IAAI,2BAA2B,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,oBAAoB,CAAC;IACrD,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,0BAA0B,EAAE,CAAC;QAC5C,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,oBAAoB,CAAC;IAClD,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,oBAAoB,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,aAAa,CAAC;IAC9C,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,oBAAoB,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,aAAa,CAAC;IAC9C,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,0BAA0B,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,mBAAmB,CAAC;IACpD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}