@framers/agentos 0.13.4 → 0.13.5
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/api/AgentOS.d.ts +3 -0
- package/dist/api/AgentOS.d.ts.map +1 -1
- package/dist/api/AgentOS.js +52 -1
- package/dist/api/AgentOS.js.map +1 -1
- package/dist/api/generateObject.d.ts.map +1 -1
- package/dist/api/generateObject.js +1 -150
- package/dist/api/generateObject.js.map +1 -1
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +2 -0
- package/dist/api/index.js.map +1 -1
- package/dist/api/runtime/AgentOSOrchestrator.d.ts.map +1 -1
- package/dist/api/runtime/AgentOSOrchestrator.js +1 -0
- package/dist/api/runtime/AgentOSOrchestrator.js.map +1 -1
- package/dist/api/runtime/ExternalToolResultHandler.d.ts.map +1 -1
- package/dist/api/runtime/ExternalToolResultHandler.js +1 -0
- package/dist/api/runtime/ExternalToolResultHandler.js.map +1 -1
- package/dist/api/runtime/StreamChunkEmitter.d.ts.map +1 -1
- package/dist/api/runtime/StreamChunkEmitter.js +1 -0
- package/dist/api/runtime/StreamChunkEmitter.js.map +1 -1
- package/dist/api/runtime/structuredReply.d.ts +138 -0
- package/dist/api/runtime/structuredReply.d.ts.map +1 -0
- package/dist/api/runtime/structuredReply.js +284 -0
- package/dist/api/runtime/structuredReply.js.map +1 -0
- package/dist/api/types/AgentOSInput.d.ts +6 -0
- package/dist/api/types/AgentOSInput.d.ts.map +1 -1
- package/dist/api/types/AgentOSResponse.d.ts +2 -0
- package/dist/api/types/AgentOSResponse.d.ts.map +1 -1
- package/dist/api/types/AgentOSResponse.js.map +1 -1
- package/dist/cognition/substrate/GMI.d.ts.map +1 -1
- package/dist/cognition/substrate/GMI.js +58 -4
- package/dist/cognition/substrate/GMI.js.map +1 -1
- package/dist/cognition/substrate/IGMI.d.ts +2 -0
- package/dist/cognition/substrate/IGMI.d.ts.map +1 -1
- package/dist/cognition/substrate/IGMI.js.map +1 -1
- package/dist/core/utils/errors.d.ts +2 -0
- package/dist/core/utils/errors.d.ts.map +1 -1
- package/dist/core/utils/errors.js +3 -0
- package/dist/core/utils/errors.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module api/runtime/structuredReply
|
|
3
|
+
*
|
|
4
|
+
* A reply that must match a schema, on the full runtime: the spec a request carries, the text parsed and checked
|
|
5
|
+
* against a Zod or a JSON schema, the repair message a failed attempt is answered with, and the check again after
|
|
6
|
+
* the output guardrails. `generateObject` shares the parsers here.
|
|
7
|
+
*/
|
|
8
|
+
import Ajv from 'ajv';
|
|
9
|
+
import addFormats from 'ajv-formats';
|
|
10
|
+
import { lowerZodToJsonSchema } from '../../orchestration/compiler/SchemaLowering.js';
|
|
11
|
+
export class StructuredReplyConfigError extends Error {
|
|
12
|
+
constructor(message) {
|
|
13
|
+
super(message);
|
|
14
|
+
this.code = 'STRUCTURED_REPLY_CONFIG';
|
|
15
|
+
this.name = 'StructuredReplyConfigError';
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export const STRUCTURED_REPLY_DEFAULTS = { name: 'reply', maxRetries: 2, maxRetriesCeiling: 5, onExhausted: 'error', streamDeltas: false };
|
|
19
|
+
export function isZodSchema(schema) {
|
|
20
|
+
return typeof schema === 'object' && schema !== null && typeof schema.safeParse === 'function';
|
|
21
|
+
}
|
|
22
|
+
/** Resolves a `schemaRef` through the registry; a spec that names no schema the runtime can reach is refused here, before any turn. */
|
|
23
|
+
export function resolveStructuredReplySpec(spec, registry) {
|
|
24
|
+
if (spec.schema !== undefined) {
|
|
25
|
+
if (!isZodSchema(spec.schema) && (typeof spec.schema !== 'object' || spec.schema === null || Array.isArray(spec.schema))) {
|
|
26
|
+
throw new StructuredReplyConfigError('structuredReply.schema must be a Zod schema or a JSON Schema object.');
|
|
27
|
+
}
|
|
28
|
+
return { ...spec, schema: spec.schema };
|
|
29
|
+
}
|
|
30
|
+
if (spec.schemaRef) {
|
|
31
|
+
const found = registry?.get(spec.schemaRef);
|
|
32
|
+
if (found)
|
|
33
|
+
return { ...spec, schema: found };
|
|
34
|
+
throw new StructuredReplyConfigError(`structuredReply.schemaRef "${spec.schemaRef}" is not in AgentOSConfig.structuredSchemas.`);
|
|
35
|
+
}
|
|
36
|
+
throw new StructuredReplyConfigError('structuredReply needs a schema or a schemaRef.');
|
|
37
|
+
}
|
|
38
|
+
let sharedAjv;
|
|
39
|
+
function ajvInstance() {
|
|
40
|
+
if (!sharedAjv) {
|
|
41
|
+
sharedAjv = new Ajv({ allErrors: true, strict: false });
|
|
42
|
+
addFormats(sharedAjv);
|
|
43
|
+
}
|
|
44
|
+
return sharedAjv;
|
|
45
|
+
}
|
|
46
|
+
/** Builds what a structured turn needs from the spec, or null when the request carries none. Throws on a spec without a usable schema. */
|
|
47
|
+
export function resolveStructuredReply(spec) {
|
|
48
|
+
if (!spec)
|
|
49
|
+
return null;
|
|
50
|
+
const { schema } = resolveStructuredReplySpec(spec);
|
|
51
|
+
const name = (spec.name ?? '').trim() || STRUCTURED_REPLY_DEFAULTS.name;
|
|
52
|
+
const maxRetries = Math.max(0, Math.min(STRUCTURED_REPLY_DEFAULTS.maxRetriesCeiling, Math.trunc(spec.maxRetries ?? STRUCTURED_REPLY_DEFAULTS.maxRetries)));
|
|
53
|
+
const onExhausted = spec.onExhausted === 'return_invalid' ? 'return_invalid' : 'error';
|
|
54
|
+
const streamDeltas = spec.streamDeltas === true;
|
|
55
|
+
if (isZodSchema(schema)) {
|
|
56
|
+
const jsonSchema = lowerZodToJsonSchema(schema);
|
|
57
|
+
return {
|
|
58
|
+
name,
|
|
59
|
+
description: spec.description,
|
|
60
|
+
zod: schema,
|
|
61
|
+
jsonSchema,
|
|
62
|
+
maxRetries,
|
|
63
|
+
onExhausted,
|
|
64
|
+
streamDeltas,
|
|
65
|
+
instruction: buildSchemaInstructionText(jsonSchema, name, spec.description),
|
|
66
|
+
checkValue: (value) => checkWithZod(value, schema),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
let validate;
|
|
70
|
+
try {
|
|
71
|
+
validate = ajvInstance().compile(schema);
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
throw new StructuredReplyConfigError(`structuredReply.schema is not a valid JSON Schema: ${e instanceof Error ? e.message : String(e)}`);
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
name,
|
|
78
|
+
description: spec.description,
|
|
79
|
+
jsonSchema: schema,
|
|
80
|
+
maxRetries,
|
|
81
|
+
onExhausted,
|
|
82
|
+
streamDeltas,
|
|
83
|
+
instruction: buildSchemaInstructionText(schema, name, spec.description),
|
|
84
|
+
checkValue: (value) => {
|
|
85
|
+
if (validate(value))
|
|
86
|
+
return { ok: true, value };
|
|
87
|
+
const issues = (validate.errors ?? []).slice(0, MAX_FEEDBACK_VALIDATION_ISSUES).map((e) => `- ${e.instancePath || '<root>'}: ${e.message ?? 'does not match the schema'}`);
|
|
88
|
+
return { ok: false, issues: issues.length ? issues : ['- <root>: does not match the schema'], value };
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
function checkWithZod(value, schema) {
|
|
93
|
+
let parsed = schema.safeParse(value);
|
|
94
|
+
if (!parsed.success) {
|
|
95
|
+
const repaired = repairStringEncodedContainers(value, parsed.error);
|
|
96
|
+
if (repaired.repaired)
|
|
97
|
+
parsed = schema.safeParse(repaired.value);
|
|
98
|
+
}
|
|
99
|
+
if (parsed.success)
|
|
100
|
+
return { ok: true, value: parsed.data };
|
|
101
|
+
return { ok: false, issues: summarizeZodErrors(parsed.error).split('\n'), value };
|
|
102
|
+
}
|
|
103
|
+
/** Parses the model's text and checks it: the JSON is found in plain text, in a code fence, or between the first and last brace. */
|
|
104
|
+
export function checkStructuredReply(text, resolved) {
|
|
105
|
+
let raw;
|
|
106
|
+
try {
|
|
107
|
+
raw = extractJson(text);
|
|
108
|
+
}
|
|
109
|
+
catch (e) {
|
|
110
|
+
return { ok: false, issues: [`- <root>: the reply is not JSON (${e instanceof Error ? e.message : String(e)})`] };
|
|
111
|
+
}
|
|
112
|
+
return resolved.checkValue(raw);
|
|
113
|
+
}
|
|
114
|
+
/** The message a failed attempt is answered with, inside the same turn. The schema itself stands in the system prompt. */
|
|
115
|
+
export function structuredRepairMessage(issues, resolved, badText) {
|
|
116
|
+
return [
|
|
117
|
+
`Your reply did not match the required JSON schema for "${resolved.name}".`,
|
|
118
|
+
'Problems:',
|
|
119
|
+
...issues,
|
|
120
|
+
'',
|
|
121
|
+
`Your reply was: ${summarizeBadResponse(badText)}`,
|
|
122
|
+
'',
|
|
123
|
+
'Reply again with ONLY the corrected JSON object: no markdown, no code fences, no explanation.',
|
|
124
|
+
].join('\n');
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* The check after the output guardrails: a sanitizer that rewrote the final text may have broken the shape the model
|
|
128
|
+
* matched. Returns the output as it stands after the rewrite, with `stage: 'post_guardrail'`.
|
|
129
|
+
*/
|
|
130
|
+
export function recheckStructuredReply(finalText, previous, resolved) {
|
|
131
|
+
const check = checkStructuredReply(finalText ?? '', resolved);
|
|
132
|
+
if (check.ok)
|
|
133
|
+
return { value: check.value, meta: { ...previous.meta, valid: true, stage: 'post_guardrail', issues: undefined } };
|
|
134
|
+
return { value: check.value ?? null, meta: { ...previous.meta, valid: false, stage: 'post_guardrail', issues: check.issues } };
|
|
135
|
+
}
|
|
136
|
+
// ---------------------------------------------------------------------------
|
|
137
|
+
// The parsers generateObject and the structured turn share
|
|
138
|
+
// ---------------------------------------------------------------------------
|
|
139
|
+
export function buildSchemaInstructionText(jsonSchema, schemaName, schemaDescription) {
|
|
140
|
+
const parts = [];
|
|
141
|
+
parts.push('You MUST respond with ONLY a valid JSON object — no markdown, no code fences, no explanation.');
|
|
142
|
+
if (schemaName)
|
|
143
|
+
parts.push(`The JSON object should be a "${schemaName}".`);
|
|
144
|
+
if (schemaDescription)
|
|
145
|
+
parts.push(schemaDescription);
|
|
146
|
+
parts.push('');
|
|
147
|
+
parts.push('The JSON MUST conform to this JSON Schema:');
|
|
148
|
+
parts.push(JSON.stringify(jsonSchema, null, 2));
|
|
149
|
+
return parts.join('\n');
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Attempts to extract a JSON object from raw LLM text.
|
|
153
|
+
*
|
|
154
|
+
* First tries a direct `JSON.parse`. If that fails, looks for JSON inside
|
|
155
|
+
* common markdown code fences (` ```json ... ``` ` or ` ``` ... ``` `).
|
|
156
|
+
* This handles the common case where models wrap JSON in code blocks
|
|
157
|
+
* despite being told not to.
|
|
158
|
+
*
|
|
159
|
+
* @param text - The raw text to parse.
|
|
160
|
+
* @returns The parsed value.
|
|
161
|
+
* @throws {SyntaxError} When no valid JSON can be extracted.
|
|
162
|
+
*/
|
|
163
|
+
export function extractJson(text) {
|
|
164
|
+
const trimmed = text.trim();
|
|
165
|
+
// Fast path: direct JSON parse
|
|
166
|
+
try {
|
|
167
|
+
return JSON.parse(trimmed);
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
// Fall through to code fence extraction
|
|
171
|
+
}
|
|
172
|
+
// Try extracting from markdown code fences (```json ... ``` or ``` ... ```)
|
|
173
|
+
const fenceMatch = trimmed.match(/```(?:json)?\s*\n?([\s\S]*?)\n?\s*```/);
|
|
174
|
+
if (fenceMatch?.[1]) {
|
|
175
|
+
return JSON.parse(fenceMatch[1].trim());
|
|
176
|
+
}
|
|
177
|
+
// Last resort: find the first { and last } to extract a JSON object
|
|
178
|
+
const firstBrace = trimmed.indexOf('{');
|
|
179
|
+
const lastBrace = trimmed.lastIndexOf('}');
|
|
180
|
+
if (firstBrace !== -1 && lastBrace > firstBrace) {
|
|
181
|
+
return JSON.parse(trimmed.slice(firstBrace, lastBrace + 1));
|
|
182
|
+
}
|
|
183
|
+
throw new SyntaxError(`No valid JSON found in LLM response: ${trimmed.slice(0, 200)}`);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Re-parses string-encoded containers where the schema expects an array or
|
|
187
|
+
* object but the model produced a JSON STRING containing one.
|
|
188
|
+
*
|
|
189
|
+
* Models on the tool-use / structured-output path intermittently
|
|
190
|
+
* double-encode a nested container — `{"verdicts": "[{...}]"}` instead of
|
|
191
|
+
* `{"verdicts": [{...}]}` — most often on long, deeply nested payloads. The
|
|
192
|
+
* raw text extracts as valid JSON, so only Zod sees the defect
|
|
193
|
+
* (`invalid_type: expected array, received string`), and a retry re-rolls
|
|
194
|
+
* the same dice with the same prompt.
|
|
195
|
+
*
|
|
196
|
+
* Driven strictly by the validation issues: for each `invalid_type` issue
|
|
197
|
+
* expecting a container whose actual value is a string that syntactically
|
|
198
|
+
* starts like that container, `JSON.parse` the string in place on a clone.
|
|
199
|
+
* One pass, no recursion; anything that does not parse is left untouched so
|
|
200
|
+
* the caller's normal retry/feedback path still applies.
|
|
201
|
+
*
|
|
202
|
+
* @param value - The extracted-but-invalid candidate value.
|
|
203
|
+
* @param error - The Zod error from the failed validation.
|
|
204
|
+
* @returns The (possibly repaired) value and whether any repair applied.
|
|
205
|
+
* @internal
|
|
206
|
+
*/
|
|
207
|
+
export function repairStringEncodedContainers(value, error) {
|
|
208
|
+
const targets = error.issues.filter(issue => issue.code === 'invalid_type' &&
|
|
209
|
+
(issue.expected === 'array' || issue.expected === 'object'));
|
|
210
|
+
if (targets.length === 0)
|
|
211
|
+
return { value, repaired: false };
|
|
212
|
+
let root;
|
|
213
|
+
try {
|
|
214
|
+
root = structuredClone(value);
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
// Non-cloneable input (should never happen for JSON-derived data) —
|
|
218
|
+
// repair is best-effort, never a new failure mode.
|
|
219
|
+
return { value, repaired: false };
|
|
220
|
+
}
|
|
221
|
+
let repaired = false;
|
|
222
|
+
for (const issue of targets) {
|
|
223
|
+
const path = issue.path ?? [];
|
|
224
|
+
// Resolve the offending node and its parent inside the clone.
|
|
225
|
+
let parent = null;
|
|
226
|
+
let node = root;
|
|
227
|
+
for (const key of path) {
|
|
228
|
+
if (node === null || typeof node !== 'object') {
|
|
229
|
+
node = undefined;
|
|
230
|
+
break;
|
|
231
|
+
}
|
|
232
|
+
parent = node;
|
|
233
|
+
node = parent[key];
|
|
234
|
+
}
|
|
235
|
+
if (typeof node !== 'string')
|
|
236
|
+
continue;
|
|
237
|
+
const trimmed = node.trim();
|
|
238
|
+
const expectsArray = issue.expected === 'array';
|
|
239
|
+
if (expectsArray ? !trimmed.startsWith('[') : !trimmed.startsWith('{'))
|
|
240
|
+
continue;
|
|
241
|
+
let inner;
|
|
242
|
+
try {
|
|
243
|
+
inner = JSON.parse(trimmed);
|
|
244
|
+
}
|
|
245
|
+
catch {
|
|
246
|
+
continue;
|
|
247
|
+
}
|
|
248
|
+
if (path.length === 0) {
|
|
249
|
+
// The root itself was string-encoded.
|
|
250
|
+
root = inner;
|
|
251
|
+
repaired = true;
|
|
252
|
+
continue;
|
|
253
|
+
}
|
|
254
|
+
if (parent) {
|
|
255
|
+
parent[path[path.length - 1]] = inner;
|
|
256
|
+
repaired = true;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
return { value: root, repaired };
|
|
260
|
+
}
|
|
261
|
+
export const MAX_FEEDBACK_BAD_RESPONSE_CHARS = 500;
|
|
262
|
+
export const MAX_FEEDBACK_VALIDATION_ISSUES = 5;
|
|
263
|
+
/**
|
|
264
|
+
* Truncates a bad LLM response for retry feedback to avoid prompt-token bloat.
|
|
265
|
+
* @internal
|
|
266
|
+
*/
|
|
267
|
+
export function summarizeBadResponse(text) {
|
|
268
|
+
if (text.length <= MAX_FEEDBACK_BAD_RESPONSE_CHARS)
|
|
269
|
+
return text;
|
|
270
|
+
return `${text.slice(0, MAX_FEEDBACK_BAD_RESPONSE_CHARS)}... (truncated, ${text.length - MAX_FEEDBACK_BAD_RESPONSE_CHARS} more chars)`;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Truncates Zod validation errors for retry feedback.
|
|
274
|
+
* @internal
|
|
275
|
+
*/
|
|
276
|
+
export function summarizeZodErrors(error) {
|
|
277
|
+
const issues = error.issues.slice(0, MAX_FEEDBACK_VALIDATION_ISSUES);
|
|
278
|
+
const lines = issues.map(i => `- ${i.path.join('.') || '<root>'}: ${i.message}`);
|
|
279
|
+
if (error.issues.length > MAX_FEEDBACK_VALIDATION_ISSUES) {
|
|
280
|
+
lines.push(`(${error.issues.length - MAX_FEEDBACK_VALIDATION_ISSUES} more issues omitted)`);
|
|
281
|
+
}
|
|
282
|
+
return lines.join('\n');
|
|
283
|
+
}
|
|
284
|
+
//# sourceMappingURL=structuredReply.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structuredReply.js","sourceRoot":"","sources":["../../../src/api/runtime/structuredReply.ts"],"names":[],"mappings":"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"}
|
|
@@ -140,5 +140,11 @@ export interface ProcessingOptions {
|
|
|
140
140
|
debugMode?: boolean;
|
|
141
141
|
forceNewConversation?: boolean;
|
|
142
142
|
customFlags?: Record<string, any>;
|
|
143
|
+
/**
|
|
144
|
+
* A reply that must match a schema: the model is instructed, its reply parsed and checked, a reply that does not
|
|
145
|
+
* match asked for again inside the turn, and the final chunk carries the parsed value (`structured`). See
|
|
146
|
+
* `src/api/runtime/structuredReply.ts`.
|
|
147
|
+
*/
|
|
148
|
+
structuredReply?: import('../runtime/structuredReply').StructuredReplySpec;
|
|
143
149
|
}
|
|
144
150
|
//# sourceMappingURL=AgentOSInput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentOSInput.d.ts","sourceRoot":"","sources":["../../../src/api/types/AgentOSInput.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AgentOSInput.d.ts","sourceRoot":"","sources":["../../../src/api/types/AgentOSInput.ts"],"names":[],"mappings":"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"}
|
|
@@ -133,6 +133,8 @@ export interface AgentOSFinalResponseChunk extends AgentOSResponseChunk {
|
|
|
133
133
|
* Undefined when no RAG retrieval was performed.
|
|
134
134
|
*/
|
|
135
135
|
ragSources?: import('../../cognition/rag').RagRetrievedChunk[];
|
|
136
|
+
/** On a structured turn (`ProcessingOptions.structuredReply`): the parsed value and how it was checked. */
|
|
137
|
+
structured?: import('../runtime/structuredReply').StructuredReplyOutput;
|
|
136
138
|
}
|
|
137
139
|
/**
|
|
138
140
|
* @typedef {Object} AgentOSErrorChunk
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentOSResponse.d.ts","sourceRoot":"","sources":["../../../src/api/types/AgentOSResponse.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AgentOSResponse.d.ts","sourceRoot":"","sources":["../../../src/api/types/AgentOSResponse.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentOSResponse.js","sourceRoot":"","sources":["../../../src/api/types/AgentOSResponse.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD;;;;;GAKG;AAcH;;;GAGG;AACH,MAAM,CAAN,IAAY,wBAYX;AAZD,WAAY,wBAAwB;IAClC,qDAAyB,CAAA;IACzB,+DAAmC,CAAA;IACnC,mEAAuC,CAAA;IACvC,yEAA6C,CAAA;IAC7C,qDAAyB,CAAA;IACzB,6DAAiC,CAAA;IACjC,2CAAe,CAAA;IACf,+DAAmC,CAAA;IACnC,+DAAmC,CAAA;IACnC,2DAA+B,CAAA;IAC/B,iEAAqC,CAAA;AACvC,CAAC,EAZW,wBAAwB,KAAxB,wBAAwB,QAYnC;
|
|
1
|
+
{"version":3,"file":"AgentOSResponse.js","sourceRoot":"","sources":["../../../src/api/types/AgentOSResponse.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD;;;;;GAKG;AAcH;;;GAGG;AACH,MAAM,CAAN,IAAY,wBAYX;AAZD,WAAY,wBAAwB;IAClC,qDAAyB,CAAA;IACzB,+DAAmC,CAAA;IACnC,mEAAuC,CAAA;IACvC,yEAA6C,CAAA;IAC7C,qDAAyB,CAAA;IACzB,6DAAiC,CAAA;IACjC,2CAAe,CAAA;IACf,+DAAmC,CAAA;IACnC,+DAAmC,CAAA;IACnC,2DAA+B,CAAA;IAC/B,iEAAqC,CAAA;AACvC,CAAC,EAZW,wBAAwB,KAAxB,wBAAwB,QAYnC;AAqND,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAc;IAEd,OAAO,CACL,aAAa,CAAC,KAAK,CAAC;QACpB,KAAK,CAAC,IAAI,KAAK,wBAAwB,CAAC,iBAAiB;QACzD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAC/B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gCAAgC,CAC9C,KAAc;IAEd,OAAO,CACL,sBAAsB,CAAC,KAAK,CAAC;QAC7B,KAAK,CAAC,aAAa,KAAK,UAAU;QAClC,KAAK,CAAC,0BAA0B,KAAK,IAAI,CAC1C,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GMI.d.ts","sourceRoot":"","sources":["../../../src/cognition/substrate/GMI.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EACL,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,cAAc,EAEd,aAAa,EAIb,cAAc,EAGd,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EAIvB,cAAc,EACd,iBAAiB,EACjB,SAAS,EAIV,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACL,kBAAkB,EAEnB,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"GMI.d.ts","sourceRoot":"","sources":["../../../src/cognition/substrate/GMI.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ import { GMIOutputChunkType, GMIPrimeState, GMIMood, ReasoningEntryType, GMIInte
|
|
|
17
17
|
} from './IGMI.js';
|
|
18
18
|
import { hardLimitsBlock, HARD_LIMITS_PRIORITY } from './personas/hardLimits.js';
|
|
19
19
|
import { RagMemoryCategory } from '../rag/IRetrievalAugmentor.js';
|
|
20
|
+
import { checkStructuredReply, resolveStructuredReply, structuredRepairMessage, StructuredReplyConfigError } from '../../api/runtime/structuredReply.js';
|
|
20
21
|
import { GMIError, GMIErrorCode, createGMIErrorFromError } from '../../core/utils/errors.js';
|
|
21
22
|
import { ConversationHistoryManager } from './ConversationHistoryManager.js';
|
|
22
23
|
import { CognitiveMemoryBridge } from './CognitiveMemoryBridge.js';
|
|
@@ -860,6 +861,20 @@ export class GMI {
|
|
|
860
861
|
? requestedCacheDiagnostics
|
|
861
862
|
: this.activePersona.defaultModelCompletionOptions?.cacheDiagnostics);
|
|
862
863
|
let lastRagSources;
|
|
864
|
+
// A structured turn (ProcessingOptions.structuredReply): the schema the reply must match, resolved once. Its
|
|
865
|
+
// instruction joins the system prompt, its Zod schema reaches the gateway, no delta streams before the check
|
|
866
|
+
// unless asked, and a reply that does not match is asked for again inside the turn.
|
|
867
|
+
let structuredReply = null;
|
|
868
|
+
try {
|
|
869
|
+
structuredReply = resolveStructuredReply(turnInput.metadata?.options?.structuredReply);
|
|
870
|
+
}
|
|
871
|
+
catch (error) {
|
|
872
|
+
if (error instanceof StructuredReplyConfigError)
|
|
873
|
+
throw new GMIError(error.message, GMIErrorCode.VALIDATION_ERROR, { code: error.code });
|
|
874
|
+
throw error;
|
|
875
|
+
}
|
|
876
|
+
let structuredAttempts = 0;
|
|
877
|
+
let structuredResult;
|
|
863
878
|
main_processing_loop: while (safetyBreak < maxToolLoopIterations) {
|
|
864
879
|
safetyBreak++;
|
|
865
880
|
let augmentedContextFromRAG = "";
|
|
@@ -954,6 +969,9 @@ export class GMI {
|
|
|
954
969
|
priority: 57,
|
|
955
970
|
});
|
|
956
971
|
}
|
|
972
|
+
if (structuredReply) {
|
|
973
|
+
systemPrompts.push({ content: structuredReply.instruction, priority: 900 });
|
|
974
|
+
}
|
|
957
975
|
// the persona's hard limits close the system prompt, after everything the turn added above
|
|
958
976
|
const hardLimits = hardLimitsBlock(this.activePersona.hardLimits);
|
|
959
977
|
if (hardLimits) {
|
|
@@ -1036,8 +1054,8 @@ export class GMI {
|
|
|
1036
1054
|
stream: true,
|
|
1037
1055
|
};
|
|
1038
1056
|
// A schema travels to the gateway, which lowers it per hop (D9); it is not a provider option.
|
|
1039
|
-
const responseSchema = turnOptions.responseSchema;
|
|
1040
|
-
const schemaName = turnOptions.schemaName;
|
|
1057
|
+
const responseSchema = turnOptions.responseSchema ?? structuredReply?.zod;
|
|
1058
|
+
const schemaName = turnOptions.schemaName ?? (structuredReply && responseSchema === structuredReply.zod ? structuredReply.name : undefined);
|
|
1041
1059
|
// The gateway's route: the model asked for, the last user message (its text
|
|
1042
1060
|
// is the router's task hint: the text parts of a multimodal message, and on
|
|
1043
1061
|
// a continuation the message being answered, never the continuation's own
|
|
@@ -1179,7 +1197,9 @@ export class GMI {
|
|
|
1179
1197
|
if (chunk.responseTextDelta) {
|
|
1180
1198
|
currentIterationTextResponse += chunk.responseTextDelta;
|
|
1181
1199
|
aggregatedResponseText += chunk.responseTextDelta; // Aggregate for final output
|
|
1182
|
-
|
|
1200
|
+
if (!structuredReply || structuredReply.streamDeltas) {
|
|
1201
|
+
yield this.createOutputChunk(turnInput.interactionId, GMIOutputChunkType.TEXT_DELTA, chunk.responseTextDelta, { usage: chunk.usage });
|
|
1202
|
+
}
|
|
1183
1203
|
textDeltaEmitted = true;
|
|
1184
1204
|
}
|
|
1185
1205
|
// Handle fully formed tool_calls if present in the chunk's message
|
|
@@ -1215,7 +1235,9 @@ export class GMI {
|
|
|
1215
1235
|
if (chunk.isFinal && !textDeltaEmitted && typeof choice?.message?.content === 'string' && choice.message.content.length > 0) {
|
|
1216
1236
|
currentIterationTextResponse = choice.message.content;
|
|
1217
1237
|
aggregatedResponseText += choice.message.content;
|
|
1218
|
-
|
|
1238
|
+
if (!structuredReply || structuredReply.streamDeltas) {
|
|
1239
|
+
yield this.createOutputChunk(turnInput.interactionId, GMIOutputChunkType.TEXT_DELTA, choice.message.content, { usage: chunk.usage });
|
|
1240
|
+
}
|
|
1219
1241
|
textDeltaEmitted = true;
|
|
1220
1242
|
}
|
|
1221
1243
|
if (chunk.isFinal && choice?.finishReason) {
|
|
@@ -1318,6 +1340,37 @@ export class GMI {
|
|
|
1318
1340
|
...(stepFinishReason ? { finishReason: stepFinishReason } : {}),
|
|
1319
1341
|
...(stepUsage ? { usage: stepUsage } : {}),
|
|
1320
1342
|
});
|
|
1343
|
+
// The structured check, on a step that answered with text rather than tool calls. A reply that does not match
|
|
1344
|
+
// is asked for again: the invalid reply and the repair request join this turn's prompt and never the durable
|
|
1345
|
+
// history, and the turn's text starts over with the next attempt.
|
|
1346
|
+
if (structuredReply && currentIterationToolCallRequests.length === 0) {
|
|
1347
|
+
structuredAttempts += 1;
|
|
1348
|
+
const lifted = stepStructuredOutput !== undefined;
|
|
1349
|
+
const check = lifted ? structuredReply.checkValue(stepStructuredOutput) : checkStructuredReply(currentIterationTextResponse, structuredReply);
|
|
1350
|
+
const enforcement = lifted ? 'forced_tool' : gateway ? 'provider_schema' : 'prompt_only';
|
|
1351
|
+
if (check.ok) {
|
|
1352
|
+
structuredResult = { value: check.value, meta: { schemaName: structuredReply.name, valid: true, attempts: structuredAttempts, enforcement, stage: 'model' } };
|
|
1353
|
+
if (lifted && !currentIterationTextResponse) {
|
|
1354
|
+
// the forced tool call carried the reply: its text is the value, so the final response holds it too
|
|
1355
|
+
currentIterationTextResponse = JSON.stringify(check.value);
|
|
1356
|
+
aggregatedResponseText += currentIterationTextResponse;
|
|
1357
|
+
}
|
|
1358
|
+
}
|
|
1359
|
+
else {
|
|
1360
|
+
const canRetry = structuredAttempts <= structuredReply.maxRetries && safetyBreak < maxToolLoopIterations;
|
|
1361
|
+
if (canRetry) {
|
|
1362
|
+
this.addTraceEntry(ReasoningEntryType.WARNING, `The reply did not match the schema "${structuredReply.name}" (attempt ${structuredAttempts}); asking again.`, { issues: check.issues });
|
|
1363
|
+
turnMessages.push({ role: 'assistant', content: currentIterationTextResponse || null });
|
|
1364
|
+
turnMessages.push({ role: 'user', content: structuredRepairMessage(check.issues, structuredReply, currentIterationTextResponse) });
|
|
1365
|
+
aggregatedResponseText = '';
|
|
1366
|
+
continue main_processing_loop;
|
|
1367
|
+
}
|
|
1368
|
+
if (structuredReply.onExhausted === 'error') {
|
|
1369
|
+
throw new GMIError(`The reply did not match the schema "${structuredReply.name}" after ${structuredAttempts} attempt(s).`, GMIErrorCode.STRUCTURED_OUTPUT_INVALID, { schemaName: structuredReply.name, attempts: structuredAttempts, issues: check.issues });
|
|
1370
|
+
}
|
|
1371
|
+
structuredResult = { value: check.value ?? null, meta: { schemaName: structuredReply.name, valid: false, attempts: structuredAttempts, enforcement, stage: 'model', issues: check.issues } };
|
|
1372
|
+
}
|
|
1373
|
+
}
|
|
1321
1374
|
const assistantMessage = {
|
|
1322
1375
|
role: 'assistant',
|
|
1323
1376
|
content: currentIterationTextResponse || null,
|
|
@@ -1408,6 +1461,7 @@ export class GMI {
|
|
|
1408
1461
|
usage: aggregatedUsage,
|
|
1409
1462
|
error: lastErrorForOutput,
|
|
1410
1463
|
ragSources: lastRagSources,
|
|
1464
|
+
...(structuredResult ? { structuredOutput: structuredResult } : {}),
|
|
1411
1465
|
};
|
|
1412
1466
|
return finalTurnOutput; // Return the aggregated output
|
|
1413
1467
|
}
|