@sensigo/realm-cli 0.36.0 → 0.37.0

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 (31) hide show
  1. package/dist/agent/mcp/mcp-extensions.d.ts +6 -1
  2. package/dist/agent/mcp/mcp-extensions.d.ts.map +1 -1
  3. package/dist/agent/providers/agent-utils.d.ts +22 -0
  4. package/dist/agent/providers/agent-utils.d.ts.map +1 -1
  5. package/dist/agent/providers/agent-utils.js +36 -0
  6. package/dist/agent/providers/agent-utils.js.map +1 -1
  7. package/dist/agent/providers/anthropic-provider.d.ts +12 -1
  8. package/dist/agent/providers/anthropic-provider.d.ts.map +1 -1
  9. package/dist/agent/providers/anthropic-provider.js +16 -12
  10. package/dist/agent/providers/anthropic-provider.js.map +1 -1
  11. package/dist/agent/providers/llm-provider.d.ts +49 -4
  12. package/dist/agent/providers/llm-provider.d.ts.map +1 -1
  13. package/dist/agent/providers/llm-provider.js +25 -5
  14. package/dist/agent/providers/llm-provider.js.map +1 -1
  15. package/dist/agent/providers/openai-provider.d.ts +51 -1
  16. package/dist/agent/providers/openai-provider.d.ts.map +1 -1
  17. package/dist/agent/providers/openai-provider.js +216 -9
  18. package/dist/agent/providers/openai-provider.js.map +1 -1
  19. package/dist/agent/providers/openai-reasoning-provider.d.ts +8 -1
  20. package/dist/agent/providers/openai-reasoning-provider.d.ts.map +1 -1
  21. package/dist/agent/providers/openai-reasoning-provider.js +9 -0
  22. package/dist/agent/providers/openai-reasoning-provider.js.map +1 -1
  23. package/dist/agent/run-agent.d.ts +7 -0
  24. package/dist/agent/run-agent.d.ts.map +1 -1
  25. package/dist/agent/run-agent.js +139 -7
  26. package/dist/agent/run-agent.js.map +1 -1
  27. package/dist/commands/agent.d.ts.map +1 -1
  28. package/dist/commands/agent.js +22 -4
  29. package/dist/commands/agent.js.map +1 -1
  30. package/dist/index.js +1 -1
  31. package/package.json +4 -4
@@ -1,8 +1,28 @@
1
1
  // openai-provider.ts — OpenAI LLM provider implementation for realm agent.
2
2
  // Requires openai >= 4.0.0 as an optional peer dependency (npm install openai).
3
- import { WorkflowError, validateAgentSubmission } from '@sensigo/realm';
3
+ import { WorkflowError, validateAgentSubmission, } from '@sensigo/realm';
4
4
  import { ToolCapableLlmProvider } from './llm-provider.js';
5
- import { sanitizeError, serializeToolResult, parseNamespacedId, extractJsonObject, rejectAfter, buildSystemPrompt, summarizeAgentValidationErrors, renderValidationSummaryEntry, } from './agent-utils.js';
5
+ import { sanitizeError, serializeToolResult, parseNamespacedId, extractJsonObject, rejectAfter, buildSystemPrompt, summarizeAgentValidationErrors, renderValidationSummaryEntry, extractHttpStatus, extractApiErrorFields, } from './agent-utils.js';
6
+ /**
7
+ * Issue #313: the schema name OpenAI requires on `response_format.json_schema`. Must match
8
+ * `[a-zA-Z0-9_-]{1,64}`; it is an identifier for the schema, never shown to the model as content.
9
+ */
10
+ const JSON_SCHEMA_NAME = 'realm_step_output';
11
+ /**
12
+ * Issue #313 — the OpenAI analog of the Anthropic ladder's error: thrown when the drop-strict
13
+ * RETRY also fails, carrying the meta so run-agent's no-result arm can still arm sticky and
14
+ * disclose the downgrade for an attempt that produced no output at all. run-agent reads
15
+ * `.structuredOutput` duck-typed, so this deliberately does not import the Anthropic class —
16
+ * the two provider modules stay independently loadable (each SDK is an optional peer dep).
17
+ */
18
+ export class OpenAIStructuredOutputLadderError extends Error {
19
+ structuredOutput;
20
+ constructor(message, structuredOutput, options) {
21
+ super(message, options);
22
+ this.name = 'OpenAIStructuredOutputLadderError';
23
+ this.structuredOutput = structuredOutput;
24
+ }
25
+ }
6
26
  /**
7
27
  * OpenAI LLM provider for realm agent.
8
28
  * Uses the Chat Completions API. Sends `response_format: json_object` on native
@@ -12,18 +32,37 @@ import { sanitizeError, serializeToolResult, parseNamespacedId, extractJsonObjec
12
32
  export class OpenAIProvider extends ToolCapableLlmProvider {
13
33
  model;
14
34
  baseUrl;
15
- constructor(model, baseUrl) {
35
+ strictBaseUrl;
36
+ constructor(model, baseUrl, strictBaseUrl = false) {
16
37
  super();
17
38
  this.model = model;
18
39
  this.baseUrl = baseUrl;
40
+ this.strictBaseUrl = strictBaseUrl;
19
41
  }
20
42
  /**
21
43
  * Native OpenAI endpoints have a well-defined, tested capability surface that includes
22
44
  * json_object mode. Custom compat endpoints behind --base-url do not guarantee this feature.
23
45
  * Default to prompt-only enforcement for any unknown endpoint.
46
+ *
47
+ * Issue #313: `strictGate` is set on a compat endpoint UNLESS the author attested via
48
+ * `--strict-base-url`. Compat endpoints range from full grammar enforcement (vLLM,
49
+ * llama.cpp, LM Studio) to accepting `response_format` and quietly ignoring it, and no
50
+ * capability-discovery API exists — so realm defaults to not sending strict there and
51
+ * discloses `compat_endpoint` rather than risk a silent non-enforcement.
52
+ *
53
+ * `toolArgsStrict` is declared because this provider's tools wire builder genuinely consumes
54
+ * `ToolDefinition.strict` (see `callStepWithTools` below) — the two ship together by design,
55
+ * and the conformance suite asserts the pairing so a declaration can never outrun the wire.
24
56
  */
25
57
  capabilities() {
26
- return { jsonMode: this.baseUrl === undefined };
58
+ return {
59
+ jsonMode: this.baseUrl === undefined,
60
+ providerId: 'openai',
61
+ toolArgsStrict: true,
62
+ ...(this.baseUrl !== undefined && !this.strictBaseUrl
63
+ ? { strictGate: 'compat_endpoint' }
64
+ : {}),
65
+ };
27
66
  }
28
67
  async callStep(prompt, inputSchema, agentProfileInstructions) {
29
68
  // Dynamically import openai to keep it an optional peer dependency.
@@ -80,6 +119,110 @@ export class OpenAIProvider extends ToolCapableLlmProvider {
80
119
  return retryParsed;
81
120
  throw new Error(sanitizeError(`OpenAI returned non-JSON content after retry: ${retry.slice(0, 200)}`));
82
121
  }
122
+ /**
123
+ * Issue #313 — the structured_output-aware entry point (the #236 rail against an OpenAI
124
+ * override is formally overturned; see llm-provider.ts).
125
+ *
126
+ * Two paths, deliberately disjoint:
127
+ *
128
+ * - Strict NOT requested (a gate-ineligible, sticky, or compat-gated attempt, where run-agent
129
+ * already holds the meta it will record): delegate to `callStep` VERBATIM. The json_object
130
+ * path is therefore byte-identical to pre-#313 by construction, not by careful copying.
131
+ * - Strict requested: Chat Completions `response_format: json_schema` with `strict: true`
132
+ * ALWAYS explicit. Omitting `strict` is NOT a neutral default — probe P1 executed it: an
133
+ * omitted flag yields 200 with the schema unenforced, i.e. a silent non-enforcement mode.
134
+ *
135
+ * The ladder is status-keyed, never message-keyed: a 400 on a strict-carrying request drops
136
+ * strict and retries the turn once; a second 400 throws an error CARRYING the meta. Anything
137
+ * else — 5xx, transport, timeouts — propagates untouched and never drops or sticks, because
138
+ * OpenAI has no 503-grammar analog and a slow first strict call (schema compilation) must be
139
+ * retried as transport, never recorded as a schema failure.
140
+ */
141
+ async callStepWithMeta(prompt, inputSchema, agentProfileInstructions, opts) {
142
+ if (opts?.structuredOutputStrict !== true || inputSchema === undefined) {
143
+ return { output: await this.callStep(prompt, inputSchema, agentProfileInstructions) };
144
+ }
145
+ // Dynamically import openai to keep it an optional peer dependency (same `moduleId` idiom as
146
+ // callStep — the indirection is what keeps the import out of static resolution).
147
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
148
+ let mod;
149
+ try {
150
+ const moduleId = 'openai';
151
+ mod = await import(moduleId);
152
+ }
153
+ catch {
154
+ console.error('realm agent requires the openai package. Run: npm install openai');
155
+ process.exit(1);
156
+ }
157
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
158
+ const client = new mod.default({
159
+ apiKey: process.env['OPENAI_API_KEY'],
160
+ ...(this.baseUrl !== undefined ? { baseURL: this.baseUrl } : {}),
161
+ });
162
+ const systemPrompt = buildSystemPrompt(inputSchema, agentProfileInstructions);
163
+ const messages = [
164
+ { role: 'system', content: systemPrompt },
165
+ { role: 'user', content: prompt },
166
+ ];
167
+ const buildOpts = (strict) => ({
168
+ model: this.model,
169
+ messages,
170
+ ...(strict
171
+ ? {
172
+ response_format: {
173
+ type: 'json_schema',
174
+ json_schema: { name: JSON_SCHEMA_NAME, strict: true, schema: inputSchema },
175
+ },
176
+ }
177
+ : this.capabilities().jsonMode
178
+ ? { response_format: { type: 'json_object' } }
179
+ : {}),
180
+ });
181
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
182
+ const create = (o) =>
183
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
184
+ client.chat.completions.create(o);
185
+ /** Reads the answer, honouring the refusal field as an L1-class escape. */
186
+ const readContent = (response) => {
187
+ const message = response.choices?.[0]?.message;
188
+ const refusal = message?.refusal;
189
+ if (typeof refusal === 'string' && refusal.length > 0) {
190
+ // A refusal is a well-formed API response, not a transport failure: surface it the same
191
+ // way a non-JSON answer surfaces, so the existing validation/reask layer handles it.
192
+ throw new Error(sanitizeError(`OpenAI refused the request: ${refusal.slice(0, 200)}`));
193
+ }
194
+ const parsed = extractJsonObject(message?.content ?? '');
195
+ if (parsed !== null)
196
+ return parsed;
197
+ throw new Error(sanitizeError(`OpenAI returned non-JSON content under strict decoding: ${(message?.content ?? '').slice(0, 200)}`));
198
+ };
199
+ try {
200
+ const response = await create(buildOpts(true));
201
+ return { output: readContent(response), meta: { requested: true, sent: true } };
202
+ }
203
+ catch (err) {
204
+ const status = extractHttpStatus(err);
205
+ // 5xx / transport / timeout: NEVER a downgrade and never sticky — the schema is not what
206
+ // failed. Propagates so the caller's own retry treats it as the transport error it is.
207
+ if (status !== 400)
208
+ throw err;
209
+ const api_message = err instanceof Error ? err.message : String(err);
210
+ const meta = {
211
+ requested: true,
212
+ sent: false,
213
+ downgrade_reason: 'api_rejected_schema',
214
+ api_message,
215
+ ...extractApiErrorFields(err),
216
+ };
217
+ try {
218
+ const retry = await create(buildOpts(false));
219
+ return { output: readContent(retry), meta };
220
+ }
221
+ catch (retryErr) {
222
+ throw new OpenAIStructuredOutputLadderError(retryErr instanceof Error ? retryErr.message : String(retryErr), meta, { cause: retryErr });
223
+ }
224
+ }
225
+ }
83
226
  /**
84
227
  * Agentic loop for tool-capable steps. Executes tool calls serially (V1 constraint)
85
228
  * until the model returns a final JSON answer or the tool call budget is exhausted.
@@ -118,6 +261,10 @@ export class OpenAIProvider extends ToolCapableLlmProvider {
118
261
  name: tool.name,
119
262
  description: tool.description,
120
263
  parameters: tool.inputSchema,
264
+ // issue #313: per-tool strict, consumed from the marker run-agent set. The key only
265
+ // appears for a selected tool, so an unmarked tool's wire entry is byte-identical to
266
+ // pre-#313 — and mixing marked with unmarked in one request is legal (probe P4).
267
+ ...(tool.strict === true ? { strict: true } : {}),
121
268
  },
122
269
  });
123
270
  }
@@ -134,7 +281,14 @@ export class OpenAIProvider extends ToolCapableLlmProvider {
134
281
  let correction_count = 0;
135
282
  const tool_call_records = [];
136
283
  /** Attaches `correctionCount` to a result only when at least one correction happened. */
137
- const withCorrectionCount = (result) => correction_count > 0 ? { ...result, correctionCount: correction_count } : result;
284
+ /** Attaches `correctionCount` when corrections happened, plus (issue #313) the tool-args drop
285
+ * facts when the ladder dropped strict mid-attempt. The single result chokepoint for this
286
+ * method, so neither field can be forgotten on a new exit path. */
287
+ const withCorrectionCount = (result) => ({
288
+ ...result,
289
+ ...(correction_count > 0 ? { correctionCount: correction_count } : {}),
290
+ ...(toolArgsStrictDrop !== undefined ? { toolArgsStrictDrop } : {}),
291
+ });
138
292
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
139
293
  const history = [
140
294
  {
@@ -145,12 +299,66 @@ export class OpenAIProvider extends ToolCapableLlmProvider {
145
299
  ];
146
300
  const buildMainCallOpts = () => {
147
301
  const opts = { model: this.model, messages: history };
148
- if (openaiTools.length > 0)
149
- opts['tools'] = openaiTools;
302
+ if (openaiTools.length > 0) {
303
+ // issue #313: after a drop, later turns send STRIPPED COPIES rather than the mutated
304
+ // originals. Mutating in place would retroactively rewrite the request objects already
305
+ // handed to the SDK for earlier turns — the aliasing hazard #311 hit on the Anthropic
306
+ // side, which also makes the wire history unreadable. Pre-drop the original array is
307
+ // passed with no copy at all.
308
+ opts['tools'] = toolArgsStrictStripped
309
+ ? openaiTools.map((t) => {
310
+ const { strict: _strict, ...fn } = t.function;
311
+ return { ...t, function: fn };
312
+ })
313
+ : openaiTools;
314
+ }
150
315
  if (responseFormat !== undefined)
151
316
  opts['response_format'] = responseFormat;
152
317
  return opts;
153
318
  };
319
+ // -------------------------------------------------------------------------------------------
320
+ // issue #313 — the TOOLS-fork ladder. Deliberately SIMPLER than the output ladder and simpler
321
+ // than Anthropic's tools ladder, and the evidence says so: OpenAI has no 503-grammar analog,
322
+ // so ONLY a 400 on a strict-carrying request drops. 5xx, transport errors and timeouts
323
+ // propagate untouched — first-call schema-compile latency must be retried as the transport
324
+ // event it is, never recorded as a schema failure.
325
+ //
326
+ // A second 400 after the drop propagates PLAINLY. That is the shipped tools-fork discipline
327
+ // (the meta-carrying error device belongs to the OUTPUT dimension, where run-agent has a
328
+ // no-result arm to consume it; the tools path has none).
329
+ // -------------------------------------------------------------------------------------------
330
+ let toolArgsStrictActive = openaiTools.some((t) => t.function.strict === true);
331
+ let toolArgsStrictStripped = false;
332
+ let strictTurnsBeforeDrop = 0;
333
+ let toolArgsStrictDrop;
334
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
335
+ const createMainTurn = async () => {
336
+ const carriedStrict = toolArgsStrictActive;
337
+ try {
338
+ const response = await // eslint-disable-next-line @typescript-eslint/no-explicit-any
339
+ client.chat.completions.create(buildMainCallOpts());
340
+ if (carriedStrict)
341
+ strictTurnsBeforeDrop += 1;
342
+ return response;
343
+ }
344
+ catch (err) {
345
+ // A turn that carried no strict is none of this ladder's business.
346
+ if (!carriedStrict)
347
+ throw err;
348
+ if (extractHttpStatus(err) !== 400)
349
+ throw err;
350
+ toolArgsStrictDrop = {
351
+ reason: 'api_rejected_schema',
352
+ api_message: err instanceof Error ? err.message : String(err),
353
+ strict_turns_before_drop: strictTurnsBeforeDrop,
354
+ ...extractApiErrorFields(err),
355
+ };
356
+ toolArgsStrictActive = false;
357
+ toolArgsStrictStripped = true;
358
+ return await // eslint-disable-next-line @typescript-eslint/no-explicit-any
359
+ client.chat.completions.create(buildMainCallOpts());
360
+ }
361
+ };
154
362
  const buildFinalCallOpts = () => {
155
363
  const opts = { model: this.model, messages: history };
156
364
  if (responseFormat !== undefined)
@@ -187,8 +395,7 @@ export class OpenAIProvider extends ToolCapableLlmProvider {
187
395
  });
188
396
  };
189
397
  while (true) {
190
- const response = await // eslint-disable-next-line @typescript-eslint/no-explicit-any
191
- client.chat.completions.create(buildMainCallOpts());
398
+ const response = await createMainTurn();
192
399
  const message = response.choices[0].message;
193
400
  if (message.tool_calls?.length) {
194
401
  const batch = message.tool_calls;
@@ -1 +1 @@
1
- {"version":3,"file":"openai-provider.js","sourceRoot":"","sources":["../../../src/agent/providers/openai-provider.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,gFAAgF;AAChF,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAmB,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,sBAAsB,EAA6B,MAAM,mBAAmB,CAAC;AAOtF,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,OAAO,cAAe,SAAQ,sBAAsB;IACvC,KAAK,CAAS;IACd,OAAO,CAAqB;IAE7C,YAAY,KAAa,EAAE,OAAgB;QACzC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,MAAc,EACd,WAAqC,EACrC,wBAAiC;QAEjC,oEAAoE;QACpE,2EAA2E;QAC3E,8EAA8E;QAC9E,8DAA8D;QAC9D,IAAI,GAAQ,CAAC;QACb,IAAI,CAAC;YACH,MAAM,QAAQ,GAAW,QAAQ,CAAC;YAClC,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,8DAA8D;QAC9D,MAAM,MAAM,GAAG,IAAK,GAAG,CAAC,OAAsD,CAAC;YAC7E,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;QAE9E,MAAM,QAAQ,GAAc;YAC1B,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;YACzC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;SAClC,CAAC;QAEF,MAAM,WAAW,GAAG,KAAK,EAAE,IAAe,EAAmB,EAAE;YAC7D,MAAM,IAAI,GAA4B;gBACpC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,QAAQ,EAAE,IAAI;aACf,CAAC;YACF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE,CAAC;gBACjC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;YACpD,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,8DAA8D;aACpF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAA0D,CAAC,IAAI,CAAC,CAAC;YAC1F,OAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAA8B,IAAI,EAAE,CAAC;QAC7E,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QACnC,uDAAuD;QACvD,MAAM,aAAa,GAAc;YAC/B,GAAG,QAAQ;YACX,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE;YAC9B;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,6EAA6E;aACvF;SACF,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,WAAW,KAAK,IAAI;YAAE,OAAO,WAAW,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,aAAa,CAAC,iDAAiD,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CACtF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CACrB,MAAc,EACd,KAAuB,EACvB,QAAsB,EACtB,OAQC;QAED,8DAA8D;QAC9D,IAAI,GAAQ,CAAC;QACb,IAAI,CAAC;YACH,MAAM,QAAQ,GAAW,QAAQ,CAAC;YAClC,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,8DAA8D;QAC9D,MAAM,MAAM,GAAG,IAAK,GAAG,CAAC,OAAsD,CAAC;YAC7E,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjE,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,QAAQ;YACjD,CAAC,CAAE,EAAE,IAAI,EAAE,aAAa,EAAY;YACpC,CAAC,CAAC,SAAS,CAAC;QAEd,uFAAuF;QACvF,4FAA4F;QAC5F,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,MAAM,WAAW,GAGZ,EAAE,CAAC;QACR,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,KAAK,CACb,wCAAwC,IAAI,CAAC,IAAI,oFAAoF,CACtI,CAAC;YACJ,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE;oBACR,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,UAAU,EAAE,IAAI,CAAC,WAAW;iBAC7B;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,wBAAwB,GAAG,KAAK,CAAC;QACrC,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,6FAA6F;QAC7F,4FAA4F;QAC5F,2FAA2F;QAC3F,sFAAsF;QACtF,uCAAuC;QACvC,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,MAAM,iBAAiB,GAAqB,EAAE,CAAC;QAC/C,yFAAyF;QACzF,MAAM,mBAAmB,GAAG,CAAC,MAA2B,EAAuB,EAAE,CAC/E,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAEnF,8DAA8D;QAC9D,MAAM,OAAO,GAAU;YACrB;gBACE,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,wBAAwB,CAAC;aAClF;YACD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;SAClC,CAAC;QAEF,MAAM,iBAAiB,GAAG,GAA4B,EAAE;YACtD,MAAM,IAAI,GAA4B,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YAC/E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC;YACxD,IAAI,cAAc,KAAK,SAAS;gBAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,cAAc,CAAC;YAC3E,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,MAAM,kBAAkB,GAAG,GAA4B,EAAE;YACvD,MAAM,IAAI,GAA4B,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YAC/E,IAAI,cAAc,KAAK,SAAS;gBAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,cAAc,CAAC;YAC3E,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,6FAA6F;QAC7F,MAAM,sBAAsB,GAAG,KAAK,IAAkC,EAAE;YACtE,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,MAAM;gBACZ,OAAO,EACL,0KAA0K;aAC7K,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,8DAA8D;aACjF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAA0D,CACjF,kBAAkB,EAAE,CACrB,CAAC;YACF,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAyB,IAAI,EAAE,CAAC;YAC/E,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACvC,gFAAgF;YAChF,2FAA2F;YAC3F,0FAA0F;YAC1F,uFAAuF;YACvF,4FAA4F;YAC5F,yFAAyF;YACzF,mFAAmF;YACnF,qFAAqF;YACrF,kFAAkF;YAClF,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,OAAO,mBAAmB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;YAC/E,CAAC;YACD,MAAM,IAAI,aAAa,CAAC,iDAAiD,EAAE;gBACzE,IAAI,EAAE,oBAAoB;gBAC1B,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,MAAM,8DAA8D;aACpF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAA0D,CACjF,iBAAiB,EAAE,CACpB,CAAC;YACF,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAGnC,CAAC;YAEF,IAAI,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtB,IAAI,0BAA0B,GAAG,KAAK,CAAC;gBAEvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,4DAA4D;oBAE3F,IAAI,eAAe,IAAI,QAAQ,IAAI,wBAAwB,EAAE,CAAC;wBAC5D,0EAA0E;wBAC1E,OAAO,CAAC,IAAI,CAAC;4BACX,IAAI,EAAE,MAAM;4BACZ,YAAY,EAAE,aAAa;4BAC3B,OAAO,EAAE,mCAAmC;yBAC7C,CAAC,CAAC;wBACH,0BAA0B,GAAG,IAAI,CAAC;wBAClC,SAAS;oBACX,CAAC;oBAED,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAC;oBACtD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;oBAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,CAA4B,CAAC;oBACpF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAEzB,IAAI,aAAqB,CAAC;oBAC1B,IAAI,MAAsB,CAAC;oBAE3B,IAAI,CAAC;wBACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;4BACnC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;4BAC1B,WAAW,CAAC,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;yBAC5C,CAAC,CAAC;wBACH,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;wBAClD,MAAM,GAAG;4BACP,SAAS,EAAE,QAAQ;4BACnB,IAAI,EAAE,QAAQ;4BACd,IAAI;4BACJ,MAAM,EAAE,UAAU;4BAClB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;yBAChC,CAAC;wBACF,aAAa,GAAG,UAAU,CAAC;oBAC7B,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;wBACrC,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,SAAS,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;wBACnF,MAAM,GAAG;4BACP,SAAS,EAAE,QAAQ;4BACnB,IAAI,EAAE,QAAQ;4BACd,IAAI;4BACJ,MAAM,EAAE,IAAI;4BACZ,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;4BAC/B,KAAK,EAAE,SAAS;yBACjB,CAAC;wBACF,aAAa,GAAG,OAAO,CAAC;oBAC1B,CAAC;oBAED,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC/B,eAAe,EAAE,CAAC;oBAClB,IACE,SAAS,KAAK,SAAS;wBACvB,CAAC,QAAQ,KAAK,WAAW,IAAI,QAAQ,KAAK,iBAAiB,CAAC,EAC5D,CAAC;wBACD,aAAa,EAAE,CAAC;wBAChB,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;4BAC/B,wBAAwB,GAAG,IAAI,CAAC;4BAChC,0BAA0B,GAAG,IAAI,CAAC;wBACpC,CAAC;oBACH,CAAC;oBACD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,CAAC;gBACtF,CAAC;gBAED,IAAI,0BAA0B,IAAI,eAAe,IAAI,QAAQ,EAAE,CAAC;oBAC9D,OAAO,sBAAsB,EAAE,CAAC;gBAClC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,qDAAqD;gBACrD,0FAA0F;gBAC1F,uFAAuF;gBACvF,qFAAqF;gBACrF,2FAA2F;gBAC3F,MAAM,IAAI,GAAY,OAAO,CAAC,OAAyB,IAAI,EAAE,CAAC;gBAC9D,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACvC,MAAM,OAAO,GACX,MAAM,KAAK,IAAI;oBACb,CAAC,CAAC,uBAAuB,CACrB,MAAM,EACN;wBACE,GAAG,CAAC,OAAO,CAAC,qBAAqB,KAAK,SAAS;4BAC7C,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,qBAAmC,EAAE;4BAC9D,CAAC,CAAC,EAAE,CAAC;wBACP,GAAG,CAAC,OAAO,CAAC,sBAAsB,KAAK,SAAS;4BAC9C,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,sBAAoC,EAAE;4BAChE,CAAC,CAAC,EAAE,CAAC;qBACR,EACD,mBAAmB,CACpB;oBACH,CAAC,CAAC,SAAS,CAAC;gBAChB,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;oBAC/C,OAAO,mBAAmB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;gBAC/E,CAAC;gBACD,mFAAmF;gBACnF,uFAAuF;gBACvF,0DAA0D;gBAC1D,gBAAgB,EAAE,CAAC;gBACnB,MAAM,OAAO,GACX,OAAO,KAAK,SAAS;oBACnB,CAAC,CAAC,8BAA8B,CAAC,OAAO,CAAC,SAAS,CAAC;yBAC9C,GAAG,CAAC,4BAA4B,CAAC;yBACjC,IAAI,CAAC,IAAI,CAAC;oBACf,CAAC,CAAC,2DAA2D,CAAC;gBAClE,OAAO,CAAC,KAAK,CAAC,sDAAsD,gBAAgB,GAAG,CAAC,CAAC;gBACzF,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnD,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,yDAAyD,OAAO,cAAc;iBACxF,CAAC,CAAC;gBACH,eAAe,EAAE,CAAC,CAAC,oCAAoC;gBACvD,IAAI,eAAe,IAAI,QAAQ,EAAE,CAAC;oBAChC,OAAO,sBAAsB,EAAE,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"openai-provider.js","sourceRoot":"","sources":["../../../src/agent/providers/openai-provider.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { LlmProvider } from './llm-provider.js';
1
+ import { LlmProvider, type ProviderCapabilities } from './llm-provider.js';
2
2
  /**
3
3
  * OpenAI reasoning model provider for realm agent.
4
4
  * Handles the o1-series (o1, o1-mini, o1-preview), which differ from standard chat completions:
@@ -14,6 +14,13 @@ import { LlmProvider } from './llm-provider.js';
14
14
  export declare class OpenAIReasoningProvider extends LlmProvider {
15
15
  private readonly model;
16
16
  constructor(model: string);
17
+ /**
18
+ * Issue #313: DECLARATION ONLY. `jsonMode` keeps the base value (this provider enforces JSON
19
+ * through the prompt), and `providerId` exists so evidence names the provider honestly and so
20
+ * the eligibility profile resolves explicitly rather than by accident. No `response_format`
21
+ * work here: the o1 family's structured-output support is deliberately out of scope (#351).
22
+ */
23
+ capabilities(): ProviderCapabilities;
17
24
  callStep(prompt: string, inputSchema?: Record<string, unknown>, agentProfileInstructions?: string): Promise<Record<string, unknown>>;
18
25
  }
19
26
  //# sourceMappingURL=openai-reasoning-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai-reasoning-provider.d.ts","sourceRoot":"","sources":["../../../src/agent/providers/openai-reasoning-provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAchD;;;;;;;;;;;GAWG;AACH,qBAAa,uBAAwB,SAAQ,WAAW;IACtD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,KAAK,EAAE,MAAM;IAKnB,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,wBAAwB,CAAC,EAAE,MAAM,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAuDpC"}
1
+ {"version":3,"file":"openai-reasoning-provider.d.ts","sourceRoot":"","sources":["../../../src/agent/providers/openai-reasoning-provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAc3E;;;;;;;;;;;GAWG;AACH,qBAAa,uBAAwB,SAAQ,WAAW;IACtD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,KAAK,EAAE,MAAM;IAKzB;;;;;OAKG;IACH,YAAY,IAAI,oBAAoB;IAI9B,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,wBAAwB,CAAC,EAAE,MAAM,GAChC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAuDpC"}
@@ -31,6 +31,15 @@ export class OpenAIReasoningProvider extends LlmProvider {
31
31
  super();
32
32
  this.model = model;
33
33
  }
34
+ /**
35
+ * Issue #313: DECLARATION ONLY. `jsonMode` keeps the base value (this provider enforces JSON
36
+ * through the prompt), and `providerId` exists so evidence names the provider honestly and so
37
+ * the eligibility profile resolves explicitly rather than by accident. No `response_format`
38
+ * work here: the o1 family's structured-output support is deliberately out of scope (#351).
39
+ */
40
+ capabilities() {
41
+ return { jsonMode: false, providerId: 'openai-reasoning' };
42
+ }
34
43
  async callStep(prompt, inputSchema, agentProfileInstructions) {
35
44
  // Dynamically import openai to keep it an optional peer dependency.
36
45
  // Assigning the module specifier to a typed variable via 'string' makes TS
@@ -1 +1 @@
1
- {"version":3,"file":"openai-reasoning-provider.js","sourceRoot":"","sources":["../../../src/agent/providers/openai-reasoning-provider.ts"],"names":[],"mappings":"AAAA,8FAA8F;AAC9F,0GAA0G;AAC1G,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEvF;;;;GAIG;AACH,SAAS,0BAA0B,CAAC,KAAa;IAC/C,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,6DAA6D;IAC7D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACrC,KAAK,CAAS;IAE/B,YAAY,KAAa;QACvB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,MAAc,EACd,WAAqC,EACrC,wBAAiC;QAEjC,oEAAoE;QACpE,2EAA2E;QAC3E,8EAA8E;QAC9E,8DAA8D;QAC9D,IAAI,GAAQ,CAAC;QACb,IAAI,CAAC;YACH,MAAM,QAAQ,GAAW,QAAQ,CAAC;YAClC,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;YAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,8DAA8D;QAC9D,MAAM,MAAM,GAAG,IAAK,GAAG,CAAC,OAAsD,CAAC;YAC7E,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;SACtC,CAAC,CAAC;QAEH,mFAAmF;QACnF,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC;QAC9E,MAAM,WAAW,GAAG,GAAG,YAAY,OAAO,MAAM,EAAE,CAAC;QAGnD,MAAM,QAAQ,GAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAErE,MAAM,WAAW,GAAG,KAAK,EAAE,IAAe,EAAmB,EAAE;YAC7D,MAAM,QAAQ,GAAG,MAAM,8DAA8D;aACpF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAA0D,CAAC;gBAClF,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,qBAAqB,EAAE,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC7D,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YACH,OAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAA8B,IAAI,EAAE,CAAC;QAC7E,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC;QACnC,uDAAuD;QACvD,MAAM,aAAa,GAAc;YAC/B,GAAG,QAAQ;YACX,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE;YAC9B;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,6EAA6E;aACvF;SACF,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,WAAW,KAAK,IAAI;YAAE,OAAO,WAAW,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,aAAa,CAAC,iDAAiD,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CACtF,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"openai-reasoning-provider.js","sourceRoot":"","sources":["../../../src/agent/providers/openai-reasoning-provider.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,13 @@ export interface AgentDeps {
7
7
  store: RunStore;
8
8
  workflowStore: WorkflowRegistrar;
9
9
  provider: LlmProvider;
10
+ /**
11
+ * Issue #313: the provenance identity for a third-party `--provider-module` provider, which
12
+ * cannot declare a `providerId` capability of its own. Typed as the template literal so the
13
+ * evidence field's union (which includes `module:${string}`) typechecks end-to-end with no
14
+ * casts. In-repo providers leave this unset — their own capabilities() answer wins.
15
+ */
16
+ providerId?: `module:${string}`;
10
17
  registry: ExtensionRegistry;
11
18
  /**
12
19
  * When set, called for every pending gate. The handler is responsible for notifying
@@ -1 +1 @@
1
- {"version":3,"file":"run-agent.d.ts","sourceRoot":"","sources":["../../src/agent/run-agent.ts"],"names":[],"mappings":"AAIA,OAAO,EAaL,KAAK,QAAQ,EACb,KAAK,kBAAkB,EAEvB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAEpB,KAAK,gBAAgB,EAEtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAM/D,OAAO,KAAK,EAAE,SAAS,EAAgC,MAAM,yBAAyB,CAAC;AAIvF,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEpD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,aAAa,EAAE,iBAAiB,CAAC;IACjC,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,SAAS,CAAC;IACnF;;;;OAIG;IACH,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAcD,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,8GAA8G;IAC9G,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA0ED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAi3BjG"}
1
+ {"version":3,"file":"run-agent.d.ts","sourceRoot":"","sources":["../../src/agent/run-agent.ts"],"names":[],"mappings":"AAIA,OAAO,EAcL,KAAK,QAAQ,EACb,KAAK,kBAAkB,EAEvB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAEpB,KAAK,gBAAgB,EAEtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAM/D,OAAO,KAAK,EAAE,SAAS,EAAgC,MAAM,yBAAyB,CAAC;AAIvF,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEpD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,QAAQ,CAAC;IAChB,aAAa,EAAE,iBAAiB,CAAC;IACjC,QAAQ,EAAE,WAAW,CAAC;IACtB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,UAAU,MAAM,EAAE,CAAC;IAChC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,SAAS,CAAC;IACnF;;;;OAIG;IACH,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAcD,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gFAAgF;IAChF,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,8GAA8G;IAC9G,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA0ED;;;;GAIG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA6/BjG"}