@onlive.ai/flow-client 0.1.40 → 0.1.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/client.service.cjs +2 -2
- package/client/client.service.d.cts +1 -1
- package/client/client.service.d.ts +1 -1
- package/client/client.service.js +2 -2
- package/client/client.service.spec.cjs +2 -2
- package/client/client.service.spec.js +2 -2
- package/client/client.types.cjs +2 -2
- package/client/client.types.d.cts +1390 -749
- package/client/client.types.d.ts +1390 -749
- package/client/client.types.js +2 -2
- package/flow.types.cjs +1 -1
- package/flow.types.js +1 -1
- package/index.cjs +2 -2
- package/index.d.cts +5 -15068
- package/index.d.ts +5 -15068
- package/index.js +2 -2
- package/package.json +4 -4
- 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
package/client/client.types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/flow-client v0.1.
|
|
2
|
-
import{GetAvailabilityFilters as s,GetAvailabilityOptions as c}from"@onlive.ai/calendar";import{z as o}from"zod";import{z as t}from"zod";var l=t.object({enabled:t.boolean().default(!1).optional(),data:t.custom().optional(),removeExtraneousValues:t.boolean().default(!0).optional(),allowBotTraffic:t.boolean().default(!1).optional(),adapters:t.array(t.string()).default([]).optional(),apiUrl:t.string().url().optional(),emitters:t.object({windowEvent:t.boolean().optional(),dataLayer:t.boolean().optional(),windowPostMessage:t.boolean().optional()}).optional()});var
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.45 | © 2025 Onlive.ai */
|
|
2
|
+
import{GetAvailabilityFilters as s,GetAvailabilityOptions as c}from"@onlive.ai/calendar";import{z as o}from"zod";import{z as t}from"zod";var l=t.object({enabled:t.boolean().default(!1).optional(),data:t.custom().optional(),removeExtraneousValues:t.boolean().default(!0).optional(),allowBotTraffic:t.boolean().default(!1).optional(),adapters:t.array(t.string()).default([]).optional(),apiUrl:t.string().url().optional(),emitters:t.object({windowEvent:t.boolean().optional(),dataLayer:t.boolean().optional(),windowPostMessage:t.boolean().optional()}).optional()});var h={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},L=o.string().nonempty(),I=o.object({baseUrl:o.string().url().nonempty(),flowId:o.string().length(24).nonempty(),organizationId:o.string().uuid().nonempty(),lang:o.string().length(2).nonempty(),tracking:l.optional(),devMode:o.boolean().default(!1).optional()}),D=o.object({state:o.record(o.string(),o.any()).optional(),fields:o.record(o.string(),o.any()).optional()}),S=o.object({currentStepId:o.string().nonempty(),actionId:o.string().nonempty()}),p=o.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),m=o.object({name:o.string(),value:o.string().optional(),icon:o.string().optional(),type:o.enum(["url","email","phone"]).optional()}),b=o.object({lat:o.number().min(-90).max(90),lng:o.number().min(-180).max(180),meta:o.record(o.string(),o.any()).optional(),properties:o.record(o.string(),m).optional()}),g=o.object({datetime:o.string().datetime(),meta:o.record(o.string(),o.any()).optional()}),e=o.union([o.string(),o.number(),o.boolean(),b,g]),i=o.object({content:o.object({icon:o.string().optional(),url:o.string().url().optional(),width:o.string().optional(),height:o.string().optional(),scale:o.number().optional()}).optional(),background:o.string().optional(),glyph:o.object({color:o.string().optional(),url:o.string().url().optional(),icon:o.string().optional()}).optional(),borderColor:o.string().optional(),scale:o.number().optional()}),a=o.custom(r=>/^\d{4}-\d{2}-\d{2}$/.test(r),{message:"Date must be in 'YYYY-MM-DD' format"}),n=o.object({text:o.string().optional(),icon:o.string().optional()}),u=o.object({name:o.string().nonempty(),label:o.string().optional(),value:o.union([e,o.array(e)]).optional(),type:p,component:o.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","button","label","map","calendar"]).optional(),disabled:o.boolean().optional(),readonly:o.boolean().optional(),multiple:o.boolean().optional(),placeholder:o.string().optional(),options:o.array(o.object({label:o.string().nonempty(),value:e.optional(),image:o.string().url().optional(),description:o.string().optional(),disabled:o.boolean().optional(),attributes:o.record(o.string(),o.any()).optional()})).optional(),required:o.boolean().optional(),configuration:o.object({input:o.object({min:o.number().optional(),max:o.number().optional(),step:o.number().optional(),pattern:o.string().refine(r=>{try{return new RegExp(r),!0}catch{return!1}},"Invalid regex pattern").optional(),minLength:o.number().optional(),maxLength:o.number().optional(),exactLength:o.number().optional(),prefix:o.object({default:n.optional(),success:n.optional(),error:n.optional()}).optional(),suffix:o.object({default:n.optional(),success:n.optional(),error:n.optional()}).optional(),clearable:o.boolean().optional(),floatingLabel:o.boolean().optional()}).optional(),textarea:o.object({rows:o.number().optional()}).optional(),checkbox:o.object({layout:o.enum(["horizontal","vertical"])}).optional(),rating:o.object({icons:o.array(o.string()).optional(),color:o.string().optional(),precision:o.number().optional()}).optional(),map:o.object({apiKey:o.string().optional(),region:o.string().length(2).optional(),center:o.object({lat:o.number().min(-90).max(90),lng:o.number().min(-180).max(180)}).optional(),showMap:o.enum(["always","on-search","never"]).optional(),zoom:o.object({initial:o.number().optional(),focus:o.number().optional(),max:o.number().optional(),min:o.number().optional()}).optional(),controls:o.object({fullscreen:o.boolean().optional(),mapType:o.boolean().optional(),zoom:o.boolean().optional(),rotate:o.boolean().optional(),scale:o.boolean().optional(),streetView:o.boolean().optional()}).optional(),initialLocations:o.number().optional(),maxLocations:o.number().optional(),distanceUnit:o.enum(["km","mi"]).optional(),distanceFormat:o.enum(["short","long"]).optional(),options:o.object({show:o.enum(["always","on-search","never"]).optional(),component:o.enum(["list-button","list-radio","carousel"]).optional(),searchLabel:o.string().optional(),detailsLabel:o.string().optional()}).optional(),search:o.object({value:o.string().optional(),button:o.object({label:o.string().optional(),position:o.enum(["inside","outside"]).optional()}).optional(),placeholder:o.string().optional(),noResultsText:o.string().optional(),autocomplete:o.boolean().optional(),clearable:o.boolean().optional(),mode:o.enum(["address","postcode"]).default("postcode").optional(),locationButton:o.object({icon:o.string().optional(),position:o.enum(["left","right"]).optional()}).optional(),prefix:o.object({default:n.optional()}).optional(),suffix:o.object({default:n.optional()}).optional(),mappedResults:o.object({mapping:o.record(o.string(),o.array(o.object({key:o.string(),value:o.string()})))}).optional()}).optional(),distanceRange:o.object({initial:o.number().optional(),min:o.number().optional(),max:o.number().optional(),step:o.number().optional()}).optional(),mapRegion:o.object({strokeColor:o.string().optional(),fillColor:o.string().optional(),fillOpacity:o.number().optional()}).optional(),locationPin:i.optional(),markerPin:o.object({default:i.optional(),hover:i.optional(),selected:i.optional()}).optional(),infoWindow:o.object({button:o.object({label:o.string(),action:o.string()}).optional()}).optional()}).optional(),calendar:o.object({current:o.object({month:o.number().min(0).max(11).optional(),year:o.number().optional()}).optional(),range:o.object({min:a.optional(),max:a.optional(),enabled:o.array(a).optional(),disabled:o.array(a).optional()}).optional(),time:o.object({label:o.string().optional(),format:o.enum(["12h","24h"]).optional(),component:o.enum(["carousel","list"]).optional()}).optional(),api:o.object({url:o.string().url().nonempty(),organizationId:o.string().nonempty(),availability:o.object({filters:s,options:c.optional()}).optional()}).optional()}).optional()}).optional(),dependsOn:o.array(o.object({fieldName:o.string().nonempty(),value:e.optional()})).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()}),y=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()}),d=o.object({name:o.enum(["organization_call","close_panel"]),params:o.record(o.string(),o.any()).optional()}),f=o.object({id:o.string().nonempty(),type:o.enum(["submit","navigate","link","back","dispatcher","script"]),label:o.string().nonempty(),variant:o.enum(["primary","secondary","success","danger","warning","info"]),url:o.string().url().optional(),scripts:y.array().optional(),events:d.array().optional()}),x=o.enum(["INVALID_DATA","INVALID_ACTION","STEP_NOT_FOUND","UNKNOWN_ERROR","APPOINTMENT_INVALID_DATA","APPOINTMENT_BUSY_SLOT","APPOINTMENT_OUT_OF_DATE","APPOINTMENT_UNKNOWN_ERROR","LEAD_INVALID_DATA","LEAD_UNKNOWN_ERROR","CONTENT_INVALID_DATA","CONTENT_UNKNOWN_ERROR","CONTACT_INVALID_DATA","CONTACT_UNKNOWN_ERROR","LOST_OPPORTUNITY_INVALID_DATA","LOST_OPPORTUNITY_UNKNOWN_ERROR"]),j=o.object({type:o.enum(["redirect"]),params:o.record(o.string(),o.any()).optional()}),A=o.object({id:o.string().nonempty(),title:o.string().optional(),description:o.string().optional(),stageId:o.string().optional(),state:o.record(o.string(),o.any()).optional(),fields:o.array(u).optional(),actions:o.array(f).optional(),result:o.object({postActions:o.array(j).optional(),pipelines:o.array(o.object({name:o.string(),data:o.object({})})).optional(),tracking:o.record(o.string(),o.any()).optional()}).optional(),error:o.object({code:x,message:o.string().optional(),fields:o.array(o.object({name:o.string(),type:p,value:o.any(),error:o.string()})).optional()}).optional(),isFinal:o.boolean().optional()}),N=o.object({id:o.string().length(24).nonempty(),organizationId:o.string().uuid().nonempty(),updatedAt:o.string().datetime().nonempty(),stages:o.array(o.object({id:o.string().nonempty(),name:o.string().nonempty()}))}),z=o.object({status:o.enum(["ok","error"]),step:A,flow:N}),w=o.enum(["track"]);export{f as Action,d as ActionEvent,y as ActionScript,I as ClientOptions,h as DEFAULT_CLIENT_OPTIONS,x as ErrorCode,w as EventType,u as Field,N as Flow,z as FlowContext,D as GetStepOptions,S as GetStepTrigger,j as PostAction,A as Step,L as StepId};
|
package/flow.types.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @onlive.ai/flow-client v0.1.
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.45 | © 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.45 | © 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.
|
|
2
|
-
"use strict";var g=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var G=(i,e,o)=>e in i?g(i,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[e]=o;var $=(i,e)=>{for(var o in e)g(i,o,{get:e[o],enumerable:!0})},q=(i,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of V(e))!M.call(i,r)&&r!==o&&g(i,r,{get:()=>e[r],enumerable:!(n=U(e,r))||n.enumerable});return i};var B=i=>q(g({},"__esModule",{value:!0}),i);var p=(i,e,o)=>G(i,typeof e!="symbol"?e+"":e,o);var Z={};$(Z,{Action:()=>D,ActionEvent:()=>L,ActionScript:()=>A,ClientOptions:()=>E,DEFAULT_CLIENT_OPTIONS:()=>_,ErrorCode:()=>z,EventType:()=>J,Field:()=>w,Flow:()=>R,FlowClient:()=>v,FlowContext:()=>H,GetStepOptions:()=>u,GetStepTrigger:()=>N,ONLIVE_ANALYTICS_EVENT:()=>x,ONLIVE_FLOW_FORM_NAME:()=>l,PostAction:()=>F,Step:()=>P,StepId:()=>O,TrackingOptionsSchema:()=>d});module.exports=B(Z);var C=require("@onlive.ai/common-121/utils/merge.js");var s=require("@onlive.ai/tracker"),I=require("@onlive.ai/common-121/utils/merge.js"),k=require("@onlive.ai/common-121/utils/browser-preferences.js");var a=require("zod"),l="flow_form",x="onlive-analytics-event",d=a.z.object({enabled:a.z.boolean().default(!1).optional(),data:a.z.custom().optional(),removeExtraneousValues:a.z.boolean().default(!0).optional(),allowBotTraffic:a.z.boolean().default(!1).optional(),adapters:a.z.array(a.z.string()).default([]).optional(),apiUrl:a.z.string().url().optional(),emitters:a.z.object({windowEvent:a.z.boolean().optional(),dataLayer:a.z.boolean().optional(),windowPostMessage:a.z.boolean().optional()}).optional()});var T=class{constructor(e,o,n,r){p(this,"options");p(this,"tracker");p(this,"eventListeners",[]);this.options=d.parse(n),this.tracker=new s.Tracker({apiUrl:this.options.apiUrl,removeExtraneousValues:this.options.removeExtraneousValues,allowBotTraffic:this.options.allowBotTraffic,adapters:this.options.adapters,dryRun:r}),this.tracker.setBase((0,I.merge)({},{organization_id:e,page_url:window.location.href,page_referrer:document.referrer,origin_medium:"web",guest_id:s.Session.id,interaction_id:s.Session.interactionId,extra:{flow_id:o}},this.options.data)),window.addEventListener(x,({detail:m})=>this.emit(m.event,m.data))}getTracker(){return this.tracker}preferences(){return{...(0,k.browserPreferences)(),interactionId:s.Session.interactionId,guestId:s.Session.id}}analyzeRequest(e,o){"currentStepId"in e&&(e.actionId&&this.tracker.send("element_click",{element_label:e.actionId,element_type:"button",form_name:Object.keys(o.fields||{}).length?l:void 0,step_name:e.currentStepId}),o.fields&&this.tracker.send("form_submit",{form_name:l,form_data:o.fields,step_name:e.currentStepId}))}analyzeResponse(e,o){"currentStepId"in e&&(o.step.result?.pipelines&&o.step.result.pipelines.forEach(n=>{this.tracker.send("task_success",{task_name:n.name,task_data:n.data,step_name:o.step.id})}),o.step.error&&this.tracker.send("form_error",{form_name:l,form_error:o.step.error.code,step_name:o.step.id})),this.tracker.send("impression",{impression_type:"step",form_name:void 0,step_name:o.step.id,step_initial:!("currentStepId"in e)||void 0,step_final:o.step.isFinal}),this.tracker.setBase({form_name:l,step_name:o.step.id,step_initial:!("currentStepId"in e)||void 0,step_final:o.step.isFinal,...o.step.result?.tracking})}send(e,o){this.tracker.send(e,o)}setData(e){this.tracker.setBase(e)}onEvent(e){this.eventListeners.push(e)}emit(e,o){this.eventListeners.forEach(n=>n({event:e,data:o}))}},S=T;var h=require("@onlive.ai/calendar"),t=require("zod");var _={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},O=t.z.string().nonempty(),E=t.z.object({baseUrl:t.z.string().url().nonempty(),flowId:t.z.string().length(24).nonempty(),organizationId:t.z.string().uuid().nonempty(),lang:t.z.string().length(2).nonempty(),tracking:d.optional(),devMode:t.z.boolean().default(!1).optional()}),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()}),j=t.z.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),W=t.z.object({name:t.z.string(),value:t.z.string().optional(),icon:t.z.string().optional(),type:t.z.enum(["url","email","phone"]).optional()}),Y=t.z.object({lat:t.z.number().min(-90).max(90),lng:t.z.number().min(-180).max(180),meta:t.z.record(t.z.string(),t.z.any()).optional(),properties:t.z.record(t.z.string(),W).optional(),attributes:t.z.record(t.z.string(),t.z.any()).optional()}),K=t.z.object({datetime:t.z.string().datetime(),meta:t.z.record(t.z.string(),t.z.any()).optional()}),b=t.z.union([t.z.string(),t.z.number(),t.z.boolean(),Y,K]),f=t.z.object({content:t.z.object({icon:t.z.string().optional(),url:t.z.string().url().optional(),width:t.z.string().optional(),height:t.z.string().optional(),scale:t.z.number().optional()}).optional(),background:t.z.string().optional(),glyph:t.z.object({color:t.z.string().optional(),url:t.z.string().url().optional(),icon:t.z.string().optional()}).optional(),borderColor:t.z.string().optional(),scale:t.z.number().optional()}),y=t.z.custom(i=>/^\d{4}-\d{2}-\d{2}$/.test(i),{message:"Date must be in 'YYYY-MM-DD' format"}),c=t.z.object({text:t.z.string().optional(),icon:t.z.string().optional()}),w=t.z.object({name:t.z.string().nonempty(),label:t.z.string().optional(),value:t.z.union([b,t.z.array(b)]).optional(),type:j,component:t.z.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","button","label","map","calendar"]).optional(),disabled:t.z.boolean().optional(),readonly:t.z.boolean().optional(),multiple:t.z.boolean().optional(),placeholder:t.z.string().optional(),options:t.z.array(t.z.object({label:t.z.string().nonempty(),value:b.optional(),image:t.z.string().url().optional(),description:t.z.string().optional(),disabled:t.z.boolean().optional()})).optional(),required:t.z.boolean().optional(),configuration:t.z.object({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: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(),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"]).optional(),zoom:t.z.object({initial:t.z.number().optional(),focus:t.z.number().optional(),max:t.z.number().optional(),min:t.z.number().optional()}).optional(),controls:t.z.object({fullscreen:t.z.boolean().optional(),mapType:t.z.boolean().optional(),zoom:t.z.boolean().optional(),rotate:t.z.boolean().optional(),scale:t.z.boolean().optional(),streetView:t.z.boolean().optional()}).optional(),initialLocations:t.z.number().optional(),maxLocations:t.z.number().optional(),distanceUnit:t.z.enum(["km","mi"]).optional(),distanceFormat:t.z.enum(["short","long"]).optional(),options:t.z.object({show:t.z.enum(["always","on-search","never"]).optional(),component:t.z.enum(["list-button","list-radio","carousel"]).optional(),searchLabel:t.z.string().optional(),detailsLabel:t.z.string().optional()}).optional(),search:t.z.object({value:t.z.string().optional(),button:t.z.object({label:t.z.string().optional(),position:t.z.enum(["inside","outside"]).optional()}).optional(),placeholder:t.z.string().optional(),noResultsText:t.z.string().optional(),autocomplete:t.z.boolean().optional(),clearable:t.z.boolean().optional(),mode:t.z.enum(["address","postcode"]).optional(),showLocationButton:t.z.boolean().optional(),locationButton:t.z.object({icon:t.z.string().optional(),position:t.z.enum(["left","right"]).optional()}).optional()}).optional(),distanceRange:t.z.object({initial:t.z.number().optional(),min:t.z.number().optional(),max:t.z.number().optional(),step:t.z.number().optional()}).optional(),mapRegion:t.z.object({strokeColor:t.z.string().optional(),fillColor:t.z.string().optional(),fillOpacity:t.z.number().optional()}).optional(),locationPin:f.optional(),markerPin:t.z.object({default:f.optional(),hover:f.optional(),selected:f.optional()}).optional(),infoWindow:t.z.object({button:t.z.object({label:t.z.string(),action:t.z.string()}).optional()}).optional()}).optional(),calendar:t.z.object({current:t.z.object({month:t.z.number().min(0).max(11).optional(),year:t.z.number().optional()}).optional(),range:t.z.object({min:y.optional(),max:y.optional(),enabled:t.z.array(y).optional(),disabled:t.z.array(y).optional()}).optional(),time:t.z.object({label:t.z.string().optional(),format:t.z.enum(["12h","24h"]).optional(),component:t.z.enum(["carousel","list"]).optional()}).optional(),api:t.z.object({url:t.z.string().url().nonempty(),organizationId:t.z.string().nonempty(),availability:t.z.object({filters:h.GetAvailabilityFilters,options:h.GetAvailabilityOptions.optional()}).optional()}).optional()}).optional()}).optional(),dependsOn:t.z.array(t.z.object({fieldName:t.z.string().nonempty(),value:b.optional()})).optional(),dependentBehavior:t.z.enum(["hidden","disabled"]).optional(),customError:t.z.object({required:t.z.string().optional(),invalid:t.z.string().optional(),minLength:t.z.string().optional(),maxLength:t.z.string().optional(),minValue:t.z.string().optional(),maxValue:t.z.string().optional(),mismatch:t.z.string().optional()}).optional()}),A=t.z.object({src:t.z.string().url(),preload:t.z.boolean().optional(),name:t.z.string().nonempty(),function:t.z.string().nonempty(),params:t.z.record(t.z.string(),t.z.any()).optional()}),L=t.z.object({name:t.z.enum(["organization_call","close_panel"]),params:t.z.record(t.z.string(),t.z.any()).optional()}),D=t.z.object({id:t.z.string().nonempty(),type:t.z.enum(["submit","navigate","link","back","dispatcher","script"]),label:t.z.string().nonempty(),variant:t.z.enum(["primary","secondary","success","danger","warning","info"]),url:t.z.string().url().optional(),scripts:A.array().optional(),events:L.array().optional()}),z=t.z.enum(["INVALID_DATA","INVALID_ACTION","STEP_NOT_FOUND","UNKNOWN_ERROR","APPOINTMENT_INVALID_DATA","APPOINTMENT_BUSY_SLOT","APPOINTMENT_OUT_OF_DATE","APPOINTMENT_UNKNOWN_ERROR","LEAD_INVALID_DATA","LEAD_UNKNOWN_ERROR","CONTENT_INVALID_DATA","CONTENT_UNKNOWN_ERROR","CONTACT_INVALID_DATA","CONTACT_UNKNOWN_ERROR","LOST_OPPORTUNITY_INVALID_DATA","LOST_OPPORTUNITY_UNKNOWN_ERROR"]),F=t.z.object({type:t.z.enum(["redirect"]),params:t.z.record(t.z.string(),t.z.any()).optional()}),P=t.z.object({id:t.z.string().nonempty(),title:t.z.string().optional(),description:t.z.string().optional(),stageId:t.z.string().optional(),state:t.z.record(t.z.string(),t.z.any()).optional(),fields:t.z.array(w).optional(),actions:t.z.array(D).optional(),result:t.z.object({postActions:t.z.array(F).optional(),pipelines:t.z.array(t.z.object({name:t.z.string(),data:t.z.object({})})).optional(),tracking:t.z.record(t.z.string(),t.z.any()).optional()}).optional(),error:t.z.object({code:z,message:t.z.string().optional(),fields:t.z.array(t.z.object({name:t.z.string(),type:j,value:t.z.any(),error:t.z.string()})).optional()}).optional(),isFinal:t.z.boolean().optional()}),R=t.z.object({id:t.z.string().length(24).nonempty(),organizationId:t.z.string().uuid().nonempty(),updatedAt:t.z.string().datetime().nonempty(),stages:t.z.array(t.z.object({id:t.z.string().nonempty(),name:t.z.string().nonempty()}))}),H=t.z.object({status:t.z.enum(["ok","error"]),step:P,flow:R}),J=t.z.enum(["track"]);var v=class{constructor(e){p(this,"baseURL");p(this,"headers");p(this,"flowId");p(this,"tracking");let o=(0,C.merge)({},_,E.parse(e));this.flowId=o.flowId,this.baseURL=o.baseUrl,this.headers=new Headers({"Content-Type":"application/json","X-Onlive-Organization-Id":o.organizationId,"X-Lang":o.lang}),o.tracking?.enabled&&(this.tracking=new S(o.organizationId,o.flowId,o.tracking,!!o.devMode))}async request(e,o={}){let n=await fetch(`${this.baseURL}/${e}`,{...o,headers:this.headers});if(!n?.ok)throw new Error(`HTTP error! status: ${n?.status||"unknown"}`);return n.json()}async firstStep(e={}){this.tracking?.analyzeRequest({},e);let o=this.tracking?.preferences(),n=await this.request(`flow/${this.flowId}/first-step`,{method:"POST",body:JSON.stringify(u.parse({...e,state:{preferences:o,...e.state}}))});return this.tracking?.analyzeResponse({},n),n}async getStep(e,o={}){this.tracking?.analyzeRequest({stepId:e},o);let n=this.tracking?.preferences(),r=await this.request(`flow/${this.flowId}/steps/${O.parse(e)}`,{method:"POST",body:JSON.stringify(u.parse({...o,state:{preferences:n,...o.state}}))});return this.tracking?.analyzeResponse({stepId:e},r),r}async nextStep(e,o={}){this.tracking?.analyzeRequest(e,o);let{currentStepId:n,actionId:r}=N.parse(e),m=await this.request(`flow/${this.flowId}/steps/${n}/action/${r}`,{method:"POST",body:JSON.stringify(u.parse(o))});return this.tracking?.analyzeResponse(e,m),m}};0&&(module.exports={Action,ActionEvent,ActionScript,ClientOptions,DEFAULT_CLIENT_OPTIONS,ErrorCode,EventType,Field,Flow,FlowClient,FlowContext,GetStepOptions,GetStepTrigger,ONLIVE_ANALYTICS_EVENT,ONLIVE_FLOW_FORM_NAME,PostAction,Step,StepId,TrackingOptionsSchema});
|
|
1
|
+
/*! @onlive.ai/flow-client v0.1.45 | © 2025 Onlive.ai */
|
|
2
|
+
"use strict";var g=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var G=(i,e,o)=>e in i?g(i,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[e]=o;var $=(i,e)=>{for(var o in e)g(i,o,{get:e[o],enumerable:!0})},q=(i,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of V(e))!M.call(i,r)&&r!==o&&g(i,r,{get:()=>e[r],enumerable:!(n=U(e,r))||n.enumerable});return i};var B=i=>q(g({},"__esModule",{value:!0}),i);var p=(i,e,o)=>G(i,typeof e!="symbol"?e+"":e,o);var Z={};$(Z,{Action:()=>D,ActionEvent:()=>L,ActionScript:()=>w,ClientOptions:()=>E,DEFAULT_CLIENT_OPTIONS:()=>_,ErrorCode:()=>z,EventType:()=>J,Field:()=>A,Flow:()=>P,FlowClient:()=>h,FlowContext:()=>H,GetStepOptions:()=>u,GetStepTrigger:()=>N,ONLIVE_ANALYTICS_EVENT:()=>x,ONLIVE_FLOW_FORM_NAME:()=>c,PostAction:()=>R,Step:()=>F,StepId:()=>O,TrackingOptionsSchema:()=>d});module.exports=B(Z);var C=require("@onlive.ai/common-121/utils/merge.js");var l=require("@onlive.ai/tracker"),I=require("@onlive.ai/common-121/utils/merge.js"),k=require("@onlive.ai/common-121/utils/browser-preferences.js");var a=require("zod"),c="flow_form",x="onlive-analytics-event",d=a.z.object({enabled:a.z.boolean().default(!1).optional(),data:a.z.custom().optional(),removeExtraneousValues:a.z.boolean().default(!0).optional(),allowBotTraffic:a.z.boolean().default(!1).optional(),adapters:a.z.array(a.z.string()).default([]).optional(),apiUrl:a.z.string().url().optional(),emitters:a.z.object({windowEvent:a.z.boolean().optional(),dataLayer:a.z.boolean().optional(),windowPostMessage:a.z.boolean().optional()}).optional()});var T=class{constructor(e,o,n,r){p(this,"options");p(this,"tracker");p(this,"eventListeners",[]);this.options=d.parse(n),this.tracker=new l.Tracker({apiUrl:this.options.apiUrl,removeExtraneousValues:this.options.removeExtraneousValues,allowBotTraffic:this.options.allowBotTraffic,adapters:this.options.adapters,dryRun:r}),this.tracker.setBase((0,I.merge)({},{organization_id:e,page_url:window.location.href,page_referrer:document.referrer,origin_medium:"web",guest_id:l.Session.id,interaction_id:l.Session.interactionId,extra:{flow_id:o}},this.options.data)),window.addEventListener(x,({detail:m})=>this.emit(m.event,m.data))}getTracker(){return this.tracker}preferences(){return{...(0,k.browserPreferences)(),interactionId:l.Session.interactionId,guestId:l.Session.id}}analyzeRequest(e,o){"currentStepId"in e&&(e.actionId&&this.tracker.send("element_click",{element_label:e.actionId,element_type:"button",form_name:Object.keys(o.fields||{}).length?c:void 0,step_name:e.currentStepId}),o.fields&&this.tracker.send("form_submit",{form_name:c,form_data:o.fields,step_name:e.currentStepId}))}analyzeResponse(e,o){"currentStepId"in e&&(o.step.result?.pipelines&&o.step.result.pipelines.forEach(n=>{this.tracker.send("task_success",{task_name:n.name,task_data:n.data,step_name:o.step.id})}),o.step.error&&this.tracker.send("form_error",{form_name:c,form_error:o.step.error.code,step_name:o.step.id})),this.tracker.send("impression",{impression_type:"step",form_name:void 0,step_name:o.step.id,step_initial:!("currentStepId"in e)||void 0,step_final:o.step.isFinal}),this.tracker.setBase({form_name:c,step_name:o.step.id,step_initial:!("currentStepId"in e)||void 0,step_final:o.step.isFinal,...o.step.result?.tracking})}send(e,o){this.tracker.send(e,o)}setData(e){this.tracker.setBase(e)}onEvent(e){this.eventListeners.push(e)}emit(e,o){this.eventListeners.forEach(n=>n({event:e,data:o}))}},j=T;var v=require("@onlive.ai/calendar"),t=require("zod");var _={tracking:{removeExtraneousValues:!0,apiUrl:"https://srvless.onlive.site/tracking",data:{widget_type:"OnliveAppFlow"}}},O=t.z.string().nonempty(),E=t.z.object({baseUrl:t.z.string().url().nonempty(),flowId:t.z.string().length(24).nonempty(),organizationId:t.z.string().uuid().nonempty(),lang:t.z.string().length(2).nonempty(),tracking:d.optional(),devMode:t.z.boolean().default(!1).optional()}),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()}),S=t.z.enum(["text","boolean","number","email","phone","mobile_phone","date","time","datetime","password","url","color","object","void","location","availability"]),W=t.z.object({name:t.z.string(),value:t.z.string().optional(),icon:t.z.string().optional(),type:t.z.enum(["url","email","phone"]).optional()}),Y=t.z.object({lat:t.z.number().min(-90).max(90),lng:t.z.number().min(-180).max(180),meta:t.z.record(t.z.string(),t.z.any()).optional(),properties:t.z.record(t.z.string(),W).optional()}),K=t.z.object({datetime:t.z.string().datetime(),meta:t.z.record(t.z.string(),t.z.any()).optional()}),b=t.z.union([t.z.string(),t.z.number(),t.z.boolean(),Y,K]),f=t.z.object({content:t.z.object({icon:t.z.string().optional(),url:t.z.string().url().optional(),width:t.z.string().optional(),height:t.z.string().optional(),scale:t.z.number().optional()}).optional(),background:t.z.string().optional(),glyph:t.z.object({color:t.z.string().optional(),url:t.z.string().url().optional(),icon:t.z.string().optional()}).optional(),borderColor:t.z.string().optional(),scale:t.z.number().optional()}),y=t.z.custom(i=>/^\d{4}-\d{2}-\d{2}$/.test(i),{message:"Date must be in 'YYYY-MM-DD' format"}),s=t.z.object({text:t.z.string().optional(),icon:t.z.string().optional()}),A=t.z.object({name:t.z.string().nonempty(),label:t.z.string().optional(),value:t.z.union([b,t.z.array(b)]).optional(),type:S,component:t.z.enum(["input","textarea","select","radio","checkbox","switch","rating","carousel","button","label","map","calendar"]).optional(),disabled:t.z.boolean().optional(),readonly:t.z.boolean().optional(),multiple:t.z.boolean().optional(),placeholder:t.z.string().optional(),options:t.z.array(t.z.object({label:t.z.string().nonempty(),value:b.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()})).optional(),required:t.z.boolean().optional(),configuration:t.z.object({input:t.z.object({min:t.z.number().optional(),max:t.z.number().optional(),step:t.z.number().optional(),pattern:t.z.string().refine(i=>{try{return new RegExp(i),!0}catch{return!1}},"Invalid regex pattern").optional(),minLength:t.z.number().optional(),maxLength:t.z.number().optional(),exactLength:t.z.number().optional(),prefix:t.z.object({default:s.optional(),success:s.optional(),error:s.optional()}).optional(),suffix:t.z.object({default:s.optional(),success:s.optional(),error:s.optional()}).optional(),clearable:t.z.boolean().optional(),floatingLabel:t.z.boolean().optional()}).optional(),textarea:t.z.object({rows:t.z.number().optional()}).optional(),checkbox:t.z.object({layout:t.z.enum(["horizontal","vertical"])}).optional(),rating:t.z.object({icons:t.z.array(t.z.string()).optional(),color:t.z.string().optional(),precision:t.z.number().optional()}).optional(),map:t.z.object({apiKey:t.z.string().optional(),region:t.z.string().length(2).optional(),center:t.z.object({lat:t.z.number().min(-90).max(90),lng:t.z.number().min(-180).max(180)}).optional(),showMap:t.z.enum(["always","on-search","never"]).optional(),zoom:t.z.object({initial:t.z.number().optional(),focus:t.z.number().optional(),max:t.z.number().optional(),min:t.z.number().optional()}).optional(),controls:t.z.object({fullscreen:t.z.boolean().optional(),mapType:t.z.boolean().optional(),zoom:t.z.boolean().optional(),rotate:t.z.boolean().optional(),scale:t.z.boolean().optional(),streetView:t.z.boolean().optional()}).optional(),initialLocations:t.z.number().optional(),maxLocations:t.z.number().optional(),distanceUnit:t.z.enum(["km","mi"]).optional(),distanceFormat:t.z.enum(["short","long"]).optional(),options:t.z.object({show:t.z.enum(["always","on-search","never"]).optional(),component:t.z.enum(["list-button","list-radio","carousel"]).optional(),searchLabel:t.z.string().optional(),detailsLabel:t.z.string().optional()}).optional(),search:t.z.object({value:t.z.string().optional(),button:t.z.object({label:t.z.string().optional(),position:t.z.enum(["inside","outside"]).optional()}).optional(),placeholder:t.z.string().optional(),noResultsText:t.z.string().optional(),autocomplete:t.z.boolean().optional(),clearable:t.z.boolean().optional(),mode:t.z.enum(["address","postcode"]).default("postcode").optional(),locationButton:t.z.object({icon:t.z.string().optional(),position:t.z.enum(["left","right"]).optional()}).optional(),prefix:t.z.object({default:s.optional()}).optional(),suffix:t.z.object({default:s.optional()}).optional(),mappedResults:t.z.object({mapping:t.z.record(t.z.string(),t.z.array(t.z.object({key:t.z.string(),value:t.z.string()})))}).optional()}).optional(),distanceRange:t.z.object({initial:t.z.number().optional(),min:t.z.number().optional(),max:t.z.number().optional(),step:t.z.number().optional()}).optional(),mapRegion:t.z.object({strokeColor:t.z.string().optional(),fillColor:t.z.string().optional(),fillOpacity:t.z.number().optional()}).optional(),locationPin:f.optional(),markerPin:t.z.object({default:f.optional(),hover:f.optional(),selected:f.optional()}).optional(),infoWindow:t.z.object({button:t.z.object({label:t.z.string(),action:t.z.string()}).optional()}).optional()}).optional(),calendar:t.z.object({current:t.z.object({month:t.z.number().min(0).max(11).optional(),year:t.z.number().optional()}).optional(),range:t.z.object({min:y.optional(),max:y.optional(),enabled:t.z.array(y).optional(),disabled:t.z.array(y).optional()}).optional(),time:t.z.object({label:t.z.string().optional(),format:t.z.enum(["12h","24h"]).optional(),component:t.z.enum(["carousel","list"]).optional()}).optional(),api:t.z.object({url:t.z.string().url().nonempty(),organizationId:t.z.string().nonempty(),availability:t.z.object({filters:v.GetAvailabilityFilters,options:v.GetAvailabilityOptions.optional()}).optional()}).optional()}).optional()}).optional(),dependsOn:t.z.array(t.z.object({fieldName:t.z.string().nonempty(),value:b.optional()})).optional(),dependentBehavior:t.z.enum(["hidden","disabled"]).optional(),customError:t.z.object({required:t.z.string().optional(),invalid:t.z.string().optional(),minLength:t.z.string().optional(),maxLength:t.z.string().optional(),minValue:t.z.string().optional(),maxValue:t.z.string().optional(),mismatch:t.z.string().optional()}).optional()}),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()}),L=t.z.object({name:t.z.enum(["organization_call","close_panel"]),params:t.z.record(t.z.string(),t.z.any()).optional()}),D=t.z.object({id:t.z.string().nonempty(),type:t.z.enum(["submit","navigate","link","back","dispatcher","script"]),label:t.z.string().nonempty(),variant:t.z.enum(["primary","secondary","success","danger","warning","info"]),url:t.z.string().url().optional(),scripts:w.array().optional(),events:L.array().optional()}),z=t.z.enum(["INVALID_DATA","INVALID_ACTION","STEP_NOT_FOUND","UNKNOWN_ERROR","APPOINTMENT_INVALID_DATA","APPOINTMENT_BUSY_SLOT","APPOINTMENT_OUT_OF_DATE","APPOINTMENT_UNKNOWN_ERROR","LEAD_INVALID_DATA","LEAD_UNKNOWN_ERROR","CONTENT_INVALID_DATA","CONTENT_UNKNOWN_ERROR","CONTACT_INVALID_DATA","CONTACT_UNKNOWN_ERROR","LOST_OPPORTUNITY_INVALID_DATA","LOST_OPPORTUNITY_UNKNOWN_ERROR"]),R=t.z.object({type:t.z.enum(["redirect"]),params:t.z.record(t.z.string(),t.z.any()).optional()}),F=t.z.object({id:t.z.string().nonempty(),title:t.z.string().optional(),description:t.z.string().optional(),stageId:t.z.string().optional(),state:t.z.record(t.z.string(),t.z.any()).optional(),fields:t.z.array(A).optional(),actions:t.z.array(D).optional(),result:t.z.object({postActions:t.z.array(R).optional(),pipelines:t.z.array(t.z.object({name:t.z.string(),data:t.z.object({})})).optional(),tracking:t.z.record(t.z.string(),t.z.any()).optional()}).optional(),error:t.z.object({code:z,message:t.z.string().optional(),fields:t.z.array(t.z.object({name:t.z.string(),type:S,value:t.z.any(),error:t.z.string()})).optional()}).optional(),isFinal:t.z.boolean().optional()}),P=t.z.object({id:t.z.string().length(24).nonempty(),organizationId:t.z.string().uuid().nonempty(),updatedAt:t.z.string().datetime().nonempty(),stages:t.z.array(t.z.object({id:t.z.string().nonempty(),name:t.z.string().nonempty()}))}),H=t.z.object({status:t.z.enum(["ok","error"]),step:F,flow:P}),J=t.z.enum(["track"]);var h=class{constructor(e){p(this,"baseURL");p(this,"headers");p(this,"flowId");p(this,"tracking");let o=(0,C.merge)({},_,E.parse(e));this.flowId=o.flowId,this.baseURL=o.baseUrl,this.headers=new Headers({"Content-Type":"application/json","X-Onlive-Organization-Id":o.organizationId,"X-Lang":o.lang}),o.tracking?.enabled&&(this.tracking=new j(o.organizationId,o.flowId,o.tracking,!!o.devMode))}async request(e,o={}){let n=await fetch(`${this.baseURL}/${e}`,{...o,headers:this.headers});if(!n?.ok)throw new Error(`HTTP error! status: ${n?.status||"unknown"}`);return n.json()}async firstStep(e={}){this.tracking?.analyzeRequest({},e);let o=this.tracking?.preferences(),n=await this.request(`flow/${this.flowId}/first-step`,{method:"POST",body:JSON.stringify(u.parse({...e,state:{preferences:o,...e.state}}))});return this.tracking?.analyzeResponse({},n),n}async getStep(e,o={}){this.tracking?.analyzeRequest({stepId:e},o);let n=this.tracking?.preferences(),r=await this.request(`flow/${this.flowId}/steps/${O.parse(e)}`,{method:"POST",body:JSON.stringify(u.parse({...o,state:{preferences:n,...o.state}}))});return this.tracking?.analyzeResponse({stepId:e},r),r}async nextStep(e,o={}){this.tracking?.analyzeRequest(e,o);let{currentStepId:n,actionId:r}=N.parse(e),m=await this.request(`flow/${this.flowId}/steps/${n}/action/${r}`,{method:"POST",body:JSON.stringify(u.parse(o))});return this.tracking?.analyzeResponse(e,m),m}};0&&(module.exports={Action,ActionEvent,ActionScript,ClientOptions,DEFAULT_CLIENT_OPTIONS,ErrorCode,EventType,Field,Flow,FlowClient,FlowContext,GetStepOptions,GetStepTrigger,ONLIVE_ANALYTICS_EVENT,ONLIVE_FLOW_FORM_NAME,PostAction,Step,StepId,TrackingOptionsSchema});
|