Socket
Book a DemoInstallSign in
Socket

@ls-stack/ai

Package Overview
Dependencies
Maintainers
0
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ls-stack/ai - npm Package Compare versions

Comparing version

to
0.2.3

14

dist/main.d.ts

@@ -1,7 +0,5 @@

import { jsonSchema } from 'ai';
import { Schema } from 'ai';
import { JSONSchema7Definition, JSONSchema7 } from 'json-schema';
type Schema<T> = (t: T) => T;
type AiSdkSchema<T> = ReturnType<typeof jsonSchema<T>>;
type AiSdkInferType<T extends AiSdkSchema<any>> = T extends AiSdkSchema<infer U> ? U : never;
type AiSdkInferType<T extends Schema<any>> = T extends Schema<infer U> ? U : never;
type AiSchemaInferType<T extends AiSchema<any, any>> = T extends AiSchema<infer U, any> ? U : never;

@@ -16,4 +14,6 @@ type PrimitiveTypes = 'string' | 'number' | 'boolean' | 'integer' | 'null';

};
type SchemaType<T> = (t: T) => T;
type ExternalAiSchema<T> = AiSchema<T, any>;
type AiSchema<T, Flags extends SchemaFlags = {}> = {
'~ai_type': Schema<T>;
'~ai_type': SchemaType<T>;
toJSONSchema: (ctx: Ctx) => JSONSchema7;

@@ -58,3 +58,3 @@ describe: (description: string) => AiSchema<T, Flags>;

}[T[number]]>;
declare function getSchema<T extends AiSchema<any, any> | Record<string, AiSchema<any, any>>>(schema: T): AiSdkSchema<T extends AiSchema<any, any> ? AiSchemaInferType<T> : T extends Record<string, AiSchema<any, any>> ? {
declare function getSchema<T extends AiSchema<any, any> | Record<string, AiSchema<any, any>>>(schema: T): Schema<T extends AiSchema<any, any> ? AiSchemaInferType<T> : T extends Record<string, AiSchema<any, any>> ? {
[K in keyof T]: AiSchemaInferType<T[K]>;

@@ -90,2 +90,2 @@ } : never>;

export { type AiSchema, type AiSchemaInferType, type AiSdkInferType, aiSchemas };
export { type ExternalAiSchema as AiSchema, type AiSchemaInferType, type AiSdkInferType, aiSchemas };

@@ -1,1 +0,1 @@

"use strict";var S=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var j=Object.prototype.hasOwnProperty;var N=(e,n)=>{for(var t in n)S(e,t,{get:n[t],enumerable:!0})},J=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of l(n))!j.call(e,i)&&i!==t&&S(e,i,{get:()=>n[i],enumerable:!(r=g(n,i))||r.enumerable});return e};var x=e=>J(S({},"__esModule",{value:!0}),e);var _={};N(_,{aiSchemas:()=>T});module.exports=x(_);var y=require("ai");function k(e){return u(this,e)}function K(...e){return d(this,e)}function R(...e){return f(this,e)}function v(e){function n(t,r){if(O(t))return t.toJSONSchema(r);let i={},a=[];for(let[o,m]of Object.entries(t))i[o]=n(m,r),a.push(o);return{type:"object",properties:i,required:a}}return{...c,enum:void 0,toJSONSchema:t=>n(e,t),merge:k,pick:K,omit:R}}function u(...e){return{...c,enum:void 0,toJSONSchema:n=>{let t={},r=[];for(let i of e){let a=i.toJSONSchema(n);if(a.type==="object")Object.assign(t,a.properties),r.push(...a.required??[]);else throw new Error("Merge only accepts object schemas")}return{type:"object",properties:t,required:r}}}}function d(e,n){return{...c,enum:void 0,toJSONSchema:t=>{let r=e.toJSONSchema(t),i={},a=[];for(let o of n){let m=r.properties?.[o];m&&m!==!0&&(i[o]=m,a.push(o))}return{type:"object",properties:i,required:a}}}}function f(e,n){return{...c,enum:void 0,toJSONSchema:t=>{let r=e.toJSONSchema(t);if(!r.properties)return{type:"object",properties:{},required:[]};let i={},a=[];for(let[o,m]of Object.entries(r.properties))m&&m!==!0&&!n.includes(o)&&(i[o]=m,a.push(o));return{type:"object",properties:i,required:a}}}}function M(e){return{...c,enum:void 0,toJSONSchema:n=>({type:"array",items:e.toJSONSchema(n)})}}function P(e){return{...this,toJSONSchema:n=>({...this.toJSONSchema(n),description:e})}}function $(){return{...this,toJSONSchema:e=>{let n=this.toJSONSchema(e),t=new Set;if(Array.isArray(n.type))for(let r of n.type)t.add(r);else t.add(n.type);return t.add("null"),{...n,type:Array.from(t)}}}}function s(...e){return{...this,toJSONSchema:n=>({...this.toJSONSchema(n),enum:e})}}function F(e){return{...this,toJSONSchema:n=>{let t=this.toJSONSchema(n);return n.defs[e]=t,{$ref:`#/$defs/${e}`}}}}function q(e){return A(this,e)}var c={"~ai_type":void 0,describe:P,orNull:$,asRef:F,omit:void 0,pick:void 0,merge:void 0,or:q},B={...c,enum:s,toJSONSchema:()=>({type:"string"})},C={...c,enum:s,toJSONSchema:()=>({type:"number"})},I={...c,enum:s,toJSONSchema:()=>({type:"boolean"})},U={...c,enum:s,toJSONSchema:()=>({type:"integer"})},w={...c,enum:void 0,toJSONSchema:()=>({type:"null"})};function A(...e){return{...c,enum:void 0,toJSONSchema:n=>{let t=e.map(i=>i.toJSONSchema(n));return t.every(i=>!i.description&&!i.anyOf&&!i.enum&&p(i.type))?{type:t.flatMap(i=>Array.isArray(i.type)?i.type.map(a=>a):i.type)}:{anyOf:t}}}}function p(e){return e?e==="string"||e==="number"||e==="boolean"||e==="integer"||e==="null"||Array.isArray(e)&&e.every(p):!1}function D(...e){return{...c,orNull:void 0,enum:void 0,toJSONSchema:()=>({type:e})}}function O(e){return!!e&&typeof e=="object"&&"~ai_type"in e}function h(e){return Object.keys(e).length===0}function V(e){let n={defs:{}};if(O(e)){let a=e.toJSONSchema(n);return h(n.defs)||(a.$defs=n.defs),(0,y.jsonSchema)(a)}let t={},r=[];for(let[a,o]of Object.entries(e))t[a]=o.toJSONSchema(n),r.push(a);let i={type:"object",properties:t,required:r,additionalProperties:!1};return h(n.defs)||(i.$defs=n.defs),(0,y.jsonSchema)(i)}function b(e){return{...c,enum:void 0,toJSONSchema:()=>({$ref:`#/$defs/${e}`})}}function W(e,n){return{...c,enum:void 0,toJSONSchema:t=>{let r=n(b(e)).toJSONSchema(t);return t.defs[e]=r,{$ref:`#/$defs/${e}`}}}}var T={object:v,string:B,array:M,number:C,boolean:I,getSchema:V,merge:u,recursion:W,null:w,ref:b,pick:d,omit:f,union:A,primitiveUnion:D,integer:U};0&&(module.exports={aiSchemas});
"use strict";var S=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var j=Object.prototype.hasOwnProperty;var N=(e,n)=>{for(var t in n)S(e,t,{get:n[t],enumerable:!0})},J=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let i of l(n))!j.call(e,i)&&i!==t&&S(e,i,{get:()=>n[i],enumerable:!(r=g(n,i))||r.enumerable});return e};var x=e=>J(S({},"__esModule",{value:!0}),e);var E={};N(E,{aiSchemas:()=>T});module.exports=x(E);var y=require("ai");function k(e){return u(this,e)}function K(...e){return d(this,e)}function R(...e){return f(this,e)}function v(e){function n(t,r){if(O(t))return t.toJSONSchema(r);let i={},a=[];for(let[o,m]of Object.entries(t))i[o]=n(m,r),a.push(o);return{type:"object",properties:i,required:a}}return{...c,enum:void 0,toJSONSchema:t=>n(e,t),merge:k,pick:K,omit:R}}function u(...e){return{...c,enum:void 0,toJSONSchema:n=>{let t={},r=[];for(let i of e){let a=i.toJSONSchema(n);if(a.type==="object")Object.assign(t,a.properties),r.push(...a.required??[]);else throw new Error("Merge only accepts object schemas")}return{type:"object",properties:t,required:r}}}}function d(e,n){return{...c,enum:void 0,toJSONSchema:t=>{let r=e.toJSONSchema(t),i={},a=[];for(let o of n){let m=r.properties?.[o];m&&m!==!0&&(i[o]=m,a.push(o))}return{type:"object",properties:i,required:a}}}}function f(e,n){return{...c,enum:void 0,toJSONSchema:t=>{let r=e.toJSONSchema(t);if(!r.properties)return{type:"object",properties:{},required:[]};let i={},a=[];for(let[o,m]of Object.entries(r.properties))m&&m!==!0&&!n.includes(o)&&(i[o]=m,a.push(o));return{type:"object",properties:i,required:a}}}}function M(e){return{...c,enum:void 0,toJSONSchema:n=>({type:"array",items:e.toJSONSchema(n)})}}function P(e){return{...this,toJSONSchema:n=>({...this.toJSONSchema(n),description:e})}}function $(){return{...this,toJSONSchema:e=>{let n=this.toJSONSchema(e),t=new Set;if(Array.isArray(n.type))for(let r of n.type)t.add(r);else t.add(n.type);return t.add("null"),{...n,type:Array.from(t)}}}}function s(...e){return{...this,toJSONSchema:n=>({...this.toJSONSchema(n),enum:e})}}function F(e){return{...this,toJSONSchema:n=>{let t=this.toJSONSchema(n);return n.defs[e]=t,{$ref:`#/$defs/${e}`}}}}function q(e){return A(this,e)}var c={"~ai_type":void 0,describe:P,orNull:$,asRef:F,omit:void 0,pick:void 0,merge:void 0,or:q},B={...c,enum:s,toJSONSchema:()=>({type:"string"})},C={...c,enum:s,toJSONSchema:()=>({type:"number"})},I={...c,enum:s,toJSONSchema:()=>({type:"boolean"})},U={...c,enum:s,toJSONSchema:()=>({type:"integer"})},w={...c,enum:void 0,toJSONSchema:()=>({type:"null"})};function A(...e){return{...c,enum:void 0,toJSONSchema:n=>{let t=e.map(i=>i.toJSONSchema(n));return t.every(i=>!i.description&&!i.anyOf&&!i.enum&&p(i.type))?{type:t.flatMap(i=>Array.isArray(i.type)?i.type.map(a=>a):i.type)}:{anyOf:t}}}}function p(e){return e?e==="string"||e==="number"||e==="boolean"||e==="integer"||e==="null"||Array.isArray(e)&&e.every(p):!1}function D(...e){return{...c,orNull:void 0,enum:void 0,toJSONSchema:()=>({type:e})}}function O(e){return!!e&&typeof e=="object"&&"~ai_type"in e}function h(e){return Object.keys(e).length===0}function V(e){let n={defs:{}};if(O(e)){let a=e.toJSONSchema(n);return h(n.defs)||(a.$defs=n.defs),(0,y.jsonSchema)(a)}let t={},r=[];for(let[a,o]of Object.entries(e))t[a]=o.toJSONSchema(n),r.push(a);let i={type:"object",properties:t,required:r,additionalProperties:!1};return h(n.defs)||(i.$defs=n.defs),(0,y.jsonSchema)(i)}function b(e){return{...c,enum:void 0,toJSONSchema:()=>({$ref:`#/$defs/${e}`})}}function W(e,n){return{...c,enum:void 0,toJSONSchema:t=>{let r=n(b(e)).toJSONSchema(t);return t.defs[e]=r,{$ref:`#/$defs/${e}`}}}}var T={object:v,string:B,array:M,number:C,boolean:I,getSchema:V,merge:u,recursion:W,null:w,ref:b,pick:d,omit:f,union:A,primitiveUnion:D,integer:U};0&&(module.exports={aiSchemas});
{
"name": "@ls-stack/ai",
"version": "0.2.2",
"version": "0.2.3",
"license": "MIT",

@@ -5,0 +5,0 @@ "files": [

Sorry, the diff of this file is not supported yet