@aeye/core 0.3.8 → 0.3.9
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/README.md +103 -2
- package/aeye-core-prompts.md +171 -0
- package/aeye-core-schema.md +117 -0
- package/aeye-core-tools.md +177 -0
- package/aeye-core-types.md +178 -0
- package/aeye-core.md +88 -0
- package/dist/common.d.ts +36 -0
- package/dist/common.d.ts.map +1 -1
- package/dist/common.js +101 -0
- package/dist/common.js.map +1 -1
- package/dist/prompt.d.ts +261 -16
- package/dist/prompt.d.ts.map +1 -1
- package/dist/prompt.js +653 -297
- package/dist/prompt.js.map +1 -1
- package/dist/schema.d.ts +432 -18
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +1403 -209
- package/dist/schema.js.map +1 -1
- package/dist/tool.d.ts +107 -17
- package/dist/tool.d.ts.map +1 -1
- package/dist/tool.js +128 -9
- package/dist/tool.js.map +1 -1
- package/dist/types.d.ts +50 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
# @aeye/core — Type model & utilities
|
|
2
|
+
|
|
3
|
+
The shared, provider-agnostic type model (`src/types.ts`) plus helper functions (`src/common.ts`) and Node resource helpers (`src/to.ts`). All re-exported from `@aeye/core`.
|
|
4
|
+
|
|
5
|
+
## Component interface
|
|
6
|
+
|
|
7
|
+
Every primitive implements `Component`:
|
|
8
|
+
|
|
9
|
+
```typescript
|
|
10
|
+
interface Component<TContext = {}, TMetadata = {}, TName extends string = string,
|
|
11
|
+
TInput extends object = {}, TOutput = string,
|
|
12
|
+
TRefs extends Tuple<ComponentCompatible<TContext, TMetadata>> = []> {
|
|
13
|
+
kind: string; // 'prompt' | 'tool' | 'agent' (or custom)
|
|
14
|
+
name: TName;
|
|
15
|
+
description: string;
|
|
16
|
+
refs: TRefs;
|
|
17
|
+
run(...[input, ctx]: OptionalParams<[TInput, Context<...>]>): TOutput;
|
|
18
|
+
applicable(...[ctx]): Promise<boolean>;
|
|
19
|
+
metadata(): TMetadata;
|
|
20
|
+
metadata(input?, ctx?): TMetadata | Promise<TMetadata>;
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Useful generic helpers exported alongside it: `AnyComponent`, `ComponentCompatible<C,M>`, `ComponentTuple`, and extractors `ComponentContext<C>`, `ComponentMetadata<C>`, `ComponentInput<C>`, `ComponentOutput<C>`, `ComponentRefs<C>`, `ComponentsAll<C>` (transitive refs), `Names<T>`. Type plumbing: `Tuple<T>` (`[] | [T, ...T[]]`), `Simplify`, `Extend`, `Plus`, `RequiredKeys`, `OptionalParams` (makes trailing params optional when they have no required keys — why `run()`/`get()` can be called with no args).
|
|
25
|
+
|
|
26
|
+
## Context
|
|
27
|
+
|
|
28
|
+
`Context<TContext, TMetadata>` = your `TContext` intersected with core execution fields:
|
|
29
|
+
|
|
30
|
+
```typescript
|
|
31
|
+
type Context<TContext, TMetadata> = TContext & {
|
|
32
|
+
messages?: Message[];
|
|
33
|
+
execute?: Executor<TContext, TMetadata>;
|
|
34
|
+
stream?: Streamer<TContext, TMetadata>;
|
|
35
|
+
signal?: AbortSignal;
|
|
36
|
+
estimateUsage?: (message: Message) => Usage | undefined;
|
|
37
|
+
maxOutputTokens?: number; // reserve tokens for the model's output
|
|
38
|
+
contextWindow?: number; // override window size for trimming
|
|
39
|
+
outputRetries?: number; // default 2
|
|
40
|
+
forgetRetries?: number; // context-trim retries, default 1
|
|
41
|
+
toolRetries?: number; // default 2
|
|
42
|
+
instance?: Instance<any>; // current execution instance
|
|
43
|
+
runner?: Runner; // override how components execute (see withEvents)
|
|
44
|
+
toolCallId?: string; // set by the prompt loop before a tool's call()
|
|
45
|
+
};
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
`Executor` / `Streamer` are the functions you must supply to actually run a prompt:
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
type Executor<TContext, TMetadata> =
|
|
52
|
+
(request: Request, context, metadata?, signal?: AbortSignal) => Promise<Response>;
|
|
53
|
+
|
|
54
|
+
type Streamer<TContext, TMetadata> =
|
|
55
|
+
(request: Request, context, metadata?, signal?: AbortSignal) => AsyncGenerator<Chunk, Response>;
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Messages & content
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
type MessageRole = 'system' | 'user' | 'assistant' | 'tool';
|
|
62
|
+
|
|
63
|
+
interface Message {
|
|
64
|
+
role: MessageRole;
|
|
65
|
+
content: string | MessageContent[];
|
|
66
|
+
tokens?: number; // used for automatic context trimming
|
|
67
|
+
name?: string;
|
|
68
|
+
toolCallId?: string; // role: 'tool' — links result to a ToolCall
|
|
69
|
+
toolCalls?: ToolCall[]; // role: 'assistant' — model wants to call tools
|
|
70
|
+
refusal?: string;
|
|
71
|
+
reasoning?: Reasoning;
|
|
72
|
+
cache?: Record<string, any>;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
interface MessageContent { // type: 'text' | 'image' | 'file' | 'audio'
|
|
76
|
+
type: MessageContentType;
|
|
77
|
+
content: Resource; // string | URL | Blob | Uint8Array | stream | ...
|
|
78
|
+
format?: string; // 'png', 'mp3', 'pdf', ...
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
interface ToolCall { id: string; name: string; arguments: string; } // arguments = JSON string
|
|
82
|
+
interface ToolDefinition {
|
|
83
|
+
name: string; description?: string;
|
|
84
|
+
parameters: z.ZodType<object>; // raw Zod; strictify applied lazily by provider
|
|
85
|
+
strict?: boolean | number;
|
|
86
|
+
descriptor?: string; // FormatDescriptor id chosen at request build time
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Request & Response
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
interface Request extends BaseRequest { // BaseRequest: { model?: ModelInput; extra?: ... }
|
|
94
|
+
name?: string;
|
|
95
|
+
messages: Message[];
|
|
96
|
+
temperature?: number; // 0.0–2.0
|
|
97
|
+
maxTokens?: number;
|
|
98
|
+
topP?: number; // 0.0–1.0
|
|
99
|
+
frequencyPenalty?: number; // -2.0–2.0
|
|
100
|
+
presencePenalty?: number; // -2.0–2.0
|
|
101
|
+
stop?: string | string[];
|
|
102
|
+
logProbabilities?: boolean;
|
|
103
|
+
logitBias?: Record<string, number>;
|
|
104
|
+
tools?: ToolDefinition[];
|
|
105
|
+
toolsOneAtATime?: boolean;
|
|
106
|
+
toolChoice?: ToolChoice; // 'auto' | 'none' | 'required' | { tool: string }
|
|
107
|
+
responseFormat?: ResponseFormat;// 'text' | 'json' | { type: ZodType, strict, descriptor? }
|
|
108
|
+
reason?: { effort?: 'low'|'medium'|'high'; maxTokens?: number };
|
|
109
|
+
cacheKey?: string;
|
|
110
|
+
userKey?: string;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
interface Response extends BaseResponse { // BaseResponse: { usage?, model, extra? }
|
|
114
|
+
content: string;
|
|
115
|
+
toolCalls?: ToolCall[];
|
|
116
|
+
finishReason: FinishReason; // 'stop' | 'length' | 'tool_calls' | 'content_filter' | 'refusal'
|
|
117
|
+
refusal?: string;
|
|
118
|
+
reasoning?: Reasoning;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
interface Chunk extends BaseChunk { // streaming delta
|
|
122
|
+
content?: string;
|
|
123
|
+
toolCallNamed?: ToolCall; // name fully received
|
|
124
|
+
toolCallArguments?: ToolCall; // args streaming
|
|
125
|
+
toolCall?: ToolCall; // fully received
|
|
126
|
+
finishReason?: FinishReason;
|
|
127
|
+
refusal?: string;
|
|
128
|
+
reasoning?: Reasoning;
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Usage
|
|
133
|
+
|
|
134
|
+
`Usage` mirrors model pricing for cost tracking — per-modality token counts (`text`, `audio`, `image`, `reasoning`, `embeddings`) plus an optional `cost` in dollars. See `src/types.ts` for the full shape.
|
|
135
|
+
|
|
136
|
+
## Instances & Events (lifecycle tracking)
|
|
137
|
+
|
|
138
|
+
```typescript
|
|
139
|
+
type InstanceStatus = 'pending' | 'running' | 'completed' | 'failed' | 'interrupted';
|
|
140
|
+
|
|
141
|
+
interface Instance<C extends AnyComponent> {
|
|
142
|
+
parent?: Instance<AnyComponent>;
|
|
143
|
+
id: string; component: C; context; input; status: InstanceStatus;
|
|
144
|
+
started?; running?; completed?; // timestamps (ms)
|
|
145
|
+
error?; output?; children?: Instance<...>[];
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
interface Events<TRoot extends AnyComponent> {
|
|
149
|
+
onStatus?: (node: Instance<...>) => void;
|
|
150
|
+
onChild?: (node, child) => void;
|
|
151
|
+
onPromptEvent?: (instance, event: PromptEvent<...>) => void;
|
|
152
|
+
}
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
A `Runner` wraps every component execution. Use `withEvents(events)` to build one:
|
|
156
|
+
|
|
157
|
+
```typescript
|
|
158
|
+
import { withEvents } from '@aeye/core';
|
|
159
|
+
|
|
160
|
+
const runner = withEvents({
|
|
161
|
+
onStatus: (i) => console.log(`${i.component.name}: ${i.status}`),
|
|
162
|
+
onPromptEvent: (_i, e) => { if (e.type === 'usage') console.log('tokens', e.usage); },
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
await prompt.get('result', { text: 'hi' }, { execute, messages: [], runner });
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## `common.ts` utilities
|
|
169
|
+
|
|
170
|
+
- `resolveFn(fn, reprocess?)` — normalizes a `Fn<R, A>` (value | promise | function) into `(...args) => Promise<R>`. The pattern behind every `schema`/`config`/`input`/`*Fn` field.
|
|
171
|
+
- Usage helpers: `accumulateUsage(target, add)`, `getInputTokens`, `getOutputTokens`, `getTotalTokens`, `accumulateReasoning`, `getReasoningText`.
|
|
172
|
+
- Conversion helpers: `getModel(input)`, `getResponseFromChunks(chunks, model?)`, `getChunksFromResponse(response)`.
|
|
173
|
+
- Async helpers: `isPromise`, `isAsyncGenerator`, `isSettled`, `resolve`, `yieldAll`, `consumeAll`.
|
|
174
|
+
- `Fn<R, A>`, `FnResult`, `FnArgs`, `FnResolved`, `Resolved<T>` type helpers.
|
|
175
|
+
|
|
176
|
+
## `to.ts` resource helpers (Node only — excluded from the browser build)
|
|
177
|
+
|
|
178
|
+
`getResourceFormat`, `toURL`, `toBase64`, `toText`, `toStream`, `toReadableStream`, `toFile` — convert a `Resource` (string, URL, Blob, Uint8Array, stream, file path, …) to the form a provider needs. Import these only in Node contexts; the browser entry omits them.
|
package/aeye-core.md
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# @aeye/core
|
|
2
|
+
|
|
3
|
+
**Purpose:** Type-safe, composable primitives for building AI applications — `Prompt`, `Tool`, and `Agent` components, plus the shared type model (messages, requests, responses, usage) and a Zod→JSON-Schema layer that handles per-provider strict-mode dialects.
|
|
4
|
+
|
|
5
|
+
`@aeye/core` defines the *primitives and contracts*. It does **not** talk to any LLM provider itself. To actually run a prompt you supply an `execute` and/or `stream` function on the context — usually produced by `@aeye/ai` via `ai.buildCoreContext()`, or your own.
|
|
6
|
+
|
|
7
|
+
## When to use it
|
|
8
|
+
|
|
9
|
+
- You want provider-agnostic AI components (prompts, tools, agents) with full TypeScript inference.
|
|
10
|
+
- You need structured outputs validated by Zod, with automatic re-prompting on validation failure.
|
|
11
|
+
- You need native tool/function calling with configurable execution (sequential / parallel / immediate), retries, and iteration limits.
|
|
12
|
+
- You need a single Zod schema to emit correct JSON Schema for OpenAI / Anthropic / Google strict modes.
|
|
13
|
+
- You are building a provider package or runtime (e.g. `@aeye/ai`) on top of the shared `Request`/`Response`/`Message` model.
|
|
14
|
+
|
|
15
|
+
If you just want to call models against configured providers with model selection and cost tracking, use `@aeye/ai` (which depends on this package).
|
|
16
|
+
|
|
17
|
+
## Installation & import
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install @aeye/core zod handlebars
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
import { Prompt, Tool, Agent, withEvents } from '@aeye/core';
|
|
25
|
+
import z from 'zod';
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
- Single entry point: `@aeye/core` (no subpath exports).
|
|
29
|
+
- There is a separate **browser** build (`./dist/browser.js`, auto-selected via the `browser` export condition) that excludes the Node-only resource helpers in `to.ts` (which depend on `fs`/`path`/`stream`). Everything else (`types`, `common`, `schema`, `tool`, `prompt`, `agent`) is available in both.
|
|
30
|
+
- `peerDependencies` in practice: `zod` (^4) and `handlebars` (^4) are runtime deps used for schemas and prompt templates.
|
|
31
|
+
|
|
32
|
+
## Core concepts (read these first)
|
|
33
|
+
|
|
34
|
+
- **Component** — the common interface implemented by `Prompt`, `Tool`, and `Agent`: `{ kind, name, description, refs, run(), applicable(), metadata() }`.
|
|
35
|
+
- **`TContext` / `Context<TContext, TMetadata>`** — your app data (user, db, etc.) merged with core execution fields (`execute`, `stream`, `messages`, `signal`, retry counts, `runner`, …). Threaded through every call.
|
|
36
|
+
- **`TMetadata`** — execution settings (model, requirements) carried alongside the context.
|
|
37
|
+
- **Refs** — components a Tool/Agent depends on, passed positionally to `call`. Enables a typed component graph.
|
|
38
|
+
- **Strict mode / FormatDescriptor** — one Zod schema, many provider JSON-Schema dialects.
|
|
39
|
+
|
|
40
|
+
## Documentation index
|
|
41
|
+
|
|
42
|
+
| File | Covers |
|
|
43
|
+
|------|--------|
|
|
44
|
+
| [`aeye-core-types.md`](./aeye-core-types.md) | The shared type model: `Component`, `Context`, `Message`, `Request`, `Response`, `Chunk`, `Usage`, `Executor`/`Streamer`, `Instance`/`Events`, plus `common.ts` utilities and `withEvents`. |
|
|
45
|
+
| [`aeye-core-prompts.md`](./aeye-core-prompts.md) | `Prompt` class, `PromptInput`, the `get()` modes, `PromptEvent` stream, tool execution, retries, reconfig, suspend/resume. |
|
|
46
|
+
| [`aeye-core-tools.md`](./aeye-core-tools.md) | `Tool` and `Agent` classes, `ToolInput`/`AgentInput`, `call`/`validate`/`applicable`, context-aware schemas, `ToolInterrupt`/`PromptSuspend`. |
|
|
47
|
+
| [`aeye-core-schema.md`](./aeye-core-schema.md) | Strict mode: `FormatDescriptor`, `toJSONSchema`, `strictify`, `registerDescriptor`, the built-in descriptors, `SchemaBudget`, `analyzeSchema`. |
|
|
48
|
+
|
|
49
|
+
## 60-second example
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
import { Prompt } from '@aeye/core';
|
|
53
|
+
import z from 'zod';
|
|
54
|
+
|
|
55
|
+
const summarizer = new Prompt({
|
|
56
|
+
name: 'summarize',
|
|
57
|
+
description: 'Summarizes text concisely',
|
|
58
|
+
content: 'Summarize the following text:\n\n{{text}}',
|
|
59
|
+
input: (input: { text: string }) => ({ text: input.text }),
|
|
60
|
+
schema: z.object({
|
|
61
|
+
summary: z.string().describe('A concise summary'),
|
|
62
|
+
keyPoints: z.array(z.string()).describe('Main points'),
|
|
63
|
+
}),
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
// `ctx` must carry an `execute` (and/or `stream`) function + messages.
|
|
67
|
+
const result = await summarizer.get(
|
|
68
|
+
'result',
|
|
69
|
+
{ text: 'Long article text...' },
|
|
70
|
+
{ execute: yourAIExecutor, messages: [] },
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
console.log(result?.summary, result?.keyPoints);
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## How it integrates with other @aeye packages
|
|
77
|
+
|
|
78
|
+
- **`@aeye/ai`** is the runtime. `await ai.buildCoreContext(requiredCtx)` returns a `Context` populated with `execute`, `stream`, and `estimateUsage`, ready to pass to any component's `run()`/`get()`. `ai.run(component, input, ctx)` builds the context and runs the component for you. `@aeye/ai` is also what enforces strict-mode model selection from the descriptors defined here.
|
|
79
|
+
- **Provider packages** implement against `Request`/`Response`/`Chunk`/`Message` from this package and choose a `FormatDescriptor` per request (pinning its `id` on `request.responseFormat.descriptor` / `ToolDefinition.descriptor`).
|
|
80
|
+
|
|
81
|
+
## Key gotchas
|
|
82
|
+
|
|
83
|
+
- **`@aeye/core` cannot call a model on its own.** Without `execute`/`stream` on the context, a `Prompt` produces nothing. Tools and Agents run fine standalone via `.run()`.
|
|
84
|
+
- **`Prompt.get(mode, input?, ctx?)`** — modes `'result'` / `'tools'` return a `Promise`; `'stream'` / `'streamTools'` / `'streamContent'` return an `AsyncGenerator`. Default mode is `'result'`.
|
|
85
|
+
- **`schema` and many fields accept a function** `(input, ctx) => ...` for context-dependent behavior. Returning `false` from a Prompt `schema` disables structured output (plain text).
|
|
86
|
+
- **`strict` defaults to `1`** (prefer strict, allow lenient fallback), *not* `true`. Use `strict: true` only when strict is non-negotiable (it filters model selection in `@aeye/ai`).
|
|
87
|
+
- **Tool results are auto-paired** by default (`toolsComplete: true`) so providers don't reject unpaired `tool_calls`. `PromptSuspend` is the deliberate exception used for human-in-the-loop.
|
|
88
|
+
- The README at `packages/core/README.md` is the canonical narrative reference; full per-module API reference lives in `packages/docs/reference/core/`.
|
package/dist/common.d.ts
CHANGED
|
@@ -173,4 +173,40 @@ export declare function getChunksFromResponse(response: Response): Chunk[];
|
|
|
173
173
|
* @param events
|
|
174
174
|
* @returns
|
|
175
175
|
*/ export declare function withEvents<TRoot extends AnyComponent>(events: Events<TRoot>): Runner;
|
|
176
|
+
/**
|
|
177
|
+
* Extract the outermost balanced JSON object (`{…}`) from arbitrary model
|
|
178
|
+
* text. Robust to markdown code fences (```json … ```), surrounding prose,
|
|
179
|
+
* and braces that appear inside string literals — it scans from the first
|
|
180
|
+
* `{`, tracks string-literal state (respecting backslash escapes), and returns
|
|
181
|
+
* the slice up to the matching close brace at depth 0.
|
|
182
|
+
*
|
|
183
|
+
* Behavior is IDENTICAL to a clean `JSON.stringify`-d object (returns it
|
|
184
|
+
* verbatim). Falls back to the slice from the first `{` to end when the braces
|
|
185
|
+
* never balance, and to `''` when there is no `{` at all (so `JSON.parse('')`
|
|
186
|
+
* surfaces the same error downstream).
|
|
187
|
+
*
|
|
188
|
+
* Exported for direct unit testing.
|
|
189
|
+
*/
|
|
190
|
+
export declare function extractJSONObject(text: string): string;
|
|
191
|
+
/**
|
|
192
|
+
* Best-effort repair for a provider that JSON-encodes a top-level object/array
|
|
193
|
+
* field as a STRING (Claude / Anthropic tool args have been observed doing this,
|
|
194
|
+
* sometimes double-encoding AND corrupting the inner content mid-stream). Walks
|
|
195
|
+
* the top-level entries of `raw`; any string value that starts with `{`/`[` is
|
|
196
|
+
* `JSON.parse`-d back into place.
|
|
197
|
+
*
|
|
198
|
+
* Returns the repaired object, the list of fields that parsed cleanly
|
|
199
|
+
* (`fields`), and the list of fields that LOOKED string-encoded whether or not
|
|
200
|
+
* their inner JSON parsed (`attempted`) — so the caller can distinguish "no
|
|
201
|
+
* encoded fields at all" (`undefined`) from "encoded but malformed inner JSON"
|
|
202
|
+
* (`attempted.length > 0`, `fields.length === 0`).
|
|
203
|
+
*
|
|
204
|
+
* Intentionally top-level only — descending deeper risks "repairing" legitimate
|
|
205
|
+
* JSON-shaped strings inside content fields.
|
|
206
|
+
*/
|
|
207
|
+
export declare function repairStringEncodedFields(raw: unknown): {
|
|
208
|
+
value: Record<string, unknown>;
|
|
209
|
+
fields: string[];
|
|
210
|
+
attempted: string[];
|
|
211
|
+
} | undefined;
|
|
176
212
|
//# sourceMappingURL=common.d.ts.map
|
package/dist/common.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
|
package/dist/common.js
CHANGED
|
@@ -540,4 +540,105 @@ export function withEvents(events) {
|
|
|
540
540
|
};
|
|
541
541
|
return runner;
|
|
542
542
|
}
|
|
543
|
+
// ════════════════════════════════════════════════════════════════════════════
|
|
544
|
+
// JSON extraction / repair — shared model-output utilities used by both the
|
|
545
|
+
// Prompt (structured output-parse + prompt-text schema-delivery fallback) and
|
|
546
|
+
// the Tool (tool-call argument validation). Kept here so there is one home for
|
|
547
|
+
// the "turn a model's messy reply into parseable JSON" logic.
|
|
548
|
+
// ════════════════════════════════════════════════════════════════════════════
|
|
549
|
+
/**
|
|
550
|
+
* Extract the outermost balanced JSON object (`{…}`) from arbitrary model
|
|
551
|
+
* text. Robust to markdown code fences (```json … ```), surrounding prose,
|
|
552
|
+
* and braces that appear inside string literals — it scans from the first
|
|
553
|
+
* `{`, tracks string-literal state (respecting backslash escapes), and returns
|
|
554
|
+
* the slice up to the matching close brace at depth 0.
|
|
555
|
+
*
|
|
556
|
+
* Behavior is IDENTICAL to a clean `JSON.stringify`-d object (returns it
|
|
557
|
+
* verbatim). Falls back to the slice from the first `{` to end when the braces
|
|
558
|
+
* never balance, and to `''` when there is no `{` at all (so `JSON.parse('')`
|
|
559
|
+
* surfaces the same error downstream).
|
|
560
|
+
*
|
|
561
|
+
* Exported for direct unit testing.
|
|
562
|
+
*/
|
|
563
|
+
export function extractJSONObject(text) {
|
|
564
|
+
const start = text.indexOf('{');
|
|
565
|
+
if (start === -1)
|
|
566
|
+
return '';
|
|
567
|
+
let depth = 0;
|
|
568
|
+
let inString = false;
|
|
569
|
+
let escaped = false;
|
|
570
|
+
for (let i = start; i < text.length; i++) {
|
|
571
|
+
const ch = text[i];
|
|
572
|
+
if (inString) {
|
|
573
|
+
if (escaped) {
|
|
574
|
+
escaped = false;
|
|
575
|
+
}
|
|
576
|
+
else if (ch === '\\') {
|
|
577
|
+
escaped = true;
|
|
578
|
+
}
|
|
579
|
+
else if (ch === '"') {
|
|
580
|
+
inString = false;
|
|
581
|
+
}
|
|
582
|
+
continue;
|
|
583
|
+
}
|
|
584
|
+
if (ch === '"') {
|
|
585
|
+
inString = true;
|
|
586
|
+
}
|
|
587
|
+
else if (ch === '{') {
|
|
588
|
+
depth++;
|
|
589
|
+
}
|
|
590
|
+
else if (ch === '}') {
|
|
591
|
+
depth--;
|
|
592
|
+
if (depth === 0) {
|
|
593
|
+
return text.slice(start, i + 1);
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
}
|
|
597
|
+
// Unbalanced — return best-effort from the first brace so JSON.parse can
|
|
598
|
+
// report a precise error.
|
|
599
|
+
return text.slice(start);
|
|
600
|
+
}
|
|
601
|
+
/**
|
|
602
|
+
* Best-effort repair for a provider that JSON-encodes a top-level object/array
|
|
603
|
+
* field as a STRING (Claude / Anthropic tool args have been observed doing this,
|
|
604
|
+
* sometimes double-encoding AND corrupting the inner content mid-stream). Walks
|
|
605
|
+
* the top-level entries of `raw`; any string value that starts with `{`/`[` is
|
|
606
|
+
* `JSON.parse`-d back into place.
|
|
607
|
+
*
|
|
608
|
+
* Returns the repaired object, the list of fields that parsed cleanly
|
|
609
|
+
* (`fields`), and the list of fields that LOOKED string-encoded whether or not
|
|
610
|
+
* their inner JSON parsed (`attempted`) — so the caller can distinguish "no
|
|
611
|
+
* encoded fields at all" (`undefined`) from "encoded but malformed inner JSON"
|
|
612
|
+
* (`attempted.length > 0`, `fields.length === 0`).
|
|
613
|
+
*
|
|
614
|
+
* Intentionally top-level only — descending deeper risks "repairing" legitimate
|
|
615
|
+
* JSON-shaped strings inside content fields.
|
|
616
|
+
*/
|
|
617
|
+
export function repairStringEncodedFields(raw) {
|
|
618
|
+
if (!raw || typeof raw !== 'object' || Array.isArray(raw))
|
|
619
|
+
return undefined;
|
|
620
|
+
const src = raw;
|
|
621
|
+
const repaired = { ...src };
|
|
622
|
+
const fields = [];
|
|
623
|
+
const attempted = [];
|
|
624
|
+
for (const [key, value] of Object.entries(src)) {
|
|
625
|
+
if (typeof value !== 'string')
|
|
626
|
+
continue;
|
|
627
|
+
const head = value.trimStart()[0];
|
|
628
|
+
if (head !== '{' && head !== '[')
|
|
629
|
+
continue;
|
|
630
|
+
// Field LOOKS string-encoded — track it whether parse succeeds or not.
|
|
631
|
+
// Failed inner-parse is its own diagnostic signal (model double-encoded AND
|
|
632
|
+
// the inner content is malformed), distinct from "no encoded fields seen".
|
|
633
|
+
attempted.push(key);
|
|
634
|
+
try {
|
|
635
|
+
repaired[key] = JSON.parse(value);
|
|
636
|
+
fields.push(key);
|
|
637
|
+
}
|
|
638
|
+
catch { /* malformed inner JSON — keep tracking the attempt */ }
|
|
639
|
+
}
|
|
640
|
+
if (attempted.length === 0)
|
|
641
|
+
return undefined;
|
|
642
|
+
return { value: repaired, fields, attempted };
|
|
643
|
+
}
|
|
543
644
|
//# sourceMappingURL=common.js.map
|
package/dist/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"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"}
|