@onlive.ai/flow-client 0.1.48 → 0.1.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/flow-client v0.1.48 | © 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","equal","not-equal","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.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};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onlive.ai/flow-client",
3
- "version": "0.1.48",
3
+ "version": "0.1.49",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "**/*.js",
@@ -33,7 +33,7 @@
33
33
  "vitest": "^2.1.9",
34
34
  "zod": "^3.24.4",
35
35
  "@onlive.ai/calendar": "0.0.9",
36
- "@onlive.ai/common-121": "0.2.44"
36
+ "@onlive.ai/common-121": "0.2.45"
37
37
  },
38
38
  "devDependencies": {
39
39
  "zod-to-json-schema": "^3.24.5"
@@ -1,4 +1,4 @@
1
- /*! @onlive.ai/flow-client v0.1.48 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/flow-client v0.1.49 | © 2025 Onlive.ai */
2
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
3
3
  ]))`;continue}else if(n[p]==="$"){o+=`($|(?=[\r
4
4
  ]))`;continue}}if(r.s&&n[p]==="."){o+=l?`${n[p]}\r
@@ -1,4 +1,4 @@
1
- /*! @onlive.ai/flow-client v0.1.48 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/flow-client v0.1.49 | © 2025 Onlive.ai */
2
2
  import{writeFileSync as ze}from"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)}import{ZodFirstPartyTypeKind as c}from"zod";function L(){return{}}import{ZodFirstPartyTypeKind as de}from"zod";function R(t,e){let r={type:"array"};return t.type?._def&&t.type?._def?.typeName!==de.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 C(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 $(){return{type:"boolean"}}function P(t,e){return i(t.type._def,e)}var I=(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 fe(t,e)}}var fe=(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 z(t,e){return{...i(t.innerType._def,e),default:t.defaultValue()}}function B(t,e){return e.effectStrategy==="input"?i(t.schema._def,e):{}}function q(t){return{type:"string",enum:Array.from(t.values)}}var he=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function U(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(he(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 V(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}}import{ZodFirstPartyTypeKind as v}from"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"?be(t):t}var ge=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function be(t){let e="";for(let r=0;r<t.length;r++)ge.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:W(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):u(t,"pattern",W(e,n),r,n)}function W(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
3
3
  ]))`;continue}else if(n[p]==="$"){o+=`($|(?=[\r
4
4
  ]))`;continue}}if(r.s&&n[p]==="."){o+=l?`${n[p]}\r
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/flow-client v0.1.48 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/flow-client v0.1.49 | © 2025 Onlive.ai */
2
2
  "use strict";var p=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var h=(a,e,t)=>e in a?p(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var T=(a,e)=>{for(var t in e)p(a,t,{get:e[t],enumerable:!0})},I=(a,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of E(e))!k.call(a,i)&&i!==t&&p(a,i,{get:()=>e[i],enumerable:!(r=u(e,i))||r.enumerable});return a};var g=a=>I(p({},"__esModule",{value:!0}),a);var d=(a,e,t)=>h(a,typeof e!="symbol"?e+"":e,t);var b={};T(b,{TrackingService:()=>c,default:()=>O});module.exports=g(b);var s=require("@onlive.ai/tracker"),f=require("@onlive.ai/common-121/utils/merge.js"),_=require("@onlive.ai/common-121/utils/browser-preferences.js");var n=require("zod"),o="flow_form",l="onlive-analytics-event",v=n.z.object({enabled:n.z.boolean().default(!1).optional(),data:n.z.custom().optional(),removeExtraneousValues:n.z.boolean().default(!0).optional(),allowBotTraffic:n.z.boolean().default(!1).optional(),adapters:n.z.array(n.z.string()).default([]).optional(),apiUrl:n.z.string().url().optional(),emitters:n.z.object({windowEvent:n.z.boolean().optional(),dataLayer:n.z.boolean().optional(),windowPostMessage:n.z.boolean().optional()}).optional()});var c=class{constructor(e,t,r,i){d(this,"options");d(this,"tracker");d(this,"eventListeners",[]);this.options=v.parse(r),this.tracker=new s.Tracker({apiUrl:this.options.apiUrl,removeExtraneousValues:this.options.removeExtraneousValues,allowBotTraffic:this.options.allowBotTraffic,adapters:this.options.adapters,dryRun:i}),this.tracker.setBase((0,f.merge)({},{organization_id:e,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:t}},this.options.data)),window.addEventListener(l,({detail:m})=>this.emit(m.event,m.data))}getTracker(){return this.tracker}preferences(){return{...(0,_.browserPreferences)(),interactionId:s.Session.interactionId,guestId:s.Session.id}}analyzeRequest(e,t){"currentStepId"in e&&(e.actionId&&this.tracker.send("element_click",{element_label:e.actionId,element_type:"button",form_name:Object.keys(t.fields||{}).length?o:void 0,step_name:e.currentStepId}),t.fields&&this.tracker.send("form_submit",{form_name:o,form_data:t.fields,step_name:e.currentStepId}))}analyzeResponse(e,t){"currentStepId"in e&&(t.step.result?.pipelines&&t.step.result.pipelines.forEach(r=>{this.tracker.send("task_success",{task_name:r.name,task_data:r.data,step_name:t.step.id})}),t.step.error&&this.tracker.send("form_error",{form_name:o,form_error:t.step.error.code,step_name:t.step.id})),this.tracker.send("impression",{impression_type:"step",form_name:void 0,step_name:t.step.id,step_initial:!("currentStepId"in e)||void 0,step_final:t.step.isFinal}),this.tracker.setBase({form_name:o,step_name:t.step.id,step_initial:!("currentStepId"in e)||void 0,step_final:t.step.isFinal,...t.step.result?.tracking})}send(e,t){this.tracker.send(e,t)}setData(e){this.tracker.setBase(e)}onEvent(e){this.eventListeners.push(e)}emit(e,t){this.eventListeners.forEach(r=>r({event:e,data:t}))}},O=c;0&&(module.exports={TrackingService});
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/flow-client v0.1.48 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/flow-client v0.1.49 | © 2025 Onlive.ai */
2
2
  var v=Object.defineProperty;var f=(n,e,t)=>e in n?v(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var s=(n,e,t)=>f(n,typeof e!="symbol"?e+"":e,t);import{Session as o,Tracker as _}from"@onlive.ai/tracker";import{merge as u}from"@onlive.ai/common-121/utils/merge.js";import{browserPreferences as E}from"@onlive.ai/common-121/utils/browser-preferences.js";import{z as a}from"zod";var i="flow_form",c="onlive-analytics-event",m=a.object({enabled:a.boolean().default(!1).optional(),data:a.custom().optional(),removeExtraneousValues:a.boolean().default(!0).optional(),allowBotTraffic:a.boolean().default(!1).optional(),adapters:a.array(a.string()).default([]).optional(),apiUrl:a.string().url().optional(),emitters:a.object({windowEvent:a.boolean().optional(),dataLayer:a.boolean().optional(),windowPostMessage:a.boolean().optional()}).optional()});var p=class{constructor(e,t,r,l){s(this,"options");s(this,"tracker");s(this,"eventListeners",[]);this.options=m.parse(r),this.tracker=new _({apiUrl:this.options.apiUrl,removeExtraneousValues:this.options.removeExtraneousValues,allowBotTraffic:this.options.allowBotTraffic,adapters:this.options.adapters,dryRun:l}),this.tracker.setBase(u({},{organization_id:e,page_url:window.location.href,page_referrer:document.referrer,origin_medium:"web",guest_id:o.id,interaction_id:o.interactionId,extra:{flow_id:t}},this.options.data)),window.addEventListener(c,({detail:d})=>this.emit(d.event,d.data))}getTracker(){return this.tracker}preferences(){return{...E(),interactionId:o.interactionId,guestId:o.id}}analyzeRequest(e,t){"currentStepId"in e&&(e.actionId&&this.tracker.send("element_click",{element_label:e.actionId,element_type:"button",form_name:Object.keys(t.fields||{}).length?i:void 0,step_name:e.currentStepId}),t.fields&&this.tracker.send("form_submit",{form_name:i,form_data:t.fields,step_name:e.currentStepId}))}analyzeResponse(e,t){"currentStepId"in e&&(t.step.result?.pipelines&&t.step.result.pipelines.forEach(r=>{this.tracker.send("task_success",{task_name:r.name,task_data:r.data,step_name:t.step.id})}),t.step.error&&this.tracker.send("form_error",{form_name:i,form_error:t.step.error.code,step_name:t.step.id})),this.tracker.send("impression",{impression_type:"step",form_name:void 0,step_name:t.step.id,step_initial:!("currentStepId"in e)||void 0,step_final:t.step.isFinal}),this.tracker.setBase({form_name:i,step_name:t.step.id,step_initial:!("currentStepId"in e)||void 0,step_final:t.step.isFinal,...t.step.result?.tracking})}send(e,t){this.tracker.send(e,t)}setData(e){this.tracker.setBase(e)}onEvent(e){this.eventListeners.push(e)}emit(e,t){this.eventListeners.forEach(r=>r({event:e,data:t}))}},L=p;export{p as TrackingService,L as default};
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/flow-client v0.1.48 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/flow-client v0.1.49 | © 2025 Onlive.ai */
2
2
  "use strict";var i=Object.defineProperty;var r=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var s=Object.prototype.hasOwnProperty;var c=(a,o)=>{for(var n in o)i(a,n,{get:o[n],enumerable:!0})},f=(a,o,n,l)=>{if(o&&typeof o=="object"||typeof o=="function")for(let e of p(o))!s.call(a,e)&&e!==n&&i(a,e,{get:()=>o[e],enumerable:!(l=r(o,e))||l.enumerable});return a};var E=a=>f(i({},"__esModule",{value:!0}),a);var u={};c(u,{ONLIVE_ANALYTICS_EVENT:()=>v,ONLIVE_FLOW_FORM_NAME:()=>m,TrackingOptionsSchema:()=>d});module.exports=E(u);var t=require("zod"),m="flow_form",v="onlive-analytics-event",d=t.z.object({enabled:t.z.boolean().default(!1).optional(),data:t.z.custom().optional(),removeExtraneousValues:t.z.boolean().default(!0).optional(),allowBotTraffic:t.z.boolean().default(!1).optional(),adapters:t.z.array(t.z.string()).default([]).optional(),apiUrl:t.z.string().url().optional(),emitters:t.z.object({windowEvent:t.z.boolean().optional(),dataLayer:t.z.boolean().optional(),windowPostMessage:t.z.boolean().optional()}).optional()});0&&(module.exports={ONLIVE_ANALYTICS_EVENT,ONLIVE_FLOW_FORM_NAME,TrackingOptionsSchema});
@@ -1,2 +1,2 @@
1
- /*! @onlive.ai/flow-client v0.1.48 | © 2025 Onlive.ai */
1
+ /*! @onlive.ai/flow-client v0.1.49 | © 2025 Onlive.ai */
2
2
  import{z as t}from"zod";var a="flow_form",e="onlive-analytics-event",n=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()});export{e as ONLIVE_ANALYTICS_EVENT,a as ONLIVE_FLOW_FORM_NAME,n as TrackingOptionsSchema};