@sensigo/realm-cli 0.35.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.
- package/dist/agent/fixtures/tool-schemas.d.ts +42 -0
- package/dist/agent/fixtures/tool-schemas.d.ts.map +1 -0
- package/dist/agent/fixtures/tool-schemas.js +150 -0
- package/dist/agent/fixtures/tool-schemas.js.map +1 -0
- package/dist/agent/mcp/mcp-extensions.d.ts +40 -4
- package/dist/agent/mcp/mcp-extensions.d.ts.map +1 -1
- package/dist/agent/providers/agent-utils.d.ts +22 -0
- package/dist/agent/providers/agent-utils.d.ts.map +1 -1
- package/dist/agent/providers/agent-utils.js +36 -0
- package/dist/agent/providers/agent-utils.js.map +1 -1
- package/dist/agent/providers/anthropic-provider.d.ts +12 -1
- package/dist/agent/providers/anthropic-provider.d.ts.map +1 -1
- package/dist/agent/providers/anthropic-provider.js +115 -23
- package/dist/agent/providers/anthropic-provider.js.map +1 -1
- package/dist/agent/providers/llm-provider.d.ts +49 -4
- package/dist/agent/providers/llm-provider.d.ts.map +1 -1
- package/dist/agent/providers/llm-provider.js +25 -5
- package/dist/agent/providers/llm-provider.js.map +1 -1
- package/dist/agent/providers/openai-provider.d.ts +51 -1
- package/dist/agent/providers/openai-provider.d.ts.map +1 -1
- package/dist/agent/providers/openai-provider.js +216 -9
- package/dist/agent/providers/openai-provider.js.map +1 -1
- package/dist/agent/providers/openai-reasoning-provider.d.ts +8 -1
- package/dist/agent/providers/openai-reasoning-provider.d.ts.map +1 -1
- package/dist/agent/providers/openai-reasoning-provider.js +9 -0
- package/dist/agent/providers/openai-reasoning-provider.js.map +1 -1
- package/dist/agent/run-agent.d.ts +7 -0
- package/dist/agent/run-agent.d.ts.map +1 -1
- package/dist/agent/run-agent.js +275 -1
- package/dist/agent/run-agent.js.map +1 -1
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +22 -4
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/listen.d.ts +12 -0
- package/dist/commands/listen.d.ts.map +1 -1
- package/dist/commands/listen.js +16 -1
- package/dist/commands/listen.js.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic-provider.js","sourceRoot":"","sources":["../../../src/agent/providers/anthropic-provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"anthropic-provider.js","sourceRoot":"","sources":["../../../src/agent/providers/anthropic-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,42 @@ export interface ProviderCapabilities {
|
|
|
12
12
|
* This is the universal baseline — all providers work without json_object mode.
|
|
13
13
|
*/
|
|
14
14
|
jsonMode: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Whether this provider READS `ToolDefinition.strict` and places per-tool strict on the wire
|
|
17
|
+
* (issue #311's per-tool grammar-constrained tool arguments).
|
|
18
|
+
*
|
|
19
|
+
* Additive-optional and CONSERVATIVE BY DEFAULT: absent reads as false, so the base
|
|
20
|
+
* `capabilities()` below, every existing override, and every third-party `--provider-module`
|
|
21
|
+
* provider are all correctly reported as non-consumers without touching them. Only a provider
|
|
22
|
+
* that actually threads the marker onto its request may declare `true`.
|
|
23
|
+
*
|
|
24
|
+
* This is load-bearing for evidence honesty, not just dispatch: `tool_args.strict_sent` claims
|
|
25
|
+
* realm placed strict on the request handed to the SDK, so run-agent must not mark tools (or
|
|
26
|
+
* record them as sent) for a provider whose wire builder ignores the marker entirely.
|
|
27
|
+
*/
|
|
28
|
+
toolArgsStrict?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Issue #313: which provider this instance IS. In-repo providers declare it; third-party
|
|
31
|
+
* `--provider-module` providers omit it (agent.ts supplies a `module:<basename>` identity for
|
|
32
|
+
* those through `AgentDeps` instead).
|
|
33
|
+
*
|
|
34
|
+
* Two consumers: run-agent selects the eligibility RULE PROFILE from it (`'openai'` ⇒ the
|
|
35
|
+
* OpenAI profile, everything else ⇒ Anthropic), and it is minted into evidence as the
|
|
36
|
+
* attempt's provider provenance.
|
|
37
|
+
*/
|
|
38
|
+
providerId?: 'anthropic' | 'openai' | 'openai-reasoning';
|
|
39
|
+
/**
|
|
40
|
+
* Issue #313: an ENDPOINT-scoped reason this provider instance must not be sent strict at all,
|
|
41
|
+
* even for a schema that passes eligibility. Set by `OpenAIProvider` when it is pointed at an
|
|
42
|
+
* OpenAI-compatible endpoint (`--base-url`) without the author's `--strict-base-url`
|
|
43
|
+
* attestation: compat endpoints vary from full grammar enforcement (vLLM, llama.cpp) to
|
|
44
|
+
* accepting the field and ignoring it, and no capability-discovery API exists to tell them
|
|
45
|
+
* apart. Fail-safe default-off, author opt-in.
|
|
46
|
+
*
|
|
47
|
+
* Read by BOTH dimensions (step output and, from the follow-up PR, tool arguments), which is
|
|
48
|
+
* why it is endpoint-scoped rather than named per-dimension.
|
|
49
|
+
*/
|
|
50
|
+
strictGate?: 'compat_endpoint';
|
|
15
51
|
}
|
|
16
52
|
/**
|
|
17
53
|
* Abstract base class for LLM providers used by realm agent.
|
|
@@ -26,9 +62,15 @@ export declare abstract class LlmProvider {
|
|
|
26
62
|
* `--provider-module` that only implements `callStep` inherits a disclosed no-op BY
|
|
27
63
|
* CONSTRUCTION — `{ output }`, no `meta` — WITHOUT needing to know this method exists (the
|
|
28
64
|
* `instanceof` check at agent.ts is unaffected; a plugin author never has to override this).
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
65
|
+
*
|
|
66
|
+
* OVERRIDES (issue #313 — this paragraph replaces the #236 rail that once forbade an OpenAI
|
|
67
|
+
* override; that rail is formally OVERTURNED on the record by the #313 design record, which is
|
|
68
|
+
* the designed special-casing #236 deliberately deferred). `AnthropicProvider` and
|
|
69
|
+
* `OpenAIProvider` both override this method today — each honours `opts.structuredOutputStrict`
|
|
70
|
+
* through its OWN API's mechanism (Anthropic: a `strict` submit tool; OpenAI: Chat Completions
|
|
71
|
+
* `response_format: json_schema`), which is exactly why a single shared implementation was never
|
|
72
|
+
* possible. A provider that does NOT override still inherits the honest no-op above, and
|
|
73
|
+
* run-agent's synthesis rule reports that as `provider_unsupported`.
|
|
32
74
|
*/
|
|
33
75
|
callStepWithMeta(prompt: string, inputSchema?: Record<string, unknown>, agentProfileInstructions?: string, opts?: {
|
|
34
76
|
structuredOutputStrict?: boolean;
|
|
@@ -91,5 +133,8 @@ export type ProviderName = 'openai' | 'anthropic';
|
|
|
91
133
|
* Resolves the correct LLM provider from environment and CLI flags.
|
|
92
134
|
* Throws if no API key is found or the specified package is not installed.
|
|
93
135
|
*/
|
|
94
|
-
export declare function resolveProvider(providerFlag: ProviderName | undefined, modelFlag: string | undefined, baseUrlFlag?: string
|
|
136
|
+
export declare function resolveProvider(providerFlag: ProviderName | undefined, modelFlag: string | undefined, baseUrlFlag?: string,
|
|
137
|
+
/** Issue #313: the author's attestation that the `--base-url` endpoint genuinely enforces
|
|
138
|
+
* strict. Only meaningful together with `--base-url` on the OpenAI provider. */
|
|
139
|
+
strictBaseUrlFlag?: boolean): Promise<LlmProvider>;
|
|
95
140
|
//# sourceMappingURL=llm-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-provider.d.ts","sourceRoot":"","sources":["../../../src/agent/providers/llm-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAElG;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"llm-provider.d.ts","sourceRoot":"","sources":["../../../src/agent/providers/llm-provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAElG;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;OAYG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,kBAAkB,CAAC;IACzD;;;;;;;;;;OAUG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED;;;GAGG;AACH,8BAAsB,WAAW;IAC/B,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CACf,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;IAEnC;;;;;;;;;;;;;;;OAeG;IACG,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,wBAAwB,CAAC,EAAE,MAAM,EAEjC,IAAI,CAAC,EAAE;QAAE,sBAAsB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1C,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,oBAAoB,CAAA;KAAE,CAAC;IAK5E,6DAA6D;IAC7D,YAAY,IAAI,oBAAoB;CAGrC;AAED;;;GAGG;AACH,8BAAsB,sBAAuB,SAAQ,WAAW;IAC9D;;;;;;;OAOG;IACH,QAAQ,CAAC,iBAAiB,CACxB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,cAAc,EAAE,EACvB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE;QACP;;;;;;WAMG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtC;;;;;;WAMG;QACH,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChD;;;;;WAKG;QACH,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjD,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,wBAAwB,CAAC,EAAE,MAAM,CAAC;KACnC,GACA,OAAO,CAAC,mBAAmB,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,WAAW,GAAG,QAAQ,IAAI,sBAAsB,CAEvF;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,WAAW,CAAC;AAElD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,WAAW,CAAC,EAAE,MAAM;AACpB;iFACiF;AACjF,iBAAiB,CAAC,EAAE,OAAO,GAC1B,OAAO,CAAC,WAAW,CAAC,CAgDtB"}
|
|
@@ -9,9 +9,15 @@ export class LlmProvider {
|
|
|
9
9
|
* `--provider-module` that only implements `callStep` inherits a disclosed no-op BY
|
|
10
10
|
* CONSTRUCTION — `{ output }`, no `meta` — WITHOUT needing to know this method exists (the
|
|
11
11
|
* `instanceof` check at agent.ts is unaffected; a plugin author never has to override this).
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
12
|
+
*
|
|
13
|
+
* OVERRIDES (issue #313 — this paragraph replaces the #236 rail that once forbade an OpenAI
|
|
14
|
+
* override; that rail is formally OVERTURNED on the record by the #313 design record, which is
|
|
15
|
+
* the designed special-casing #236 deliberately deferred). `AnthropicProvider` and
|
|
16
|
+
* `OpenAIProvider` both override this method today — each honours `opts.structuredOutputStrict`
|
|
17
|
+
* through its OWN API's mechanism (Anthropic: a `strict` submit tool; OpenAI: Chat Completions
|
|
18
|
+
* `response_format: json_schema`), which is exactly why a single shared implementation was never
|
|
19
|
+
* possible. A provider that does NOT override still inherits the honest no-op above, and
|
|
20
|
+
* run-agent's synthesis rule reports that as `provider_unsupported`.
|
|
15
21
|
*/
|
|
16
22
|
async callStepWithMeta(prompt, inputSchema, agentProfileInstructions,
|
|
17
23
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -40,7 +46,10 @@ export function isToolCapable(provider) {
|
|
|
40
46
|
* Resolves the correct LLM provider from environment and CLI flags.
|
|
41
47
|
* Throws if no API key is found or the specified package is not installed.
|
|
42
48
|
*/
|
|
43
|
-
export async function resolveProvider(providerFlag, modelFlag, baseUrlFlag
|
|
49
|
+
export async function resolveProvider(providerFlag, modelFlag, baseUrlFlag,
|
|
50
|
+
/** Issue #313: the author's attestation that the `--base-url` endpoint genuinely enforces
|
|
51
|
+
* strict. Only meaningful together with `--base-url` on the OpenAI provider. */
|
|
52
|
+
strictBaseUrlFlag) {
|
|
44
53
|
const hasOpenAI = process.env['OPENAI_API_KEY'] !== undefined;
|
|
45
54
|
const hasAnthropic = process.env['ANTHROPIC_API_KEY'] !== undefined;
|
|
46
55
|
if (!hasOpenAI && !hasAnthropic) {
|
|
@@ -58,11 +67,22 @@ export async function resolveProvider(providerFlag, modelFlag, baseUrlFlag) {
|
|
|
58
67
|
// function calling, so they route to OpenAIProvider.
|
|
59
68
|
const REASONING_MODELS = /^o1(-|$)/i;
|
|
60
69
|
if (modelFlag !== undefined && REASONING_MODELS.test(modelFlag)) {
|
|
70
|
+
// issue #313 (dead-config cell 4): this branch has always DROPPED --base-url silently —
|
|
71
|
+
// the o1 provider takes neither it nor the strict attestation. Silently ignoring an
|
|
72
|
+
// explicit flag is exactly the class the #291 F10 precedent says to warn about.
|
|
73
|
+
if (baseUrlFlag !== undefined || strictBaseUrlFlag === true) {
|
|
74
|
+
const dropped = [
|
|
75
|
+
...(baseUrlFlag !== undefined ? ['--base-url'] : []),
|
|
76
|
+
...(strictBaseUrlFlag === true ? ['--strict-base-url'] : []),
|
|
77
|
+
].join(' and ');
|
|
78
|
+
console.error(` ⚠ ${dropped} ${baseUrlFlag !== undefined && strictBaseUrlFlag === true ? 'are' : 'is'} ignored for the o1 model family — ` +
|
|
79
|
+
`these models use a dedicated provider that always talks to the native OpenAI endpoint.`);
|
|
80
|
+
}
|
|
61
81
|
const { OpenAIReasoningProvider } = await import('./openai-reasoning-provider.js');
|
|
62
82
|
return new OpenAIReasoningProvider(modelFlag);
|
|
63
83
|
}
|
|
64
84
|
const { OpenAIProvider } = await import('./openai-provider.js');
|
|
65
|
-
return new OpenAIProvider(modelFlag ?? 'gpt-4o', baseUrlFlag);
|
|
85
|
+
return new OpenAIProvider(modelFlag ?? 'gpt-4o', baseUrlFlag, strictBaseUrlFlag === true);
|
|
66
86
|
}
|
|
67
87
|
else {
|
|
68
88
|
const { AnthropicProvider } = await import('./anthropic-provider.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-provider.js","sourceRoot":"","sources":["../../../src/agent/providers/llm-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"llm-provider.js","sourceRoot":"","sources":["../../../src/agent/providers/llm-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,19 @@
|
|
|
1
|
+
import { type StructuredOutputMeta } from '@sensigo/realm';
|
|
1
2
|
import { ToolCapableLlmProvider, type ProviderCapabilities } from './llm-provider.js';
|
|
2
3
|
import type { ToolDefinition, ToolExecutor, StepWithToolsResult } from '../mcp/mcp-extensions.js';
|
|
4
|
+
/**
|
|
5
|
+
* Issue #313 — the OpenAI analog of the Anthropic ladder's error: thrown when the drop-strict
|
|
6
|
+
* RETRY also fails, carrying the meta so run-agent's no-result arm can still arm sticky and
|
|
7
|
+
* disclose the downgrade for an attempt that produced no output at all. run-agent reads
|
|
8
|
+
* `.structuredOutput` duck-typed, so this deliberately does not import the Anthropic class —
|
|
9
|
+
* the two provider modules stay independently loadable (each SDK is an optional peer dep).
|
|
10
|
+
*/
|
|
11
|
+
export declare class OpenAIStructuredOutputLadderError extends Error {
|
|
12
|
+
readonly structuredOutput: StructuredOutputMeta;
|
|
13
|
+
constructor(message: string, structuredOutput: StructuredOutputMeta, options?: {
|
|
14
|
+
cause?: unknown;
|
|
15
|
+
});
|
|
16
|
+
}
|
|
3
17
|
/**
|
|
4
18
|
* OpenAI LLM provider for realm agent.
|
|
5
19
|
* Uses the Chat Completions API. Sends `response_format: json_object` on native
|
|
@@ -9,14 +23,50 @@ import type { ToolDefinition, ToolExecutor, StepWithToolsResult } from '../mcp/m
|
|
|
9
23
|
export declare class OpenAIProvider extends ToolCapableLlmProvider {
|
|
10
24
|
private readonly model;
|
|
11
25
|
private readonly baseUrl;
|
|
12
|
-
|
|
26
|
+
private readonly strictBaseUrl;
|
|
27
|
+
constructor(model: string, baseUrl?: string, strictBaseUrl?: boolean);
|
|
13
28
|
/**
|
|
14
29
|
* Native OpenAI endpoints have a well-defined, tested capability surface that includes
|
|
15
30
|
* json_object mode. Custom compat endpoints behind --base-url do not guarantee this feature.
|
|
16
31
|
* Default to prompt-only enforcement for any unknown endpoint.
|
|
32
|
+
*
|
|
33
|
+
* Issue #313: `strictGate` is set on a compat endpoint UNLESS the author attested via
|
|
34
|
+
* `--strict-base-url`. Compat endpoints range from full grammar enforcement (vLLM,
|
|
35
|
+
* llama.cpp, LM Studio) to accepting `response_format` and quietly ignoring it, and no
|
|
36
|
+
* capability-discovery API exists — so realm defaults to not sending strict there and
|
|
37
|
+
* discloses `compat_endpoint` rather than risk a silent non-enforcement.
|
|
38
|
+
*
|
|
39
|
+
* `toolArgsStrict` is declared because this provider's tools wire builder genuinely consumes
|
|
40
|
+
* `ToolDefinition.strict` (see `callStepWithTools` below) — the two ship together by design,
|
|
41
|
+
* and the conformance suite asserts the pairing so a declaration can never outrun the wire.
|
|
17
42
|
*/
|
|
18
43
|
capabilities(): ProviderCapabilities;
|
|
19
44
|
callStep(prompt: string, inputSchema?: Record<string, unknown>, agentProfileInstructions?: string): Promise<Record<string, unknown>>;
|
|
45
|
+
/**
|
|
46
|
+
* Issue #313 — the structured_output-aware entry point (the #236 rail against an OpenAI
|
|
47
|
+
* override is formally overturned; see llm-provider.ts).
|
|
48
|
+
*
|
|
49
|
+
* Two paths, deliberately disjoint:
|
|
50
|
+
*
|
|
51
|
+
* - Strict NOT requested (a gate-ineligible, sticky, or compat-gated attempt, where run-agent
|
|
52
|
+
* already holds the meta it will record): delegate to `callStep` VERBATIM. The json_object
|
|
53
|
+
* path is therefore byte-identical to pre-#313 by construction, not by careful copying.
|
|
54
|
+
* - Strict requested: Chat Completions `response_format: json_schema` with `strict: true`
|
|
55
|
+
* ALWAYS explicit. Omitting `strict` is NOT a neutral default — probe P1 executed it: an
|
|
56
|
+
* omitted flag yields 200 with the schema unenforced, i.e. a silent non-enforcement mode.
|
|
57
|
+
*
|
|
58
|
+
* The ladder is status-keyed, never message-keyed: a 400 on a strict-carrying request drops
|
|
59
|
+
* strict and retries the turn once; a second 400 throws an error CARRYING the meta. Anything
|
|
60
|
+
* else — 5xx, transport, timeouts — propagates untouched and never drops or sticks, because
|
|
61
|
+
* OpenAI has no 503-grammar analog and a slow first strict call (schema compilation) must be
|
|
62
|
+
* retried as transport, never recorded as a schema failure.
|
|
63
|
+
*/
|
|
64
|
+
callStepWithMeta(prompt: string, inputSchema?: Record<string, unknown>, agentProfileInstructions?: string, opts?: {
|
|
65
|
+
structuredOutputStrict?: boolean;
|
|
66
|
+
}): Promise<{
|
|
67
|
+
output: Record<string, unknown>;
|
|
68
|
+
meta?: StructuredOutputMeta;
|
|
69
|
+
}>;
|
|
20
70
|
/**
|
|
21
71
|
* Agentic loop for tool-capable steps. Executes tool calls serially (V1 constraint)
|
|
22
72
|
* until the model returns a final JSON answer or the tool call budget is exhausted.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-provider.d.ts","sourceRoot":"","sources":["../../../src/agent/providers/openai-provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openai-provider.d.ts","sourceRoot":"","sources":["../../../src/agent/providers/openai-provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,KAAK,EAEV,cAAc,EACd,YAAY,EACZ,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAoBlC;;;;;;GAMG;AACH,qBAAa,iCAAkC,SAAQ,KAAK;IAC1D,QAAQ,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;gBAE9C,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,oBAAoB,EACtC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAMhC;AAED;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,sBAAsB;IACxD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;gBAE5B,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,aAAa,UAAQ;IAOlE;;;;;;;;;;;;;;OAcG;IACH,YAAY,IAAI,oBAAoB;IAW9B,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;IA4DnC;;;;;;;;;;;;;;;;;;OAkBG;IACG,gBAAgB,CACpB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,wBAAwB,CAAC,EAAE,MAAM,EACjC,IAAI,CAAC,EAAE;QAAE,sBAAsB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC1C,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,oBAAoB,CAAA;KAAE,CAAC;IAkG5E;;;OAGG;IACG,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,cAAc,EAAE,EACvB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACtC,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChD,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjD,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,wBAAwB,CAAC,EAAE,MAAM,CAAC;KACnC,GACA,OAAO,CAAC,mBAAmB,CAAC;CA6ThC"}
|
|
@@ -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
|
-
|
|
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 {
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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;
|