@powerhousedao/connect 5.1.0-dev.32 → 5.1.0-dev.34
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/dist/assets/{AddDriveModal-B18cL7aY.js → AddDriveModal-C-rdbT35.js} +1 -1
- package/dist/assets/{ClearStorageModal-Ceh8x4vG.js → ClearStorageModal-2-zSwGLF.js} +1 -1
- package/dist/assets/CookiesPolicyModal-D-HQfQy9.js +1 -0
- package/dist/assets/CreateDocumentModal-C5jjQV_H.js +1 -0
- package/dist/assets/{DebugSettingsModal-CqzfZyGW.js → DebugSettingsModal-DdB59J-P.js} +1 -1
- package/dist/assets/{DeleteDriveModal-wAyX2ND8.js → DeleteDriveModal-D6H7oASn.js} +1 -1
- package/dist/assets/DeleteItemModal-y7n7xrwo.js +1 -0
- package/dist/assets/DisclaimerModal-BqnPVMxo.js +1 -0
- package/dist/assets/DriveSettingsModal-DnzlVCaq.js +1 -0
- package/dist/assets/{ExportDocumentWithErrorsModal-C7pXJUCU.js → ExportDocumentWithErrorsModal-DWE4Suww.js} +1 -1
- package/dist/assets/{SettingsModal-Dnups09G.js → SettingsModal-DmLUZySJ.js} +1 -1
- package/dist/assets/UpgradeDriveModal-DUZdmOCa.js +1 -0
- package/dist/assets/{design_system-DZjyP_2z.js → design_system-Bfxj04HO.js} +1 -1
- package/dist/assets/{design_system_connect-DrK_hQ_e.js → design_system_connect-BWOUJdnO.js} +1 -1
- package/dist/assets/{design_system_ui-DZ_7ABoK.js → design_system_ui-95ELOACK.js} +1 -1
- package/dist/assets/{document_drive-CwJB1Xeu.js → document_drive-a7-svvIx.js} +1 -1
- package/dist/assets/{document_engineering-BJHPEPIt.js → document_engineering-SL9sltYn.js} +1 -1
- package/dist/assets/{document_model-Dg5TMlFt.js → document_model-CQcaLIYN.js} +1 -1
- package/dist/assets/{document_model_editor-B8skqXow.js → document_model_editor-B3mArMqb.js} +13 -13
- package/dist/assets/{drive_explorer-BW7IeXeV.js → drive_explorer-CtZEDw2_.js} +2 -2
- package/dist/assets/{graphql-editor-C21A4xf2.js → graphql-editor-BcQ29FAO.js} +1 -1
- package/dist/assets/{hooks-BvQui8KQ.js → hooks-BYuxS9fc.js} +1 -1
- package/dist/assets/index-B9T8CAhy.js +18 -0
- package/dist/assets/{index-CdamZauA.css → index-CslGkEH8.css} +1 -1
- package/dist/assets/{index-D2bC5N54.js → index-DBJzYBdl.js} +3 -3
- package/dist/assets/{json-editor-Cvh5KaKD.js → json-editor-DcM_VhZ1.js} +1 -1
- package/dist/assets/{nodefs-DKKnqgV8.js → nodefs-Crp8Ss8K.js} +1 -1
- package/dist/assets/{opfs-ahp-CzLAmNTx.js → opfs-ahp-DmsR3szr.js} +1 -1
- package/dist/assets/{reactor_browser-DUgUfCxy.js → reactor_browser-B1Smu39B.js} +12 -12
- package/dist/assets/state-schemas-DBgD7heW.js +2 -0
- package/dist/index.html +11 -11
- package/lib/package.copy.json +1 -1
- package/lib/src/components/app-loader.d.ts +0 -4
- package/lib/src/components/app-loader.d.ts.map +1 -1
- package/lib/src/components/app-loader.js +2 -2
- package/lib/src/components/app-loader.js.map +1 -1
- package/lib/src/components/editors.d.ts.map +1 -1
- package/lib/src/components/editors.js.map +1 -1
- package/lib/src/store/reactor.d.ts.map +1 -1
- package/lib/src/store/reactor.js +7 -5
- package/lib/src/store/reactor.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.copy.json +1 -1
- package/package.json +10 -10
- package/dist/assets/CookiesPolicyModal-CqzFpKOs.js +0 -1
- package/dist/assets/CreateDocumentModal-U7cBACM2.js +0 -1
- package/dist/assets/DeleteItemModal-ZWN-EFBY.js +0 -1
- package/dist/assets/DisclaimerModal-G8K_mr8d.js +0 -1
- package/dist/assets/DriveSettingsModal-pPpX_Boy.js +0 -1
- package/dist/assets/UpgradeDriveModal-C5AyVWqf.js +0 -1
- package/dist/assets/index-7qSTicFP.js +0 -18
- package/dist/assets/state-schemas-CDqykNjl.js +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as oe,a as os,i as as,B as cs,b as us,d as ds,e as ls,f as hs,g as ot,h as xt,j as fs,p as _r,k as Le,v as He,l as ir,m as or,r as gs,n as wt,s as Ge,o as ps,q as ms,t as ys,u as Ke,w as Ar,x as vs,y as ws,z as bs,A as Je}from"./document_model-
|
|
1
|
+
import{c as oe,a as os,i as as,B as cs,b as us,d as ds,e as ls,f as hs,g as ot,h as xt,j as fs,p as _r,k as Le,v as He,l as ir,m as or,r as gs,n as wt,s as Ge,o as ps,q as ms,t as ys,u as Ke,w as Ar,x as vs,y as ws,z as bs,A as Je}from"./document_model-CQcaLIYN.js";import{a as Ds,p as Ss,G as Es,b as Is,c as bt,d as ar,e as Dt,f as Ts,g as Rs}from"./graphql-BS4Brs_E.js";import{c as Ee,g as $t}from"./react-DQSxOgtG.js";import{o as W,s as $,e as Ze,a as pe,_ as Nr,d as Oe,u as Ms,b as Os}from"./zod-BpTyxkjy.js";import{i as _s,L as he}from"./config-CU-aFfVJ.js";function As(i,e){for(var t=0;t<e.length;t++){const r=e[t];if(typeof r!="string"&&!Array.isArray(r)){for(const n in r)if(n!=="default"&&!(n in i)){const s=Object.getOwnPropertyDescriptor(r,n);s&&Object.defineProperty(i,n,s.get?s:{enumerable:!0,get:()=>r[n]})}}}return Object.freeze(Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}))}const cr=i=>{const e={};for(const[t,r]of Object.entries(i.operations))r&&(e[t]=r.map(n=>(delete n.resultingState,n)));return{...i,operations:e}};class Ns{index=0;cache;constructor(e){this.cache=e}createStorage(){const e=this.index;this.index+=1;function t(n){return`${e}-${n}`}const r={get:n=>this.cache.get(t(n)),set:(n,s)=>(this.cache.set(t(n),s),r),delete:n=>this.cache.delete(t(n)),clear:()=>{this.cache.clear()}};return r}}class Cs{cache;cacheStorageManager;idToDocument;idToDrive;slugToDriveId;constructor(e=new Map){this.cache=e,this.cacheStorageManager=new Ns(e),this.idToDocument=this.cacheStorageManager.createStorage(),this.idToDrive=this.cacheStorageManager.createStorage(),this.slugToDriveId=this.cacheStorageManager.createStorage()}clear(){this.idToDocument.clear(),this.idToDrive.clear(),this.slugToDriveId.clear()}async setDocument(e,t){const r=cr(t);this.idToDocument.set(e,r)}async getDocument(e){return this.idToDocument.get(e)}async deleteDocument(e){return this.idToDocument.delete(e)}async setDrive(e,t){const r=cr(t);this.idToDrive.set(e,r)}async getDrive(e){return this.idToDrive.get(e)}async deleteDrive(e){const t=this.idToDrive.get(e);if(!t)return!1;const r=t.header.slug.length>0?t.header.slug:e;return r&&this.slugToDriveId.delete(r),this.idToDrive.delete(e)}async setDriveBySlug(e,t){const r=t.header.id;this.slugToDriveId.set(e,r),this.setDrive(r,t)}async getDriveBySlug(e){const t=this.slugToDriveId.get(e);if(t)return this.getDrive(t)}async deleteDriveBySlug(e){const t=this.slugToDriveId.get(e);return t?(this.slugToDriveId.delete(e),this.deleteDrive(t)):!1}}const xs="phdd",$s=i=>i!=null;Os().refine(i=>$s(i));const Ps=Nr(["Internal","MatrixConnect","PullResponder","RESTWebhook","SecureConnect","SwitchboardPush"]),Ls=Nr(["PullResponder"]);function Cr(){return W({documentType:$(),id:$(),name:$(),parentFolder:$().nullish()})}function xr(){return W({id:$(),name:$(),parentFolder:$().nullish()})}function $r(){return W({listener:Br()})}function Pr(){return W({trigger:Jr()})}function Lr(){return W({srcId:$(),targetId:$(),targetName:$().nullish(),targetParentFolder:$().nullish()})}function Ur(){return W({id:$()})}function Us(){return W({__typename:pe("DocumentDriveLocalState").optional(),availableOffline:Ze(),listeners:Oe(Br()),sharingType:$().nullable(),triggers:Oe(Jr())})}function Bs(){return W({__typename:pe("DocumentDriveState").optional(),icon:$().nullable(),name:$(),nodes:Oe(js())})}function Fs(){return W({__typename:pe("FileNode").optional(),documentType:$(),id:$(),kind:$(),name:$(),parentFolder:$().nullable()})}function ks(){return W({__typename:pe("FolderNode").optional(),id:$(),kind:$(),name:$(),parentFolder:$().nullable()})}function Br(){return W({__typename:pe("Listener").optional(),block:Ze(),callInfo:qs().nullable(),filter:zs(),label:$().nullable(),listenerId:$(),system:Ze()})}function qs(){return W({__typename:pe("ListenerCallInfo").optional(),data:$().nullable(),name:$().nullable(),transmitterType:Ps.nullable()})}function zs(){return W({__typename:pe("ListenerFilter").optional(),branch:Oe($()).nullable(),documentId:Oe($()).nullable(),documentType:Oe($()),scope:Oe($()).nullable()})}function Fr(){return W({srcFolder:$(),targetParentFolder:$().nullish()})}function js(){return Ms([Fs(),ks()])}function Hs(){return W({__typename:pe("PullResponderTriggerData").optional(),interval:$(),listenerId:$(),url:$()})}function kr(){return W({listenerId:$()})}function qr(){return W({triggerId:$()})}function zr(){return W({availableOffline:Ze()})}function jr(){return W({icon:$()})}function Hr(){return W({name:$()})}function Gr(){return W({type:$()})}function Jr(){return W({__typename:pe("Trigger").optional(),data:Gs().nullable(),id:$(),type:Ls})}function Gs(){return Hs()}function Yr(){return W({documentType:$().nullish(),id:$(),name:$().nullish(),parentFolder:$().nullish()})}function Qr(){return W({id:$(),name:$().nullish(),parentFolder:$().nullish()})}function Js(i){return i&&typeof i=="object"&&"synchronizationUnits"in i?oe("ADD_FILE",{...i},void 0,void 0,"global"):oe("ADD_FILE",{...i},void 0,Cr,"global")}const Ys=i=>oe("ADD_FOLDER",{...i},void 0,xr,"global"),Qs=i=>oe("DELETE_NODE",{...i},void 0,Ur,"global"),Ks=i=>oe("UPDATE_FILE",{...i},void 0,Yr,"global"),Vs=i=>oe("UPDATE_NODE",{...i},void 0,Qr,"global"),Ws=i=>oe("COPY_NODE",{...i},void 0,Lr,"global"),Xs=i=>oe("MOVE_NODE",{...i},void 0,Fr,"global"),Zs=i=>oe("SET_DRIVE_NAME",{...i},void 0,Hr,"global"),ei=i=>oe("SET_DRIVE_ICON",{...i},void 0,jr,"global"),Kr=i=>oe("SET_SHARING_TYPE",{...i},void 0,Gr,"local"),ti=i=>oe("SET_AVAILABLE_OFFLINE",{...i},void 0,zr,"local"),ri=i=>oe("ADD_LISTENER",{...i},void 0,$r,"local"),Vr=i=>oe("REMOVE_LISTENER",{...i},void 0,kr,"local"),ni=i=>oe("ADD_TRIGGER",{...i},void 0,Pr,"local"),Wr=i=>oe("REMOVE_TRIGGER",{...i},void 0,qr,"local"),si=Object.freeze(Object.defineProperty({__proto__:null,addFile:Js,addFolder:Ys,addListener:ri,addTrigger:ni,copyNode:Ws,deleteNode:Qs,moveNode:Xs,removeListener:Vr,removeTrigger:Wr,setAvailableOffline:ti,setDriveIcon:ei,setDriveName:Zs,setSharingType:Kr,updateFile:Ks,updateNode:Vs},Symbol.toStringTag,{value:"Module"})),ii={id:"powerhouse/document-drive",name:"DocumentDrive",extension:"phdd",description:"",author:{name:"Powerhouse Inc",website:"https://www.powerhouse.inc/"},specifications:[{version:1,changeLog:[],state:{global:{schema:`type FolderNode {
|
|
2
2
|
id: String!
|
|
3
3
|
name: String!
|
|
4
4
|
kind: String!
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./sentry_react-cODD7zWc.js";import"./document_model_editor-
|
|
1
|
+
import"./sentry_react-cODD7zWc.js";import"./document_model_editor-B3mArMqb.js";import"./react-DQSxOgtG.js";
|
|
@@ -227,4 +227,4 @@ type DocumentModelGlobalState {
|
|
|
227
227
|
}`,template:"",reducer:"",examples:[],errors:[],scope:"global"},{name:"REORDER_STATE_EXAMPLES",id:"",description:"Changes the order of state examples for a document scope",schema:`input ReorderStateExamplesInput {
|
|
228
228
|
scope: String!
|
|
229
229
|
order: [ID!]!
|
|
230
|
-
}`,template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""}]}]},yr="powerhouse/document-model",As=ee({id:L(),name:L(),createdAtUtcIso:L(),lastModifiedAtUtcIso:L(),documentType:L()}),Rs=ee({global:an()}),ks=As.extend({documentType:be(yr)}),gt=Rs.extend({global:Io()}),Er=ee({header:ks,state:gt,initialState:gt});function Ts(e){return gt.safeParse(e).success}function Ds(e){gt.parse(e)}function Cs(e){return Er.safeParse(e).success}function Ms(e){Er.parse(e)}const Ns=new RegExp("([\\p{Ll}\\d])(\\p{Lu})","gu"),zs=new RegExp("(\\p{Lu})([\\p{Lu}][\\p{Ll}])","gu"),Ps=new RegExp("(\\d)\\p{Ll}|(\\p{L})\\d","u"),Ls=/[^\p{L}\d]+/giu,nn="$1\0$2",rn="";function Sr(e){let t=e.trim();t=t.replace(Ns,nn).replace(zs,nn),t=t.replace(Ls,"\0");let n=0,r=t.length;for(;t.charAt(n)==="\0";)n++;if(n===r)return[];for(;t.charAt(r-1)==="\0";)r--;return t.slice(n,r).split(/\0/g)}function Us(e){const t=Sr(e);for(let n=0;n<t.length;n++){const r=t[n],i=Ps.exec(r);if(i){const o=i.index+(i[1]??i[2]).length;t.splice(n,1,r.slice(0,o),r.slice(o))}}return t}function js(e,t){const[n,r,i]=tt(e,t);return n+r.map(bt(t?.locale)).join(t?.delimiter??" ")+i}function on(e,t){const[n,r,i]=tt(e,t),o=bt(t?.locale),l=yt(t?.locale),s=t?.mergeAmbiguousCharacters?Wt(o,l):Bs(o,l);return n+r.map(s).join(t?.delimiter??"")+i}function ma(e,t){const[n,r,i]=tt(e,t),o=bt(t?.locale),l=yt(t?.locale);return n+r.map(Wt(o,l)).join(" ")+i}function ga(e,t){const[n,r,i]=tt(e,t);return n+r.map(yt(t?.locale)).join("_")+i}function _a(e,t){const[n,r,i]=tt(e,t),o=bt(t?.locale),l=yt(t?.locale),s=Wt(o,l);return n+r.map((u,d)=>d===0?s(u):o(u)).join(" ")+i}function ba(e,t){return js(e,{delimiter:"_",...t})}function bt(e){return e===!1?t=>t.toLowerCase():t=>t.toLocaleLowerCase(e)}function yt(e){return e===!1?t=>t.toUpperCase():t=>t.toLocaleUpperCase(e)}function Wt(e,t){return n=>`${t(n[0])}${e(n.slice(1))}`}function Bs(e,t){return(n,r)=>{const i=n[0];return(r>0&&i>="0"&&i<="9"?"_"+i:t(i))+e(n.slice(1))}}function tt(e,t={}){const n=t.split??(t.separateNumbers?Us:Sr),r=t.prefixCharacters??rn,i=t.suffixCharacters??rn;let o=0,l=e.length;for(;o<e.length;){const s=e.charAt(o);if(!r.includes(s))break;o++}for(;l>o;){const s=l-1,u=e.charAt(s);if(!i.includes(u))break;l=s}return[e.slice(0,o),n(e.slice(o,l)),e.slice(l)]}const Fs=["UNDO","REDO","PRUNE","LOAD_STATE","SET_NAME","NOOP"];function $s(e){return Fs.includes(e.toUpperCase())}function Ws(e,t){const n=e.specifications[e.specifications.length-1];if(!n)return[];const r=[];for(const i of n.modules)for(const o of i.operations)t&&o.id===t||o.name&&r.push(o.name.toUpperCase());return r}function sn(e,t,n){if(!e)return;const r=e.toUpperCase();if($s(e))throw new Error(`Operation name "${e}" is reserved. Please use a different name.`);if(Ws(t,n).includes(r))throw new Error(`Operation name "${e}" is already used by another operation. Operation names must be unique across all modules.`)}function ya(e,t=!1){const n=[];if(t&&e==="")return n;try{const r=JSON.parse(e);!t&&!Object.keys(r).length&&n.push({message:"Initial state cannot be empty",details:{initialState:e}})}catch{n.push({message:"Invalid initial state",details:{initialState:e}})}return n}function Ea(e,t,n="",r=!0){const i=[];if(!r&&!e)return i.push({message:"State schema is required",details:{schema:e}}),i;if(r&&!e)return i;const o=`type ${on(t)}${on(n)}State`;return e.includes(o)||i.push({message:`Invalid state schema name. Expected ${o}`,details:{schema:e}}),i}function Sa(e){const t=[];e.length||t.push({message:"Modules are required",details:{modules:e}});const n=e.reduce((r,i)=>[...r,...Hs(i)],[]);return[...t,...n]}function Hs(e){const t=[];e.name||t.push({message:"Module name is required",details:{module:e}}),e.operations.length||t.push({message:"Module operations are required",details:{module:e}});const n=e.operations.reduce((r,i)=>[...r,...Zs(i)],[]);return[...t,...n]}function Zs(e){const t=[];return e.name||t.push({message:"Operation name is required",details:{operation:e}}),e.schema||t.push({message:"Operation schema is required",details:{operation:e}}),t}function nt(e){const t={};return e.forEach((n,r)=>t[n]=r),(n,r)=>(t[r.id]||999999)-(t[n.id]||999999)}const je={setModelNameOperation(e,t){e.name=t.input.name},setModelIdOperation(e,t){e.id=t.input.id},setModelExtensionOperation(e,t){e.extension=t.input.extension},setModelDescriptionOperation(e,t){e.description=t.input.description},setAuthorNameOperation(e,t){e.author=e.author||{name:"",website:null},e.author.name=t.input.authorName},setAuthorWebsiteOperation(e,t){e.author=e.author||{name:"",website:null},e.author.website=t.input.authorWebsite}},Xe={addModuleOperation(e,t){e.specifications[e.specifications.length-1].modules.push({id:t.input.id,name:t.input.name,description:t.input.description||"",operations:[]})},setModuleNameOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)n.modules[r].id===t.input.id&&(n.modules[r].name=t.input.name||"")},setModuleDescriptionOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)n.modules[r].id===t.input.id&&(n.modules[r].description=t.input.description||"")},deleteModuleOperation(e,t){const n=e.specifications[e.specifications.length-1];n.modules=n.modules.filter(r=>r.id!=t.input.id)},reorderModulesOperation(e,t){e.specifications[e.specifications.length-1].modules.sort(nt(t.input.order))}},ze={addOperationErrorOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.operationId&&n.modules[r].operations[i].errors.push({id:t.input.id,name:t.input.errorName||"",code:t.input.errorCode||"",description:t.input.errorDescription||"",template:t.input.errorTemplate||""})},setOperationErrorCodeOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)for(let o=0;o<n.modules[r].operations[i].errors.length;o++)n.modules[r].operations[i].errors[o].id==t.input.id&&(n.modules[r].operations[i].errors[o].code=t.input.errorCode||"")},setOperationErrorNameOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)for(let o=0;o<n.modules[r].operations[i].errors.length;o++)n.modules[r].operations[i].errors[o].id==t.input.id&&(n.modules[r].operations[i].errors[o].name=t.input.errorName||"")},setOperationErrorDescriptionOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)for(let o=0;o<n.modules[r].operations[i].errors.length;o++)n.modules[r].operations[i].errors[o].id==t.input.id&&(n.modules[r].operations[i].errors[o].description=t.input.errorDescription||"")},setOperationErrorTemplateOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)for(let o=0;o<n.modules[r].operations[i].errors.length;o++)n.modules[r].operations[i].errors[o].id==t.input.id&&(n.modules[r].operations[i].errors[o].template=t.input.errorTemplate||"")},deleteOperationErrorOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].errors=n.modules[r].operations[i].errors.filter(o=>o.id!=t.input.id)},reorderOperationErrorsOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.operationId&&n.modules[r].operations[i].errors.sort(nt(t.input.order))}},ut={addOperationExampleOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.operationId&&n.modules[r].operations[i].examples.push({id:t.input.id,value:t.input.example})},updateOperationExampleOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)for(let o=0;o<n.modules[r].operations[i].examples.length;o++)n.modules[r].operations[i].examples[o].id==t.input.id&&(n.modules[r].operations[i].examples[o].value=t.input.example)},deleteOperationExampleOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].examples=n.modules[r].operations[i].examples.filter(o=>o.id!=t.input.id)},reorderOperationExamplesOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.operationId&&n.modules[r].operations[i].examples.sort(nt(t.input.order))}},ve={addOperationOperation(e,t){sn(t.input.name,e);const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)n.modules[r].id==t.input.moduleId&&n.modules[r].operations.push({id:t.input.id,name:t.input.name,description:t.input.description||"",schema:t.input.schema||"",template:t.input.template||t.input.description||"",reducer:t.input.reducer||"",errors:[],examples:[],scope:t.input.scope||"global"})},setOperationNameOperation(e,t){t.input.name&&sn(t.input.name,e,t.input.id);const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.id&&(n.modules[r].operations[i].name=t.input.name||"")},setOperationScopeOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.id&&(n.modules[r].operations[i].scope=t.input.scope||"global")},setOperationSchemaOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.id&&(n.modules[r].operations[i].schema=t.input.schema||"")},setOperationDescriptionOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.id&&(n.modules[r].operations[i].description=t.input.description||"")},setOperationTemplateOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.id&&(n.modules[r].operations[i].template=t.input.template||"")},setOperationReducerOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.id&&(n.modules[r].operations[i].reducer=t.input.reducer||"")},moveOperationOperation(e,t){const n=[],r=e.specifications[e.specifications.length-1];for(let i=0;i<r.modules.length;i++)r.modules[i].operations=r.modules[i].operations.filter(o=>o.id==t.input.operationId?(n.push(o),!1):!0);for(let i=0;i<r.modules.length;i++)r.modules[i].id==t.input.newModuleId&&r.modules[i].operations.push(...n)},deleteOperationOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)n.modules[r].operations=n.modules[r].operations.filter(i=>i.id!=t.input.id)},reorderModuleOperationsOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)n.modules[r].id==t.input.moduleId&&n.modules[r].operations.sort(nt(t.input.order))}},Be={setStateSchemaOperation(e,t){const n=e.specifications[e.specifications.length-1];if(Object.keys(n.state).includes(t.input.scope))n.state[t.input.scope].schema=t.input.schema;else throw new Error(`Invalid scope: ${t.input.scope}`)},setInitialStateOperation(e,t){const n=e.specifications[e.specifications.length-1];if(Object.keys(n.state).includes(t.input.scope))n.state[t.input.scope].initialValue=t.input.initialValue;else throw new Error(`Invalid scope: ${t.input.scope}`)},addStateExampleOperation(e,t){const n=e.specifications[e.specifications.length-1];if(Object.keys(n.state).includes(t.input.scope))n.state[t.input.scope].examples.push({id:t.input.id,value:t.input.example});else throw new Error(`Invalid scope: ${t.input.scope}`)},updateStateExampleOperation(e,t){const n=e.specifications[e.specifications.length-1];if(!Object.keys(n.state).includes(t.input.scope))throw new Error(`Invalid scope: ${t.input.scope}`);const r=n.state[t.input.scope].examples;for(let i=0;i<r.length;i++)r[i].id==t.input.id&&(r[i].value=t.input.newExample)},deleteStateExampleOperation(e,t){const n=e.specifications[e.specifications.length-1];if(Object.keys(n.state).includes(t.input.scope))n.state[t.input.scope].examples=n.state[t.input.scope].examples.filter(r=>r.id!=t.input.id);else throw new Error(`Invalid scope: ${t.input.scope}`)},reorderStateExamplesOperation(e,t){const n=e.specifications[e.specifications.length-1];if(Object.keys(n.state).includes(t.input.scope))n.state[t.input.scope].examples.sort(nt(t.input.order));else throw new Error(`Invalid scope: ${t.input.scope}`)}},Ke={addChangeLogItemOperation(e,t){throw new Error('Reducer "addChangeLogItemOperation" not yet implemented')},updateChangeLogItemOperation(e,t){throw new Error('Reducer "updateChangeLogItemOperation" not yet implemented')},deleteChangeLogItemOperation(e,t){throw new Error('Reducer "deleteChangeLogItemOperation" not yet implemented')},reorderChangeLogItemsOperation(e,t){throw new Error('Reducer "reorderChangeLogItemsOperation" not yet implemented')},releaseNewVersionOperation(e,t){throw new Error('Reducer "releaseNewVersionOperation" not yet implemented')}},Gs=(e,t)=>{if(bn(t))return e;switch(t.type){case"SET_MODEL_NAME":rr().parse(t.input),je.setModelNameOperation(e.global,t);break;case"SET_MODEL_ID":nr().parse(t.input),je.setModelIdOperation(e.global,t);break;case"SET_MODEL_EXTENSION":tr().parse(t.input),je.setModelExtensionOperation(e.global,t);break;case"SET_MODEL_DESCRIPTION":er().parse(t.input),je.setModelDescriptionOperation(e.global,t);break;case"SET_AUTHOR_NAME":qn().parse(t.input),je.setAuthorNameOperation(e.global,t);break;case"SET_AUTHOR_WEBSITE":Yn().parse(t.input),je.setAuthorWebsiteOperation(e.global,t);break;case"ADD_CHANGE_LOG_ITEM":Nn().parse(t.input),Ke.addChangeLogItemOperation(e.global,t);break;case"UPDATE_CHANGE_LOG_ITEM":_r().parse(t.input),Ke.updateChangeLogItemOperation(e.global,t);break;case"DELETE_CHANGE_LOG_ITEM":Bn().parse(t.input),Ke.deleteChangeLogItemOperation(e.global,t);break;case"REORDER_CHANGE_LOG_ITEMS":Gn().parse(t.input),Ke.reorderChangeLogItemsOperation(e.global,t);break;case"RELEASE_NEW_VERSION":if(Object.keys(t.input).length>0)throw new Error("Expected empty input for action RELEASE_NEW_VERSION");Ke.releaseNewVersionOperation(e.global,t);break;case"ADD_MODULE":zn().parse(t.input),Xe.addModuleOperation(e.global,t);break;case"SET_MODULE_NAME":or().parse(t.input),Xe.setModuleNameOperation(e.global,t);break;case"SET_MODULE_DESCRIPTION":ir().parse(t.input),Xe.setModuleDescriptionOperation(e.global,t);break;case"DELETE_MODULE":Fn().parse(t.input),Xe.deleteModuleOperation(e.global,t);break;case"REORDER_MODULES":Xn().parse(t.input),Xe.reorderModulesOperation(e.global,t);break;case"ADD_OPERATION_ERROR":Pn().parse(t.input),ze.addOperationErrorOperation(e.global,t);break;case"SET_OPERATION_ERROR_CODE":ar().parse(t.input),ze.setOperationErrorCodeOperation(e.global,t);break;case"SET_OPERATION_ERROR_NAME":ur().parse(t.input),ze.setOperationErrorNameOperation(e.global,t);break;case"SET_OPERATION_ERROR_DESCRIPTION":lr().parse(t.input),ze.setOperationErrorDescriptionOperation(e.global,t);break;case"SET_OPERATION_ERROR_TEMPLATE":cr().parse(t.input),ze.setOperationErrorTemplateOperation(e.global,t);break;case"DELETE_OPERATION_ERROR":$n().parse(t.input),ze.deleteOperationErrorOperation(e.global,t);break;case"REORDER_OPERATION_ERRORS":Kn().parse(t.input),ze.reorderOperationErrorsOperation(e.global,t);break;case"ADD_OPERATION_EXAMPLE":Oo().parse(t.input),ut.addOperationExampleOperation(e.global,t);break;case"UPDATE_OPERATION_EXAMPLE":Mo().parse(t.input),ut.updateOperationExampleOperation(e.global,t);break;case"DELETE_OPERATION_EXAMPLE":vo().parse(t.input),ut.deleteOperationExampleOperation(e.global,t);break;case"REORDER_OPERATION_EXAMPLES":Do().parse(t.input),ut.reorderOperationExamplesOperation(e.global,t);break;case"ADD_OPERATION":Ln().parse(t.input),ve.addOperationOperation(e.global,t);break;case"SET_OPERATION_NAME":pr().parse(t.input),ve.setOperationNameOperation(e.global,t);break;case"SET_OPERATION_SCOPE":dr().parse(t.input),ve.setOperationScopeOperation(e.global,t);break;case"SET_OPERATION_SCHEMA":hr().parse(t.input),ve.setOperationSchemaOperation(e.global,t);break;case"SET_OPERATION_DESCRIPTION":sr().parse(t.input),ve.setOperationDescriptionOperation(e.global,t);break;case"SET_OPERATION_TEMPLATE":mr().parse(t.input),ve.setOperationTemplateOperation(e.global,t);break;case"SET_OPERATION_REDUCER":fr().parse(t.input),ve.setOperationReducerOperation(e.global,t);break;case"MOVE_OPERATION":Zn().parse(t.input),ve.moveOperationOperation(e.global,t);break;case"DELETE_OPERATION":Wn().parse(t.input),ve.deleteOperationOperation(e.global,t);break;case"REORDER_MODULE_OPERATIONS":Vn().parse(t.input),ve.reorderModuleOperationsOperation(e.global,t);break;case"SET_STATE_SCHEMA":gr().parse(t.input),Be.setStateSchemaOperation(e.global,t);break;case"SET_INITIAL_STATE":Qn().parse(t.input),Be.setInitialStateOperation(e.global,t);break;case"ADD_STATE_EXAMPLE":Un().parse(t.input),Be.addStateExampleOperation(e.global,t);break;case"UPDATE_STATE_EXAMPLE":br().parse(t.input),Be.updateStateExampleOperation(e.global,t);break;case"DELETE_STATE_EXAMPLE":Hn().parse(t.input),Be.deleteStateExampleOperation(e.global,t);break;case"REORDER_STATE_EXAMPLES":Jn().parse(t.input),Be.reorderStateExamplesOperation(e.global,t);break;default:return e}},wr=Dn(Gs),Vs=(e,t)=>$i(e,t),Xs=e=>Wi(e,wr),Or=e=>({...$t(),global:{...vs,...e?.global??{}},local:{...xs,...e?.local??{}}});function Ks(){return{...$t(),author:{name:"",website:""},description:"",extension:"",id:"",name:"",specifications:[]}}function Js(){return{}}function qs(e){return{...Ks(),...e||{}}}function Ys(e){return{...Js()}}function Qs(e,t,n){return{...wo(e?.auth,e?.document),global:qs(t),local:Ys()}}function ea(e){const t=yn(Or,e);return t.header.documentType=yr,t}const ta=e=>Ts(e),na=e=>{Ds(e)},ra=e=>Cs(e),ia=e=>{Ms(e)},oa={fileExtension:Os,createState:Or,createDocument:ea,loadFromInput:Xs,saveToFileHandle:Vs,isStateOfType:ta,assertIsStateOfType:na,isDocumentOfType:ra,assertIsDocumentOfType:ia},wa={reducer:wr,documentModel:Qs($t(),Is),actions:ws,utils:oa};export{Fi as $,lt as A,Rs as B,ba as C,ga as D,_a as E,zo as F,us as G,Po as H,Uo as I,Lo as J,jo as K,Bo as L,cs as M,Fo as N,$o as O,Ho as P,Vo as Q,Ko as R,Jo as S,es as T,ns as U,as as V,is as W,Go as X,ma as Y,la as Z,yr as _,Dn as a,ws as a0,ya as a1,Ea as a2,Sa as a3,fi as a4,di as a5,wa as a6,As as b,oe as c,$i as d,Wi as e,yn as f,Dt as g,$t as h,bn as i,Qs as j,vi as k,Ct as l,fa as m,Re as n,pa as o,on as p,da as q,ha as r,Te as s,ki as t,dt as u,ua as v,En as w,Ci as x,zi as y,ca as z};
|
|
230
|
+
}`,template:"",reducer:"",examples:[],errors:[],scope:"global"}],id:"",description:""}]}]},yr="powerhouse/document-model",As=ee({id:L(),name:L(),createdAtUtcIso:L(),lastModifiedAtUtcIso:L(),documentType:L()}),Rs=ee({global:an()}),ks=As.extend({documentType:be(yr)}),gt=Rs.extend({global:Io()}),Er=ee({header:ks,state:gt,initialState:gt});function Ts(e){return gt.safeParse(e).success}function Ds(e){gt.parse(e)}function Cs(e){return Er.safeParse(e).success}function Ms(e){Er.parse(e)}const Ns=new RegExp("([\\p{Ll}\\d])(\\p{Lu})","gu"),zs=new RegExp("(\\p{Lu})([\\p{Lu}][\\p{Ll}])","gu"),Ps=new RegExp("(\\d)\\p{Ll}|(\\p{L})\\d","u"),Ls=/[^\p{L}\d]+/giu,nn="$1\0$2",rn="";function Sr(e){let t=e.trim();t=t.replace(Ns,nn).replace(zs,nn),t=t.replace(Ls,"\0");let n=0,r=t.length;for(;t.charAt(n)==="\0";)n++;if(n===r)return[];for(;t.charAt(r-1)==="\0";)r--;return t.slice(n,r).split(/\0/g)}function Us(e){const t=Sr(e);for(let n=0;n<t.length;n++){const r=t[n],i=Ps.exec(r);if(i){const o=i.index+(i[1]??i[2]).length;t.splice(n,1,r.slice(0,o),r.slice(o))}}return t}function js(e,t){const[n,r,i]=tt(e,t);return n+r.map(bt(t?.locale)).join(t?.delimiter??" ")+i}function on(e,t){const[n,r,i]=tt(e,t),o=bt(t?.locale),l=yt(t?.locale),s=t?.mergeAmbiguousCharacters?Wt(o,l):Bs(o,l);return n+r.map(s).join(t?.delimiter??"")+i}function ma(e,t){const[n,r,i]=tt(e,t),o=bt(t?.locale),l=yt(t?.locale);return n+r.map(Wt(o,l)).join(" ")+i}function ga(e,t){const[n,r,i]=tt(e,t);return n+r.map(yt(t?.locale)).join("_")+i}function _a(e,t){const[n,r,i]=tt(e,t),o=bt(t?.locale),l=yt(t?.locale),s=Wt(o,l);return n+r.map((u,d)=>d===0?s(u):o(u)).join(" ")+i}function ba(e,t){return js(e,{delimiter:"_",...t})}function bt(e){return e===!1?t=>t.toLowerCase():t=>t.toLocaleLowerCase(e)}function yt(e){return e===!1?t=>t.toUpperCase():t=>t.toLocaleUpperCase(e)}function Wt(e,t){return n=>`${t(n[0])}${e(n.slice(1))}`}function Bs(e,t){return(n,r)=>{const i=n[0];return(r>0&&i>="0"&&i<="9"?"_"+i:t(i))+e(n.slice(1))}}function tt(e,t={}){const n=t.split??(t.separateNumbers?Us:Sr),r=t.prefixCharacters??rn,i=t.suffixCharacters??rn;let o=0,l=e.length;for(;o<e.length;){const s=e.charAt(o);if(!r.includes(s))break;o++}for(;l>o;){const s=l-1,u=e.charAt(s);if(!i.includes(u))break;l=s}return[e.slice(0,o),n(e.slice(o,l)),e.slice(l)]}const Fs=["UNDO","REDO","PRUNE","LOAD_STATE","SET_NAME","NOOP"];function $s(e){return Fs.includes(e.toUpperCase())}function Ws(e,t){const n=e.specifications[e.specifications.length-1];if(!n)return[];const r=[];for(const i of n.modules)for(const o of i.operations)t&&o.id===t||o.name&&r.push(o.name.toUpperCase());return r}function sn(e,t,n){if(!e)return;const r=e.toUpperCase();if($s(e))throw new Error(`Operation name "${e}" is reserved. Please use a different name.`);if(Ws(t,n).includes(r))throw new Error(`Operation name "${e}" is already used by another operation. Operation names must be unique across all modules.`)}function ya(e,t=!1){const n=[];if(t&&e==="")return n;try{const r=JSON.parse(e);!t&&!Object.keys(r).length&&n.push({message:"Initial state cannot be empty",details:{initialState:e}})}catch{n.push({message:"Invalid initial state",details:{initialState:e}})}return n}function Ea(e,t,n="",r=!0){const i=[];if(!r&&!e)return i.push({message:"State schema is required",details:{schema:e}}),i;if(r&&!e)return i;const o=`${on(t)}${on(n)}State`;return new RegExp(`\\btype\\s+${o}(?:\\s|\\{|@|$)`).test(e)||i.push({message:`Invalid state schema name. Expected type ${o}`,details:{schema:e}}),i}function Sa(e){const t=[];e.length||t.push({message:"Modules are required",details:{modules:e}});const n=e.reduce((r,i)=>[...r,...Hs(i)],[]);return[...t,...n]}function Hs(e){const t=[];e.name||t.push({message:"Module name is required",details:{module:e}}),e.operations.length||t.push({message:"Module operations are required",details:{module:e}});const n=e.operations.reduce((r,i)=>[...r,...Zs(i)],[]);return[...t,...n]}function Zs(e){const t=[];return e.name||t.push({message:"Operation name is required",details:{operation:e}}),e.schema||t.push({message:"Operation schema is required",details:{operation:e}}),t}function nt(e){const t={};return e.forEach((n,r)=>t[n]=r),(n,r)=>(t[r.id]||999999)-(t[n.id]||999999)}const je={setModelNameOperation(e,t){e.name=t.input.name},setModelIdOperation(e,t){e.id=t.input.id},setModelExtensionOperation(e,t){e.extension=t.input.extension},setModelDescriptionOperation(e,t){e.description=t.input.description},setAuthorNameOperation(e,t){e.author=e.author||{name:"",website:null},e.author.name=t.input.authorName},setAuthorWebsiteOperation(e,t){e.author=e.author||{name:"",website:null},e.author.website=t.input.authorWebsite}},Xe={addModuleOperation(e,t){e.specifications[e.specifications.length-1].modules.push({id:t.input.id,name:t.input.name,description:t.input.description||"",operations:[]})},setModuleNameOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)n.modules[r].id===t.input.id&&(n.modules[r].name=t.input.name||"")},setModuleDescriptionOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)n.modules[r].id===t.input.id&&(n.modules[r].description=t.input.description||"")},deleteModuleOperation(e,t){const n=e.specifications[e.specifications.length-1];n.modules=n.modules.filter(r=>r.id!=t.input.id)},reorderModulesOperation(e,t){e.specifications[e.specifications.length-1].modules.sort(nt(t.input.order))}},ze={addOperationErrorOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.operationId&&n.modules[r].operations[i].errors.push({id:t.input.id,name:t.input.errorName||"",code:t.input.errorCode||"",description:t.input.errorDescription||"",template:t.input.errorTemplate||""})},setOperationErrorCodeOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)for(let o=0;o<n.modules[r].operations[i].errors.length;o++)n.modules[r].operations[i].errors[o].id==t.input.id&&(n.modules[r].operations[i].errors[o].code=t.input.errorCode||"")},setOperationErrorNameOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)for(let o=0;o<n.modules[r].operations[i].errors.length;o++)n.modules[r].operations[i].errors[o].id==t.input.id&&(n.modules[r].operations[i].errors[o].name=t.input.errorName||"")},setOperationErrorDescriptionOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)for(let o=0;o<n.modules[r].operations[i].errors.length;o++)n.modules[r].operations[i].errors[o].id==t.input.id&&(n.modules[r].operations[i].errors[o].description=t.input.errorDescription||"")},setOperationErrorTemplateOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)for(let o=0;o<n.modules[r].operations[i].errors.length;o++)n.modules[r].operations[i].errors[o].id==t.input.id&&(n.modules[r].operations[i].errors[o].template=t.input.errorTemplate||"")},deleteOperationErrorOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].errors=n.modules[r].operations[i].errors.filter(o=>o.id!=t.input.id)},reorderOperationErrorsOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.operationId&&n.modules[r].operations[i].errors.sort(nt(t.input.order))}},ut={addOperationExampleOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.operationId&&n.modules[r].operations[i].examples.push({id:t.input.id,value:t.input.example})},updateOperationExampleOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)for(let o=0;o<n.modules[r].operations[i].examples.length;o++)n.modules[r].operations[i].examples[o].id==t.input.id&&(n.modules[r].operations[i].examples[o].value=t.input.example)},deleteOperationExampleOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].examples=n.modules[r].operations[i].examples.filter(o=>o.id!=t.input.id)},reorderOperationExamplesOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.operationId&&n.modules[r].operations[i].examples.sort(nt(t.input.order))}},ve={addOperationOperation(e,t){sn(t.input.name,e);const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)n.modules[r].id==t.input.moduleId&&n.modules[r].operations.push({id:t.input.id,name:t.input.name,description:t.input.description||"",schema:t.input.schema||"",template:t.input.template||t.input.description||"",reducer:t.input.reducer||"",errors:[],examples:[],scope:t.input.scope||"global"})},setOperationNameOperation(e,t){t.input.name&&sn(t.input.name,e,t.input.id);const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.id&&(n.modules[r].operations[i].name=t.input.name||"")},setOperationScopeOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.id&&(n.modules[r].operations[i].scope=t.input.scope||"global")},setOperationSchemaOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.id&&(n.modules[r].operations[i].schema=t.input.schema||"")},setOperationDescriptionOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.id&&(n.modules[r].operations[i].description=t.input.description||"")},setOperationTemplateOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.id&&(n.modules[r].operations[i].template=t.input.template||"")},setOperationReducerOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)for(let i=0;i<n.modules[r].operations.length;i++)n.modules[r].operations[i].id==t.input.id&&(n.modules[r].operations[i].reducer=t.input.reducer||"")},moveOperationOperation(e,t){const n=[],r=e.specifications[e.specifications.length-1];for(let i=0;i<r.modules.length;i++)r.modules[i].operations=r.modules[i].operations.filter(o=>o.id==t.input.operationId?(n.push(o),!1):!0);for(let i=0;i<r.modules.length;i++)r.modules[i].id==t.input.newModuleId&&r.modules[i].operations.push(...n)},deleteOperationOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)n.modules[r].operations=n.modules[r].operations.filter(i=>i.id!=t.input.id)},reorderModuleOperationsOperation(e,t){const n=e.specifications[e.specifications.length-1];for(let r=0;r<n.modules.length;r++)n.modules[r].id==t.input.moduleId&&n.modules[r].operations.sort(nt(t.input.order))}},Be={setStateSchemaOperation(e,t){const n=e.specifications[e.specifications.length-1];if(Object.keys(n.state).includes(t.input.scope))n.state[t.input.scope].schema=t.input.schema;else throw new Error(`Invalid scope: ${t.input.scope}`)},setInitialStateOperation(e,t){const n=e.specifications[e.specifications.length-1];if(Object.keys(n.state).includes(t.input.scope))n.state[t.input.scope].initialValue=t.input.initialValue;else throw new Error(`Invalid scope: ${t.input.scope}`)},addStateExampleOperation(e,t){const n=e.specifications[e.specifications.length-1];if(Object.keys(n.state).includes(t.input.scope))n.state[t.input.scope].examples.push({id:t.input.id,value:t.input.example});else throw new Error(`Invalid scope: ${t.input.scope}`)},updateStateExampleOperation(e,t){const n=e.specifications[e.specifications.length-1];if(!Object.keys(n.state).includes(t.input.scope))throw new Error(`Invalid scope: ${t.input.scope}`);const r=n.state[t.input.scope].examples;for(let i=0;i<r.length;i++)r[i].id==t.input.id&&(r[i].value=t.input.newExample)},deleteStateExampleOperation(e,t){const n=e.specifications[e.specifications.length-1];if(Object.keys(n.state).includes(t.input.scope))n.state[t.input.scope].examples=n.state[t.input.scope].examples.filter(r=>r.id!=t.input.id);else throw new Error(`Invalid scope: ${t.input.scope}`)},reorderStateExamplesOperation(e,t){const n=e.specifications[e.specifications.length-1];if(Object.keys(n.state).includes(t.input.scope))n.state[t.input.scope].examples.sort(nt(t.input.order));else throw new Error(`Invalid scope: ${t.input.scope}`)}},Ke={addChangeLogItemOperation(e,t){throw new Error('Reducer "addChangeLogItemOperation" not yet implemented')},updateChangeLogItemOperation(e,t){throw new Error('Reducer "updateChangeLogItemOperation" not yet implemented')},deleteChangeLogItemOperation(e,t){throw new Error('Reducer "deleteChangeLogItemOperation" not yet implemented')},reorderChangeLogItemsOperation(e,t){throw new Error('Reducer "reorderChangeLogItemsOperation" not yet implemented')},releaseNewVersionOperation(e,t){throw new Error('Reducer "releaseNewVersionOperation" not yet implemented')}},Gs=(e,t)=>{if(bn(t))return e;switch(t.type){case"SET_MODEL_NAME":rr().parse(t.input),je.setModelNameOperation(e.global,t);break;case"SET_MODEL_ID":nr().parse(t.input),je.setModelIdOperation(e.global,t);break;case"SET_MODEL_EXTENSION":tr().parse(t.input),je.setModelExtensionOperation(e.global,t);break;case"SET_MODEL_DESCRIPTION":er().parse(t.input),je.setModelDescriptionOperation(e.global,t);break;case"SET_AUTHOR_NAME":qn().parse(t.input),je.setAuthorNameOperation(e.global,t);break;case"SET_AUTHOR_WEBSITE":Yn().parse(t.input),je.setAuthorWebsiteOperation(e.global,t);break;case"ADD_CHANGE_LOG_ITEM":Nn().parse(t.input),Ke.addChangeLogItemOperation(e.global,t);break;case"UPDATE_CHANGE_LOG_ITEM":_r().parse(t.input),Ke.updateChangeLogItemOperation(e.global,t);break;case"DELETE_CHANGE_LOG_ITEM":Bn().parse(t.input),Ke.deleteChangeLogItemOperation(e.global,t);break;case"REORDER_CHANGE_LOG_ITEMS":Gn().parse(t.input),Ke.reorderChangeLogItemsOperation(e.global,t);break;case"RELEASE_NEW_VERSION":if(Object.keys(t.input).length>0)throw new Error("Expected empty input for action RELEASE_NEW_VERSION");Ke.releaseNewVersionOperation(e.global,t);break;case"ADD_MODULE":zn().parse(t.input),Xe.addModuleOperation(e.global,t);break;case"SET_MODULE_NAME":or().parse(t.input),Xe.setModuleNameOperation(e.global,t);break;case"SET_MODULE_DESCRIPTION":ir().parse(t.input),Xe.setModuleDescriptionOperation(e.global,t);break;case"DELETE_MODULE":Fn().parse(t.input),Xe.deleteModuleOperation(e.global,t);break;case"REORDER_MODULES":Xn().parse(t.input),Xe.reorderModulesOperation(e.global,t);break;case"ADD_OPERATION_ERROR":Pn().parse(t.input),ze.addOperationErrorOperation(e.global,t);break;case"SET_OPERATION_ERROR_CODE":ar().parse(t.input),ze.setOperationErrorCodeOperation(e.global,t);break;case"SET_OPERATION_ERROR_NAME":ur().parse(t.input),ze.setOperationErrorNameOperation(e.global,t);break;case"SET_OPERATION_ERROR_DESCRIPTION":lr().parse(t.input),ze.setOperationErrorDescriptionOperation(e.global,t);break;case"SET_OPERATION_ERROR_TEMPLATE":cr().parse(t.input),ze.setOperationErrorTemplateOperation(e.global,t);break;case"DELETE_OPERATION_ERROR":$n().parse(t.input),ze.deleteOperationErrorOperation(e.global,t);break;case"REORDER_OPERATION_ERRORS":Kn().parse(t.input),ze.reorderOperationErrorsOperation(e.global,t);break;case"ADD_OPERATION_EXAMPLE":Oo().parse(t.input),ut.addOperationExampleOperation(e.global,t);break;case"UPDATE_OPERATION_EXAMPLE":Mo().parse(t.input),ut.updateOperationExampleOperation(e.global,t);break;case"DELETE_OPERATION_EXAMPLE":vo().parse(t.input),ut.deleteOperationExampleOperation(e.global,t);break;case"REORDER_OPERATION_EXAMPLES":Do().parse(t.input),ut.reorderOperationExamplesOperation(e.global,t);break;case"ADD_OPERATION":Ln().parse(t.input),ve.addOperationOperation(e.global,t);break;case"SET_OPERATION_NAME":pr().parse(t.input),ve.setOperationNameOperation(e.global,t);break;case"SET_OPERATION_SCOPE":dr().parse(t.input),ve.setOperationScopeOperation(e.global,t);break;case"SET_OPERATION_SCHEMA":hr().parse(t.input),ve.setOperationSchemaOperation(e.global,t);break;case"SET_OPERATION_DESCRIPTION":sr().parse(t.input),ve.setOperationDescriptionOperation(e.global,t);break;case"SET_OPERATION_TEMPLATE":mr().parse(t.input),ve.setOperationTemplateOperation(e.global,t);break;case"SET_OPERATION_REDUCER":fr().parse(t.input),ve.setOperationReducerOperation(e.global,t);break;case"MOVE_OPERATION":Zn().parse(t.input),ve.moveOperationOperation(e.global,t);break;case"DELETE_OPERATION":Wn().parse(t.input),ve.deleteOperationOperation(e.global,t);break;case"REORDER_MODULE_OPERATIONS":Vn().parse(t.input),ve.reorderModuleOperationsOperation(e.global,t);break;case"SET_STATE_SCHEMA":gr().parse(t.input),Be.setStateSchemaOperation(e.global,t);break;case"SET_INITIAL_STATE":Qn().parse(t.input),Be.setInitialStateOperation(e.global,t);break;case"ADD_STATE_EXAMPLE":Un().parse(t.input),Be.addStateExampleOperation(e.global,t);break;case"UPDATE_STATE_EXAMPLE":br().parse(t.input),Be.updateStateExampleOperation(e.global,t);break;case"DELETE_STATE_EXAMPLE":Hn().parse(t.input),Be.deleteStateExampleOperation(e.global,t);break;case"REORDER_STATE_EXAMPLES":Jn().parse(t.input),Be.reorderStateExamplesOperation(e.global,t);break;default:return e}},wr=Dn(Gs),Vs=(e,t)=>$i(e,t),Xs=e=>Wi(e,wr),Or=e=>({...$t(),global:{...vs,...e?.global??{}},local:{...xs,...e?.local??{}}});function Ks(){return{...$t(),author:{name:"",website:""},description:"",extension:"",id:"",name:"",specifications:[]}}function Js(){return{}}function qs(e){return{...Ks(),...e||{}}}function Ys(e){return{...Js()}}function Qs(e,t,n){return{...wo(e?.auth,e?.document),global:qs(t),local:Ys()}}function ea(e){const t=yn(Or,e);return t.header.documentType=yr,t}const ta=e=>Ts(e),na=e=>{Ds(e)},ra=e=>Cs(e),ia=e=>{Ms(e)},oa={fileExtension:Os,createState:Or,createDocument:ea,loadFromInput:Xs,saveToFileHandle:Vs,isStateOfType:ta,assertIsStateOfType:na,isDocumentOfType:ra,assertIsDocumentOfType:ia},wa={reducer:wr,documentModel:Qs($t(),Is),actions:ws,utils:oa};export{Fi as $,lt as A,Rs as B,ba as C,ga as D,_a as E,zo as F,us as G,Po as H,Uo as I,Lo as J,jo as K,Bo as L,cs as M,Fo as N,$o as O,Ho as P,Vo as Q,Ko as R,Jo as S,es as T,ns as U,as as V,is as W,Go as X,ma as Y,la as Z,yr as _,Dn as a,ws as a0,ya as a1,Ea as a2,Sa as a3,fi as a4,di as a5,wa as a6,As as b,oe as c,$i as d,Wi as e,yn as f,Dt as g,$t as h,bn as i,Qs as j,vi as k,Ct as l,fa as m,Re as n,pa as o,on as p,da as q,ha as r,Te as s,ki as t,dt as u,ua as v,En as w,Ci as x,zi as y,ca as z};
|