UNPKG

@cogniformai/instructor-stream

Version:

Streaming-first structured data extraction from LLMs with real-time updates

2 lines 24.6 kB
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var G=Object.defineProperty;var F=(T,e,n)=>e in T?G(T,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):T[e]=n;var i=(T,e,n)=>F(T,typeof e!="symbol"?e+"":e,n);var _Data = require('effect/Data'); var h = _interopRequireWildcard(_Data);var P=class extends h.TaggedClass("ProviderError"){},O= exports.b =class extends h.TaggedClass("StreamingError"){},m= exports.c =class extends h.TaggedClass("SchemaResolutionError"){},k= exports.d =class extends h.TaggedClass("SnapshotValidationError"){};var V=T=>{if(!T.effect&&!T.zod)throw new m({message:`Schema '${T.name}' must supply at least an Effect schema or a Zod schema.`});return{name:T.name,...T.effect?{effect:T.effect}:{},...T.zod?{zod:T.zod}:{}}};function C(T,e,n){if(e.length===0)return;let r=T;for(let s=0;s<e.length-1;s++){let o=e[s],u=e[s+1];if(o===void 0||u===void 0)return;r[o]==null&&(r[o]=typeof u=="number"?[]:{}),r=r[o]}let t=e[e.length-1];t!==void 0&&(r[t]=n)}var _zod = require('zod');var y=(E=>(E[E.LEFT_BRACE=0]="LEFT_BRACE",E[E.RIGHT_BRACE=1]="RIGHT_BRACE",E[E.LEFT_BRACKET=2]="LEFT_BRACKET",E[E.RIGHT_BRACKET=3]="RIGHT_BRACKET",E[E.COLON=4]="COLON",E[E.COMMA=5]="COMMA",E[E.TRUE=6]="TRUE",E[E.FALSE=7]="FALSE",E[E.NULL=8]="NULL",E[E.STRING=9]="STRING",E[E.NUMBER=10]="NUMBER",E[E.SEPARATOR=11]="SEPARATOR",E))(y||{}),a=y;var w=["VALUE","KEY","COLON","COMMA","ENDED","ERROR","SEPARATOR"];function U(T){return _nullishCoalesce(w[T], () => ("UNKNOWN"))}var L=class extends Error{constructor(n){super(n);i(this,"name","TokenParserError")}},I=class{constructor(e={}){i(this,"paths");i(this,"keepStack");i(this,"separator");i(this,"strictRootObject");i(this,"state",0);i(this,"mode");i(this,"key");i(this,"value");i(this,"stack",[]);i(this,"rootSeen",!1);let{paths:n,keepStack:r=!0,separator:t,strictRootObject:s=!1}=e;n&&(this.paths=n.map(o=>{if(o===void 0||o==="$*")return;if(!o.startsWith("$"))throw new L(`Invalid selector "${o}". Should start with "$".`);let u=o.split(".").slice(1);if(u.includes(""))throw new L(`Invalid selector "${o}". ".." syntax not supported.`);return u})),this.keepStack=r,this.separator=t,this.strictRootObject=s}shouldEmit(){return this.paths?this.paths.some(e=>{if(e===void 0)return!0;if(e.length!==this.stack.length)return!1;for(let r=0;r<e.length-1;r++){let t=e[r],s=this.stack[r+1];if(!s)return!1;let{key:o}=s;if(t!=="*"&&t!==o)return!1}let n=e[e.length-1];return n==="*"?!0:n===_optionalChain([this, 'access', _2 => _2.key, 'optionalAccess', _3 => _3.toString, 'call', _4 => _4()])}):!0}push(){this.stack.push({key:this.key,value:this.value,mode:this.mode,emit:this.shouldEmit()})}pop(){let e=this.value,n=this.stack.pop();if(!n)throw new L("Unexpected parser stack underflow");this.key=n.key,this.value=n.value,this.mode=n.mode;let r=n.emit;this.state=this.mode!==void 0?3:0,this.emit(e,r)}emit(e,n){!this.keepStack&&this.value&&this.stack.every(r=>!r.emit)&&delete this.value[this.key],n&&this.onValue({value:e,key:this.key,parent:this.value,stack:this.stack}),this.stack.length===0&&(this.separator?this.state=6:this.separator===void 0&&this.end(),this.rootSeen=!1)}get isEnded(){return this.state===4}write({token:e,value:n,partial:r}){if(!r){if(!this.rootSeen&&this.strictRootObject&&this.state===0&&this.stack.length===0){if(e!==a.LEFT_BRACE){this.rootSeen=!0,this.error(new L("Root must be an object"));return}this.rootSeen=!0}if(this.state===0){if(e===a.STRING||e===a.NUMBER||e===a.TRUE||e===a.FALSE||e===a.NULL){this.mode===0?(this.value[this.key]=n,this.state=3):this.mode===1&&(this.value.push(n),this.state=3),this.emit(n,this.shouldEmit());return}if(e===a.LEFT_BRACE){if(this.push(),this.mode===0)this.value=this.value[this.key]={};else if(this.mode===1){let t={};this.value.push(t),this.value=t}else this.value={};this.mode=0,this.state=1,this.key=void 0;return}if(e===a.LEFT_BRACKET){if(this.push(),this.mode===0)this.value=this.value[this.key]=[];else if(this.mode===1){let t=[];this.value.push(t),this.value=t}else this.value=[];this.mode=1,this.state=0,this.key=0;return}if(this.mode===1&&e===a.RIGHT_BRACKET&&this.value.length===0){this.pop();return}}if(this.state===1){if(e===a.STRING){this.key=n,this.state=2;return}if(e===a.RIGHT_BRACE&&Object.keys(this.value).length===0){this.pop();return}}if(this.state===2&&e===a.COLON){this.state=0;return}if(this.state===3){if(e===a.COMMA){if(this.mode===1){this.state=0,this.key++;return}if(this.mode===0){this.state=1;return}}if(e===a.RIGHT_BRACE&&this.mode===0||e===a.RIGHT_BRACKET&&this.mode===1){this.pop();return}}if(this.state===6&&e===a.SEPARATOR&&n===this.separator){this.state=0;return}this.error(new L(`Unexpected ${a[e]} (${JSON.stringify(n)}) in state ${U(this.state)}`))}}error(e){this.state!==4&&(this.state=5),this.onError(e)}end(){this.state!==0&&this.state!==6||this.stack.length>0?this.error(new Error(`Parser ended in mid-parsing (state: ${U(this.state)}). Either not all the data was received or the data was invalid.`)):(this.state=4,this.onEnd())}onValue(e){throw new L(`Can't emit data before the "onValue" callback has been set up.`)}onError(e){throw e}onEnd(){}};var R=class{constructor({onIncrementalString:e,interval:n=256}={}){i(this,"decoder",new TextDecoder("utf-8"));i(this,"assembled","");i(this,"onIncrementalString");i(this,"lastEmittedLength",0);i(this,"emitInterval");i(this,"byteLength",0);this.onIncrementalString=_nullishCoalesce(e, () => (null)),this.emitInterval=Math.max(1,n)}appendChar(e){this.assembled+=String.fromCharCode(e),this.byteLength++,this.update()}appendBuf(e,n=0,r=e.length){let t=this.decoder.decode(e.subarray(n,r));this.assembled+=t,this.byteLength+=r-n,this.update()}update(e=!1){if(!this.onIncrementalString)return;let{length:n}=this.assembled;!e&&n-this.lastEmittedLength<this.emitInterval||(this.lastEmittedLength=n,this.onIncrementalString(this.assembled))}reset(){this.assembled="",this.byteLength=0,this.lastEmittedLength=0}toString(){return this.update(!0),this.assembled}},S=class{constructor(e,n){i(this,"decoder",new TextDecoder("utf-8"));i(this,"buffer");i(this,"bufferOffset",0);i(this,"string","");i(this,"onIncrementalString");i(this,"byteLength",0);this.buffer=new Uint8Array(e),this.onIncrementalString=_nullishCoalesce(n, () => (null))}appendChar(e){this.bufferOffset>=this.buffer.length&&this.flushStringBuffer(),this.buffer[this.bufferOffset++]=e,this.byteLength++}appendBuf(e,n=0,r=e.length){let t=r-n;this.bufferOffset+t>this.buffer.length&&this.flushStringBuffer(),this.buffer.set(e.subarray(n,r),this.bufferOffset),this.bufferOffset+=t,this.byteLength+=t}flushStringBuffer(){this.string+=this.decoder.decode(this.buffer.subarray(0,this.bufferOffset),{stream:!0}),this.bufferOffset=0,this.update()}update(){this.onIncrementalString&&this.onIncrementalString(this.string)}reset(){this.string="",this.bufferOffset=0,this.byteLength=0}toString(){return this.string+=this.decoder.decode(this.buffer.subarray(0,this.bufferOffset)),this.bufferOffset=0,this.string}};var b={34:34,92:92,47:47,98:8,102:12,110:10,114:13,116:9};function v(T){return["START","ENDED","ERROR","TRUE1","TRUE2","TRUE3","FALSE1","FALSE2","FALSE3","FALSE4","NULL1","NULL2","NULL3","STRING_DEFAULT","STRING_AFTER_BACKSLASH","STRING_UNICODE_DIGIT_1","STRING_UNICODE_DIGIT_2","STRING_UNICODE_DIGIT_3","STRING_UNICODE_DIGIT_4","STRING_INCOMPLETE_CHAR","NUMBER_AFTER_INITIAL_MINUS","NUMBER_AFTER_INITIAL_ZERO","NUMBER_AFTER_INITIAL_NON_ZERO","NUMBER_AFTER_FULL_STOP","NUMBER_AFTER_DECIMAL","NUMBER_AFTER_E","NUMBER_AFTER_E_AND_SIGN","NUMBER_AFTER_E_AND_DIGIT","SEPARATOR"][T]}var M={stringBufferSize:0,numberBufferSize:0,separator:void 0,handleUnescapedNewLines:!1,stringEmitInterval:256},N=class extends Error{constructor(n){super(n);i(this,"name","TokenizerError")}},c=class{constructor(e){i(this,"state",0);i(this,"handleUnescapedNewLines");i(this,"separator");i(this,"separatorBytes");i(this,"separatorIndex",0);i(this,"bufferedString");i(this,"bufferedNumber");i(this,"unicode");i(this,"highSurrogate");i(this,"bytes_remaining",0);i(this,"bytes_in_sequence",0);i(this,"char_split_buffer",new Uint8Array(4));i(this,"encoder",new TextEncoder);i(this,"offset",-1);e={...M,...e};let n=t=>{this.onToken({token:a.STRING,value:t,partial:!0})},r=_nullishCoalesce(_nullishCoalesce(_optionalChain([e, 'optionalAccess', _5 => _5.stringEmitInterval]), () => (M.stringEmitInterval)), () => (256));this.bufferedString=_optionalChain([e, 'optionalAccess', _6 => _6.stringBufferSize])&&e.stringBufferSize>0?new S(e.stringBufferSize):new R({onIncrementalString:n,interval:r}),this.bufferedNumber=_optionalChain([e, 'optionalAccess', _7 => _7.numberBufferSize])&&e.numberBufferSize>0?new S(e.numberBufferSize,n):new R({interval:r}),this.handleUnescapedNewLines=_nullishCoalesce(_optionalChain([e, 'optionalAccess', _8 => _8.handleUnescapedNewLines]), () => (!1)),this.separator=_optionalChain([e, 'optionalAccess', _9 => _9.separator]),this.separatorBytes=_optionalChain([e, 'optionalAccess', _10 => _10.separator])?this.encoder.encode(e.separator):void 0}get isEnded(){return this.state===1}write(e){let n;if(e instanceof Uint8Array)n=e;else if(typeof e=="string")n=this.encoder.encode(e);else if(typeof e=="object"&&"buffer"in e||Array.isArray(e))n=Uint8Array.from(e);else{this.error(new TypeError("Unexpected type. The `write` function only accepts Arrays, TypedArrays and Strings."));return}for(let r=0;r<n.length;r++){let t=n[r];if(!t)return;switch(this.state){case 0:if(this.offset++,this.separatorBytes&&t===this.separatorBytes[0]){if(this.separatorBytes.length===1){this.state=0,this.onToken({token:a.SEPARATOR,value:this.separator,offset:this.offset+this.separatorBytes.length-1});continue}this.state=28;continue}if(t===32||t===10||t===13||t===9)continue;if(t===123){this.onToken({token:a.LEFT_BRACE,value:"{",offset:this.offset});continue}if(t===125){this.onToken({token:a.RIGHT_BRACE,value:"}",offset:this.offset});continue}if(t===91){this.onToken({token:a.LEFT_BRACKET,value:"[",offset:this.offset});continue}if(t===93){this.onToken({token:a.RIGHT_BRACKET,value:"]",offset:this.offset});continue}if(t===58){this.onToken({token:a.COLON,value:":",offset:this.offset});continue}if(t===44){this.onToken({token:a.COMMA,value:",",offset:this.offset});continue}if(t===116){this.state=3;continue}if(t===102){this.state=6;continue}if(t===110){this.state=10;continue}if(t===34){this.bufferedString.reset(),this.state=13;continue}if(t>=49&&t<=57){this.bufferedNumber.reset(),this.bufferedNumber.appendChar(t),this.state=22;continue}if(t===48){this.bufferedNumber.reset(),this.bufferedNumber.appendChar(t),this.state=21;continue}if(t===45){this.bufferedNumber.reset(),this.bufferedNumber.appendChar(t),this.state=20;continue}break;case 13:if(this.handleUnescapedNewLines&&t===10){this.bufferedString.appendChar(92),this.bufferedString.appendChar(110);continue}if(t===34){let s=this.bufferedString.toString();this.state=0,this.onToken({token:a.STRING,value:s,offset:this.offset}),this.offset+=this.bufferedString.byteLength+1;continue}if(t===92){this.state=14;continue}if(t>=128){if(t>=194&&t<=223?this.bytes_in_sequence=2:t<=239?this.bytes_in_sequence=3:this.bytes_in_sequence=4,this.bytes_in_sequence<=n.length-r){this.bufferedString.appendBuf(n,r,r+this.bytes_in_sequence),r+=this.bytes_in_sequence-1;continue}this.bytes_remaining=r+this.bytes_in_sequence-n.length,this.char_split_buffer.set(n.subarray(r)),r=n.length-1,this.state=19;continue}if(t>=32){this.bufferedString.appendChar(t);continue}break;case 19:this.char_split_buffer.set(n.subarray(r,r+this.bytes_remaining),this.bytes_in_sequence-this.bytes_remaining),this.bufferedString.appendBuf(this.char_split_buffer,0,this.bytes_in_sequence),r=this.bytes_remaining-1,this.state=13;continue;case 14:if(_optionalChain([b, 'optionalAccess', _11 => _11[t]])){this.bufferedString.appendChar(b[t]),this.state=13;continue}if(t===117){this.unicode="",this.state=15;continue}break;case 15:case 16:case 17:if(t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102){this.unicode+=String.fromCharCode(t),this.state+=1;continue}break;case 18:if(t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102){let s=parseInt(this.unicode+String.fromCharCode(t),16);this.highSurrogate===void 0?s>=55296&&s<=56319?this.highSurrogate=s:this.bufferedString.appendBuf(this.encoder.encode(String.fromCharCode(s))):(s>=56320&&s<=57343?this.bufferedString.appendBuf(this.encoder.encode(String.fromCharCode(this.highSurrogate,s))):this.bufferedString.appendBuf(this.encoder.encode(String.fromCharCode(this.highSurrogate))),this.highSurrogate=void 0),this.state=13;continue}break;case 20:if(t===48){this.bufferedNumber.appendChar(t),this.state=21;continue}if(t>=49&&t<=57){this.bufferedNumber.appendChar(t),this.state=22;continue}break;case 21:if(t===46){this.bufferedNumber.appendChar(t),this.state=23;continue}if(t===101||t===69){this.bufferedNumber.appendChar(t),this.state=25;continue}r--,this.state=0,this.emitNumber();continue;case 22:if(t>=48&&t<=57){this.bufferedNumber.appendChar(t);continue}if(t===46){this.bufferedNumber.appendChar(t),this.state=23;continue}if(t===101||t===69){this.bufferedNumber.appendChar(t),this.state=25;continue}r--,this.state=0,this.emitNumber();continue;case 23:if(t>=48&&t<=57){this.bufferedNumber.appendChar(t),this.state=24;continue}break;case 24:if(t>=48&&t<=57){this.bufferedNumber.appendChar(t);continue}if(t===101||t===69){this.bufferedNumber.appendChar(t),this.state=25;continue}r--,this.state=0,this.emitNumber();continue;case 25:if(t===43||t===45){this.bufferedNumber.appendChar(t),this.state=26;continue}case 26:if(t>=48&&t<=57){this.bufferedNumber.appendChar(t),this.state=27;continue}break;case 27:if(t>=48&&t<=57){this.bufferedNumber.appendChar(t);continue}r--,this.state=0,this.emitNumber();continue;case 3:if(t===114){this.state=4;continue}break;case 4:if(t===117){this.state=5;continue}break;case 5:if(t===101){this.state=0,this.onToken({token:a.TRUE,value:!0,offset:this.offset}),this.offset+=3;continue}break;case 6:if(t===97){this.state=7;continue}break;case 7:if(t===108){this.state=8;continue}break;case 8:if(t===115){this.state=9;continue}break;case 9:if(t===101){this.state=0,this.onToken({token:a.FALSE,value:!1,offset:this.offset}),this.offset+=4;continue}break;case 10:if(t===117){this.state=11;continue}break;case 11:if(t===108){this.state=12;continue}break;case 12:if(t===108){this.state=0,this.onToken({token:a.NULL,value:null,offset:this.offset}),this.offset+=3;continue}break;case 28:if(this.separatorIndex++,!this.separatorBytes||t!==this.separatorBytes[this.separatorIndex])break;this.separatorIndex===this.separatorBytes.length-1&&(this.state=0,this.onToken({token:a.SEPARATOR,value:this.separator,offset:this.offset+this.separatorIndex}),this.separatorIndex=0);continue;case 1:if(t===32||t===10||t===13||t===9)continue}this.error(new N(`Unexpected "${String.fromCharCode(t)}" at position "${r}" in state ${v(this.state)}`));return}}emitNumber(){this.onToken({token:a.NUMBER,value:this.parseNumber(this.bufferedNumber.toString()),offset:this.offset}),this.offset+=this.bufferedNumber.byteLength-1}parseNumber(e){return Number(e)}error(e){this.state!==1&&(this.state=2),this.onError(e)}end(){switch(this.state){case 21:case 22:case 24:case 27:this.state=1,this.emitNumber(),this.onEnd();break;case 0:case 2:case 28:this.state=1,this.onEnd();break;default:this.error(new N(`Tokenizer ended in the middle of a token (state: ${v(this.state)}). Either not all the data was received or the data was invalid.`))}}onToken(e){throw new N(`Can't emit tokens before the "onToken" callback has been set up.`)}onError(e){throw e}onEnd(){}};var p=class{constructor(e={}){i(this,"tokenizer");i(this,"tokenParser");this.tokenizer=new c(e),this.tokenParser=new I(e),this.tokenizer.onToken=this.tokenParser.write.bind(this.tokenParser),this.tokenizer.onEnd=()=>{this.tokenParser.isEnded||this.tokenParser.end()},this.tokenParser.onError=n=>{typeof this.tokenizer.onError=="function"&&this.tokenizer.onError(n)},this.tokenParser.onEnd=()=>{this.tokenizer.isEnded||this.tokenizer.end()}}get isEnded(){return this.tokenizer.isEnded&&this.tokenParser.isEnded}write(e){this.tokenizer.write(e)}end(){this.tokenizer.end()}set onToken(e){this.tokenizer.onToken=n=>{let r=[a.STRING,a.NUMBER,a.TRUE,a.FALSE,a.NULL];this.tokenParser.state===0&&r.includes(n.token)&&e({parser:{state:this.tokenParser.state,key:this.tokenParser.key,mode:this.tokenParser.mode,stack:this.tokenParser.stack},tokenizer:n}),this.tokenParser.write(n)}}set onValue(e){this.tokenParser.onValue=e}set onError(e){this.tokenizer.onError=e}set onEnd(e){this.tokenParser.onEnd=()=>{this.tokenizer.isEnded||this.tokenizer.end(),e.call(this.tokenParser)}}};var d=class d{constructor(e,n={}){i(this,"schemaInstance");i(this,"onKeyComplete");i(this,"autoJSONMode");i(this,"maxUnstringifyDepth");i(this,"snapshotMode");i(this,"contexts",new Map);i(this,"activePath",[]);i(this,"completedPaths",[]);let{defaultData:r,onKeyComplete:t,typeDefaults:s,autoJSONMode:o="object-or-array",maxUnstringifyDepth:u=2,snapshotMode:A="object"}=n;this.schemaInstance=this.createBlankObject(e,r,s),this.onKeyComplete=_nullishCoalesce(t, () => (null)),this.autoJSONMode=o,this.maxUnstringifyDepth=u,this.snapshotMode=A,this.ensureContext([],d.defaultParserOpts)}static contextKey(e){return e.length===0?"$root":e.map(n=>n===void 0?"u":typeof n=="number"?`#${n}`:encodeURIComponent(n)).join(".")}ensureContext(e,n){let r=d.contextKey(e),t=this.contexts.get(r);if(t)return t;let s={stringBufferSize:_nullishCoalesce(n.stringBufferSize, () => (d.defaultParserOpts.stringBufferSize)),handleUnescapedNewLines:_nullishCoalesce(n.handleUnescapedNewLines, () => (d.defaultParserOpts.handleUnescapedNewLines)),stringEmitInterval:_nullishCoalesce(n.stringEmitInterval, () => (d.defaultParserOpts.stringEmitInterval)),strictRootObject:!0},o={key:r,prefix:[...e],activePath:[],completedPaths:[],recentCompletions:[],structureDepth:0,inString:!1,escaped:!1,parser:null};return o.parser=new p(s),this.configureParser(o),this.contexts.set(r,o),o}configureParser(e){e.parser&&(e.parser.onToken=n=>this.handleToken(e,n),e.parser.onValue=()=>{},e.parser.onError=()=>{},e.parser.onEnd=()=>{e.activePath=[]})}disposeParser(e){if(!e.parser)return;let n=()=>{};e.parser.onToken=n,e.parser.onValue=n,e.parser.onError=n,e.parser.onEnd=n,e.parser=null}resetContext(e,n){let r={stringBufferSize:_nullishCoalesce(n.stringBufferSize, () => (d.defaultParserOpts.stringBufferSize)),handleUnescapedNewLines:_nullishCoalesce(n.handleUnescapedNewLines, () => (d.defaultParserOpts.handleUnescapedNewLines)),stringEmitInterval:_nullishCoalesce(n.stringEmitInterval, () => (d.defaultParserOpts.stringEmitInterval)),strictRootObject:!0};this.disposeParser(e),e.parser=new p(r),e.recentCompletions=[],e.structureDepth=0,e.inString=!1,e.escaped=!1,this.configureParser(e)}getDefaultValue(e,n){try{let r=e.safeParse(void 0);if(r.success&&r.data!==void 0)return r.data}catch (e2){}if(e instanceof _zod.z.ZodString)return Object.prototype.hasOwnProperty.call(_nullishCoalesce(n, () => ({})),"string")?_optionalChain([n, 'optionalAccess', _12 => _12.string]):null;if(e instanceof _zod.z.ZodNumber)return Object.prototype.hasOwnProperty.call(_nullishCoalesce(n, () => ({})),"number")?_optionalChain([n, 'optionalAccess', _13 => _13.number]):null;if(e instanceof _zod.z.ZodBoolean)return Object.prototype.hasOwnProperty.call(_nullishCoalesce(n, () => ({})),"boolean")?_optionalChain([n, 'optionalAccess', _14 => _14.boolean]):null;if(e instanceof _zod.z.ZodArray)return[];if(e instanceof _zod.z.ZodObject)return this.createBlankObject(e,void 0,n);if(e instanceof _zod.z.ZodRecord)return{};if(e instanceof _zod.z.ZodOptional||e instanceof _zod.z.ZodNullable||"unwrap"in e&&typeof e.unwrap=="function")try{let r=e.unwrap();return this.getDefaultValue(r,n)}catch (e3){return null}return null}createBlankObject(e,n,r){if(e instanceof _zod.z.ZodObject){let s={},{shape:o}=e;for(let u in o)s[u]=n&&Object.prototype.hasOwnProperty.call(n,u)?n[u]:this.getDefaultValue(o[u],r);return s}let t=this.getDefaultValue(e,r);return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}getPathFromStack(e=[],n){let r=e.length,t=r>0?r-1:0,s=new Array(t+1);for(let o=1;o<r;o++){let u=e[o];s[o-1]=_optionalChain([u, 'optionalAccess', _15 => _15.key])}return s[t]=n,s}handleToken(e,{parser:{key:n,stack:r},tokenizer:{value:t,partial:s}}){let o=this.getPathFromStack(r,n),u=e.prefix.length>0?[...e.prefix,...o]:o,A=e.activePath.length===0||!this.arePathsEqual(e.activePath,u);if(A&&(e.activePath=[...u]),!s){let f=[...u];e.completedPaths.push(f),e.recentCompletions.push(f),this.completedPaths.push(f)}(A||!s)&&this.onKeyComplete&&(this.activePath=[...u],this.onKeyComplete({activePath:[...this.activePath],completedPaths:this.completedPaths.map(f=>[...f])}));let _=t;!s&&typeof t=="string"&&this.autoJSONMode!=="off"&&(_=this.unstringifyIfJSON(t)),C(this.schemaInstance,u,_)}arePathsEqual(e,n){if(e.length!==n.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==n[r])return!1;return!0}unstringifyIfJSON(e){let n=this.maxUnstringifyDepth,r=e;for(;n>0&&typeof r=="string";){let t=r.trim();if(t.length<2)break;let s=t.charCodeAt(0),o=t.charCodeAt(t.length-1),u=s===123&&o===125,A=s===91&&o===93,_=u||A;if(!_&&s===34&&o===34){let f=t.slice(1,-1).trim();if(f.length>=2){let g=f.charCodeAt(0),E=f.charCodeAt(f.length-1),D=g===123&&E===125,B=g===91&&E===93;(D||B)&&(_=!0)}}if(!_)break;try{let f=JSON.parse(t);if(Array.isArray(f)||f!==null&&typeof f=="object")return f;if(typeof f=="string"){r=f,n--;continue}return e}catch (e4){return e}}return typeof r=="string"?r:e}getSchemaStub(e,n,r){return this.createBlankObject(e,n,r)}parse(e=d.defaultParserOpts){let n=this.ensureContext([],e),r=this.snapshotMode==="string"?new TextEncoder:null;return new TransformStream({transform:(t,s)=>{try{this.writeChunk(n,t,e),this.snapshotMode==="object"?s.enqueue(this.schemaInstance):r&&s.enqueue(r.encode(JSON.stringify(this.schemaInstance)))}catch(o){typeof _optionalChain([n, 'access', _16 => _16.parser, 'optionalAccess', _17 => _17.onError])=="function"&&n.parser.onError(o),this.resetContext(n,e)}},flush:()=>{this.onKeyComplete&&this.onKeyComplete({completedPaths:this.completedPaths.map(t=>[...t]),activePath:[]}),this.activePath=[]}})}ingest(e,n,r=d.defaultParserOpts){let t=this.ensureContext(e,r);return this.writeChunk(t,n,r)}releaseContext(e){let n=d.contextKey(e),r=this.contexts.get(n);r&&(this.disposeParser(r),r.activePath=[],r.completedPaths=[],r.recentCompletions=[],r.structureDepth=0,r.inString=!1,r.escaped=!1,this.contexts.delete(n))}current(){return this.schemaInstance}getActivePath(){return[...this.activePath]}getCompletedPaths(){return this.completedPaths.map(e=>[...e])}writeChunk(e,n,r){if(!e.parser)return{completions:[],closed:!0};this.updateStructureDepth(e,n);try{e.parser.write(n)}catch(o){typeof e.parser.onError=="function"&&e.parser.onError(o),this.resetContext(e,r)}let t=e.recentCompletions;e.recentCompletions=[];let s=e.structureDepth<=0;return{completions:t.map(o=>[...o]),closed:s}}updateStructureDepth(e,n){let r=d.textDecoder,t=typeof n=="string"?n:r?r.decode(n):Array.from(n).map(A=>String.fromCharCode(A)).join(""),s=0,{inString:o,escaped:u}=e;for(let A=0;A<t.length;A++){let _=t[A];if(o){if(u){u=!1;continue}if(_==="\\"){u=!0;continue}_==='"'&&(o=!1);continue}if(_==='"'){o=!0;continue}if(_==="{"||_==="["){s++;continue}(_==="}"||_==="]")&&s--}e.structureDepth=Math.max(0,e.structureDepth+s),e.inString=o,e.escaped=u}};i(d,"defaultParserOpts",{stringBufferSize:0,handleUnescapedNewLines:!0,stringEmitInterval:256}),i(d,"textDecoder",typeof TextDecoder>"u"?null:new TextDecoder);var x=d;exports.a = P; exports.b = O; exports.c = m; exports.d = k; exports.e = V; exports.f = x; //# sourceMappingURL=chunk-2RKUKCF5.cjs.map