@onlive.ai/flow-client 0.1.49 → 0.1.54

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.
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/flow-client v0.1.49 | © 2025 Onlive.ai */
2
- import{GetAvailabilityFilters as s,GetAvailabilityOptions as c}from"@onlive.ai/calendar";import{z as o}from"zod";import{z as t}from"zod";var l=t.object({enabled:t.boolean().default(!1).optional(),data:t.custom().optional(),removeExtraneousValues:t.boolean().default(!0).optional(),allowBotTraffic:t.boolean().default(!1).optional(),adapters:t.array(t.string()).default([]).optional(),apiUrl:t.string().url().optional(),emitters:t.object({windowEvent:t.boolean().optional(),dataLayer:t.boolean().optional(),windowPostMessage:t.boolean().optional()}).optional()});var _={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},L=o.string().nonempty(),I=o.object({baseUrl:o.string().url().nonempty(),flowId:o.string().length(24).nonempty(),organizationId:o.string().uuid().nonempty(),lang:o.string().length(2).nonempty(),tracking:l.optional(),devMode:o.boolean().default(!1).optional()}),D=o.object({state:o.record(o.string(),o.any()).optional(),fields:o.record(o.string(),o.any()).optional()}),S=o.object({currentStepId:o.string().nonempty(),actionId:o.string().nonempty()}),p=o.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),m=o.object({name:o.string(),value:o.string().optional(),icon:o.string().optional(),type:o.enum(["url","email","phone"]).optional()}),b=o.object({lat:o.number().min(-90).max(90),lng:o.number().min(-180).max(180),meta:o.record(o.string(),o.any()).optional(),properties:o.record(o.string(),m).optional()}),g=o.object({datetime:o.string().datetime(),meta:o.record(o.string(),o.any()).optional()}),e=o.union([o.string(),o.number(),o.boolean(),b,g]),i=o.object({content:o.object({icon:o.string().optional(),url:o.string().url().optional(),width:o.string().optional(),height:o.string().optional(),scale:o.number().optional()}).optional(),background:o.string().optional(),glyph:o.object({color:o.string().optional(),url:o.string().url().optional(),icon:o.string().optional()}).optional(),borderColor:o.string().optional(),scale:o.number().optional()}),a=o.custom(r=>/^\d{4}-\d{2}-\d{2}$/.test(r),{message:"Date must be in 'YYYY-MM-DD' format"}),n=o.object({text:o.string().optional(),icon:o.string().optional()}),u=o.object({name:o.string().nonempty(),label:o.string().optional(),value:o.union([e,o.array(e)]).optional(),type:p,component:o.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","button","label","map","calendar"]).optional(),disabled:o.boolean().optional(),readonly:o.boolean().optional(),multiple:o.boolean().optional(),placeholder:o.string().optional(),options:o.array(o.object({label:o.string().nonempty(),value:e.optional(),image:o.string().url().optional(),description:o.string().optional(),disabled:o.boolean().optional(),attributes:o.record(o.string(),o.any()).optional(),dependsOn:o.array(o.object({fieldName:o.string().nonempty(),value:e.optional(),operator:o.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()})).optional()})).optional(),required:o.boolean().optional(),configuration:o.object({generic:o.object({error:o.object({icon:o.string().optional(),showOn:o.enum(["input","blur"]).optional()})}).optional(),input:o.object({min:o.number().optional(),max:o.number().optional(),step:o.number().optional(),pattern:o.string().refine(r=>{try{return new RegExp(r),!0}catch{return!1}},"Invalid regex pattern").optional(),minLength:o.number().optional(),maxLength:o.number().optional(),exactLength:o.number().optional(),prefix:o.object({default:n.optional(),success:n.optional(),error:n.optional()}).optional(),suffix:o.object({default:n.optional(),success:n.optional(),error:n.optional()}).optional(),clearable:o.boolean().optional(),floatingLabel:o.boolean().optional()}).optional(),textarea:o.object({rows:o.number().optional()}).optional(),checkbox:o.object({layout:o.enum(["horizontal","vertical"])}).optional(),rating:o.object({icons:o.array(o.string()).optional(),color:o.string().optional(),precision:o.number().optional()}).optional(),map:o.object({apiKey:o.string().optional(),region:o.string().length(2).optional(),center:o.object({lat:o.number().min(-90).max(90),lng:o.number().min(-180).max(180)}).optional(),showMap:o.enum(["always","on-search","never"]).optional(),zoom:o.object({initial:o.number().optional(),focus:o.number().optional(),max:o.number().optional(),min:o.number().optional()}).optional(),controls:o.object({fullscreen:o.boolean().optional(),mapType:o.boolean().optional(),zoom:o.boolean().optional(),rotate:o.boolean().optional(),scale:o.boolean().optional(),streetView:o.boolean().optional()}).optional(),initialLocations:o.number().optional(),maxLocations:o.number().optional(),distanceUnit:o.enum(["km","mi"]).optional(),distanceFormat:o.enum(["short","long"]).optional(),options:o.object({show:o.enum(["always","on-search","never"]).optional(),component:o.enum(["list-button","list-radio","carousel"]).optional(),searchLabel:o.string().optional(),detailsLabel:o.string().optional()}).optional(),search:o.object({value:o.string().optional(),button:o.object({label:o.string().optional(),position:o.enum(["inside","outside"]).optional()}).optional(),placeholder:o.string().optional(),noResultsText:o.string().optional(),autocomplete:o.boolean().optional(),clearable:o.boolean().optional(),mode:o.enum(["address","postcode"]).default("postcode").optional(),locationButton:o.object({icon:o.string().optional(),position:o.enum(["left","right"]).optional()}).optional(),prefix:o.object({default:n.optional()}).optional(),suffix:o.object({default:n.optional()}).optional(),mappedResults:o.object({mapping:o.record(o.string(),o.array(o.object({key:o.string(),value:o.string()})))}).optional()}).optional(),distanceRange:o.object({initial:o.number().optional(),min:o.number().optional(),max:o.number().optional(),step:o.number().optional()}).optional(),mapRegion:o.object({strokeColor:o.string().optional(),fillColor:o.string().optional(),fillOpacity:o.number().optional()}).optional(),locationPin:i.optional(),markerPin:o.object({default:i.optional(),hover:i.optional(),selected:i.optional()}).optional(),infoWindow:o.object({button:o.object({label:o.string(),action:o.string()}).optional()}).optional()}).optional(),calendar:o.object({current:o.object({month:o.number().min(0).max(11).optional(),year:o.number().optional()}).optional(),range:o.object({min:a.optional(),max:a.optional(),enabled:o.array(a).optional(),disabled:o.array(a).optional()}).optional(),time:o.object({label:o.string().optional(),format:o.enum(["12h","24h"]).optional(),component:o.enum(["carousel","list"]).optional()}).optional(),api:o.object({url:o.string().url().nonempty(),organizationId:o.string().nonempty(),availability:o.object({filters:s,options:c.optional()}).optional()}).optional()}).optional()}).optional(),dependsOn:o.array(o.object({fieldName:o.string().nonempty(),value:e.optional(),operator:o.enum(["exists","equal","not-equal","contains","not-contains","greater-than","less-than"]).optional()})).optional(),dependentBehavior:o.enum(["hidden","disabled"]).optional(),customError:o.object({required:o.string().optional(),invalid:o.string().optional(),minLength:o.string().optional(),maxLength:o.string().optional(),minValue:o.string().optional(),maxValue:o.string().optional(),mismatch:o.string().optional()}).optional()}),d=o.object({src:o.string().url(),preload:o.boolean().optional(),name:o.string().nonempty(),function:o.string().nonempty(),params:o.record(o.string(),o.any()).optional()}),y=o.object({name:o.enum(["organization_call","close_panel"]),params:o.record(o.string(),o.any()).optional()}),f=o.object({id:o.string().nonempty(),type:o.enum(["submit","navigate","link","back","dispatcher","script"]),label:o.string().nonempty(),variant:o.enum(["primary","secondary","success","danger","warning","info"]),url:o.string().url().optional(),scripts:d.array().optional(),events:y.array().optional()}),x=o.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"]),j=o.object({type:o.enum(["redirect"]),params:o.record(o.string(),o.any()).optional()}),N=o.object({id:o.string().nonempty(),title:o.string().optional(),description:o.string().optional(),stageId:o.string().optional(),state:o.record(o.string(),o.any()).optional(),fields:o.array(u).optional(),actions:o.array(f).optional(),result:o.object({postActions:o.array(j).optional(),pipelines:o.array(o.object({name:o.string(),data:o.object({})})).optional(),tracking:o.record(o.string(),o.any()).optional()}).optional(),error:o.object({code:x,message:o.string().optional(),fields:o.array(o.object({name:o.string(),type:p,value:o.any(),error:o.string()})).optional()}).optional(),isFinal:o.boolean().optional()}),v=o.object({id:o.string().length(24).nonempty(),organizationId:o.string().uuid().nonempty(),updatedAt:o.string().datetime().nonempty(),stages:o.array(o.object({id:o.string().nonempty(),name:o.string().nonempty()}))}),w=o.object({status:o.enum(["ok","error"]),step:N,flow:v}),z=o.enum(["track"]);export{f as Action,y as ActionEvent,d as ActionScript,I as ClientOptions,_ as DEFAULT_CLIENT_OPTIONS,x as ErrorCode,z as EventType,u as Field,v as Flow,w as FlowContext,D as GetStepOptions,S as GetStepTrigger,j as PostAction,N as Step,L as StepId};
1
+ /*! @onlive.ai/flow-client v0.1.54 | © 2025 Onlive.ai */
2
+ import{GetAvailabilityFilters as s,GetAvailabilityOptions as c}from"@onlive.ai/calendar";import{z as o}from"zod";import{z as t}from"zod";var l=t.object({enabled:t.boolean().default(!1).optional(),data:t.custom().optional(),removeExtraneousValues:t.boolean().default(!0).optional(),allowBotTraffic:t.boolean().default(!1).optional(),adapters:t.array(t.string()).default([]).optional(),apiUrl:t.string().url().optional(),emitters:t.object({windowEvent:t.boolean().optional(),dataLayer:t.boolean().optional(),windowPostMessage:t.boolean().optional()}).optional()});var _={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},L=o.string().nonempty(),I=o.object({baseUrl:o.string().url().nonempty(),flowId:o.string().length(24).nonempty(),organizationId:o.string().uuid().nonempty(),lang:o.string().length(2).nonempty(),tracking:l.optional(),devMode:o.boolean().default(!1).optional()}),D=o.object({state:o.record(o.string(),o.any()).optional(),fields:o.record(o.string(),o.any()).optional()}),w=o.object({currentStepId:o.string().nonempty(),actionId:o.string().nonempty()}),p=o.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),m=o.object({name:o.string(),value:o.string().optional(),icon:o.string().optional(),type:o.enum(["url","email","phone"]).optional()}),b=o.object({lat:o.number().min(-90).max(90),lng:o.number().min(-180).max(180),meta:o.record(o.string(),o.any()).optional(),properties:o.record(o.string(),m).optional()}),g=o.object({datetime:o.string().datetime(),meta:o.record(o.string(),o.any()).optional()}),e=o.union([o.string(),o.number(),o.boolean(),b,g]),i=o.object({content:o.object({icon:o.string().optional(),url:o.string().url().optional(),width:o.string().optional(),height:o.string().optional(),scale:o.number().optional()}).optional(),background:o.string().optional(),glyph:o.object({color:o.string().optional(),url:o.string().url().optional(),icon:o.string().optional()}).optional(),borderColor:o.string().optional(),scale:o.number().optional()}),a=o.custom(r=>/^\d{4}-\d{2}-\d{2}$/.test(r),{message:"Date must be in 'YYYY-MM-DD' format"}),n=o.object({text:o.string().optional(),icon:o.string().optional()}),u=o.object({name:o.string().nonempty(),label:o.string().optional(),value:o.union([e,o.array(e)]).optional(),type:p,component:o.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","button","label","map","calendar"]).optional(),disabled:o.boolean().optional(),readonly:o.boolean().optional(),multiple:o.boolean().optional(),placeholder:o.string().optional(),options:o.array(o.object({label:o.string().nonempty(),value:e.optional(),image:o.string().url().optional(),description:o.string().optional(),disabled:o.boolean().optional(),attributes:o.record(o.string(),o.any()).optional(),dependsOn:o.array(o.object({fieldName:o.string().nonempty(),value:e.optional(),operator:o.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()})).optional()})).optional(),required:o.boolean().optional(),configuration:o.object({generic:o.object({error:o.object({icon:o.string().optional(),showOn:o.enum(["input","blur"]).optional()})}).optional(),input:o.object({min:o.number().optional(),max:o.number().optional(),step:o.number().optional(),pattern:o.string().refine(r=>{try{return new RegExp(r),!0}catch{return!1}},"Invalid regex pattern").optional(),minLength:o.number().optional(),maxLength:o.number().optional(),exactLength:o.number().optional(),prefix:o.object({default:n.optional(),success:n.optional(),error:n.optional()}).optional(),suffix:o.object({default:n.optional(),success:n.optional(),error:n.optional()}).optional(),clearable:o.boolean().optional(),floatingLabel:o.boolean().optional()}).optional(),textarea:o.object({rows:o.number().optional()}).optional(),checkbox:o.object({layout:o.enum(["horizontal","vertical"])}).optional(),rating:o.object({icons:o.array(o.string()).optional(),color:o.string().optional(),precision:o.number().optional()}).optional(),carousel:o.object({loop:o.boolean().optional(),mouseDragging:o.boolean().optional(),itemsPerPage:o.number().optional(),showArrows:o.boolean().optional(),showDots:o.boolean().optional(),autoplay:o.boolean().optional(),autoplaySpeed:o.number().optional(),clickableItems:o.object({actionId:o.string()}).optional()}).optional(),map:o.object({apiKey:o.string().optional(),region:o.string().length(2).optional(),center:o.object({lat:o.number().min(-90).max(90),lng:o.number().min(-180).max(180)}).optional(),showMap:o.enum(["always","on-search","never"]).optional(),zoom:o.object({initial:o.number().optional(),focus:o.number().optional(),max:o.number().optional(),min:o.number().optional()}).optional(),controls:o.object({fullscreen:o.boolean().optional(),mapType:o.boolean().optional(),zoom:o.boolean().optional(),rotate:o.boolean().optional(),scale:o.boolean().optional(),streetView:o.boolean().optional()}).optional(),initialLocations:o.number().optional(),maxLocations:o.number().optional(),distanceUnit:o.enum(["km","mi"]).optional(),distanceFormat:o.enum(["short","long"]).optional(),options:o.object({show:o.enum(["always","on-search","never"]).optional(),component:o.enum(["list-button","list-radio","carousel"]).optional(),searchLabel:o.string().optional(),detailsLabel:o.string().optional()}).optional(),search:o.object({value:o.string().optional(),button:o.object({label:o.string().optional(),position:o.enum(["inside","outside"]).optional()}).optional(),placeholder:o.string().optional(),noResultsText:o.string().optional(),autocomplete:o.boolean().optional(),clearable:o.boolean().optional(),mode:o.enum(["address","postcode"]).default("postcode").optional(),locationButton:o.object({icon:o.string().optional(),position:o.enum(["left","right"]).optional()}).optional(),prefix:o.object({default:n.optional()}).optional(),suffix:o.object({default:n.optional()}).optional(),mappedResults:o.object({mapping:o.record(o.string(),o.array(o.object({key:o.string(),value:o.string()})))}).optional()}).optional(),distanceRange:o.object({initial:o.number().optional(),min:o.number().optional(),max:o.number().optional(),step:o.number().optional()}).optional(),mapRegion:o.object({strokeColor:o.string().optional(),fillColor:o.string().optional(),fillOpacity:o.number().optional()}).optional(),locationPin:i.optional(),markerPin:o.object({default:i.optional(),hover:i.optional(),selected:i.optional()}).optional(),infoWindow:o.object({button:o.object({label:o.string(),action:o.string()}).optional()}).optional()}).optional(),calendar:o.object({current:o.object({month:o.number().min(0).max(11).optional(),year:o.number().optional()}).optional(),range:o.object({min:a.optional(),max:a.optional(),enabled:o.array(a).optional(),disabled:o.array(a).optional()}).optional(),time:o.object({label:o.string().optional(),format:o.enum(["12h","24h"]).optional(),component:o.enum(["carousel","list"]).optional()}).optional(),api:o.object({url:o.string().url().nonempty(),organizationId:o.string().nonempty(),availability:o.object({filters:s,options:c.optional()}).optional()}).optional()}).optional()}).optional(),dependsOn:o.array(o.object({fieldName:o.string().nonempty(),value:e.optional(),operator:o.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()})).optional(),dependentBehavior:o.enum(["hidden","disabled"]).optional(),customError:o.object({required:o.string().optional(),invalid:o.string().optional(),minLength:o.string().optional(),maxLength:o.string().optional(),minValue:o.string().optional(),maxValue:o.string().optional(),mismatch:o.string().optional()}).optional()}),d=o.object({src:o.string().url(),preload:o.boolean().optional(),name:o.string().nonempty(),function:o.string().nonempty(),params:o.record(o.string(),o.any()).optional()}),y=o.object({name:o.enum(["organization_call","close_panel"]),params:o.record(o.string(),o.any()).optional()}),f=o.object({id:o.string().nonempty(),type:o.enum(["submit","navigate","link","back","dispatcher","script"]),label:o.string().nonempty(),variant:o.enum(["primary","secondary","success","danger","warning","info"]),url:o.string().url().optional(),scripts:d.array().optional(),events:y.array().optional()}),x=o.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"]),j=o.object({type:o.enum(["redirect"]),params:o.record(o.string(),o.any()).optional()}),A=o.object({id:o.string().nonempty(),title:o.string().optional(),description:o.string().optional(),stageId:o.string().optional(),state:o.record(o.string(),o.any()).optional(),fields:o.array(u).optional(),actions:o.array(f).optional(),result:o.object({postActions:o.array(j).optional(),pipelines:o.array(o.object({name:o.string(),data:o.object({})})).optional(),tracking:o.record(o.string(),o.any()).optional()}).optional(),error:o.object({code:x,message:o.string().optional(),fields:o.array(o.object({name:o.string(),type:p,value:o.any(),error:o.string()})).optional()}).optional(),isFinal:o.boolean().optional()}),N=o.object({id:o.string().length(24).nonempty(),organizationId:o.string().uuid().nonempty(),updatedAt:o.string().datetime().nonempty(),stages:o.array(o.object({id:o.string().nonempty(),name:o.string().nonempty()}))}),S=o.object({status:o.enum(["ok","error"]),step:A,flow:N}),P=o.enum(["track"]);export{f as Action,y as ActionEvent,d as ActionScript,I as ClientOptions,_ as DEFAULT_CLIENT_OPTIONS,x as ErrorCode,P as EventType,u as Field,N as Flow,S as FlowContext,D as GetStepOptions,w as GetStepTrigger,j as PostAction,A as Step,L as StepId};
package/flow.types.cjs CHANGED
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/flow-client v0.1.49 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/flow-client v0.1.54 | © 2025 Onlive.ai */
2
2
  "use strict";var d=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var T=(i,t)=>{for(var s in t)d(i,s,{get:t[s],enumerable:!0})},P=(i,t,s,p)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of F(t))!E.call(i,n)&&n!==s&&d(i,n,{get:()=>t[n],enumerable:!(p=B(t,n))||p.enumerable});return i};var R=i=>P(d({},"__esModule",{value:!0}),i);var L={};T(L,{ActionDtoSchema:()=>C,ActionPipelineDtoSchema:()=>A,ActionTypeEnumSchema:()=>j,ActionVariantEnumSchema:()=>x,ConditionalGroupOperatorDtoSchema:()=>a,ConditionalOperatorDtoSchema:()=>r,DataProviderDtoSchema:()=>c,DataProviderSourceTypeSchema:()=>v,DataTransformerDtoSchema:()=>y,DataTransformerTypeSchema:()=>g,FailFlowSchema:()=>k,FieldComponentEnumSchema:()=>b,FieldDependentBehaviorEnumSchema:()=>h,FieldDtoSchema:()=>D,FieldItemDtoSchema:()=>m,FieldSelectionModeSchema:()=>u,FieldTypeEnumSchema:()=>f,FlowDtoSchema:()=>I,NodeDtoSchema:()=>l,NodeListDtoSchema:()=>O,PipelineFunctionTypeSchema:()=>w,RoutingDtoSchema:()=>q,ScriptsDtoSchema:()=>S});module.exports=R(L);var e=require("zod"),o=e.z.record(e.z.string(),e.z.any()).describe("Represents a plain literal object."),f=e.z.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","void","location","availability"]).describe("Enum for field types."),b=e.z.enum(["input","textarea","select","radio","checkbox","switch","carousel","button","label","calendar","map"]).describe("Enum for field components."),u=e.z.enum(["simple","multiple"]).describe("Enum for field selection modes."),h=e.z.enum(["hidden","disabled"]).describe("Enum for field dependent behaviors."),m=e.z.object({label:e.z.union([e.z.string(),o]).optional().describe("Label for the field item."),value:o.optional().describe("Value of the field item."),description:e.z.union([e.z.string(),o]).optional().describe("Description for the field item."),image:e.z.string().url().optional().describe("URL of an image for the field item."),nextNodeId:e.z.boolean().optional().describe("ID of the next node.")}).describe("Data transfer object for a field item."),v=e.z.enum(["property","httpRequest","mqRequest","function"]).describe("Enum for data provider source types."),r=e.z.object({exists:e.z.object({valueA:e.z.unknown(),valueB:e.z.boolean()}).optional().describe("Checks if a value exists."),equal:e.z.object({valueA:e.z.unknown(),valueB:e.z.unknown()}).optional().describe("Checks if two values are equal."),notEqual:e.z.object({valueA:e.z.unknown(),valueB:e.z.unknown()}).optional().describe("Checks if two values are not equal."),equalOrGreater:e.z.object({valueA:e.z.unknown(),valueB:e.z.unknown()}).optional().describe("Checks if valueA is equal to or greater than valueB."),equalOrLess:e.z.object({valueA:e.z.unknown(),valueB:e.z.unknown()}).optional().describe("Checks if valueA is equal to or less than valueB."),greater:e.z.object({valueA:e.z.unknown(),valueB:e.z.unknown()}).optional().describe("Checks if valueA is greater than valueB."),less:e.z.object({valueA:e.z.unknown(),valueB:e.z.unknown()}).optional().describe("Checks if valueA is less than valueB."),startsWith:e.z.object({valueA:e.z.string(),valueB:e.z.string()}).optional().describe("Checks if valueA starts with valueB."),contains:e.z.object({valueA:e.z.string(),valueB:e.z.string()}).optional().describe("Checks if valueA contains valueB."),includes:e.z.object({valueA:e.z.array(e.z.unknown()),valueB:e.z.unknown()}).optional().describe("Checks if valueA includes valueB.")}).describe("Data transfer object for conditional operators."),a=e.z.object({or:e.z.array(r).optional().describe("Array of OR conditions."),and:e.z.array(r).optional().describe("Array of AND conditions.")}).describe("Data transfer object for conditional group operators."),g=e.z.enum(["map","concat","filter","reduce","unique","join","flat","flatmap","sort","delete"]).describe("Enum for data transformer types."),y=e.z.object({type:g.describe("Type of the data transformer."),params:e.z.record(e.z.string(),e.z.any()).optional().describe("Parameters for the data transformer."),conditions:e.z.array(e.z.union([r,a])).optional().describe("Conditions for the data transformer."),require:e.z.array(e.z.string()).optional().describe("Required fields for the data transformer.")}).describe("Data transfer object for data transformers."),c=e.z.object({type:v.describe("Type of the data provider source."),name:e.z.string().optional().describe("Name of the data provider."),params:e.z.union([e.z.record(e.z.string(),e.z.unknown()),e.z.string()]).optional().describe("Parameters for the data provider."),persist:e.z.boolean().optional().describe("Whether to persist the data."),conditions:e.z.array(e.z.union([r,a])).optional().describe("Conditions for the data provider."),transformers:e.z.array(y).optional().describe("Transformers for the data provider."),require:e.z.array(e.z.string()).optional().describe("Required fields for the data provider.")}).describe("Data transfer object for data providers."),D=e.z.object({name:e.z.string().describe("Name of the field."),type:f.describe("Type of the field."),label:e.z.union([e.z.string(),o]).optional().describe("Label for the field."),value:e.z.any().optional().describe("Value of the field."),component:b.optional().describe("Component for the field."),selectionMode:u.optional().describe("Selection mode for the field."),required:e.z.boolean().optional().describe("Whether the field is required."),placeholder:e.z.union([e.z.string(),o]).optional().describe("Placeholder for the field."),options:e.z.array(m).optional().describe("Options for the field."),optionsProvider:c.optional().describe("Data provider for the field options."),configuration:o.optional().describe("Configuration for the field."),dependsOn:e.z.array(o).optional().describe("Fields that this field depends on."),dependentBehavior:h.optional().describe("Behavior of the field when its dependencies are not met."),conditions:e.z.array(o).optional().describe("Conditions for the field."),customError:o.optional().describe("Custom error message for the field.")}).describe("Data transfer object for a field."),j=e.z.enum(["submit","link","forward","script"]).describe("Enum for action types."),x=e.z.enum(["primary","secondary","success","warning","info","danger"]).describe("Enum for action variants."),S=e.z.object({src:e.z.string().url().describe("Source URL of the script."),preload:e.z.boolean().optional().describe("Whether to preload the script."),name:e.z.string().describe("Name of the script."),function:e.z.string().describe("Function to execute from the script."),params:e.z.record(e.z.string(),e.z.any()).optional().describe("Parameters for the script function.")}).describe("Data transfer object for scripts."),w=e.z.string().describe("Enum for pipeline function types. TODO: Replace z.string() with z.enum([...]) with actual pipeline function types."),k=o.describe("Data transfer object for fail flow. TODO: Define the actual structure for FailFlowSchema if it's not a plain literal object."),A=e.z.object({function:w.describe("Function type for the pipeline."),params:o.optional().describe("Parameters for the pipeline function."),conditions:e.z.array(e.z.union([r,a])).optional().describe("Conditions for the pipeline."),require:e.z.array(e.z.string()).optional().describe("Required fields for the pipeline."),onFail:k.optional().describe("Fail flow configuration.")}).describe("Data transfer object for an action pipeline."),C=e.z.object({id:e.z.string().describe("ID of the action."),label:e.z.union([e.z.string(),o]).optional().describe("Label for the action."),type:j.describe("Type of the action."),variant:x.optional().describe("Variant of the action."),url:e.z.string().optional().describe("URL for link-type actions."),pipeline:e.z.array(A).optional().describe("Pipeline for the action."),conditions:e.z.array(o).optional().describe("Conditions for the action."),nextStepId:e.z.string().optional().describe("ID of the next step."),scripts:e.z.array(S).optional().describe("Scripts associated with the action.")}).describe("Data transfer object for an action."),q=e.z.object({conditions:e.z.array(e.z.union([r,a])).optional().describe("Conditions for the routing rule."),nextStepId:e.z.string().describe("ID of the next step if conditions are met.")}).describe("Data transfer object for routing."),l=e.z.object({id:e.z.string().describe("ID of the node."),initialNode:e.z.boolean().optional().describe("Whether this is the initial node."),finalNode:e.z.boolean().optional().describe("Whether this is a final node."),title:e.z.union([e.z.string(),o]).optional().describe("Title of the node."),description:e.z.string().optional().describe("Description of the node."),fields:e.z.array(D).optional().describe("Fields in the node."),actions:e.z.array(C).optional().describe("Actions available in the node."),routing:e.z.array(q).optional().describe("Routing rules for the node."),stateProviders:e.z.array(c).optional().describe("Data providers for state management."),trackingProviders:e.z.array(c).optional().describe("Data providers for tracking."),stageId:e.z.string().optional().describe("ID of the stage this node belongs to."),translations:o.optional().describe("Translations for the node.")}).describe("Data transfer object for a node."),O=e.z.array(l).describe("List of nodes."),I=e.z.object({nodes:e.z.array(l).describe("List of nodes.")});0&&(module.exports={ActionDtoSchema,ActionPipelineDtoSchema,ActionTypeEnumSchema,ActionVariantEnumSchema,ConditionalGroupOperatorDtoSchema,ConditionalOperatorDtoSchema,DataProviderDtoSchema,DataProviderSourceTypeSchema,DataTransformerDtoSchema,DataTransformerTypeSchema,FailFlowSchema,FieldComponentEnumSchema,FieldDependentBehaviorEnumSchema,FieldDtoSchema,FieldItemDtoSchema,FieldSelectionModeSchema,FieldTypeEnumSchema,FlowDtoSchema,NodeDtoSchema,NodeListDtoSchema,PipelineFunctionTypeSchema,RoutingDtoSchema,ScriptsDtoSchema});
package/flow.types.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/flow-client v0.1.49 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/flow-client v0.1.54 | © 2025 Onlive.ai */
2
2
  import{z as e}from"zod";var o=e.record(e.string(),e.any()).describe("Represents a plain literal object."),a=e.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","void","location","availability"]).describe("Enum for field types."),s=e.enum(["input","textarea","select","radio","checkbox","switch","carousel","button","label","calendar","map"]).describe("Enum for field components."),c=e.enum(["simple","multiple"]).describe("Enum for field selection modes."),d=e.enum(["hidden","disabled"]).describe("Enum for field dependent behaviors."),l=e.object({label:e.union([e.string(),o]).optional().describe("Label for the field item."),value:o.optional().describe("Value of the field item."),description:e.union([e.string(),o]).optional().describe("Description for the field item."),image:e.string().url().optional().describe("URL of an image for the field item."),nextNodeId:e.boolean().optional().describe("ID of the next node.")}).describe("Data transfer object for a field item."),p=e.enum(["property","httpRequest","mqRequest","function"]).describe("Enum for data provider source types."),t=e.object({exists:e.object({valueA:e.unknown(),valueB:e.boolean()}).optional().describe("Checks if a value exists."),equal:e.object({valueA:e.unknown(),valueB:e.unknown()}).optional().describe("Checks if two values are equal."),notEqual:e.object({valueA:e.unknown(),valueB:e.unknown()}).optional().describe("Checks if two values are not equal."),equalOrGreater:e.object({valueA:e.unknown(),valueB:e.unknown()}).optional().describe("Checks if valueA is equal to or greater than valueB."),equalOrLess:e.object({valueA:e.unknown(),valueB:e.unknown()}).optional().describe("Checks if valueA is equal to or less than valueB."),greater:e.object({valueA:e.unknown(),valueB:e.unknown()}).optional().describe("Checks if valueA is greater than valueB."),less:e.object({valueA:e.unknown(),valueB:e.unknown()}).optional().describe("Checks if valueA is less than valueB."),startsWith:e.object({valueA:e.string(),valueB:e.string()}).optional().describe("Checks if valueA starts with valueB."),contains:e.object({valueA:e.string(),valueB:e.string()}).optional().describe("Checks if valueA contains valueB."),includes:e.object({valueA:e.array(e.unknown()),valueB:e.unknown()}).optional().describe("Checks if valueA includes valueB.")}).describe("Data transfer object for conditional operators."),i=e.object({or:e.array(t).optional().describe("Array of OR conditions."),and:e.array(t).optional().describe("Array of AND conditions.")}).describe("Data transfer object for conditional group operators."),f=e.enum(["map","concat","filter","reduce","unique","join","flat","flatmap","sort","delete"]).describe("Enum for data transformer types."),b=e.object({type:f.describe("Type of the data transformer."),params:e.record(e.string(),e.any()).optional().describe("Parameters for the data transformer."),conditions:e.array(e.union([t,i])).optional().describe("Conditions for the data transformer."),require:e.array(e.string()).optional().describe("Required fields for the data transformer.")}).describe("Data transfer object for data transformers."),r=e.object({type:p.describe("Type of the data provider source."),name:e.string().optional().describe("Name of the data provider."),params:e.union([e.record(e.string(),e.unknown()),e.string()]).optional().describe("Parameters for the data provider."),persist:e.boolean().optional().describe("Whether to persist the data."),conditions:e.array(e.union([t,i])).optional().describe("Conditions for the data provider."),transformers:e.array(b).optional().describe("Transformers for the data provider."),require:e.array(e.string()).optional().describe("Required fields for the data provider.")}).describe("Data transfer object for data providers."),u=e.object({name:e.string().describe("Name of the field."),type:a.describe("Type of the field."),label:e.union([e.string(),o]).optional().describe("Label for the field."),value:e.any().optional().describe("Value of the field."),component:s.optional().describe("Component for the field."),selectionMode:c.optional().describe("Selection mode for the field."),required:e.boolean().optional().describe("Whether the field is required."),placeholder:e.union([e.string(),o]).optional().describe("Placeholder for the field."),options:e.array(l).optional().describe("Options for the field."),optionsProvider:r.optional().describe("Data provider for the field options."),configuration:o.optional().describe("Configuration for the field."),dependsOn:e.array(o).optional().describe("Fields that this field depends on."),dependentBehavior:d.optional().describe("Behavior of the field when its dependencies are not met."),conditions:e.array(o).optional().describe("Conditions for the field."),customError:o.optional().describe("Custom error message for the field.")}).describe("Data transfer object for a field."),h=e.enum(["submit","link","forward","script"]).describe("Enum for action types."),m=e.enum(["primary","secondary","success","warning","info","danger"]).describe("Enum for action variants."),v=e.object({src:e.string().url().describe("Source URL of the script."),preload:e.boolean().optional().describe("Whether to preload the script."),name:e.string().describe("Name of the script."),function:e.string().describe("Function to execute from the script."),params:e.record(e.string(),e.any()).optional().describe("Parameters for the script function.")}).describe("Data transfer object for scripts."),g=e.string().describe("Enum for pipeline function types. TODO: Replace z.string() with z.enum([...]) with actual pipeline function types."),y=o.describe("Data transfer object for fail flow. TODO: Define the actual structure for FailFlowSchema if it's not a plain literal object."),D=e.object({function:g.describe("Function type for the pipeline."),params:o.optional().describe("Parameters for the pipeline function."),conditions:e.array(e.union([t,i])).optional().describe("Conditions for the pipeline."),require:e.array(e.string()).optional().describe("Required fields for the pipeline."),onFail:y.optional().describe("Fail flow configuration.")}).describe("Data transfer object for an action pipeline."),j=e.object({id:e.string().describe("ID of the action."),label:e.union([e.string(),o]).optional().describe("Label for the action."),type:h.describe("Type of the action."),variant:m.optional().describe("Variant of the action."),url:e.string().optional().describe("URL for link-type actions."),pipeline:e.array(D).optional().describe("Pipeline for the action."),conditions:e.array(o).optional().describe("Conditions for the action."),nextStepId:e.string().optional().describe("ID of the next step."),scripts:e.array(v).optional().describe("Scripts associated with the action.")}).describe("Data transfer object for an action."),x=e.object({conditions:e.array(e.union([t,i])).optional().describe("Conditions for the routing rule."),nextStepId:e.string().describe("ID of the next step if conditions are met.")}).describe("Data transfer object for routing."),n=e.object({id:e.string().describe("ID of the node."),initialNode:e.boolean().optional().describe("Whether this is the initial node."),finalNode:e.boolean().optional().describe("Whether this is a final node."),title:e.union([e.string(),o]).optional().describe("Title of the node."),description:e.string().optional().describe("Description of the node."),fields:e.array(u).optional().describe("Fields in the node."),actions:e.array(j).optional().describe("Actions available in the node."),routing:e.array(x).optional().describe("Routing rules for the node."),stateProviders:e.array(r).optional().describe("Data providers for state management."),trackingProviders:e.array(r).optional().describe("Data providers for tracking."),stageId:e.string().optional().describe("ID of the stage this node belongs to."),translations:o.optional().describe("Translations for the node.")}).describe("Data transfer object for a node."),w=e.array(n).describe("List of nodes."),k=e.object({nodes:e.array(n).describe("List of nodes.")});export{j as ActionDtoSchema,D as ActionPipelineDtoSchema,h as ActionTypeEnumSchema,m as ActionVariantEnumSchema,i as ConditionalGroupOperatorDtoSchema,t as ConditionalOperatorDtoSchema,r as DataProviderDtoSchema,p as DataProviderSourceTypeSchema,b as DataTransformerDtoSchema,f as DataTransformerTypeSchema,y as FailFlowSchema,s as FieldComponentEnumSchema,d as FieldDependentBehaviorEnumSchema,u as FieldDtoSchema,l as FieldItemDtoSchema,c as FieldSelectionModeSchema,a as FieldTypeEnumSchema,k as FlowDtoSchema,n as NodeDtoSchema,w as NodeListDtoSchema,g as PipelineFunctionTypeSchema,x as RoutingDtoSchema,v as ScriptsDtoSchema};
package/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/flow-client v0.1.49 | © 2025 Onlive.ai */
2
- "use strict";var b=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var G=(i,e,o)=>e in i?b(i,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[e]=o;var $=(i,e)=>{for(var o in e)b(i,o,{get:e[o],enumerable:!0})},q=(i,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of V(e))!M.call(i,r)&&r!==o&&b(i,r,{get:()=>e[r],enumerable:!(n=U(e,r))||n.enumerable});return i};var B=i=>q(b({},"__esModule",{value:!0}),i);var p=(i,e,o)=>G(i,typeof e!="symbol"?e+"":e,o);var Z={};$(Z,{Action:()=>D,ActionEvent:()=>L,ActionScript:()=>A,ClientOptions:()=>E,DEFAULT_CLIENT_OPTIONS:()=>_,ErrorCode:()=>z,EventType:()=>J,Field:()=>w,Flow:()=>P,FlowClient:()=>v,FlowContext:()=>H,GetStepOptions:()=>g,GetStepTrigger:()=>N,ONLIVE_ANALYTICS_EVENT:()=>x,ONLIVE_FLOW_FORM_NAME:()=>c,PostAction:()=>R,Step:()=>F,StepId:()=>O,TrackingOptionsSchema:()=>d});module.exports=B(Z);var C=require("@onlive.ai/common-121/utils/merge.js");var l=require("@onlive.ai/tracker"),j=require("@onlive.ai/common-121/utils/merge.js"),I=require("@onlive.ai/common-121/utils/browser-preferences.js");var a=require("zod"),c="flow_form",x="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(e,o,n,r){p(this,"options");p(this,"tracker");p(this,"eventListeners",[]);this.options=d.parse(n),this.tracker=new l.Tracker({apiUrl:this.options.apiUrl,removeExtraneousValues:this.options.removeExtraneousValues,allowBotTraffic:this.options.allowBotTraffic,adapters:this.options.adapters,dryRun:r}),this.tracker.setBase((0,j.merge)({},{organization_id:e,page_url:window.location.href,page_referrer:document.referrer,origin_medium:"web",guest_id:l.Session.id,interaction_id:l.Session.interactionId,extra:{flow_id:o}},this.options.data)),window.addEventListener(x,({detail:m})=>this.emit(m.event,m.data))}getTracker(){return this.tracker}preferences(){return{...(0,I.browserPreferences)(),interactionId:l.Session.interactionId,guestId:l.Session.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){"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,step_name:o.step.id})}),o.step.error&&this.tracker.send("form_error",{form_name:c,form_error:o.step.error.code,step_name:o.step.id})),this.tracker.send("impression",{impression_type:"step",form_name:void 0,step_name:o.step.id,step_initial:!("currentStepId"in e)||void 0,step_final:o.step.isFinal}),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})}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}))}},k=T;var h=require("@onlive.ai/calendar"),t=require("zod");var _={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},O=t.z.string().nonempty(),E=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()}),g=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()}),S=t.z.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),W=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()}),Y=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(),W).optional()}),K=t.z.object({datetime:t.z.string().datetime(),meta:t.z.record(t.z.string(),t.z.any()).optional()}),u=t.z.union([t.z.string(),t.z.number(),t.z.boolean(),Y,K]),f=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"}),s=t.z.object({text:t.z.string().optional(),icon:t.z.string().optional()}),w=t.z.object({name:t.z.string().nonempty(),label:t.z.string().optional(),value:t.z.union([u,t.z.array(u)]).optional(),type:S,component:t.z.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","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({label:t.z.string().nonempty(),value:u.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(),dependsOn:t.z.array(t.z.object({fieldName:t.z.string().nonempty(),value:u.optional(),operator:t.z.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()})).optional()})).optional(),required:t.z.boolean().optional(),configuration:t.z.object({generic:t.z.object({error:t.z.object({icon:t.z.string().optional(),showOn:t.z.enum(["input","blur"]).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: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(),textarea:t.z.object({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(),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({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(),mappedResults:t.z.object({mapping:t.z.record(t.z.string(),t.z.array(t.z.object({key:t.z.string(),value:t.z.string()})))}).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:f.optional(),markerPin:t.z.object({default:f.optional(),hover:f.optional(),selected:f.optional()}).optional(),infoWindow:t.z.object({button:t.z.object({label:t.z.string(),action:t.z.string()}).optional()}).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:t.z.array(t.z.object({fieldName:t.z.string().nonempty(),value:u.optional(),operator:t.z.enum(["exists","equal","not-equal","contains","not-contains","greater-than","less-than"]).optional()})).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()}),A=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()}),L=t.z.object({name:t.z.enum(["organization_call","close_panel"]),params:t.z.record(t.z.string(),t.z.any()).optional()}),D=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"]),url:t.z.string().url().optional(),scripts:A.array().optional(),events:L.array().optional()}),z=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"]),R=t.z.object({type:t.z.enum(["redirect"]),params:t.z.record(t.z.string(),t.z.any()).optional()}),F=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(w).optional(),actions:t.z.array(D).optional(),result:t.z.object({postActions:t.z.array(R).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:z,message:t.z.string().optional(),fields:t.z.array(t.z.object({name:t.z.string(),type:S,value:t.z.any(),error:t.z.string()})).optional()}).optional(),isFinal:t.z.boolean().optional()}),P=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()}))}),H=t.z.object({status:t.z.enum(["ok","error"]),step:F,flow:P}),J=t.z.enum(["track"]);var v=class{constructor(e){p(this,"baseURL");p(this,"headers");p(this,"flowId");p(this,"tracking");let o=(0,C.merge)({},_,E.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 k(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?.preferences(),n=await this.request(`flow/${this.flowId}/first-step`,{method:"POST",body:JSON.stringify(g.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(),r=await this.request(`flow/${this.flowId}/steps/${O.parse(e)}`,{method:"POST",body:JSON.stringify(g.parse({...o,state:{preferences:n,...o.state}}))});return this.tracking?.analyzeResponse({stepId:e},r),r}async nextStep(e,o={}){this.tracking?.analyzeRequest(e,o);let{currentStepId:n,actionId:r}=N.parse(e),m=await this.request(`flow/${this.flowId}/steps/${n}/action/${r}`,{method:"POST",body:JSON.stringify(g.parse(o))});return this.tracking?.analyzeResponse(e,m),m}};0&&(module.exports={Action,ActionEvent,ActionScript,ClientOptions,DEFAULT_CLIENT_OPTIONS,ErrorCode,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.54 | © 2025 Onlive.ai */
2
+ "use strict";var b=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var G=(i,o,e)=>o in i?b(i,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[o]=e;var $=(i,o)=>{for(var e in o)b(i,e,{get:o[e],enumerable:!0})},q=(i,o,e,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of V(o))!M.call(i,r)&&r!==e&&b(i,r,{get:()=>o[r],enumerable:!(n=U(o,r))||n.enumerable});return i};var B=i=>q(b({},"__esModule",{value:!0}),i);var p=(i,o,e)=>G(i,typeof o!="symbol"?o+"":o,e);var Z={};$(Z,{Action:()=>D,ActionEvent:()=>L,ActionScript:()=>A,ClientOptions:()=>_,DEFAULT_CLIENT_OPTIONS:()=>O,ErrorCode:()=>z,EventType:()=>J,Field:()=>S,Flow:()=>F,FlowClient:()=>v,FlowContext:()=>H,GetStepOptions:()=>g,GetStepTrigger:()=>N,ONLIVE_ANALYTICS_EVENT:()=>x,ONLIVE_FLOW_FORM_NAME:()=>m,PostAction:()=>P,Step:()=>R,StepId:()=>E,TrackingOptionsSchema:()=>d});module.exports=B(Z);var C=require("@onlive.ai/common-121/utils/merge.js");var s=require("@onlive.ai/tracker"),j=require("@onlive.ai/common-121/utils/merge.js"),I=require("@onlive.ai/common-121/utils/browser-preferences.js");var a=require("zod"),m="flow_form",x="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){p(this,"options");p(this,"tracker");p(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,j.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(x,({detail:c})=>this.emit(c.event,c.data))}getTracker(){return this.tracker}preferences(){return{...(0,I.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}))}},w=T;var h=require("@onlive.ai/calendar"),t=require("zod");var O={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},E=t.z.string().nonempty(),_=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()}),g=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()}),k=t.z.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),W=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()}),Y=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(),W).optional()}),K=t.z.object({datetime:t.z.string().datetime(),meta:t.z.record(t.z.string(),t.z.any()).optional()}),u=t.z.union([t.z.string(),t.z.number(),t.z.boolean(),Y,K]),f=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"}),l=t.z.object({text:t.z.string().optional(),icon:t.z.string().optional()}),S=t.z.object({name:t.z.string().nonempty(),label:t.z.string().optional(),value:t.z.union([u,t.z.array(u)]).optional(),type:k,component:t.z.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","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({label:t.z.string().nonempty(),value:u.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(),dependsOn:t.z.array(t.z.object({fieldName:t.z.string().nonempty(),value:u.optional(),operator:t.z.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()})).optional()})).optional(),required:t.z.boolean().optional(),configuration:t.z.object({generic:t.z.object({error:t.z.object({icon:t.z.string().optional(),showOn:t.z.enum(["input","blur"]).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:l.optional(),success:l.optional(),error:l.optional()}).optional(),suffix:t.z.object({default:l.optional(),success:l.optional(),error:l.optional()}).optional(),clearable:t.z.boolean().optional(),floatingLabel:t.z.boolean().optional()}).optional(),textarea:t.z.object({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.number().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(),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({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:l.optional()}).optional(),suffix:t.z.object({default:l.optional()}).optional(),mappedResults:t.z.object({mapping:t.z.record(t.z.string(),t.z.array(t.z.object({key:t.z.string(),value:t.z.string()})))}).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:f.optional(),markerPin:t.z.object({default:f.optional(),hover:f.optional(),selected:f.optional()}).optional(),infoWindow:t.z.object({button:t.z.object({label:t.z.string(),action:t.z.string()}).optional()}).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:t.z.array(t.z.object({fieldName:t.z.string().nonempty(),value:u.optional(),operator:t.z.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()})).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()}),A=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()}),L=t.z.object({name:t.z.enum(["organization_call","close_panel"]),params:t.z.record(t.z.string(),t.z.any()).optional()}),D=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"]),url:t.z.string().url().optional(),scripts:A.array().optional(),events:L.array().optional()}),z=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"]),P=t.z.object({type:t.z.enum(["redirect"]),params:t.z.record(t.z.string(),t.z.any()).optional()}),R=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(S).optional(),actions:t.z.array(D).optional(),result:t.z.object({postActions:t.z.array(P).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:z,message:t.z.string().optional(),fields:t.z.array(t.z.object({name:t.z.string(),type:k,value:t.z.any(),error:t.z.string()})).optional()}).optional(),isFinal:t.z.boolean().optional()}),F=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()}))}),H=t.z.object({status:t.z.enum(["ok","error"]),step:R,flow:F}),J=t.z.enum(["track"]);var v=class{constructor(o){p(this,"baseURL");p(this,"headers");p(this,"flowId");p(this,"tracking");let e=(0,C.merge)({},O,_.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 w(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?.preferences(),n=await this.request(`flow/${this.flowId}/first-step`,{method:"POST",body:JSON.stringify(g.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/${E.parse(o)}`,{method:"POST",body:JSON.stringify(g.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(g.parse(e))});return this.tracking?.analyzeResponse(o,c),c}};0&&(module.exports={Action,ActionEvent,ActionScript,ClientOptions,DEFAULT_CLIENT_OPTIONS,ErrorCode,EventType,Field,Flow,FlowClient,FlowContext,GetStepOptions,GetStepTrigger,ONLIVE_ANALYTICS_EVENT,ONLIVE_FLOW_FORM_NAME,PostAction,Step,StepId,TrackingOptionsSchema});
package/index.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/flow-client v0.1.49 | © 2025 Onlive.ai */
2
- var j=Object.defineProperty;var I=(a,o,e)=>o in a?j(a,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[o]=e;var r=(a,o,e)=>I(a,typeof o!="symbol"?o+"":o,e);import{merge as q}from"@onlive.ai/common-121/utils/merge.js";import{Session as u,Tracker as k}from"@onlive.ai/tracker";import{merge as S}from"@onlive.ai/common-121/utils/merge.js";import{browserPreferences as w}from"@onlive.ai/common-121/utils/browser-preferences.js";import{z as i}from"zod";var c="flow_form",v="onlive-analytics-event",d=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 y=class{constructor(o,e,n,s){r(this,"options");r(this,"tracker");r(this,"eventListeners",[]);this.options=d.parse(n),this.tracker=new k({apiUrl:this.options.apiUrl,removeExtraneousValues:this.options.removeExtraneousValues,allowBotTraffic:this.options.allowBotTraffic,adapters:this.options.adapters,dryRun:s}),this.tracker.setBase(S({},{organization_id:o,page_url:window.location.href,page_referrer:document.referrer,origin_medium:"web",guest_id:u.id,interaction_id:u.interactionId,extra:{flow_id:e}},this.options.data)),window.addEventListener(v,({detail:l})=>this.emit(l.event,l.data))}getTracker(){return this.tracker}preferences(){return{...w(),interactionId:u.interactionId,guestId:u.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,step_name:o.currentStepId}),e.fields&&this.tracker.send("form_submit",{form_name:c,form_data:e.fields,step_name:o.currentStepId}))}analyzeResponse(o,e){"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,step_name:e.step.id})}),e.step.error&&this.tracker.send("form_error",{form_name:c,form_error:e.step.error.code,step_name:e.step.id})),this.tracker.send("impression",{impression_type:"step",form_name:void 0,step_name:e.step.id,step_initial:!("currentStepId"in o)||void 0,step_final:e.step.isFinal}),this.tracker.setBase({form_name:c,step_name:e.step.id,step_initial:!("currentStepId"in o)||void 0,step_final:e.step.isFinal,...e.step.result?.tracking})}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}))}},x=y;import{GetAvailabilityFilters as A,GetAvailabilityOptions as L}from"@onlive.ai/calendar";import{z as t}from"zod";var T={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},_=t.string().nonempty(),O=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:d.optional(),devMode:t.boolean().default(!1).optional()}),f=t.object({state:t.record(t.string(),t.any()).optional(),fields:t.record(t.string(),t.any()).optional()}),E=t.object({currentStepId:t.string().nonempty(),actionId:t.string().nonempty()}),N=t.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),D=t.object({name:t.string(),value:t.string().optional(),icon:t.string().optional(),type:t.enum(["url","email","phone"]).optional()}),z=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(),D).optional()}),R=t.object({datetime:t.string().datetime(),meta:t.record(t.string(),t.any()).optional()}),m=t.union([t.string(),t.number(),t.boolean(),z,R]),g=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"}),p=t.object({text:t.string().optional(),icon:t.string().optional()}),F=t.object({name:t.string().nonempty(),label:t.string().optional(),value:t.union([m,t.array(m)]).optional(),type:N,component:t.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","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({label:t.string().nonempty(),value:m.optional(),image:t.string().url().optional(),description:t.string().optional(),disabled:t.boolean().optional(),attributes:t.record(t.string(),t.any()).optional(),dependsOn:t.array(t.object({fieldName:t.string().nonempty(),value:m.optional(),operator:t.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()})).optional()})).optional(),required:t.boolean().optional(),configuration:t.object({generic:t.object({error:t.object({icon:t.string().optional(),showOn:t.enum(["input","blur"]).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:p.optional(),success:p.optional(),error:p.optional()}).optional(),suffix:t.object({default:p.optional(),success:p.optional(),error:p.optional()}).optional(),clearable:t.boolean().optional(),floatingLabel:t.boolean().optional()}).optional(),textarea:t.object({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(),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({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:p.optional()}).optional(),suffix:t.object({default:p.optional()}).optional(),mappedResults:t.object({mapping:t.record(t.string(),t.array(t.object({key:t.string(),value:t.string()})))}).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:g.optional(),markerPin:t.object({default:g.optional(),hover:g.optional(),selected:g.optional()}).optional(),infoWindow:t.object({button:t.object({label:t.string(),action:t.string()}).optional()}).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:A,options:L.optional()}).optional()}).optional()}).optional()}).optional(),dependsOn:t.array(t.object({fieldName:t.string().nonempty(),value:m.optional(),operator:t.enum(["exists","equal","not-equal","contains","not-contains","greater-than","less-than"]).optional()})).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()}),P=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()}),C=t.object({name:t.enum(["organization_call","close_panel"]),params:t.record(t.string(),t.any()).optional()}),U=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"]),url:t.string().url().optional(),scripts:P.array().optional(),events:C.array().optional()}),V=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"]),M=t.object({type:t.enum(["redirect"]),params:t.record(t.string(),t.any()).optional()}),G=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(F).optional(),actions:t.array(U).optional(),result:t.object({postActions:t.array(M).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:V,message:t.string().optional(),fields:t.array(t.object({name:t.string(),type:N,value:t.any(),error:t.string()})).optional()}).optional(),isFinal:t.boolean().optional()}),$=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()}))}),pt=t.object({status:t.enum(["ok","error"]),step:G,flow:$}),st=t.enum(["track"]);var h=class{constructor(o){r(this,"baseURL");r(this,"headers");r(this,"flowId");r(this,"tracking");let e=q({},T,O.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 x(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?.preferences(),n=await this.request(`flow/${this.flowId}/first-step`,{method:"POST",body:JSON.stringify(f.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(),s=await this.request(`flow/${this.flowId}/steps/${_.parse(o)}`,{method:"POST",body:JSON.stringify(f.parse({...e,state:{preferences:n,...e.state}}))});return this.tracking?.analyzeResponse({stepId:o},s),s}async nextStep(o,e={}){this.tracking?.analyzeRequest(o,e);let{currentStepId:n,actionId:s}=E.parse(o),l=await this.request(`flow/${this.flowId}/steps/${n}/action/${s}`,{method:"POST",body:JSON.stringify(f.parse(e))});return this.tracking?.analyzeResponse(o,l),l}};export{U as Action,C as ActionEvent,P as ActionScript,O as ClientOptions,T as DEFAULT_CLIENT_OPTIONS,V as ErrorCode,st as EventType,F as Field,$ as Flow,h as FlowClient,pt as FlowContext,f as GetStepOptions,E as GetStepTrigger,v as ONLIVE_ANALYTICS_EVENT,c as ONLIVE_FLOW_FORM_NAME,M as PostAction,G as Step,_ as StepId,d as TrackingOptionsSchema};
1
+ /*! @onlive.ai/flow-client v0.1.54 | © 2025 Onlive.ai */
2
+ var j=Object.defineProperty;var I=(a,e,o)=>e in a?j(a,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[e]=o;var r=(a,e,o)=>I(a,typeof e!="symbol"?e+"":e,o);import{merge as q}from"@onlive.ai/common-121/utils/merge.js";import{Session as u,Tracker as w}from"@onlive.ai/tracker";import{merge as k}from"@onlive.ai/common-121/utils/merge.js";import{browserPreferences as S}from"@onlive.ai/common-121/utils/browser-preferences.js";import{z as i}from"zod";var m="flow_form",v="onlive-analytics-event",d=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 y=class{constructor(e,o,n,l){r(this,"options");r(this,"tracker");r(this,"eventListeners",[]);this.options=d.parse(n),this.tracker=new w({apiUrl:this.options.apiUrl,removeExtraneousValues:this.options.removeExtraneousValues,allowBotTraffic:this.options.allowBotTraffic,adapters:this.options.adapters,dryRun:l}),this.tracker.setBase(k({},{organization_id:e,page_url:window.location.href,page_referrer:document.referrer,origin_medium:"web",guest_id:u.id,interaction_id:u.interactionId,extra:{flow_id:o}},this.options.data)),window.addEventListener(v,({detail:s})=>this.emit(s.event,s.data))}getTracker(){return this.tracker}preferences(){return{...S(),interactionId:u.interactionId,guestId:u.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?m:void 0,step_name:e.currentStepId}),o.fields&&this.tracker.send("form_submit",{form_name:m,form_data:o.fields,step_name:e.currentStepId}))}analyzeResponse(e,o){this.tracker.setBase({form_name:m,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}))}},x=y;import{GetAvailabilityFilters as A,GetAvailabilityOptions as L}from"@onlive.ai/calendar";import{z as t}from"zod";var T={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},O=t.string().nonempty(),E=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:d.optional(),devMode:t.boolean().default(!1).optional()}),f=t.object({state:t.record(t.string(),t.any()).optional(),fields:t.record(t.string(),t.any()).optional()}),_=t.object({currentStepId:t.string().nonempty(),actionId:t.string().nonempty()}),N=t.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),D=t.object({name:t.string(),value:t.string().optional(),icon:t.string().optional(),type:t.enum(["url","email","phone"]).optional()}),z=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(),D).optional()}),P=t.object({datetime:t.string().datetime(),meta:t.record(t.string(),t.any()).optional()}),c=t.union([t.string(),t.number(),t.boolean(),z,P]),g=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"}),p=t.object({text:t.string().optional(),icon:t.string().optional()}),R=t.object({name:t.string().nonempty(),label:t.string().optional(),value:t.union([c,t.array(c)]).optional(),type:N,component:t.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","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({label:t.string().nonempty(),value:c.optional(),image:t.string().url().optional(),description:t.string().optional(),disabled:t.boolean().optional(),attributes:t.record(t.string(),t.any()).optional(),dependsOn:t.array(t.object({fieldName:t.string().nonempty(),value:c.optional(),operator:t.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()})).optional()})).optional(),required:t.boolean().optional(),configuration:t.object({generic:t.object({error:t.object({icon:t.string().optional(),showOn:t.enum(["input","blur"]).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:p.optional(),success:p.optional(),error:p.optional()}).optional(),suffix:t.object({default:p.optional(),success:p.optional(),error:p.optional()}).optional(),clearable:t.boolean().optional(),floatingLabel:t.boolean().optional()}).optional(),textarea:t.object({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.number().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(),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({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:p.optional()}).optional(),suffix:t.object({default:p.optional()}).optional(),mappedResults:t.object({mapping:t.record(t.string(),t.array(t.object({key:t.string(),value:t.string()})))}).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:g.optional(),markerPin:t.object({default:g.optional(),hover:g.optional(),selected:g.optional()}).optional(),infoWindow:t.object({button:t.object({label:t.string(),action:t.string()}).optional()}).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:A,options:L.optional()}).optional()}).optional()}).optional()}).optional(),dependsOn:t.array(t.object({fieldName:t.string().nonempty(),value:c.optional(),operator:t.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()})).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()}),F=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()}),C=t.object({name:t.enum(["organization_call","close_panel"]),params:t.record(t.string(),t.any()).optional()}),U=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"]),url:t.string().url().optional(),scripts:F.array().optional(),events:C.array().optional()}),V=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"]),M=t.object({type:t.enum(["redirect"]),params:t.record(t.string(),t.any()).optional()}),G=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(R).optional(),actions:t.array(U).optional(),result:t.object({postActions:t.array(M).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:V,message:t.string().optional(),fields:t.array(t.object({name:t.string(),type:N,value:t.any(),error:t.string()})).optional()}).optional(),isFinal:t.boolean().optional()}),$=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()}))}),pt=t.object({status:t.enum(["ok","error"]),step:G,flow:$}),lt=t.enum(["track"]);var h=class{constructor(e){r(this,"baseURL");r(this,"headers");r(this,"flowId");r(this,"tracking");let o=q({},T,E.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 x(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?.preferences(),n=await this.request(`flow/${this.flowId}/first-step`,{method:"POST",body:JSON.stringify(f.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/${O.parse(e)}`,{method:"POST",body:JSON.stringify(f.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}=_.parse(e),s=await this.request(`flow/${this.flowId}/steps/${n}/action/${l}`,{method:"POST",body:JSON.stringify(f.parse(o))});return this.tracking?.analyzeResponse(e,s),s}};export{U as Action,C as ActionEvent,F as ActionScript,E as ClientOptions,T as DEFAULT_CLIENT_OPTIONS,V as ErrorCode,lt as EventType,R as Field,$ as Flow,h as FlowClient,pt as FlowContext,f as GetStepOptions,_ as GetStepTrigger,v as ONLIVE_ANALYTICS_EVENT,m as ONLIVE_FLOW_FORM_NAME,M as PostAction,G as Step,O as StepId,d as TrackingOptionsSchema};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onlive.ai/flow-client",
3
- "version": "0.1.49",
3
+ "version": "0.1.54",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "**/*.js",
@@ -22,7 +22,7 @@
22
22
  "./client/*": "./client/*"
23
23
  },
24
24
  "dependencies": {
25
- "@onlive.ai/tracker": "^1.0.9",
25
+ "@onlive.ai/tracker": "^1.0.11",
26
26
  "@types/node": "^22.15.18",
27
27
  "@vitest/coverage-v8": "^2.1.9",
28
28
  "dotenv": "^16.5.0",
@@ -32,8 +32,8 @@
32
32
  "vite": "^6.3.5",
33
33
  "vitest": "^2.1.9",
34
34
  "zod": "^3.24.4",
35
- "@onlive.ai/calendar": "0.0.9",
36
- "@onlive.ai/common-121": "0.2.45"
35
+ "@onlive.ai/calendar": "0.0.10",
36
+ "@onlive.ai/common-121": "0.2.49"
37
37
  },
38
38
  "devDependencies": {
39
39
  "zod-to-json-schema": "^3.24.5"
@@ -1,6 +1,6 @@
1
- /*! @onlive.ai/flow-client v0.1.49 | © 2025 Onlive.ai */
2
- "use strict";var he=require("fs");var F=Symbol("Let zodToJsonSchema decide on which parser to use");var N={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"},E=t=>typeof t=="string"?{...N,name:t}:{...N,...t};var M=t=>{let e=E(t),r=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}};function j(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function u(t,e,r,n,o){t[e]=r,j(t,e,n,o)}var c=require("zod");function L(){return{}}var R=require("zod");function C(t,e){let r={type:"array"};return t.type?._def&&t.type?._def?.typeName!==R.ZodFirstPartyTypeKind.ZodAny&&(r.items=i(t.type._def,{...e,currentPath:[...e.currentPath,"items"]})),t.minLength&&u(r,"minItems",t.minLength.value,t.minLength.message,e),t.maxLength&&u(r,"maxItems",t.maxLength.value,t.maxLength.message,e),t.exactLength&&(u(r,"minItems",t.exactLength.value,t.exactLength.message,e),u(r,"maxItems",t.exactLength.value,t.exactLength.message,e)),r}function $(t,e){let r={type:"integer",format:"int64"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"min":e.target==="jsonSchema7"?n.inclusive?u(r,"minimum",n.value,n.message,e):u(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),u(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?u(r,"maximum",n.value,n.message,e):u(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),u(r,"maximum",n.value,n.message,e));break;case"multipleOf":u(r,"multipleOf",n.value,n.message,e);break}return r}function I(){return{type:"boolean"}}function P(t,e){return i(t.type._def,e)}var z=(t,e)=>i(t.innerType._def,e);function _(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>_(t,e,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(t,e)}}var ge=(t,e)=>{let r={type:"integer",format:"unix-time"};if(e.target==="openApi3")return r;for(let n of t.checks)switch(n.kind){case"min":u(r,"minimum",n.value,n.message,e);break;case"max":u(r,"maximum",n.value,n.message,e);break}return r};function B(t,e){return{...i(t.innerType._def,e),default:t.defaultValue()}}function q(t,e){return e.effectStrategy==="input"?i(t.schema._def,e):{}}function U(t){return{type:"string",enum:Array.from(t.values)}}var be=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function V(t,e){let r=[i(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),i(t.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(s=>!!s),n=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(be(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(t,e){let r=typeof t.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(t.value)?"array":"object"}:e.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[t.value]}:{type:r==="bigint"?"integer":r,const:t.value}}var y=require("zod");var O,h={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:()=>(O===void 0&&(O=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),O),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 k(t,e){let r={type:"string"};if(t.checks)for(let n of t.checks)switch(n.kind){case"min":u(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e);break;case"max":u(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"email":switch(e.emailStrategy){case"format:email":g(r,"email",n.message,e);break;case"format:idn-email":g(r,"idn-email",n.message,e);break;case"pattern:zod":d(r,h.email,n.message,e);break}break;case"url":g(r,"uri",n.message,e);break;case"uuid":g(r,"uuid",n.message,e);break;case"regex":d(r,n.regex,n.message,e);break;case"cuid":d(r,h.cuid,n.message,e);break;case"cuid2":d(r,h.cuid2,n.message,e);break;case"startsWith":d(r,RegExp(`^${Z(n.value,e)}`),n.message,e);break;case"endsWith":d(r,RegExp(`${Z(n.value,e)}$`),n.message,e);break;case"datetime":g(r,"date-time",n.message,e);break;case"date":g(r,"date",n.message,e);break;case"time":g(r,"time",n.message,e);break;case"duration":g(r,"duration",n.message,e);break;case"length":u(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,e),u(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,e);break;case"includes":{d(r,RegExp(Z(n.value,e)),n.message,e);break}case"ip":{n.version!=="v6"&&g(r,"ipv4",n.message,e),n.version!=="v4"&&g(r,"ipv6",n.message,e);break}case"base64url":d(r,h.base64url,n.message,e);break;case"jwt":d(r,h.jwt,n.message,e);break;case"cidr":{n.version!=="v6"&&d(r,h.ipv4Cidr,n.message,e),n.version!=="v4"&&d(r,h.ipv6Cidr,n.message,e);break}case"emoji":d(r,h.emoji(),n.message,e);break;case"ulid":{d(r,h.ulid,n.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{g(r,"binary",n.message,e);break}case"contentEncoding:base64":{u(r,"contentEncoding","base64",n.message,e);break}case"pattern:zod":{d(r,h.base64,n.message,e);break}}break}case"nanoid":d(r,h.nanoid,n.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function Z(t,e){return e.patternStrategy==="escape"?ve(t):t}var ye=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function ve(t){let e="";for(let r=0;r<t.length;r++)ye.has(t[r])||(e+="\\"),e+=t[r];return e}function g(t,e,r,n){t.format||t.anyOf?.some(o=>o.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format,...t.errorMessage&&n.errorMessages&&{errorMessage:{format:t.errorMessage.format}}}),delete t.format,t.errorMessage&&(delete t.errorMessage.format,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.anyOf.push({format:e,...r&&n.errorMessages&&{errorMessage:{format:r}}})):u(t,"format",e,r,n)}function d(t,e,r,n){t.pattern||t.allOf?.some(o=>o.pattern)?(t.allOf||(t.allOf=[]),t.pattern&&(t.allOf.push({pattern:t.pattern,...t.errorMessage&&n.errorMessages&&{errorMessage:{pattern:t.errorMessage.pattern}}}),delete t.pattern,t.errorMessage&&(delete t.errorMessage.pattern,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.allOf.push({pattern:J(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):u(t,"pattern",J(e,n),r,n)}function J(t,e){if(!e.applyRegexFlags||!t.flags)return t.source;let r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},n=r.i?t.source.toLowerCase():t.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.54 | © 2025 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");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
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 ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),t.source}return o}function A(t,e){if(e.target==="openAi"&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),e.target==="openApi3"&&t.keyType?._def.typeName===y.ZodFirstPartyTypeKind.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:t.keyType._def.values.reduce((n,o)=>({...n,[o]:i(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??{}}),{}),additionalProperties:e.rejectedAdditionalProperties};let r={type:"object",additionalProperties:i(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??e.allowedAdditionalProperties};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===y.ZodFirstPartyTypeKind.ZodString&&t.keyType._def.checks?.length){let{type:n,...o}=k(t.keyType._def,e);return{...r,propertyNames:o}}else{if(t.keyType?._def.typeName===y.ZodFirstPartyTypeKind.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};if(t.keyType?._def.typeName===y.ZodFirstPartyTypeKind.ZodBranded&&t.keyType._def.type._def.typeName===y.ZodFirstPartyTypeKind.ZodString&&t.keyType._def.type._def.checks?.length){let{type:n,...o}=P(t.keyType._def,e);return{...r,propertyNames:o}}}return r}function K(t,e){if(e.mapStrategy==="record")return A(t,e);let r=i(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||{},n=i(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||{};return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function G(t){let e=t.values,n=Object.keys(t.values).filter(s=>typeof e[e[s]]!="number").map(s=>e[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(){return{not:{}}}function Q(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var x={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Y(t,e){if(e.target==="openApi3")return X(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in x&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let l=x[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(t,e)}var X=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>i(n._def,{...e,currentPath:[...e.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!e.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function ee(t,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"?{type:x[t.innerType._def.typeName],nullable:!0}:{type:[x[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=i(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=i(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function te(t,e){let r={type:"number"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"int":r.type="integer",j(r,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?u(r,"minimum",n.value,n.message,e):u(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),u(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?u(r,"maximum",n.value,n.message,e):u(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),u(r,"maximum",n.value,n.message,e));break;case"multipleOf":u(r,"multipleOf",n.value,n.message,e);break}return r}var re=require("zod");function ne(t,e){let r=e.target==="openAi",n={type:"object",properties:{}},o=[],s=t.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 instanceof re.ZodOptional&&(p=p._def.innerType),p.isNullable()||(p=p.nullable()),b=!1);let D=i(p._def,{...e,currentPath:[...e.currentPath,"properties",m],propertyPath:[...e.currentPath,"properties",m]});D!==void 0&&(n.properties[m]=D,b||o.push(m))}o.length&&(n.required=o);let l=xe(t,e);return l!==void 0&&(n.additionalProperties=l),n}function xe(t,e){if(t.catchall._def.typeName!=="ZodNever")return i(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(t.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function De(t){try{return t.isOptional()}catch{return!0}}var ae=(t,e)=>{if(e.currentPath.toString()===e.propertyPath?.toString())return i(t.innerType._def,e);let r=i(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:{}},r]}:{}};var oe=(t,e)=>{if(e.pipeStrategy==="input")return i(t.in._def,e);if(e.pipeStrategy==="output")return i(t.out._def,e);let r=i(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=i(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function ie(t,e){return i(t.type._def,e)}function se(t,e){let n={type:"array",uniqueItems:!0,items:i(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&u(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&u(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}function pe(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>i(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:i(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>i(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function ce(){return{not:{}}}function ue(){return{}}var le=(t,e)=>i(t.innerType._def,e);var me=(t,e,r)=>{switch(e){case c.ZodFirstPartyTypeKind.ZodString:return k(t,r);case c.ZodFirstPartyTypeKind.ZodNumber:return te(t,r);case c.ZodFirstPartyTypeKind.ZodObject:return ne(t,r);case c.ZodFirstPartyTypeKind.ZodBigInt:return $(t,r);case c.ZodFirstPartyTypeKind.ZodBoolean:return I();case c.ZodFirstPartyTypeKind.ZodDate:return _(t,r);case c.ZodFirstPartyTypeKind.ZodUndefined:return ce();case c.ZodFirstPartyTypeKind.ZodNull:return Q(r);case c.ZodFirstPartyTypeKind.ZodArray:return C(t,r);case c.ZodFirstPartyTypeKind.ZodUnion:case c.ZodFirstPartyTypeKind.ZodDiscriminatedUnion:return Y(t,r);case c.ZodFirstPartyTypeKind.ZodIntersection:return V(t,r);case c.ZodFirstPartyTypeKind.ZodTuple:return pe(t,r);case c.ZodFirstPartyTypeKind.ZodRecord:return A(t,r);case c.ZodFirstPartyTypeKind.ZodLiteral:return W(t,r);case c.ZodFirstPartyTypeKind.ZodEnum:return U(t);case c.ZodFirstPartyTypeKind.ZodNativeEnum:return G(t);case c.ZodFirstPartyTypeKind.ZodNullable:return ee(t,r);case c.ZodFirstPartyTypeKind.ZodOptional:return ae(t,r);case c.ZodFirstPartyTypeKind.ZodMap:return K(t,r);case c.ZodFirstPartyTypeKind.ZodSet:return se(t,r);case c.ZodFirstPartyTypeKind.ZodLazy:return()=>t.getter()._def;case c.ZodFirstPartyTypeKind.ZodPromise:return ie(t,r);case c.ZodFirstPartyTypeKind.ZodNaN:case c.ZodFirstPartyTypeKind.ZodNever:return H();case c.ZodFirstPartyTypeKind.ZodEffects:return q(t,r);case c.ZodFirstPartyTypeKind.ZodAny:return L();case c.ZodFirstPartyTypeKind.ZodUnknown:return ue();case c.ZodFirstPartyTypeKind.ZodDefault:return B(t,r);case c.ZodFirstPartyTypeKind.ZodBranded:return P(t,r);case c.ZodFirstPartyTypeKind.ZodReadonly:return le(t,r);case c.ZodFirstPartyTypeKind.ZodCatch:return z(t,r);case c.ZodFirstPartyTypeKind.ZodPipeline:return oe(t,r);case c.ZodFirstPartyTypeKind.ZodFunction:case c.ZodFirstPartyTypeKind.ZodVoid:case c.ZodFirstPartyTypeKind.ZodSymbol:return;default:return(n=>{})(e)}};function i(t,e,r=!1){let n=e.seen.get(t);if(e.override){let m=e.override?.(t,e,n,r);if(m!==F)return m}if(n&&!r){let m=Pe(n,e);if(m!==void 0)return m}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);let s=me(t,t.typeName,e),l=typeof s=="function"?i(s(),e):s;if(l&&Ae(t,e,l),e.postProcess){let m=e.postProcess(l,t,e);return o.jsonSchema=l,m}return o.jsonSchema=l,l}var Pe=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:ke(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((r,n)=>e.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),{}):e.$refStrategy==="seen"?{}:void 0}},ke=(t,e)=>{let r=0;for(;r<t.length&&r<e.length&&t[r]===e[r];r++);return[(t.length-r).toString(),...e.slice(r)].join("/")},Ae=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var w=(t,e)=>{let r=M(e),n=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((p,[b,D])=>({...p,[b]:i(D._def,{...r,currentPath:[...r.basePath,r.definitionPath,b]},!0)??{}}),{}):void 0,o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,s=i(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1)??{},l=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;l!==void 0&&(s.title=l);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"),f=a.z.record(a.z.string(),a.z.any()).describe("Represents a plain literal object."),Se=a.z.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","void","location","availability"]).describe("Enum for field types."),je=a.z.enum(["input","textarea","select","radio","checkbox","switch","carousel","button","label","calendar","map"]).describe("Enum for field components."),_e=a.z.enum(["simple","multiple"]).describe("Enum for field selection modes."),Oe=a.z.enum(["hidden","disabled"]).describe("Enum for field dependent behaviors."),Ze=a.z.object({label:a.z.union([a.z.string(),f]).optional().describe("Label for the field item."),value:f.optional().describe("Value of the field item."),description:a.z.union([a.z.string(),f]).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."),we=a.z.enum(["property","httpRequest","mqRequest","function"]).describe("Enum for data provider source types."),v=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."),S=a.z.object({or:a.z.array(v).optional().describe("Array of OR conditions."),and:a.z.array(v).optional().describe("Array of AND conditions.")}).describe("Data transfer object for conditional group operators."),Te=a.z.enum(["map","concat","filter","reduce","unique","join","flat","flatmap","sort","delete"]).describe("Enum for data transformer types."),Ne=a.z.object({type:Te.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([v,S])).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."),T=a.z.object({type:we.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([v,S])).optional().describe("Conditions for the data provider."),transformers:a.z.array(Ne).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."),Fe=a.z.object({name:a.z.string().describe("Name of the field."),type:Se.describe("Type of the field."),label:a.z.union([a.z.string(),f]).optional().describe("Label for the field."),value:a.z.any().optional().describe("Value of the field."),component:je.optional().describe("Component for the field."),selectionMode:_e.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(),f]).optional().describe("Placeholder for the field."),options:a.z.array(Ze).optional().describe("Options for the field."),optionsProvider:T.optional().describe("Data provider for the field options."),configuration:f.optional().describe("Configuration for the field."),dependsOn:a.z.array(f).optional().describe("Fields that this field depends on."),dependentBehavior:Oe.optional().describe("Behavior of the field when its dependencies are not met."),conditions:a.z.array(f).optional().describe("Conditions for the field."),customError:f.optional().describe("Custom error message for the field.")}).describe("Data transfer object for a field."),Ee=a.z.enum(["submit","link","forward","script"]).describe("Enum for action types."),Me=a.z.enum(["primary","secondary","success","warning","info","danger"]).describe("Enum for action variants."),Le=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."),Ce=f.describe("Data transfer object for fail flow. TODO: Define the actual structure for FailFlowSchema if it's not a plain literal object."),$e=a.z.object({function:Re.describe("Function type for the pipeline."),params:f.optional().describe("Parameters for the pipeline function."),conditions:a.z.array(a.z.union([v,S])).optional().describe("Conditions for the pipeline."),require:a.z.array(a.z.string()).optional().describe("Required fields for the pipeline."),onFail:Ce.optional().describe("Fail flow configuration.")}).describe("Data transfer object for an action pipeline."),Ie=a.z.object({id:a.z.string().describe("ID of the action."),label:a.z.union([a.z.string(),f]).optional().describe("Label for the action."),type:Ee.describe("Type of the action."),variant:Me.optional().describe("Variant of the action."),url:a.z.string().optional().describe("URL for link-type actions."),pipeline:a.z.array($e).optional().describe("Pipeline for the action."),conditions:a.z.array(f).optional().describe("Conditions for the action."),nextStepId:a.z.string().optional().describe("ID of the next step."),scripts:a.z.array(Le).optional().describe("Scripts associated with the action.")}).describe("Data transfer object for an action."),ze=a.z.object({conditions:a.z.array(a.z.union([v,S])).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(),f]).optional().describe("Title of the node."),description:a.z.string().optional().describe("Description of the node."),fields:a.z.array(Fe).optional().describe("Fields in the node."),actions:a.z.array(Ie).optional().describe("Actions available in the node."),routing:a.z.array(ze).optional().describe("Routing rules for the node."),stateProviders:a.z.array(T).optional().describe("Data providers for state management."),trackingProviders:a.z.array(T).optional().describe("Data providers for tracking."),stageId:a.z.string().optional().describe("ID of the stage this node belongs to."),translations:f.optional().describe("Translations for the node.")}).describe("Data transfer object for a node."),vn=a.z.array(de).describe("List of nodes."),fe=a.z.object({nodes:a.z.array(de).describe("List of nodes.")});var Be=w(fe,"OnliveFlowSchema");(0,he.writeFileSync)("flow-configuration.schema.json",JSON.stringify(Be,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"];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");