@onlive.ai/flow-client 0.1.60 → 0.1.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/client.service.cjs +1 -1
- package/client/client.service.js +1 -1
- package/client/client.service.spec.cjs +1 -1
- package/client/client.service.spec.js +1 -1
- package/client/client.types.cjs +1 -1
- package/client/client.types.js +1 -1
- package/flow.types.cjs +1 -1
- package/flow.types.js +1 -1
- package/index.cjs +1 -1
- package/index.js +1 -1
- package/package.json +2 -2
- package/schema-generator.cjs +1 -1
- package/schema-generator.js +1 -1
- package/tracking/tracking.service.cjs +1 -1
- package/tracking/tracking.service.js +1 -1
- package/tracking/tracking.types.cjs +1 -1
- package/tracking/tracking.types.js +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/flow-client v0.1.
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.61 | © 2025 Onlive.ai */
|
|
2
2
|
"use strict";var m=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var F=(i,o,e)=>o in i?m(i,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[o]=e;var U=(i,o)=>{for(var e in o)m(i,e,{get:o[e],enumerable:!0})},V=(i,o,e,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of R(o))!C.call(i,r)&&r!==e&&m(i,r,{get:()=>o[r],enumerable:!(n=z(o,r))||n.enumerable});return i};var G=i=>V(m({},"__esModule",{value:!0}),i);var l=(i,o,e)=>F(i,typeof o!="symbol"?o+"":o,e);var tt={};U(tt,{FlowClient:()=>v,default:()=>Q});module.exports=G(tt);var L=require("@onlive.ai/common-121/utils/merge.js");var s=require("@onlive.ai/tracker"),j=require("@onlive.ai/common-121/utils/merge.js"),_=require("@onlive.ai/common-121/utils/browser-preferences.js");var a=require("zod"),d="flow_form",T="onlive-analytics-event",u=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 x=class{constructor(o,e,n,r){l(this,"options");l(this,"tracker");l(this,"eventListeners",[]);this.options=u.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(T,({detail:c})=>this.emit(c.event,c.data))}getTracker(){return this.tracker}preferences(){return{...(0,_.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?d:void 0,step_name:o.currentStepId}),e.fields&&this.tracker.send("form_submit",{form_name:d,form_data:e.fields,step_name:o.currentStepId}))}analyzeResponse(o,e){this.tracker.setBase({form_name:d,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}))}},E=x;var f=require("@onlive.ai/calendar"),t=require("zod");var I={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},w=t.z.string().nonempty(),k=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:u.optional(),devMode:t.z.boolean().default(!1).optional()}),h=t.z.object({state:t.z.record(t.z.string(),t.z.any()).optional(),fields:t.z.record(t.z.string(),t.z.any()).optional()}),S=t.z.object({currentStepId:t.z.string().nonempty(),actionId:t.z.string().nonempty()}),A=t.z.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),M=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()}),$=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(),M).optional()}),q=t.z.object({datetime:t.z.string().datetime(),meta:t.z.record(t.z.string(),t.z.any()).optional()}),y=t.z.union([t.z.string(),t.z.number(),t.z.boolean(),$,q]),b=t.z.object({content:t.z.object({icon:t.z.string().optional(),url:t.z.string().url().optional(),width:t.z.string().optional(),height:t.z.string().optional(),scale:t.z.number().optional()}).optional(),background:t.z.string().optional(),glyph:t.z.object({color:t.z.string().optional(),url:t.z.string().url().optional(),icon:t.z.string().optional()}).optional(),borderColor:t.z.string().optional(),scale:t.z.number().optional()}),g=t.z.custom(i=>/^\d{4}-\d{2}-\d{2}$/.test(i),{message:"Date must be in 'YYYY-MM-DD' format"}),p=t.z.object({text:t.z.string().optional(),icon:t.z.string().optional()}),O=t.z.object({fieldName:t.z.string().nonempty(),value:y.optional(),operator:t.z.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()}),B=t.z.object({and:t.z.array(O).optional(),or:t.z.array(O).optional()}),N=t.z.array(t.z.union([O,B])),W=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()}),Y=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"]),position:t.z.enum(["top","bottom"]).optional(),url:t.z.string().url().optional(),loadingBehavior:t.z.enum(["none","spinner","disabled"]).optional(),prefix:p.optional(),suffix:p.optional(),scripts:W.array().optional(),events:Y.array().optional()}),K=t.z.object({name:t.z.string().nonempty(),label:t.z.string().optional(),value:t.z.union([y,t.z.array(y)]).optional(),type:A,component:t.z.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","grid","button","label","map","calendar"]).optional(),disabled:t.z.boolean().optional(),readonly:t.z.boolean().optional(),multiple:t.z.boolean().optional(),placeholder:t.z.string().optional(),options:t.z.array(t.z.object({label:t.z.string().nonempty(),value:y.optional(),image:t.z.string().url().optional(),description:t.z.string().optional(),disabled:t.z.boolean().optional(),attributes:t.z.record(t.z.string(),t.z.any()).optional(),actions:t.z.array(D).optional(),dependsOn:N.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:p.optional(),success:p.optional(),error:p.optional()}).optional(),suffix:t.z.object({default:p.optional(),success:p.optional(),error:p.optional()}).optional(),clearable:t.z.boolean().optional(),floatingLabel:t.z.boolean().optional()}).optional(),textarea:t.z.object({rows:t.z.number().optional()}).optional(),checkbox:t.z.object({layout:t.z.enum(["horizontal","vertical"])}).optional(),rating:t.z.object({icons:t.z.array(t.z.string()).optional(),color:t.z.string().optional(),precision:t.z.number().optional()}).optional(),carousel:t.z.object({loop:t.z.boolean().optional(),mouseDragging:t.z.boolean().optional(),itemsPerPage:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),itemsPerMove:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),showArrows:t.z.boolean().optional(),showDots:t.z.boolean().optional(),autoplay:t.z.boolean().optional(),autoplaySpeed:t.z.number().optional(),clickableItems:t.z.object({actionId:t.z.string()}).optional()}).optional(),grid:t.z.object({search:t.z.object({enabled:t.z.boolean().optional(),value:t.z.string().optional(),button:t.z.object({label:t.z.string().optional()}).optional(),placeholder:t.z.string().optional(),noResultsText:t.z.string().optional(),clearable:t.z.boolean().optional()}).optional(),itemsPerRow:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),itemsPerPage:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),clickableItems:t.z.object({actionId:t.z.string()}).optional()}).optional(),map:t.z.object({apiKey:t.z.string().optional(),region:t.z.string().length(2).optional(),center:t.z.object({lat:t.z.number().min(-90).max(90),lng:t.z.number().min(-180).max(180)}).optional(),showMap:t.z.enum(["always","on-search","never"]).optional(),zoom:t.z.object({initial:t.z.number().optional(),focus:t.z.number().optional(),max:t.z.number().optional(),min:t.z.number().optional()}).optional(),controls:t.z.object({fullscreen:t.z.boolean().optional(),mapType:t.z.boolean().optional(),zoom:t.z.boolean().optional(),rotate:t.z.boolean().optional(),scale:t.z.boolean().optional(),streetView:t.z.boolean().optional()}).optional(),initialLocations:t.z.number().optional(),maxLocations:t.z.number().optional(),distanceUnit:t.z.enum(["km","mi"]).optional(),distanceFormat:t.z.enum(["short","long"]).optional(),options:t.z.object({show:t.z.enum(["always","on-search","never"]).optional(),component:t.z.enum(["list-button","list-radio","carousel"]).optional(),searchLabel:t.z.string().optional(),detailsLabel:t.z.string().optional()}).optional(),search:t.z.object({enabled:t.z.boolean().optional(),value:t.z.string().optional(),button:t.z.object({label:t.z.string().optional(),position:t.z.enum(["inside","outside"]).optional()}).optional(),placeholder:t.z.string().optional(),noResultsText:t.z.string().optional(),autocomplete:t.z.boolean().optional(),clearable:t.z.boolean().optional(),mode:t.z.enum(["address","postcode"]).default("postcode").optional(),locationButton:t.z.object({icon:t.z.string().optional(),position:t.z.enum(["left","right"]).optional()}).optional(),prefix:t.z.object({default:p.optional()}).optional(),suffix:t.z.object({default:p.optional()}).optional(),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:b.optional(),markerPin:t.z.object({default:b.optional(),hover:b.optional(),selected:b.optional()}).optional(),infoWindow:t.z.object({button:t.z.object({label:t.z.string(),action:t.z.string()}).optional()}).optional()}).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:g.optional(),max:g.optional(),enabled:t.z.array(g).optional(),disabled:t.z.array(g).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:f.GetAvailabilityFilters,options:f.GetAvailabilityOptions.optional()}).optional()}).optional()}).optional()}).optional(),dependsOn:N.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()}),H=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"]),J=t.z.object({type:t.z.enum(["redirect"]),params:t.z.record(t.z.string(),t.z.any()).optional()}),Z=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(K).optional(),actions:t.z.array(D).optional(),result:t.z.object({postActions:t.z.array(J).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:H,message:t.z.string().optional(),fields:t.z.array(t.z.object({name:t.z.string(),type:A,value:t.z.any(),error:t.z.string()})).optional()}).optional(),isFinal:t.z.boolean().optional()}),X=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()}))}),mt=t.z.object({status:t.z.enum(["ok","error"]),step:Z,flow:X}),dt=t.z.enum(["track"]);var P=require("@onlive.ai/common-121/utils/browser-preferences.js");var v=class{constructor(o){l(this,"baseURL");l(this,"headers");l(this,"flowId");l(this,"tracking");let e=(0,L.merge)({},I,k.parse(o));this.flowId=e.flowId,this.baseURL=e.baseUrl,this.headers=new Headers({"Content-Type":"application/json","X-Onlive-Organization-Id":e.organizationId,"X-Lang":e.lang}),e.tracking?.enabled&&(this.tracking=new E(e.organizationId,e.flowId,e.tracking,!!e.devMode))}async request(o,e={}){let n=await fetch(`${this.baseURL}/${o}`,{...e,headers:this.headers});if(!n?.ok)throw new Error(`HTTP error! status: ${n?.status||"unknown"}`);return n.json()}async firstStep(o={}){this.tracking?.analyzeRequest({},o);let e=this.tracking?this.tracking?.preferences():(0,P.browserPreferences)(),n=await this.request(`flow/${this.flowId}/first-step`,{method:"POST",body:JSON.stringify(h.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/${w.parse(o)}`,{method:"POST",body:JSON.stringify(h.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}=S.parse(o),c=await this.request(`flow/${this.flowId}/steps/${n}/action/${r}`,{method:"POST",body:JSON.stringify(h.parse(e))});return this.tracking?.analyzeResponse(o,c),c}},Q=v;0&&(module.exports={FlowClient});
|
package/client/client.service.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/flow-client v0.1.
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.61 | © 2025 Onlive.ai */
|
|
2
2
|
var k=Object.defineProperty;var S=(a,e,o)=>e in a?k(a,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[e]=o;var p=(a,e,o)=>S(a,typeof e!="symbol"?e+"":e,o);import{merge as Y}from"@onlive.ai/common-121/utils/merge.js";import{Session as d,Tracker as A}from"@onlive.ai/tracker";import{merge as D}from"@onlive.ai/common-121/utils/merge.js";import{browserPreferences as L}from"@onlive.ai/common-121/utils/browser-preferences.js";import{z as i}from"zod";var c="flow_form",x="onlive-analytics-event",m=i.object({enabled:i.boolean().default(!1).optional(),data:i.custom().optional(),removeExtraneousValues:i.boolean().default(!0).optional(),allowBotTraffic:i.boolean().default(!1).optional(),adapters:i.array(i.string()).default([]).optional(),apiUrl:i.string().url().optional(),emitters:i.object({windowEvent:i.boolean().optional(),dataLayer:i.boolean().optional(),windowPostMessage:i.boolean().optional()}).optional()});var f=class{constructor(e,o,n,l){p(this,"options");p(this,"tracker");p(this,"eventListeners",[]);this.options=m.parse(n),this.tracker=new A({apiUrl:this.options.apiUrl,removeExtraneousValues:this.options.removeExtraneousValues,allowBotTraffic:this.options.allowBotTraffic,adapters:this.options.adapters,dryRun:l}),this.tracker.setBase(D({},{organization_id:e,page_url:window.location.href,page_referrer:document.referrer,origin_medium:"web",guest_id:d.id,interaction_id:d.interactionId,extra:{flow_id:o}},this.options.data)),window.addEventListener(x,({detail:s})=>this.emit(s.event,s.data))}getTracker(){return this.tracker}preferences(){return{...L(),interactionId:d.interactionId,guestId:d.id}}analyzeRequest(e,o){"currentStepId"in e&&(e.actionId&&this.tracker.send("element_click",{element_label:e.actionId,element_type:"button",form_name:Object.keys(o.fields||{}).length?c:void 0,step_name:e.currentStepId}),o.fields&&this.tracker.send("form_submit",{form_name:c,form_data:o.fields,step_name:e.currentStepId}))}analyzeResponse(e,o){this.tracker.setBase({form_name:c,step_name:o.step.id,step_initial:!("currentStepId"in e)||void 0,step_final:o.step.isFinal,...o.step.result?.tracking}),"currentStepId"in e&&(o.step.result?.pipelines&&o.step.result.pipelines.forEach(n=>{this.tracker.send("task_success",{task_name:n.name,task_data:n.data})}),o.step.error&&this.tracker.send("form_error",{form_error:o.step.error.code})),this.tracker.send("impression",{impression_type:"step"})}send(e,o){this.tracker.send(e,o)}setData(e){this.tracker.setBase(e)}onEvent(e){this.eventListeners.push(e)}emit(e,o){this.eventListeners.forEach(n=>n({event:e,data:o}))}},O=f;import{GetAvailabilityFilters as P,GetAvailabilityOptions as z}from"@onlive.ai/calendar";import{z as t}from"zod";var j={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},_=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:m.optional(),devMode:t.boolean().default(!1).optional()}),y=t.object({state:t.record(t.string(),t.any()).optional(),fields:t.record(t.string(),t.any()).optional()}),N=t.object({currentStepId:t.string().nonempty(),actionId:t.string().nonempty()}),I=t.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),R=t.object({name:t.string(),value:t.string().optional(),icon:t.string().optional(),type:t.enum(["url","email","phone"]).optional()}),C=t.object({lat:t.number().min(-90).max(90),lng:t.number().min(-180).max(180),meta:t.record(t.string(),t.any()).optional(),properties:t.record(t.string(),R).optional()}),F=t.object({datetime:t.string().datetime(),meta:t.record(t.string(),t.any()).optional()}),g=t.union([t.string(),t.number(),t.boolean(),C,F]),u=t.object({content:t.object({icon:t.string().optional(),url:t.string().url().optional(),width:t.string().optional(),height:t.string().optional(),scale:t.number().optional()}).optional(),background:t.string().optional(),glyph:t.object({color:t.string().optional(),url:t.string().url().optional(),icon:t.string().optional()}).optional(),borderColor:t.string().optional(),scale:t.number().optional()}),b=t.custom(a=>/^\d{4}-\d{2}-\d{2}$/.test(a),{message:"Date must be in 'YYYY-MM-DD' format"}),r=t.object({text:t.string().optional(),icon:t.string().optional()}),h=t.object({fieldName:t.string().nonempty(),value:g.optional(),operator:t.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()}),U=t.object({and:t.array(h).optional(),or:t.array(h).optional()}),T=t.array(t.union([h,U])),V=t.object({src:t.string().url(),preload:t.boolean().optional(),name:t.string().nonempty(),function:t.string().nonempty(),params:t.record(t.string(),t.any()).optional()}),G=t.object({name:t.enum(["organization_call","close_panel"]),params:t.record(t.string(),t.any()).optional()}),w=t.object({id:t.string().nonempty(),type:t.enum(["submit","navigate","link","back","dispatcher","script"]),label:t.string().nonempty(),variant:t.enum(["primary","secondary","success","danger","warning","info"]),position:t.enum(["top","bottom"]).optional(),url:t.string().url().optional(),loadingBehavior:t.enum(["none","spinner","disabled"]).optional(),prefix:r.optional(),suffix:r.optional(),scripts:V.array().optional(),events:G.array().optional()}),M=t.object({name:t.string().nonempty(),label:t.string().optional(),value:t.union([g,t.array(g)]).optional(),type:I,component:t.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","grid","button","label","map","calendar"]).optional(),disabled:t.boolean().optional(),readonly:t.boolean().optional(),multiple:t.boolean().optional(),placeholder:t.string().optional(),options:t.array(t.object({label:t.string().nonempty(),value:g.optional(),image:t.string().url().optional(),description:t.string().optional(),disabled:t.boolean().optional(),attributes:t.record(t.string(),t.any()).optional(),actions:t.array(w).optional(),dependsOn:T.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:r.optional(),success:r.optional(),error:r.optional()}).optional(),suffix:t.object({default:r.optional(),success:r.optional(),error:r.optional()}).optional(),clearable:t.boolean().optional(),floatingLabel:t.boolean().optional()}).optional(),textarea:t.object({rows:t.number().optional()}).optional(),checkbox:t.object({layout:t.enum(["horizontal","vertical"])}).optional(),rating:t.object({icons:t.array(t.string()).optional(),color:t.string().optional(),precision:t.number().optional()}).optional(),carousel:t.object({loop:t.boolean().optional(),mouseDragging:t.boolean().optional(),itemsPerPage:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),itemsPerMove:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),showArrows:t.boolean().optional(),showDots:t.boolean().optional(),autoplay:t.boolean().optional(),autoplaySpeed:t.number().optional(),clickableItems:t.object({actionId:t.string()}).optional()}).optional(),grid:t.object({search:t.object({enabled:t.boolean().optional(),value:t.string().optional(),button:t.object({label:t.string().optional()}).optional(),placeholder:t.string().optional(),noResultsText:t.string().optional(),clearable:t.boolean().optional()}).optional(),itemsPerRow:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),itemsPerPage:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),clickableItems:t.object({actionId:t.string()}).optional()}).optional(),map:t.object({apiKey:t.string().optional(),region:t.string().length(2).optional(),center:t.object({lat:t.number().min(-90).max(90),lng:t.number().min(-180).max(180)}).optional(),showMap:t.enum(["always","on-search","never"]).optional(),zoom:t.object({initial:t.number().optional(),focus:t.number().optional(),max:t.number().optional(),min:t.number().optional()}).optional(),controls:t.object({fullscreen:t.boolean().optional(),mapType:t.boolean().optional(),zoom:t.boolean().optional(),rotate:t.boolean().optional(),scale:t.boolean().optional(),streetView:t.boolean().optional()}).optional(),initialLocations:t.number().optional(),maxLocations:t.number().optional(),distanceUnit:t.enum(["km","mi"]).optional(),distanceFormat:t.enum(["short","long"]).optional(),options:t.object({show:t.enum(["always","on-search","never"]).optional(),component:t.enum(["list-button","list-radio","carousel"]).optional(),searchLabel:t.string().optional(),detailsLabel:t.string().optional()}).optional(),search:t.object({enabled:t.boolean().optional(),value:t.string().optional(),button:t.object({label:t.string().optional(),position:t.enum(["inside","outside"]).optional()}).optional(),placeholder:t.string().optional(),noResultsText:t.string().optional(),autocomplete:t.boolean().optional(),clearable:t.boolean().optional(),mode:t.enum(["address","postcode"]).default("postcode").optional(),locationButton:t.object({icon:t.string().optional(),position:t.enum(["left","right"]).optional()}).optional(),prefix:t.object({default:r.optional()}).optional(),suffix:t.object({default:r.optional()}).optional(),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:u.optional(),markerPin:t.object({default:u.optional(),hover:u.optional(),selected:u.optional()}).optional(),infoWindow:t.object({button:t.object({label:t.string(),action:t.string()}).optional()}).optional()}).optional(),calendar:t.object({current:t.object({month:t.number().min(0).max(11).optional(),year:t.number().optional()}).optional(),range:t.object({min:b.optional(),max:b.optional(),enabled:t.array(b).optional(),disabled:t.array(b).optional()}).optional(),time:t.object({label:t.string().optional(),format:t.enum(["12h","24h"]).optional(),component:t.enum(["carousel","list"]).optional()}).optional(),api:t.object({url:t.string().url().nonempty(),organizationId:t.string().nonempty(),availability:t.object({filters:P,options:z.optional()}).optional()}).optional()}).optional()}).optional(),dependsOn:T.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()}),$=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"]),q=t.object({type:t.enum(["redirect"]),params:t.record(t.string(),t.any()).optional()}),B=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(M).optional(),actions:t.array(w).optional(),result:t.object({postActions:t.array(q).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:$,message:t.string().optional(),fields:t.array(t.object({name:t.string(),type:I,value:t.any(),error:t.string()})).optional()}).optional(),isFinal:t.boolean().optional()}),W=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()}))}),mt=t.object({status:t.enum(["ok","error"]),step:B,flow:W}),dt=t.enum(["track"]);import{browserPreferences as K}from"@onlive.ai/common-121/utils/browser-preferences.js";var v=class{constructor(e){p(this,"baseURL");p(this,"headers");p(this,"flowId");p(this,"tracking");let o=Y({},j,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 O(o.organizationId,o.flowId,o.tracking,!!o.devMode))}async request(e,o={}){let n=await fetch(`${this.baseURL}/${e}`,{...o,headers:this.headers});if(!n?.ok)throw new Error(`HTTP error! status: ${n?.status||"unknown"}`);return n.json()}async firstStep(e={}){this.tracking?.analyzeRequest({},e);let o=this.tracking?this.tracking?.preferences():K(),n=await this.request(`flow/${this.flowId}/first-step`,{method:"POST",body:JSON.stringify(y.parse({...e,state:{preferences:o,...e.state}}))});return this.tracking?.analyzeResponse({},n),n}async getStep(e,o={}){this.tracking?.analyzeRequest({stepId:e},o);let n=this.tracking?.preferences(),l=await this.request(`flow/${this.flowId}/steps/${_.parse(e)}`,{method:"POST",body:JSON.stringify(y.parse({...o,state:{preferences:n,...o.state}}))});return this.tracking?.analyzeResponse({stepId:e},l),l}async nextStep(e,o={}){this.tracking?.analyzeRequest(e,o);let{currentStepId:n,actionId:l}=N.parse(e),s=await this.request(`flow/${this.flowId}/steps/${n}/action/${l}`,{method:"POST",body:JSON.stringify(y.parse(o))});return this.tracking?.analyzeResponse(e,s),s}},vt=v;export{v as FlowClient,vt as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/flow-client v0.1.
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.61 | © 2025 Onlive.ai */
|
|
2
2
|
"use strict";var V=Object.defineProperty;var $=(r,n,e)=>n in r?V(r,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[n]=e;var m=(r,n,e)=>$(r,typeof n!="symbol"?n+"":n,e);var o=require("vitest"),g=require("zod");var F=require("@onlive.ai/common-121/utils/merge.js");var b=require("@onlive.ai/tracker"),E=require("@onlive.ai/common-121/utils/merge.js"),_=require("@onlive.ai/common-121/utils/browser-preferences.js");var p=require("zod"),f="flow_form",k="onlive-analytics-event",y=p.z.object({enabled:p.z.boolean().default(!1).optional(),data:p.z.custom().optional(),removeExtraneousValues:p.z.boolean().default(!0).optional(),allowBotTraffic:p.z.boolean().default(!1).optional(),adapters:p.z.array(p.z.string()).default([]).optional(),apiUrl:p.z.string().url().optional(),emitters:p.z.object({windowEvent:p.z.boolean().optional(),dataLayer:p.z.boolean().optional(),windowPostMessage:p.z.boolean().optional()}).optional()});var I=class{constructor(n,e,i,s){m(this,"options");m(this,"tracker");m(this,"eventListeners",[]);this.options=y.parse(i),this.tracker=new b.Tracker({apiUrl:this.options.apiUrl,removeExtraneousValues:this.options.removeExtraneousValues,allowBotTraffic:this.options.allowBotTraffic,adapters:this.options.adapters,dryRun:s}),this.tracker.setBase((0,E.merge)({},{organization_id:n,page_url:window.location.href,page_referrer:document.referrer,origin_medium:"web",guest_id:b.Session.id,interaction_id:b.Session.interactionId,extra:{flow_id:e}},this.options.data)),window.addEventListener(k,({detail:d})=>this.emit(d.event,d.data))}getTracker(){return this.tracker}preferences(){return{...(0,_.browserPreferences)(),interactionId:b.Session.interactionId,guestId:b.Session.id}}analyzeRequest(n,e){"currentStepId"in n&&(n.actionId&&this.tracker.send("element_click",{element_label:n.actionId,element_type:"button",form_name:Object.keys(e.fields||{}).length?f:void 0,step_name:n.currentStepId}),e.fields&&this.tracker.send("form_submit",{form_name:f,form_data:e.fields,step_name:n.currentStepId}))}analyzeResponse(n,e){this.tracker.setBase({form_name:f,step_name:e.step.id,step_initial:!("currentStepId"in n)||void 0,step_final:e.step.isFinal,...e.step.result?.tracking}),"currentStepId"in n&&(e.step.result?.pipelines&&e.step.result.pipelines.forEach(i=>{this.tracker.send("task_success",{task_name:i.name,task_data:i.data})}),e.step.error&&this.tracker.send("form_error",{form_error:e.step.error.code})),this.tracker.send("impression",{impression_type:"step"})}send(n,e){this.tracker.send(n,e)}setData(n){this.tracker.setBase(n)}onEvent(n){this.eventListeners.push(n)}emit(n,e){this.eventListeners.forEach(i=>i({event:n,data:e}))}},N=I;var T=require("@onlive.ai/calendar"),t=require("zod");var P={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},D=t.z.string().nonempty(),C=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:y.optional(),devMode:t.z.boolean().default(!1).optional()}),O=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()}),z=t.z.object({currentStepId:t.z.string().nonempty(),actionId:t.z.string().nonempty()}),L=t.z.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),M=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()}),q=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(),M).optional()}),B=t.z.object({datetime:t.z.string().datetime(),meta:t.z.record(t.z.string(),t.z.any()).optional()}),w=t.z.union([t.z.string(),t.z.number(),t.z.boolean(),q,B]),h=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()}),v=t.z.custom(r=>/^\d{4}-\d{2}-\d{2}$/.test(r),{message:"Date must be in 'YYYY-MM-DD' format"}),c=t.z.object({text:t.z.string().optional(),icon:t.z.string().optional()}),S=t.z.object({fieldName:t.z.string().nonempty(),value:w.optional(),operator:t.z.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()}),H=t.z.object({and:t.z.array(S).optional(),or:t.z.array(S).optional()}),A=t.z.array(t.z.union([S,H])),W=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()}),Y=t.z.object({name:t.z.enum(["organization_call","close_panel"]),params:t.z.record(t.z.string(),t.z.any()).optional()}),R=t.z.object({id:t.z.string().nonempty(),type:t.z.enum(["submit","navigate","link","back","dispatcher","script"]),label:t.z.string().nonempty(),variant:t.z.enum(["primary","secondary","success","danger","warning","info"]),position:t.z.enum(["top","bottom"]).optional(),url:t.z.string().url().optional(),loadingBehavior:t.z.enum(["none","spinner","disabled"]).optional(),prefix:c.optional(),suffix:c.optional(),scripts:W.array().optional(),events:Y.array().optional()}),K=t.z.object({name:t.z.string().nonempty(),label:t.z.string().optional(),value:t.z.union([w,t.z.array(w)]).optional(),type:L,component:t.z.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","grid","button","label","map","calendar"]).optional(),disabled:t.z.boolean().optional(),readonly:t.z.boolean().optional(),multiple:t.z.boolean().optional(),placeholder:t.z.string().optional(),options:t.z.array(t.z.object({label:t.z.string().nonempty(),value:w.optional(),image:t.z.string().url().optional(),description:t.z.string().optional(),disabled:t.z.boolean().optional(),attributes:t.z.record(t.z.string(),t.z.any()).optional(),actions:t.z.array(R).optional(),dependsOn:A.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(r=>{try{return new RegExp(r),!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:c.optional(),success:c.optional(),error:c.optional()}).optional(),suffix:t.z.object({default:c.optional(),success:c.optional(),error:c.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.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),itemsPerMove:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),showArrows:t.z.boolean().optional(),showDots:t.z.boolean().optional(),autoplay:t.z.boolean().optional(),autoplaySpeed:t.z.number().optional(),clickableItems:t.z.object({actionId:t.z.string()}).optional()}).optional(),grid:t.z.object({search:t.z.object({enabled:t.z.boolean().optional(),value:t.z.string().optional(),button:t.z.object({label:t.z.string().optional()}).optional(),placeholder:t.z.string().optional(),noResultsText:t.z.string().optional(),clearable:t.z.boolean().optional()}).optional(),itemsPerRow:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),itemsPerPage:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),clickableItems:t.z.object({actionId:t.z.string()}).optional()}).optional(),map:t.z.object({apiKey:t.z.string().optional(),region:t.z.string().length(2).optional(),center:t.z.object({lat:t.z.number().min(-90).max(90),lng:t.z.number().min(-180).max(180)}).optional(),showMap:t.z.enum(["always","on-search","never"]).optional(),zoom:t.z.object({initial:t.z.number().optional(),focus:t.z.number().optional(),max:t.z.number().optional(),min:t.z.number().optional()}).optional(),controls:t.z.object({fullscreen:t.z.boolean().optional(),mapType:t.z.boolean().optional(),zoom:t.z.boolean().optional(),rotate:t.z.boolean().optional(),scale:t.z.boolean().optional(),streetView:t.z.boolean().optional()}).optional(),initialLocations:t.z.number().optional(),maxLocations:t.z.number().optional(),distanceUnit:t.z.enum(["km","mi"]).optional(),distanceFormat:t.z.enum(["short","long"]).optional(),options:t.z.object({show:t.z.enum(["always","on-search","never"]).optional(),component:t.z.enum(["list-button","list-radio","carousel"]).optional(),searchLabel:t.z.string().optional(),detailsLabel:t.z.string().optional()}).optional(),search:t.z.object({enabled:t.z.boolean().optional(),value:t.z.string().optional(),button:t.z.object({label:t.z.string().optional(),position:t.z.enum(["inside","outside"]).optional()}).optional(),placeholder:t.z.string().optional(),noResultsText:t.z.string().optional(),autocomplete:t.z.boolean().optional(),clearable:t.z.boolean().optional(),mode:t.z.enum(["address","postcode"]).default("postcode").optional(),locationButton:t.z.object({icon:t.z.string().optional(),position:t.z.enum(["left","right"]).optional()}).optional(),prefix:t.z.object({default:c.optional()}).optional(),suffix:t.z.object({default:c.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:h.optional(),markerPin:t.z.object({default:h.optional(),hover:h.optional(),selected:h.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:v.optional(),max:v.optional(),enabled:t.z.array(v).optional(),disabled:t.z.array(v).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:T.GetAvailabilityFilters,options:T.GetAvailabilityOptions.optional()}).optional()}).optional()}).optional()}).optional(),dependsOn:A.optional(),dependentBehavior:t.z.enum(["hidden","disabled"]).optional(),customError:t.z.object({required:t.z.string().optional(),invalid:t.z.string().optional(),minLength:t.z.string().optional(),maxLength:t.z.string().optional(),minValue:t.z.string().optional(),maxValue:t.z.string().optional(),mismatch:t.z.string().optional()}).optional()}),J=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"]),Z=t.z.object({type:t.z.enum(["redirect"]),params:t.z.record(t.z.string(),t.z.any()).optional()}),X=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(K).optional(),actions:t.z.array(R).optional(),result:t.z.object({postActions:t.z.array(Z).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:J,message:t.z.string().optional(),fields:t.z.array(t.z.object({name:t.z.string(),type:L,value:t.z.any(),error:t.z.string()})).optional()}).optional(),isFinal:t.z.boolean().optional()}),Q=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()}))}),ct=t.z.object({status:t.z.enum(["ok","error"]),step:X,flow:Q}),dt=t.z.enum(["track"]);var U=require("@onlive.ai/common-121/utils/browser-preferences.js");var j=class{constructor(n){m(this,"baseURL");m(this,"headers");m(this,"flowId");m(this,"tracking");let e=(0,F.merge)({},P,C.parse(n));this.flowId=e.flowId,this.baseURL=e.baseUrl,this.headers=new Headers({"Content-Type":"application/json","X-Onlive-Organization-Id":e.organizationId,"X-Lang":e.lang}),e.tracking?.enabled&&(this.tracking=new N(e.organizationId,e.flowId,e.tracking,!!e.devMode))}async request(n,e={}){let i=await fetch(`${this.baseURL}/${n}`,{...e,headers:this.headers});if(!i?.ok)throw new Error(`HTTP error! status: ${i?.status||"unknown"}`);return i.json()}async firstStep(n={}){this.tracking?.analyzeRequest({},n);let e=this.tracking?this.tracking?.preferences():(0,U.browserPreferences)(),i=await this.request(`flow/${this.flowId}/first-step`,{method:"POST",body:JSON.stringify(O.parse({...n,state:{preferences:e,...n.state}}))});return this.tracking?.analyzeResponse({},i),i}async getStep(n,e={}){this.tracking?.analyzeRequest({stepId:n},e);let i=this.tracking?.preferences(),s=await this.request(`flow/${this.flowId}/steps/${D.parse(n)}`,{method:"POST",body:JSON.stringify(O.parse({...e,state:{preferences:i,...e.state}}))});return this.tracking?.analyzeResponse({stepId:n},s),s}async nextStep(n,e={}){this.tracking?.analyzeRequest(n,e);let{currentStepId:i,actionId:s}=z.parse(n),d=await this.request(`flow/${this.flowId}/steps/${i}/action/${s}`,{method:"POST",body:JSON.stringify(O.parse(e))});return this.tracking?.analyzeResponse(n,d),d}},u=j;var G=require("@onlive.ai/common-121/utils/browser-preferences.js");(0,o.describe)("FlowClient",()=>{let r,n="123e4567-e89b-12d3-a456-426614174000",e="4f3d2a1b6c8e9f0d7a2b3c4d",i={baseUrl:"https://api.example.com",organizationId:n,flowId:e,lang:"en"},s={state:{someKey:"someValue"}},d={status:"ok",step:{id:"step-id"},flow:{id:e,updatedAt:"2021-01-01T00:00:00Z",organizationId:n,stages:[]}};(0,o.beforeEach)(()=>{o.vi.clearAllMocks(),global.fetch=o.vi.fn(),r=new u(i)}),(0,o.describe)("Constructor",()=>{(0,o.it)("should create instance with correct configuration",()=>{let a=new u(i);(0,o.expect)(a.baseURL).toBe(i.baseUrl),(0,o.expect)(a.headers.get("Content-Type")).toBe("application/json"),(0,o.expect)(a.headers.get("X-Onlive-Organization-Id")).toBe(i.organizationId)}),(0,o.it)("should throw error if baseUrl is invalid",()=>{let a={baseUrl:"invalid-url",organizationId:n,flowId:e,lang:"en"};(0,o.expect)(()=>new u(a)).toThrow(g.ZodError)}),(0,o.it)("should throw error if organizationId is missing",()=>{let a={baseUrl:"https://api.example.com",flowId:e,lang:"en"};(0,o.expect)(()=>new u(a)).toThrow(g.ZodError)}),(0,o.it)("should throw error if organizationId is not a valid UUID",()=>{let a={baseUrl:"https://api.example.com",organizationId:"invalid-uuid",flowId:e,lang:"en"};(0,o.expect)(()=>new u(a)).toThrow(g.ZodError)}),(0,o.it)("should throw error if lang is missing",()=>{let a={baseUrl:"https://api.example.com",organizationId:n,flowId:e};(0,o.expect)(()=>new u(a)).toThrow(g.ZodError)}),(0,o.it)("should throw error if lang length is not 2",()=>{let a={baseUrl:"https://api.example.com",organizationId:n,flowId:e,lang:"english"};(0,o.expect)(()=>new u(a)).toThrow(g.ZodError)})}),(0,o.describe)("firstStep",()=>{(0,o.it)("should make POST request to /flow/:flowId/first-step",async()=>{let a=d;global.fetch=o.vi.fn().mockResolvedValue({ok:!0,json:()=>Promise.resolve(a)});let l=await r.firstStep(s);(0,o.expect)(global.fetch).toHaveBeenCalledWith(`${i.baseUrl}/flow/${i.flowId}/first-step`,o.expect.objectContaining({method:"POST",headers:o.expect.any(Headers),body:JSON.stringify({state:{preferences:(0,G.browserPreferences)(),...s.state}})})),(0,o.expect)(l).toEqual(a)}),(0,o.it)("should throw error if options are invalid",async()=>{let a={state:"invalid-state"};await(0,o.expect)(r.firstStep(a)).rejects.toThrow(Error)}),(0,o.it)("should handle HTTP error",async()=>{global.fetch=o.vi.fn().mockResolvedValue({ok:!1,status:500}),await(0,o.expect)(r.firstStep(s)).rejects.toThrow("HTTP error! status: 500")})}),(0,o.describe)("getStep",()=>{let a="step-123";(0,o.it)("should make POST request to /flow/:flowId/steps/:stepId",async()=>{let l=d;global.fetch=o.vi.fn().mockResolvedValue({ok:!0,json:()=>Promise.resolve(l)});let x=await r.getStep(a,s);(0,o.expect)(global.fetch).toHaveBeenCalledWith(`${i.baseUrl}/flow/${i.flowId}/steps/${a}`,o.expect.objectContaining({method:"POST",headers:o.expect.any(Headers),body:JSON.stringify(s)})),(0,o.expect)(x).toEqual(l)}),(0,o.it)("should throw error if options are invalid",async()=>{let l={state:"invalid-state"};await(0,o.expect)(r.getStep(a,l)).rejects.toThrow(Error)}),(0,o.it)("should handle HTTP error",async()=>{global.fetch=o.vi.fn().mockResolvedValue({ok:!1,status:500}),await(0,o.expect)(r.getStep(a,s)).rejects.toThrow("HTTP error! status: 500")})}),(0,o.describe)("nextStep",()=>{let a={currentStepId:"step-123",actionId:"action-123"};(0,o.it)("should make POST request to /flow/:flowId/steps/:currentStepId/action/:actionId",async()=>{let l=d;global.fetch=o.vi.fn().mockResolvedValue({ok:!0,json:()=>Promise.resolve(l)});let x=await r.nextStep(a,s);(0,o.expect)(global.fetch).toHaveBeenCalledWith(`${i.baseUrl}/flow/${i.flowId}/steps/${a.currentStepId}/action/${a.actionId}`,o.expect.objectContaining({method:"POST",headers:o.expect.any(Headers),body:JSON.stringify(s)})),(0,o.expect)(x).toEqual(l)}),(0,o.it)("should validate trigger",async()=>{let l={};await(0,o.expect)(r.nextStep(l,s)).rejects.toThrow(g.ZodError)}),(0,o.it)("should throw error if options are invalid",async()=>{let l={state:"invalid-state"};await(0,o.expect)(r.nextStep(a,l)).rejects.toThrow(g.ZodError)}),(0,o.it)("should handle HTTP error",async()=>{global.fetch=o.vi.fn().mockResolvedValue({ok:!1,status:500}),await(0,o.expect)(r.nextStep(a,s)).rejects.toThrow("HTTP error! status: 500")})})});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/flow-client v0.1.
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.61 | © 2025 Onlive.ai */
|
|
2
2
|
var F=Object.defineProperty;var U=(r,e,o)=>e in r?F(r,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):r[e]=o;var u=(r,e,o)=>U(r,typeof e!="symbol"?e+"":e,o);import{beforeEach as at,describe as y,expect as i,it as l,vi as b}from"vitest";import{ZodError as f}from"zod";import{merge as et}from"@onlive.ai/common-121/utils/merge.js";import{Session as w,Tracker as G}from"@onlive.ai/tracker";import{merge as V}from"@onlive.ai/common-121/utils/merge.js";import{browserPreferences as $}from"@onlive.ai/common-121/utils/browser-preferences.js";import{z as c}from"zod";var h="flow_form",_="onlive-analytics-event",v=c.object({enabled:c.boolean().default(!1).optional(),data:c.custom().optional(),removeExtraneousValues:c.boolean().default(!0).optional(),allowBotTraffic:c.boolean().default(!1).optional(),adapters:c.array(c.string()).default([]).optional(),apiUrl:c.string().url().optional(),emitters:c.object({windowEvent:c.boolean().optional(),dataLayer:c.boolean().optional(),windowPostMessage:c.boolean().optional()}).optional()});var j=class{constructor(e,o,a,s){u(this,"options");u(this,"tracker");u(this,"eventListeners",[]);this.options=v.parse(a),this.tracker=new G({apiUrl:this.options.apiUrl,removeExtraneousValues:this.options.removeExtraneousValues,allowBotTraffic:this.options.allowBotTraffic,adapters:this.options.adapters,dryRun:s}),this.tracker.setBase(V({},{organization_id:e,page_url:window.location.href,page_referrer:document.referrer,origin_medium:"web",guest_id:w.id,interaction_id:w.interactionId,extra:{flow_id:o}},this.options.data)),window.addEventListener(_,({detail:m})=>this.emit(m.event,m.data))}getTracker(){return this.tracker}preferences(){return{...$(),interactionId:w.interactionId,guestId:w.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?h:void 0,step_name:e.currentStepId}),o.fields&&this.tracker.send("form_submit",{form_name:h,form_data:o.fields,step_name:e.currentStepId}))}analyzeResponse(e,o){this.tracker.setBase({form_name:h,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(a=>{this.tracker.send("task_success",{task_name:a.name,task_data:a.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(a=>a({event:e,data:o}))}},N=j;import{GetAvailabilityFilters as M,GetAvailabilityOptions as q}from"@onlive.ai/calendar";import{z as t}from"zod";var P={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},D=t.string().nonempty(),C=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:v.optional(),devMode:t.boolean().default(!1).optional()}),I=t.object({state:t.record(t.string(),t.any()).optional(),fields:t.record(t.string(),t.any()).optional()}),z=t.object({currentStepId:t.string().nonempty(),actionId:t.string().nonempty()}),L=t.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),B=t.object({name:t.string(),value:t.string().optional(),icon:t.string().optional(),type:t.enum(["url","email","phone"]).optional()}),H=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(),B).optional()}),W=t.object({datetime:t.string().datetime(),meta:t.record(t.string(),t.any()).optional()}),x=t.union([t.string(),t.number(),t.boolean(),H,W]),T=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()}),O=t.custom(r=>/^\d{4}-\d{2}-\d{2}$/.test(r),{message:"Date must be in 'YYYY-MM-DD' format"}),d=t.object({text:t.string().optional(),icon:t.string().optional()}),k=t.object({fieldName:t.string().nonempty(),value:x.optional(),operator:t.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()}),Y=t.object({and:t.array(k).optional(),or:t.array(k).optional()}),A=t.array(t.union([k,Y])),K=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()}),J=t.object({name:t.enum(["organization_call","close_panel"]),params:t.record(t.string(),t.any()).optional()}),R=t.object({id:t.string().nonempty(),type:t.enum(["submit","navigate","link","back","dispatcher","script"]),label:t.string().nonempty(),variant:t.enum(["primary","secondary","success","danger","warning","info"]),position:t.enum(["top","bottom"]).optional(),url:t.string().url().optional(),loadingBehavior:t.enum(["none","spinner","disabled"]).optional(),prefix:d.optional(),suffix:d.optional(),scripts:K.array().optional(),events:J.array().optional()}),Z=t.object({name:t.string().nonempty(),label:t.string().optional(),value:t.union([x,t.array(x)]).optional(),type:L,component:t.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","grid","button","label","map","calendar"]).optional(),disabled:t.boolean().optional(),readonly:t.boolean().optional(),multiple:t.boolean().optional(),placeholder:t.string().optional(),options:t.array(t.object({label:t.string().nonempty(),value:x.optional(),image:t.string().url().optional(),description:t.string().optional(),disabled:t.boolean().optional(),attributes:t.record(t.string(),t.any()).optional(),actions:t.array(R).optional(),dependsOn:A.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(r=>{try{return new RegExp(r),!0}catch{return!1}},"Invalid regex pattern").optional(),minLength:t.number().optional(),maxLength:t.number().optional(),exactLength:t.number().optional(),prefix:t.object({default:d.optional(),success:d.optional(),error:d.optional()}).optional(),suffix:t.object({default:d.optional(),success:d.optional(),error:d.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.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),itemsPerMove:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),showArrows:t.boolean().optional(),showDots:t.boolean().optional(),autoplay:t.boolean().optional(),autoplaySpeed:t.number().optional(),clickableItems:t.object({actionId:t.string()}).optional()}).optional(),grid:t.object({search:t.object({enabled:t.boolean().optional(),value:t.string().optional(),button:t.object({label:t.string().optional()}).optional(),placeholder:t.string().optional(),noResultsText:t.string().optional(),clearable:t.boolean().optional()}).optional(),itemsPerRow:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),itemsPerPage:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),clickableItems:t.object({actionId:t.string()}).optional()}).optional(),map:t.object({apiKey:t.string().optional(),region:t.string().length(2).optional(),center:t.object({lat:t.number().min(-90).max(90),lng:t.number().min(-180).max(180)}).optional(),showMap:t.enum(["always","on-search","never"]).optional(),zoom:t.object({initial:t.number().optional(),focus:t.number().optional(),max:t.number().optional(),min:t.number().optional()}).optional(),controls:t.object({fullscreen:t.boolean().optional(),mapType:t.boolean().optional(),zoom:t.boolean().optional(),rotate:t.boolean().optional(),scale:t.boolean().optional(),streetView:t.boolean().optional()}).optional(),initialLocations:t.number().optional(),maxLocations:t.number().optional(),distanceUnit:t.enum(["km","mi"]).optional(),distanceFormat:t.enum(["short","long"]).optional(),options:t.object({show:t.enum(["always","on-search","never"]).optional(),component:t.enum(["list-button","list-radio","carousel"]).optional(),searchLabel:t.string().optional(),detailsLabel:t.string().optional()}).optional(),search:t.object({enabled:t.boolean().optional(),value:t.string().optional(),button:t.object({label:t.string().optional(),position:t.enum(["inside","outside"]).optional()}).optional(),placeholder:t.string().optional(),noResultsText:t.string().optional(),autocomplete:t.boolean().optional(),clearable:t.boolean().optional(),mode:t.enum(["address","postcode"]).default("postcode").optional(),locationButton:t.object({icon:t.string().optional(),position:t.enum(["left","right"]).optional()}).optional(),prefix:t.object({default:d.optional()}).optional(),suffix:t.object({default:d.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:T.optional(),markerPin:t.object({default:T.optional(),hover:T.optional(),selected:T.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:O.optional(),max:O.optional(),enabled:t.array(O).optional(),disabled:t.array(O).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:M,options:q.optional()}).optional()}).optional()}).optional()}).optional(),dependsOn:A.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()}),X=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"]),Q=t.object({type:t.enum(["redirect"]),params:t.record(t.string(),t.any()).optional()}),tt=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(Z).optional(),actions:t.array(R).optional(),result:t.object({postActions:t.array(Q).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:X,message:t.string().optional(),fields:t.array(t.object({name:t.string(),type:L,value:t.any(),error:t.string()})).optional()}).optional(),isFinal:t.boolean().optional()}),ot=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()}))}),Ot=t.object({status:t.enum(["ok","error"]),step:tt,flow:ot}),xt=t.enum(["track"]);import{browserPreferences as nt}from"@onlive.ai/common-121/utils/browser-preferences.js";var E=class{constructor(e){u(this,"baseURL");u(this,"headers");u(this,"flowId");u(this,"tracking");let o=et({},P,C.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 N(o.organizationId,o.flowId,o.tracking,!!o.devMode))}async request(e,o={}){let a=await fetch(`${this.baseURL}/${e}`,{...o,headers:this.headers});if(!a?.ok)throw new Error(`HTTP error! status: ${a?.status||"unknown"}`);return a.json()}async firstStep(e={}){this.tracking?.analyzeRequest({},e);let o=this.tracking?this.tracking?.preferences():nt(),a=await this.request(`flow/${this.flowId}/first-step`,{method:"POST",body:JSON.stringify(I.parse({...e,state:{preferences:o,...e.state}}))});return this.tracking?.analyzeResponse({},a),a}async getStep(e,o={}){this.tracking?.analyzeRequest({stepId:e},o);let a=this.tracking?.preferences(),s=await this.request(`flow/${this.flowId}/steps/${D.parse(e)}`,{method:"POST",body:JSON.stringify(I.parse({...o,state:{preferences:a,...o.state}}))});return this.tracking?.analyzeResponse({stepId:e},s),s}async nextStep(e,o={}){this.tracking?.analyzeRequest(e,o);let{currentStepId:a,actionId:s}=z.parse(e),m=await this.request(`flow/${this.flowId}/steps/${a}/action/${s}`,{method:"POST",body:JSON.stringify(I.parse(o))});return this.tracking?.analyzeResponse(e,m),m}},g=E;import{browserPreferences as it}from"@onlive.ai/common-121/utils/browser-preferences.js";y("FlowClient",()=>{let r,e="123e4567-e89b-12d3-a456-426614174000",o="4f3d2a1b6c8e9f0d7a2b3c4d",a={baseUrl:"https://api.example.com",organizationId:e,flowId:o,lang:"en"},s={state:{someKey:"someValue"}},m={status:"ok",step:{id:"step-id"},flow:{id:o,updatedAt:"2021-01-01T00:00:00Z",organizationId:e,stages:[]}};at(()=>{b.clearAllMocks(),global.fetch=b.fn(),r=new g(a)}),y("Constructor",()=>{l("should create instance with correct configuration",()=>{let n=new g(a);i(n.baseURL).toBe(a.baseUrl),i(n.headers.get("Content-Type")).toBe("application/json"),i(n.headers.get("X-Onlive-Organization-Id")).toBe(a.organizationId)}),l("should throw error if baseUrl is invalid",()=>{let n={baseUrl:"invalid-url",organizationId:e,flowId:o,lang:"en"};i(()=>new g(n)).toThrow(f)}),l("should throw error if organizationId is missing",()=>{let n={baseUrl:"https://api.example.com",flowId:o,lang:"en"};i(()=>new g(n)).toThrow(f)}),l("should throw error if organizationId is not a valid UUID",()=>{let n={baseUrl:"https://api.example.com",organizationId:"invalid-uuid",flowId:o,lang:"en"};i(()=>new g(n)).toThrow(f)}),l("should throw error if lang is missing",()=>{let n={baseUrl:"https://api.example.com",organizationId:e,flowId:o};i(()=>new g(n)).toThrow(f)}),l("should throw error if lang length is not 2",()=>{let n={baseUrl:"https://api.example.com",organizationId:e,flowId:o,lang:"english"};i(()=>new g(n)).toThrow(f)})}),y("firstStep",()=>{l("should make POST request to /flow/:flowId/first-step",async()=>{let n=m;global.fetch=b.fn().mockResolvedValue({ok:!0,json:()=>Promise.resolve(n)});let p=await r.firstStep(s);i(global.fetch).toHaveBeenCalledWith(`${a.baseUrl}/flow/${a.flowId}/first-step`,i.objectContaining({method:"POST",headers:i.any(Headers),body:JSON.stringify({state:{preferences:it(),...s.state}})})),i(p).toEqual(n)}),l("should throw error if options are invalid",async()=>{let n={state:"invalid-state"};await i(r.firstStep(n)).rejects.toThrow(Error)}),l("should handle HTTP error",async()=>{global.fetch=b.fn().mockResolvedValue({ok:!1,status:500}),await i(r.firstStep(s)).rejects.toThrow("HTTP error! status: 500")})}),y("getStep",()=>{let n="step-123";l("should make POST request to /flow/:flowId/steps/:stepId",async()=>{let p=m;global.fetch=b.fn().mockResolvedValue({ok:!0,json:()=>Promise.resolve(p)});let S=await r.getStep(n,s);i(global.fetch).toHaveBeenCalledWith(`${a.baseUrl}/flow/${a.flowId}/steps/${n}`,i.objectContaining({method:"POST",headers:i.any(Headers),body:JSON.stringify(s)})),i(S).toEqual(p)}),l("should throw error if options are invalid",async()=>{let p={state:"invalid-state"};await i(r.getStep(n,p)).rejects.toThrow(Error)}),l("should handle HTTP error",async()=>{global.fetch=b.fn().mockResolvedValue({ok:!1,status:500}),await i(r.getStep(n,s)).rejects.toThrow("HTTP error! status: 500")})}),y("nextStep",()=>{let n={currentStepId:"step-123",actionId:"action-123"};l("should make POST request to /flow/:flowId/steps/:currentStepId/action/:actionId",async()=>{let p=m;global.fetch=b.fn().mockResolvedValue({ok:!0,json:()=>Promise.resolve(p)});let S=await r.nextStep(n,s);i(global.fetch).toHaveBeenCalledWith(`${a.baseUrl}/flow/${a.flowId}/steps/${n.currentStepId}/action/${n.actionId}`,i.objectContaining({method:"POST",headers:i.any(Headers),body:JSON.stringify(s)})),i(S).toEqual(p)}),l("should validate trigger",async()=>{let p={};await i(r.nextStep(p,s)).rejects.toThrow(f)}),l("should throw error if options are invalid",async()=>{let p={state:"invalid-state"};await i(r.nextStep(n,p)).rejects.toThrow(f)}),l("should handle HTTP error",async()=>{global.fetch=b.fn().mockResolvedValue({ok:!1,status:500}),await i(r.nextStep(n,s)).rejects.toThrow("HTTP error! status: 500")})})});
|
package/client/client.types.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/flow-client v0.1.
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.61 | © 2025 Onlive.ai */
|
|
2
2
|
"use strict";var m=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var D=Object.prototype.hasOwnProperty;var _=(n,i)=>{for(var r in i)m(n,r,{get:i[r],enumerable:!0})},I=(n,i,r,g)=>{if(i&&typeof i=="object"||typeof i=="function")for(let a of E(i))!D.call(n,a)&&a!==r&&m(n,a,{get:()=>i[a],enumerable:!(g=h(i,a))||g.enumerable});return n};var L=n=>I(m({},"__esModule",{value:!0}),n);var G={};_(G,{Action:()=>u,ActionEvent:()=>j,ActionScript:()=>x,ClientOptions:()=>z,DEFAULT_CLIENT_OPTIONS:()=>P,ErrorCode:()=>O,EventType:()=>U,Field:()=>v,Flow:()=>T,FlowContext:()=>V,GetStepOptions:()=>S,GetStepTrigger:()=>R,PostAction:()=>A,Step:()=>N,StepId:()=>w});module.exports=L(G);var c=require("@onlive.ai/calendar"),o=require("zod");var t=require("zod");var 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()});var P={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},w=o.z.string().nonempty(),z=o.z.object({baseUrl:o.z.string().url().nonempty(),flowId:o.z.string().length(24).nonempty(),organizationId:o.z.string().uuid().nonempty(),lang:o.z.string().length(2).nonempty(),tracking:d.optional(),devMode:o.z.boolean().default(!1).optional()}),S=o.z.object({state:o.z.record(o.z.string(),o.z.any()).optional(),fields:o.z.record(o.z.string(),o.z.any()).optional()}),R=o.z.object({currentStepId:o.z.string().nonempty(),actionId:o.z.string().nonempty()}),f=o.z.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),C=o.z.object({name:o.z.string(),value:o.z.string().optional(),icon:o.z.string().optional(),type:o.z.enum(["url","email","phone"]).optional()}),F=o.z.object({lat:o.z.number().min(-90).max(90),lng:o.z.number().min(-180).max(180),meta:o.z.record(o.z.string(),o.z.any()).optional(),properties:o.z.record(o.z.string(),C).optional()}),k=o.z.object({datetime:o.z.string().datetime(),meta:o.z.record(o.z.string(),o.z.any()).optional()}),s=o.z.union([o.z.string(),o.z.number(),o.z.boolean(),F,k]),l=o.z.object({content:o.z.object({icon:o.z.string().optional(),url:o.z.string().url().optional(),width:o.z.string().optional(),height:o.z.string().optional(),scale:o.z.number().optional()}).optional(),background:o.z.string().optional(),glyph:o.z.object({color:o.z.string().optional(),url:o.z.string().url().optional(),icon:o.z.string().optional()}).optional(),borderColor:o.z.string().optional(),scale:o.z.number().optional()}),p=o.z.custom(n=>/^\d{4}-\d{2}-\d{2}$/.test(n),{message:"Date must be in 'YYYY-MM-DD' format"}),e=o.z.object({text:o.z.string().optional(),icon:o.z.string().optional()}),b=o.z.object({fieldName:o.z.string().nonempty(),value:s.optional(),operator:o.z.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()}),M=o.z.object({and:o.z.array(b).optional(),or:o.z.array(b).optional()}),y=o.z.array(o.z.union([b,M])),x=o.z.object({src:o.z.string().url(),preload:o.z.boolean().optional(),name:o.z.string().nonempty(),function:o.z.string().nonempty(),params:o.z.record(o.z.string(),o.z.any()).optional()}),j=o.z.object({name:o.z.enum(["organization_call","close_panel"]),params:o.z.record(o.z.string(),o.z.any()).optional()}),u=o.z.object({id:o.z.string().nonempty(),type:o.z.enum(["submit","navigate","link","back","dispatcher","script"]),label:o.z.string().nonempty(),variant:o.z.enum(["primary","secondary","success","danger","warning","info"]),position:o.z.enum(["top","bottom"]).optional(),url:o.z.string().url().optional(),loadingBehavior:o.z.enum(["none","spinner","disabled"]).optional(),prefix:e.optional(),suffix:e.optional(),scripts:x.array().optional(),events:j.array().optional()}),v=o.z.object({name:o.z.string().nonempty(),label:o.z.string().optional(),value:o.z.union([s,o.z.array(s)]).optional(),type:f,component:o.z.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","grid","button","label","map","calendar"]).optional(),disabled:o.z.boolean().optional(),readonly:o.z.boolean().optional(),multiple:o.z.boolean().optional(),placeholder:o.z.string().optional(),options:o.z.array(o.z.object({label:o.z.string().nonempty(),value:s.optional(),image:o.z.string().url().optional(),description:o.z.string().optional(),disabled:o.z.boolean().optional(),attributes:o.z.record(o.z.string(),o.z.any()).optional(),actions:o.z.array(u).optional(),dependsOn:y.optional()})).optional(),required:o.z.boolean().optional(),configuration:o.z.object({generic:o.z.object({error:o.z.object({icon:o.z.string().optional(),showOn:o.z.enum(["input","blur"]).optional()})}).optional(),input:o.z.object({min:o.z.number().optional(),max:o.z.number().optional(),step:o.z.number().optional(),pattern:o.z.string().refine(n=>{try{return new RegExp(n),!0}catch{return!1}},"Invalid regex pattern").optional(),minLength:o.z.number().optional(),maxLength:o.z.number().optional(),exactLength:o.z.number().optional(),prefix:o.z.object({default:e.optional(),success:e.optional(),error:e.optional()}).optional(),suffix:o.z.object({default:e.optional(),success:e.optional(),error:e.optional()}).optional(),clearable:o.z.boolean().optional(),floatingLabel:o.z.boolean().optional()}).optional(),textarea:o.z.object({rows:o.z.number().optional()}).optional(),checkbox:o.z.object({layout:o.z.enum(["horizontal","vertical"])}).optional(),rating:o.z.object({icons:o.z.array(o.z.string()).optional(),color:o.z.string().optional(),precision:o.z.number().optional()}).optional(),carousel:o.z.object({loop:o.z.boolean().optional(),mouseDragging:o.z.boolean().optional(),itemsPerPage:o.z.object({small:o.z.number(),medium:o.z.number().optional(),large:o.z.number().optional()}).optional(),itemsPerMove:o.z.object({small:o.z.number(),medium:o.z.number().optional(),large:o.z.number().optional()}).optional(),showArrows:o.z.boolean().optional(),showDots:o.z.boolean().optional(),autoplay:o.z.boolean().optional(),autoplaySpeed:o.z.number().optional(),clickableItems:o.z.object({actionId:o.z.string()}).optional()}).optional(),grid:o.z.object({search:o.z.object({enabled:o.z.boolean().optional(),value:o.z.string().optional(),button:o.z.object({label:o.z.string().optional()}).optional(),placeholder:o.z.string().optional(),noResultsText:o.z.string().optional(),clearable:o.z.boolean().optional()}).optional(),itemsPerRow:o.z.object({small:o.z.number(),medium:o.z.number().optional(),large:o.z.number().optional()}).optional(),itemsPerPage:o.z.object({small:o.z.number(),medium:o.z.number().optional(),large:o.z.number().optional()}).optional(),clickableItems:o.z.object({actionId:o.z.string()}).optional()}).optional(),map:o.z.object({apiKey:o.z.string().optional(),region:o.z.string().length(2).optional(),center:o.z.object({lat:o.z.number().min(-90).max(90),lng:o.z.number().min(-180).max(180)}).optional(),showMap:o.z.enum(["always","on-search","never"]).optional(),zoom:o.z.object({initial:o.z.number().optional(),focus:o.z.number().optional(),max:o.z.number().optional(),min:o.z.number().optional()}).optional(),controls:o.z.object({fullscreen:o.z.boolean().optional(),mapType:o.z.boolean().optional(),zoom:o.z.boolean().optional(),rotate:o.z.boolean().optional(),scale:o.z.boolean().optional(),streetView:o.z.boolean().optional()}).optional(),initialLocations:o.z.number().optional(),maxLocations:o.z.number().optional(),distanceUnit:o.z.enum(["km","mi"]).optional(),distanceFormat:o.z.enum(["short","long"]).optional(),options:o.z.object({show:o.z.enum(["always","on-search","never"]).optional(),component:o.z.enum(["list-button","list-radio","carousel"]).optional(),searchLabel:o.z.string().optional(),detailsLabel:o.z.string().optional()}).optional(),search:o.z.object({enabled:o.z.boolean().optional(),value:o.z.string().optional(),button:o.z.object({label:o.z.string().optional(),position:o.z.enum(["inside","outside"]).optional()}).optional(),placeholder:o.z.string().optional(),noResultsText:o.z.string().optional(),autocomplete:o.z.boolean().optional(),clearable:o.z.boolean().optional(),mode:o.z.enum(["address","postcode"]).default("postcode").optional(),locationButton:o.z.object({icon:o.z.string().optional(),position:o.z.enum(["left","right"]).optional()}).optional(),prefix:o.z.object({default:e.optional()}).optional(),suffix:o.z.object({default:e.optional()}).optional(),mappedResults:o.z.object({mapping:o.z.record(o.z.string(),o.z.array(o.z.object({key:o.z.string(),value:o.z.string()})))}).optional()}).optional(),distanceRange:o.z.object({initial:o.z.number().optional(),min:o.z.number().optional(),max:o.z.number().optional(),step:o.z.number().optional()}).optional(),mapRegion:o.z.object({strokeColor:o.z.string().optional(),fillColor:o.z.string().optional(),fillOpacity:o.z.number().optional()}).optional(),locationPin:l.optional(),markerPin:o.z.object({default:l.optional(),hover:l.optional(),selected:l.optional()}).optional(),infoWindow:o.z.object({button:o.z.object({label:o.z.string(),action:o.z.string()}).optional()}).optional()}).optional(),calendar:o.z.object({current:o.z.object({month:o.z.number().min(0).max(11).optional(),year:o.z.number().optional()}).optional(),range:o.z.object({min:p.optional(),max:p.optional(),enabled:o.z.array(p).optional(),disabled:o.z.array(p).optional()}).optional(),time:o.z.object({label:o.z.string().optional(),format:o.z.enum(["12h","24h"]).optional(),component:o.z.enum(["carousel","list"]).optional()}).optional(),api:o.z.object({url:o.z.string().url().nonempty(),organizationId:o.z.string().nonempty(),availability:o.z.object({filters:c.GetAvailabilityFilters,options:c.GetAvailabilityOptions.optional()}).optional()}).optional()}).optional()}).optional(),dependsOn:y.optional(),dependentBehavior:o.z.enum(["hidden","disabled"]).optional(),customError:o.z.object({required:o.z.string().optional(),invalid:o.z.string().optional(),minLength:o.z.string().optional(),maxLength:o.z.string().optional(),minValue:o.z.string().optional(),maxValue:o.z.string().optional(),mismatch:o.z.string().optional()}).optional()}),O=o.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"]),A=o.z.object({type:o.z.enum(["redirect"]),params:o.z.record(o.z.string(),o.z.any()).optional()}),N=o.z.object({id:o.z.string().nonempty(),title:o.z.string().optional(),description:o.z.string().optional(),stageId:o.z.string().optional(),state:o.z.record(o.z.string(),o.z.any()).optional(),fields:o.z.array(v).optional(),actions:o.z.array(u).optional(),result:o.z.object({postActions:o.z.array(A).optional(),pipelines:o.z.array(o.z.object({name:o.z.string(),data:o.z.object({})})).optional(),tracking:o.z.record(o.z.string(),o.z.any()).optional()}).optional(),error:o.z.object({code:O,message:o.z.string().optional(),fields:o.z.array(o.z.object({name:o.z.string(),type:f,value:o.z.any(),error:o.z.string()})).optional()}).optional(),isFinal:o.z.boolean().optional()}),T=o.z.object({id:o.z.string().length(24).nonempty(),organizationId:o.z.string().uuid().nonempty(),updatedAt:o.z.string().datetime().nonempty(),stages:o.z.array(o.z.object({id:o.z.string().nonempty(),name:o.z.string().nonempty()}))}),V=o.z.object({status:o.z.enum(["ok","error"]),step:N,flow:T}),U=o.z.enum(["track"]);0&&(module.exports={Action,ActionEvent,ActionScript,ClientOptions,DEFAULT_CLIENT_OPTIONS,ErrorCode,EventType,Field,Flow,FlowContext,GetStepOptions,GetStepTrigger,PostAction,Step,StepId});
|
package/client/client.types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/flow-client v0.1.
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.61 | © 2025 Onlive.ai */
|
|
2
2
|
import{GetAvailabilityFilters as b,GetAvailabilityOptions as u}from"@onlive.ai/calendar";import{z as o}from"zod";import{z as t}from"zod";var p=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 L={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},P=o.string().nonempty(),w=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:p.optional(),devMode:o.boolean().default(!1).optional()}),z=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()}),c=o.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),g=o.object({name:o.string(),value:o.string().optional(),icon:o.string().optional(),type:o.enum(["url","email","phone"]).optional()}),d=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(),g).optional()}),y=o.object({datetime:o.string().datetime(),meta:o.record(o.string(),o.any()).optional()}),a=o.union([o.string(),o.number(),o.boolean(),d,y]),e=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()}),i=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()}),l=o.object({fieldName:o.string().nonempty(),value:a.optional(),operator:o.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()}),f=o.object({and:o.array(l).optional(),or:o.array(l).optional()}),s=o.array(o.union([l,f])),x=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()}),j=o.object({name:o.enum(["organization_call","close_panel"]),params:o.record(o.string(),o.any()).optional()}),m=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"]),position:o.enum(["top","bottom"]).optional(),url:o.string().url().optional(),loadingBehavior:o.enum(["none","spinner","disabled"]).optional(),prefix:n.optional(),suffix:n.optional(),scripts:x.array().optional(),events:j.array().optional()}),v=o.object({name:o.string().nonempty(),label:o.string().optional(),value:o.union([a,o.array(a)]).optional(),type:c,component:o.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","grid","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:a.optional(),image:o.string().url().optional(),description:o.string().optional(),disabled:o.boolean().optional(),attributes:o.record(o.string(),o.any()).optional(),actions:o.array(m).optional(),dependsOn:s.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.object({small:o.number(),medium:o.number().optional(),large:o.number().optional()}).optional(),itemsPerMove:o.object({small:o.number(),medium:o.number().optional(),large:o.number().optional()}).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(),grid:o.object({search:o.object({enabled:o.boolean().optional(),value:o.string().optional(),button:o.object({label:o.string().optional()}).optional(),placeholder:o.string().optional(),noResultsText:o.string().optional(),clearable:o.boolean().optional()}).optional(),itemsPerRow:o.object({small:o.number(),medium:o.number().optional(),large:o.number().optional()}).optional(),itemsPerPage:o.object({small:o.number(),medium:o.number().optional(),large:o.number().optional()}).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({enabled:o.boolean().optional(),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:e.optional(),markerPin:o.object({default:e.optional(),hover:e.optional(),selected:e.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:i.optional(),max:i.optional(),enabled:o.array(i).optional(),disabled:o.array(i).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:b,options:u.optional()}).optional()}).optional()}).optional()}).optional(),dependsOn:s.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()}),O=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"]),A=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(v).optional(),actions:o.array(m).optional(),result:o.object({postActions:o.array(A).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:O,message:o.string().optional(),fields:o.array(o.object({name:o.string(),type:c,value:o.any(),error:o.string()})).optional()}).optional(),isFinal:o.boolean().optional()}),T=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()}))}),R=o.object({status:o.enum(["ok","error"]),step:N,flow:T}),C=o.enum(["track"]);export{m as Action,j as ActionEvent,x as ActionScript,w as ClientOptions,L as DEFAULT_CLIENT_OPTIONS,O as ErrorCode,C as EventType,v as Field,T as Flow,R as FlowContext,z as GetStepOptions,S as GetStepTrigger,A as PostAction,N as Step,P as StepId};
|
package/flow.types.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/flow-client v0.1.
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.61 | © 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.
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.61 | © 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.
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.61 | © 2025 Onlive.ai */
|
|
2
2
|
"use strict";var b=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames;var q=Object.prototype.hasOwnProperty;var B=(i,o,e)=>o in i?b(i,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[o]=e;var W=(i,o)=>{for(var e in o)b(i,e,{get:o[e],enumerable:!0})},Y=(i,o,e,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of $(o))!q.call(i,r)&&r!==e&&b(i,r,{get:()=>o[r],enumerable:!(n=M(o,r))||n.enumerable});return i};var K=i=>Y(b({},"__esModule",{value:!0}),i);var l=(i,o,e)=>B(i,typeof o!="symbol"?o+"":o,e);var ot={};W(ot,{Action:()=>I,ActionEvent:()=>P,ActionScript:()=>L,ClientOptions:()=>_,DEFAULT_CLIENT_OPTIONS:()=>E,ErrorCode:()=>R,EventType:()=>tt,Field:()=>z,Flow:()=>U,FlowClient:()=>v,FlowContext:()=>Q,GetStepOptions:()=>u,GetStepTrigger:()=>N,ONLIVE_ANALYTICS_EVENT:()=>x,ONLIVE_FLOW_FORM_NAME:()=>m,PostAction:()=>C,Step:()=>F,StepId:()=>j,TrackingOptionsSchema:()=>d});module.exports=K(ot);var V=require("@onlive.ai/common-121/utils/merge.js");var s=require("@onlive.ai/tracker"),w=require("@onlive.ai/common-121/utils/merge.js"),k=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 O=class{constructor(o,e,n,r){l(this,"options");l(this,"tracker");l(this,"eventListeners",[]);this.options=d.parse(n),this.tracker=new s.Tracker({apiUrl:this.options.apiUrl,removeExtraneousValues:this.options.removeExtraneousValues,allowBotTraffic:this.options.allowBotTraffic,adapters:this.options.adapters,dryRun:r}),this.tracker.setBase((0,w.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,k.browserPreferences)(),interactionId:s.Session.interactionId,guestId:s.Session.id}}analyzeRequest(o,e){"currentStepId"in o&&(o.actionId&&this.tracker.send("element_click",{element_label:o.actionId,element_type:"button",form_name:Object.keys(e.fields||{}).length?m:void 0,step_name:o.currentStepId}),e.fields&&this.tracker.send("form_submit",{form_name:m,form_data:e.fields,step_name:o.currentStepId}))}analyzeResponse(o,e){this.tracker.setBase({form_name:m,step_name:e.step.id,step_initial:!("currentStepId"in o)||void 0,step_final:e.step.isFinal,...e.step.result?.tracking}),"currentStepId"in o&&(e.step.result?.pipelines&&e.step.result.pipelines.forEach(n=>{this.tracker.send("task_success",{task_name:n.name,task_data:n.data})}),e.step.error&&this.tracker.send("form_error",{form_error:e.step.error.code})),this.tracker.send("impression",{impression_type:"step"})}send(o,e){this.tracker.send(o,e)}setData(o){this.tracker.setBase(o)}onEvent(o){this.eventListeners.push(o)}emit(o,e){this.eventListeners.forEach(n=>n({event:o,data:e}))}},S=O;var h=require("@onlive.ai/calendar"),t=require("zod");var E={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},j=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()}),u=t.z.object({state:t.z.record(t.z.string(),t.z.any()).optional(),fields:t.z.record(t.z.string(),t.z.any()).optional()}),N=t.z.object({currentStepId:t.z.string().nonempty(),actionId:t.z.string().nonempty()}),D=t.z.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),H=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()}),J=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(),H).optional()}),Z=t.z.object({datetime:t.z.string().datetime(),meta:t.z.record(t.z.string(),t.z.any()).optional()}),f=t.z.union([t.z.string(),t.z.number(),t.z.boolean(),J,Z]),g=t.z.object({content:t.z.object({icon:t.z.string().optional(),url:t.z.string().url().optional(),width:t.z.string().optional(),height:t.z.string().optional(),scale:t.z.number().optional()}).optional(),background:t.z.string().optional(),glyph:t.z.object({color:t.z.string().optional(),url:t.z.string().url().optional(),icon:t.z.string().optional()}).optional(),borderColor:t.z.string().optional(),scale:t.z.number().optional()}),y=t.z.custom(i=>/^\d{4}-\d{2}-\d{2}$/.test(i),{message:"Date must be in 'YYYY-MM-DD' format"}),p=t.z.object({text:t.z.string().optional(),icon:t.z.string().optional()}),T=t.z.object({fieldName:t.z.string().nonempty(),value:f.optional(),operator:t.z.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()}),X=t.z.object({and:t.z.array(T).optional(),or:t.z.array(T).optional()}),A=t.z.array(t.z.union([T,X])),L=t.z.object({src:t.z.string().url(),preload:t.z.boolean().optional(),name:t.z.string().nonempty(),function:t.z.string().nonempty(),params:t.z.record(t.z.string(),t.z.any()).optional()}),P=t.z.object({name:t.z.enum(["organization_call","close_panel"]),params:t.z.record(t.z.string(),t.z.any()).optional()}),I=t.z.object({id:t.z.string().nonempty(),type:t.z.enum(["submit","navigate","link","back","dispatcher","script"]),label:t.z.string().nonempty(),variant:t.z.enum(["primary","secondary","success","danger","warning","info"]),position:t.z.enum(["top","bottom"]).optional(),url:t.z.string().url().optional(),loadingBehavior:t.z.enum(["none","spinner","disabled"]).optional(),prefix:p.optional(),suffix:p.optional(),scripts:L.array().optional(),events:P.array().optional()}),z=t.z.object({name:t.z.string().nonempty(),label:t.z.string().optional(),value:t.z.union([f,t.z.array(f)]).optional(),type:D,component:t.z.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","grid","button","label","map","calendar"]).optional(),disabled:t.z.boolean().optional(),readonly:t.z.boolean().optional(),multiple:t.z.boolean().optional(),placeholder:t.z.string().optional(),options:t.z.array(t.z.object({label:t.z.string().nonempty(),value:f.optional(),image:t.z.string().url().optional(),description:t.z.string().optional(),disabled:t.z.boolean().optional(),attributes:t.z.record(t.z.string(),t.z.any()).optional(),actions:t.z.array(I).optional(),dependsOn:A.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:p.optional(),success:p.optional(),error:p.optional()}).optional(),suffix:t.z.object({default:p.optional(),success:p.optional(),error:p.optional()}).optional(),clearable:t.z.boolean().optional(),floatingLabel:t.z.boolean().optional()}).optional(),textarea:t.z.object({rows:t.z.number().optional()}).optional(),checkbox:t.z.object({layout:t.z.enum(["horizontal","vertical"])}).optional(),rating:t.z.object({icons:t.z.array(t.z.string()).optional(),color:t.z.string().optional(),precision:t.z.number().optional()}).optional(),carousel:t.z.object({loop:t.z.boolean().optional(),mouseDragging:t.z.boolean().optional(),itemsPerPage:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),itemsPerMove:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),showArrows:t.z.boolean().optional(),showDots:t.z.boolean().optional(),autoplay:t.z.boolean().optional(),autoplaySpeed:t.z.number().optional(),clickableItems:t.z.object({actionId:t.z.string()}).optional()}).optional(),grid:t.z.object({search:t.z.object({enabled:t.z.boolean().optional(),value:t.z.string().optional(),button:t.z.object({label:t.z.string().optional()}).optional(),placeholder:t.z.string().optional(),noResultsText:t.z.string().optional(),clearable:t.z.boolean().optional()}).optional(),itemsPerRow:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),itemsPerPage:t.z.object({small:t.z.number(),medium:t.z.number().optional(),large:t.z.number().optional()}).optional(),clickableItems:t.z.object({actionId:t.z.string()}).optional()}).optional(),map:t.z.object({apiKey:t.z.string().optional(),region:t.z.string().length(2).optional(),center:t.z.object({lat:t.z.number().min(-90).max(90),lng:t.z.number().min(-180).max(180)}).optional(),showMap:t.z.enum(["always","on-search","never"]).optional(),zoom:t.z.object({initial:t.z.number().optional(),focus:t.z.number().optional(),max:t.z.number().optional(),min:t.z.number().optional()}).optional(),controls:t.z.object({fullscreen:t.z.boolean().optional(),mapType:t.z.boolean().optional(),zoom:t.z.boolean().optional(),rotate:t.z.boolean().optional(),scale:t.z.boolean().optional(),streetView:t.z.boolean().optional()}).optional(),initialLocations:t.z.number().optional(),maxLocations:t.z.number().optional(),distanceUnit:t.z.enum(["km","mi"]).optional(),distanceFormat:t.z.enum(["short","long"]).optional(),options:t.z.object({show:t.z.enum(["always","on-search","never"]).optional(),component:t.z.enum(["list-button","list-radio","carousel"]).optional(),searchLabel:t.z.string().optional(),detailsLabel:t.z.string().optional()}).optional(),search:t.z.object({enabled:t.z.boolean().optional(),value:t.z.string().optional(),button:t.z.object({label:t.z.string().optional(),position:t.z.enum(["inside","outside"]).optional()}).optional(),placeholder:t.z.string().optional(),noResultsText:t.z.string().optional(),autocomplete:t.z.boolean().optional(),clearable:t.z.boolean().optional(),mode:t.z.enum(["address","postcode"]).default("postcode").optional(),locationButton:t.z.object({icon:t.z.string().optional(),position:t.z.enum(["left","right"]).optional()}).optional(),prefix:t.z.object({default:p.optional()}).optional(),suffix:t.z.object({default:p.optional()}).optional(),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:g.optional(),markerPin:t.z.object({default:g.optional(),hover:g.optional(),selected:g.optional()}).optional(),infoWindow:t.z.object({button:t.z.object({label:t.z.string(),action:t.z.string()}).optional()}).optional()}).optional(),calendar:t.z.object({current:t.z.object({month:t.z.number().min(0).max(11).optional(),year:t.z.number().optional()}).optional(),range:t.z.object({min:y.optional(),max:y.optional(),enabled:t.z.array(y).optional(),disabled:t.z.array(y).optional()}).optional(),time:t.z.object({label:t.z.string().optional(),format:t.z.enum(["12h","24h"]).optional(),component:t.z.enum(["carousel","list"]).optional()}).optional(),api:t.z.object({url:t.z.string().url().nonempty(),organizationId:t.z.string().nonempty(),availability:t.z.object({filters:h.GetAvailabilityFilters,options:h.GetAvailabilityOptions.optional()}).optional()}).optional()}).optional()}).optional(),dependsOn:A.optional(),dependentBehavior:t.z.enum(["hidden","disabled"]).optional(),customError:t.z.object({required:t.z.string().optional(),invalid:t.z.string().optional(),minLength:t.z.string().optional(),maxLength:t.z.string().optional(),minValue:t.z.string().optional(),maxValue:t.z.string().optional(),mismatch:t.z.string().optional()}).optional()}),R=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"]),C=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(z).optional(),actions:t.z.array(I).optional(),result:t.z.object({postActions:t.z.array(C).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:R,message:t.z.string().optional(),fields:t.z.array(t.z.object({name:t.z.string(),type:D,value:t.z.any(),error:t.z.string()})).optional()}).optional(),isFinal:t.z.boolean().optional()}),U=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()}))}),Q=t.z.object({status:t.z.enum(["ok","error"]),step:F,flow:U}),tt=t.z.enum(["track"]);var G=require("@onlive.ai/common-121/utils/browser-preferences.js");var v=class{constructor(o){l(this,"baseURL");l(this,"headers");l(this,"flowId");l(this,"tracking");let e=(0,V.merge)({},E,_.parse(o));this.flowId=e.flowId,this.baseURL=e.baseUrl,this.headers=new Headers({"Content-Type":"application/json","X-Onlive-Organization-Id":e.organizationId,"X-Lang":e.lang}),e.tracking?.enabled&&(this.tracking=new S(e.organizationId,e.flowId,e.tracking,!!e.devMode))}async request(o,e={}){let n=await fetch(`${this.baseURL}/${o}`,{...e,headers:this.headers});if(!n?.ok)throw new Error(`HTTP error! status: ${n?.status||"unknown"}`);return n.json()}async firstStep(o={}){this.tracking?.analyzeRequest({},o);let e=this.tracking?this.tracking?.preferences():(0,G.browserPreferences)(),n=await this.request(`flow/${this.flowId}/first-step`,{method:"POST",body:JSON.stringify(u.parse({...o,state:{preferences:e,...o.state}}))});return this.tracking?.analyzeResponse({},n),n}async getStep(o,e={}){this.tracking?.analyzeRequest({stepId:o},e);let n=this.tracking?.preferences(),r=await this.request(`flow/${this.flowId}/steps/${j.parse(o)}`,{method:"POST",body:JSON.stringify(u.parse({...e,state:{preferences:n,...e.state}}))});return this.tracking?.analyzeResponse({stepId:o},r),r}async nextStep(o,e={}){this.tracking?.analyzeRequest(o,e);let{currentStepId:n,actionId:r}=N.parse(o),c=await this.request(`flow/${this.flowId}/steps/${n}/action/${r}`,{method:"POST",body:JSON.stringify(u.parse(e))});return this.tracking?.analyzeResponse(o,c),c}};0&&(module.exports={Action,ActionEvent,ActionScript,ClientOptions,DEFAULT_CLIENT_OPTIONS,ErrorCode,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.
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.61 | © 2025 Onlive.ai */
|
|
2
2
|
var k=Object.defineProperty;var S=(a,e,o)=>e in a?k(a,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):a[e]=o;var p=(a,e,o)=>S(a,typeof e!="symbol"?e+"":e,o);import{merge as Y}from"@onlive.ai/common-121/utils/merge.js";import{Session as d,Tracker as A}from"@onlive.ai/tracker";import{merge as D}from"@onlive.ai/common-121/utils/merge.js";import{browserPreferences as L}from"@onlive.ai/common-121/utils/browser-preferences.js";import{z as i}from"zod";var c="flow_form",x="onlive-analytics-event",m=i.object({enabled:i.boolean().default(!1).optional(),data:i.custom().optional(),removeExtraneousValues:i.boolean().default(!0).optional(),allowBotTraffic:i.boolean().default(!1).optional(),adapters:i.array(i.string()).default([]).optional(),apiUrl:i.string().url().optional(),emitters:i.object({windowEvent:i.boolean().optional(),dataLayer:i.boolean().optional(),windowPostMessage:i.boolean().optional()}).optional()});var f=class{constructor(e,o,n,l){p(this,"options");p(this,"tracker");p(this,"eventListeners",[]);this.options=m.parse(n),this.tracker=new A({apiUrl:this.options.apiUrl,removeExtraneousValues:this.options.removeExtraneousValues,allowBotTraffic:this.options.allowBotTraffic,adapters:this.options.adapters,dryRun:l}),this.tracker.setBase(D({},{organization_id:e,page_url:window.location.href,page_referrer:document.referrer,origin_medium:"web",guest_id:d.id,interaction_id:d.interactionId,extra:{flow_id:o}},this.options.data)),window.addEventListener(x,({detail:s})=>this.emit(s.event,s.data))}getTracker(){return this.tracker}preferences(){return{...L(),interactionId:d.interactionId,guestId:d.id}}analyzeRequest(e,o){"currentStepId"in e&&(e.actionId&&this.tracker.send("element_click",{element_label:e.actionId,element_type:"button",form_name:Object.keys(o.fields||{}).length?c:void 0,step_name:e.currentStepId}),o.fields&&this.tracker.send("form_submit",{form_name:c,form_data:o.fields,step_name:e.currentStepId}))}analyzeResponse(e,o){this.tracker.setBase({form_name:c,step_name:o.step.id,step_initial:!("currentStepId"in e)||void 0,step_final:o.step.isFinal,...o.step.result?.tracking}),"currentStepId"in e&&(o.step.result?.pipelines&&o.step.result.pipelines.forEach(n=>{this.tracker.send("task_success",{task_name:n.name,task_data:n.data})}),o.step.error&&this.tracker.send("form_error",{form_error:o.step.error.code})),this.tracker.send("impression",{impression_type:"step"})}send(e,o){this.tracker.send(e,o)}setData(e){this.tracker.setBase(e)}onEvent(e){this.eventListeners.push(e)}emit(e,o){this.eventListeners.forEach(n=>n({event:e,data:o}))}},O=f;import{GetAvailabilityFilters as P,GetAvailabilityOptions as z}from"@onlive.ai/calendar";import{z as t}from"zod";var E={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},j=t.string().nonempty(),_=t.object({baseUrl:t.string().url().nonempty(),flowId:t.string().length(24).nonempty(),organizationId:t.string().uuid().nonempty(),lang:t.string().length(2).nonempty(),tracking:m.optional(),devMode:t.boolean().default(!1).optional()}),y=t.object({state:t.record(t.string(),t.any()).optional(),fields:t.record(t.string(),t.any()).optional()}),N=t.object({currentStepId:t.string().nonempty(),actionId:t.string().nonempty()}),I=t.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),R=t.object({name:t.string(),value:t.string().optional(),icon:t.string().optional(),type:t.enum(["url","email","phone"]).optional()}),C=t.object({lat:t.number().min(-90).max(90),lng:t.number().min(-180).max(180),meta:t.record(t.string(),t.any()).optional(),properties:t.record(t.string(),R).optional()}),F=t.object({datetime:t.string().datetime(),meta:t.record(t.string(),t.any()).optional()}),g=t.union([t.string(),t.number(),t.boolean(),C,F]),u=t.object({content:t.object({icon:t.string().optional(),url:t.string().url().optional(),width:t.string().optional(),height:t.string().optional(),scale:t.number().optional()}).optional(),background:t.string().optional(),glyph:t.object({color:t.string().optional(),url:t.string().url().optional(),icon:t.string().optional()}).optional(),borderColor:t.string().optional(),scale:t.number().optional()}),b=t.custom(a=>/^\d{4}-\d{2}-\d{2}$/.test(a),{message:"Date must be in 'YYYY-MM-DD' format"}),r=t.object({text:t.string().optional(),icon:t.string().optional()}),h=t.object({fieldName:t.string().nonempty(),value:g.optional(),operator:t.enum(["exists","equals","not-equals","contains","not-contains","greater-than","less-than"]).optional()}),U=t.object({and:t.array(h).optional(),or:t.array(h).optional()}),T=t.array(t.union([h,U])),V=t.object({src:t.string().url(),preload:t.boolean().optional(),name:t.string().nonempty(),function:t.string().nonempty(),params:t.record(t.string(),t.any()).optional()}),G=t.object({name:t.enum(["organization_call","close_panel"]),params:t.record(t.string(),t.any()).optional()}),w=t.object({id:t.string().nonempty(),type:t.enum(["submit","navigate","link","back","dispatcher","script"]),label:t.string().nonempty(),variant:t.enum(["primary","secondary","success","danger","warning","info"]),position:t.enum(["top","bottom"]).optional(),url:t.string().url().optional(),loadingBehavior:t.enum(["none","spinner","disabled"]).optional(),prefix:r.optional(),suffix:r.optional(),scripts:V.array().optional(),events:G.array().optional()}),M=t.object({name:t.string().nonempty(),label:t.string().optional(),value:t.union([g,t.array(g)]).optional(),type:I,component:t.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","grid","button","label","map","calendar"]).optional(),disabled:t.boolean().optional(),readonly:t.boolean().optional(),multiple:t.boolean().optional(),placeholder:t.string().optional(),options:t.array(t.object({label:t.string().nonempty(),value:g.optional(),image:t.string().url().optional(),description:t.string().optional(),disabled:t.boolean().optional(),attributes:t.record(t.string(),t.any()).optional(),actions:t.array(w).optional(),dependsOn:T.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:r.optional(),success:r.optional(),error:r.optional()}).optional(),suffix:t.object({default:r.optional(),success:r.optional(),error:r.optional()}).optional(),clearable:t.boolean().optional(),floatingLabel:t.boolean().optional()}).optional(),textarea:t.object({rows:t.number().optional()}).optional(),checkbox:t.object({layout:t.enum(["horizontal","vertical"])}).optional(),rating:t.object({icons:t.array(t.string()).optional(),color:t.string().optional(),precision:t.number().optional()}).optional(),carousel:t.object({loop:t.boolean().optional(),mouseDragging:t.boolean().optional(),itemsPerPage:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),itemsPerMove:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),showArrows:t.boolean().optional(),showDots:t.boolean().optional(),autoplay:t.boolean().optional(),autoplaySpeed:t.number().optional(),clickableItems:t.object({actionId:t.string()}).optional()}).optional(),grid:t.object({search:t.object({enabled:t.boolean().optional(),value:t.string().optional(),button:t.object({label:t.string().optional()}).optional(),placeholder:t.string().optional(),noResultsText:t.string().optional(),clearable:t.boolean().optional()}).optional(),itemsPerRow:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),itemsPerPage:t.object({small:t.number(),medium:t.number().optional(),large:t.number().optional()}).optional(),clickableItems:t.object({actionId:t.string()}).optional()}).optional(),map:t.object({apiKey:t.string().optional(),region:t.string().length(2).optional(),center:t.object({lat:t.number().min(-90).max(90),lng:t.number().min(-180).max(180)}).optional(),showMap:t.enum(["always","on-search","never"]).optional(),zoom:t.object({initial:t.number().optional(),focus:t.number().optional(),max:t.number().optional(),min:t.number().optional()}).optional(),controls:t.object({fullscreen:t.boolean().optional(),mapType:t.boolean().optional(),zoom:t.boolean().optional(),rotate:t.boolean().optional(),scale:t.boolean().optional(),streetView:t.boolean().optional()}).optional(),initialLocations:t.number().optional(),maxLocations:t.number().optional(),distanceUnit:t.enum(["km","mi"]).optional(),distanceFormat:t.enum(["short","long"]).optional(),options:t.object({show:t.enum(["always","on-search","never"]).optional(),component:t.enum(["list-button","list-radio","carousel"]).optional(),searchLabel:t.string().optional(),detailsLabel:t.string().optional()}).optional(),search:t.object({enabled:t.boolean().optional(),value:t.string().optional(),button:t.object({label:t.string().optional(),position:t.enum(["inside","outside"]).optional()}).optional(),placeholder:t.string().optional(),noResultsText:t.string().optional(),autocomplete:t.boolean().optional(),clearable:t.boolean().optional(),mode:t.enum(["address","postcode"]).default("postcode").optional(),locationButton:t.object({icon:t.string().optional(),position:t.enum(["left","right"]).optional()}).optional(),prefix:t.object({default:r.optional()}).optional(),suffix:t.object({default:r.optional()}).optional(),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:u.optional(),markerPin:t.object({default:u.optional(),hover:u.optional(),selected:u.optional()}).optional(),infoWindow:t.object({button:t.object({label:t.string(),action:t.string()}).optional()}).optional()}).optional(),calendar:t.object({current:t.object({month:t.number().min(0).max(11).optional(),year:t.number().optional()}).optional(),range:t.object({min:b.optional(),max:b.optional(),enabled:t.array(b).optional(),disabled:t.array(b).optional()}).optional(),time:t.object({label:t.string().optional(),format:t.enum(["12h","24h"]).optional(),component:t.enum(["carousel","list"]).optional()}).optional(),api:t.object({url:t.string().url().nonempty(),organizationId:t.string().nonempty(),availability:t.object({filters:P,options:z.optional()}).optional()}).optional()}).optional()}).optional(),dependsOn:T.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()}),$=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"]),q=t.object({type:t.enum(["redirect"]),params:t.record(t.string(),t.any()).optional()}),B=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(M).optional(),actions:t.array(w).optional(),result:t.object({postActions:t.array(q).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:$,message:t.string().optional(),fields:t.array(t.object({name:t.string(),type:I,value:t.any(),error:t.string()})).optional()}).optional(),isFinal:t.boolean().optional()}),W=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()}))}),mt=t.object({status:t.enum(["ok","error"]),step:B,flow:W}),dt=t.enum(["track"]);import{browserPreferences as K}from"@onlive.ai/common-121/utils/browser-preferences.js";var v=class{constructor(e){p(this,"baseURL");p(this,"headers");p(this,"flowId");p(this,"tracking");let o=Y({},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 O(o.organizationId,o.flowId,o.tracking,!!o.devMode))}async request(e,o={}){let n=await fetch(`${this.baseURL}/${e}`,{...o,headers:this.headers});if(!n?.ok)throw new Error(`HTTP error! status: ${n?.status||"unknown"}`);return n.json()}async firstStep(e={}){this.tracking?.analyzeRequest({},e);let o=this.tracking?this.tracking?.preferences():K(),n=await this.request(`flow/${this.flowId}/first-step`,{method:"POST",body:JSON.stringify(y.parse({...e,state:{preferences:o,...e.state}}))});return this.tracking?.analyzeResponse({},n),n}async getStep(e,o={}){this.tracking?.analyzeRequest({stepId:e},o);let n=this.tracking?.preferences(),l=await this.request(`flow/${this.flowId}/steps/${j.parse(e)}`,{method:"POST",body:JSON.stringify(y.parse({...o,state:{preferences:n,...o.state}}))});return this.tracking?.analyzeResponse({stepId:e},l),l}async nextStep(e,o={}){this.tracking?.analyzeRequest(e,o);let{currentStepId:n,actionId:l}=N.parse(e),s=await this.request(`flow/${this.flowId}/steps/${n}/action/${l}`,{method:"POST",body:JSON.stringify(y.parse(o))});return this.tracking?.analyzeResponse(e,s),s}};export{w as Action,G as ActionEvent,V as ActionScript,_ as ClientOptions,E as DEFAULT_CLIENT_OPTIONS,$ as ErrorCode,dt as EventType,M as Field,W as Flow,v as FlowClient,mt as FlowContext,y as GetStepOptions,N as GetStepTrigger,x as ONLIVE_ANALYTICS_EVENT,c as ONLIVE_FLOW_FORM_NAME,q as PostAction,B as Step,j as StepId,m as TrackingOptionsSchema};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onlive.ai/flow-client",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.61",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"**/*.js",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"vitest": "^3.2.4",
|
|
34
34
|
"zod": "^3.24.4",
|
|
35
35
|
"@onlive.ai/calendar": "0.0.11",
|
|
36
|
-
"@onlive.ai/common-121": "0.2.
|
|
36
|
+
"@onlive.ai/common-121": "0.2.54"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"zod-to-json-schema": "^3.24.5"
|
package/schema-generator.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @onlive.ai/flow-client v0.1.
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.61 | © 2025 Onlive.ai */
|
|
2
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
|
package/schema-generator.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @onlive.ai/flow-client v0.1.
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.61 | © 2025 Onlive.ai */
|
|
2
2
|
import{writeFileSync as Ie}from"fs";var M=Symbol("Let zodToJsonSchema decide on which parser to use");var E={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},R=e=>typeof e=="string"?{...E,name:e}:{...E,...e};var $=e=>{let t=R(e),r=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([n,o])=>[o._def,{def:o._def,path:[...t.basePath,t.definitionPath,n],jsonSchema:void 0}]))}};function O(e,t,r,n){n?.errorMessages&&r&&(e.errorMessage={...e.errorMessage,[t]:r})}function u(e,t,r,n,o){e[t]=r,O(e,t,n,o)}var P=(e,t)=>{let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString(),...t.slice(r)].join("/")};import{ZodFirstPartyTypeKind as c}from"zod";function d(e){if(e.target!=="openAi")return{};let t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:e.$refStrategy==="relative"?P(t,e.currentPath):t.join("/")}}import{ZodFirstPartyTypeKind as fe}from"zod";function L(e,t){let r={type:"array"};return e.type?._def&&e.type?._def?.typeName!==fe.ZodAny&&(r.items=i(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&u(r,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&u(r,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(u(r,"minItems",e.exactLength.value,e.exactLength.message,t),u(r,"maxItems",e.exactLength.value,e.exactLength.message,t)),r}function C(e,t){let r={type:"integer",format:"int64"};if(!e.checks)return r;for(let n of e.checks)switch(n.kind){case"min":t.target==="jsonSchema7"?n.inclusive?u(r,"minimum",n.value,n.message,t):u(r,"exclusiveMinimum",n.value,n.message,t):(n.inclusive||(r.exclusiveMinimum=!0),u(r,"minimum",n.value,n.message,t));break;case"max":t.target==="jsonSchema7"?n.inclusive?u(r,"maximum",n.value,n.message,t):u(r,"exclusiveMaximum",n.value,n.message,t):(n.inclusive||(r.exclusiveMaximum=!0),u(r,"maximum",n.value,n.message,t));break;case"multipleOf":u(r,"multipleOf",n.value,n.message,t);break}return r}function I(){return{type:"boolean"}}function k(e,t){return i(e.type._def,t)}var z=(e,t)=>i(e.innerType._def,t);function Z(e,t,r){let n=r??t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>Z(e,t,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return he(e,t)}}var he=(e,t)=>{let r={type:"integer",format:"unix-time"};if(t.target==="openApi3")return r;for(let n of e.checks)switch(n.kind){case"min":u(r,"minimum",n.value,n.message,t);break;case"max":u(r,"maximum",n.value,n.message,t);break}return r};function B(e,t){return{...i(e.innerType._def,t),default:e.defaultValue()}}function q(e,t){return t.effectStrategy==="input"?i(e.schema._def,t):d(t)}function U(e){return{type:"string",enum:Array.from(e.values)}}var ge=e=>"type"in e&&e.type==="string"?!1:"allOf"in e;function V(e,t){let r=[i(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),i(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(s=>!!s),n=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(ge(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let l=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:m,...p}=s;l=p}else n=void 0;o.push(l)}}),o.length?{allOf:o,...n}:void 0}function W(e,t){let r=typeof e.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(e.value)?"array":"object"}:t.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[e.value]}:{type:r==="bigint"?"integer":r,const:e.value}}import{ZodFirstPartyTypeKind as x}from"zod";var w,g={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(w===void 0&&(w=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),w),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function S(e,t){let r={type:"string"};if(e.checks)for(let n of e.checks)switch(n.kind){case"min":u(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t);break;case"max":u(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"email":switch(t.emailStrategy){case"format:email":y(r,"email",n.message,t);break;case"format:idn-email":y(r,"idn-email",n.message,t);break;case"pattern:zod":f(r,g.email,n.message,t);break}break;case"url":y(r,"uri",n.message,t);break;case"uuid":y(r,"uuid",n.message,t);break;case"regex":f(r,n.regex,n.message,t);break;case"cuid":f(r,g.cuid,n.message,t);break;case"cuid2":f(r,g.cuid2,n.message,t);break;case"startsWith":f(r,RegExp(`^${T(n.value,t)}`),n.message,t);break;case"endsWith":f(r,RegExp(`${T(n.value,t)}$`),n.message,t);break;case"datetime":y(r,"date-time",n.message,t);break;case"date":y(r,"date",n.message,t);break;case"time":y(r,"time",n.message,t);break;case"duration":y(r,"duration",n.message,t);break;case"length":u(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,n.value):n.value,n.message,t),u(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,n.value):n.value,n.message,t);break;case"includes":{f(r,RegExp(T(n.value,t)),n.message,t);break}case"ip":{n.version!=="v6"&&y(r,"ipv4",n.message,t),n.version!=="v4"&&y(r,"ipv6",n.message,t);break}case"base64url":f(r,g.base64url,n.message,t);break;case"jwt":f(r,g.jwt,n.message,t);break;case"cidr":{n.version!=="v6"&&f(r,g.ipv4Cidr,n.message,t),n.version!=="v4"&&f(r,g.ipv6Cidr,n.message,t);break}case"emoji":f(r,g.emoji(),n.message,t);break;case"ulid":{f(r,g.ulid,n.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{y(r,"binary",n.message,t);break}case"contentEncoding:base64":{u(r,"contentEncoding","base64",n.message,t);break}case"pattern:zod":{f(r,g.base64,n.message,t);break}}break}case"nanoid":f(r,g.nanoid,n.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}function T(e,t){return t.patternStrategy==="escape"?be(e):e}var ye=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function be(e){let t="";for(let r=0;r<e.length;r++)ye.has(e[r])||(t+="\\"),t+=e[r];return t}function y(e,t,r,n){e.format||e.anyOf?.some(o=>o.format)?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&n.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.anyOf.push({format:t,...r&&n.errorMessages&&{errorMessage:{format:r}}})):u(e,"format",t,r,n)}function f(e,t,r,n){e.pattern||e.allOf?.some(o=>o.pattern)?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&n.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,Object.keys(e.errorMessage).length===0&&delete e.errorMessage)),e.allOf.push({pattern:J(t,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):u(e,"pattern",J(t,n),r,n)}function J(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;let r={i:e.flags.includes("i"),m:e.flags.includes("m"),s:e.flags.includes("s")},n=r.i?e.source.toLowerCase():e.source,o="",s=!1,l=!1,m=!1;for(let p=0;p<n.length;p++){if(s){o+=n[p],s=!1;continue}if(r.i){if(l){if(n[p].match(/[a-z]/)){m?(o+=n[p],o+=`${n[p-2]}-${n[p]}`.toUpperCase(),m=!1):n[p+1]==="-"&&n[p+2]?.match(/[a-z]/)?(o+=n[p],m=!0):o+=`${n[p]}${n[p].toUpperCase()}`;continue}}else if(n[p].match(/[a-z]/)){o+=`[${n[p]}${n[p].toUpperCase()}]`;continue}}if(r.m){if(n[p]==="^"){o+=`(^|(?<=[\r
|
|
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.
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.61 | © 2025 Onlive.ai */
|
|
2
2
|
"use strict";var s=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var h=(a,e,t)=>e in a?s(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var T=(a,e)=>{for(var t in e)s(a,t,{get:e[t],enumerable:!0})},g=(a,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _(e))!k.call(a,i)&&i!==t&&s(a,i,{get:()=>e[i],enumerable:!(n=E(e,i))||n.enumerable});return a};var I=a=>g(s({},"__esModule",{value:!0}),a);var p=(a,e,t)=>h(a,typeof e!="symbol"?e+"":e,t);var b={};T(b,{TrackingService:()=>c,default:()=>O});module.exports=I(b);var o=require("@onlive.ai/tracker"),f=require("@onlive.ai/common-121/utils/merge.js"),u=require("@onlive.ai/common-121/utils/browser-preferences.js");var r=require("zod"),d="flow_form",m="onlive-analytics-event",v=r.z.object({enabled:r.z.boolean().default(!1).optional(),data:r.z.custom().optional(),removeExtraneousValues:r.z.boolean().default(!0).optional(),allowBotTraffic:r.z.boolean().default(!1).optional(),adapters:r.z.array(r.z.string()).default([]).optional(),apiUrl:r.z.string().url().optional(),emitters:r.z.object({windowEvent:r.z.boolean().optional(),dataLayer:r.z.boolean().optional(),windowPostMessage:r.z.boolean().optional()}).optional()});var c=class{constructor(e,t,n,i){p(this,"options");p(this,"tracker");p(this,"eventListeners",[]);this.options=v.parse(n),this.tracker=new o.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:o.Session.id,interaction_id:o.Session.interactionId,extra:{flow_id:t}},this.options.data)),window.addEventListener(m,({detail:l})=>this.emit(l.event,l.data))}getTracker(){return this.tracker}preferences(){return{...(0,u.browserPreferences)(),interactionId:o.Session.interactionId,guestId:o.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?d:void 0,step_name:e.currentStepId}),t.fields&&this.tracker.send("form_submit",{form_name:d,form_data:t.fields,step_name:e.currentStepId}))}analyzeResponse(e,t){this.tracker.setBase({form_name:d,step_name:t.step.id,step_initial:!("currentStepId"in e)||void 0,step_final:t.step.isFinal,...t.step.result?.tracking}),"currentStepId"in e&&(t.step.result?.pipelines&&t.step.result.pipelines.forEach(n=>{this.tracker.send("task_success",{task_name:n.name,task_data:n.data})}),t.step.error&&this.tracker.send("form_error",{form_error:t.step.error.code})),this.tracker.send("impression",{impression_type:"step"})}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(n=>n({event:e,data:t}))}},O=c;0&&(module.exports={TrackingService});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/flow-client v0.1.
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.61 | © 2025 Onlive.ai */
|
|
2
2
|
var v=Object.defineProperty;var f=(r,e,t)=>e in r?v(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var i=(r,e,t)=>f(r,typeof e!="symbol"?e+"":e,t);import{Session as s,Tracker as u}from"@onlive.ai/tracker";import{merge as E}from"@onlive.ai/common-121/utils/merge.js";import{browserPreferences as _}from"@onlive.ai/common-121/utils/browser-preferences.js";import{z as a}from"zod";var o="flow_form",c="onlive-analytics-event",l=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,n,m){i(this,"options");i(this,"tracker");i(this,"eventListeners",[]);this.options=l.parse(n),this.tracker=new u({apiUrl:this.options.apiUrl,removeExtraneousValues:this.options.removeExtraneousValues,allowBotTraffic:this.options.allowBotTraffic,adapters:this.options.adapters,dryRun:m}),this.tracker.setBase(E({},{organization_id:e,page_url:window.location.href,page_referrer:document.referrer,origin_medium:"web",guest_id:s.id,interaction_id:s.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{..._(),interactionId:s.interactionId,guestId:s.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){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}),"currentStepId"in e&&(t.step.result?.pipelines&&t.step.result.pipelines.forEach(n=>{this.tracker.send("task_success",{task_name:n.name,task_data:n.data})}),t.step.error&&this.tracker.send("form_error",{form_error:t.step.error.code})),this.tracker.send("impression",{impression_type:"step"})}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(n=>n({event:e,data:t}))}},L=p;export{p as TrackingService,L as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/flow-client v0.1.
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.61 | © 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.
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.61 | © 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};
|