@onlive.ai/flow-client 0.1.80 → 0.1.209
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/client/client.service.cjs +2 -2
- package/client/client.service.d.cts +28 -2
- package/client/client.service.d.ts +28 -2
- package/client/client.service.js +2 -2
- package/client/client.service.spec.cjs +2 -2
- package/client/client.service.spec.js +2 -2
- package/client/client.types.cjs +2 -2
- package/client/client.types.d.cts +4747 -1005
- package/client/client.types.d.ts +4747 -1005
- package/client/client.types.js +2 -2
- package/flow.types.cjs +2 -2
- package/flow.types.d.cts +21 -21
- package/flow.types.d.ts +21 -21
- package/flow.types.js +2 -2
- package/index.cjs +2 -2
- package/index.d.cts +2 -2
- package/index.d.ts +2 -2
- package/index.js +2 -2
- package/package.json +10 -10
- package/schema-generator.cjs +3 -3
- package/schema-generator.js +3 -3
- package/tracking/tracking.service.cjs +2 -2
- package/tracking/tracking.service.d.cts +24 -0
- package/tracking/tracking.service.d.ts +24 -0
- package/tracking/tracking.service.js +2 -2
- package/tracking/tracking.types.cjs +1 -1
- package/tracking/tracking.types.d.cts +648 -20
- package/tracking/tracking.types.d.ts +648 -20
- package/tracking/tracking.types.js +1 -1
package/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/flow-client v0.1.
|
|
2
|
-
"use strict";var b=Object.defineProperty;var $=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var B=Object.prototype.hasOwnProperty;var W=(i,o,e)=>o in i?b(i,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[o]=e;var Y=(i,o)=>{for(var e in o)b(i,e,{get:o[e],enumerable:!0})},K=(i,o,e,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of q(o))!B.call(i,r)&&r!==e&&b(i,r,{get:()=>o[r],enumerable:!(n=$(o,r))||n.enumerable});return i};var H=i=>K(b({},"__esModule",{value:!0}),i);var l=(i,o,e)=>W(i,typeof o!="symbol"?o+"":o,e);var et={};Y(et,{Action:()=>v,ActionEvent:()=>P,ActionScript:()=>L,ClientOptions:()=>I,DEFAULT_CLIENT_OPTIONS:()=>E,ErrorCode:()=>C,ErrorData:()=>z,EventType:()=>ot,Field:()=>R,Flow:()=>V,FlowClient:()=>x,FlowContext:()=>tt,GetStepOptions:()=>u,GetStepTrigger:()=>N,ONLIVE_ANALYTICS_EVENT:()=>O,ONLIVE_FLOW_FORM_NAME:()=>m,PostAction:()=>F,Step:()=>U,StepId:()=>_,TrackingOptionsSchema:()=>d});module.exports=H(et);var G=require("@onlive.ai/common-121/utils/merge.js");var s=require("@onlive.ai/tracker"),k=require("@onlive.ai/common-121/utils/merge.js"),w=require("@onlive.ai/common-121/utils/browser-preferences.js");var a=require("zod"),m="flow_form",O="onlive-analytics-event",d=a.z.object({enabled:a.z.boolean().default(!1).optional(),data:a.z.custom().optional(),removeExtraneousValues:a.z.boolean().default(!0).optional(),allowBotTraffic:a.z.boolean().default(!1).optional(),adapters:a.z.array(a.z.string()).default([]).optional(),apiUrl:a.z.string().url().optional(),emitters:a.z.object({windowEvent:a.z.boolean().optional(),dataLayer:a.z.boolean().optional(),windowPostMessage:a.z.boolean().optional()}).optional()});var T=class{constructor(o,e,n,r){l(this,"options");l(this,"tracker");l(this,"eventListeners",[]);this.options=d.parse(n),this.tracker=new s.Tracker({apiUrl:this.options.apiUrl,removeExtraneousValues:this.options.removeExtraneousValues,allowBotTraffic:this.options.allowBotTraffic,adapters:this.options.adapters,dryRun:r}),this.tracker.setBase((0,k.merge)({},{organization_id:o,page_url:window.location.href,page_referrer:document.referrer,origin_medium:"web",guest_id:s.Session.id,interaction_id:s.Session.interactionId,extra:{flow_id:e}},this.options.data)),window.addEventListener(O,({detail:c})=>this.emit(c.event,c.data))}getTracker(){return this.tracker}preferences(){return{...(0,w.browserPreferences)(),interactionId:s.Session.interactionId,guestId:s.Session.id}}analyzeRequest(o,e){"currentStepId"in o&&(o.actionId&&this.tracker.send("element_click",{element_label:o.actionId,element_type:"button",form_name:Object.keys(e.fields||{}).length?m:void 0,step_name:o.currentStepId}),e.fields&&this.tracker.send("form_submit",{form_name:m,form_data:e.fields,step_name:o.currentStepId}))}analyzeResponse(o,e){this.tracker.setBase({form_name:m,step_name:e.step.id,step_initial:!("currentStepId"in o)||void 0,step_final:e.step.isFinal,...e.step.result?.tracking}),"currentStepId"in o&&(e.step.result?.pipelines&&e.step.result.pipelines.forEach(n=>{this.tracker.send("task_success",{task_name:n.name,task_data:n.data})}),e.step.error&&this.tracker.send("form_error",{form_error:e.step.error.code})),this.tracker.send("impression",{impression_type:"step"})}send(o,e){this.tracker.send(o,e)}setData(o){this.tracker.setBase(o)}onEvent(o){this.eventListeners.push(o)}emit(o,e){this.eventListeners.forEach(n=>n({event:o,data:e}))}},S=T;var h=require("@onlive.ai/calendar"),t=require("zod");var E={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},_=t.z.string().nonempty(),I=t.z.object({baseUrl:t.z.string().url().nonempty(),flowId:t.z.string().length(24).nonempty(),organizationId:t.z.string().uuid().nonempty(),lang:t.z.string().length(2).nonempty(),tracking:d.optional(),devMode:t.z.boolean().default(!1).optional()}),u=t.z.object({state:t.z.record(t.z.string(),t.z.any()).optional(),fields:t.z.record(t.z.string(),t.z.any()).optional()}),N=t.z.object({currentStepId:t.z.string().nonempty(),actionId:t.z.string().nonempty()}),D=t.z.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),J=t.z.object({name:t.z.string(),value:t.z.string().optional(),icon:t.z.string().optional(),type:t.z.enum(["url","email","phone"]).optional()}),Z=t.z.object({lat:t.z.number().min(-90).max(90),lng:t.z.number().min(-180).max(180),meta:t.z.record(t.z.string(),t.z.any()).optional(),properties:t.z.record(t.z.string(),J).optional()}),X=t.z.object({datetime:t.z.string().datetime(),meta:t.z.record(t.z.string(),t.z.any()).optional()}),f=t.z.union([t.z.string(),t.z.number(),t.z.boolean(),Z,X]),g=t.z.object({content:t.z.object({icon:t.z.string().optional(),url:t.z.string().url().optional(),width:t.z.string().optional(),height:t.z.string().optional(),scale:t.z.number().optional()}).optional(),background:t.z.string().optional(),glyph:t.z.object({color:t.z.string().optional(),url:t.z.string().url().optional(),icon:t.z.string().optional()}).optional(),borderColor:t.z.string().optional(),scale:t.z.number().optional()}),y=t.z.custom(i=>/^\d{4}-\d{2}-\d{2}$/.test(i),{message:"Date must be in 'YYYY-MM-DD' format"}),p=t.z.object({text:t.z.string().optional(),icon:t.z.string().optional()}),j=t.z.object({fieldName:t.z.string().nonempty(),value:f.optional(),operator:t.z.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()}),Q=t.z.object({and:t.z.array(j).optional(),or:t.z.array(j).optional()}),A=t.z.array(t.z.union([j,Q])),L=t.z.object({src:t.z.string().url(),preload:t.z.boolean().optional(),name:t.z.string().nonempty(),function:t.z.string().nonempty(),params:t.z.record(t.z.string(),t.z.any()).optional()}),P=t.z.object({name:t.z.enum(["organization_call","close_panel","retry_first_step","retry_next_step"]),params:t.z.record(t.z.string(),t.z.any()).optional()}),v=t.z.object({id:t.z.string().nonempty(),type:t.z.enum(["submit","navigate","link","back","dispatcher","script"]),label:t.z.string().nonempty(),variant:t.z.enum(["primary","secondary","success","danger","warning","info"]),position:t.z.enum(["top","bottom"]).optional(),url:t.z.string().url().optional(),loadingBehavior:t.z.enum(["none","spinner","disabled"]).optional(),prefix:p.optional(),suffix:p.optional(),scripts:L.array().optional(),events:P.array().optional()}),z=t.z.object({message:t.z.string().optional(),icon:t.z.string().optional(),position:t.z.enum(["top","bottom"]).optional(),kind:t.z.enum(["initial-loading","step-loading","step-validation","field-loading"]).optional(),actions:t.z.array(v).optional()}),R=t.z.object({name:t.z.string().nonempty(),label:t.z.string().optional(),value:t.z.union([f,t.z.array(f)]).optional(),type:D,component:t.z.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","grid","button","label","map","calendar"]).optional(),disabled:t.z.boolean().optional(),readonly:t.z.boolean().optional(),multiple:t.z.boolean().optional(),placeholder:t.z.string().optional(),options:t.z.array(t.z.object({id:t.z.string().optional(),label:t.z.string().nonempty(),value:f.optional(),image:t.z.string().url().optional(),description:t.z.string().optional(),disabled:t.z.boolean().optional(),attributes:t.z.record(t.z.string(),t.z.any()).optional(),actions:t.z.array(v).optional(),dependsOn:A.optional()})).optional(),required:t.z.boolean().optional(),configuration:t.z.object({generic:t.z.object({error:t.z.object({loading:z.optional(),validation:t.z.object({icon:t.z.string().optional(),showOn:t.z.enum(["input","blur"]).optional()}).optional()})}).optional(),input:t.z.object({min:t.z.number().optional(),max:t.z.number().optional(),step:t.z.number().optional(),pattern:t.z.string().refine(i=>{try{return new RegExp(i),!0}catch{return!1}},"Invalid regex pattern").optional(),minLength:t.z.number().optional(),maxLength:t.z.number().optional(),exactLength:t.z.number().optional(),prefix:t.z.object({default:p.optional(),success:p.optional(),error:p.optional()}).optional(),suffix:t.z.object({default:p.optional(),success:p.optional(),error:p.optional()}).optional(),clearable:t.z.boolean().optional(),floatingLabel:t.z.boolean().optional()}).optional(),textarea:t.z.object({minLength:t.z.number().optional(),maxLength:t.z.number().optional(),exactLength:t.z.number().optional(),rows:t.z.number().optional()}).optional(),checkbox:t.z.object({layout:t.z.enum(["horizontal","vertical"])}).optional(),rating:t.z.object({icons:t.z.array(t.z.string()).optional(),color:t.z.string().optional(),precision:t.z.number().optional()}).optional(),carousel:t.z.object({loop:t.z.boolean().optional(),mouseDragging:t.z.boolean().optional(),itemsPerPage:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),itemsPerMove:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),showArrows:t.z.boolean().optional(),showDots:t.z.boolean().optional(),autoplay:t.z.boolean().optional(),autoplaySpeed:t.z.number().optional(),clickableItems:t.z.object({actionId:t.z.string()}).optional()}).optional(),grid:t.z.object({search:t.z.object({enabled:t.z.boolean().optional(),value:t.z.string().optional(),button:t.z.object({label:t.z.string().optional()}).optional(),placeholder:t.z.string().optional(),noResultsText:t.z.string().optional(),clearable:t.z.boolean().optional()}).optional(),itemsPerRow:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),itemsPerPage:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),clickableItems:t.z.object({actionId:t.z.string()}).optional()}).optional(),map:t.z.object({apiKey:t.z.string().optional(),region:t.z.string().length(2).optional(),center:t.z.object({lat:t.z.number().min(-90).max(90),lng:t.z.number().min(-180).max(180)}).optional(),showMap:t.z.enum(["always","on-search","never"]).optional(),zoom:t.z.object({initial:t.z.number().optional(),focus:t.z.number().optional(),max:t.z.number().optional(),min:t.z.number().optional()}).optional(),controls:t.z.object({fullscreen:t.z.boolean().optional(),mapType:t.z.boolean().optional(),zoom:t.z.boolean().optional(),rotate:t.z.boolean().optional(),scale:t.z.boolean().optional(),streetView:t.z.boolean().optional()}).optional(),initialLocations:t.z.number().optional(),maxLocations:t.z.number().optional(),distanceUnit:t.z.enum(["km","mi"]).optional(),distanceFormat:t.z.enum(["short","long"]).optional(),options:t.z.object({show:t.z.enum(["always","on-search","never"]).optional(),component:t.z.enum(["list-button","list-radio","carousel"]).optional(),searchLabel:t.z.string().optional(),detailsLabel:t.z.string().optional()}).optional(),search:t.z.object({enabled:t.z.boolean().optional(),value:t.z.string().optional(),button:t.z.object({label:t.z.string().optional(),position:t.z.enum(["inside","outside"]).optional()}).optional(),placeholder:t.z.string().optional(),noResultsText:t.z.string().optional(),autocomplete:t.z.boolean().optional(),clearable:t.z.boolean().optional(),mode:t.z.enum(["address","postcode"]).default("postcode").optional(),locationButton:t.z.object({icon:t.z.string().optional(),position:t.z.enum(["left","right"]).optional()}).optional(),prefix:t.z.object({default:p.optional()}).optional(),suffix:t.z.object({default:p.optional()}).optional()}).optional(),distanceRange:t.z.object({initial:t.z.number().optional(),min:t.z.number().optional(),max:t.z.number().optional(),step:t.z.number().optional()}).optional(),mapRegion:t.z.object({strokeColor:t.z.string().optional(),fillColor:t.z.string().optional(),fillOpacity:t.z.number().optional()}).optional(),locationPin:g.optional(),markerPin:t.z.object({default:g.optional(),hover:g.optional(),selected:g.optional()}).optional(),infoWindow:t.z.object({button:t.z.object({label:t.z.string(),action:t.z.string()}).optional()}).optional(),ordering:t.z.object({orderBy:t.z.enum(["distance","title","id"]).optional(),orderDir:t.z.enum(["asc","desc"]).optional(),preferences:t.z.array(t.z.object({ids:t.z.string().array(),filters:t.z.object({postcodes:t.z.string().array().optional()}).optional()}))}).optional(),clickableItems:t.z.object({actionId:t.z.string()}).optional(),forcePolyfills:t.z.boolean().optional()}).optional(),calendar:t.z.object({current:t.z.object({month:t.z.number().min(0).max(11).optional(),year:t.z.number().optional()}).optional(),range:t.z.object({min:y.optional(),max:y.optional(),enabled:t.z.array(y).optional(),disabled:t.z.array(y).optional()}).optional(),time:t.z.object({label:t.z.string().optional(),format:t.z.enum(["12h","24h"]).optional(),component:t.z.enum(["carousel","list"]).optional()}).optional(),api:t.z.object({url:t.z.string().url().nonempty(),organizationId:t.z.string().nonempty(),availability:t.z.object({filters:h.GetAvailabilityFilters,options:h.GetAvailabilityOptions.optional()}).optional()}).optional()}).optional()}).optional(),dependsOn:A.optional(),dependentBehavior:t.z.enum(["hidden","disabled"]).optional(),customError:t.z.object({required:t.z.string().optional(),invalid:t.z.string().optional(),minLength:t.z.string().optional(),maxLength:t.z.string().optional(),minValue:t.z.string().optional(),maxValue:t.z.string().optional(),mismatch:t.z.string().optional()}).optional()}),C=t.z.enum(["INVALID_DATA","INVALID_ACTION","STEP_NOT_FOUND","UNKNOWN_ERROR","APPOINTMENT_INVALID_DATA","APPOINTMENT_BUSY_SLOT","APPOINTMENT_OUT_OF_DATE","APPOINTMENT_UNKNOWN_ERROR","LEAD_INVALID_DATA","LEAD_UNKNOWN_ERROR","CONTENT_INVALID_DATA","CONTENT_UNKNOWN_ERROR","CONTACT_INVALID_DATA","CONTACT_UNKNOWN_ERROR","LOST_OPPORTUNITY_INVALID_DATA","LOST_OPPORTUNITY_UNKNOWN_ERROR"]),F=t.z.object({type:t.z.enum(["redirect"]),params:t.z.record(t.z.string(),t.z.any()).optional()}),U=t.z.object({id:t.z.string().nonempty(),title:t.z.string().optional(),description:t.z.string().optional(),stageId:t.z.string().optional(),state:t.z.record(t.z.string(),t.z.any()).optional(),fields:t.z.array(R).optional(),actions:t.z.array(v).optional(),result:t.z.object({postActions:t.z.array(F).optional(),pipelines:t.z.array(t.z.object({name:t.z.string(),data:t.z.object({})})).optional(),tracking:t.z.record(t.z.string(),t.z.any()).optional()}).optional(),error:t.z.object({code:C,message:t.z.string().optional(),icon:t.z.string().optional(),position:t.z.enum(["top","bottom"]).optional(),fields:t.z.array(t.z.object({name:t.z.string(),type:D,value:t.z.any(),error:t.z.string()})).optional()}).optional(),isFinal:t.z.boolean().optional()}),V=t.z.object({id:t.z.string().length(24).nonempty(),organizationId:t.z.string().uuid().nonempty(),updatedAt:t.z.string().datetime().nonempty(),stages:t.z.array(t.z.object({id:t.z.string().nonempty(),name:t.z.string().nonempty()}))}),tt=t.z.object({status:t.z.enum(["ok","error"]),step:U,flow:V}),ot=t.z.enum(["track"]);var M=require("@onlive.ai/common-121/utils/browser-preferences.js");var x=class{constructor(o){l(this,"baseURL");l(this,"headers");l(this,"flowId");l(this,"tracking");let e=(0,G.merge)({},E,I.parse(o));this.flowId=e.flowId,this.baseURL=e.baseUrl,this.headers=new Headers({"Content-Type":"application/json","X-Onlive-Organization-Id":e.organizationId,"X-Lang":e.lang}),e.tracking?.enabled&&(this.tracking=new S(e.organizationId,e.flowId,e.tracking,!!e.devMode))}async request(o,e={}){let n=await fetch(`${this.baseURL}/${o}`,{...e,headers:this.headers});if(!n?.ok)throw new Error(`HTTP error! status: ${n?.status||"unknown"}`);return n.json()}async firstStep(o={}){this.tracking?.analyzeRequest({},o);let e=this.tracking?this.tracking?.preferences():(0,M.browserPreferences)(),n=await this.request(`flow/${this.flowId}/first-step`,{method:"POST",body:JSON.stringify(u.parse({...o,state:{preferences:e,...o.state}}))});return this.tracking?.analyzeResponse({},n),n}async getStep(o,e={}){this.tracking?.analyzeRequest({stepId:o},e);let n=this.tracking?.preferences(),r=await this.request(`flow/${this.flowId}/steps/${_.parse(o)}`,{method:"POST",body:JSON.stringify(u.parse({...e,state:{preferences:n,...e.state}}))});return this.tracking?.analyzeResponse({stepId:o},r),r}async nextStep(o,e={}){this.tracking?.analyzeRequest(o,e);let{currentStepId:n,actionId:r}=N.parse(o),c=await this.request(`flow/${this.flowId}/steps/${n}/action/${r}`,{method:"POST",body:JSON.stringify(u.parse(e))});return this.tracking?.analyzeResponse(o,c),c}};0&&(module.exports={Action,ActionEvent,ActionScript,ClientOptions,DEFAULT_CLIENT_OPTIONS,ErrorCode,ErrorData,EventType,Field,Flow,FlowClient,FlowContext,GetStepOptions,GetStepTrigger,ONLIVE_ANALYTICS_EVENT,ONLIVE_FLOW_FORM_NAME,PostAction,Step,StepId,TrackingOptionsSchema});
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.209 | © 2026 Onlive.ai */
|
|
2
|
+
"use strict";var g=Object.defineProperty;var Y=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var W=Object.prototype.hasOwnProperty;var K=(a,o,e)=>o in a?g(a,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[o]=e;var H=(a,o)=>{for(var e in o)g(a,e,{get:o[e],enumerable:!0})},J=(a,o,e,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of B(o))!W.call(a,i)&&i!==e&&g(a,i,{get:()=>o[i],enumerable:!(n=Y(o,i))||n.enumerable});return a};var Z=a=>J(g({},"__esModule",{value:!0}),a);var p=(a,o,e)=>K(a,typeof o!="symbol"?o+"":o,e);var at={};H(at,{Action:()=>v,ActionEvent:()=>z,ActionScript:()=>P,ClientOptions:()=>w,ColorScheme:()=>O,DEFAULT_CLIENT_OPTIONS:()=>I,DEFAULT_MAP_ID:()=>X,ErrorCode:()=>M,ErrorData:()=>F,EventType:()=>it,Field:()=>C,Flow:()=>V,FlowClient:()=>T,FlowContext:()=>nt,GetStepOptions:()=>u,GetStepTrigger:()=>S,ONLIVE_ANALYTICS_EVENT:()=>_,ONLIVE_FLOW_FORM_NAME:()=>m,PostAction:()=>G,Step:()=>U,StepId:()=>j,TrackingOptionsSchema:()=>d});module.exports=Z(at);var q=require("@onlive.ai/common-121/utils/browser-preferences.js"),$=require("@onlive.ai/common-121/utils/merge.js");var A=require("@onlive.ai/common-121/utils/browser-preferences.js"),D=require("@onlive.ai/common-121/utils/merge.js"),c=require("@onlive.ai/tracker");var r=require("zod"),m="flow_form",_="onlive-analytics-event",d=r.z.object({enabled:r.z.boolean().default(!1).optional(),data:r.z.custom().optional(),removeExtraneousValues:r.z.boolean().default(!0).optional(),allowBotTraffic:r.z.boolean().default(!1).optional(),adapters:r.z.array(r.z.string()).default([]).optional(),apiUrl:r.z.string().url().optional(),emitters:r.z.object({windowEvent:r.z.boolean().optional(),dataLayer:r.z.boolean().optional(),windowPostMessage:r.z.boolean().optional()}).optional()});var E=class{constructor(o,e,n,i){p(this,"taskSuccessMappers",{create_i_event_registration:o=>({task_name:"ievent_registration",task_data:this.getRecord(o.fields)})});p(this,"options");p(this,"tracker");p(this,"eventListeners",[]);this.options=d.parse(n),this.tracker=new c.Tracker({apiUrl:this.options.apiUrl||"",removeExtraneousValues:this.options.removeExtraneousValues,allowBotTraffic:this.options.allowBotTraffic,adapters:this.options.adapters,dryRun:i}),this.tracker.setBase((0,D.merge)({},{organization_id:o,page_url:window.location.href,page_referrer:document.referrer,origin_medium:"web",guest_id:c.Session.id,interaction_id:c.Session.interactionId,extra:{flow_id:e}},this.options.data)),window.addEventListener(_,({detail:l})=>l?.event&&l?.data&&this.emit(l.event,l.data))}getTracker(){return this.tracker}preferences(){return{...(0,A.browserPreferences)(),interactionId:c.Session.interactionId,guestId:c.Session.id}}analyzeRequest(o,e){"currentStepId"in o&&(o.actionId&&this.tracker.send("element_click",{element_label:o.actionId,element_type:"button",form_name:Object.keys(e.fields||{}).length?m:void 0}),e.fields&&Object.keys(e.fields).length&&this.tracker.send("form_submit",{form_name:m,form_data:e.fields}))}analyzeResponse(o,e){this.tracker.setBase({form_name:m,step_name:e.step.id,step_number:e.step.number,step_initial:!("currentStepId"in o)||void 0,step_final:e.step.isFinal,...e.step.result?.tracking}),"currentStepId"in o&&(e.step.result?.pipelines&&e.step.result.pipelines.forEach(n=>{let i=this.mapTaskSuccessPipeline({name:n.name,data:this.getRecord(n.data)});this.tracker.send("task_success",{task_name:i.task_name,task_data:i.task_data})}),e.step.error&&this.tracker.send("form_error",{form_error:e.step.error.code})),this.tracker.send("impression",{impression_type:"step"})}send(o,e){this.tracker.send(o,e)}setData(o){this.tracker.setBase(o)}onEvent(o){this.eventListeners.push(o)}emit(o,e){this.eventListeners.forEach(n=>n({event:o,data:e}))}mapTaskSuccessPipeline(o){let e=this.taskSuccessMappers[o.name];return e?e(o.data):{task_name:o.name,task_data:o.data}}getRecord(o){return!o||typeof o!="object"||Array.isArray(o)?{}:o}},N=E;var h=require("@onlive.ai/calendar"),x=require("@onlive.ai/calendar/client/client.types.js"),t=require("zod");var X="bf585082a22fad962b4cbc08",O=(n=>(n.DARK="DARK",n.FOLLOW_SYSTEM="FOLLOW_SYSTEM",n.LIGHT="LIGHT",n))(O||{}),I={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},j=t.z.string().nonempty(),w=t.z.object({baseUrl:t.z.string().url().nonempty(),flowId:t.z.string().length(24).nonempty(),organizationId:t.z.string().uuid().nonempty(),lang:t.z.string().length(2).nonempty(),tracking:d.optional(),devMode:t.z.boolean().default(!1).optional()}),u=t.z.object({state:t.z.record(t.z.string(),t.z.any()).optional(),fields:t.z.record(t.z.string(),t.z.any()).optional()}),S=t.z.object({currentStepId:t.z.string().nonempty(),actionId:t.z.string().nonempty()}),R=t.z.enum(["text","boolean","number","first_name","last_name","name","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),Q=t.z.object({name:t.z.string().optional(),value:t.z.string().optional(),icon:t.z.string().optional(),type:t.z.enum(["url","email","phone"]).optional()}),tt=t.z.object({lat:t.z.number().min(-90).max(90),lng:t.z.number().min(-180).max(180),meta:t.z.record(t.z.string(),t.z.any()).optional(),properties:t.z.record(t.z.string(),Q).optional()}),ot=t.z.object({datetime:t.z.string().datetime(),meta:t.z.record(t.z.string(),t.z.any()).optional()}),f=t.z.union([t.z.string(),t.z.number(),t.z.boolean(),tt,ot]),b=t.z.object({content:t.z.object({icon:t.z.string().optional(),url:t.z.string().url().optional(),width:t.z.string().optional(),height:t.z.string().optional(),scale:t.z.number().optional()}).optional(),background:t.z.string().optional(),glyph:t.z.object({color:t.z.string().optional(),url:t.z.string().url().optional(),icon:t.z.string().optional()}).optional(),borderColor:t.z.string().optional(),scale:t.z.number().optional()}),y=t.z.custom(a=>typeof a=="string"&&/^\d{4}-\d{2}-\d{2}$/.test(a),{message:"Date must be in 'YYYY-MM-DD' format"}),s=t.z.object({text:t.z.string().optional(),icon:t.z.string().optional()}),k=t.z.object({fieldName:t.z.string().nonempty(),value:f.optional(),operator:t.z.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()}),et=t.z.object({and:t.z.array(k).optional(),or:t.z.array(k).optional()}),L=t.z.array(t.z.union([k,et])),P=t.z.object({src:t.z.string().url(),preload:t.z.boolean().optional(),name:t.z.string().nonempty(),function:t.z.string().nonempty(),params:t.z.array(t.z.record(t.z.string(),t.z.any())).optional()}),z=t.z.object({name:t.z.enum(["organization_call","close_panel","retry_first_step","retry_next_step","organization_chat"]),params:t.z.record(t.z.string(),t.z.any()).optional()}),v=t.z.object({id:t.z.string().nonempty(),type:t.z.enum(["submit","navigate","link","back","dispatcher","script"]),label:t.z.string().nonempty(),variant:t.z.enum(["primary","secondary","success","danger","warning","info"]),position:t.z.enum(["top","bottom"]).optional(),url:t.z.string().url().optional(),target:t.z.enum(["_self","_blank","_parent","_top"]).optional(),loadingBehavior:t.z.enum(["none","spinner","disabled"]).optional(),prefix:s.optional(),suffix:s.optional(),scripts:P.array().optional(),events:z.array().optional()}),F=t.z.object({message:t.z.string().optional(),icon:t.z.string().optional(),position:t.z.enum(["top","bottom"]).optional(),kind:t.z.enum(["initial-loading","step-loading","step-validation","field-loading"]).optional(),actions:t.z.array(v).optional()}),C=t.z.object({name:t.z.string().nonempty(),label:t.z.string().optional(),value:t.z.union([f,t.z.array(f)]).optional(),type:R,component:t.z.enum(["input","phone_input","textarea","select","radio","checkbox","switch","rating","carousel","grid","button","label","map","calendar","stripe_payment"]).optional(),disabled:t.z.boolean().optional(),readonly:t.z.boolean().optional(),multiple:t.z.boolean().optional(),placeholder:t.z.string().optional(),options:t.z.array(t.z.object({id:t.z.string().optional(),label:t.z.string().nonempty(),value:f.optional(),image:t.z.string().url().optional(),description:t.z.string().optional(),disabled:t.z.boolean().optional(),attributes:t.z.record(t.z.string(),t.z.any()).optional(),actions:t.z.array(v).optional(),dependsOn:L.optional()})).optional(),required:t.z.boolean().optional(),configuration:t.z.object({generic:t.z.object({error:t.z.object({loading:F.optional(),validation:t.z.object({icon:t.z.string().optional(),showOn:t.z.enum(["input","blur"]).optional()}).optional()})}).optional(),input:t.z.object({min:t.z.number().optional(),max:t.z.number().optional(),step:t.z.number().optional(),pattern:t.z.string().refine(a=>{try{return new RegExp(a),!0}catch{return!1}},"Invalid regex pattern").optional(),minLength:t.z.number().optional(),maxLength:t.z.number().optional(),exactLength:t.z.number().optional(),prefix:t.z.object({default:s.optional(),success:s.optional(),error:s.optional()}).optional(),suffix:t.z.object({default:s.optional(),success:s.optional(),error:s.optional()}).optional(),clearable:t.z.boolean().optional(),floatingLabel:t.z.boolean().optional()}).optional(),phoneInput:t.z.object({includePrefixValue:t.z.boolean().optional(),showFlag:t.z.boolean().optional(),showCode:t.z.boolean().optional(),prefixLabel:t.z.string().optional(),lockedPrefix:t.z.boolean().optional(),countries:t.z.array(t.z.string()).optional(),defaultPrefix:t.z.string().optional(),autoDetectCountry:t.z.boolean().optional()}).optional(),textarea:t.z.object({minLength:t.z.number().optional(),maxLength:t.z.number().optional(),exactLength:t.z.number().optional(),rows:t.z.number().optional()}).optional(),checkbox:t.z.object({layout:t.z.enum(["horizontal","vertical"])}).optional(),rating:t.z.object({icons:t.z.array(t.z.string()).optional(),color:t.z.string().optional(),precision:t.z.number().optional()}).optional(),carousel:t.z.object({loop:t.z.boolean().optional(),mouseDragging:t.z.boolean().optional(),itemsPerPage:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),itemsPerMove:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),showArrows:t.z.boolean().optional(),showDots:t.z.boolean().optional(),autoplay:t.z.boolean().optional(),autoplaySpeed:t.z.number().optional(),clickableItems:t.z.object({actionId:t.z.string()}).optional()}).optional(),grid:t.z.object({search:t.z.object({enabled:t.z.boolean().optional(),value:t.z.string().optional(),button:t.z.object({label:t.z.string().optional()}).optional(),placeholder:t.z.string().optional(),noResultsText:t.z.string().optional(),clearable:t.z.boolean().optional()}).optional(),itemsPerRow:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),itemsPerPage:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),clickableItems:t.z.object({actionId:t.z.string()}).optional()}).optional(),map:t.z.object({apiKey:t.z.string().optional(),mapId:t.z.string().optional(),region:t.z.string().length(2).optional(),colorScheme:t.z.nativeEnum(O).optional(),center:t.z.object({lat:t.z.number().min(-90).max(90),lng:t.z.number().min(-180).max(180)}).optional(),showMap:t.z.enum(["always","on-search","never"]).optional(),zoom:t.z.object({initial:t.z.number().optional(),focus:t.z.number().optional(),max:t.z.number().optional(),min:t.z.number().optional()}).optional(),controls:t.z.object({fullscreen:t.z.boolean().optional(),mapType:t.z.boolean().optional(),zoom:t.z.boolean().optional(),rotate:t.z.boolean().optional(),scale:t.z.boolean().optional(),streetView:t.z.boolean().optional()}).optional(),initialLocations:t.z.number().optional(),maxLocations:t.z.number().optional(),distanceUnit:t.z.enum(["km","mi"]).optional(),distanceFormat:t.z.enum(["short","long"]).optional(),distanceDecimals:t.z.number().optional(),options:t.z.object({show:t.z.enum(["always","on-search","never"]).optional(),component:t.z.enum(["list-button","list-radio","carousel"]).optional(),searchLabel:t.z.string().optional(),detailsLabel:t.z.string().optional()}).optional(),search:t.z.object({enabled:t.z.boolean().optional(),value:t.z.string().optional(),button:t.z.object({label:t.z.string().optional(),position:t.z.enum(["inside","outside"]).optional()}).optional(),placeholder:t.z.string().optional(),noResultsText:t.z.string().optional(),autocomplete:t.z.boolean().optional(),clearable:t.z.boolean().optional(),mode:t.z.enum(["address","postcode"]).default("postcode").optional(),locationButton:t.z.object({icon:t.z.string().optional(),position:t.z.enum(["left","right"]).optional()}).optional(),prefix:t.z.object({default:s.optional()}).optional(),suffix:t.z.object({default:s.optional()}).optional()}).optional(),distanceRange:t.z.object({initial:t.z.number().optional(),min:t.z.number().optional(),max:t.z.number().optional(),step:t.z.number().optional()}).optional(),mapRegion:t.z.object({strokeColor:t.z.string().optional(),fillColor:t.z.string().optional(),fillOpacity:t.z.number().optional()}).optional(),locationPin:b.optional(),markerPin:t.z.object({default:b.optional(),hover:b.optional(),selected:b.optional()}).optional(),infoWindow:t.z.object({button:t.z.object({label:t.z.string(),action:t.z.string()}).optional()}).optional(),ordering:t.z.object({orderBy:t.z.enum(["distance","title","id"]).optional(),orderDir:t.z.enum(["asc","desc"]).optional(),preferences:t.z.array(t.z.object({ids:t.z.string().array(),filters:t.z.object({postcodes:t.z.string().array().optional()}).optional()}))}).optional(),clickableItems:t.z.object({actionId:t.z.string()}).optional(),forcePolyfills:t.z.boolean().optional()}).optional(),calendar:t.z.object({current:t.z.object({month:t.z.number().min(0).max(11).optional(),year:t.z.number().optional()}).optional(),range:t.z.object({min:y.optional(),max:y.optional(),enabled:t.z.array(y).optional(),disabled:t.z.array(y).optional()}).optional(),time:t.z.object({label:t.z.string().optional(),format:t.z.enum(["12h","24h"]).optional(),component:t.z.enum(["carousel","list"]).optional()}).optional(),api:t.z.object({version:t.z.string().optional(),url:t.z.string().url().nonempty(),organizationId:t.z.string().nonempty(),availability:t.z.object({filters:h.GetAvailabilityFilters,options:h.GetAvailabilityOptions.optional()}).optional(),slots:t.z.object({filters:x.GetSlotFilters,options:x.GetSlotOptions.optional()}).optional()}).optional()}).optional(),stripe:t.z.object({publishableKey:t.z.string().nonempty(),mode:t.z.enum(["payment","setup"]).default("payment").optional(),createPaymentIntentEndpoint:t.z.string().url().optional(),createSetupIntentEndpoint:t.z.string().url().optional(),clientSecret:t.z.string().optional(),paymentIntentId:t.z.string().optional(),setupIntentId:t.z.string().optional(),amount:t.z.number().optional(),currency:t.z.string().default("usd").optional(),connectedAccountId:t.z.string().optional(),returnUrl:t.z.string().url().optional(),headers:t.z.record(t.z.string(),t.z.string()).optional(),paymentIntentParams:t.z.record(t.z.string(),t.z.unknown()).optional(),appearance:t.z.object({theme:t.z.enum(["stripe","night","flat"]).optional(),variables:t.z.record(t.z.string(),t.z.string()).optional(),rules:t.z.record(t.z.string(),t.z.record(t.z.string(),t.z.string())).optional()}).optional(),layout:t.z.enum(["tabs","accordion","auto"]).optional(),elementOptions:t.z.record(t.z.string(),t.z.unknown()).optional(),terms:t.z.object({card:t.z.enum(["auto","always","never"]).optional()}).optional(),customTermsText:t.z.string().optional(),openDialogButtonText:t.z.string().optional(),confirmButtonText:t.z.string().optional(),cancelButtonText:t.z.string().optional(),authorizedText:t.z.string().optional(),successMessage:t.z.string().optional(),setupSuccessMessage:t.z.string().optional(),infoText:t.z.string().optional(),amountLabel:t.z.string().optional(),loadingElementText:t.z.string().optional(),showAmount:t.z.boolean().optional(),dialogTitle:t.z.string().optional(),autoOpenDialog:t.z.boolean().optional(),actionId:t.z.string().optional()}).optional()}).optional(),dependsOn:L.optional(),dependentBehavior:t.z.enum(["hidden","disabled"]).optional(),customError:t.z.object({required:t.z.string().optional(),invalid:t.z.string().optional(),minLength:t.z.string().optional(),maxLength:t.z.string().optional(),minValue:t.z.string().optional(),maxValue:t.z.string().optional(),mismatch:t.z.string().optional()}).optional()}),M=t.z.enum(["INVALID_DATA","INVALID_ACTION","STEP_NOT_FOUND","UNKNOWN_ERROR","APPOINTMENT_INVALID_DATA","APPOINTMENT_BUSY_SLOT","APPOINTMENT_OUT_OF_DATE","APPOINTMENT_UNKNOWN_ERROR","LEAD_INVALID_DATA","LEAD_UNKNOWN_ERROR","CONTENT_INVALID_DATA","CONTENT_UNKNOWN_ERROR","CONTACT_INVALID_DATA","CONTACT_UNKNOWN_ERROR","LOST_OPPORTUNITY_INVALID_DATA","LOST_OPPORTUNITY_UNKNOWN_ERROR"]),G=t.z.object({type:t.z.enum(["redirect"]),params:t.z.record(t.z.string(),t.z.any()).optional()}),U=t.z.object({id:t.z.string().nonempty(),number:t.z.number().optional(),title:t.z.string().optional(),description:t.z.string().optional(),stageId:t.z.string().optional(),state:t.z.record(t.z.string(),t.z.any()).optional(),fields:t.z.array(C).optional(),actions:t.z.array(v).optional(),result:t.z.object({postActions:t.z.array(G).optional(),pipelines:t.z.array(t.z.object({name:t.z.string(),data:t.z.object({})})).optional(),tracking:t.z.record(t.z.string(),t.z.any()).optional()}).optional(),error:t.z.object({code:M,message:t.z.string().optional(),icon:t.z.string().optional(),position:t.z.enum(["top","bottom"]).optional(),fields:t.z.array(t.z.object({name:t.z.string(),type:R,value:t.z.any(),error:t.z.string()})).optional()}).optional(),isFinal:t.z.boolean().optional()}),V=t.z.object({id:t.z.string().length(24).nonempty(),organizationId:t.z.string().uuid().nonempty(),updatedAt:t.z.string().datetime().nonempty(),stages:t.z.array(t.z.object({id:t.z.string().nonempty(),name:t.z.string().nonempty()}))}),nt=t.z.object({status:t.z.enum(["ok","error"]),step:U,flow:V}),it=t.z.enum(["track"]);var T=class{constructor(o){p(this,"baseURL");p(this,"headers");p(this,"flowId");p(this,"tracking");p(this,"IMMEDIATE_RETRIES",2);p(this,"RETRY_DELAY_MS",3e3);let e=(0,$.merge)({},I,w.parse(o));this.flowId=e.flowId,this.baseURL=e.baseUrl,this.headers=new Headers({"Content-Type":"application/json","X-Onlive-Organization-Id":e.organizationId,"X-Lang":e.lang}),e.tracking?.enabled&&(this.tracking=new N(e.organizationId,e.flowId,e.tracking,!!e.devMode))}delay(o){return new Promise(e=>setTimeout(e,o))}async request(o,e={}){let n=null;for(let i=0;i<=this.IMMEDIATE_RETRIES;i++)try{return await this.executeRequest(o,e)}catch(l){n=l instanceof Error?l:new Error(String(l))}try{return await this.delay(this.RETRY_DELAY_MS),await this.executeRequest(o,e)}catch(i){throw n??(i instanceof Error?i:new Error(String(i)))}}async executeRequest(o,e){let n=await fetch(`${this.baseURL}/${o}`,{...e,headers:this.headers});if(!n?.ok)throw new Error(`HTTP error! status: ${n?.status||"unknown"}`);return n.json()}async firstStep(o={}){this.tracking?.analyzeRequest({},o);let e=this.tracking?this.tracking?.preferences():(0,q.browserPreferences)(),n=await this.request(`flow/${this.flowId}/first-step`,{method:"POST",body:JSON.stringify(u.parse({...o,state:{preferences:e,...o.state}}))});return this.tracking?.analyzeResponse({},n),n}async getStep(o,e={}){this.tracking?.analyzeRequest({stepId:o},e);let n=this.tracking?.preferences(),i=await this.request(`flow/${this.flowId}/steps/${j.parse(o)}`,{method:"POST",body:JSON.stringify(u.parse({...e,state:{preferences:n,...e.state}}))});return this.tracking?.analyzeResponse({stepId:o},i),i}async nextStep(o,e={}){this.tracking?.analyzeRequest(o,e);let{currentStepId:n,actionId:i}=S.parse(o),l=await this.request(`flow/${this.flowId}/steps/${n}/action/${i}`,{method:"POST",body:JSON.stringify(u.parse(e))});return this.tracking?.analyzeResponse(o,l),l}};0&&(module.exports={Action,ActionEvent,ActionScript,ClientOptions,ColorScheme,DEFAULT_CLIENT_OPTIONS,DEFAULT_MAP_ID,ErrorCode,ErrorData,EventType,Field,Flow,FlowClient,FlowContext,GetStepOptions,GetStepTrigger,ONLIVE_ANALYTICS_EVENT,ONLIVE_FLOW_FORM_NAME,PostAction,Step,StepId,TrackingOptionsSchema});
|
package/index.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { EventData, EventName } from '@onlive.ai/tracker';
|
|
2
|
-
export {
|
|
3
|
-
export { Action, ActionEvent, ActionScript, AffixSlot, Availability, ClientOptions, DEFAULT_CLIENT_OPTIONS, DependencyCondition, DependencyGroup, DependsOn, ErrorCode, ErrorData, EventListener, EventType, Field, FieldValue, Flow, FlowContext, GetStepOptions, GetStepTrigger, Location, LocationProperty, MapPin, PostAction, Step, StepId } from './client/client.types.cjs';
|
|
2
|
+
export { FlowClient } from './client/client.service.cjs';
|
|
3
|
+
export { Action, ActionEvent, ActionScript, AffixSlot, Availability, ClientOptions, ColorScheme, DEFAULT_CLIENT_OPTIONS, DEFAULT_MAP_ID, DependencyCondition, DependencyGroup, DependsOn, ErrorCode, ErrorData, EventListener, EventType, Field, FieldValue, Flow, FlowContext, GetStepOptions, GetStepTrigger, Location, LocationProperty, MapPin, PostAction, Step, StepId } from './client/client.types.cjs';
|
|
4
4
|
export { ONLIVE_ANALYTICS_EVENT, ONLIVE_FLOW_FORM_NAME, TrackingEventData, TrackingOptions, TrackingOptionsSchema } from './tracking/tracking.types.cjs';
|
|
5
5
|
import './tracking/tracking.service.cjs';
|
|
6
6
|
import 'zod';
|
package/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { EventData, EventName } from '@onlive.ai/tracker';
|
|
2
|
-
export {
|
|
3
|
-
export { Action, ActionEvent, ActionScript, AffixSlot, Availability, ClientOptions, DEFAULT_CLIENT_OPTIONS, DependencyCondition, DependencyGroup, DependsOn, ErrorCode, ErrorData, EventListener, EventType, Field, FieldValue, Flow, FlowContext, GetStepOptions, GetStepTrigger, Location, LocationProperty, MapPin, PostAction, Step, StepId } from './client/client.types.js';
|
|
2
|
+
export { FlowClient } from './client/client.service.js';
|
|
3
|
+
export { Action, ActionEvent, ActionScript, AffixSlot, Availability, ClientOptions, ColorScheme, DEFAULT_CLIENT_OPTIONS, DEFAULT_MAP_ID, DependencyCondition, DependencyGroup, DependsOn, ErrorCode, ErrorData, EventListener, EventType, Field, FieldValue, Flow, FlowContext, GetStepOptions, GetStepTrigger, Location, LocationProperty, MapPin, PostAction, Step, StepId } from './client/client.types.js';
|
|
4
4
|
export { ONLIVE_ANALYTICS_EVENT, ONLIVE_FLOW_FORM_NAME, TrackingEventData, TrackingOptions, TrackingOptionsSchema } from './tracking/tracking.types.js';
|
|
5
5
|
import './tracking/tracking.service.js';
|
|
6
6
|
import 'zod';
|
package/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/flow-client v0.1.
|
|
2
|
-
var w=Object.defineProperty;var S=(a,e,o)=>e in a?w(a,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[e]=o;var p=(a,e,o)=>S(a,typeof e!="symbol"?e+"":e,o);import{merge as K}from"@onlive.ai/common-121/utils/merge.js";import{Session as d,Tracker as A}from"@onlive.ai/tracker";import{merge as D}from"@onlive.ai/common-121/utils/merge.js";import{browserPreferences as L}from"@onlive.ai/common-121/utils/browser-preferences.js";import{z as i}from"zod";var c="flow_form",O="onlive-analytics-event",m=i.object({enabled:i.boolean().default(!1).optional(),data:i.custom().optional(),removeExtraneousValues:i.boolean().default(!0).optional(),allowBotTraffic:i.boolean().default(!1).optional(),adapters:i.array(i.string()).default([]).optional(),apiUrl:i.string().url().optional(),emitters:i.object({windowEvent:i.boolean().optional(),dataLayer:i.boolean().optional(),windowPostMessage:i.boolean().optional()}).optional()});var f=class{constructor(e,o,n,l){p(this,"options");p(this,"tracker");p(this,"eventListeners",[]);this.options=m.parse(n),this.tracker=new A({apiUrl:this.options.apiUrl,removeExtraneousValues:this.options.removeExtraneousValues,allowBotTraffic:this.options.allowBotTraffic,adapters:this.options.adapters,dryRun:l}),this.tracker.setBase(D({},{organization_id:e,page_url:window.location.href,page_referrer:document.referrer,origin_medium:"web",guest_id:d.id,interaction_id:d.interactionId,extra:{flow_id:o}},this.options.data)),window.addEventListener(O,({detail:s})=>this.emit(s.event,s.data))}getTracker(){return this.tracker}preferences(){return{...L(),interactionId:d.interactionId,guestId:d.id}}analyzeRequest(e,o){"currentStepId"in e&&(e.actionId&&this.tracker.send("element_click",{element_label:e.actionId,element_type:"button",form_name:Object.keys(o.fields||{}).length?c:void 0,step_name:e.currentStepId}),o.fields&&this.tracker.send("form_submit",{form_name:c,form_data:o.fields,step_name:e.currentStepId}))}analyzeResponse(e,o){this.tracker.setBase({form_name:c,step_name:o.step.id,step_initial:!("currentStepId"in e)||void 0,step_final:o.step.isFinal,...o.step.result?.tracking}),"currentStepId"in e&&(o.step.result?.pipelines&&o.step.result.pipelines.forEach(n=>{this.tracker.send("task_success",{task_name:n.name,task_data:n.data})}),o.step.error&&this.tracker.send("form_error",{form_error:o.step.error.code})),this.tracker.send("impression",{impression_type:"step"})}send(e,o){this.tracker.send(e,o)}setData(e){this.tracker.setBase(e)}onEvent(e){this.eventListeners.push(e)}emit(e,o){this.eventListeners.forEach(n=>n({event:e,data:o}))}},T=f;import{GetAvailabilityFilters as P,GetAvailabilityOptions as z}from"@onlive.ai/calendar";import{z as t}from"zod";var E={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},_=t.string().nonempty(),I=t.object({baseUrl:t.string().url().nonempty(),flowId:t.string().length(24).nonempty(),organizationId:t.string().uuid().nonempty(),lang:t.string().length(2).nonempty(),tracking:m.optional(),devMode:t.boolean().default(!1).optional()}),y=t.object({state:t.record(t.string(),t.any()).optional(),fields:t.record(t.string(),t.any()).optional()}),N=t.object({currentStepId:t.string().nonempty(),actionId:t.string().nonempty()}),k=t.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),R=t.object({name:t.string(),value:t.string().optional(),icon:t.string().optional(),type:t.enum(["url","email","phone"]).optional()}),C=t.object({lat:t.number().min(-90).max(90),lng:t.number().min(-180).max(180),meta:t.record(t.string(),t.any()).optional(),properties:t.record(t.string(),R).optional()}),F=t.object({datetime:t.string().datetime(),meta:t.record(t.string(),t.any()).optional()}),g=t.union([t.string(),t.number(),t.boolean(),C,F]),u=t.object({content:t.object({icon:t.string().optional(),url:t.string().url().optional(),width:t.string().optional(),height:t.string().optional(),scale:t.number().optional()}).optional(),background:t.string().optional(),glyph:t.object({color:t.string().optional(),url:t.string().url().optional(),icon:t.string().optional()}).optional(),borderColor:t.string().optional(),scale:t.number().optional()}),b=t.custom(a=>/^\d{4}-\d{2}-\d{2}$/.test(a),{message:"Date must be in 'YYYY-MM-DD' format"}),r=t.object({text:t.string().optional(),icon:t.string().optional()}),h=t.object({fieldName:t.string().nonempty(),value:g.optional(),operator:t.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()}),U=t.object({and:t.array(h).optional(),or:t.array(h).optional()}),j=t.array(t.union([h,U])),V=t.object({src:t.string().url(),preload:t.boolean().optional(),name:t.string().nonempty(),function:t.string().nonempty(),params:t.record(t.string(),t.any()).optional()}),G=t.object({name:t.enum(["organization_call","close_panel","retry_first_step","retry_next_step"]),params:t.record(t.string(),t.any()).optional()}),v=t.object({id:t.string().nonempty(),type:t.enum(["submit","navigate","link","back","dispatcher","script"]),label:t.string().nonempty(),variant:t.enum(["primary","secondary","success","danger","warning","info"]),position:t.enum(["top","bottom"]).optional(),url:t.string().url().optional(),loadingBehavior:t.enum(["none","spinner","disabled"]).optional(),prefix:r.optional(),suffix:r.optional(),scripts:V.array().optional(),events:G.array().optional()}),M=t.object({message:t.string().optional(),icon:t.string().optional(),position:t.enum(["top","bottom"]).optional(),kind:t.enum(["initial-loading","step-loading","step-validation","field-loading"]).optional(),actions:t.array(v).optional()}),$=t.object({name:t.string().nonempty(),label:t.string().optional(),value:t.union([g,t.array(g)]).optional(),type:k,component:t.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","grid","button","label","map","calendar"]).optional(),disabled:t.boolean().optional(),readonly:t.boolean().optional(),multiple:t.boolean().optional(),placeholder:t.string().optional(),options:t.array(t.object({id:t.string().optional(),label:t.string().nonempty(),value:g.optional(),image:t.string().url().optional(),description:t.string().optional(),disabled:t.boolean().optional(),attributes:t.record(t.string(),t.any()).optional(),actions:t.array(v).optional(),dependsOn:j.optional()})).optional(),required:t.boolean().optional(),configuration:t.object({generic:t.object({error:t.object({loading:M.optional(),validation:t.object({icon:t.string().optional(),showOn:t.enum(["input","blur"]).optional()}).optional()})}).optional(),input:t.object({min:t.number().optional(),max:t.number().optional(),step:t.number().optional(),pattern:t.string().refine(a=>{try{return new RegExp(a),!0}catch{return!1}},"Invalid regex pattern").optional(),minLength:t.number().optional(),maxLength:t.number().optional(),exactLength:t.number().optional(),prefix:t.object({default:r.optional(),success:r.optional(),error:r.optional()}).optional(),suffix:t.object({default:r.optional(),success:r.optional(),error:r.optional()}).optional(),clearable:t.boolean().optional(),floatingLabel:t.boolean().optional()}).optional(),textarea:t.object({minLength:t.number().optional(),maxLength:t.number().optional(),exactLength:t.number().optional(),rows:t.number().optional()}).optional(),checkbox:t.object({layout:t.enum(["horizontal","vertical"])}).optional(),rating:t.object({icons:t.array(t.string()).optional(),color:t.string().optional(),precision:t.number().optional()}).optional(),carousel:t.object({loop:t.boolean().optional(),mouseDragging:t.boolean().optional(),itemsPerPage:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),itemsPerMove:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),showArrows:t.boolean().optional(),showDots:t.boolean().optional(),autoplay:t.boolean().optional(),autoplaySpeed:t.number().optional(),clickableItems:t.object({actionId:t.string()}).optional()}).optional(),grid:t.object({search:t.object({enabled:t.boolean().optional(),value:t.string().optional(),button:t.object({label:t.string().optional()}).optional(),placeholder:t.string().optional(),noResultsText:t.string().optional(),clearable:t.boolean().optional()}).optional(),itemsPerRow:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),itemsPerPage:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),clickableItems:t.object({actionId:t.string()}).optional()}).optional(),map:t.object({apiKey:t.string().optional(),region:t.string().length(2).optional(),center:t.object({lat:t.number().min(-90).max(90),lng:t.number().min(-180).max(180)}).optional(),showMap:t.enum(["always","on-search","never"]).optional(),zoom:t.object({initial:t.number().optional(),focus:t.number().optional(),max:t.number().optional(),min:t.number().optional()}).optional(),controls:t.object({fullscreen:t.boolean().optional(),mapType:t.boolean().optional(),zoom:t.boolean().optional(),rotate:t.boolean().optional(),scale:t.boolean().optional(),streetView:t.boolean().optional()}).optional(),initialLocations:t.number().optional(),maxLocations:t.number().optional(),distanceUnit:t.enum(["km","mi"]).optional(),distanceFormat:t.enum(["short","long"]).optional(),options:t.object({show:t.enum(["always","on-search","never"]).optional(),component:t.enum(["list-button","list-radio","carousel"]).optional(),searchLabel:t.string().optional(),detailsLabel:t.string().optional()}).optional(),search:t.object({enabled:t.boolean().optional(),value:t.string().optional(),button:t.object({label:t.string().optional(),position:t.enum(["inside","outside"]).optional()}).optional(),placeholder:t.string().optional(),noResultsText:t.string().optional(),autocomplete:t.boolean().optional(),clearable:t.boolean().optional(),mode:t.enum(["address","postcode"]).default("postcode").optional(),locationButton:t.object({icon:t.string().optional(),position:t.enum(["left","right"]).optional()}).optional(),prefix:t.object({default:r.optional()}).optional(),suffix:t.object({default:r.optional()}).optional()}).optional(),distanceRange:t.object({initial:t.number().optional(),min:t.number().optional(),max:t.number().optional(),step:t.number().optional()}).optional(),mapRegion:t.object({strokeColor:t.string().optional(),fillColor:t.string().optional(),fillOpacity:t.number().optional()}).optional(),locationPin:u.optional(),markerPin:t.object({default:u.optional(),hover:u.optional(),selected:u.optional()}).optional(),infoWindow:t.object({button:t.object({label:t.string(),action:t.string()}).optional()}).optional(),ordering:t.object({orderBy:t.enum(["distance","title","id"]).optional(),orderDir:t.enum(["asc","desc"]).optional(),preferences:t.array(t.object({ids:t.string().array(),filters:t.object({postcodes:t.string().array().optional()}).optional()}))}).optional(),clickableItems:t.object({actionId:t.string()}).optional(),forcePolyfills:t.boolean().optional()}).optional(),calendar:t.object({current:t.object({month:t.number().min(0).max(11).optional(),year:t.number().optional()}).optional(),range:t.object({min:b.optional(),max:b.optional(),enabled:t.array(b).optional(),disabled:t.array(b).optional()}).optional(),time:t.object({label:t.string().optional(),format:t.enum(["12h","24h"]).optional(),component:t.enum(["carousel","list"]).optional()}).optional(),api:t.object({url:t.string().url().nonempty(),organizationId:t.string().nonempty(),availability:t.object({filters:P,options:z.optional()}).optional()}).optional()}).optional()}).optional(),dependsOn:j.optional(),dependentBehavior:t.enum(["hidden","disabled"]).optional(),customError:t.object({required:t.string().optional(),invalid:t.string().optional(),minLength:t.string().optional(),maxLength:t.string().optional(),minValue:t.string().optional(),maxValue:t.string().optional(),mismatch:t.string().optional()}).optional()}),q=t.enum(["INVALID_DATA","INVALID_ACTION","STEP_NOT_FOUND","UNKNOWN_ERROR","APPOINTMENT_INVALID_DATA","APPOINTMENT_BUSY_SLOT","APPOINTMENT_OUT_OF_DATE","APPOINTMENT_UNKNOWN_ERROR","LEAD_INVALID_DATA","LEAD_UNKNOWN_ERROR","CONTENT_INVALID_DATA","CONTENT_UNKNOWN_ERROR","CONTACT_INVALID_DATA","CONTACT_UNKNOWN_ERROR","LOST_OPPORTUNITY_INVALID_DATA","LOST_OPPORTUNITY_UNKNOWN_ERROR"]),B=t.object({type:t.enum(["redirect"]),params:t.record(t.string(),t.any()).optional()}),W=t.object({id:t.string().nonempty(),title:t.string().optional(),description:t.string().optional(),stageId:t.string().optional(),state:t.record(t.string(),t.any()).optional(),fields:t.array($).optional(),actions:t.array(v).optional(),result:t.object({postActions:t.array(B).optional(),pipelines:t.array(t.object({name:t.string(),data:t.object({})})).optional(),tracking:t.record(t.string(),t.any()).optional()}).optional(),error:t.object({code:q,message:t.string().optional(),icon:t.string().optional(),position:t.enum(["top","bottom"]).optional(),fields:t.array(t.object({name:t.string(),type:k,value:t.any(),error:t.string()})).optional()}).optional(),isFinal:t.boolean().optional()}),Y=t.object({id:t.string().length(24).nonempty(),organizationId:t.string().uuid().nonempty(),updatedAt:t.string().datetime().nonempty(),stages:t.array(t.object({id:t.string().nonempty(),name:t.string().nonempty()}))}),dt=t.object({status:t.enum(["ok","error"]),step:W,flow:Y}),ut=t.enum(["track"]);import{browserPreferences as H}from"@onlive.ai/common-121/utils/browser-preferences.js";var x=class{constructor(e){p(this,"baseURL");p(this,"headers");p(this,"flowId");p(this,"tracking");let o=K({},E,I.parse(e));this.flowId=o.flowId,this.baseURL=o.baseUrl,this.headers=new Headers({"Content-Type":"application/json","X-Onlive-Organization-Id":o.organizationId,"X-Lang":o.lang}),o.tracking?.enabled&&(this.tracking=new T(o.organizationId,o.flowId,o.tracking,!!o.devMode))}async request(e,o={}){let n=await fetch(`${this.baseURL}/${e}`,{...o,headers:this.headers});if(!n?.ok)throw new Error(`HTTP error! status: ${n?.status||"unknown"}`);return n.json()}async firstStep(e={}){this.tracking?.analyzeRequest({},e);let o=this.tracking?this.tracking?.preferences():H(),n=await this.request(`flow/${this.flowId}/first-step`,{method:"POST",body:JSON.stringify(y.parse({...e,state:{preferences:o,...e.state}}))});return this.tracking?.analyzeResponse({},n),n}async getStep(e,o={}){this.tracking?.analyzeRequest({stepId:e},o);let n=this.tracking?.preferences(),l=await this.request(`flow/${this.flowId}/steps/${_.parse(e)}`,{method:"POST",body:JSON.stringify(y.parse({...o,state:{preferences:n,...o.state}}))});return this.tracking?.analyzeResponse({stepId:e},l),l}async nextStep(e,o={}){this.tracking?.analyzeRequest(e,o);let{currentStepId:n,actionId:l}=N.parse(e),s=await this.request(`flow/${this.flowId}/steps/${n}/action/${l}`,{method:"POST",body:JSON.stringify(y.parse(o))});return this.tracking?.analyzeResponse(e,s),s}};export{v as Action,G as ActionEvent,V as ActionScript,I as ClientOptions,E as DEFAULT_CLIENT_OPTIONS,q as ErrorCode,M as ErrorData,ut as EventType,$ as Field,Y as Flow,x as FlowClient,dt as FlowContext,y as GetStepOptions,N as GetStepTrigger,O as ONLIVE_ANALYTICS_EVENT,c as ONLIVE_FLOW_FORM_NAME,B as PostAction,W as Step,_ as StepId,m as TrackingOptionsSchema};
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.209 | © 2026 Onlive.ai */
|
|
2
|
+
var A=Object.defineProperty;var D=(a,o,e)=>o in a?A(a,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[o]=e;var r=(a,o,e)=>D(a,typeof o!="symbol"?o+"":o,e);import{browserPreferences as Z}from"@onlive.ai/common-121/utils/browser-preferences.js";import{merge as X}from"@onlive.ai/common-121/utils/merge.js";import{browserPreferences as N}from"@onlive.ai/common-121/utils/browser-preferences.js";import{merge as L}from"@onlive.ai/common-121/utils/merge.js";import{Session as d,Tracker as R}from"@onlive.ai/tracker";import{z as p}from"zod";var c="flow_form",T="onlive-analytics-event",m=p.object({enabled:p.boolean().default(!1).optional(),data:p.custom().optional(),removeExtraneousValues:p.boolean().default(!0).optional(),allowBotTraffic:p.boolean().default(!1).optional(),adapters:p.array(p.string()).default([]).optional(),apiUrl:p.string().url().optional(),emitters:p.object({windowEvent:p.boolean().optional(),dataLayer:p.boolean().optional(),windowPostMessage:p.boolean().optional()}).optional()});var f=class{constructor(o,e,n,i){r(this,"taskSuccessMappers",{create_i_event_registration:o=>({task_name:"ievent_registration",task_data:this.getRecord(o.fields)})});r(this,"options");r(this,"tracker");r(this,"eventListeners",[]);this.options=m.parse(n),this.tracker=new R({apiUrl:this.options.apiUrl||"",removeExtraneousValues:this.options.removeExtraneousValues,allowBotTraffic:this.options.allowBotTraffic,adapters:this.options.adapters,dryRun:i}),this.tracker.setBase(L({},{organization_id:o,page_url:window.location.href,page_referrer:document.referrer,origin_medium:"web",guest_id:d.id,interaction_id:d.interactionId,extra:{flow_id:e}},this.options.data)),window.addEventListener(T,({detail:l})=>l?.event&&l?.data&&this.emit(l.event,l.data))}getTracker(){return this.tracker}preferences(){return{...N(),interactionId:d.interactionId,guestId:d.id}}analyzeRequest(o,e){"currentStepId"in o&&(o.actionId&&this.tracker.send("element_click",{element_label:o.actionId,element_type:"button",form_name:Object.keys(e.fields||{}).length?c:void 0}),e.fields&&Object.keys(e.fields).length&&this.tracker.send("form_submit",{form_name:c,form_data:e.fields}))}analyzeResponse(o,e){this.tracker.setBase({form_name:c,step_name:e.step.id,step_number:e.step.number,step_initial:!("currentStepId"in o)||void 0,step_final:e.step.isFinal,...e.step.result?.tracking}),"currentStepId"in o&&(e.step.result?.pipelines&&e.step.result.pipelines.forEach(n=>{let i=this.mapTaskSuccessPipeline({name:n.name,data:this.getRecord(n.data)});this.tracker.send("task_success",{task_name:i.task_name,task_data:i.task_data})}),e.step.error&&this.tracker.send("form_error",{form_error:e.step.error.code})),this.tracker.send("impression",{impression_type:"step"})}send(o,e){this.tracker.send(o,e)}setData(o){this.tracker.setBase(o)}onEvent(o){this.eventListeners.push(o)}emit(o,e){this.eventListeners.forEach(n=>n({event:o,data:e}))}mapTaskSuccessPipeline(o){let e=this.taskSuccessMappers[o.name];return e?e(o.data):{task_name:o.name,task_data:o.data}}getRecord(o){return!o||typeof o!="object"||Array.isArray(o)?{}:o}},_=f;import{GetAvailabilityFilters as P,GetAvailabilityOptions as z}from"@onlive.ai/calendar";import{GetSlotFilters as F,GetSlotOptions as C}from"@onlive.ai/calendar/client/client.types.js";import{z as t}from"zod";var dt="bf585082a22fad962b4cbc08",k=(n=>(n.DARK="DARK",n.FOLLOW_SYSTEM="FOLLOW_SYSTEM",n.LIGHT="LIGHT",n))(k||{}),O={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},I=t.string().nonempty(),j=t.object({baseUrl:t.string().url().nonempty(),flowId:t.string().length(24).nonempty(),organizationId:t.string().uuid().nonempty(),lang:t.string().length(2).nonempty(),tracking:m.optional(),devMode:t.boolean().default(!1).optional()}),y=t.object({state:t.record(t.string(),t.any()).optional(),fields:t.record(t.string(),t.any()).optional()}),w=t.object({currentStepId:t.string().nonempty(),actionId:t.string().nonempty()}),S=t.enum(["text","boolean","number","first_name","last_name","name","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),M=t.object({name:t.string().optional(),value:t.string().optional(),icon:t.string().optional(),type:t.enum(["url","email","phone"]).optional()}),G=t.object({lat:t.number().min(-90).max(90),lng:t.number().min(-180).max(180),meta:t.record(t.string(),t.any()).optional(),properties:t.record(t.string(),M).optional()}),U=t.object({datetime:t.string().datetime(),meta:t.record(t.string(),t.any()).optional()}),b=t.union([t.string(),t.number(),t.boolean(),G,U]),u=t.object({content:t.object({icon:t.string().optional(),url:t.string().url().optional(),width:t.string().optional(),height:t.string().optional(),scale:t.number().optional()}).optional(),background:t.string().optional(),glyph:t.object({color:t.string().optional(),url:t.string().url().optional(),icon:t.string().optional()}).optional(),borderColor:t.string().optional(),scale:t.number().optional()}),g=t.custom(a=>typeof a=="string"&&/^\d{4}-\d{2}-\d{2}$/.test(a),{message:"Date must be in 'YYYY-MM-DD' format"}),s=t.object({text:t.string().optional(),icon:t.string().optional()}),h=t.object({fieldName:t.string().nonempty(),value:b.optional(),operator:t.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()}),V=t.object({and:t.array(h).optional(),or:t.array(h).optional()}),E=t.array(t.union([h,V])),q=t.object({src:t.string().url(),preload:t.boolean().optional(),name:t.string().nonempty(),function:t.string().nonempty(),params:t.array(t.record(t.string(),t.any())).optional()}),$=t.object({name:t.enum(["organization_call","close_panel","retry_first_step","retry_next_step","organization_chat"]),params:t.record(t.string(),t.any()).optional()}),x=t.object({id:t.string().nonempty(),type:t.enum(["submit","navigate","link","back","dispatcher","script"]),label:t.string().nonempty(),variant:t.enum(["primary","secondary","success","danger","warning","info"]),position:t.enum(["top","bottom"]).optional(),url:t.string().url().optional(),target:t.enum(["_self","_blank","_parent","_top"]).optional(),loadingBehavior:t.enum(["none","spinner","disabled"]).optional(),prefix:s.optional(),suffix:s.optional(),scripts:q.array().optional(),events:$.array().optional()}),Y=t.object({message:t.string().optional(),icon:t.string().optional(),position:t.enum(["top","bottom"]).optional(),kind:t.enum(["initial-loading","step-loading","step-validation","field-loading"]).optional(),actions:t.array(x).optional()}),B=t.object({name:t.string().nonempty(),label:t.string().optional(),value:t.union([b,t.array(b)]).optional(),type:S,component:t.enum(["input","phone_input","textarea","select","radio","checkbox","switch","rating","carousel","grid","button","label","map","calendar","stripe_payment"]).optional(),disabled:t.boolean().optional(),readonly:t.boolean().optional(),multiple:t.boolean().optional(),placeholder:t.string().optional(),options:t.array(t.object({id:t.string().optional(),label:t.string().nonempty(),value:b.optional(),image:t.string().url().optional(),description:t.string().optional(),disabled:t.boolean().optional(),attributes:t.record(t.string(),t.any()).optional(),actions:t.array(x).optional(),dependsOn:E.optional()})).optional(),required:t.boolean().optional(),configuration:t.object({generic:t.object({error:t.object({loading:Y.optional(),validation:t.object({icon:t.string().optional(),showOn:t.enum(["input","blur"]).optional()}).optional()})}).optional(),input:t.object({min:t.number().optional(),max:t.number().optional(),step:t.number().optional(),pattern:t.string().refine(a=>{try{return new RegExp(a),!0}catch{return!1}},"Invalid regex pattern").optional(),minLength:t.number().optional(),maxLength:t.number().optional(),exactLength:t.number().optional(),prefix:t.object({default:s.optional(),success:s.optional(),error:s.optional()}).optional(),suffix:t.object({default:s.optional(),success:s.optional(),error:s.optional()}).optional(),clearable:t.boolean().optional(),floatingLabel:t.boolean().optional()}).optional(),phoneInput:t.object({includePrefixValue:t.boolean().optional(),showFlag:t.boolean().optional(),showCode:t.boolean().optional(),prefixLabel:t.string().optional(),lockedPrefix:t.boolean().optional(),countries:t.array(t.string()).optional(),defaultPrefix:t.string().optional(),autoDetectCountry:t.boolean().optional()}).optional(),textarea:t.object({minLength:t.number().optional(),maxLength:t.number().optional(),exactLength:t.number().optional(),rows:t.number().optional()}).optional(),checkbox:t.object({layout:t.enum(["horizontal","vertical"])}).optional(),rating:t.object({icons:t.array(t.string()).optional(),color:t.string().optional(),precision:t.number().optional()}).optional(),carousel:t.object({loop:t.boolean().optional(),mouseDragging:t.boolean().optional(),itemsPerPage:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),itemsPerMove:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),showArrows:t.boolean().optional(),showDots:t.boolean().optional(),autoplay:t.boolean().optional(),autoplaySpeed:t.number().optional(),clickableItems:t.object({actionId:t.string()}).optional()}).optional(),grid:t.object({search:t.object({enabled:t.boolean().optional(),value:t.string().optional(),button:t.object({label:t.string().optional()}).optional(),placeholder:t.string().optional(),noResultsText:t.string().optional(),clearable:t.boolean().optional()}).optional(),itemsPerRow:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),itemsPerPage:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),clickableItems:t.object({actionId:t.string()}).optional()}).optional(),map:t.object({apiKey:t.string().optional(),mapId:t.string().optional(),region:t.string().length(2).optional(),colorScheme:t.nativeEnum(k).optional(),center:t.object({lat:t.number().min(-90).max(90),lng:t.number().min(-180).max(180)}).optional(),showMap:t.enum(["always","on-search","never"]).optional(),zoom:t.object({initial:t.number().optional(),focus:t.number().optional(),max:t.number().optional(),min:t.number().optional()}).optional(),controls:t.object({fullscreen:t.boolean().optional(),mapType:t.boolean().optional(),zoom:t.boolean().optional(),rotate:t.boolean().optional(),scale:t.boolean().optional(),streetView:t.boolean().optional()}).optional(),initialLocations:t.number().optional(),maxLocations:t.number().optional(),distanceUnit:t.enum(["km","mi"]).optional(),distanceFormat:t.enum(["short","long"]).optional(),distanceDecimals:t.number().optional(),options:t.object({show:t.enum(["always","on-search","never"]).optional(),component:t.enum(["list-button","list-radio","carousel"]).optional(),searchLabel:t.string().optional(),detailsLabel:t.string().optional()}).optional(),search:t.object({enabled:t.boolean().optional(),value:t.string().optional(),button:t.object({label:t.string().optional(),position:t.enum(["inside","outside"]).optional()}).optional(),placeholder:t.string().optional(),noResultsText:t.string().optional(),autocomplete:t.boolean().optional(),clearable:t.boolean().optional(),mode:t.enum(["address","postcode"]).default("postcode").optional(),locationButton:t.object({icon:t.string().optional(),position:t.enum(["left","right"]).optional()}).optional(),prefix:t.object({default:s.optional()}).optional(),suffix:t.object({default:s.optional()}).optional()}).optional(),distanceRange:t.object({initial:t.number().optional(),min:t.number().optional(),max:t.number().optional(),step:t.number().optional()}).optional(),mapRegion:t.object({strokeColor:t.string().optional(),fillColor:t.string().optional(),fillOpacity:t.number().optional()}).optional(),locationPin:u.optional(),markerPin:t.object({default:u.optional(),hover:u.optional(),selected:u.optional()}).optional(),infoWindow:t.object({button:t.object({label:t.string(),action:t.string()}).optional()}).optional(),ordering:t.object({orderBy:t.enum(["distance","title","id"]).optional(),orderDir:t.enum(["asc","desc"]).optional(),preferences:t.array(t.object({ids:t.string().array(),filters:t.object({postcodes:t.string().array().optional()}).optional()}))}).optional(),clickableItems:t.object({actionId:t.string()}).optional(),forcePolyfills:t.boolean().optional()}).optional(),calendar:t.object({current:t.object({month:t.number().min(0).max(11).optional(),year:t.number().optional()}).optional(),range:t.object({min:g.optional(),max:g.optional(),enabled:t.array(g).optional(),disabled:t.array(g).optional()}).optional(),time:t.object({label:t.string().optional(),format:t.enum(["12h","24h"]).optional(),component:t.enum(["carousel","list"]).optional()}).optional(),api:t.object({version:t.string().optional(),url:t.string().url().nonempty(),organizationId:t.string().nonempty(),availability:t.object({filters:P,options:z.optional()}).optional(),slots:t.object({filters:F,options:C.optional()}).optional()}).optional()}).optional(),stripe:t.object({publishableKey:t.string().nonempty(),mode:t.enum(["payment","setup"]).default("payment").optional(),createPaymentIntentEndpoint:t.string().url().optional(),createSetupIntentEndpoint:t.string().url().optional(),clientSecret:t.string().optional(),paymentIntentId:t.string().optional(),setupIntentId:t.string().optional(),amount:t.number().optional(),currency:t.string().default("usd").optional(),connectedAccountId:t.string().optional(),returnUrl:t.string().url().optional(),headers:t.record(t.string(),t.string()).optional(),paymentIntentParams:t.record(t.string(),t.unknown()).optional(),appearance:t.object({theme:t.enum(["stripe","night","flat"]).optional(),variables:t.record(t.string(),t.string()).optional(),rules:t.record(t.string(),t.record(t.string(),t.string())).optional()}).optional(),layout:t.enum(["tabs","accordion","auto"]).optional(),elementOptions:t.record(t.string(),t.unknown()).optional(),terms:t.object({card:t.enum(["auto","always","never"]).optional()}).optional(),customTermsText:t.string().optional(),openDialogButtonText:t.string().optional(),confirmButtonText:t.string().optional(),cancelButtonText:t.string().optional(),authorizedText:t.string().optional(),successMessage:t.string().optional(),setupSuccessMessage:t.string().optional(),infoText:t.string().optional(),amountLabel:t.string().optional(),loadingElementText:t.string().optional(),showAmount:t.boolean().optional(),dialogTitle:t.string().optional(),autoOpenDialog:t.boolean().optional(),actionId:t.string().optional()}).optional()}).optional(),dependsOn:E.optional(),dependentBehavior:t.enum(["hidden","disabled"]).optional(),customError:t.object({required:t.string().optional(),invalid:t.string().optional(),minLength:t.string().optional(),maxLength:t.string().optional(),minValue:t.string().optional(),maxValue:t.string().optional(),mismatch:t.string().optional()}).optional()}),W=t.enum(["INVALID_DATA","INVALID_ACTION","STEP_NOT_FOUND","UNKNOWN_ERROR","APPOINTMENT_INVALID_DATA","APPOINTMENT_BUSY_SLOT","APPOINTMENT_OUT_OF_DATE","APPOINTMENT_UNKNOWN_ERROR","LEAD_INVALID_DATA","LEAD_UNKNOWN_ERROR","CONTENT_INVALID_DATA","CONTENT_UNKNOWN_ERROR","CONTACT_INVALID_DATA","CONTACT_UNKNOWN_ERROR","LOST_OPPORTUNITY_INVALID_DATA","LOST_OPPORTUNITY_UNKNOWN_ERROR"]),K=t.object({type:t.enum(["redirect"]),params:t.record(t.string(),t.any()).optional()}),H=t.object({id:t.string().nonempty(),number:t.number().optional(),title:t.string().optional(),description:t.string().optional(),stageId:t.string().optional(),state:t.record(t.string(),t.any()).optional(),fields:t.array(B).optional(),actions:t.array(x).optional(),result:t.object({postActions:t.array(K).optional(),pipelines:t.array(t.object({name:t.string(),data:t.object({})})).optional(),tracking:t.record(t.string(),t.any()).optional()}).optional(),error:t.object({code:W,message:t.string().optional(),icon:t.string().optional(),position:t.enum(["top","bottom"]).optional(),fields:t.array(t.object({name:t.string(),type:S,value:t.any(),error:t.string()})).optional()}).optional(),isFinal:t.boolean().optional()}),J=t.object({id:t.string().length(24).nonempty(),organizationId:t.string().uuid().nonempty(),updatedAt:t.string().datetime().nonempty(),stages:t.array(t.object({id:t.string().nonempty(),name:t.string().nonempty()}))}),ut=t.object({status:t.enum(["ok","error"]),step:H,flow:J}),gt=t.enum(["track"]);var v=class{constructor(o){r(this,"baseURL");r(this,"headers");r(this,"flowId");r(this,"tracking");r(this,"IMMEDIATE_RETRIES",2);r(this,"RETRY_DELAY_MS",3e3);let e=X({},O,j.parse(o));this.flowId=e.flowId,this.baseURL=e.baseUrl,this.headers=new Headers({"Content-Type":"application/json","X-Onlive-Organization-Id":e.organizationId,"X-Lang":e.lang}),e.tracking?.enabled&&(this.tracking=new _(e.organizationId,e.flowId,e.tracking,!!e.devMode))}delay(o){return new Promise(e=>setTimeout(e,o))}async request(o,e={}){let n=null;for(let i=0;i<=this.IMMEDIATE_RETRIES;i++)try{return await this.executeRequest(o,e)}catch(l){n=l instanceof Error?l:new Error(String(l))}try{return await this.delay(this.RETRY_DELAY_MS),await this.executeRequest(o,e)}catch(i){throw n??(i instanceof Error?i:new Error(String(i)))}}async executeRequest(o,e){let n=await fetch(`${this.baseURL}/${o}`,{...e,headers:this.headers});if(!n?.ok)throw new Error(`HTTP error! status: ${n?.status||"unknown"}`);return n.json()}async firstStep(o={}){this.tracking?.analyzeRequest({},o);let e=this.tracking?this.tracking?.preferences():Z(),n=await this.request(`flow/${this.flowId}/first-step`,{method:"POST",body:JSON.stringify(y.parse({...o,state:{preferences:e,...o.state}}))});return this.tracking?.analyzeResponse({},n),n}async getStep(o,e={}){this.tracking?.analyzeRequest({stepId:o},e);let n=this.tracking?.preferences(),i=await this.request(`flow/${this.flowId}/steps/${I.parse(o)}`,{method:"POST",body:JSON.stringify(y.parse({...e,state:{preferences:n,...e.state}}))});return this.tracking?.analyzeResponse({stepId:o},i),i}async nextStep(o,e={}){this.tracking?.analyzeRequest(o,e);let{currentStepId:n,actionId:i}=w.parse(o),l=await this.request(`flow/${this.flowId}/steps/${n}/action/${i}`,{method:"POST",body:JSON.stringify(y.parse(e))});return this.tracking?.analyzeResponse(o,l),l}};export{x as Action,$ as ActionEvent,q as ActionScript,j as ClientOptions,k as ColorScheme,O as DEFAULT_CLIENT_OPTIONS,dt as DEFAULT_MAP_ID,W as ErrorCode,Y as ErrorData,gt as EventType,B as Field,J as Flow,v as FlowClient,ut as FlowContext,y as GetStepOptions,w as GetStepTrigger,T as ONLIVE_ANALYTICS_EVENT,c as ONLIVE_FLOW_FORM_NAME,K as PostAction,H as Step,I as StepId,m as TrackingOptionsSchema};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onlive.ai/flow-client",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.209",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"**/*.js",
|
|
@@ -22,20 +22,20 @@
|
|
|
22
22
|
"./client/*": "./client/*"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@onlive.ai/tracker": "^1.0.
|
|
26
|
-
"@types/node": "^22.
|
|
25
|
+
"@onlive.ai/tracker": "^1.0.30",
|
|
26
|
+
"@types/node": "^22.19.7",
|
|
27
27
|
"@vitest/coverage-v8": "^2.1.9",
|
|
28
|
-
"dotenv": "^16.
|
|
29
|
-
"tsup": "^8.5.
|
|
28
|
+
"dotenv": "^16.6.1",
|
|
29
|
+
"tsup": "^8.5.1",
|
|
30
30
|
"typescript": "~5.6.3",
|
|
31
|
-
"vite": "^
|
|
31
|
+
"vite": "^7.3.1",
|
|
32
32
|
"vitest": "^3.2.4",
|
|
33
|
-
"zod": "^3.
|
|
34
|
-
"@onlive.ai/calendar": "0.0.
|
|
35
|
-
"@onlive.ai/common-121": "0.2.
|
|
33
|
+
"zod": "^3.25.76",
|
|
34
|
+
"@onlive.ai/calendar": "0.0.19",
|
|
35
|
+
"@onlive.ai/common-121": "0.2.179"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"zod-to-json-schema": "^3.
|
|
38
|
+
"zod-to-json-schema": "^3.25.1"
|
|
39
39
|
},
|
|
40
40
|
"scripts": {
|
|
41
41
|
"build:package": "tsup",
|
package/schema-generator.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/*! @onlive.ai/flow-client v0.1.
|
|
2
|
-
"use strict";var he=require("fs");var M=Symbol("Let zodToJsonSchema decide on which parser to use");var E={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},R=e=>typeof e=="string"?{...E,name:e}:{...E,...e};var $=e=>{let t=R(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...t.basePath,t.definitionPath,n],jsonSchema:void 0}]))}};function O(e,t,r,n){n?.errorMessages&&r&&(e.errorMessage={...e.errorMessage,[t]:r})}function u(e,t,r,n,o){e[t]=r,O(e,t,n,o)}var P=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")};var c=require("zod");function d(e){if(e.target!=="openAi")return{};let t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:e.$refStrategy==="relative"?P(t,e.currentPath):t.join("/")}}var L=require("zod");function C(e,t){let r={type:"array"};return e.type?._def&&e.type?._def?.typeName!==L.ZodFirstPartyTypeKind.ZodAny&&(r.items=i(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&u(r,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&u(r,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(u(r,"minItems",e.exactLength.value,e.exactLength.message,t),u(r,"maxItems",e.exactLength.value,e.exactLength.message,t)),r}function I(e,t){let r={type:"integer",format:"int64"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"min":t.target==="jsonSchema7"?n.inclusive?u(r,"minimum",n.value,n.message,t):u(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),u(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?u(r,"maximum",n.value,n.message,t):u(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),u(r,"maximum",n.value,n.message,t));break;case"multipleOf":u(r,"multipleOf",n.value,n.message,t);break}return r}function z(){return{type:"boolean"}}function k(e,t){return i(e.type._def,t)}var B=(e,t)=>i(e.innerType._def,t);function Z(e,t,r){let n=r??t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>Z(e,t,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return ge(e,t)}}var ge=(e,t)=>{let r={type:"integer",format:"unix-time"};if(t.target==="openApi3")return r;for(let n of e.checks)switch(n.kind){case"min":u(r,"minimum",n.value,n.message,t);break;case"max":u(r,"maximum",n.value,n.message,t);break}return r};function q(e,t){return{...i(e.innerType._def,t),default:e.defaultValue()}}function U(e,t){return t.effectStrategy==="input"?i(e.schema._def,t):d(t)}function V(e){return{type:"string",enum:Array.from(e.values)}}var ye=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function W(e,t){let r=[i(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),i(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(s=>!!s),n=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(ye(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let l=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:m,...p}=s;l=p}else n=void 0;o.push(l)}}),o.length?{allOf:o,...n}:void 0}function J(e,t){let r=typeof e.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[e.value]}:{type:r==="bigint"?"integer":r,const:e.value}}var v=require("zod");var w,g={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(w===void 0&&(w=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),w),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function S(e,t){let r={type:"string"};if(e.checks)for(let n of e.checks)switch(n.kind){case"min":u(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t);break;case"max":u(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"email":switch(t.emailStrategy){case"format:email":y(r,"email",n.message,t);break;case"format:idn-email":y(r,"idn-email",n.message,t);break;case"pattern:zod":f(r,g.email,n.message,t);break}break;case"url":y(r,"uri",n.message,t);break;case"uuid":y(r,"uuid",n.message,t);break;case"regex":f(r,n.regex,n.message,t);break;case"cuid":f(r,g.cuid,n.message,t);break;case"cuid2":f(r,g.cuid2,n.message,t);break;case"startsWith":f(r,RegExp(`^${T(n.value,t)}`),n.message,t);break;case"endsWith":f(r,RegExp(`${T(n.value,t)}$`),n.message,t);break;case"datetime":y(r,"date-time",n.message,t);break;case"date":y(r,"date",n.message,t);break;case"time":y(r,"time",n.message,t);break;case"duration":y(r,"duration",n.message,t);break;case"length":u(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t),u(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"includes":{f(r,RegExp(T(n.value,t)),n.message,t);break}case"ip":{n.version!=="v6"&&y(r,"ipv4",n.message,t),n.version!=="v4"&&y(r,"ipv6",n.message,t);break}case"base64url":f(r,g.base64url,n.message,t);break;case"jwt":f(r,g.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&f(r,g.ipv4Cidr,n.message,t),n.version!=="v4"&&f(r,g.ipv6Cidr,n.message,t);break}case"emoji":f(r,g.emoji(),n.message,t);break;case"ulid":{f(r,g.ulid,n.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{y(r,"binary",n.message,t);break}case"contentEncoding:base64":{u(r,"contentEncoding","base64",n.message,t);break}case"pattern:zod":{f(r,g.base64,n.message,t);break}}break}case"nanoid":f(r,g.nanoid,n.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function T(e,t){return t.patternStrategy==="escape"?ve(e):e}var be=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function ve(e){let t="";for(let r=0;r<e.length;r++)be.has(e[r])||(t+="\\"),t+=e[r];return t}function y(e,t,r,n){e.format||e.anyOf?.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&n.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...r&&n.errorMessages&&{errorMessage:{format:r}}})):u(e,"format",t,r,n)}function f(e,t,r,n){e.pattern||e.allOf?.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&n.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:K(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):u(e,"pattern",K(t,n),r,n)}function K(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=r.i?e.source.toLowerCase():e.source,o="",s=!1,l=!1,m=!1;for(let p=0;p<n.length;p++){if(s){o+=n[p],s=!1;continue}if(r.i){if(l){if(n[p].match(/[a-z]/)){m?(o+=n[p],o+=`${n[p-2]}-${n[p]}`.toUpperCase(),m=!1):n[p+1]==="-"&&n[p+2]?.match(/[a-z]/)?(o+=n[p],m=!0):o+=`${n[p]}${n[p].toUpperCase()}`;continue}}else if(n[p].match(/[a-z]/)){o+=`[${n[p]}${n[p].toUpperCase()}]`;continue}}if(r.m){if(n[p]==="^"){o+=`(^|(?<=[\r
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.209 | © 2026 Onlive.ai */
|
|
2
|
+
"use strict";var he=require("fs");var M=Symbol("Let zodToJsonSchema decide on which parser to use");var E={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},R=e=>typeof e=="string"?{...E,name:e}:{...E,...e};var $=e=>{let t=R(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...t.basePath,t.definitionPath,n],jsonSchema:void 0}]))}};function O(e,t,r,n){n?.errorMessages&&r&&(e.errorMessage={...e.errorMessage,[t]:r})}function u(e,t,r,n,o){e[t]=r,O(e,t,n,o)}var P=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")};var c=require("zod/v3");function d(e){if(e.target!=="openAi")return{};let t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:e.$refStrategy==="relative"?P(t,e.currentPath):t.join("/")}}var L=require("zod/v3");function C(e,t){let r={type:"array"};return e.type?._def&&e.type?._def?.typeName!==L.ZodFirstPartyTypeKind.ZodAny&&(r.items=i(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&u(r,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&u(r,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(u(r,"minItems",e.exactLength.value,e.exactLength.message,t),u(r,"maxItems",e.exactLength.value,e.exactLength.message,t)),r}function I(e,t){let r={type:"integer",format:"int64"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"min":t.target==="jsonSchema7"?n.inclusive?u(r,"minimum",n.value,n.message,t):u(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),u(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?u(r,"maximum",n.value,n.message,t):u(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),u(r,"maximum",n.value,n.message,t));break;case"multipleOf":u(r,"multipleOf",n.value,n.message,t);break}return r}function z(){return{type:"boolean"}}function k(e,t){return i(e.type._def,t)}var B=(e,t)=>i(e.innerType._def,t);function Z(e,t,r){let n=r??t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>Z(e,t,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return ge(e,t)}}var ge=(e,t)=>{let r={type:"integer",format:"unix-time"};if(t.target==="openApi3")return r;for(let n of e.checks)switch(n.kind){case"min":u(r,"minimum",n.value,n.message,t);break;case"max":u(r,"maximum",n.value,n.message,t);break}return r};function q(e,t){return{...i(e.innerType._def,t),default:e.defaultValue()}}function U(e,t){return t.effectStrategy==="input"?i(e.schema._def,t):d(t)}function V(e){return{type:"string",enum:Array.from(e.values)}}var ye=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function W(e,t){let r=[i(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),i(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(s=>!!s),n=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(ye(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let l=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:m,...p}=s;l=p}else n=void 0;o.push(l)}}),o.length?{allOf:o,...n}:void 0}function J(e,t){let r=typeof e.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[e.value]}:{type:r==="bigint"?"integer":r,const:e.value}}var v=require("zod/v3");var w,g={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(w===void 0&&(w=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),w),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function S(e,t){let r={type:"string"};if(e.checks)for(let n of e.checks)switch(n.kind){case"min":u(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t);break;case"max":u(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"email":switch(t.emailStrategy){case"format:email":y(r,"email",n.message,t);break;case"format:idn-email":y(r,"idn-email",n.message,t);break;case"pattern:zod":f(r,g.email,n.message,t);break}break;case"url":y(r,"uri",n.message,t);break;case"uuid":y(r,"uuid",n.message,t);break;case"regex":f(r,n.regex,n.message,t);break;case"cuid":f(r,g.cuid,n.message,t);break;case"cuid2":f(r,g.cuid2,n.message,t);break;case"startsWith":f(r,RegExp(`^${T(n.value,t)}`),n.message,t);break;case"endsWith":f(r,RegExp(`${T(n.value,t)}$`),n.message,t);break;case"datetime":y(r,"date-time",n.message,t);break;case"date":y(r,"date",n.message,t);break;case"time":y(r,"time",n.message,t);break;case"duration":y(r,"duration",n.message,t);break;case"length":u(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t),u(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"includes":{f(r,RegExp(T(n.value,t)),n.message,t);break}case"ip":{n.version!=="v6"&&y(r,"ipv4",n.message,t),n.version!=="v4"&&y(r,"ipv6",n.message,t);break}case"base64url":f(r,g.base64url,n.message,t);break;case"jwt":f(r,g.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&f(r,g.ipv4Cidr,n.message,t),n.version!=="v4"&&f(r,g.ipv6Cidr,n.message,t);break}case"emoji":f(r,g.emoji(),n.message,t);break;case"ulid":{f(r,g.ulid,n.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{y(r,"binary",n.message,t);break}case"contentEncoding:base64":{u(r,"contentEncoding","base64",n.message,t);break}case"pattern:zod":{f(r,g.base64,n.message,t);break}}break}case"nanoid":f(r,g.nanoid,n.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function T(e,t){return t.patternStrategy==="escape"?ve(e):e}var be=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function ve(e){let t="";for(let r=0;r<e.length;r++)be.has(e[r])||(t+="\\"),t+=e[r];return t}function y(e,t,r,n){e.format||e.anyOf?.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&n.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...r&&n.errorMessages&&{errorMessage:{format:r}}})):u(e,"format",t,r,n)}function f(e,t,r,n){e.pattern||e.allOf?.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&n.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:K(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):u(e,"pattern",K(t,n),r,n)}function K(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=r.i?e.source.toLowerCase():e.source,o="",s=!1,l=!1,m=!1;for(let p=0;p<n.length;p++){if(s){o+=n[p],s=!1;continue}if(r.i){if(l){if(n[p].match(/[a-z]/)){m?(o+=n[p],o+=`${n[p-2]}-${n[p]}`.toUpperCase(),m=!1):n[p+1]==="-"&&n[p+2]?.match(/[a-z]/)?(o+=n[p],m=!0):o+=`${n[p]}${n[p].toUpperCase()}`;continue}}else if(n[p].match(/[a-z]/)){o+=`[${n[p]}${n[p].toUpperCase()}]`;continue}}if(r.m){if(n[p]==="^"){o+=`(^|(?<=[\r
|
|
3
3
|
]))`;continue}else if(n[p]==="$"){o+=`($|(?=[\r
|
|
4
4
|
]))`;continue}}if(r.s&&n[p]==="."){o+=l?`${n[p]}\r
|
|
5
5
|
`:`[${n[p]}\r
|
|
6
|
-
]`;continue}o+=n[p],n[p]==="\\"?s=!0:l&&n[p]==="]"?l=!1:!l&&n[p]==="["&&(l=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function j(e,t){if(t.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),t.target==="openApi3"&&e.keyType?._def.typeName===v.ZodFirstPartyTypeKind.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,o)=>({...n,[o]:i(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",o]})??d(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let r={type:"object",additionalProperties:i(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===v.ZodFirstPartyTypeKind.ZodString&&e.keyType._def.checks?.length){let{type:n,...o}=S(e.keyType._def,t);return{...r,propertyNames:o}}else{if(e.keyType?._def.typeName===v.ZodFirstPartyTypeKind.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===v.ZodFirstPartyTypeKind.ZodBranded&&e.keyType._def.type._def.typeName===v.ZodFirstPartyTypeKind.ZodString&&e.keyType._def.type._def.checks?.length){let{type:n,...o}=k(e.keyType._def,t);return{...r,propertyNames:o}}}return r}function G(e,t){if(t.mapStrategy==="record")return j(e,t);let r=i(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||d(t),n=i(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||d(t);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function H(e){let t=e.values,n=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),o=Array.from(new Set(n.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function Q(e){return e.target==="openAi"?void 0:{not:d({...e,currentPath:[...e.currentPath,"not"]})}}function X(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var D={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function ee(e,t){if(t.target==="openApi3")return Y(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in D&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let l=D[s._def.typeName];return l&&!o.includes(l)?[...o,l]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,s)=>{let l=typeof s._def.value;switch(l){case"string":case"number":case"boolean":return[...o,l];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];case"symbol":case"undefined":case"function":default:return o}},[]);if(n.length===r.length){let o=n.filter((s,l,m)=>m.indexOf(s)===l);return{type:o.length>1?o:o[0],enum:r.reduce((s,l)=>s.includes(l._def.value)?s:[...s,l._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(s=>!n.includes(s))],[])};return Y(e,t)}var Y=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,o)=>i(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function te(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"?{type:D[e.innerType._def.typeName],nullable:!0}:{type:[D[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=i(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=i(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function re(e,t){let r={type:"number"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"int":r.type="integer",O(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?u(r,"minimum",n.value,n.message,t):u(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),u(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?u(r,"maximum",n.value,n.message,t):u(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),u(r,"maximum",n.value,n.message,t));break;case"multipleOf":u(r,"multipleOf",n.value,n.message,t);break}return r}function ne(e,t){let r=t.target==="openAi",n={type:"object",properties:{}},o=[],s=e.shape();for(let m in s){let p=s[m];if(p===void 0||p._def===void 0)continue;let b=De(p);b&&r&&(p._def.typeName==="ZodOptional"&&(p=p._def.innerType),p.isNullable()||(p=p.nullable()),b=!1);let A=i(p._def,{...t,currentPath:[...t.currentPath,"properties",m],propertyPath:[...t.currentPath,"properties",m]});A!==void 0&&(n.properties[m]=A,b||o.push(m))}o.length&&(n.required=o);let l=xe(e,t);return l!==void 0&&(n.additionalProperties=l),n}function xe(e,t){if(e.catchall._def.typeName!=="ZodNever")return i(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function De(e){try{return e.isOptional()}catch{return!0}}var ae=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return i(e.innerType._def,t);let r=i(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:d(t)},r]}:d(t)};var oe=(e,t)=>{if(t.pipeStrategy==="input")return i(e.in._def,t);if(t.pipeStrategy==="output")return i(e.out._def,t);let r=i(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=i(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function ie(e,t){return i(e.type._def,t)}function se(e,t){let n={type:"array",uniqueItems:!0,items:i(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&u(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&u(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function pe(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>i(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:i(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>i(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function ce(e){return{not:d(e)}}function ue(e){return d(e)}var le=(e,t)=>i(e.innerType._def,t);var me=(e,t,r)=>{switch(t){case c.ZodFirstPartyTypeKind.ZodString:return S(e,r);case c.ZodFirstPartyTypeKind.ZodNumber:return re(e,r);case c.ZodFirstPartyTypeKind.ZodObject:return ne(e,r);case c.ZodFirstPartyTypeKind.ZodBigInt:return I(e,r);case c.ZodFirstPartyTypeKind.ZodBoolean:return z();case c.ZodFirstPartyTypeKind.ZodDate:return Z(e,r);case c.ZodFirstPartyTypeKind.ZodUndefined:return ce(r);case c.ZodFirstPartyTypeKind.ZodNull:return X(r);case c.ZodFirstPartyTypeKind.ZodArray:return C(e,r);case c.ZodFirstPartyTypeKind.ZodUnion:case c.ZodFirstPartyTypeKind.ZodDiscriminatedUnion:return ee(e,r);case c.ZodFirstPartyTypeKind.ZodIntersection:return W(e,r);case c.ZodFirstPartyTypeKind.ZodTuple:return pe(e,r);case c.ZodFirstPartyTypeKind.ZodRecord:return j(e,r);case c.ZodFirstPartyTypeKind.ZodLiteral:return J(e,r);case c.ZodFirstPartyTypeKind.ZodEnum:return V(e);case c.ZodFirstPartyTypeKind.ZodNativeEnum:return H(e);case c.ZodFirstPartyTypeKind.ZodNullable:return te(e,r);case c.ZodFirstPartyTypeKind.ZodOptional:return ae(e,r);case c.ZodFirstPartyTypeKind.ZodMap:return G(e,r);case c.ZodFirstPartyTypeKind.ZodSet:return se(e,r);case c.ZodFirstPartyTypeKind.ZodLazy:return()=>e.getter()._def;case c.ZodFirstPartyTypeKind.ZodPromise:return ie(e,r);case c.ZodFirstPartyTypeKind.ZodNaN:case c.ZodFirstPartyTypeKind.ZodNever:return Q(r);case c.ZodFirstPartyTypeKind.ZodEffects:return U(e,r);case c.ZodFirstPartyTypeKind.ZodAny:return d(r);case c.ZodFirstPartyTypeKind.ZodUnknown:return ue(r);case c.ZodFirstPartyTypeKind.ZodDefault:return q(e,r);case c.ZodFirstPartyTypeKind.ZodBranded:return k(e,r);case c.ZodFirstPartyTypeKind.ZodReadonly:return le(e,r);case c.ZodFirstPartyTypeKind.ZodCatch:return B(e,r);case c.ZodFirstPartyTypeKind.ZodPipeline:return oe(e,r);case c.ZodFirstPartyTypeKind.ZodFunction:case c.ZodFirstPartyTypeKind.ZodVoid:case c.ZodFirstPartyTypeKind.ZodSymbol:return;default:return(n=>{})(t)}};function i(e,t,r=!1){let n=t.seen.get(e);if(t.override){let m=t.override?.(e,t,n,r);if(m!==M)return m}if(n&&!r){let m=Ae(n,t);if(m!==void 0)return m}let o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);let s=me(e,e.typeName,t),l=typeof s=="function"?i(s(),t):s;if(l&&Pe(e,t,l),t.postProcess){let m=t.postProcess(l,e,t);return o.jsonSchema=l,m}return o.jsonSchema=l,l}var Ae=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:P(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),d(t)):t.$refStrategy==="seen"?d(t):void 0}},Pe=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var N=(e,t)=>{let r=$(t),n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((p,[b,A])=>({...p,[b]:i(A._def,{...r,currentPath:[...r.basePath,r.definitionPath,b]},!0)??d(r)}),{}):void 0,o=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,s=i(e._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??d(r),l=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;l!==void 0&&(s.title=l),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let m=o===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:s}};return r.target==="jsonSchema7"?m.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(m.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in m||"oneOf"in m||"allOf"in m||"type"in m&&Array.isArray(m.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),m};var a=require("zod"),h=a.z.record(a.z.string(),a.z.any()).describe("Represents a plain literal object."),ke=a.z.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","void","location","availability"]).describe("Enum for field types."),Se=a.z.enum(["input","textarea","select","radio","checkbox","switch","carousel","button","label","calendar","map"]).describe("Enum for field components."),je=a.z.enum(["simple","multiple"]).describe("Enum for field selection modes."),_e=a.z.enum(["hidden","disabled"]).describe("Enum for field dependent behaviors."),Oe=a.z.object({label:a.z.union([a.z.string(),h]).optional().describe("Label for the field item."),value:h.optional().describe("Value of the field item."),description:a.z.union([a.z.string(),h]).optional().describe("Description for the field item."),image:a.z.string().url().optional().describe("URL of an image for the field item."),nextNodeId:a.z.boolean().optional().describe("ID of the next node.")}).describe("Data transfer object for a field item."),Ze=a.z.enum(["property","httpRequest","mqRequest","function"]).describe("Enum for data provider source types."),x=a.z.object({exists:a.z.object({valueA:a.z.unknown(),valueB:a.z.boolean()}).optional().describe("Checks if a value exists."),equal:a.z.object({valueA:a.z.unknown(),valueB:a.z.unknown()}).optional().describe("Checks if two values are equal."),notEqual:a.z.object({valueA:a.z.unknown(),valueB:a.z.unknown()}).optional().describe("Checks if two values are not equal."),equalOrGreater:a.z.object({valueA:a.z.unknown(),valueB:a.z.unknown()}).optional().describe("Checks if valueA is equal to or greater than valueB."),equalOrLess:a.z.object({valueA:a.z.unknown(),valueB:a.z.unknown()}).optional().describe("Checks if valueA is equal to or less than valueB."),greater:a.z.object({valueA:a.z.unknown(),valueB:a.z.unknown()}).optional().describe("Checks if valueA is greater than valueB."),less:a.z.object({valueA:a.z.unknown(),valueB:a.z.unknown()}).optional().describe("Checks if valueA is less than valueB."),startsWith:a.z.object({valueA:a.z.string(),valueB:a.z.string()}).optional().describe("Checks if valueA starts with valueB."),contains:a.z.object({valueA:a.z.string(),valueB:a.z.string()}).optional().describe("Checks if valueA contains valueB."),includes:a.z.object({valueA:a.z.array(a.z.unknown()),valueB:a.z.unknown()}).optional().describe("Checks if valueA includes valueB.")}).describe("Data transfer object for conditional operators."),_=a.z.object({or:a.z.array(x).optional().describe("Array of OR conditions."),and:a.z.array(x).optional().describe("Array of AND conditions.")}).describe("Data transfer object for conditional group operators."),we=a.z.enum(["map","concat","filter","reduce","unique","join","flat","flatmap","sort","delete"]).describe("Enum for data transformer types."),Te=a.z.object({type:we.describe("Type of the data transformer."),params:a.z.record(a.z.string(),a.z.any()).optional().describe("Parameters for the data transformer."),conditions:a.z.array(a.z.union([x,_])).optional().describe("Conditions for the data transformer."),require:a.z.array(a.z.string()).optional().describe("Required fields for the data transformer.")}).describe("Data transfer object for data transformers."),F=a.z.object({type:Ze.describe("Type of the data provider source."),name:a.z.string().optional().describe("Name of the data provider."),params:a.z.union([a.z.record(a.z.string(),a.z.unknown()),a.z.string()]).optional().describe("Parameters for the data provider."),persist:a.z.boolean().optional().describe("Whether to persist the data."),conditions:a.z.array(a.z.union([x,_])).optional().describe("Conditions for the data provider."),transformers:a.z.array(Te).optional().describe("Transformers for the data provider."),require:a.z.array(a.z.string()).optional().describe("Required fields for the data provider.")}).describe("Data transfer object for data providers."),Ne=a.z.object({name:a.z.string().describe("Name of the field."),type:ke.describe("Type of the field."),label:a.z.union([a.z.string(),h]).optional().describe("Label for the field."),value:a.z.any().optional().describe("Value of the field."),component:Se.optional().describe("Component for the field."),selectionMode:je.optional().describe("Selection mode for the field."),required:a.z.boolean().optional().describe("Whether the field is required."),placeholder:a.z.union([a.z.string(),h]).optional().describe("Placeholder for the field."),options:a.z.array(Oe).optional().describe("Options for the field."),optionsProvider:F.optional().describe("Data provider for the field options."),configuration:h.optional().describe("Configuration for the field."),dependsOn:a.z.array(h).optional().describe("Fields that this field depends on."),dependentBehavior:_e.optional().describe("Behavior of the field when its dependencies are not met."),conditions:a.z.array(h).optional().describe("Conditions for the field."),customError:h.optional().describe("Custom error message for the field.")}).describe("Data transfer object for a field."),Fe=a.z.enum(["submit","link","forward","script"]).describe("Enum for action types."),Ee=a.z.enum(["primary","secondary","success","warning","info","danger"]).describe("Enum for action variants."),Me=a.z.object({src:a.z.string().url().describe("Source URL of the script."),preload:a.z.boolean().optional().describe("Whether to preload the script."),name:a.z.string().describe("Name of the script."),function:a.z.string().describe("Function to execute from the script."),params:a.z.record(a.z.string(),a.z.any()).optional().describe("Parameters for the script function.")}).describe("Data transfer object for scripts."),Re=a.z.string().describe("Enum for pipeline function types. TODO: Replace z.string() with z.enum([...]) with actual pipeline function types."),$e=h.describe("Data transfer object for fail flow. TODO: Define the actual structure for FailFlowSchema if it's not a plain literal object."),Le=a.z.object({function:Re.describe("Function type for the pipeline."),params:h.optional().describe("Parameters for the pipeline function."),conditions:a.z.array(a.z.union([x,_])).optional().describe("Conditions for the pipeline."),require:a.z.array(a.z.string()).optional().describe("Required fields for the pipeline."),onFail:$e.optional().describe("Fail flow configuration.")}).describe("Data transfer object for an action pipeline."),Ce=a.z.object({id:a.z.string().describe("ID of the action."),label:a.z.union([a.z.string(),h]).optional().describe("Label for the action."),type:Fe.describe("Type of the action."),variant:Ee.optional().describe("Variant of the action."),url:a.z.string().optional().describe("URL for link-type actions."),pipeline:a.z.array(Le).optional().describe("Pipeline for the action."),conditions:a.z.array(h).optional().describe("Conditions for the action."),nextStepId:a.z.string().optional().describe("ID of the next step."),scripts:a.z.array(Me).optional().describe("Scripts associated with the action.")}).describe("Data transfer object for an action."),Ie=a.z.object({conditions:a.z.array(a.z.union([x,_])).optional().describe("Conditions for the routing rule."),nextStepId:a.z.string().describe("ID of the next step if conditions are met.")}).describe("Data transfer object for routing."),de=a.z.object({id:a.z.string().describe("ID of the node."),initialNode:a.z.boolean().optional().describe("Whether this is the initial node."),finalNode:a.z.boolean().optional().describe("Whether this is a final node."),title:a.z.union([a.z.string(),h]).optional().describe("Title of the node."),description:a.z.string().optional().describe("Description of the node."),fields:a.z.array(Ne).optional().describe("Fields in the node."),actions:a.z.array(Ce).optional().describe("Actions available in the node."),routing:a.z.array(Ie).optional().describe("Routing rules for the node."),stateProviders:a.z.array(F).optional().describe("Data providers for state management."),trackingProviders:a.z.array(F).optional().describe("Data providers for tracking."),stageId:a.z.string().optional().describe("ID of the stage this node belongs to."),translations:h.optional().describe("Translations for the node.")}).describe("Data transfer object for a node."),Tn=a.z.array(de).describe("List of nodes."),fe=a.z.object({nodes:a.z.array(de).describe("List of nodes.")});var ze=N(fe,"OnliveFlowSchema");(0,he.writeFileSync)("flow-configuration.schema.json",JSON.stringify(ze,null,2),"utf-8");
|
|
6
|
+
]`;continue}o+=n[p],n[p]==="\\"?s=!0:l&&n[p]==="]"?l=!1:!l&&n[p]==="["&&(l=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function j(e,t){if(t.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),t.target==="openApi3"&&e.keyType?._def.typeName===v.ZodFirstPartyTypeKind.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,o)=>({...n,[o]:i(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",o]})??d(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let r={type:"object",additionalProperties:i(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===v.ZodFirstPartyTypeKind.ZodString&&e.keyType._def.checks?.length){let{type:n,...o}=S(e.keyType._def,t);return{...r,propertyNames:o}}else{if(e.keyType?._def.typeName===v.ZodFirstPartyTypeKind.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===v.ZodFirstPartyTypeKind.ZodBranded&&e.keyType._def.type._def.typeName===v.ZodFirstPartyTypeKind.ZodString&&e.keyType._def.type._def.checks?.length){let{type:n,...o}=k(e.keyType._def,t);return{...r,propertyNames:o}}}return r}function G(e,t){if(t.mapStrategy==="record")return j(e,t);let r=i(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||d(t),n=i(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||d(t);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function H(e){let t=e.values,n=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),o=Array.from(new Set(n.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function Q(e){return e.target==="openAi"?void 0:{not:d({...e,currentPath:[...e.currentPath,"not"]})}}function X(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var D={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function ee(e,t){if(t.target==="openApi3")return Y(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in D&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let l=D[s._def.typeName];return l&&!o.includes(l)?[...o,l]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,s)=>{let l=typeof s._def.value;switch(l){case"string":case"number":case"boolean":return[...o,l];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];default:return o}},[]);if(n.length===r.length){let o=n.filter((s,l,m)=>m.indexOf(s)===l);return{type:o.length>1?o:o[0],enum:r.reduce((s,l)=>s.includes(l._def.value)?s:[...s,l._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(s=>!n.includes(s))],[])};return Y(e,t)}var Y=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,o)=>i(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function te(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"?{type:D[e.innerType._def.typeName],nullable:!0}:{type:[D[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=i(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=i(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function re(e,t){let r={type:"number"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"int":r.type="integer",O(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?u(r,"minimum",n.value,n.message,t):u(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),u(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?u(r,"maximum",n.value,n.message,t):u(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),u(r,"maximum",n.value,n.message,t));break;case"multipleOf":u(r,"multipleOf",n.value,n.message,t);break}return r}function ne(e,t){let r=t.target==="openAi",n={type:"object",properties:{}},o=[],s=e.shape();for(let m in s){let p=s[m];if(p===void 0||p._def===void 0)continue;let b=De(p);b&&r&&(p._def.typeName==="ZodOptional"&&(p=p._def.innerType),p.isNullable()||(p=p.nullable()),b=!1);let A=i(p._def,{...t,currentPath:[...t.currentPath,"properties",m],propertyPath:[...t.currentPath,"properties",m]});A!==void 0&&(n.properties[m]=A,b||o.push(m))}o.length&&(n.required=o);let l=xe(e,t);return l!==void 0&&(n.additionalProperties=l),n}function xe(e,t){if(e.catchall._def.typeName!=="ZodNever")return i(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function De(e){try{return e.isOptional()}catch{return!0}}var ae=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return i(e.innerType._def,t);let r=i(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:d(t)},r]}:d(t)};var oe=(e,t)=>{if(t.pipeStrategy==="input")return i(e.in._def,t);if(t.pipeStrategy==="output")return i(e.out._def,t);let r=i(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=i(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function ie(e,t){return i(e.type._def,t)}function se(e,t){let n={type:"array",uniqueItems:!0,items:i(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&u(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&u(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function pe(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>i(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:i(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>i(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function ce(e){return{not:d(e)}}function ue(e){return d(e)}var le=(e,t)=>i(e.innerType._def,t);var me=(e,t,r)=>{switch(t){case c.ZodFirstPartyTypeKind.ZodString:return S(e,r);case c.ZodFirstPartyTypeKind.ZodNumber:return re(e,r);case c.ZodFirstPartyTypeKind.ZodObject:return ne(e,r);case c.ZodFirstPartyTypeKind.ZodBigInt:return I(e,r);case c.ZodFirstPartyTypeKind.ZodBoolean:return z();case c.ZodFirstPartyTypeKind.ZodDate:return Z(e,r);case c.ZodFirstPartyTypeKind.ZodUndefined:return ce(r);case c.ZodFirstPartyTypeKind.ZodNull:return X(r);case c.ZodFirstPartyTypeKind.ZodArray:return C(e,r);case c.ZodFirstPartyTypeKind.ZodUnion:case c.ZodFirstPartyTypeKind.ZodDiscriminatedUnion:return ee(e,r);case c.ZodFirstPartyTypeKind.ZodIntersection:return W(e,r);case c.ZodFirstPartyTypeKind.ZodTuple:return pe(e,r);case c.ZodFirstPartyTypeKind.ZodRecord:return j(e,r);case c.ZodFirstPartyTypeKind.ZodLiteral:return J(e,r);case c.ZodFirstPartyTypeKind.ZodEnum:return V(e);case c.ZodFirstPartyTypeKind.ZodNativeEnum:return H(e);case c.ZodFirstPartyTypeKind.ZodNullable:return te(e,r);case c.ZodFirstPartyTypeKind.ZodOptional:return ae(e,r);case c.ZodFirstPartyTypeKind.ZodMap:return G(e,r);case c.ZodFirstPartyTypeKind.ZodSet:return se(e,r);case c.ZodFirstPartyTypeKind.ZodLazy:return()=>e.getter()._def;case c.ZodFirstPartyTypeKind.ZodPromise:return ie(e,r);case c.ZodFirstPartyTypeKind.ZodNaN:case c.ZodFirstPartyTypeKind.ZodNever:return Q(r);case c.ZodFirstPartyTypeKind.ZodEffects:return U(e,r);case c.ZodFirstPartyTypeKind.ZodAny:return d(r);case c.ZodFirstPartyTypeKind.ZodUnknown:return ue(r);case c.ZodFirstPartyTypeKind.ZodDefault:return q(e,r);case c.ZodFirstPartyTypeKind.ZodBranded:return k(e,r);case c.ZodFirstPartyTypeKind.ZodReadonly:return le(e,r);case c.ZodFirstPartyTypeKind.ZodCatch:return B(e,r);case c.ZodFirstPartyTypeKind.ZodPipeline:return oe(e,r);case c.ZodFirstPartyTypeKind.ZodFunction:case c.ZodFirstPartyTypeKind.ZodVoid:case c.ZodFirstPartyTypeKind.ZodSymbol:return;default:return(n=>{})(t)}};function i(e,t,r=!1){let n=t.seen.get(e);if(t.override){let m=t.override?.(e,t,n,r);if(m!==M)return m}if(n&&!r){let m=Ae(n,t);if(m!==void 0)return m}let o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);let s=me(e,e.typeName,t),l=typeof s=="function"?i(s(),t):s;if(l&&Pe(e,t,l),t.postProcess){let m=t.postProcess(l,e,t);return o.jsonSchema=l,m}return o.jsonSchema=l,l}var Ae=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:P(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),d(t)):t.$refStrategy==="seen"?d(t):void 0}},Pe=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var N=(e,t)=>{let r=$(t),n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((p,[b,A])=>({...p,[b]:i(A._def,{...r,currentPath:[...r.basePath,r.definitionPath,b]},!0)??d(r)}),{}):void 0,o=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,s=i(e._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??d(r),l=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;l!==void 0&&(s.title=l),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let m=o===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:s}};return r.target==="jsonSchema7"?m.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(m.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in m||"oneOf"in m||"allOf"in m||"type"in m&&Array.isArray(m.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),m};var a=require("zod"),h=a.z.record(a.z.string(),a.z.any()).describe("Represents a plain literal object."),ke=a.z.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","void","location","availability"]).describe("Enum for field types."),Se=a.z.enum(["input","textarea","select","radio","checkbox","switch","carousel","button","label","calendar","map","grid","rating","phone_input","stripe_payment"]).describe("Enum for field components."),je=a.z.enum(["simple","multiple"]).describe("Enum for field selection modes."),_e=a.z.enum(["hidden","disabled"]).describe("Enum for field dependent behaviors."),Oe=a.z.object({label:a.z.union([a.z.string(),h]).optional().describe("Label for the field item."),value:h.optional().describe("Value of the field item."),description:a.z.union([a.z.string(),h]).optional().describe("Description for the field item."),image:a.z.string().url().optional().describe("URL of an image for the field item."),nextNodeId:a.z.boolean().optional().describe("ID of the next node.")}).describe("Data transfer object for a field item."),Ze=a.z.enum(["property","httpRequest","mqRequest","function"]).describe("Enum for data provider source types."),x=a.z.object({exists:a.z.object({valueA:a.z.unknown(),valueB:a.z.boolean()}).optional().describe("Checks if a value exists."),equal:a.z.object({valueA:a.z.unknown(),valueB:a.z.unknown()}).optional().describe("Checks if two values are equal."),notEqual:a.z.object({valueA:a.z.unknown(),valueB:a.z.unknown()}).optional().describe("Checks if two values are not equal."),equalOrGreater:a.z.object({valueA:a.z.unknown(),valueB:a.z.unknown()}).optional().describe("Checks if valueA is equal to or greater than valueB."),equalOrLess:a.z.object({valueA:a.z.unknown(),valueB:a.z.unknown()}).optional().describe("Checks if valueA is equal to or less than valueB."),greater:a.z.object({valueA:a.z.unknown(),valueB:a.z.unknown()}).optional().describe("Checks if valueA is greater than valueB."),less:a.z.object({valueA:a.z.unknown(),valueB:a.z.unknown()}).optional().describe("Checks if valueA is less than valueB."),startsWith:a.z.object({valueA:a.z.string(),valueB:a.z.string()}).optional().describe("Checks if valueA starts with valueB."),contains:a.z.object({valueA:a.z.string(),valueB:a.z.string()}).optional().describe("Checks if valueA contains valueB."),includes:a.z.object({valueA:a.z.array(a.z.unknown()),valueB:a.z.unknown()}).optional().describe("Checks if valueA includes valueB.")}).describe("Data transfer object for conditional operators."),_=a.z.object({or:a.z.array(x).optional().describe("Array of OR conditions."),and:a.z.array(x).optional().describe("Array of AND conditions.")}).describe("Data transfer object for conditional group operators."),we=a.z.enum(["map","concat","filter","reduce","unique","join","flat","flatmap","sort","delete"]).describe("Enum for data transformer types."),Te=a.z.object({type:we.describe("Type of the data transformer."),params:a.z.record(a.z.string(),a.z.any()).optional().describe("Parameters for the data transformer."),conditions:a.z.array(a.z.union([x,_])).optional().describe("Conditions for the data transformer."),require:a.z.array(a.z.string()).optional().describe("Required fields for the data transformer.")}).describe("Data transfer object for data transformers."),F=a.z.object({type:Ze.describe("Type of the data provider source."),name:a.z.string().optional().describe("Name of the data provider."),params:a.z.union([a.z.record(a.z.string(),a.z.unknown()),a.z.string()]).optional().describe("Parameters for the data provider."),persist:a.z.boolean().optional().describe("Whether to persist the data."),conditions:a.z.array(a.z.union([x,_])).optional().describe("Conditions for the data provider."),transformers:a.z.array(Te).optional().describe("Transformers for the data provider."),require:a.z.array(a.z.string()).optional().describe("Required fields for the data provider.")}).describe("Data transfer object for data providers."),Ne=a.z.object({name:a.z.string().describe("Name of the field."),type:ke.describe("Type of the field."),label:a.z.union([a.z.string(),h]).optional().describe("Label for the field."),value:a.z.any().optional().describe("Value of the field."),component:Se.optional().describe("Component for the field."),selectionMode:je.optional().describe("Selection mode for the field."),required:a.z.boolean().optional().describe("Whether the field is required."),placeholder:a.z.union([a.z.string(),h]).optional().describe("Placeholder for the field."),options:a.z.array(Oe).optional().describe("Options for the field."),optionsProvider:F.optional().describe("Data provider for the field options."),configuration:h.optional().describe("Configuration for the field."),dependsOn:a.z.array(h).optional().describe("Fields that this field depends on."),dependentBehavior:_e.optional().describe("Behavior of the field when its dependencies are not met."),conditions:a.z.array(h).optional().describe("Conditions for the field."),customError:h.optional().describe("Custom error message for the field.")}).describe("Data transfer object for a field."),Fe=a.z.enum(["submit","link","forward","script"]).describe("Enum for action types."),Ee=a.z.enum(["primary","secondary","success","warning","info","danger"]).describe("Enum for action variants."),Me=a.z.object({src:a.z.string().url().describe("Source URL of the script."),preload:a.z.boolean().optional().describe("Whether to preload the script."),name:a.z.string().describe("Name of the script."),function:a.z.string().describe("Function to execute from the script."),params:a.z.record(a.z.string(),a.z.any()).optional().describe("Parameters for the script function.")}).describe("Data transfer object for scripts."),Re=a.z.string().describe("Enum for pipeline function types. TODO: Replace z.string() with z.enum([...]) with actual pipeline function types."),$e=h.describe("Data transfer object for fail flow. TODO: Define the actual structure for FailFlowSchema if it's not a plain literal object."),Le=a.z.object({function:Re.describe("Function type for the pipeline."),params:h.optional().describe("Parameters for the pipeline function."),conditions:a.z.array(a.z.union([x,_])).optional().describe("Conditions for the pipeline."),require:a.z.array(a.z.string()).optional().describe("Required fields for the pipeline."),onFail:$e.optional().describe("Fail flow configuration.")}).describe("Data transfer object for an action pipeline."),Ce=a.z.object({id:a.z.string().describe("ID of the action."),label:a.z.union([a.z.string(),h]).optional().describe("Label for the action."),type:Fe.describe("Type of the action."),variant:Ee.optional().describe("Variant of the action."),url:a.z.string().optional().describe("URL for link-type actions."),pipeline:a.z.array(Le).optional().describe("Pipeline for the action."),conditions:a.z.array(h).optional().describe("Conditions for the action."),nextStepId:a.z.string().optional().describe("ID of the next step."),scripts:a.z.array(Me).optional().describe("Scripts associated with the action.")}).describe("Data transfer object for an action."),Ie=a.z.object({conditions:a.z.array(a.z.union([x,_])).optional().describe("Conditions for the routing rule."),nextStepId:a.z.string().describe("ID of the next step if conditions are met.")}).describe("Data transfer object for routing."),de=a.z.object({id:a.z.string().describe("ID of the node."),initialNode:a.z.boolean().optional().describe("Whether this is the initial node."),finalNode:a.z.boolean().optional().describe("Whether this is a final node."),title:a.z.union([a.z.string(),h]).optional().describe("Title of the node."),description:a.z.string().optional().describe("Description of the node."),fields:a.z.array(Ne).optional().describe("Fields in the node."),actions:a.z.array(Ce).optional().describe("Actions available in the node."),routing:a.z.array(Ie).optional().describe("Routing rules for the node."),stateProviders:a.z.array(F).optional().describe("Data providers for state management."),trackingProviders:a.z.array(F).optional().describe("Data providers for tracking."),stageId:a.z.string().optional().describe("ID of the stage this node belongs to."),translations:h.optional().describe("Translations for the node.")}).describe("Data transfer object for a node."),Tn=a.z.array(de).describe("List of nodes."),fe=a.z.object({nodes:a.z.array(de).describe("List of nodes.")});var ze=N(fe,"OnliveFlowSchema");(0,he.writeFileSync)("flow-configuration.schema.json",JSON.stringify(ze,null,2),"utf-8");
|
package/schema-generator.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
/*! @onlive.ai/flow-client v0.1.
|
|
2
|
-
import{writeFileSync as Ie}from"fs";var M=Symbol("Let zodToJsonSchema decide on which parser to use");var E={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},R=e=>typeof e=="string"?{...E,name:e}:{...E,...e};var $=e=>{let t=R(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...t.basePath,t.definitionPath,n],jsonSchema:void 0}]))}};function O(e,t,r,n){n?.errorMessages&&r&&(e.errorMessage={...e.errorMessage,[t]:r})}function u(e,t,r,n,o){e[t]=r,O(e,t,n,o)}var P=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")};import{ZodFirstPartyTypeKind as c}from"zod";function d(e){if(e.target!=="openAi")return{};let t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:e.$refStrategy==="relative"?P(t,e.currentPath):t.join("/")}}import{ZodFirstPartyTypeKind as fe}from"zod";function L(e,t){let r={type:"array"};return e.type?._def&&e.type?._def?.typeName!==fe.ZodAny&&(r.items=i(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&u(r,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&u(r,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(u(r,"minItems",e.exactLength.value,e.exactLength.message,t),u(r,"maxItems",e.exactLength.value,e.exactLength.message,t)),r}function C(e,t){let r={type:"integer",format:"int64"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"min":t.target==="jsonSchema7"?n.inclusive?u(r,"minimum",n.value,n.message,t):u(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),u(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?u(r,"maximum",n.value,n.message,t):u(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),u(r,"maximum",n.value,n.message,t));break;case"multipleOf":u(r,"multipleOf",n.value,n.message,t);break}return r}function I(){return{type:"boolean"}}function k(e,t){return i(e.type._def,t)}var z=(e,t)=>i(e.innerType._def,t);function Z(e,t,r){let n=r??t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>Z(e,t,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return he(e,t)}}var he=(e,t)=>{let r={type:"integer",format:"unix-time"};if(t.target==="openApi3")return r;for(let n of e.checks)switch(n.kind){case"min":u(r,"minimum",n.value,n.message,t);break;case"max":u(r,"maximum",n.value,n.message,t);break}return r};function B(e,t){return{...i(e.innerType._def,t),default:e.defaultValue()}}function q(e,t){return t.effectStrategy==="input"?i(e.schema._def,t):d(t)}function U(e){return{type:"string",enum:Array.from(e.values)}}var ge=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function V(e,t){let r=[i(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),i(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(s=>!!s),n=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(ge(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let l=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:m,...p}=s;l=p}else n=void 0;o.push(l)}}),o.length?{allOf:o,...n}:void 0}function W(e,t){let r=typeof e.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[e.value]}:{type:r==="bigint"?"integer":r,const:e.value}}import{ZodFirstPartyTypeKind as x}from"zod";var w,g={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(w===void 0&&(w=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),w),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function S(e,t){let r={type:"string"};if(e.checks)for(let n of e.checks)switch(n.kind){case"min":u(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t);break;case"max":u(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"email":switch(t.emailStrategy){case"format:email":y(r,"email",n.message,t);break;case"format:idn-email":y(r,"idn-email",n.message,t);break;case"pattern:zod":f(r,g.email,n.message,t);break}break;case"url":y(r,"uri",n.message,t);break;case"uuid":y(r,"uuid",n.message,t);break;case"regex":f(r,n.regex,n.message,t);break;case"cuid":f(r,g.cuid,n.message,t);break;case"cuid2":f(r,g.cuid2,n.message,t);break;case"startsWith":f(r,RegExp(`^${T(n.value,t)}`),n.message,t);break;case"endsWith":f(r,RegExp(`${T(n.value,t)}$`),n.message,t);break;case"datetime":y(r,"date-time",n.message,t);break;case"date":y(r,"date",n.message,t);break;case"time":y(r,"time",n.message,t);break;case"duration":y(r,"duration",n.message,t);break;case"length":u(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t),u(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"includes":{f(r,RegExp(T(n.value,t)),n.message,t);break}case"ip":{n.version!=="v6"&&y(r,"ipv4",n.message,t),n.version!=="v4"&&y(r,"ipv6",n.message,t);break}case"base64url":f(r,g.base64url,n.message,t);break;case"jwt":f(r,g.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&f(r,g.ipv4Cidr,n.message,t),n.version!=="v4"&&f(r,g.ipv6Cidr,n.message,t);break}case"emoji":f(r,g.emoji(),n.message,t);break;case"ulid":{f(r,g.ulid,n.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{y(r,"binary",n.message,t);break}case"contentEncoding:base64":{u(r,"contentEncoding","base64",n.message,t);break}case"pattern:zod":{f(r,g.base64,n.message,t);break}}break}case"nanoid":f(r,g.nanoid,n.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function T(e,t){return t.patternStrategy==="escape"?be(e):e}var ye=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function be(e){let t="";for(let r=0;r<e.length;r++)ye.has(e[r])||(t+="\\"),t+=e[r];return t}function y(e,t,r,n){e.format||e.anyOf?.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&n.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...r&&n.errorMessages&&{errorMessage:{format:r}}})):u(e,"format",t,r,n)}function f(e,t,r,n){e.pattern||e.allOf?.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&n.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:J(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):u(e,"pattern",J(t,n),r,n)}function J(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=r.i?e.source.toLowerCase():e.source,o="",s=!1,l=!1,m=!1;for(let p=0;p<n.length;p++){if(s){o+=n[p],s=!1;continue}if(r.i){if(l){if(n[p].match(/[a-z]/)){m?(o+=n[p],o+=`${n[p-2]}-${n[p]}`.toUpperCase(),m=!1):n[p+1]==="-"&&n[p+2]?.match(/[a-z]/)?(o+=n[p],m=!0):o+=`${n[p]}${n[p].toUpperCase()}`;continue}}else if(n[p].match(/[a-z]/)){o+=`[${n[p]}${n[p].toUpperCase()}]`;continue}}if(r.m){if(n[p]==="^"){o+=`(^|(?<=[\r
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.209 | © 2026 Onlive.ai */
|
|
2
|
+
import{writeFileSync as Ie}from"fs";var M=Symbol("Let zodToJsonSchema decide on which parser to use");var E={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},R=e=>typeof e=="string"?{...E,name:e}:{...E,...e};var $=e=>{let t=R(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...t.basePath,t.definitionPath,n],jsonSchema:void 0}]))}};function O(e,t,r,n){n?.errorMessages&&r&&(e.errorMessage={...e.errorMessage,[t]:r})}function u(e,t,r,n,o){e[t]=r,O(e,t,n,o)}var P=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")};import{ZodFirstPartyTypeKind as c}from"zod/v3";function d(e){if(e.target!=="openAi")return{};let t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:e.$refStrategy==="relative"?P(t,e.currentPath):t.join("/")}}import{ZodFirstPartyTypeKind as fe}from"zod/v3";function L(e,t){let r={type:"array"};return e.type?._def&&e.type?._def?.typeName!==fe.ZodAny&&(r.items=i(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&u(r,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&u(r,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(u(r,"minItems",e.exactLength.value,e.exactLength.message,t),u(r,"maxItems",e.exactLength.value,e.exactLength.message,t)),r}function C(e,t){let r={type:"integer",format:"int64"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"min":t.target==="jsonSchema7"?n.inclusive?u(r,"minimum",n.value,n.message,t):u(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),u(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?u(r,"maximum",n.value,n.message,t):u(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),u(r,"maximum",n.value,n.message,t));break;case"multipleOf":u(r,"multipleOf",n.value,n.message,t);break}return r}function I(){return{type:"boolean"}}function k(e,t){return i(e.type._def,t)}var z=(e,t)=>i(e.innerType._def,t);function Z(e,t,r){let n=r??t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>Z(e,t,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return he(e,t)}}var he=(e,t)=>{let r={type:"integer",format:"unix-time"};if(t.target==="openApi3")return r;for(let n of e.checks)switch(n.kind){case"min":u(r,"minimum",n.value,n.message,t);break;case"max":u(r,"maximum",n.value,n.message,t);break}return r};function B(e,t){return{...i(e.innerType._def,t),default:e.defaultValue()}}function q(e,t){return t.effectStrategy==="input"?i(e.schema._def,t):d(t)}function U(e){return{type:"string",enum:Array.from(e.values)}}var ge=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function V(e,t){let r=[i(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),i(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(s=>!!s),n=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(ge(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let l=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:m,...p}=s;l=p}else n=void 0;o.push(l)}}),o.length?{allOf:o,...n}:void 0}function W(e,t){let r=typeof e.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[e.value]}:{type:r==="bigint"?"integer":r,const:e.value}}import{ZodFirstPartyTypeKind as x}from"zod/v3";var w,g={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(w===void 0&&(w=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),w),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function S(e,t){let r={type:"string"};if(e.checks)for(let n of e.checks)switch(n.kind){case"min":u(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t);break;case"max":u(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"email":switch(t.emailStrategy){case"format:email":y(r,"email",n.message,t);break;case"format:idn-email":y(r,"idn-email",n.message,t);break;case"pattern:zod":f(r,g.email,n.message,t);break}break;case"url":y(r,"uri",n.message,t);break;case"uuid":y(r,"uuid",n.message,t);break;case"regex":f(r,n.regex,n.message,t);break;case"cuid":f(r,g.cuid,n.message,t);break;case"cuid2":f(r,g.cuid2,n.message,t);break;case"startsWith":f(r,RegExp(`^${T(n.value,t)}`),n.message,t);break;case"endsWith":f(r,RegExp(`${T(n.value,t)}$`),n.message,t);break;case"datetime":y(r,"date-time",n.message,t);break;case"date":y(r,"date",n.message,t);break;case"time":y(r,"time",n.message,t);break;case"duration":y(r,"duration",n.message,t);break;case"length":u(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t),u(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"includes":{f(r,RegExp(T(n.value,t)),n.message,t);break}case"ip":{n.version!=="v6"&&y(r,"ipv4",n.message,t),n.version!=="v4"&&y(r,"ipv6",n.message,t);break}case"base64url":f(r,g.base64url,n.message,t);break;case"jwt":f(r,g.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&f(r,g.ipv4Cidr,n.message,t),n.version!=="v4"&&f(r,g.ipv6Cidr,n.message,t);break}case"emoji":f(r,g.emoji(),n.message,t);break;case"ulid":{f(r,g.ulid,n.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{y(r,"binary",n.message,t);break}case"contentEncoding:base64":{u(r,"contentEncoding","base64",n.message,t);break}case"pattern:zod":{f(r,g.base64,n.message,t);break}}break}case"nanoid":f(r,g.nanoid,n.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function T(e,t){return t.patternStrategy==="escape"?be(e):e}var ye=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function be(e){let t="";for(let r=0;r<e.length;r++)ye.has(e[r])||(t+="\\"),t+=e[r];return t}function y(e,t,r,n){e.format||e.anyOf?.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&n.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...r&&n.errorMessages&&{errorMessage:{format:r}}})):u(e,"format",t,r,n)}function f(e,t,r,n){e.pattern||e.allOf?.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&n.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:J(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):u(e,"pattern",J(t,n),r,n)}function J(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=r.i?e.source.toLowerCase():e.source,o="",s=!1,l=!1,m=!1;for(let p=0;p<n.length;p++){if(s){o+=n[p],s=!1;continue}if(r.i){if(l){if(n[p].match(/[a-z]/)){m?(o+=n[p],o+=`${n[p-2]}-${n[p]}`.toUpperCase(),m=!1):n[p+1]==="-"&&n[p+2]?.match(/[a-z]/)?(o+=n[p],m=!0):o+=`${n[p]}${n[p].toUpperCase()}`;continue}}else if(n[p].match(/[a-z]/)){o+=`[${n[p]}${n[p].toUpperCase()}]`;continue}}if(r.m){if(n[p]==="^"){o+=`(^|(?<=[\r
|
|
3
3
|
]))`;continue}else if(n[p]==="$"){o+=`($|(?=[\r
|
|
4
4
|
]))`;continue}}if(r.s&&n[p]==="."){o+=l?`${n[p]}\r
|
|
5
5
|
`:`[${n[p]}\r
|
|
6
|
-
]`;continue}o+=n[p],n[p]==="\\"?s=!0:l&&n[p]==="]"?l=!1:!l&&n[p]==="["&&(l=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function j(e,t){if(t.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),t.target==="openApi3"&&e.keyType?._def.typeName===x.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,o)=>({...n,[o]:i(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",o]})??d(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let r={type:"object",additionalProperties:i(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===x.ZodString&&e.keyType._def.checks?.length){let{type:n,...o}=S(e.keyType._def,t);return{...r,propertyNames:o}}else{if(e.keyType?._def.typeName===x.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===x.ZodBranded&&e.keyType._def.type._def.typeName===x.ZodString&&e.keyType._def.type._def.checks?.length){let{type:n,...o}=k(e.keyType._def,t);return{...r,propertyNames:o}}}return r}function K(e,t){if(t.mapStrategy==="record")return j(e,t);let r=i(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||d(t),n=i(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||d(t);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function G(e){let t=e.values,n=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),o=Array.from(new Set(n.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function H(e){return e.target==="openAi"?void 0:{not:d({...e,currentPath:[...e.currentPath,"not"]})}}function Q(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var D={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Y(e,t){if(t.target==="openApi3")return X(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in D&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let l=D[s._def.typeName];return l&&!o.includes(l)?[...o,l]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,s)=>{let l=typeof s._def.value;switch(l){case"string":case"number":case"boolean":return[...o,l];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];case"symbol":case"undefined":case"function":default:return o}},[]);if(n.length===r.length){let o=n.filter((s,l,m)=>m.indexOf(s)===l);return{type:o.length>1?o:o[0],enum:r.reduce((s,l)=>s.includes(l._def.value)?s:[...s,l._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(s=>!n.includes(s))],[])};return X(e,t)}var X=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,o)=>i(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function ee(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"?{type:D[e.innerType._def.typeName],nullable:!0}:{type:[D[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=i(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=i(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function te(e,t){let r={type:"number"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"int":r.type="integer",O(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?u(r,"minimum",n.value,n.message,t):u(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),u(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?u(r,"maximum",n.value,n.message,t):u(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),u(r,"maximum",n.value,n.message,t));break;case"multipleOf":u(r,"multipleOf",n.value,n.message,t);break}return r}function re(e,t){let r=t.target==="openAi",n={type:"object",properties:{}},o=[],s=e.shape();for(let m in s){let p=s[m];if(p===void 0||p._def===void 0)continue;let b=xe(p);b&&r&&(p._def.typeName==="ZodOptional"&&(p=p._def.innerType),p.isNullable()||(p=p.nullable()),b=!1);let A=i(p._def,{...t,currentPath:[...t.currentPath,"properties",m],propertyPath:[...t.currentPath,"properties",m]});A!==void 0&&(n.properties[m]=A,b||o.push(m))}o.length&&(n.required=o);let l=ve(e,t);return l!==void 0&&(n.additionalProperties=l),n}function ve(e,t){if(e.catchall._def.typeName!=="ZodNever")return i(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function xe(e){try{return e.isOptional()}catch{return!0}}var ne=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return i(e.innerType._def,t);let r=i(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:d(t)},r]}:d(t)};var ae=(e,t)=>{if(t.pipeStrategy==="input")return i(e.in._def,t);if(t.pipeStrategy==="output")return i(e.out._def,t);let r=i(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=i(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function oe(e,t){return i(e.type._def,t)}function ie(e,t){let n={type:"array",uniqueItems:!0,items:i(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&u(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&u(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function se(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>i(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:i(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>i(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function pe(e){return{not:d(e)}}function ce(e){return d(e)}var ue=(e,t)=>i(e.innerType._def,t);var le=(e,t,r)=>{switch(t){case c.ZodString:return S(e,r);case c.ZodNumber:return te(e,r);case c.ZodObject:return re(e,r);case c.ZodBigInt:return C(e,r);case c.ZodBoolean:return I();case c.ZodDate:return Z(e,r);case c.ZodUndefined:return pe(r);case c.ZodNull:return Q(r);case c.ZodArray:return L(e,r);case c.ZodUnion:case c.ZodDiscriminatedUnion:return Y(e,r);case c.ZodIntersection:return V(e,r);case c.ZodTuple:return se(e,r);case c.ZodRecord:return j(e,r);case c.ZodLiteral:return W(e,r);case c.ZodEnum:return U(e);case c.ZodNativeEnum:return G(e);case c.ZodNullable:return ee(e,r);case c.ZodOptional:return ne(e,r);case c.ZodMap:return K(e,r);case c.ZodSet:return ie(e,r);case c.ZodLazy:return()=>e.getter()._def;case c.ZodPromise:return oe(e,r);case c.ZodNaN:case c.ZodNever:return H(r);case c.ZodEffects:return q(e,r);case c.ZodAny:return d(r);case c.ZodUnknown:return ce(r);case c.ZodDefault:return B(e,r);case c.ZodBranded:return k(e,r);case c.ZodReadonly:return ue(e,r);case c.ZodCatch:return z(e,r);case c.ZodPipeline:return ae(e,r);case c.ZodFunction:case c.ZodVoid:case c.ZodSymbol:return;default:return(n=>{})(t)}};function i(e,t,r=!1){let n=t.seen.get(e);if(t.override){let m=t.override?.(e,t,n,r);if(m!==M)return m}if(n&&!r){let m=De(n,t);if(m!==void 0)return m}let o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);let s=le(e,e.typeName,t),l=typeof s=="function"?i(s(),t):s;if(l&&Ae(e,t,l),t.postProcess){let m=t.postProcess(l,e,t);return o.jsonSchema=l,m}return o.jsonSchema=l,l}var De=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:P(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),d(t)):t.$refStrategy==="seen"?d(t):void 0}},Ae=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var N=(e,t)=>{let r=$(t),n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((p,[b,A])=>({...p,[b]:i(A._def,{...r,currentPath:[...r.basePath,r.definitionPath,b]},!0)??d(r)}),{}):void 0,o=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,s=i(e._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??d(r),l=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;l!==void 0&&(s.title=l),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let m=o===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:s}};return r.target==="jsonSchema7"?m.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(m.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in m||"oneOf"in m||"allOf"in m||"type"in m&&Array.isArray(m.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),m};import{z as a}from"zod";var h=a.record(a.string(),a.any()).describe("Represents a plain literal object."),Pe=a.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","void","location","availability"]).describe("Enum for field types."),ke=a.enum(["input","textarea","select","radio","checkbox","switch","carousel","button","label","calendar","map"]).describe("Enum for field components."),Se=a.enum(["simple","multiple"]).describe("Enum for field selection modes."),je=a.enum(["hidden","disabled"]).describe("Enum for field dependent behaviors."),_e=a.object({label:a.union([a.string(),h]).optional().describe("Label for the field item."),value:h.optional().describe("Value of the field item."),description:a.union([a.string(),h]).optional().describe("Description for the field item."),image:a.string().url().optional().describe("URL of an image for the field item."),nextNodeId:a.boolean().optional().describe("ID of the next node.")}).describe("Data transfer object for a field item."),Oe=a.enum(["property","httpRequest","mqRequest","function"]).describe("Enum for data provider source types."),v=a.object({exists:a.object({valueA:a.unknown(),valueB:a.boolean()}).optional().describe("Checks if a value exists."),equal:a.object({valueA:a.unknown(),valueB:a.unknown()}).optional().describe("Checks if two values are equal."),notEqual:a.object({valueA:a.unknown(),valueB:a.unknown()}).optional().describe("Checks if two values are not equal."),equalOrGreater:a.object({valueA:a.unknown(),valueB:a.unknown()}).optional().describe("Checks if valueA is equal to or greater than valueB."),equalOrLess:a.object({valueA:a.unknown(),valueB:a.unknown()}).optional().describe("Checks if valueA is equal to or less than valueB."),greater:a.object({valueA:a.unknown(),valueB:a.unknown()}).optional().describe("Checks if valueA is greater than valueB."),less:a.object({valueA:a.unknown(),valueB:a.unknown()}).optional().describe("Checks if valueA is less than valueB."),startsWith:a.object({valueA:a.string(),valueB:a.string()}).optional().describe("Checks if valueA starts with valueB."),contains:a.object({valueA:a.string(),valueB:a.string()}).optional().describe("Checks if valueA contains valueB."),includes:a.object({valueA:a.array(a.unknown()),valueB:a.unknown()}).optional().describe("Checks if valueA includes valueB.")}).describe("Data transfer object for conditional operators."),_=a.object({or:a.array(v).optional().describe("Array of OR conditions."),and:a.array(v).optional().describe("Array of AND conditions.")}).describe("Data transfer object for conditional group operators."),Ze=a.enum(["map","concat","filter","reduce","unique","join","flat","flatmap","sort","delete"]).describe("Enum for data transformer types."),we=a.object({type:Ze.describe("Type of the data transformer."),params:a.record(a.string(),a.any()).optional().describe("Parameters for the data transformer."),conditions:a.array(a.union([v,_])).optional().describe("Conditions for the data transformer."),require:a.array(a.string()).optional().describe("Required fields for the data transformer.")}).describe("Data transfer object for data transformers."),F=a.object({type:Oe.describe("Type of the data provider source."),name:a.string().optional().describe("Name of the data provider."),params:a.union([a.record(a.string(),a.unknown()),a.string()]).optional().describe("Parameters for the data provider."),persist:a.boolean().optional().describe("Whether to persist the data."),conditions:a.array(a.union([v,_])).optional().describe("Conditions for the data provider."),transformers:a.array(we).optional().describe("Transformers for the data provider."),require:a.array(a.string()).optional().describe("Required fields for the data provider.")}).describe("Data transfer object for data providers."),Te=a.object({name:a.string().describe("Name of the field."),type:Pe.describe("Type of the field."),label:a.union([a.string(),h]).optional().describe("Label for the field."),value:a.any().optional().describe("Value of the field."),component:ke.optional().describe("Component for the field."),selectionMode:Se.optional().describe("Selection mode for the field."),required:a.boolean().optional().describe("Whether the field is required."),placeholder:a.union([a.string(),h]).optional().describe("Placeholder for the field."),options:a.array(_e).optional().describe("Options for the field."),optionsProvider:F.optional().describe("Data provider for the field options."),configuration:h.optional().describe("Configuration for the field."),dependsOn:a.array(h).optional().describe("Fields that this field depends on."),dependentBehavior:je.optional().describe("Behavior of the field when its dependencies are not met."),conditions:a.array(h).optional().describe("Conditions for the field."),customError:h.optional().describe("Custom error message for the field.")}).describe("Data transfer object for a field."),Ne=a.enum(["submit","link","forward","script"]).describe("Enum for action types."),Fe=a.enum(["primary","secondary","success","warning","info","danger"]).describe("Enum for action variants."),Ee=a.object({src:a.string().url().describe("Source URL of the script."),preload:a.boolean().optional().describe("Whether to preload the script."),name:a.string().describe("Name of the script."),function:a.string().describe("Function to execute from the script."),params:a.record(a.string(),a.any()).optional().describe("Parameters for the script function.")}).describe("Data transfer object for scripts."),Me=a.string().describe("Enum for pipeline function types. TODO: Replace z.string() with z.enum([...]) with actual pipeline function types."),Re=h.describe("Data transfer object for fail flow. TODO: Define the actual structure for FailFlowSchema if it's not a plain literal object."),$e=a.object({function:Me.describe("Function type for the pipeline."),params:h.optional().describe("Parameters for the pipeline function."),conditions:a.array(a.union([v,_])).optional().describe("Conditions for the pipeline."),require:a.array(a.string()).optional().describe("Required fields for the pipeline."),onFail:Re.optional().describe("Fail flow configuration.")}).describe("Data transfer object for an action pipeline."),Le=a.object({id:a.string().describe("ID of the action."),label:a.union([a.string(),h]).optional().describe("Label for the action."),type:Ne.describe("Type of the action."),variant:Fe.optional().describe("Variant of the action."),url:a.string().optional().describe("URL for link-type actions."),pipeline:a.array($e).optional().describe("Pipeline for the action."),conditions:a.array(h).optional().describe("Conditions for the action."),nextStepId:a.string().optional().describe("ID of the next step."),scripts:a.array(Ee).optional().describe("Scripts associated with the action.")}).describe("Data transfer object for an action."),Ce=a.object({conditions:a.array(a.union([v,_])).optional().describe("Conditions for the routing rule."),nextStepId:a.string().describe("ID of the next step if conditions are met.")}).describe("Data transfer object for routing."),me=a.object({id:a.string().describe("ID of the node."),initialNode:a.boolean().optional().describe("Whether this is the initial node."),finalNode:a.boolean().optional().describe("Whether this is a final node."),title:a.union([a.string(),h]).optional().describe("Title of the node."),description:a.string().optional().describe("Description of the node."),fields:a.array(Te).optional().describe("Fields in the node."),actions:a.array(Le).optional().describe("Actions available in the node."),routing:a.array(Ce).optional().describe("Routing rules for the node."),stateProviders:a.array(F).optional().describe("Data providers for state management."),trackingProviders:a.array(F).optional().describe("Data providers for tracking."),stageId:a.string().optional().describe("ID of the stage this node belongs to."),translations:h.optional().describe("Translations for the node.")}).describe("Data transfer object for a node."),Mn=a.array(me).describe("List of nodes."),de=a.object({nodes:a.array(me).describe("List of nodes.")});var ze=N(de,"OnliveFlowSchema");Ie("flow-configuration.schema.json",JSON.stringify(ze,null,2),"utf-8");
|
|
6
|
+
]`;continue}o+=n[p],n[p]==="\\"?s=!0:l&&n[p]==="]"?l=!1:!l&&n[p]==="["&&(l=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function j(e,t){if(t.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),t.target==="openApi3"&&e.keyType?._def.typeName===x.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((n,o)=>({...n,[o]:i(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",o]})??d(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let r={type:"object",additionalProperties:i(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return r;if(e.keyType?._def.typeName===x.ZodString&&e.keyType._def.checks?.length){let{type:n,...o}=S(e.keyType._def,t);return{...r,propertyNames:o}}else{if(e.keyType?._def.typeName===x.ZodEnum)return{...r,propertyNames:{enum:e.keyType._def.values}};if(e.keyType?._def.typeName===x.ZodBranded&&e.keyType._def.type._def.typeName===x.ZodString&&e.keyType._def.type._def.checks?.length){let{type:n,...o}=k(e.keyType._def,t);return{...r,propertyNames:o}}}return r}function K(e,t){if(t.mapStrategy==="record")return j(e,t);let r=i(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||d(t),n=i(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||d(t);return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function G(e){let t=e.values,n=Object.keys(e.values).filter(s=>typeof t[t[s]]!="number").map(s=>t[s]),o=Array.from(new Set(n.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function H(e){return e.target==="openAi"?void 0:{not:d({...e,currentPath:[...e.currentPath,"not"]})}}function Q(e){return e.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var D={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Y(e,t){if(t.target==="openApi3")return X(e,t);let r=e.options instanceof Map?Array.from(e.options.values()):e.options;if(r.every(n=>n._def.typeName in D&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let l=D[s._def.typeName];return l&&!o.includes(l)?[...o,l]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,s)=>{let l=typeof s._def.value;switch(l){case"string":case"number":case"boolean":return[...o,l];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];default:return o}},[]);if(n.length===r.length){let o=n.filter((s,l,m)=>m.indexOf(s)===l);return{type:o.length>1?o:o[0],enum:r.reduce((s,l)=>s.includes(l._def.value)?s:[...s,l._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(s=>!n.includes(s))],[])};return X(e,t)}var X=(e,t)=>{let r=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((n,o)=>i(n._def,{...t,currentPath:[...t.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!t.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function ee(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return t.target==="openApi3"?{type:D[e.innerType._def.typeName],nullable:!0}:{type:[D[e.innerType._def.typeName],"null"]};if(t.target==="openApi3"){let n=i(e.innerType._def,{...t,currentPath:[...t.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=i(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function te(e,t){let r={type:"number"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"int":r.type="integer",O(r,"type",n.message,t);break;case"min":t.target==="jsonSchema7"?n.inclusive?u(r,"minimum",n.value,n.message,t):u(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),u(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?u(r,"maximum",n.value,n.message,t):u(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),u(r,"maximum",n.value,n.message,t));break;case"multipleOf":u(r,"multipleOf",n.value,n.message,t);break}return r}function re(e,t){let r=t.target==="openAi",n={type:"object",properties:{}},o=[],s=e.shape();for(let m in s){let p=s[m];if(p===void 0||p._def===void 0)continue;let b=xe(p);b&&r&&(p._def.typeName==="ZodOptional"&&(p=p._def.innerType),p.isNullable()||(p=p.nullable()),b=!1);let A=i(p._def,{...t,currentPath:[...t.currentPath,"properties",m],propertyPath:[...t.currentPath,"properties",m]});A!==void 0&&(n.properties[m]=A,b||o.push(m))}o.length&&(n.required=o);let l=ve(e,t);return l!==void 0&&(n.additionalProperties=l),n}function ve(e,t){if(e.catchall._def.typeName!=="ZodNever")return i(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function xe(e){try{return e.isOptional()}catch{return!0}}var ne=(e,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return i(e.innerType._def,t);let r=i(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:d(t)},r]}:d(t)};var ae=(e,t)=>{if(t.pipeStrategy==="input")return i(e.in._def,t);if(t.pipeStrategy==="output")return i(e.out._def,t);let r=i(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),n=i(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function oe(e,t){return i(e.type._def,t)}function ie(e,t){let n={type:"array",uniqueItems:!0,items:i(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&u(n,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&u(n,"maxItems",e.maxSize.value,e.maxSize.message,t),n}function se(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((r,n)=>i(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:i(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((r,n)=>i(r._def,{...t,currentPath:[...t.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function pe(e){return{not:d(e)}}function ce(e){return d(e)}var ue=(e,t)=>i(e.innerType._def,t);var le=(e,t,r)=>{switch(t){case c.ZodString:return S(e,r);case c.ZodNumber:return te(e,r);case c.ZodObject:return re(e,r);case c.ZodBigInt:return C(e,r);case c.ZodBoolean:return I();case c.ZodDate:return Z(e,r);case c.ZodUndefined:return pe(r);case c.ZodNull:return Q(r);case c.ZodArray:return L(e,r);case c.ZodUnion:case c.ZodDiscriminatedUnion:return Y(e,r);case c.ZodIntersection:return V(e,r);case c.ZodTuple:return se(e,r);case c.ZodRecord:return j(e,r);case c.ZodLiteral:return W(e,r);case c.ZodEnum:return U(e);case c.ZodNativeEnum:return G(e);case c.ZodNullable:return ee(e,r);case c.ZodOptional:return ne(e,r);case c.ZodMap:return K(e,r);case c.ZodSet:return ie(e,r);case c.ZodLazy:return()=>e.getter()._def;case c.ZodPromise:return oe(e,r);case c.ZodNaN:case c.ZodNever:return H(r);case c.ZodEffects:return q(e,r);case c.ZodAny:return d(r);case c.ZodUnknown:return ce(r);case c.ZodDefault:return B(e,r);case c.ZodBranded:return k(e,r);case c.ZodReadonly:return ue(e,r);case c.ZodCatch:return z(e,r);case c.ZodPipeline:return ae(e,r);case c.ZodFunction:case c.ZodVoid:case c.ZodSymbol:return;default:return(n=>{})(t)}};function i(e,t,r=!1){let n=t.seen.get(e);if(t.override){let m=t.override?.(e,t,n,r);if(m!==M)return m}if(n&&!r){let m=De(n,t);if(m!==void 0)return m}let o={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,o);let s=le(e,e.typeName,t),l=typeof s=="function"?i(s(),t):s;if(l&&Ae(e,t,l),t.postProcess){let m=t.postProcess(l,e,t);return o.jsonSchema=l,m}return o.jsonSchema=l,l}var De=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:P(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((r,n)=>t.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),d(t)):t.$refStrategy==="seen"?d(t):void 0}},Ae=(e,t,r)=>(e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r);var N=(e,t)=>{let r=$(t),n=typeof t=="object"&&t.definitions?Object.entries(t.definitions).reduce((p,[b,A])=>({...p,[b]:i(A._def,{...r,currentPath:[...r.basePath,r.definitionPath,b]},!0)??d(r)}),{}):void 0,o=typeof t=="string"?t:t?.nameStrategy==="title"?void 0:t?.name,s=i(e._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??d(r),l=typeof t=="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;l!==void 0&&(s.title=l),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:r.$refStrategy==="relative"?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));let m=o===void 0?n?{...s,[r.definitionPath]:n}:s:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...n,[o]:s}};return r.target==="jsonSchema7"?m.$schema="http://json-schema.org/draft-07/schema#":(r.target==="jsonSchema2019-09"||r.target==="openAi")&&(m.$schema="https://json-schema.org/draft/2019-09/schema#"),r.target==="openAi"&&("anyOf"in m||"oneOf"in m||"allOf"in m||"type"in m&&Array.isArray(m.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),m};import{z as a}from"zod";var h=a.record(a.string(),a.any()).describe("Represents a plain literal object."),Pe=a.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","void","location","availability"]).describe("Enum for field types."),ke=a.enum(["input","textarea","select","radio","checkbox","switch","carousel","button","label","calendar","map","grid","rating","phone_input","stripe_payment"]).describe("Enum for field components."),Se=a.enum(["simple","multiple"]).describe("Enum for field selection modes."),je=a.enum(["hidden","disabled"]).describe("Enum for field dependent behaviors."),_e=a.object({label:a.union([a.string(),h]).optional().describe("Label for the field item."),value:h.optional().describe("Value of the field item."),description:a.union([a.string(),h]).optional().describe("Description for the field item."),image:a.string().url().optional().describe("URL of an image for the field item."),nextNodeId:a.boolean().optional().describe("ID of the next node.")}).describe("Data transfer object for a field item."),Oe=a.enum(["property","httpRequest","mqRequest","function"]).describe("Enum for data provider source types."),v=a.object({exists:a.object({valueA:a.unknown(),valueB:a.boolean()}).optional().describe("Checks if a value exists."),equal:a.object({valueA:a.unknown(),valueB:a.unknown()}).optional().describe("Checks if two values are equal."),notEqual:a.object({valueA:a.unknown(),valueB:a.unknown()}).optional().describe("Checks if two values are not equal."),equalOrGreater:a.object({valueA:a.unknown(),valueB:a.unknown()}).optional().describe("Checks if valueA is equal to or greater than valueB."),equalOrLess:a.object({valueA:a.unknown(),valueB:a.unknown()}).optional().describe("Checks if valueA is equal to or less than valueB."),greater:a.object({valueA:a.unknown(),valueB:a.unknown()}).optional().describe("Checks if valueA is greater than valueB."),less:a.object({valueA:a.unknown(),valueB:a.unknown()}).optional().describe("Checks if valueA is less than valueB."),startsWith:a.object({valueA:a.string(),valueB:a.string()}).optional().describe("Checks if valueA starts with valueB."),contains:a.object({valueA:a.string(),valueB:a.string()}).optional().describe("Checks if valueA contains valueB."),includes:a.object({valueA:a.array(a.unknown()),valueB:a.unknown()}).optional().describe("Checks if valueA includes valueB.")}).describe("Data transfer object for conditional operators."),_=a.object({or:a.array(v).optional().describe("Array of OR conditions."),and:a.array(v).optional().describe("Array of AND conditions.")}).describe("Data transfer object for conditional group operators."),Ze=a.enum(["map","concat","filter","reduce","unique","join","flat","flatmap","sort","delete"]).describe("Enum for data transformer types."),we=a.object({type:Ze.describe("Type of the data transformer."),params:a.record(a.string(),a.any()).optional().describe("Parameters for the data transformer."),conditions:a.array(a.union([v,_])).optional().describe("Conditions for the data transformer."),require:a.array(a.string()).optional().describe("Required fields for the data transformer.")}).describe("Data transfer object for data transformers."),F=a.object({type:Oe.describe("Type of the data provider source."),name:a.string().optional().describe("Name of the data provider."),params:a.union([a.record(a.string(),a.unknown()),a.string()]).optional().describe("Parameters for the data provider."),persist:a.boolean().optional().describe("Whether to persist the data."),conditions:a.array(a.union([v,_])).optional().describe("Conditions for the data provider."),transformers:a.array(we).optional().describe("Transformers for the data provider."),require:a.array(a.string()).optional().describe("Required fields for the data provider.")}).describe("Data transfer object for data providers."),Te=a.object({name:a.string().describe("Name of the field."),type:Pe.describe("Type of the field."),label:a.union([a.string(),h]).optional().describe("Label for the field."),value:a.any().optional().describe("Value of the field."),component:ke.optional().describe("Component for the field."),selectionMode:Se.optional().describe("Selection mode for the field."),required:a.boolean().optional().describe("Whether the field is required."),placeholder:a.union([a.string(),h]).optional().describe("Placeholder for the field."),options:a.array(_e).optional().describe("Options for the field."),optionsProvider:F.optional().describe("Data provider for the field options."),configuration:h.optional().describe("Configuration for the field."),dependsOn:a.array(h).optional().describe("Fields that this field depends on."),dependentBehavior:je.optional().describe("Behavior of the field when its dependencies are not met."),conditions:a.array(h).optional().describe("Conditions for the field."),customError:h.optional().describe("Custom error message for the field.")}).describe("Data transfer object for a field."),Ne=a.enum(["submit","link","forward","script"]).describe("Enum for action types."),Fe=a.enum(["primary","secondary","success","warning","info","danger"]).describe("Enum for action variants."),Ee=a.object({src:a.string().url().describe("Source URL of the script."),preload:a.boolean().optional().describe("Whether to preload the script."),name:a.string().describe("Name of the script."),function:a.string().describe("Function to execute from the script."),params:a.record(a.string(),a.any()).optional().describe("Parameters for the script function.")}).describe("Data transfer object for scripts."),Me=a.string().describe("Enum for pipeline function types. TODO: Replace z.string() with z.enum([...]) with actual pipeline function types."),Re=h.describe("Data transfer object for fail flow. TODO: Define the actual structure for FailFlowSchema if it's not a plain literal object."),$e=a.object({function:Me.describe("Function type for the pipeline."),params:h.optional().describe("Parameters for the pipeline function."),conditions:a.array(a.union([v,_])).optional().describe("Conditions for the pipeline."),require:a.array(a.string()).optional().describe("Required fields for the pipeline."),onFail:Re.optional().describe("Fail flow configuration.")}).describe("Data transfer object for an action pipeline."),Le=a.object({id:a.string().describe("ID of the action."),label:a.union([a.string(),h]).optional().describe("Label for the action."),type:Ne.describe("Type of the action."),variant:Fe.optional().describe("Variant of the action."),url:a.string().optional().describe("URL for link-type actions."),pipeline:a.array($e).optional().describe("Pipeline for the action."),conditions:a.array(h).optional().describe("Conditions for the action."),nextStepId:a.string().optional().describe("ID of the next step."),scripts:a.array(Ee).optional().describe("Scripts associated with the action.")}).describe("Data transfer object for an action."),Ce=a.object({conditions:a.array(a.union([v,_])).optional().describe("Conditions for the routing rule."),nextStepId:a.string().describe("ID of the next step if conditions are met.")}).describe("Data transfer object for routing."),me=a.object({id:a.string().describe("ID of the node."),initialNode:a.boolean().optional().describe("Whether this is the initial node."),finalNode:a.boolean().optional().describe("Whether this is a final node."),title:a.union([a.string(),h]).optional().describe("Title of the node."),description:a.string().optional().describe("Description of the node."),fields:a.array(Te).optional().describe("Fields in the node."),actions:a.array(Le).optional().describe("Actions available in the node."),routing:a.array(Ce).optional().describe("Routing rules for the node."),stateProviders:a.array(F).optional().describe("Data providers for state management."),trackingProviders:a.array(F).optional().describe("Data providers for tracking."),stageId:a.string().optional().describe("ID of the stage this node belongs to."),translations:h.optional().describe("Translations for the node.")}).describe("Data transfer object for a node."),Mn=a.array(me).describe("List of nodes."),de=a.object({nodes:a.array(me).describe("List of nodes.")});var ze=N(de,"OnliveFlowSchema");Ie("flow-configuration.schema.json",JSON.stringify(ze,null,2),"utf-8");
|