@zhivex-ai/core 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/catalog.d.ts +15 -0
- package/dist/catalog.d.ts.map +1 -0
- package/dist/catalog.js +18 -0
- package/dist/catalog.js.map +1 -0
- package/dist/embed.d.ts +4 -0
- package/dist/embed.d.ts.map +1 -0
- package/dist/embed.js +16 -0
- package/dist/embed.js.map +1 -0
- package/dist/errors.d.ts +23 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +26 -0
- package/dist/errors.js.map +1 -0
- package/dist/fetch.d.ts +5 -0
- package/dist/fetch.d.ts.map +1 -0
- package/dist/fetch.js +25 -0
- package/dist/fetch.js.map +1 -0
- package/dist/generate-object.d.ts +5 -0
- package/dist/generate-object.d.ts.map +1 -0
- package/dist/generate-object.js +327 -0
- package/dist/generate-object.js.map +1 -0
- package/dist/generate-text.d.ts +5 -0
- package/dist/generate-text.d.ts.map +1 -0
- package/dist/generate-text.js +266 -0
- package/dist/generate-text.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/messages.d.ts +17 -0
- package/dist/messages.d.ts.map +1 -0
- package/dist/messages.js +92 -0
- package/dist/messages.js.map +1 -0
- package/dist/middleware.d.ts +27 -0
- package/dist/middleware.d.ts.map +1 -0
- package/dist/middleware.js +168 -0
- package/dist/middleware.js.map +1 -0
- package/dist/runtime.d.ts +9 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +62 -0
- package/dist/runtime.js.map +1 -0
- package/dist/stream.d.ts +17 -0
- package/dist/stream.d.ts.map +1 -0
- package/dist/stream.js +110 -0
- package/dist/stream.js.map +1 -0
- package/dist/types.d.ts +315 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/ui.d.ts +10 -0
- package/dist/ui.d.ts.map +1 -0
- package/dist/ui.js +65 -0
- package/dist/ui.js.map +1 -0
- package/package.json +32 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type CatalogProviderId = string;
|
|
2
|
+
export interface ModelCatalogEntry {
|
|
3
|
+
provider: CatalogProviderId;
|
|
4
|
+
modelId: string;
|
|
5
|
+
aliases?: string[];
|
|
6
|
+
costPer1kTokens?: number;
|
|
7
|
+
recommendedFor?: Array<"chat" | "reasoning" | "speed" | "vision" | "tools">;
|
|
8
|
+
}
|
|
9
|
+
export interface ModelCatalog {
|
|
10
|
+
find(provider: CatalogProviderId, modelId: string): ModelCatalogEntry | undefined;
|
|
11
|
+
list(): ModelCatalogEntry[];
|
|
12
|
+
}
|
|
13
|
+
export declare const createModelCatalog: (entries: ModelCatalogEntry[]) => ModelCatalog;
|
|
14
|
+
export declare const defaultModelCatalog: ModelCatalog;
|
|
15
|
+
//# sourceMappingURL=catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC;CAC7E;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAAC;IAClF,IAAI,IAAI,iBAAiB,EAAE,CAAC;CAC7B;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,iBAAiB,EAAE,KAAG,YAUhE,CAAC;AAEH,eAAO,MAAM,mBAAmB,cAQ9B,CAAC"}
|
package/dist/catalog.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export const createModelCatalog = (entries) => ({
|
|
2
|
+
find(provider, modelId) {
|
|
3
|
+
return entries.find((entry) => entry.provider === provider && (entry.modelId === modelId || entry.aliases?.includes(modelId)));
|
|
4
|
+
},
|
|
5
|
+
list() {
|
|
6
|
+
return [...entries];
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
export const defaultModelCatalog = createModelCatalog([
|
|
10
|
+
{ provider: "openai", modelId: "gpt-4o-mini", costPer1kTokens: 0.6, recommendedFor: ["chat", "tools", "speed"] },
|
|
11
|
+
{ provider: "azure-openai", modelId: "gpt-4o-mini", costPer1kTokens: 0.6, recommendedFor: ["chat", "tools"] },
|
|
12
|
+
{ provider: "anthropic", modelId: "claude-3-5-sonnet", costPer1kTokens: 3, recommendedFor: ["reasoning", "tools"] },
|
|
13
|
+
{ provider: "gemini", modelId: "gemini-2.0-flash", costPer1kTokens: 0.35, recommendedFor: ["speed", "vision"] },
|
|
14
|
+
{ provider: "openrouter", modelId: "openai/gpt-4o-mini", costPer1kTokens: 0.7, recommendedFor: ["chat", "tools"] },
|
|
15
|
+
{ provider: "bedrock", modelId: "anthropic.claude-3-5-sonnet", costPer1kTokens: 3, recommendedFor: ["reasoning"] },
|
|
16
|
+
{ provider: "ollama", modelId: "llama3.2", costPer1kTokens: 0, recommendedFor: ["chat", "speed"] }
|
|
17
|
+
]);
|
|
18
|
+
//# sourceMappingURL=catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAA4B,EAAgB,EAAE,CAAC,CAAC;IACjF,IAAI,CAAC,QAAQ,EAAE,OAAO;QACpB,OAAO,OAAO,CAAC,IAAI,CACjB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CACjG,CAAC;IACJ,CAAC;IACD,IAAI;QACF,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;IACtB,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,kBAAkB,CAAC;IACpD,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;IAChH,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAC7G,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE;IACnH,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE;IAC/G,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;IAClH,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,WAAW,CAAC,EAAE;IAClH,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE;CACnG,CAAC,CAAC"}
|
package/dist/embed.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../src/embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE5D,eAAO,MAAM,KAAK,GAAU,SAAS,YAAY,KAAG,OAAO,CAAC,WAAW,CActE,CAAC;AAEF,eAAO,MAAM,SAAS,YAhBe,YAAY,KAAG,OAAO,CAAC,WAAW,CAgBzC,CAAC"}
|
package/dist/embed.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const embed = async (options) => {
|
|
2
|
+
const values = Array.isArray(options.value) ? options.value : [options.value];
|
|
3
|
+
const response = await options.model.embed({
|
|
4
|
+
values,
|
|
5
|
+
abortSignal: options.abortSignal,
|
|
6
|
+
timeoutMs: options.timeoutMs,
|
|
7
|
+
maxRetries: options.maxRetries,
|
|
8
|
+
retryBackoffMs: options.retryBackoffMs
|
|
9
|
+
});
|
|
10
|
+
return {
|
|
11
|
+
...response,
|
|
12
|
+
values
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
export const embedMany = embed;
|
|
16
|
+
//# sourceMappingURL=embed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embed.js","sourceRoot":"","sources":["../src/embed.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EAAE,OAAqB,EAAwB,EAAE;IACzE,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QACzC,MAAM;QACN,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC,CAAC;IAEH,OAAO;QACL,GAAG,QAAQ;QACX,MAAM;KACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare class ZhivexAIError extends Error {
|
|
2
|
+
readonly cause?: unknown;
|
|
3
|
+
constructor(message: string, options?: {
|
|
4
|
+
cause?: unknown;
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
export declare class ConfigurationError extends ZhivexAIError {
|
|
8
|
+
}
|
|
9
|
+
export declare class ProviderHTTPError extends ZhivexAIError {
|
|
10
|
+
readonly status: number;
|
|
11
|
+
constructor(message: string, status: number, options?: {
|
|
12
|
+
cause?: unknown;
|
|
13
|
+
responseBody?: unknown;
|
|
14
|
+
});
|
|
15
|
+
readonly responseBody?: unknown;
|
|
16
|
+
}
|
|
17
|
+
export declare class ValidationError extends ZhivexAIError {
|
|
18
|
+
}
|
|
19
|
+
export declare class ParseError extends ZhivexAIError {
|
|
20
|
+
}
|
|
21
|
+
export declare class UnsupportedFeatureError extends ZhivexAIError {
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;gBAEb,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAK3D;AAED,qBAAa,kBAAmB,SAAQ,aAAa;CAAG;AACxD,qBAAa,iBAAkB,SAAQ,aAAa;IAGhD,QAAQ,CAAC,MAAM,EAAE,MAAM;gBADvB,OAAO,EAAE,MAAM,EACN,MAAM,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE;IAMvD,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,qBAAa,eAAgB,SAAQ,aAAa;CAAG;AACrD,qBAAa,UAAW,SAAQ,aAAa;CAAG;AAChD,qBAAa,uBAAwB,SAAQ,aAAa;CAAG"}
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export class ZhivexAIError extends Error {
|
|
2
|
+
cause;
|
|
3
|
+
constructor(message, options) {
|
|
4
|
+
super(message);
|
|
5
|
+
this.name = this.constructor.name;
|
|
6
|
+
this.cause = options?.cause;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class ConfigurationError extends ZhivexAIError {
|
|
10
|
+
}
|
|
11
|
+
export class ProviderHTTPError extends ZhivexAIError {
|
|
12
|
+
status;
|
|
13
|
+
constructor(message, status, options) {
|
|
14
|
+
super(message, options);
|
|
15
|
+
this.status = status;
|
|
16
|
+
this.responseBody = options?.responseBody;
|
|
17
|
+
}
|
|
18
|
+
responseBody;
|
|
19
|
+
}
|
|
20
|
+
export class ValidationError extends ZhivexAIError {
|
|
21
|
+
}
|
|
22
|
+
export class ParseError extends ZhivexAIError {
|
|
23
|
+
}
|
|
24
|
+
export class UnsupportedFeatureError extends ZhivexAIError {
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,aAAc,SAAQ,KAAK;IAC7B,KAAK,CAAW;IAEzB,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,aAAa;CAAG;AACxD,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAGvC;IAFX,YACE,OAAe,EACN,MAAc,EACvB,OAAqD;QAErD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAHf,WAAM,GAAN,MAAM,CAAQ;QAIvB,IAAI,CAAC,YAAY,GAAG,OAAO,EAAE,YAAY,CAAC;IAC5C,CAAC;IAEQ,YAAY,CAAW;CACjC;AAED,MAAM,OAAO,eAAgB,SAAQ,aAAa;CAAG;AACrD,MAAM,OAAO,UAAW,SAAQ,aAAa;CAAG;AAChD,MAAM,OAAO,uBAAwB,SAAQ,aAAa;CAAG"}
|
package/dist/fetch.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { UIMessage } from "./types.js";
|
|
2
|
+
export declare const parseUIMessageRequest: (request: Request) => Promise<UIMessage[]>;
|
|
3
|
+
export declare const createUIMessageJsonResponse: (messages: UIMessage[], init?: ResponseInit) => Response;
|
|
4
|
+
export declare const createUIMessageLinesResponse: (messages: UIMessage[], init?: ResponseInit) => Response;
|
|
5
|
+
//# sourceMappingURL=fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,eAAO,MAAM,qBAAqB,GAAU,SAAS,OAAO,KAAG,OAAO,CAAC,SAAS,EAAE,CAiBjF,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,UAAU,SAAS,EAAE,EAAE,OAAM,YAAiB,KAAG,QAC9D,CAAC;AAEhC,eAAO,MAAM,4BAA4B,GAAI,UAAU,SAAS,EAAE,EAAE,OAAM,YAAiB,KAAG,QAO1F,CAAC"}
|
package/dist/fetch.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { deserializeUIMessage, serializeUIMessage } from "./ui.js";
|
|
2
|
+
export const parseUIMessageRequest = async (request) => {
|
|
3
|
+
const contentType = request.headers.get("content-type") ?? "";
|
|
4
|
+
if (contentType.includes("application/json")) {
|
|
5
|
+
const body = await request.json();
|
|
6
|
+
return body;
|
|
7
|
+
}
|
|
8
|
+
const text = await request.text();
|
|
9
|
+
if (!text.trim()) {
|
|
10
|
+
return [];
|
|
11
|
+
}
|
|
12
|
+
return text
|
|
13
|
+
.trim()
|
|
14
|
+
.split("\n")
|
|
15
|
+
.map((line) => deserializeUIMessage(line));
|
|
16
|
+
};
|
|
17
|
+
export const createUIMessageJsonResponse = (messages, init = {}) => Response.json(messages, init);
|
|
18
|
+
export const createUIMessageLinesResponse = (messages, init = {}) => new Response(messages.map((message) => serializeUIMessage(message)).join("\n"), {
|
|
19
|
+
...init,
|
|
20
|
+
headers: {
|
|
21
|
+
"content-type": "application/x-ndjson; charset=utf-8",
|
|
22
|
+
...Object.fromEntries(new Headers(init.headers).entries())
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEnE,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,OAAgB,EAAwB,EAAE;IACpF,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAE9D,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QAClC,OAAO,IAAmB,CAAC;IAC7B,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IAClC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI;SACR,IAAI,EAAE;SACN,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,QAAqB,EAAE,OAAqB,EAAE,EAAY,EAAE,CACtG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAEhC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,QAAqB,EAAE,OAAqB,EAAE,EAAY,EAAE,CACvG,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;IAC9E,GAAG,IAAI;IACP,OAAO,EAAE;QACP,cAAc,EAAE,qCAAqC;QACrD,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;KAC3D;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ZodTypeAny } from "zod";
|
|
2
|
+
import type { GenerateObjectOptions, GenerateObjectOutput, StreamObjectResult } from "./types.js";
|
|
3
|
+
export declare const generateObject: <TSchema extends ZodTypeAny>(options: GenerateObjectOptions<TSchema>) => Promise<GenerateObjectOutput<TSchema>>;
|
|
4
|
+
export declare const streamObject: <TSchema extends ZodTypeAny>(options: GenerateObjectOptions<TSchema>) => StreamObjectResult<TSchema>;
|
|
5
|
+
//# sourceMappingURL=generate-object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-object.d.ts","sourceRoot":"","sources":["../src/generate-object.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAKtC,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EAIpB,kBAAkB,EAEnB,MAAM,YAAY,CAAC;AAuOpB,eAAO,MAAM,cAAc,GAAU,OAAO,SAAS,UAAU,EAC7D,SAAS,qBAAqB,CAAC,OAAO,CAAC,KACtC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAUvC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,SAAS,UAAU,EAAE,SAAS,qBAAqB,CAAC,OAAO,CAAC,KAAG,kBAAkB,CAAC,OAAO,CA8J5H,CAAC"}
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
import { ParseError, UnsupportedFeatureError, ValidationError } from "./errors.js";
|
|
2
|
+
import { createTextMessage } from "./messages.js";
|
|
3
|
+
import { generateText, streamText } from "./generate-text.js";
|
|
4
|
+
const resolveObjectMode = (requestedMode, nativeAllowed) => {
|
|
5
|
+
const objectMode = requestedMode === "auto" ? (nativeAllowed ? "native" : "prompted") : requestedMode;
|
|
6
|
+
if (objectMode === "native" && !nativeAllowed) {
|
|
7
|
+
throw new UnsupportedFeatureError("Model does not support native structured output.");
|
|
8
|
+
}
|
|
9
|
+
return objectMode;
|
|
10
|
+
};
|
|
11
|
+
const withStructuredPrompt = (options, objectMode) => {
|
|
12
|
+
if (objectMode !== "prompted") {
|
|
13
|
+
if (options.messages !== undefined) {
|
|
14
|
+
return { messages: options.messages };
|
|
15
|
+
}
|
|
16
|
+
if (options.prompt !== undefined) {
|
|
17
|
+
return { prompt: options.prompt };
|
|
18
|
+
}
|
|
19
|
+
return {};
|
|
20
|
+
}
|
|
21
|
+
if (options.messages !== undefined) {
|
|
22
|
+
return {
|
|
23
|
+
messages: [...options.messages, createTextMessage("system", "Return only valid JSON matching the requested schema.")]
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
if (options.prompt !== undefined) {
|
|
27
|
+
return {
|
|
28
|
+
prompt: `${options.prompt}\n\nReturn only valid JSON matching the requested schema.`
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return {};
|
|
32
|
+
};
|
|
33
|
+
const parseObject = (text, schema) => {
|
|
34
|
+
let parsedJson;
|
|
35
|
+
try {
|
|
36
|
+
parsedJson = JSON.parse(text);
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
throw new ParseError("Model response is not valid JSON.", { cause: error });
|
|
40
|
+
}
|
|
41
|
+
const parsed = schema.safeParse(parsedJson);
|
|
42
|
+
if (!parsed.success) {
|
|
43
|
+
throw new ValidationError(`Structured output validation failed: ${parsed.error.message}`);
|
|
44
|
+
}
|
|
45
|
+
return parsed.data;
|
|
46
|
+
};
|
|
47
|
+
const repairPartialJson = (text) => {
|
|
48
|
+
const start = text.search(/[{\[]/);
|
|
49
|
+
if (start === -1) {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
const slice = text.slice(start).trim();
|
|
53
|
+
if (!slice) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
const closers = [];
|
|
57
|
+
let inString = false;
|
|
58
|
+
let isEscaped = false;
|
|
59
|
+
let lastToken = "other";
|
|
60
|
+
for (const char of slice) {
|
|
61
|
+
if (inString) {
|
|
62
|
+
if (isEscaped) {
|
|
63
|
+
isEscaped = false;
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
if (char === "\\") {
|
|
67
|
+
isEscaped = true;
|
|
68
|
+
continue;
|
|
69
|
+
}
|
|
70
|
+
if (char === "\"") {
|
|
71
|
+
inString = false;
|
|
72
|
+
lastToken = "value";
|
|
73
|
+
}
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
if (char === "\"") {
|
|
77
|
+
inString = true;
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
if (char === "{") {
|
|
81
|
+
closers.push("}");
|
|
82
|
+
lastToken = "other";
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
if (char === "[") {
|
|
86
|
+
closers.push("]");
|
|
87
|
+
lastToken = "other";
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
if (char === "}" || char === "]") {
|
|
91
|
+
if (closers.at(-1) === char) {
|
|
92
|
+
closers.pop();
|
|
93
|
+
}
|
|
94
|
+
lastToken = "value";
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
if (char === ":") {
|
|
98
|
+
lastToken = "colon";
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
if (char === ",") {
|
|
102
|
+
lastToken = "comma";
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
if (/\S/.test(char)) {
|
|
106
|
+
lastToken = "value";
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
let repaired = slice.trimEnd();
|
|
110
|
+
if (inString) {
|
|
111
|
+
repaired += "\"";
|
|
112
|
+
}
|
|
113
|
+
if (lastToken === "colon") {
|
|
114
|
+
repaired += " null";
|
|
115
|
+
}
|
|
116
|
+
if (lastToken === "comma") {
|
|
117
|
+
repaired = repaired.replace(/,\s*$/, "");
|
|
118
|
+
}
|
|
119
|
+
return repaired + [...closers].reverse().join("");
|
|
120
|
+
};
|
|
121
|
+
const parsePartialObject = (text) => {
|
|
122
|
+
const repaired = repairPartialJson(text);
|
|
123
|
+
if (!repaired) {
|
|
124
|
+
return undefined;
|
|
125
|
+
}
|
|
126
|
+
try {
|
|
127
|
+
return JSON.parse(repaired);
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
return undefined;
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
const sameJson = (left, right) => JSON.stringify(left) === JSON.stringify(right);
|
|
134
|
+
const getStructuredOutput = (options, objectMode) => objectMode === "native"
|
|
135
|
+
? {
|
|
136
|
+
schema: options.schema,
|
|
137
|
+
mode: "native",
|
|
138
|
+
name: options.schemaName,
|
|
139
|
+
description: options.schemaDescription
|
|
140
|
+
}
|
|
141
|
+
: undefined;
|
|
142
|
+
const createObjectOptions = (options) => {
|
|
143
|
+
const requestedMode = options.mode ?? "auto";
|
|
144
|
+
const objectMode = resolveObjectMode(requestedMode, options.model.capabilities.structuredOutput);
|
|
145
|
+
const promptConfig = withStructuredPrompt(options, objectMode);
|
|
146
|
+
const structuredOutput = getStructuredOutput(options, objectMode);
|
|
147
|
+
const requestBase = {
|
|
148
|
+
model: options.model,
|
|
149
|
+
system: options.system,
|
|
150
|
+
tools: options.tools,
|
|
151
|
+
maxSteps: options.maxSteps,
|
|
152
|
+
temperature: options.temperature,
|
|
153
|
+
maxTokens: options.maxTokens,
|
|
154
|
+
providerOptions: options.providerOptions,
|
|
155
|
+
abortSignal: options.abortSignal,
|
|
156
|
+
timeoutMs: options.timeoutMs,
|
|
157
|
+
maxRetries: options.maxRetries,
|
|
158
|
+
retryBackoffMs: options.retryBackoffMs
|
|
159
|
+
};
|
|
160
|
+
let request;
|
|
161
|
+
if ("messages" in promptConfig) {
|
|
162
|
+
request = {
|
|
163
|
+
...requestBase,
|
|
164
|
+
messages: promptConfig.messages,
|
|
165
|
+
structuredOutput
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
else if ("prompt" in promptConfig) {
|
|
169
|
+
request = {
|
|
170
|
+
...requestBase,
|
|
171
|
+
prompt: promptConfig.prompt,
|
|
172
|
+
structuredOutput
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
request = {
|
|
177
|
+
...requestBase,
|
|
178
|
+
structuredOutput
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
return {
|
|
182
|
+
objectMode,
|
|
183
|
+
request
|
|
184
|
+
};
|
|
185
|
+
};
|
|
186
|
+
export const generateObject = async (options) => {
|
|
187
|
+
const { objectMode, request } = createObjectOptions(options);
|
|
188
|
+
const textResult = await generateText(request);
|
|
189
|
+
const object = parseObject(textResult.text, options.schema);
|
|
190
|
+
return {
|
|
191
|
+
...textResult,
|
|
192
|
+
object,
|
|
193
|
+
objectMode
|
|
194
|
+
};
|
|
195
|
+
};
|
|
196
|
+
export const streamObject = (options) => {
|
|
197
|
+
const { objectMode, request } = createObjectOptions(options);
|
|
198
|
+
const streamResult = streamText(request);
|
|
199
|
+
const subscribers = new Set();
|
|
200
|
+
const partialSubscribers = new Set();
|
|
201
|
+
const history = [];
|
|
202
|
+
const partialHistory = [];
|
|
203
|
+
let done = false;
|
|
204
|
+
let partialDone = false;
|
|
205
|
+
const publish = (value) => {
|
|
206
|
+
history.push(value);
|
|
207
|
+
for (const subscriber of subscribers) {
|
|
208
|
+
subscriber(value);
|
|
209
|
+
}
|
|
210
|
+
if (value.done) {
|
|
211
|
+
done = true;
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
const publishPartial = (value) => {
|
|
215
|
+
partialHistory.push(value);
|
|
216
|
+
for (const subscriber of partialSubscribers) {
|
|
217
|
+
subscriber(value);
|
|
218
|
+
}
|
|
219
|
+
if (value.done) {
|
|
220
|
+
partialDone = true;
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
const createEventStream = async function* () {
|
|
224
|
+
let cursor = 0;
|
|
225
|
+
while (true) {
|
|
226
|
+
while (cursor < history.length) {
|
|
227
|
+
const item = history[cursor];
|
|
228
|
+
cursor += 1;
|
|
229
|
+
if (item.done) {
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
yield item.value;
|
|
233
|
+
}
|
|
234
|
+
if (done) {
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
await new Promise((resolve) => {
|
|
238
|
+
const subscriber = (value) => {
|
|
239
|
+
subscribers.delete(subscriber);
|
|
240
|
+
resolve(value);
|
|
241
|
+
};
|
|
242
|
+
subscribers.add(subscriber);
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
const createPartialStream = async function* () {
|
|
247
|
+
let cursor = 0;
|
|
248
|
+
while (true) {
|
|
249
|
+
while (cursor < partialHistory.length) {
|
|
250
|
+
const item = partialHistory[cursor];
|
|
251
|
+
cursor += 1;
|
|
252
|
+
if (item.done) {
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
yield item.value;
|
|
256
|
+
}
|
|
257
|
+
if (partialDone) {
|
|
258
|
+
return;
|
|
259
|
+
}
|
|
260
|
+
await new Promise((resolve) => {
|
|
261
|
+
const subscriber = (value) => {
|
|
262
|
+
partialSubscribers.delete(subscriber);
|
|
263
|
+
resolve(value);
|
|
264
|
+
};
|
|
265
|
+
partialSubscribers.add(subscriber);
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
};
|
|
269
|
+
const finalResultPromise = (async () => {
|
|
270
|
+
let text = "";
|
|
271
|
+
let lastPartial;
|
|
272
|
+
let completed = false;
|
|
273
|
+
for await (const event of streamResult.eventStream) {
|
|
274
|
+
publish({ done: false, value: event });
|
|
275
|
+
if (event.type !== "text-delta") {
|
|
276
|
+
continue;
|
|
277
|
+
}
|
|
278
|
+
text += event.textDelta;
|
|
279
|
+
publish({
|
|
280
|
+
done: false,
|
|
281
|
+
value: {
|
|
282
|
+
type: "object-delta",
|
|
283
|
+
textDelta: event.textDelta,
|
|
284
|
+
partialText: text
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
const partial = parsePartialObject(text);
|
|
288
|
+
if (partial !== undefined && !sameJson(partial, lastPartial)) {
|
|
289
|
+
lastPartial = partial;
|
|
290
|
+
publish({ done: false, value: { type: "object-partial", partialObject: partial } });
|
|
291
|
+
publishPartial({ done: false, value: partial });
|
|
292
|
+
if (!completed) {
|
|
293
|
+
const parsed = options.schema.safeParse(partial);
|
|
294
|
+
if (parsed.success) {
|
|
295
|
+
completed = true;
|
|
296
|
+
publish({ done: false, value: { type: "object-complete", object: parsed.data } });
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
const textResult = await streamResult.collect();
|
|
302
|
+
const object = parseObject(textResult.text, options.schema);
|
|
303
|
+
if (!completed) {
|
|
304
|
+
publish({ done: false, value: { type: "object-complete", object } });
|
|
305
|
+
}
|
|
306
|
+
publish({ done: true, value: undefined });
|
|
307
|
+
publishPartial({ done: true, value: undefined });
|
|
308
|
+
return {
|
|
309
|
+
...textResult,
|
|
310
|
+
object,
|
|
311
|
+
objectMode
|
|
312
|
+
};
|
|
313
|
+
})().catch((error) => {
|
|
314
|
+
const streamError = error instanceof Error ? error : new Error(String(error));
|
|
315
|
+
publish({ done: false, value: { type: "error", error: streamError } });
|
|
316
|
+
publish({ done: true, value: undefined });
|
|
317
|
+
publishPartial({ done: true, value: undefined });
|
|
318
|
+
throw error;
|
|
319
|
+
});
|
|
320
|
+
return {
|
|
321
|
+
eventStream: createEventStream(),
|
|
322
|
+
partialObjectStream: createPartialStream(),
|
|
323
|
+
textStream: streamResult.textStream,
|
|
324
|
+
collect: async () => finalResultPromise
|
|
325
|
+
};
|
|
326
|
+
};
|
|
327
|
+
//# sourceMappingURL=generate-object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-object.js","sourceRoot":"","sources":["../src/generate-object.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { GenerateTextOptions, GenerateTextOutput, ModelMessage, StreamTextResult } from "./types.js";
|
|
2
|
+
export declare const normalizeMessages: (options: Pick<GenerateTextOptions, "prompt" | "messages" | "system">) => ModelMessage[];
|
|
3
|
+
export declare const generateText: (options: GenerateTextOptions) => Promise<GenerateTextOutput>;
|
|
4
|
+
export declare const streamText: (options: GenerateTextOptions) => StreamTextResult;
|
|
5
|
+
//# sourceMappingURL=generate-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-text.d.ts","sourceRoot":"","sources":["../src/generate-text.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAEV,mBAAmB,EACnB,kBAAkB,EAElB,YAAY,EACZ,gBAAgB,EAIjB,MAAM,YAAY,CAAC;AAoEpB,eAAO,MAAM,iBAAiB,YA5DE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC,KAAG,YAAY,EA4D5D,CAAC;AAS/C,eAAO,MAAM,YAAY,GAAU,SAAS,mBAAmB,KAAG,OAAO,CAAC,kBAAkB,CAqD3F,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,SAAS,mBAAmB,KAAG,gBAiLzD,CAAC"}
|