@browserlessapi/inferlo 0.4.0 → 0.5.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/README.md +15 -3
- package/dist/adonisjs.d.ts +33 -0
- package/dist/adonisjs.js +30 -0
- package/dist/adonisjs.js.map +1 -0
- package/dist/ai/index.d.ts +15 -8
- package/dist/ai/index.js +39 -13
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/providers.js +5 -4
- package/dist/ai/providers.js.map +1 -1
- package/dist/ai/public.d.ts +20 -0
- package/dist/ai/public.js +17 -0
- package/dist/ai/public.js.map +1 -0
- package/dist/ai/tool.d.ts +47 -0
- package/dist/ai/tool.js +85 -0
- package/dist/ai/tool.js.map +1 -0
- package/dist/ai-client.d.ts +3 -0
- package/dist/ai-client.js +8 -0
- package/dist/ai-client.js.map +1 -0
- package/dist/app.d.ts +87 -2
- package/dist/app.js +471 -127
- package/dist/app.js.map +1 -1
- package/dist/cli/main.js +21 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/config.d.ts +16 -0
- package/dist/config.js +101 -0
- package/dist/config.js.map +1 -0
- package/dist/db/table.d.ts +31 -0
- package/dist/db/table.js +140 -1
- package/dist/db/table.js.map +1 -1
- package/dist/deprecation.d.ts +23 -0
- package/dist/deprecation.js +70 -0
- package/dist/deprecation.js.map +1 -0
- package/dist/describe.d.ts +27 -5
- package/dist/describe.js +14 -2
- package/dist/describe.js.map +1 -1
- package/dist/elysia.d.ts +49 -0
- package/dist/elysia.js +10 -0
- package/dist/elysia.js.map +1 -0
- package/dist/env.d.ts +2 -0
- package/dist/env.js +5 -4
- package/dist/env.js.map +1 -1
- package/dist/express.d.ts +38 -0
- package/dist/express.js +18 -0
- package/dist/express.js.map +1 -0
- package/dist/fastify.d.ts +44 -0
- package/dist/fastify.js +47 -0
- package/dist/fastify.js.map +1 -0
- package/dist/hono.d.ts +26 -0
- package/dist/hono.js +10 -0
- package/dist/hono.js.map +1 -0
- package/dist/index.d.ts +13 -4
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/jobs.d.ts +4 -0
- package/dist/jobs.js +18 -1
- package/dist/jobs.js.map +1 -1
- package/dist/logging.d.ts +23 -0
- package/dist/logging.js +87 -0
- package/dist/logging.js.map +1 -0
- package/dist/mcp.d.ts +0 -6
- package/dist/mcp.js +11 -1
- package/dist/mcp.js.map +1 -1
- package/dist/metrics.d.ts +48 -0
- package/dist/metrics.js +184 -0
- package/dist/metrics.js.map +1 -0
- package/dist/nestjs.d.ts +43 -0
- package/dist/nestjs.js +47 -0
- package/dist/nestjs.js.map +1 -0
- package/dist/openapi.d.ts +0 -1
- package/dist/openapi.js +4 -0
- package/dist/openapi.js.map +1 -1
- package/dist/redact.d.ts +19 -0
- package/dist/redact.js +150 -0
- package/dist/redact.js.map +1 -0
- package/dist/route.d.ts +18 -0
- package/dist/route.js.map +1 -1
- package/dist/secure-headers.d.ts +8 -0
- package/dist/secure-headers.js +61 -0
- package/dist/secure-headers.js.map +1 -0
- package/dist/serve.d.ts +53 -1
- package/dist/serve.js +157 -61
- package/dist/serve.js.map +1 -1
- package/dist/trpc.d.ts +57 -0
- package/dist/trpc.js +142 -0
- package/dist/trpc.js.map +1 -0
- package/dist/tsed.d.ts +32 -0
- package/dist/tsed.js +13 -0
- package/dist/tsed.js.map +1 -0
- package/llms.txt +10 -4
- package/package.json +57 -3
- package/templates/app/AGENTS.md +8 -4
- package/templates/app/_env.example +2 -0
- package/templates/app/src/app.ts +15 -8
- package/templates/app/src/config.ts +17 -0
- package/templates/app/src/server.ts +9 -9
- package/templates/app/src/routes/health.ts +0 -3
package/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# Inferlo
|
|
2
2
|
|
|
3
|
-
**The TypeScript backend framework with
|
|
3
|
+
**The enterprise-ready TypeScript backend framework, with AI models built in.**
|
|
4
4
|
|
|
5
|
-
Inferlo is a batteries-included TypeScript backend framework
|
|
5
|
+
Inferlo is a batteries-included TypeScript backend framework for production APIs, SaaS products and enterprise services, in the same class as NestJS, Fastify and AdonisJS. It gives you routing, validation, a typed database layer with PostgreSQL and migrations, auth, rate limiting, background jobs, cron, OpenAPI and secure defaults in one package with zero runtime dependencies, running on Node.js, Bun and edge runtimes.
|
|
6
|
+
|
|
7
|
+
What sets it apart is that AI models are part of the core, not a plugin: Anthropic, OpenAI, Gemini, local models through Ollama and any OpenAI-compatible server behind one API, with fallback between models, typed structured output, streaming, tool calling, image input and per-user usage and cost tracking, plus an MCP server built from your routes.
|
|
6
8
|
|
|
7
9
|
```ts
|
|
8
10
|
import { model, route, t } from "@browserlessapi/inferlo";
|
|
@@ -39,16 +41,19 @@ That one model definition gives you the database table, insert and update valida
|
|
|
39
41
|
- **Every major provider, one API.** Anthropic, OpenAI, Gemini, Ollama and any OpenAI-compatible server (DeepSeek, Qwen, Groq, OpenRouter, vLLM and more).
|
|
40
42
|
- **Model aliases with fallback.** Routes ask for `"fast"` or `"smart"`; if the first model is down or rate limited, Inferlo tries the next one.
|
|
41
43
|
- **Typed structured output.** Pass a schema and get validated, typed data back. Invalid answers are repaired automatically.
|
|
42
|
-
- **Tool calling.** Pass routes as `tools` and the model calls them as the current user, with the same auth and validation, a step limit and usage per step.
|
|
44
|
+
- **Tool calling.** Pass routes as `tools` and the model calls them as the current user, with the same auth and validation, or plain functions made with `tool(name, { description, input }).handle(fn)`, with validated arguments; a step limit and usage per step either way.
|
|
43
45
|
- **Streaming.** Send model output to the browser as it is generated with one call.
|
|
44
46
|
- **Images.** Send image URLs or base64 data with a prompt to any vision model.
|
|
45
47
|
- **Embeddings** for search and recommendations.
|
|
46
48
|
- **Usage, cost and budgets.** Every call is tracked per user, so you can bill customers and stop calls when their credits run out.
|
|
47
49
|
- **MCP server.** Mark a route `tool: true` and AI agents can call your API, with the same permissions as any other client.
|
|
50
|
+
- **Use it in any framework.** `import { createAI } from "@browserlessapi/inferlo/ai"` gives you the same AI module without `createApp`, for Express, Hono, Fastify, NestJS or a plain script, and `toNodeHandler(app, { prefix: "/ai" })` mounts a whole Inferlo app (routes, OpenAPI, MCP) inside Express, Fastify, NestJS or `node:http`, `hono.use(inferloAI(ai))` from `@browserlessapi/inferlo/hono` gives Hono handlers `c.var.ai`, `server.use(inferloAI(ai))` from `@browserlessapi/inferlo/express` gives Express handlers `req.ai`, and `fastify.register(inferloPlugin, { ai })` from `@browserlessapi/inferlo/fastify` gives Fastify `request.ai`, `new Elysia().use(inferloAI(ai))` from `@browserlessapi/inferlo/elysia` gives Elysia handlers `ai`, `InferloModule.forRoot({ ai })` from `@browserlessapi/inferlo/nestjs` makes the AI client injectable in NestJS, the provider from `@browserlessapi/inferlo/adonisjs` gives AdonisJS routes `ctx.ai`, `@Configuration({ imports: [inferloAI(ai)] })` from `@browserlessapi/inferlo/tsed` makes the AI client injectable in Ts.ED as `InferloAI`, and `trpc.procedure.use(inferloAI(ai))` from `@browserlessapi/inferlo/trpc` gives tRPC procedures `ctx.ai` while `trpcTools(router, { caller, procedures })` lets a model call tRPC procedures as tools (see [Use with other frameworks](docs/integrations.md)).
|
|
48
51
|
- **Background jobs for slow AI work.** Queue a typed job from a route with `ctx.jobs.enqueue(...)` and it runs after the response, with retries, from a Postgres queue shared by every instance (`inferlo worker` runs them in their own process), and schedule jobs with `cron("0 3 * * *", job)`.
|
|
49
52
|
|
|
50
53
|
## Why Inferlo
|
|
51
54
|
|
|
55
|
+
See the full [comparison with NestJS, AdonisJS, Fastify, Hono, ElysiaJS, Ts.ED, tRPC and Encore.ts](docs/comparison.md). Integrations that let you use Inferlo's AI features inside those frameworks are in progress (see the [roadmap](ROADMAP.md)).
|
|
56
|
+
|
|
52
57
|
| | NestJS | Hono | AdonisJS | Express | **Inferlo** |
|
|
53
58
|
|---|---|---|---|---|---|
|
|
54
59
|
| Batteries included (DB, validation, auth) | Partial | No | Yes | No | **Yes** |
|
|
@@ -106,6 +111,8 @@ npm install @browserlessapi/inferlo
|
|
|
106
111
|
## Documentation
|
|
107
112
|
|
|
108
113
|
- [Getting started](docs/getting-started.md)
|
|
114
|
+
- [Comparison with other frameworks](docs/comparison.md)
|
|
115
|
+
- [Configuration](docs/config.md)
|
|
109
116
|
- [Schemas](docs/schema.md)
|
|
110
117
|
- [Models and database](docs/database.md)
|
|
111
118
|
- [Routes](docs/routes.md)
|
|
@@ -114,8 +121,13 @@ npm install @browserlessapi/inferlo
|
|
|
114
121
|
- [MCP, OpenAPI and describe](docs/mcp.md)
|
|
115
122
|
- [CLI](docs/cli.md)
|
|
116
123
|
- [Testing](docs/testing.md)
|
|
124
|
+
- [Use with other frameworks](docs/integrations.md)
|
|
125
|
+
- [Migrate from Express](docs/migrate-from-express.md)
|
|
126
|
+
- [Security](docs/security.md)
|
|
127
|
+
- [Observability](docs/observability.md)
|
|
117
128
|
- [Deployment](docs/deploy.md)
|
|
118
129
|
- [Error codes](docs/errors.md)
|
|
130
|
+
- [Support policy](docs/support.md)
|
|
119
131
|
- [Example: helpdesk with AI triage](examples/helpdesk)
|
|
120
132
|
|
|
121
133
|
## Status
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { AI } from "./ai/index.ts";
|
|
2
|
+
declare module "@adonisjs/core/types" {
|
|
3
|
+
interface ContainerBindings {
|
|
4
|
+
/** The AI client from config/ai.ts, bound by the Inferlo provider. */
|
|
5
|
+
ai: AI;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
declare module "@adonisjs/core/http" {
|
|
9
|
+
interface HttpContext {
|
|
10
|
+
/** The AI client from config/ai.ts, added by the Inferlo provider. */
|
|
11
|
+
ai: AI;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
/** The parts of AdonisJS's ApplicationService that the provider uses. */
|
|
15
|
+
export interface AdonisApplicationLike {
|
|
16
|
+
config: {
|
|
17
|
+
get(key: string, defaultValue?: unknown): unknown;
|
|
18
|
+
};
|
|
19
|
+
container: {
|
|
20
|
+
singleton(binding: "ai", resolver: () => AI | Promise<AI>): void;
|
|
21
|
+
make(binding: "ai"): Promise<AI>;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The AdonisJS provider: providers: [() => import("@browserlessapi/inferlo/adonisjs")] in adonisrc.ts.
|
|
26
|
+
* Reads the AI client from config/ai.ts, binds it in the container as "ai", and adds ctx.ai to HTTP contexts.
|
|
27
|
+
*/
|
|
28
|
+
export default class InferloProvider {
|
|
29
|
+
protected app: AdonisApplicationLike;
|
|
30
|
+
constructor(app: AdonisApplicationLike);
|
|
31
|
+
register(): void;
|
|
32
|
+
boot(): Promise<void>;
|
|
33
|
+
}
|
package/dist/adonisjs.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { assertAIClient } from "./ai-client.js";
|
|
2
|
+
import { InferloError } from "./errors.js";
|
|
3
|
+
const FIX = 'Create config/ai.ts with export default createAI({ providers, models }) from "@browserlessapi/inferlo/ai" (or an Inferlo app\'s app.ai).';
|
|
4
|
+
/**
|
|
5
|
+
* The AdonisJS provider: providers: [() => import("@browserlessapi/inferlo/adonisjs")] in adonisrc.ts.
|
|
6
|
+
* Reads the AI client from config/ai.ts, binds it in the container as "ai", and adds ctx.ai to HTTP contexts.
|
|
7
|
+
*/
|
|
8
|
+
export default class InferloProvider {
|
|
9
|
+
app;
|
|
10
|
+
constructor(app) {
|
|
11
|
+
this.app = app;
|
|
12
|
+
}
|
|
13
|
+
register() {
|
|
14
|
+
this.app.container.singleton("ai", () => {
|
|
15
|
+
const ai = this.app.config.get("ai");
|
|
16
|
+
if (ai === undefined) {
|
|
17
|
+
throw new InferloError("IL5018", "The Inferlo AdonisJS provider found no config/ai.ts.", { fix: FIX });
|
|
18
|
+
}
|
|
19
|
+
assertAIClient(ai, FIX);
|
|
20
|
+
return ai;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
async boot() {
|
|
24
|
+
// Fails at startup, not on the first request, when config/ai.ts is missing or wrong.
|
|
25
|
+
const ai = await this.app.container.make("ai");
|
|
26
|
+
const { HttpContext } = await import("@adonisjs/core/http");
|
|
27
|
+
HttpContext.getter("ai", () => ai);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=adonisjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adonisjs.js","sourceRoot":"","sources":["../src/adonisjs.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAyB3C,MAAM,GAAG,GAAG,0IAA0I,CAAC;AAEvJ;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;IACxB,GAAG,CAAwB;IAErC,YAAY,GAA0B;QACpC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;YACtC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBACrB,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,sDAAsD,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YACzG,CAAC;YACD,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACR,qFAAqF;QACrF,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC5D,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;CACF"}
|
package/dist/ai/index.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { type AnySchema, type Infer } from "../schema.ts";
|
|
2
2
|
import type { RouteDef } from "../route.ts";
|
|
3
|
+
import { type ToolDef } from "./tool.ts";
|
|
3
4
|
import { type Image, type Message, type Provider, type ProviderUsage, type ToolSpec } from "./providers.ts";
|
|
4
5
|
export * from "./providers.ts";
|
|
6
|
+
export { tool, isTool, ToolBuilder } from "./tool.ts";
|
|
7
|
+
export type { ToolDef, FunctionToolOptions, ToolContext } from "./tool.ts";
|
|
5
8
|
export interface Pricing {
|
|
6
9
|
/** USD per million input tokens. */
|
|
7
10
|
input: number;
|
|
@@ -61,24 +64,25 @@ export interface GenerateOptions<O extends AnySchema | undefined> {
|
|
|
61
64
|
/** Extra attempts when structured output does not match the schema (default 1). */
|
|
62
65
|
repairAttempts?: number;
|
|
63
66
|
/**
|
|
64
|
-
*
|
|
65
|
-
*
|
|
67
|
+
* Tools the model may call: functions made with tool(name, { description, input }).handle(fn), which work
|
|
68
|
+
* anywhere, and routes, which run with the current user's permissions and only work through ctx.ai
|
|
69
|
+
* inside a route handler: ctx.ai.generate({ prompt, tools: [getWeather, createTicket] }).
|
|
66
70
|
*/
|
|
67
|
-
tools?: readonly RouteDef[];
|
|
71
|
+
tools?: readonly (ToolDef | RouteDef)[];
|
|
68
72
|
/** Most model calls when tools are given: tool rounds plus the final answer (default 5). More raises IL5010. */
|
|
69
73
|
maxSteps?: number;
|
|
70
74
|
}
|
|
71
75
|
/** One tool call the model made, with what the route returned. */
|
|
72
76
|
export interface ToolCallResult {
|
|
73
77
|
id: string;
|
|
74
|
-
/** Tool name: the route's export name (createTicket). */
|
|
78
|
+
/** Tool name: the tool's name, or the route's export name (createTicket). */
|
|
75
79
|
name: string;
|
|
76
80
|
input: unknown;
|
|
77
|
-
/** HTTP status the route answered with. */
|
|
81
|
+
/** HTTP status the route answered with (a function tool: 200, 422 for invalid input, or the status of the httpError it threw). */
|
|
78
82
|
status: number;
|
|
79
83
|
/** Parsed JSON response (or text), exactly what the model saw. */
|
|
80
84
|
output: unknown;
|
|
81
|
-
/** True when the
|
|
85
|
+
/** True when the tool failed (status 400 or more). */
|
|
82
86
|
isError: boolean;
|
|
83
87
|
}
|
|
84
88
|
/** One model call. */
|
|
@@ -103,8 +107,11 @@ export type ToolRunner = (route: RouteDef, input: unknown) => Promise<{
|
|
|
103
107
|
output: unknown;
|
|
104
108
|
text: string;
|
|
105
109
|
}>;
|
|
106
|
-
/**
|
|
107
|
-
|
|
110
|
+
/**
|
|
111
|
+
* ctx.ai for one request: the same AI, with tools that run as the request's user, and the request's signal
|
|
112
|
+
* on every call that does not pass its own. Internal: used by createApp.
|
|
113
|
+
*/
|
|
114
|
+
export declare function bindTools(ai: AI, runner: ToolRunner, describe: (route: RouteDef) => ToolSpec, signal?: AbortSignal): AI;
|
|
108
115
|
export interface StreamResult {
|
|
109
116
|
/** Text chunks as they arrive. */
|
|
110
117
|
[Symbol.asyncIterator](): AsyncIterator<string>;
|
package/dist/ai/index.js
CHANGED
|
@@ -11,14 +11,23 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { InferloError, didYouMean } from "../errors.js";
|
|
13
13
|
import { toJSONSchema } from "../schema.js";
|
|
14
|
+
import { functionToolSpec, isTool, runFunctionTool } from "./tool.js";
|
|
15
|
+
import { createRedactor, secretsOf } from "../redact.js";
|
|
14
16
|
import { ProviderError, imageData } from "./providers.js";
|
|
15
17
|
export * from "./providers.js";
|
|
18
|
+
export { tool, isTool, ToolBuilder } from "./tool.js";
|
|
16
19
|
const toolRunners = new WeakMap();
|
|
17
|
-
/**
|
|
18
|
-
|
|
20
|
+
/**
|
|
21
|
+
* ctx.ai for one request: the same AI, with tools that run as the request's user, and the request's signal
|
|
22
|
+
* on every call that does not pass its own. Internal: used by createApp.
|
|
23
|
+
*/
|
|
24
|
+
export function bindTools(ai, runner, describe, signal) {
|
|
19
25
|
const bound = { ...ai };
|
|
20
26
|
toolRunners.set(bound, { runner, describe });
|
|
21
|
-
|
|
27
|
+
const withSignal = (options) => (signal && options && options.signal === undefined ? { ...options, signal } : options);
|
|
28
|
+
bound.generate = (options) => ai.generate.call(bound, withSignal(options));
|
|
29
|
+
bound.stream = (options) => ai.stream.call(bound, withSignal(options));
|
|
30
|
+
bound.embed = (options) => ai.embed.call(bound, withSignal(options));
|
|
22
31
|
return bound;
|
|
23
32
|
}
|
|
24
33
|
function buildMessages(o) {
|
|
@@ -99,6 +108,8 @@ export function extractJson(text) {
|
|
|
99
108
|
}
|
|
100
109
|
export function createAI(config) {
|
|
101
110
|
const providers = config?.providers ?? {};
|
|
111
|
+
// Errors logged here never show the providers' API keys or other credentials.
|
|
112
|
+
const redactor = createRedactor(Object.values(providers).flatMap((p) => secretsOf(p)));
|
|
102
113
|
const aliases = {};
|
|
103
114
|
for (const [alias, ids] of Object.entries(config?.models ?? {}))
|
|
104
115
|
aliases[alias] = Array.isArray(ids) ? ids : [ids];
|
|
@@ -140,7 +151,7 @@ export function createAI(config) {
|
|
|
140
151
|
await config?.onUsage?.(usage);
|
|
141
152
|
}
|
|
142
153
|
catch (error) {
|
|
143
|
-
console.error("[inferlo] ai.onUsage failed:", error);
|
|
154
|
+
console.error("[inferlo] ai.onUsage failed:", redactor.value(error));
|
|
144
155
|
}
|
|
145
156
|
};
|
|
146
157
|
const guard = async (forId, model) => {
|
|
@@ -181,16 +192,21 @@ export function createAI(config) {
|
|
|
181
192
|
async generate(options) {
|
|
182
193
|
const requested = options.model ?? config?.defaultModel ?? Object.keys(aliases)[0] ?? "";
|
|
183
194
|
const targets = resolve(options.model);
|
|
184
|
-
const
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
195
|
+
const routeTools = (options.tools ?? []).filter((t) => !isTool(t));
|
|
196
|
+
const tooling = routeTools.length ? toolRunners.get(this) : undefined;
|
|
197
|
+
if (routeTools.length && !tooling) {
|
|
198
|
+
throw new InferloError("IL5009", "Routes as tools in ai.generate({ tools }) only work inside a route handler.", {
|
|
199
|
+
fix: "Call ctx.ai.generate({ tools }) from a route handler, so each route runs as the signed-in user with its auth and validation, or make a function tool with tool(name, { description, input }).handle(fn), which works anywhere.",
|
|
188
200
|
});
|
|
189
201
|
}
|
|
190
202
|
const tools = new Map();
|
|
191
|
-
for (const
|
|
192
|
-
const
|
|
193
|
-
|
|
203
|
+
for (const entry of options.tools ?? []) {
|
|
204
|
+
const fn = isTool(entry) ? entry : undefined;
|
|
205
|
+
const spec = fn ? functionToolSpec(fn) : tooling.describe(entry);
|
|
206
|
+
if (tools.has(spec.name)) {
|
|
207
|
+
throw new InferloError("IL5013", `Two tools are named "${spec.name}" in one ai.generate call.`, { fix: "Give each tool a unique name (a route's tool name is its export name, or tool: { name })." });
|
|
208
|
+
}
|
|
209
|
+
tools.set(spec.name, fn ? { fn, spec } : { route: entry, spec });
|
|
194
210
|
}
|
|
195
211
|
const specs = tools.size ? [...tools.values()].map((t) => t.spec) : undefined;
|
|
196
212
|
const maxSteps = Math.max(1, options.maxSteps ?? 5);
|
|
@@ -270,7 +286,17 @@ export function createAI(config) {
|
|
|
270
286
|
}
|
|
271
287
|
else {
|
|
272
288
|
toolsRan = true;
|
|
273
|
-
|
|
289
|
+
if (tool.fn) {
|
|
290
|
+
try {
|
|
291
|
+
result = await runFunctionTool(tool.fn, call.input, options.signal);
|
|
292
|
+
}
|
|
293
|
+
catch (error) {
|
|
294
|
+
await record(usageNow());
|
|
295
|
+
throw error;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
else
|
|
299
|
+
result = await tooling.runner(tool.route, call.input);
|
|
274
300
|
}
|
|
275
301
|
const isError = result.status >= 400;
|
|
276
302
|
step.toolCalls.push({ id: call.id, name: call.name, input: call.input, status: result.status, output: result.output, isError });
|
|
@@ -403,7 +429,7 @@ export function createAI(config) {
|
|
|
403
429
|
const code = error instanceof InferloError ? error.code : "IL9000";
|
|
404
430
|
controller.enqueue(encoder.encode(`event: error\ndata: ${JSON.stringify({ code })}\n\n`));
|
|
405
431
|
controller.close();
|
|
406
|
-
console.error("[inferlo] stream failed:", error);
|
|
432
|
+
console.error("[inferlo] stream failed:", redactor.value(error));
|
|
407
433
|
}
|
|
408
434
|
},
|
|
409
435
|
cancel() {
|
package/dist/ai/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAA8B,YAAY,EAAE,MAAM,cAAc,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe,EAAgB,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,SAAS,EAA8E,MAAM,gBAAgB,CAAC;AAEtI,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAyGtD,MAAM,WAAW,GAAG,IAAI,OAAO,EAAuE,CAAC;AAEvG;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,EAAM,EAAE,MAAkB,EAAE,QAAuC,EAAE,MAAoB;IACjH,MAAM,KAAK,GAAO,EAAE,GAAG,EAAE,EAAE,CAAC;IAC5B,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,CAAqC,OAAU,EAAK,EAAE,CAAC,CAAC,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACjK,KAAK,CAAC,QAAQ,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3E,KAAK,CAAC,MAAM,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,KAAK,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IACrE,OAAO,KAAK,CAAC;AACf,CAAC;AA6BD,SAAS,aAAa,CAAC,CAAuB;IAC5C,MAAM,QAAQ,GAAc,EAAE,CAAC;IAC/B,IAAI,CAAC,CAAC,MAAM;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IACnE,IAAI,CAAC,CAAC,QAAQ;QAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACrD,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,+DAA+D,EAAE;YAChG,GAAG,EAAE,kJAAkJ;SACxJ,CAAC,CAAC;IACL,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAClI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,2CAA2C,EAAE,EAAE,GAAG,EAAE,qEAAqE,EAAE,CAAC,CAAC;IAChK,CAAC;IACD,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AAC3E,MAAM,MAAM,GAAG,wBAAwB,CAAC;AAExC,wHAAwH;AACxH,SAAS,WAAW,CAAC,OAAgB,EAAE,KAAa;IAClD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO;IACzC,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,GAAW,EAAE,EAAE;QAC5C,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,4BAA4B,KAAK,KAAK,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7F,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,oFAAoF,CAAC;IACnG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;IAC5E,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM;QAAE,IAAI,CAAC,2CAA2C,OAAO,CAAC,IAAI,YAAY,EAAE,oCAAoC,CAAC,CAAC;IACtK,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAc,EAAE,CAAC,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,GAAG,KAAK,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAC1F,MAAM,KAAK,GAAG,KAAgC,CAAC;QAC/C,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACnB,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,OAAO,IAAI,CAAC,GAAG,KAAK,kDAAkD,EAAE,KAAK,CAAC,CAAC;YAC9J,MAAM,IAAI,GAAG,SAAS,CAAC,KAAc,CAAC,CAAC;YACvC,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC,GAAG,KAAK,0CAA0C,EAAE,6DAA6D,CAAC,CAAC;YACvK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;gBAAE,OAAO,IAAI,CAAC,GAAG,KAAK,oBAAoB,IAAI,CAAC,SAAS,IAAI,EAAE,oBAAoB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9J,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC,GAAG,KAAK,0CAA0C,EAAE,wDAAwD,CAAC,CAAC;YACjK,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC,GAAG,KAAK,mCAAmC,EAAE,0EAA0E,CAAC,CAAC;YAC1N,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;gBAAE,OAAO,IAAI,CAAC,GAAG,KAAK,6BAA6B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,wDAAwD,CAAC,CAAC;YACzN,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,KAAK,8BAA8B,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,+BAA+B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACvD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7E,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,GAAG,GAAG,KAAK;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,IAAI,WAAW,CAAC,+BAA+B,CAAC,CAAC;IACzD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAiB;IACxC,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;IAC1C,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,MAAM,OAAO,GAA6B,EAAE,CAAC;IAC7C,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;QAAE,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAEnH,MAAM,OAAO,GAAG,CAAC,SAA6B,EAAY,EAAE;QAC1D,MAAM,IAAI,GAAG,SAAS,IAAI,MAAM,EAAE,YAAY,IAAK,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAwB,CAAC;QAClG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,iCAAiC,EAAE;gBAClE,GAAG,EAAE,uJAAuJ;aAC7J,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,iDAAiD,EAAE,EAAE,GAAG,EAAE,sDAAsD,EAAE,CAAC,CAAC;QAChK,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACpB,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,2BAA2B,EAAE,KAAK,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE;oBACzG,GAAG,EAAE,iBAAiB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,2DAA2D;iBACtI,CAAC,CAAC;YACL,CAAC;YACD,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,gBAAgB,YAAY,uBAAuB,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE;oBACtI,GAAG,EAAE,yBAAyB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;iBACnE,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,CAAC,EAAU,EAAE,KAAoB,EAAE,EAAE;QAChD,MAAM,KAAK,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAC3F,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,EAAE,KAAY,EAAE,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,KAAK,EAAE,KAAyB,EAAE,KAAa,EAAE,EAAE;QAC/D,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,KAAK;YAAE,OAAO;QACrC,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,YAAY;gBAAE,MAAM,KAAK,CAAC;YAC/C,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,yBAAyB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,4CAA4C,EAAE,CAAC,CAAC;IAChJ,CAAC,CAAC;IAEF,8EAA8E;IAC9E,MAAM,YAAY,GAAG,KAAK,EAAK,OAAiB,EAAE,GAA8B,EAAc,EAAE;QAC9F,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,aAAa,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;oBACtD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC9C,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,sBAAsB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAClJ,CAAC,CAAC;IAEF,MAAM,EAAE,GAAO;QACb,OAAO;QACP,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC;QAE7C,KAAK,CAAC,QAAQ,CAAC,OAAO;YACpB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,EAAE,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACzF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAe,CAAC;YACjF,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,6EAA6E,EAAE;oBAC9G,GAAG,EAAE,gOAAgO;iBACtO,CAAC,CAAC;YACL,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,GAAG,EAA8D,CAAC;YACpF,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;gBACxC,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC7C,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,QAAQ,CAAC,KAAiB,CAAC,CAAC;gBAC9E,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzB,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,wBAAwB,IAAI,CAAC,IAAI,4BAA4B,EAAE,EAAE,GAAG,EAAE,2FAA2F,EAAE,CAAC,CAAC;gBACxM,CAAC;gBACD,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;YAC/E,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;YACpD,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7D,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,WAAW,GACf,2FAA2F,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBAC3H,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;gBACtD,IAAI,GAAG;oBAAE,GAAG,CAAC,OAAO,IAAI,MAAM,GAAG,WAAW,CAAC;;oBACxC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,yEAAyE;YACzE,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,OAAO,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC5C,MAAM,KAAK,GAAG,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;gBAClD,MAAM,KAAK,GAAW,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC9C,IAAI,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,IAAI,UAAU,GAAG,CAAC,CAAC;gBACnB,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,MAAM,QAAQ,GAAG,GAAU,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;gBAC9K,OAAO,IAAI,EAAE,CAAC;oBACZ,6EAA6E;oBAC7E,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM;wBAAE,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;oBACxE,IAAI,QAAQ,CAAC;oBACb,IAAI,CAAC;wBACH,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;4BACxC,KAAK,EAAE,MAAM,CAAC,KAAK;4BACnB,QAAQ,EAAE,KAAK;4BACf,WAAW,EAAE,OAAO,CAAC,WAAW;4BAChC,SAAS,EAAE,OAAO,CAAC,SAAS;4BAC5B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;4BACrB,UAAU;4BACV,KAAK,EAAE,KAAK;4BACZ,MAAM,EAAE,OAAO,CAAC,MAAM;yBACvB,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,QAAQ,IAAI,KAAK,YAAY,aAAa,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;4BAClE,IAAI,KAAK,CAAC,MAAM;gCAAE,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;4BAC3C,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,sFAAsF,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;wBAC7L,CAAC;wBACD,MAAM,KAAK,CAAC;oBACd,CAAC;oBACD,KAAK,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;oBAChD,KAAK,CAAC,YAAY,IAAI,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;oBAClD,MAAM,IAAI,GAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACjF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAEjB,IAAI,KAAK,IAAI,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;wBACxC,IAAI,EAAE,UAAU,IAAI,QAAQ,EAAE,CAAC;4BAC7B,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;4BACzB,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,SAAS,MAAM,CAAC,EAAE,kCAAkC,QAAQ,SAAS,EAAE;gCACtG,MAAM,EAAE,GAAG;gCACX,MAAM,EAAE,KAAK;gCACb,GAAG,EAAE,kGAAkG;gCACvG,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;6BAC1D,CAAC,CAAC;wBACL,CAAC;wBACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;wBACzF,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;4BACtC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAClC,IAAI,MAAyD,CAAC;4BAC9D,IAAI,CAAC,IAAI,EAAE,CAAC;gCACV,MAAM,IAAI,GAAG,iBAAiB,IAAI,CAAC,IAAI,uBAAuB,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gCAC9F,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;4BAC/C,CAAC;iCAAM,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gCAC9F,MAAM,IAAI,GAAG,uCAAuC,CAAC;gCACrD,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;4BAC/C,CAAC;iCAAM,CAAC;gCACN,QAAQ,GAAG,IAAI,CAAC;gCAChB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;oCACZ,IAAI,CAAC;wCACH,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;oCACtE,CAAC;oCAAC,OAAO,KAAK,EAAE,CAAC;wCACf,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;wCACzB,MAAM,KAAK,CAAC;oCACd,CAAC;gCACH,CAAC;;oCAAM,MAAM,GAAG,MAAM,OAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;4BACjE,CAAC;4BACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC;4BACrC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;4BAChI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBAC3G,CAAC;wBACD,SAAS;oBACX,CAAC;oBAED,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;wBACzB,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;wBACpB,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;oBAC3E,CAAC;oBACD,IAAI,MAAe,CAAC;oBACpB,IAAI,EAAE,GAAG,KAAK,CAAC;oBACf,IAAI,CAAC;wBACH,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACpC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;wBACxC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;4BACd,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;4BACtB,EAAE,GAAG,IAAI,CAAC;wBACZ,CAAC;6BAAM,CAAC;4BACN,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpG,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,UAAU,GAAG,kCAAkC,CAAC;oBAClD,CAAC;oBACD,IAAI,EAAE,EAAE,CAAC;wBACP,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;wBACzB,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;wBACpB,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAe,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;oBACxE,CAAC;oBACD,IAAI,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;wBACvB,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;wBACzB,MAAM;oBACR,CAAC;oBACD,KAAK,CAAC,IAAI,CACR,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,EAC7C;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,UAAU,KAAK,kCAAkC,CAAC,CAAC,CAAC,GAAG,UAAU,kCAAkC,CAAC,CAAC,CAAC,wCAAwC,UAAU,mCAAmC;qBACrM,CACF,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,SAAS,MAAM,CAAC,EAAE,+CAA+C,UAAU,EAAE,EAAE;oBAC9G,MAAM,EAAE,GAAG;oBACX,MAAM,EAAE,KAAK;oBACb,GAAG,EAAE,uFAAuF;iBAC7F,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,CAAC,OAAO;YACZ,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,EAAE,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACzF,IAAI,WAAiC,CAAC;YACtC,IAAI,UAAiC,CAAC;YACtC,IAAI,YAAiC,CAAC;YACtC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,GAAG,CAAC,EAAE,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACjG,MAAM,YAAY,GAAG,IAAI,OAAO,CAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC;YACvE,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC5B,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,KAAK,SAAS,CAAC,CAAC,GAAG;gBACjB,IAAI,QAAQ;oBAAE,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,iCAAiC,EAAE,EAAE,GAAG,EAAE,qDAAqD,EAAE,CAAC,CAAC;gBAClJ,QAAQ,GAAG,IAAI,CAAC;gBAChB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACvC,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;gBACxC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC3B,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,IAAI,CAAC;oBACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;wBAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;4BAC5B,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,aAAa,MAAM,CAAC,YAAY,+BAA+B,CAAC,CAAC;wBACpG,CAAC;wBACD,IAAI,KAAK,GAAkB,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;wBAC/D,IAAI,CAAC;4BACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;gCAC3K,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oCAC7B,IAAI,IAAI,IAAI,CAAC;oCACb,MAAM,IAAI,CAAC;gCACb,CAAC;;oCAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;4BAC5B,CAAC;wBACH,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,0CAA0C;4BAC1C,IAAI,KAAK,YAAY,aAAa,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC;gCAAE,SAAS;4BACzG,MAAM,KAAK,CAAC;wBACd,CAAC;wBACD,MAAM,CAAC,GAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;wBAC7J,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC;wBAChB,YAAY,CAAC,CAAC,CAAC,CAAC;wBAChB,WAAW,CAAC,IAAI,CAAC,CAAC;wBAClB,OAAO;oBACT,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,CAAC,KAAK,CAAC,CAAC;oBAClB,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YAED,IAAI,QAA4C,CAAC;YACjD,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC;YAEzC,OAAO;gBACL,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE;gBACrC,KAAK,CAAC,IAAI;oBACR,IAAI,CAAC,QAAQ;wBAAE,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,KAAK,EAAE;4BAAE,KAAK,CAAC,CAAC;oBACrD,OAAO,WAAW,CAAC;gBACrB,CAAC;gBACD,KAAK,EAAE,GAAG,EAAE,CAAC,YAAY;gBACzB,UAAU,CAAC,IAAI;oBACb,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;oBAClC,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;oBACvB,MAAM,IAAI,GAAG,IAAI,cAAc,CAAa;wBAC1C,KAAK,CAAC,IAAI,CAAC,UAAU;4BACnB,IAAI,CAAC;gCACH,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gCAC5C,IAAI,IAAI,EAAE,CAAC;oCACT,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;oCACjC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;oCAC1F,UAAU,CAAC,KAAK,EAAE,CAAC;oCACnB,OAAO;gCACT,CAAC;gCACD,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;4BACxF,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCACf,MAAM,IAAI,GAAG,KAAK,YAAY,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;gCACnE,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;gCAC1F,UAAU,CAAC,KAAK,EAAE,CAAC;gCACnB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;4BACnE,CAAC;wBACH,CAAC;wBACD,MAAM;4BACJ,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;wBAChC,CAAC;qBACF,CAAC,CAAC;oBACH,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;wBACxB,GAAG,IAAI;wBACP,OAAO,EAAE,EAAE,cAAc,EAAE,kCAAkC,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,GAAI,IAAI,EAAE,OAAkC,EAAE;qBACrK,CAAC,CAAC;gBACL,CAAC;aACF,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,KAAK,CAAC,OAAO;YACjB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;YAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAChF,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC3B,OAAO,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK;oBAAE,MAAM,IAAI,YAAY,CAAC,QAAQ,EAAE,aAAa,MAAM,CAAC,YAAY,gCAAgC,CAAC,CAAC;gBAC/H,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnG,MAAM,KAAK,GAAU,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;gBAC9K,MAAM,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;YAClD,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IACF,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,gBAAgB,CAAC,CAAW,EAAE,CAAW;IACvD,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACrB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACpB,EAAE,IAAI,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IACtB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC"}
|
package/dist/ai/providers.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* Ollama, vLLM, LM Studio and any other server that speaks the Chat Completions API.
|
|
5
5
|
*/
|
|
6
6
|
import { InferloError } from "../errors.js";
|
|
7
|
+
import { holdSecrets } from "../redact.js";
|
|
7
8
|
/** Base64 data and media type of an image given as base64 or a data: URL, or null for a remote URL. */
|
|
8
9
|
export function imageData(image) {
|
|
9
10
|
if ("base64" in image)
|
|
@@ -89,7 +90,7 @@ export function openaiCompatible(options) {
|
|
|
89
90
|
out.stream_options = { include_usage: true };
|
|
90
91
|
return out;
|
|
91
92
|
};
|
|
92
|
-
return {
|
|
93
|
+
return holdSecrets({
|
|
93
94
|
name,
|
|
94
95
|
async generate(r) {
|
|
95
96
|
const response = await post(name, fetchImpl, `${base}/chat/completions`, headers, body(r, false), r.signal);
|
|
@@ -121,7 +122,7 @@ export function openaiCompatible(options) {
|
|
|
121
122
|
const embeddings = [...data.data].sort((a, b) => a.index - b.index).map((d) => d.embedding);
|
|
122
123
|
return { embeddings, usage: { inputTokens: data.usage?.prompt_tokens ?? 0, outputTokens: 0 } };
|
|
123
124
|
},
|
|
124
|
-
};
|
|
125
|
+
}, [options.apiKey, ...Object.entries(options.headers ?? {}).filter(([k]) => /^(authorization|x-api-key|api-key)$/i.test(k)).map(([, v]) => v)]);
|
|
125
126
|
}
|
|
126
127
|
/** Chat Completions message shape, including tool calls and tool results. */
|
|
127
128
|
function openaiMessage(m) {
|
|
@@ -224,7 +225,7 @@ export function anthropic(options) {
|
|
|
224
225
|
out.temperature = r.temperature;
|
|
225
226
|
return out;
|
|
226
227
|
};
|
|
227
|
-
return {
|
|
228
|
+
return holdSecrets({
|
|
228
229
|
name,
|
|
229
230
|
async generate(r) {
|
|
230
231
|
const response = await post(name, fetchImpl, `${base}/v1/messages`, headers, body(r, false), r.signal);
|
|
@@ -247,7 +248,7 @@ export function anthropic(options) {
|
|
|
247
248
|
}
|
|
248
249
|
yield { usage };
|
|
249
250
|
},
|
|
250
|
-
};
|
|
251
|
+
}, [options.apiKey]);
|
|
251
252
|
}
|
|
252
253
|
/** Gemini through Google's OpenAI-compatible endpoint. */
|
|
253
254
|
export function gemini(options) {
|
package/dist/ai/providers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/ai/providers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/ai/providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inferlo's AI module on its own: providers, aliases with fallback, structured output, streaming,
|
|
3
|
+
* embeddings, image input, tool calling with plain functions and usage tracking, without createApp. Use it in any framework or script:
|
|
4
|
+
*
|
|
5
|
+
* import { createAI, anthropic, t } from "@browserlessapi/inferlo/ai"
|
|
6
|
+
* const ai = createAI({ providers: { anthropic: anthropic({ apiKey }) }, models: { fast: "anthropic:claude-haiku-4-5" } })
|
|
7
|
+
* const { object } = await ai.generate({ model: "fast", prompt, output: t.object({ ... }) })
|
|
8
|
+
*
|
|
9
|
+
* This entry point never loads the router, database or jobs code.
|
|
10
|
+
*/
|
|
11
|
+
export { createAI, cosineSimilarity, extractJson } from "./index.ts";
|
|
12
|
+
export { tool, isTool, ToolBuilder } from "./tool.ts";
|
|
13
|
+
export type { ToolDef, FunctionToolOptions, ToolContext } from "./tool.ts";
|
|
14
|
+
export { openai, openaiCompatible, anthropic, gemini, ollama, mockProvider, ProviderError } from "./providers.ts";
|
|
15
|
+
export type { AI, AIConfig, GenerateOptions, GenerateResult, StreamResult, Usage, Pricing, Step, ToolCallResult } from "./index.ts";
|
|
16
|
+
export type { Provider, ProviderRequest, ProviderResponse, ProviderUsage, Image, ImageMediaType, Message, MockReply, ToolCall, ToolSpec, OpenAICompatibleOptions } from "./providers.ts";
|
|
17
|
+
export { t, Schema, ObjectSchema, ArraySchema, ValidationError, toJSONSchema } from "../schema.ts";
|
|
18
|
+
export type { Infer, InferInput, Issue, JSONSchema, AnySchema } from "../schema.ts";
|
|
19
|
+
export { InferloError, httpError } from "../errors.ts";
|
|
20
|
+
export { env } from "../env.ts";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inferlo's AI module on its own: providers, aliases with fallback, structured output, streaming,
|
|
3
|
+
* embeddings, image input, tool calling with plain functions and usage tracking, without createApp. Use it in any framework or script:
|
|
4
|
+
*
|
|
5
|
+
* import { createAI, anthropic, t } from "@browserlessapi/inferlo/ai"
|
|
6
|
+
* const ai = createAI({ providers: { anthropic: anthropic({ apiKey }) }, models: { fast: "anthropic:claude-haiku-4-5" } })
|
|
7
|
+
* const { object } = await ai.generate({ model: "fast", prompt, output: t.object({ ... }) })
|
|
8
|
+
*
|
|
9
|
+
* This entry point never loads the router, database or jobs code.
|
|
10
|
+
*/
|
|
11
|
+
export { createAI, cosineSimilarity, extractJson } from "./index.js";
|
|
12
|
+
export { tool, isTool, ToolBuilder } from "./tool.js";
|
|
13
|
+
export { openai, openaiCompatible, anthropic, gemini, ollama, mockProvider, ProviderError } from "./providers.js";
|
|
14
|
+
export { t, Schema, ObjectSchema, ArraySchema, ValidationError, toJSONSchema } from "../schema.js";
|
|
15
|
+
export { InferloError, httpError } from "../errors.js";
|
|
16
|
+
export { env } from "../env.js";
|
|
17
|
+
//# sourceMappingURL=public.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../src/ai/public.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGlH,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEnG,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ObjectSchema, type Infer, type Shape } from "../schema.ts";
|
|
2
|
+
import type { ToolSpec } from "./providers.ts";
|
|
3
|
+
export interface FunctionToolOptions<I extends ObjectSchema<Shape>> {
|
|
4
|
+
/** What the tool does and when to use it. The model reads this to decide when to call it. */
|
|
5
|
+
description: string;
|
|
6
|
+
/** Schema of the arguments, a t.object({ ... }). The model's arguments are validated against it. */
|
|
7
|
+
input: I;
|
|
8
|
+
}
|
|
9
|
+
export interface ToolContext<Input> {
|
|
10
|
+
/** The model's arguments, validated and with defaults applied. */
|
|
11
|
+
input: Input;
|
|
12
|
+
/** The ai.generate call's signal, if it had one. */
|
|
13
|
+
signal?: AbortSignal;
|
|
14
|
+
}
|
|
15
|
+
/** A tool made with tool(name, options).handle(fn). */
|
|
16
|
+
export interface ToolDef<Input = any> {
|
|
17
|
+
readonly kind: "inferlo.tool";
|
|
18
|
+
readonly name: string;
|
|
19
|
+
readonly description: string;
|
|
20
|
+
readonly input: ObjectSchema<Shape>;
|
|
21
|
+
readonly handler: (ctx: ToolContext<Input>) => unknown;
|
|
22
|
+
}
|
|
23
|
+
export declare class ToolBuilder<I extends ObjectSchema<Shape>> {
|
|
24
|
+
readonly name: string;
|
|
25
|
+
readonly options: FunctionToolOptions<I>;
|
|
26
|
+
constructor(name: string, options: FunctionToolOptions<I>);
|
|
27
|
+
/**
|
|
28
|
+
* The tool's work. Return any JSON value (or a string) for the model. Throw httpError(404, "...")
|
|
29
|
+
* to send a failed tool result to the model; any other error rejects ai.generate.
|
|
30
|
+
*/
|
|
31
|
+
handle(handler: (ctx: ToolContext<Infer<I>>) => unknown): ToolDef<Infer<I>>;
|
|
32
|
+
}
|
|
33
|
+
/** Define a tool the model can call: tool("getWeather", { description, input: t.object({ ... }) }).handle(fn). */
|
|
34
|
+
export declare function tool<I extends ObjectSchema<Shape>>(name: string, options: FunctionToolOptions<I>): ToolBuilder<I>;
|
|
35
|
+
export declare function isTool(value: unknown): value is ToolDef;
|
|
36
|
+
/** What the model is offered for a function tool. Internal. */
|
|
37
|
+
export declare function functionToolSpec(def: ToolDef): ToolSpec;
|
|
38
|
+
/**
|
|
39
|
+
* Runs one call of a function tool. Validation errors and InferloErrors with a status below 500
|
|
40
|
+
* (httpError, notFound, forbidden) become failed tool results for the model; other errors are rethrown.
|
|
41
|
+
* Internal.
|
|
42
|
+
*/
|
|
43
|
+
export declare function runFunctionTool(def: ToolDef, input: unknown, signal: AbortSignal | undefined): Promise<{
|
|
44
|
+
status: number;
|
|
45
|
+
output: unknown;
|
|
46
|
+
text: string;
|
|
47
|
+
}>;
|