@blue-labs/language 1.20.0 → 1.21.0
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/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -15
- package/dist/index.mjs +2065 -3581
- package/dist/lib/Blue.d.ts +29 -4
- package/dist/lib/Blue.d.ts.map +1 -1
- package/dist/lib/mapping/__tests__/schema/contract.d.ts +12 -12
- package/dist/lib/mapping/__tests__/schema/index.d.ts +12 -12
- package/dist/lib/preprocess/Preprocessor.d.ts +10 -19
- package/dist/lib/preprocess/Preprocessor.d.ts.map +1 -1
- package/dist/lib/preprocess/utils/BlueIdsMappingGenerator.d.ts +9 -9
- package/dist/lib/preprocess/utils/BlueIdsMappingGenerator.d.ts.map +1 -1
- package/dist/lib/utils/index.d.ts +3 -1
- package/dist/lib/utils/index.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +2 -3
- package/dist/lib/processor/BlueDocumentProcessor.d.ts +0 -54
- package/dist/lib/processor/BlueDocumentProcessor.d.ts.map +0 -1
- package/dist/lib/processor/context.d.ts +0 -21
- package/dist/lib/processor/context.d.ts.map +0 -1
- package/dist/lib/processor/processors/BaseChannelProcessor.d.ts +0 -27
- package/dist/lib/processor/processors/BaseChannelProcessor.d.ts.map +0 -1
- package/dist/lib/processor/processors/ChannelEventCheckpointProcessor.d.ts +0 -13
- package/dist/lib/processor/processors/ChannelEventCheckpointProcessor.d.ts.map +0 -1
- package/dist/lib/processor/processors/CompositeTimelineChannelProcessor.d.ts +0 -9
- package/dist/lib/processor/processors/CompositeTimelineChannelProcessor.d.ts.map +0 -1
- package/dist/lib/processor/processors/DocumentUpdateChannelProcessor.d.ts +0 -9
- package/dist/lib/processor/processors/DocumentUpdateChannelProcessor.d.ts.map +0 -1
- package/dist/lib/processor/processors/EmbeddedNodeChannelProcessor.d.ts +0 -9
- package/dist/lib/processor/processors/EmbeddedNodeChannelProcessor.d.ts.map +0 -1
- package/dist/lib/processor/processors/MyOSAgentChannelProcessor.d.ts +0 -60
- package/dist/lib/processor/processors/MyOSAgentChannelProcessor.d.ts.map +0 -1
- package/dist/lib/processor/processors/MyOSTimelineChannelProcessor.d.ts +0 -9
- package/dist/lib/processor/processors/MyOSTimelineChannelProcessor.d.ts.map +0 -1
- package/dist/lib/processor/processors/OperationProcessor.d.ts +0 -11
- package/dist/lib/processor/processors/OperationProcessor.d.ts.map +0 -1
- package/dist/lib/processor/processors/ProcessEmbeddedProcessor.d.ts +0 -10
- package/dist/lib/processor/processors/ProcessEmbeddedProcessor.d.ts.map +0 -1
- package/dist/lib/processor/processors/SequentialWorkflowOperationProcessor.d.ts +0 -12
- package/dist/lib/processor/processors/SequentialWorkflowOperationProcessor.d.ts.map +0 -1
- package/dist/lib/processor/processors/SequentialWorkflowProcessor/SequentialWorkflowProcessor.d.ts +0 -15
- package/dist/lib/processor/processors/SequentialWorkflowProcessor/SequentialWorkflowProcessor.d.ts.map +0 -1
- package/dist/lib/processor/processors/SequentialWorkflowProcessor/index.d.ts +0 -2
- package/dist/lib/processor/processors/SequentialWorkflowProcessor/index.d.ts.map +0 -1
- package/dist/lib/processor/processors/SequentialWorkflowProcessor/steps/JavaScriptCodeExecutor.d.ts +0 -8
- package/dist/lib/processor/processors/SequentialWorkflowProcessor/steps/JavaScriptCodeExecutor.d.ts.map +0 -1
- package/dist/lib/processor/processors/SequentialWorkflowProcessor/steps/TriggerEventExecutor.d.ts +0 -8
- package/dist/lib/processor/processors/SequentialWorkflowProcessor/steps/TriggerEventExecutor.d.ts.map +0 -1
- package/dist/lib/processor/processors/SequentialWorkflowProcessor/steps/UpdateDocumentExecutor.d.ts +0 -12
- package/dist/lib/processor/processors/SequentialWorkflowProcessor/steps/UpdateDocumentExecutor.d.ts.map +0 -1
- package/dist/lib/processor/processors/SequentialWorkflowProcessor/types.d.ts +0 -7
- package/dist/lib/processor/processors/SequentialWorkflowProcessor/types.d.ts.map +0 -1
- package/dist/lib/processor/processors/SequentialWorkflowProcessor/utils/BindingsFactory.d.ts +0 -12
- package/dist/lib/processor/processors/SequentialWorkflowProcessor/utils/BindingsFactory.d.ts.map +0 -1
- package/dist/lib/processor/processors/SequentialWorkflowProcessor/utils/ExpressionEvaluator.d.ts +0 -59
- package/dist/lib/processor/processors/SequentialWorkflowProcessor/utils/ExpressionEvaluator.d.ts.map +0 -1
- package/dist/lib/processor/processors/TimelineChannelProcessor.d.ts +0 -9
- package/dist/lib/processor/processors/TimelineChannelProcessor.d.ts.map +0 -1
- package/dist/lib/processor/processors/index.d.ts +0 -12
- package/dist/lib/processor/processors/index.d.ts.map +0 -1
- package/dist/lib/processor/queue/TaskKey.d.ts +0 -22
- package/dist/lib/processor/queue/TaskKey.d.ts.map +0 -1
- package/dist/lib/processor/queue/TaskQueue.d.ts +0 -31
- package/dist/lib/processor/queue/TaskQueue.d.ts.map +0 -1
- package/dist/lib/processor/registry/ContractRegistry.d.ts +0 -47
- package/dist/lib/processor/registry/ContractRegistry.d.ts.map +0 -1
- package/dist/lib/processor/routing/EventRouter.d.ts +0 -51
- package/dist/lib/processor/routing/EventRouter.d.ts.map +0 -1
- package/dist/lib/processor/types.d.ts +0 -112
- package/dist/lib/processor/types.d.ts.map +0 -1
- package/dist/lib/processor/utils/CheckpointCache.d.ts +0 -9
- package/dist/lib/processor/utils/CheckpointCache.d.ts.map +0 -1
- package/dist/lib/processor/utils/EventTraceManager.d.ts +0 -46
- package/dist/lib/processor/utils/EventTraceManager.d.ts.map +0 -1
- package/dist/lib/processor/utils/checkpoint.d.ts +0 -3
- package/dist/lib/processor/utils/checkpoint.d.ts.map +0 -1
- package/dist/lib/processor/utils/document.d.ts +0 -19
- package/dist/lib/processor/utils/document.d.ts.map +0 -1
- package/dist/lib/processor/utils/exceptions.d.ts +0 -28
- package/dist/lib/processor/utils/exceptions.d.ts.map +0 -1
- package/dist/lib/processor/utils/fetchText.d.ts +0 -2
- package/dist/lib/processor/utils/fetchText.d.ts.map +0 -1
- package/dist/lib/processor/utils/logPatchError.d.ts +0 -3
- package/dist/lib/processor/utils/logPatchError.d.ts.map +0 -1
- package/dist/lib/processor/utils/path.d.ts +0 -2
- package/dist/lib/processor/utils/path.d.ts.map +0 -1
- package/dist/lib/processor/utils/typeGuard.d.ts +0 -5
- package/dist/lib/processor/utils/typeGuard.d.ts.map +0 -1
- package/dist/lib/utils/TinyQueue.d.ts +0 -12
- package/dist/lib/utils/TinyQueue.d.ts.map +0 -1
- package/dist/repo/core/blue-ids/index.d.ts +0 -21
- package/dist/repo/core/blue-ids/index.d.ts.map +0 -1
- package/dist/repo/core/index.d.ts +0 -191
- package/dist/repo/core/index.d.ts.map +0 -1
- package/dist/repo/core/schema/Channel.d.ts +0 -13
- package/dist/repo/core/schema/Channel.d.ts.map +0 -1
- package/dist/repo/core/schema/CompositeTimelineChannel.d.ts +0 -17
- package/dist/repo/core/schema/CompositeTimelineChannel.d.ts.map +0 -1
- package/dist/repo/core/schema/DocumentUpdateChannel.d.ts +0 -17
- package/dist/repo/core/schema/DocumentUpdateChannel.d.ts.map +0 -1
- package/dist/repo/core/schema/EmbeddedNodeChannel.d.ts +0 -17
- package/dist/repo/core/schema/EmbeddedNodeChannel.d.ts.map +0 -1
- package/dist/repo/core/schema/JavaScriptCode.d.ts +0 -10
- package/dist/repo/core/schema/JavaScriptCode.d.ts.map +0 -1
- package/dist/repo/core/schema/JsonPatchEntry.d.ts +0 -22
- package/dist/repo/core/schema/JsonPatchEntry.d.ts.map +0 -1
- package/dist/repo/core/schema/Operation.d.ts +0 -16
- package/dist/repo/core/schema/Operation.d.ts.map +0 -1
- package/dist/repo/core/schema/OperationRequest.d.ts +0 -29
- package/dist/repo/core/schema/OperationRequest.d.ts.map +0 -1
- package/dist/repo/core/schema/ProcessEmbedded.d.ts +0 -10
- package/dist/repo/core/schema/ProcessEmbedded.d.ts.map +0 -1
- package/dist/repo/core/schema/SequentialWorkflow.d.ts +0 -13
- package/dist/repo/core/schema/SequentialWorkflow.d.ts.map +0 -1
- package/dist/repo/core/schema/SequentialWorkflowOperation.d.ts +0 -15
- package/dist/repo/core/schema/SequentialWorkflowOperation.d.ts.map +0 -1
- package/dist/repo/core/schema/SequentialWorkflowStep.d.ts +0 -13
- package/dist/repo/core/schema/SequentialWorkflowStep.d.ts.map +0 -1
- package/dist/repo/core/schema/TimelineChannel.d.ts +0 -17
- package/dist/repo/core/schema/TimelineChannel.d.ts.map +0 -1
- package/dist/repo/core/schema/TimelineEntry.d.ts +0 -25
- package/dist/repo/core/schema/TimelineEntry.d.ts.map +0 -1
- package/dist/repo/core/schema/TriggerEvent.d.ts +0 -10
- package/dist/repo/core/schema/TriggerEvent.d.ts.map +0 -1
- package/dist/repo/core/schema/UpdateDocument.d.ts +0 -40
- package/dist/repo/core/schema/UpdateDocument.d.ts.map +0 -1
- package/dist/repo/core/schema/index.d.ts +0 -14
- package/dist/repo/core/schema/index.d.ts.map +0 -1
- package/dist/repo/myos/blue-ids/index.d.ts +0 -8
- package/dist/repo/myos/blue-ids/index.d.ts.map +0 -1
- package/dist/repo/myos/index.d.ts +0 -99
- package/dist/repo/myos/index.d.ts.map +0 -1
- package/dist/repo/myos/schema/MyOSAgent.d.ts +0 -10
- package/dist/repo/myos/schema/MyOSAgent.d.ts.map +0 -1
- package/dist/repo/myos/schema/MyOSAgentChannel.d.ts +0 -30
- package/dist/repo/myos/schema/MyOSAgentChannel.d.ts.map +0 -1
- package/dist/repo/myos/schema/MyOSAgentEvent.d.ts +0 -19
- package/dist/repo/myos/schema/MyOSAgentEvent.d.ts.map +0 -1
- package/dist/repo/myos/schema/MyOSTimelineChannel.d.ts +0 -24
- package/dist/repo/myos/schema/MyOSTimelineChannel.d.ts.map +0 -1
- package/dist/repo/myos/schema/MyOSTimelineEntry.d.ts +0 -32
- package/dist/repo/myos/schema/MyOSTimelineEntry.d.ts.map +0 -1
- package/dist/repo/myos/schema/index.d.ts +0 -6
- package/dist/repo/myos/schema/index.d.ts.map +0 -1
- package/dist/utils/deepFreeze.d.ts +0 -8
- package/dist/utils/deepFreeze.d.ts.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { BlueNode, type UrlFetchStrategy, BlueIdCalculator, JsonCanonicalizer, BlueIdToCid, Base58Sha256Provider, TypeSchemaResolver, Blue, applyBlueNodePatch, type BlueNodePatch, BlueNodeTypeSchema, type BlueRepository, } from './lib';
|
|
2
2
|
export * from './schema';
|
|
3
3
|
export * from './schema/annotations';
|
|
4
4
|
export * from './utils';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,KAAK,gBAAgB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,IAAI,EACJ,kBAAkB,EAClB,KAAK,aAAa,EAClB,kBAAkB,EAClB,KAAK,cAAc,GACpB,MAAM,OAAO,CAAC;AACf,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var pn=Object.defineProperty;var fn=(n,e,t)=>e in n?pn(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var u=(n,e,t)=>fn(n,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("@blue-labs/shared-utils"),l=require("zod"),yn=require("bs58"),U=require("big.js"),C=require("radash"),mn=require("js-sha256"),gn=require("crypto"),bn=require("base32.js"),Y=require("js-yaml"),Bt=n=>n&&n.__esModule?n:{default:n},ce=Bt(yn),ct=Bt(gn);class wn{static get(e,t,r,s=!0){if(p.isNullable(t)||!t.startsWith("/"))throw new Error(`Invalid path: ${t}`);if(t==="/"){const i=e.getValue();return s&&i!==void 0?i:e}const o=t.substring(1).split("/");return this.getRecursive(e,o,0,r,s)}static getRecursive(e,t,r,s,o){if(r===t.length-1&&!o)return this.getNodeForSegment(e,t[r],s,!1);if(r===t.length){const c=e.getValue();return o&&c!==void 0?c:e}const i=t[r],a=this.getNodeForSegment(e,i,s,!0);if(a)return this.getRecursive(a,t,r+1,s,o)}static getNodeForSegment(e,t,r,s){let o;const i=e.getProperties();if(i&&t in i)o=i[t];else switch(t){case"name":{const a=e.getName();o=p.isNonNullable(a)?new d().setValue(a):new d;break}case"description":{const a=e.getDescription();o=p.isNonNullable(a)?new d().setValue(a):new d;break}case"type":o=e.getType()??new d;break;case"itemType":o=e.getItemType()??new d;break;case"keyType":o=e.getKeyType()??new d;break;case"valueType":o=e.getValueType()??new d;break;case"value":{const a=e.getValue();o=new d().setValue(a??null);break}case"blueId":{const a=e.getBlueId();o=p.isNonNullable(a)?new d().setValue(a):new d;break}case"blue":o=e.getBlue();break;case"items":{const a=e.getItems();o=new d().setItems(a);break}case"properties":{const a=e.getProperties();o=new d().setProperties(a);break}case"contracts":{const a=e.getContracts();o=new d().setContracts(a);break}default:{if(/^\d+$/.test(t)){const a=parseInt(t,10),c=e.getItems();c&&a>=0&&a<c.length?o=c[a]:o=void 0}else o=void 0;break}}if(o)return s&&r?this.link(o,r):o}static link(e,t){const r=t(e);return p.isNonNullable(r)?r:e}}class A extends U{constructor(e){super(e)}}class D extends U{constructor(e){super(e)}}const Q="name",G="description",Ee="type",He="itemType",Qe="keyType",Ge="valueType",Ce="value",Xe="items",K="blueId",et="blue",Ae="contracts",Tn=[Q,G,Ee,He,Qe,Ge,Ce,Xe,K,et,Ae],En="Text",In="Double",vn="Integer",Bn="Boolean",Nn="List",Pn="Dictionary",Sn=[En,In,vn,Bn],Nt=[...Sn,Nn,Pn],fe="F92yo19rCcbBoBSpUA5LRxpfDejJDAaP1PRxxbWAraVP",ye="68ryJtnmui4j5rCZWUnkZ3DChtmEb7Z9F8atn1mBSM3L",me="DHmxTkFbXePZHCHCYmQr2dSzcNLcryFVjXVHkdQrrZr8",ge="EL6AjrbJsxTWRTPzY8WR8Y2zAMXRbydQj83PcZwuAHbo",Cn="G8wmfjEqugPEEXByMYWJXiEdbLToPRWNQEekNxrxfQWB",An="294NBTj2mFRL3RB4kDRUSckwGg7Kzj6T8CTAFeR1kcSA",On=[fe,ye,me,ge],tt=[...On,Cn,An];Object.fromEntries(Nt.map((n,e)=>[n,tt[e]]));Object.fromEntries(tt.map((n,e)=>[n,Nt[e]]));const j=class j{constructor(e){u(this,"name");u(this,"description");u(this,"type");u(this,"itemType");u(this,"keyType");u(this,"valueType");u(this,"value");u(this,"items");u(this,"properties");u(this,"contracts");u(this,"blueId");u(this,"blue");u(this,"inlineValue",!1);this.name=e}getName(){return this.name}setName(e){return this.name=e,this}getDescription(){return this.description}setDescription(e){return this.description=e,this}getType(){return this.type}setType(e){return typeof e=="string"?this.type=new j().setValue(e).setInlineValue(!0):this.type=e,this}getItemType(){return this.itemType}setItemType(e){return typeof e=="string"?this.itemType=new j().setValue(e).setInlineValue(!0):this.itemType=e,this}getKeyType(){return this.keyType}setKeyType(e){return typeof e=="string"?this.keyType=new j().setValue(e).setInlineValue(!0):this.keyType=e,this}getValueType(){return this.valueType}setValueType(e){return typeof e=="string"?this.valueType=new j().setValue(e).setInlineValue(!0):this.valueType=e,this}getValue(){var t;const e=(t=this.type)==null?void 0:t.getBlueId();if(p.isNonNullable(e)&&p.isNonNullable(this.value)){if(e===me&&typeof this.value=="string")return new A(this.value);if(e===ye&&typeof this.value=="string"){const r=new D(this.value),s=parseFloat(r.toString());return new D(s.toString())}else if(e===ge&&typeof this.value=="string")return this.value.toLowerCase()==="true"}return this.value}setValue(e){return typeof e=="number"?e%1===0?this.value=new A(e.toString()):this.value=new D(e.toString()):this.value=e,this}getItems(){return this.items}setItems(e){return this.items=e,this}addItems(...e){return this.items||(this.items=[]),this.items.push(...e),this}getProperties(){return this.properties}setProperties(e){return this.properties=e,this}addProperty(e,t){return this.properties||(this.properties={}),this.properties[e]=t,this}getContracts(){return this.contracts}setContracts(e){return this.contracts=e,this}addContract(e,t){return this.contracts||(this.contracts={}),this.contracts[e]=t,this}getBlueId(){return this.blueId}setBlueId(e){return this.blueId=e,this}getBlue(){return this.blue}setBlue(e){return this.blue=e,this}isInlineValue(){return this.inlineValue}setInlineValue(e){return this.inlineValue=e,this}get(e,t){return wn.get(this,e,t)}clone(){var t,r,s,o,i,a;const e=new j(this.name);return e.description=this.description,e.type=(t=this.type)==null?void 0:t.clone(),e.itemType=(r=this.itemType)==null?void 0:r.clone(),e.keyType=(s=this.keyType)==null?void 0:s.clone(),e.valueType=(o=this.valueType)==null?void 0:o.clone(),e.value=this.value,e.items=(i=this.items)==null?void 0:i.map(c=>c.clone()),this.properties&&(e.properties=Object.fromEntries(Object.entries(this.properties).map(([c,h])=>[c,h.clone()]))),this.contracts&&(e.contracts=Object.fromEntries(Object.entries(this.contracts).map(([c,h])=>[c,h.clone()]))),e.blueId=this.blueId,e.blue=(a=this.blue)==null?void 0:a.clone(),e.inlineValue=this.inlineValue,e}toString(){return`BlueNode{name='${this.name}', description='${this.description}', type=${this.type}, itemType=${this.itemType}, keyType=${this.keyType}, valueType=${this.valueType}, value=${this.value}, items=${this.items}, properties=${this.properties}, contracts=${this.contracts}, blueId='${this.blueId}', blue=${this.blue}, inlineValue=${this.inlineValue}}`}};u(j,"INTEGER",new j("Integer"));let d=j;class J{static isPotentialBlueId(e){if(!e||e.length===0||!this.BLUE_ID_PATTERN.test(e))return!1;const t=e.split("#"),r=t[0],s=r.length;if(s<this.MIN_BLUE_ID_LENGTH||s>this.MAX_BLUE_ID_LENGTH)return!1;try{if(ce.default.decode(r).length!==32)return!1}catch{return!1}if(t.length>1)try{if(Number(t[1])<0)return!1}catch{return!1}return!0}}u(J,"MIN_BLUE_ID_LENGTH",41),u(J,"MAX_BLUE_ID_LENGTH",45),u(J,"BLUE_ID_PATTERN",/^[1-9A-HJ-NP-Za-km-z]{41,45}(?:#\d+)?$/);const kn=l.z.string().max(J.MAX_BLUE_ID_LENGTH,{message:"Blue Id has a maximum length of 45 characters"}).min(J.MIN_BLUE_ID_LENGTH,{message:"Blue Id has a minimum length of 41 characters"}).refine(n=>{try{return ce.default.decode(n),!0}catch{return!1}},{message:"Blue Id must be a valid Base58 string"}),X=l.z.lazy(()=>l.z.record(l.z.unknown()).and(l.z.object({blueId:l.z.string().optional(),name:l.z.string().optional(),description:l.z.string().optional(),type:X.optional(),value:l.z.union([l.z.string(),l.z.number(),l.z.boolean()]).optional().nullable(),items:l.z.array(X).optional()}))),be=l.z.object({blueId:l.z.string().optional(),name:l.z.string().optional(),description:l.z.string().optional(),type:X.optional()}),Dn=be.extend({value:l.z.string().optional()}),xn=be.extend({value:l.z.number().optional()}),Vn=be.extend({value:l.z.boolean().optional()}),jn=be.extend({items:l.z.array(l.z.string()).optional()}),Fn=n=>X.safeParse(n).success,Pt=n=>p.isNonNullable(n)&&"blueId"in n&&p.isNonNullable(n.blueId),zn=n=>p.isNonNullable(n)&&"name"in n&&p.isNonNullable(n.name),St=n=>p.isNonNullable(n)&&"items"in n&&p.isNonNullable(n.items),Ct=n=>p.isNonNullable(n)&&"type"in n&&p.isNonNullable(n.type),At=n=>p.isNonNullable(n)&&"value"in n&&p.isNonNullable(n.value),Mn=(n,e)=>n.required({type:!0}).safeParse(e).success,O=n=>n instanceof U,ue=n=>O(n)&&n instanceof A,Rn=n=>O(n)&&n instanceof D,$n=l.z.lazy(()=>l.z.record(he)),Zn=l.z.lazy(()=>l.z.union([l.z.array(he),l.z.array(he).readonly()])),he=l.z.lazy(()=>l.z.union([p.jsonPrimitiveSchema,$n,Zn,l.z.instanceof(U)])),nt=n=>C.isObject(n)&&!C.isArray(n)&&!p.isReadonlyArray(n)&&!O(n),rt=n=>C.isArray(n)||p.isReadonlyArray(n),Un=n=>rt(n)||nt(n)||O(n)||p.isJsonPrimitive(n);class w{static deserialize(e){return w.handleNode(e)}static handleNode(e){if(e===void 0)throw new Error("This is not a valid JSON-like value. Found 'undefined' as a value.");if(nt(e)){const t=new d,r={},s={};return Object.entries(e).forEach(([o,i])=>{switch(o){case Q:if(i==null)t.setName(void 0);else{if(typeof i!="string")throw new Error(`The ${Q} field must be a string.`);t.setName(i)}break;case G:if(i==null)t.setDescription(void 0);else{if(typeof i!="string")throw new Error(`The ${G} field must be a string.`);t.setDescription(i)}break;case Ee:t.setType(w.handleNode(i));break;case He:t.setItemType(w.handleNode(i));break;case Qe:t.setKeyType(w.handleNode(i));break;case Ge:t.setValueType(w.handleNode(i));break;case Ce:t.setValue(w.handleValue(i));break;case K:if(typeof i!="string")throw new Error(`The ${K} field must be a string.`);t.setBlueId(i);break;case Xe:t.setItems(w.handleArray(i));break;case et:t.setBlue(w.handleNode(i));break;case Ae:C.isObject(i)&&!C.isArray(i)&&!p.isReadonlyArray(i)&&Object.entries(i).forEach(([a,c])=>{s[a]=w.handleNode(c)});break;default:r[o]=w.handleNode(i);break}}),Object.keys(r).length>0&&t.setProperties(r),Object.keys(s).length>0&&t.setContracts(s),t}else{if(rt(e))return new d().setItems(w.handleArray(e));{const t=e;return new d().setValue(w.handleValue(t)).setInlineValue(!0)}}}static handleValue(e){if(e==null)return null;if(typeof e=="string")return e;if(typeof e=="number"||O(e))if(ue(e)||Number.isSafeInteger(e)){const t=new A(e.toString()),r=Number.MIN_SAFE_INTEGER,s=Number.MAX_SAFE_INTEGER;return t.lt(r)?new A(r.toString()):t.gt(s)?new A(s.toString()):t}else{const t=parseFloat(e.toString());return new D(t.toString())}else if(typeof e=="boolean")return e;throw new Error(`Can't handle node: ${JSON.stringify(e)}`)}static handleArray(e){if(e!=null){if(C.isObject(e)&&!Array.isArray(e))return[w.handleNode(e)];if(Array.isArray(e))return e.map(w.handleNode);throw new Error("Expected an array node")}}}function qn(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var De,ut;function Ln(){return ut||(ut=1,De=function n(e){if(typeof e=="number"&&isNaN(e))throw new Error("NaN is not allowed");if(typeof e=="number"&&!isFinite(e))throw new Error("Infinity is not allowed");return e===null||typeof e!="object"?JSON.stringify(e):e.toJSON instanceof Function?n(e.toJSON()):Array.isArray(e)?`[${e.reduce((s,o,i)=>`${s}${i===0?"":","}${n(o===void 0||typeof o=="symbol"?null:o)}`,"")}]`:`{${Object.keys(e).sort().reduce((r,s)=>{if(e[s]===void 0||typeof e[s]=="symbol")return r;const o=r.length===0?"":",";return`${r}${o}${n(s)}:${n(e[s])}`},"")}}`}),De}var _n=Ln();const Wn=qn(_n);class Ot{static canonicalize(e){return Wn(e)}}const Jn=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,Ne=class Ne{constructor(){u(this,"browserCrypto");this.browserCrypto=this.initBrowserCrypto()}static getInstance(){return this.instance||(this.instance=new Ne),this.instance}initBrowserCrypto(){return Jn?null:"crypto"in globalThis?globalThis.crypto:null}hasNodeCrypto(){return!!ct.default.createHash}getBrowserCrypto(){return this.browserCrypto}getNodeCrypto(){return ct.default}};u(Ne,"instance");let Me=Ne;class kt{constructor(){u(this,"cryptoEnv",Me.getInstance())}applySync(e){const t=this.canonicalizeInput(e),r=this.cryptoEnv.hasNodeCrypto()?this.sha256Sync(t):this.sha256SyncBrowser(t);return ce.default.encode(new Uint8Array(r))}async apply(e){const t=this.canonicalizeInput(e),r=this.cryptoEnv.hasNodeCrypto()?this.sha256Sync(t):await this.sha256Async(t);return ce.default.encode(new Uint8Array(r))}canonicalizeInput(e){const t=Ot.canonicalize(e);if(typeof t!="string")throw new Error("Canonized value must be a string");return t}sha256Sync(e){const t=this.cryptoEnv.getNodeCrypto();if(!t)throw new Error("Synchronous SHA-256 is not available in this environment");return t.createHash("sha256").update(e).digest()}sha256SyncBrowser(e){return mn.sha256.arrayBuffer(e)}async sha256Async(e){if(this.cryptoEnv.hasNodeCrypto())return this.sha256Sync(e);const t=this.cryptoEnv.getBrowserCrypto();if(!t)throw new Error("crypto is not available in this environment");const s=new TextEncoder().encode(e);return t.subtle.digest("SHA-256",s)}}class B{static get(e,t="official"){var H;const r=e.getValue(),s=this.handleValue(r);if(s!==void 0&&t==="simple")return s;const o=(H=e.getItems())==null?void 0:H.map(N=>B.get(N,t));if(o!==void 0&&t==="simple")return o;const i=e.getName(),a=e.getDescription();if(t==="original"&&i===void 0&&a===void 0){if(s!==void 0)return s;if(o!==void 0)return o}const c={};i!==void 0&&(c[Q]=i),a!==void 0&&(c[G]=a);const h=e.getType();if(t==="official"&&r!==void 0&&h===void 0){const N=this.inferTypeBlueId(r);N!==null&&(c[Ee]={[K]:N})}else h!==void 0&&(c[Ee]=B.get(h,t));const f=e.getItemType();f!==void 0&&(c[He]=B.get(f,t));const g=e.getKeyType();g!==void 0&&(c[Qe]=B.get(g,t));const b=e.getValueType();b!==void 0&&(c[Ge]=B.get(b,t)),s!==void 0&&(c[Ce]=s),o!==void 0&&(c[Xe]=o);const y=e.getBlueId();y!==void 0&&(c[K]=y);const m=e.getBlue();m!==void 0&&(c[et]=m);const E=e.getContracts();if(E!==void 0){const N={};Object.entries(E).forEach(([ie,Te])=>{N[ie]=B.get(Te,t)}),c[Ae]=N}const I=e.getProperties();return I!==void 0&&Object.entries(I).forEach(([N,ie])=>{c[N]=B.get(ie,t)}),c}static handleValue(e){if(O(e)){if(ue(e)){const t=new U(Number.MIN_SAFE_INTEGER.toString()),r=new U(Number.MAX_SAFE_INTEGER.toString());if(e.lt(t)||e.gt(r))return e.toString()}return e.toNumber()}return e}static inferTypeBlueId(e){return typeof e=="string"?fe:O(e)?ue(e)?me:ye:typeof e=="boolean"?ge:null}}const Kn=n=>p.isJsonPrimitive(n)&&p.isNonNullable(n),$=class ${constructor(e){u(this,"hashProvider");this.hashProvider=e}static calculateBlueId(e){if(Array.isArray(e)){const r=e.map(s=>B.get(s));return $.INSTANCE.calculate(r)}const t=B.get(e);return $.INSTANCE.calculate(t)}static calculateBlueIdSync(e){if(Array.isArray(e)){const r=e.map(s=>B.get(s));return $.INSTANCE.calculateSync(r)}const t=B.get(e);return $.INSTANCE.calculateSync(t)}calculate(e){const t=this.cleanStructure(e);if(t===void 0)throw new Error("Object after cleaning cannot be null or undefined.");return this.internalCalculate(t,!1)}calculateSync(e){const t=this.cleanStructure(e);if(t===void 0)throw new Error("Object after cleaning cannot be null or undefined.");return this.internalCalculate(t,!0)}internalCalculate(e,t){return Kn(e)||O(e)?this.applyHash(e.toString(),t):Array.isArray(e)||p.isReadonlyArray(e)?this.calculateList(e,t):this.calculateMap(e,t)}calculateMap(e,t){if(e[K]!==void 0)return e[K];const s=Object.keys(e).map(i=>{const a=e[i];if([Q,Ce,G].includes(i))return t?[i,a]:Promise.resolve([i,a]);{const c=this.internalCalculate(a,t);return t?[i,{blueId:c}]:Promise.resolve(c).then(h=>[i,{blueId:h}])}}),o=i=>{const a={};for(const[c,h]of i)a[c]=h;return this.applyHash(a,t)};return t?o(s):Promise.all(s).then(o)}calculateList(e,t){if(e.length===0)throw new Error("Cannot calculate BlueId for an empty list.");let r=this.internalCalculate(e[0],t);const s=(o,i)=>t?this.applyHash([{blueId:o},{blueId:i}],!0):Promise.all([o,i]).then(([a,c])=>this.applyHash([{blueId:a},{blueId:c}],!1));for(let o=1;o<e.length;o++){const i=this.internalCalculate(e[o],t);r=s(r,i)}return r}applyHash(e,t){return t?this.hashProvider.applySync(e):this.hashProvider.apply(e)}cleanStructure(e){if(e!=null){if(p.isJsonPrimitive(e)||O(e))return e;if(Array.isArray(e)||p.isReadonlyArray(e)){const t=e.map(r=>this.cleanStructure(r)).filter(p.isNonNullable);return t.length>0?t:void 0}else if(typeof e=="object"){const t={};for(const r in e){const s=this.cleanStructure(e[r]);s!=null&&(t[r]=s)}return Object.keys(t).length>0?t:void 0}else return e}}};u($,"INSTANCE",new $(new kt));let x=$;class Yn{static convert(e){const t=ce.default.decode(e),r=new Uint8Array(2+t.length);r[0]=18,r[1]=32,r.set(t,2);const s=new Uint8Array(2+r.length);return s[0]=1,s[1]=85,s.set(r,2),"b"+new bn.Encoder({type:"rfc4648",lc:!0}).write(s).finalize().replace(/=/g,"")}}const Re=new WeakMap;function ne(n,e){const t=Re.get(n)||{};return Re.set(n,{...t,...e}),n}const k=n=>Re.get(n),Dt=n=>e=>{const t=k(e);return ne(e,{...t,blueDescription:n})},xt=n=>{const e=k(n);return p.isNonNullable(e)&&C.isString(e.blueDescription)?e.blueDescription:null},Hn=n=>Dt(n)(l.z.string().optional()),Qn=l.z.union([l.z.string(),l.z.boolean()]),Vt=n=>e=>{const t=k(e);return ne(e,{...t,blueId:n})},jt=n=>{const e=k(n),t=Qn.safeParse(e==null?void 0:e.blueId);return t.success?t.data:null},Gn=n=>Vt(n??!0)(l.z.string()),Ft=n=>e=>{const t=k(e);return ne(e,{...t,blueName:n})},zt=n=>{const e=k(n);return p.isNonNullable(e)&&C.isString(e.blueName)?e.blueName:null},Xn=n=>{const e=l.z.string().optional();return Ft(n)(e)},Mt=()=>n=>{const e=k(n);return ne(n,{...e,blueNode:!0})},Rt=n=>{const e=k(n);return p.isNonNullable(e)&&p.isNonNullable(e.blueNode)&&e.blueNode===!0?e.blueNode:null},$e=n=>!!Rt(n),M=()=>{const n=l.z.instanceof(d);return Mt()(n)},Ze="extendedFrom",$t=({schema:n,baseSchema:e})=>{const t=k(n)||{};return ne(n,{...t,[Ze]:e})},Zt=n=>{const e=k(n);return p.isNonNullable(e)&&e[Ze]?e[Ze]:null},st=(n,e)=>{const t=Zt(n);return p.isNullable(t)?!1:(t==null?void 0:t._def)===(e==null?void 0:e._def)?!0:st(t,e)},er=n=>new Proxy(n,{get(e,t,r){return t==="extend"?function(...s){const o=e.extend(...s);return $t({schema:o,baseSchema:e})}:Reflect.get(e,t,r)}}),tr=l.z.object({value:l.z.array(l.z.string()).optional(),defaultValue:l.z.string().optional()}),Ut=n=>{const e=k(n),t=tr.passthrough().safeParse(e==null?void 0:e.typeBlueId);return t.success?t.data:null},v=n=>e=>{const t=k(e),r=typeof n=="string"?{value:[n]}:n,s=er(e);return ne(s,{...t,typeBlueId:{...(t==null?void 0:t.typeBlueId)||{},...r}})};class Oe{static resolveBlueId(e){var o;const t=Ut(e);if(p.isNullable(t))return null;const r=t.defaultValue;if(p.isNonNullable(r))return r;const s=(o=t.value)==null?void 0:o[0];return p.isNonNullable(s)?s:Oe.getRepositoryBlueId(t,e)}static getRepositoryBlueId(e,t){throw new Error("Not implemented")}}class nr{constructor(e){u(this,"blueIdMap",new Map);for(const t of e)this.registerSchema(t)}registerSchema(e){const t=Oe.resolveBlueId(e);if(p.isNonNullable(t)){if(this.blueIdMap.has(t))throw new Error(`Duplicate BlueId value: ${t}`);this.blueIdMap.set(t,e)}}resolveSchema(e){const t=this.getEffectiveBlueId(e);return p.isNullable(t)?null:this.blueIdMap.get(t)}getEffectiveBlueId(e){const t=e.getType();return p.isNonNullable(t)&&p.isNonNullable(t.getBlueId())?t.getBlueId():p.isNonNullable(t)?x.calculateBlueIdSync(t):null}getBlueIdMap(){return new Map(this.blueIdMap)}}class V{static transform(e,t){const r=t(e.clone()),s=r.getType();s!==void 0&&r.setType(V.transform(s,t));const o=r.getItemType();o!==void 0&&r.setItemType(V.transform(o,t));const i=r.getKeyType();i!==void 0&&r.setKeyType(V.transform(i,t));const a=r.getValueType();a!==void 0&&r.setValueType(V.transform(a,t));const c=r.getItems();if(c!==void 0){const g=c.map(b=>V.transform(b,t));r.setItems(g)}const h=r.getProperties();if(h!==void 0){const g=Object.keys(h).reduce((b,y)=>(b[y]=V.transform(h[y],t),b),{});r.setProperties(g)}const f=r.getContracts();if(f!==void 0){const g=Object.keys(f).reduce((b,y)=>(b[y]=V.transform(f[y],t),b),{});r.setContracts(g)}return r}}class qt{static convertValue(e,t){var o;const r=(o=e.getType())==null?void 0:o.getBlueId(),s=e.getValue();return p.isNullable(s)?this.isPrimitive(t)?this.getDefaultPrimitiveValue(t):s:fe===r?this.convertFromString(String(s),t):ye===r||s instanceof D?this.convertFromBigDecimal(new D(s==null?void 0:s.toString()),t):me===r||s instanceof A?this.convertFromBigInteger(new A(s==null?void 0:s.toString()),t):ge===r||typeof s=="boolean"?this.convertFromBoolean(!!s,t):this.convertFromString(String(s),t)}static convertFromString(e,t){if(!t||t instanceof l.ZodString||t instanceof l.ZodEnum||t instanceof l.ZodNativeEnum)return e;if(t instanceof l.ZodNumber)return Number(e);if(t instanceof l.ZodBoolean)return e.toLowerCase()==="true";if(t instanceof l.ZodBigInt)return BigInt(e);throw new Error(`Cannot convert String to ${t.constructor.name}`)}static convertFromBigDecimal(e,t){if(t instanceof l.ZodNumber)return e.toNumber();if(t instanceof l.ZodString)return e.toString();throw new Error(`Cannot convert Number to ${t.constructor.name}`)}static convertFromBigInteger(e,t){if(t instanceof l.ZodNumber)return e.toNumber();if(t instanceof l.ZodBigInt)return BigInt(e.toString());if(t instanceof l.ZodString)return e.toString();throw new Error(`Cannot convert Number to ${t.constructor.name}`)}static convertFromBoolean(e,t){if(!t||t instanceof l.ZodBoolean)return e;if(t instanceof l.ZodString)return e.toString();if(t instanceof l.ZodNumber)return Number(e);if(t instanceof l.ZodBigInt)return BigInt(e);throw new Error(`Cannot convert Boolean to ${t.constructor.name}`)}static isPrimitive(e){return e?e instanceof l.ZodString||e instanceof l.ZodNumber||e instanceof l.ZodBoolean||e instanceof l.ZodBigInt:!1}static getDefaultPrimitiveValue(e){if(!e)return null;if(e instanceof l.ZodNumber)return 0;if(e instanceof l.ZodBoolean)return!1;if(e instanceof l.ZodString)return"";throw new Error(`Unsupported primitive type: ${e.constructor.name}`)}}class rr{convert(e,t){return qt.convertValue(e,t)}}class sr{constructor(e){this.nodeToObjectConverter=e}canHandleStructuredData(e){return e instanceof l.ZodAny||e instanceof l.ZodObject||e instanceof l.ZodRecord||e instanceof l.ZodMap||e instanceof l.ZodUnknown}convert(e,t){return this.convertFields(e,t)}convertFields(e,t){if(t instanceof l.ZodIntersection){const r=t._def.left,s=t._def.right,o=this.convert(e,r),i=this.convert(e,s);return{...o,...i}}if(t instanceof l.ZodUnion)throw new Error("Union not supported");if(t instanceof l.ZodObject)return Object.keys(t.shape).reduce((s,o)=>{const i=e.getProperties(),a=t.shape[o],c=jt(a);if(p.isNonNullable(c)){const m=C.isString(c)?c:o,E=i==null?void 0:i[m],I=E?x.calculateBlueIdSync(E):void 0;return s[o]=I,s}const h=zt(a);if(p.isNonNullable(h)){const m=i==null?void 0:i[h];return s[o]=m==null?void 0:m.getName(),s}const f=xt(a);if(p.isNonNullable(f)){const m=i==null?void 0:i[f];return s[o]=m==null?void 0:m.getDescription(),s}if(o==="name"){const m=e.getName();return s[o]=m,s}if(o==="description"){const m=e.getDescription();return s[o]=m,s}const g=e.getContracts();if(o==="contracts"&&p.isNonNullable(g)&&this.canHandleStructuredData(a)){const m=Object.fromEntries(Object.entries(g).map(([I,H])=>[I,B.get(H)])),E=w.deserialize(m);s[o]=this.nodeToObjectConverter.convert(E,a)}const b=i==null?void 0:i[o];if(p.isNullable(b))return s;const y=this.nodeToObjectConverter.convert(b,a);return s[o]=y,s},{});throw new Error("Unknown schema type, "+t.constructor.name)}}class or{constructor(e){this.nodeToObjectConverter=e}convert(e,t){const r=e.getItems();if(!r)return;const s=t.element;return r.map(i=>this.nodeToObjectConverter.convert(i,s))}}class ir{constructor(e){this.nodeToObjectConverter=e}convert(e,t){const r=e.getItems();if(!r)return;const s=t._def.valueType,o=r.map(i=>this.nodeToObjectConverter.convert(i,s));return new Set(o)}}class ar{constructor(e){this.nodeToObjectConverter=e}canHandleStructuredData(e){return e instanceof l.ZodAny||e instanceof l.ZodObject||e instanceof l.ZodRecord||e instanceof l.ZodMap||e instanceof l.ZodUnknown}convert(e,t){const r=t.keySchema,s=t.valueSchema,o=new Map,i=e.getName();p.isNonNullable(i)&&o.set(Q,i);const a=e.getDescription();p.isNonNullable(a)&&o.set(G,a);const c=e.getContracts();if(p.isNonNullable(c)&&this.canHandleStructuredData(s)){let f=!1;const g=Object.entries(c).reduce((b,[y,m])=>{try{const E=this.nodeToObjectConverter.convert(m,s);E!=null&&!Number.isNaN(E)&&(b[y]=E,f=!0)}catch{}return b},{});f&&o.set(Ae,g)}const h=e.getProperties();return p.isNonNullable(h)&&Object.entries(h).forEach(([f,g])=>{const b=new d().setValue(f);b.setType(new d().setBlueId(fe));const y=qt.convertValue(b,r),m=this.nodeToObjectConverter.convert(g,s);o.set(y,m)}),t instanceof l.ZodRecord?Object.fromEntries(o):o}}class lr{convert(e){return B.get(e)}}class cr{convert(e){return B.get(e)}}class ur{constructor(e){this.nodeToObjectConverter=e}convert(e,t){const r=e.getItems();if(!r)return;const s=t.items;return r.map((i,a)=>this.nodeToObjectConverter.convert(i,s[a]))}}const hr=l.z.union([l.z.literal("ZodString"),l.z.literal("ZodNumber"),l.z.literal("ZodBoolean"),l.z.literal("ZodBigInt"),l.z.literal("ZodArray"),l.z.literal("ZodSet"),l.z.literal("ZodMap"),l.z.literal("ZodRecord"),l.z.literal("ZodObject"),l.z.literal("ZodEnum"),l.z.literal("ZodNativeEnum"),l.z.literal("ZodUnknown"),l.z.literal("ZodAny"),l.z.literal("ZodTuple")]);class dr{constructor(e){u(this,"converters",new Map);u(this,"complexObjectConverter");this.nodeToObjectConverter=e,this.registerConverters(),this.complexObjectConverter=new sr(this.nodeToObjectConverter)}registerConverters(){const e=new rr,t=new or(this.nodeToObjectConverter),r=new ur(this.nodeToObjectConverter),s=new ir(this.nodeToObjectConverter),o=new ar(this.nodeToObjectConverter);this.converters.set("ZodString",e),this.converters.set("ZodNumber",e),this.converters.set("ZodBoolean",e),this.converters.set("ZodBigInt",e),this.converters.set("ZodEnum",e),this.converters.set("ZodNativeEnum",e),this.converters.set("ZodUnknown",new lr),this.converters.set("ZodAny",new cr),this.converters.set("ZodArray",t),this.converters.set("ZodTuple",r),this.converters.set("ZodSet",s),this.converters.set("ZodMap",o),this.converters.set("ZodRecord",o),this.converters.set("ZodObject",this.complexObjectConverter)}getConverter(e){const t=this.getSchemaTypeName(e);return this.converters.get(t)??this.complexObjectConverter}isWrapperType(e){return e instanceof l.ZodOptional||e instanceof l.ZodNullable||e instanceof l.ZodReadonly||e instanceof l.ZodBranded||e instanceof l.ZodEffects||e instanceof l.ZodLazy}getSchemaTypeName(e){if(this.isWrapperType(e))return e instanceof l.ZodEffects?this.getSchemaTypeName(e.innerType()):e instanceof l.ZodLazy?this.getSchemaTypeName(e.schema):this.getSchemaTypeName(e.unwrap());const t=e.constructor.name;try{return hr.parse(t)}catch{throw new Error(`Schema type name ${t} is not supported`)}}}class Lt{constructor(e){u(this,"converterFactory");this.typeSchemaResolver=e,this.converterFactory=new dr(this)}convert(e,t){var i;const r=(i=this.typeSchemaResolver)==null?void 0:i.resolveSchema(e),s=this.unwrapSchema(t);if($e(s))return e;let o=s;return p.isNonNullable(r)&&st(r,s)&&(o=r),this.convertWithType(e,o)}convertWithType(e,t){return this.converterFactory.getConverter(t).convert(e,t)}isWrapperType(e){return e instanceof l.ZodOptional||e instanceof l.ZodNullable||e instanceof l.ZodReadonly||e instanceof l.ZodBranded||e instanceof l.ZodEffects||e instanceof l.ZodLazy}unwrapSchema(e){return $e(e)?e:this.isWrapperType(e)?e instanceof l.ZodEffects?this.unwrapSchema(e.innerType()):e instanceof l.ZodLazy?this.unwrapSchema(e.schema):this.unwrapSchema(e.unwrap()):e}}class ke{fetchFirstByBlueId(e){const t=this.fetchByBlueId(e);return t&&t.length>0?t[0]:null}}function pr(n){return new class extends ke{fetchByBlueId(e){return n(e)}}}class fr extends ke{constructor(t){super();u(this,"nodeProviders");this.nodeProviders=t}fetchByBlueId(t){for(const r of this.nodeProviders){const s=r.fetchByBlueId(t);if(s&&s.length>0)return s}return[]}fetchFirstByBlueId(t){for(const r of this.nodeProviders){const s=r.fetchFirstByBlueId(t);if(s)return s}return null}getNodeProviders(){return this.nodeProviders}}const xe=Y.types.float.options,yr={...xe,construct:n=>{const e=n.replace(/_/g,"").toLowerCase();if(!p.isPreciseNumberString(e))return new D(e);if(xe.construct)return xe.construct(n)}},mr=new Y.Type("tag:yaml.org,2002:float",yr),Ve=Y.types.int.options,gr={...Ve,construct:n=>{let e=n;if(e.indexOf("_")!==-1&&(e=e.replace(/_/g,"")),!p.isPreciseNumberString(e))return new A(e);if(Ve.construct)return Ve.construct(n)}},br=new Y.Type("tag:yaml.org,2002:int",gr),_t=Y.CORE_SCHEMA.extend({implicit:[mr,br]}),ee=n=>{const e=Y.load(n,{schema:_t});return e===void 0?void 0:e},wr=n=>Y.dump(n,{schema:_t,replacer:(e,t)=>{if(O(t)){if(ue(t)){const r=new U(Number.MIN_SAFE_INTEGER.toString()),s=new U(Number.MAX_SAFE_INTEGER.toString());if(t.lt(r)||t.gt(s))return t.toString()}return t.toNumber()}return t}}),Wt=`- type:
|
|
1
|
+
"use strict";var At=Object.defineProperty;var St=(n,e,t)=>e in n?At(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var h=(n,e,t)=>St(n,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("@blue-labs/shared-utils"),l=require("zod"),Ct=require("bs58"),R=require("big.js"),w=require("radash"),Ot=require("js-sha256"),Dt=require("crypto"),Ft=require("base32.js"),M=require("js-yaml"),Je=n=>n&&n.__esModule?n:{default:n},X=Je(Ct),Le=Je(Dt);class Vt{static get(e,t,r,s=!0){if(d.isNullable(t)||!t.startsWith("/"))throw new Error(`Invalid path: ${t}`);if(t==="/"){const o=e.getValue();return s&&o!==void 0?o:e}const i=t.substring(1).split("/");return this.getRecursive(e,i,0,r,s)}static getRecursive(e,t,r,s,i){if(r===t.length-1&&!i)return this.getNodeForSegment(e,t[r],s,!1);if(r===t.length){const u=e.getValue();return i&&u!==void 0?u:e}const o=t[r],c=this.getNodeForSegment(e,o,s,!0);if(c)return this.getRecursive(c,t,r+1,s,i)}static getNodeForSegment(e,t,r,s){let i;const o=e.getProperties();if(o&&t in o)i=o[t];else switch(t){case"name":{const c=e.getName();i=d.isNonNullable(c)?new a().setValue(c):new a;break}case"description":{const c=e.getDescription();i=d.isNonNullable(c)?new a().setValue(c):new a;break}case"type":i=e.getType()??new a;break;case"itemType":i=e.getItemType()??new a;break;case"keyType":i=e.getKeyType()??new a;break;case"valueType":i=e.getValueType()??new a;break;case"value":{const c=e.getValue();i=new a().setValue(c??null);break}case"blueId":{const c=e.getBlueId();i=d.isNonNullable(c)?new a().setValue(c):new a;break}case"blue":i=e.getBlue();break;case"items":{const c=e.getItems();i=new a().setItems(c);break}case"properties":{const c=e.getProperties();i=new a().setProperties(c);break}case"contracts":{const c=e.getContracts();i=new a().setContracts(c);break}default:{if(/^\d+$/.test(t)){const c=parseInt(t,10),u=e.getItems();u&&c>=0&&c<u.length?i=u[c]:i=void 0}else i=void 0;break}}if(i)return s&&r?this.link(i,r):i}static link(e,t){const r=t(e);return d.isNonNullable(r)?r:e}}class v extends R{constructor(e){super(e)}}class P extends R{constructor(e){super(e)}}const $="name",L="description",oe="type",De="itemType",Fe="keyType",Ve="valueType",fe="value",je="items",U="blueId",Re="blue",pe="contracts",jt=[$,L,oe,De,Fe,Ve,fe,je,U,Re,pe],Rt="Text",zt="Double",Zt="Integer",xt="Boolean",Ut="List",Mt="Dictionary",$t=[Rt,zt,Zt,xt],He=[...$t,Ut,Mt],ee="F92yo19rCcbBoBSpUA5LRxpfDejJDAaP1PRxxbWAraVP",te="68ryJtnmui4j5rCZWUnkZ3DChtmEb7Z9F8atn1mBSM3L",ne="DHmxTkFbXePZHCHCYmQr2dSzcNLcryFVjXVHkdQrrZr8",re="EL6AjrbJsxTWRTPzY8WR8Y2zAMXRbydQj83PcZwuAHbo",Lt="G8wmfjEqugPEEXByMYWJXiEdbLToPRWNQEekNxrxfQWB",_t="294NBTj2mFRL3RB4kDRUSckwGg7Kzj6T8CTAFeR1kcSA",kt=[ee,te,ne,re],ze=[...kt,Lt,_t];Object.fromEntries(He.map((n,e)=>[n,ze[e]]));Object.fromEntries(ze.map((n,e)=>[n,He[e]]));const F=class F{constructor(e){h(this,"name");h(this,"description");h(this,"type");h(this,"itemType");h(this,"keyType");h(this,"valueType");h(this,"value");h(this,"items");h(this,"properties");h(this,"contracts");h(this,"blueId");h(this,"blue");h(this,"inlineValue",!1);this.name=e}getName(){return this.name}setName(e){return this.name=e,this}getDescription(){return this.description}setDescription(e){return this.description=e,this}getType(){return this.type}setType(e){return typeof e=="string"?this.type=new F().setValue(e).setInlineValue(!0):this.type=e,this}getItemType(){return this.itemType}setItemType(e){return typeof e=="string"?this.itemType=new F().setValue(e).setInlineValue(!0):this.itemType=e,this}getKeyType(){return this.keyType}setKeyType(e){return typeof e=="string"?this.keyType=new F().setValue(e).setInlineValue(!0):this.keyType=e,this}getValueType(){return this.valueType}setValueType(e){return typeof e=="string"?this.valueType=new F().setValue(e).setInlineValue(!0):this.valueType=e,this}getValue(){var t;const e=(t=this.type)==null?void 0:t.getBlueId();if(d.isNonNullable(e)&&d.isNonNullable(this.value)){if(e===ne&&typeof this.value=="string")return new v(this.value);if(e===te&&typeof this.value=="string"){const r=new P(this.value),s=parseFloat(r.toString());return new P(s.toString())}else if(e===re&&typeof this.value=="string")return this.value.toLowerCase()==="true"}return this.value}setValue(e){return typeof e=="number"?e%1===0?this.value=new v(e.toString()):this.value=new P(e.toString()):this.value=e,this}getItems(){return this.items}setItems(e){return this.items=e,this}addItems(...e){return this.items||(this.items=[]),this.items.push(...e),this}getProperties(){return this.properties}setProperties(e){return this.properties=e,this}addProperty(e,t){return this.properties||(this.properties={}),this.properties[e]=t,this}getContracts(){return this.contracts}setContracts(e){return this.contracts=e,this}addContract(e,t){return this.contracts||(this.contracts={}),this.contracts[e]=t,this}getBlueId(){return this.blueId}setBlueId(e){return this.blueId=e,this}getBlue(){return this.blue}setBlue(e){return this.blue=e,this}isInlineValue(){return this.inlineValue}setInlineValue(e){return this.inlineValue=e,this}get(e,t){return Vt.get(this,e,t)}clone(){var t,r,s,i,o,c;const e=new F(this.name);return e.description=this.description,e.type=(t=this.type)==null?void 0:t.clone(),e.itemType=(r=this.itemType)==null?void 0:r.clone(),e.keyType=(s=this.keyType)==null?void 0:s.clone(),e.valueType=(i=this.valueType)==null?void 0:i.clone(),e.value=this.value,e.items=(o=this.items)==null?void 0:o.map(u=>u.clone()),this.properties&&(e.properties=Object.fromEntries(Object.entries(this.properties).map(([u,f])=>[u,f.clone()]))),this.contracts&&(e.contracts=Object.fromEntries(Object.entries(this.contracts).map(([u,f])=>[u,f.clone()]))),e.blueId=this.blueId,e.blue=(c=this.blue)==null?void 0:c.clone(),e.inlineValue=this.inlineValue,e}toString(){return`BlueNode{name='${this.name}', description='${this.description}', type=${this.type}, itemType=${this.itemType}, keyType=${this.keyType}, valueType=${this.valueType}, value=${this.value}, items=${this.items}, properties=${this.properties}, contracts=${this.contracts}, blueId='${this.blueId}', blue=${this.blue}, inlineValue=${this.inlineValue}}`}};h(F,"INTEGER",new F("Integer"));let a=F;class x{static isPotentialBlueId(e){if(!e||e.length===0||!this.BLUE_ID_PATTERN.test(e))return!1;const t=e.split("#"),r=t[0],s=r.length;if(s<this.MIN_BLUE_ID_LENGTH||s>this.MAX_BLUE_ID_LENGTH)return!1;try{if(X.default.decode(r).length!==32)return!1}catch{return!1}if(t.length>1)try{if(Number(t[1])<0)return!1}catch{return!1}return!0}}h(x,"MIN_BLUE_ID_LENGTH",41),h(x,"MAX_BLUE_ID_LENGTH",45),h(x,"BLUE_ID_PATTERN",/^[1-9A-HJ-NP-Za-km-z]{41,45}(?:#\d+)?$/);const Yt=l.z.string().max(x.MAX_BLUE_ID_LENGTH,{message:"Blue Id has a maximum length of 45 characters"}).min(x.MIN_BLUE_ID_LENGTH,{message:"Blue Id has a minimum length of 41 characters"}).refine(n=>{try{return X.default.decode(n),!0}catch{return!1}},{message:"Blue Id must be a valid Base58 string"}),_=l.z.lazy(()=>l.z.record(l.z.unknown()).and(l.z.object({blueId:l.z.string().optional(),name:l.z.string().optional(),description:l.z.string().optional(),type:_.optional(),value:l.z.union([l.z.string(),l.z.number(),l.z.boolean()]).optional().nullable(),items:l.z.array(_).optional()}))),se=l.z.object({blueId:l.z.string().optional(),name:l.z.string().optional(),description:l.z.string().optional(),type:_.optional()}),Gt=se.extend({value:l.z.string().optional()}),Jt=se.extend({value:l.z.number().optional()}),Ht=se.extend({value:l.z.boolean().optional()}),Wt=se.extend({items:l.z.array(l.z.string()).optional()}),Kt=n=>_.safeParse(n).success,We=n=>d.isNonNullable(n)&&"blueId"in n&&d.isNonNullable(n.blueId),qt=n=>d.isNonNullable(n)&&"name"in n&&d.isNonNullable(n.name),Ke=n=>d.isNonNullable(n)&&"items"in n&&d.isNonNullable(n.items),qe=n=>d.isNonNullable(n)&&"type"in n&&d.isNonNullable(n.type),Xe=n=>d.isNonNullable(n)&&"value"in n&&d.isNonNullable(n.value),Xt=(n,e)=>n.required({type:!0}).safeParse(e).success,A=n=>n instanceof R,k=n=>A(n)&&n instanceof v,Qe=n=>A(n)&&n instanceof P,Qt=l.z.lazy(()=>l.z.record(Q)),en=l.z.lazy(()=>l.z.union([l.z.array(Q),l.z.array(Q).readonly()])),Q=l.z.lazy(()=>l.z.union([d.jsonPrimitiveSchema,Qt,en,l.z.instanceof(R)])),Ze=n=>w.isObject(n)&&!w.isArray(n)&&!d.isReadonlyArray(n)&&!A(n),xe=n=>w.isArray(n)||d.isReadonlyArray(n),tn=n=>xe(n)||Ze(n)||A(n)||d.isJsonPrimitive(n);class y{static deserialize(e){return y.handleNode(e)}static handleNode(e){if(e===void 0)throw new Error("This is not a valid JSON-like value. Found 'undefined' as a value.");if(Ze(e)){const t=new a,r={},s={};return Object.entries(e).forEach(([i,o])=>{switch(i){case $:if(o==null)t.setName(void 0);else{if(typeof o!="string")throw new Error(`The ${$} field must be a string.`);t.setName(o)}break;case L:if(o==null)t.setDescription(void 0);else{if(typeof o!="string")throw new Error(`The ${L} field must be a string.`);t.setDescription(o)}break;case oe:t.setType(y.handleNode(o));break;case De:t.setItemType(y.handleNode(o));break;case Fe:t.setKeyType(y.handleNode(o));break;case Ve:t.setValueType(y.handleNode(o));break;case fe:t.setValue(y.handleValue(o));break;case U:if(typeof o!="string")throw new Error(`The ${U} field must be a string.`);t.setBlueId(o);break;case je:t.setItems(y.handleArray(o));break;case Re:t.setBlue(y.handleNode(o));break;case pe:w.isObject(o)&&!w.isArray(o)&&!d.isReadonlyArray(o)&&Object.entries(o).forEach(([c,u])=>{s[c]=y.handleNode(u)});break;default:r[i]=y.handleNode(o);break}}),Object.keys(r).length>0&&t.setProperties(r),Object.keys(s).length>0&&t.setContracts(s),t}else{if(xe(e))return new a().setItems(y.handleArray(e));{const t=e;return new a().setValue(y.handleValue(t)).setInlineValue(!0)}}}static handleValue(e){if(e==null)return null;if(typeof e=="string")return e;if(typeof e=="number"||A(e))if(k(e)||Number.isSafeInteger(e)){const t=new v(e.toString()),r=Number.MIN_SAFE_INTEGER,s=Number.MAX_SAFE_INTEGER;return t.lt(r)?new v(r.toString()):t.gt(s)?new v(s.toString()):t}else{const t=parseFloat(e.toString());return new P(t.toString())}else if(typeof e=="boolean")return e;throw new Error(`Can't handle node: ${JSON.stringify(e)}`)}static handleArray(e){if(e!=null){if(w.isObject(e)&&!Array.isArray(e))return[y.handleNode(e)];if(Array.isArray(e))return e.map(y.handleNode);throw new Error("Expected an array node")}}}function nn(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var be,_e;function rn(){return _e||(_e=1,be=function n(e){if(typeof e=="number"&&isNaN(e))throw new Error("NaN is not allowed");if(typeof e=="number"&&!isFinite(e))throw new Error("Infinity is not allowed");return e===null||typeof e!="object"?JSON.stringify(e):e.toJSON instanceof Function?n(e.toJSON()):Array.isArray(e)?`[${e.reduce((s,i,o)=>`${s}${o===0?"":","}${n(i===void 0||typeof i=="symbol"?null:i)}`,"")}]`:`{${Object.keys(e).sort().reduce((r,s)=>{if(e[s]===void 0||typeof e[s]=="symbol")return r;const i=r.length===0?"":",";return`${r}${i}${n(s)}:${n(e[s])}`},"")}}`}),be}var sn=rn();const on=nn(sn);class et{static canonicalize(e){return on(e)}}const ln=typeof process<"u"&&process.versions!=null&&process.versions.node!=null,ue=class ue{constructor(){h(this,"browserCrypto");this.browserCrypto=this.initBrowserCrypto()}static getInstance(){return this.instance||(this.instance=new ue),this.instance}initBrowserCrypto(){return ln?null:"crypto"in globalThis?globalThis.crypto:null}hasNodeCrypto(){return!!Le.default.createHash}getBrowserCrypto(){return this.browserCrypto}getNodeCrypto(){return Le.default}};h(ue,"instance");let Te=ue;class tt{constructor(){h(this,"cryptoEnv",Te.getInstance())}applySync(e){const t=this.canonicalizeInput(e),r=this.cryptoEnv.hasNodeCrypto()?this.sha256Sync(t):this.sha256SyncBrowser(t);return X.default.encode(new Uint8Array(r))}async apply(e){const t=this.canonicalizeInput(e),r=this.cryptoEnv.hasNodeCrypto()?this.sha256Sync(t):await this.sha256Async(t);return X.default.encode(new Uint8Array(r))}canonicalizeInput(e){const t=et.canonicalize(e);if(typeof t!="string")throw new Error("Canonized value must be a string");return t}sha256Sync(e){const t=this.cryptoEnv.getNodeCrypto();if(!t)throw new Error("Synchronous SHA-256 is not available in this environment");return t.createHash("sha256").update(e).digest()}sha256SyncBrowser(e){return Ot.sha256.arrayBuffer(e)}async sha256Async(e){if(this.cryptoEnv.hasNodeCrypto())return this.sha256Sync(e);const t=this.cryptoEnv.getBrowserCrypto();if(!t)throw new Error("crypto is not available in this environment");const s=new TextEncoder().encode(e);return t.subtle.digest("SHA-256",s)}}class B{static get(e,t="official"){var ie;const r=e.getValue(),s=this.handleValue(r);if(s!==void 0&&t==="simple")return s;const i=(ie=e.getItems())==null?void 0:ie.map(D=>B.get(D,t));if(i!==void 0&&t==="simple")return i;const o=e.getName(),c=e.getDescription();if(t==="original"&&o===void 0&&c===void 0){if(s!==void 0)return s;if(i!==void 0)return i}const u={};o!==void 0&&(u[$]=o),c!==void 0&&(u[L]=c);const f=e.getType();if(t==="official"&&r!==void 0&&f===void 0){const D=this.inferTypeBlueId(r);D!==null&&(u[oe]={[U]:D})}else f!==void 0&&(u[oe]=B.get(f,t));const I=e.getItemType();I!==void 0&&(u[De]=B.get(I,t));const b=e.getKeyType();b!==void 0&&(u[Fe]=B.get(b,t));const m=e.getValueType();m!==void 0&&(u[Ve]=B.get(m,t)),s!==void 0&&(u[fe]=s),i!==void 0&&(u[je]=i);const g=e.getBlueId();g!==void 0&&(u[U]=g);const p=e.getBlue();p!==void 0&&(u[Re]=p);const T=e.getContracts();if(T!==void 0){const D={};Object.entries(T).forEach(([me,Pt])=>{D[me]=B.get(Pt,t)}),u[pe]=D}const O=e.getProperties();return O!==void 0&&Object.entries(O).forEach(([D,me])=>{u[D]=B.get(me,t)}),u}static handleValue(e){if(A(e)){if(k(e)){const t=new R(Number.MIN_SAFE_INTEGER.toString()),r=new R(Number.MAX_SAFE_INTEGER.toString());if(e.lt(t)||e.gt(r))return e.toString()}return e.toNumber()}return e}static inferTypeBlueId(e){return typeof e=="string"?ee:A(e)?k(e)?ne:te:typeof e=="boolean"?re:null}}const cn=n=>d.isJsonPrimitive(n)&&d.isNonNullable(n),j=class j{constructor(e){h(this,"hashProvider");this.hashProvider=e}static calculateBlueId(e){if(Array.isArray(e)){const r=e.map(s=>B.get(s));return j.INSTANCE.calculate(r)}const t=B.get(e);return j.INSTANCE.calculate(t)}static calculateBlueIdSync(e){if(Array.isArray(e)){const r=e.map(s=>B.get(s));return j.INSTANCE.calculateSync(r)}const t=B.get(e);return j.INSTANCE.calculateSync(t)}calculate(e){const t=this.cleanStructure(e);if(t===void 0)throw new Error("Object after cleaning cannot be null or undefined.");return this.internalCalculate(t,!1)}calculateSync(e){const t=this.cleanStructure(e);if(t===void 0)throw new Error("Object after cleaning cannot be null or undefined.");return this.internalCalculate(t,!0)}internalCalculate(e,t){return cn(e)||A(e)?this.applyHash(e.toString(),t):Array.isArray(e)||d.isReadonlyArray(e)?this.calculateList(e,t):this.calculateMap(e,t)}calculateMap(e,t){if(e[U]!==void 0)return e[U];const s=Object.keys(e).map(o=>{const c=e[o];if([$,fe,L].includes(o))return t?[o,c]:Promise.resolve([o,c]);{const u=this.internalCalculate(c,t);return t?[o,{blueId:u}]:Promise.resolve(u).then(f=>[o,{blueId:f}])}}),i=o=>{const c={};for(const[u,f]of o)c[u]=f;return this.applyHash(c,t)};return t?i(s):Promise.all(s).then(i)}calculateList(e,t){if(e.length===0)throw new Error("Cannot calculate BlueId for an empty list.");let r=this.internalCalculate(e[0],t);const s=(i,o)=>t?this.applyHash([{blueId:i},{blueId:o}],!0):Promise.all([i,o]).then(([c,u])=>this.applyHash([{blueId:c},{blueId:u}],!1));for(let i=1;i<e.length;i++){const o=this.internalCalculate(e[i],t);r=s(r,o)}return r}applyHash(e,t){return t?this.hashProvider.applySync(e):this.hashProvider.apply(e)}cleanStructure(e){if(e!=null){if(d.isJsonPrimitive(e)||A(e))return e;if(Array.isArray(e)||d.isReadonlyArray(e)){const t=e.map(r=>this.cleanStructure(r)).filter(d.isNonNullable);return t.length>0?t:void 0}else if(typeof e=="object"){const t={};for(const r in e){const s=this.cleanStructure(e[r]);s!=null&&(t[r]=s)}return Object.keys(t).length>0?t:void 0}else return e}}};h(j,"INSTANCE",new j(new tt));let S=j;class an{static convert(e){const t=X.default.decode(e),r=new Uint8Array(2+t.length);r[0]=18,r[1]=32,r.set(t,2);const s=new Uint8Array(2+r.length);return s[0]=1,s[1]=85,s.set(r,2),"b"+new Ft.Encoder({type:"rfc4648",lc:!0}).write(s).finalize().replace(/=/g,"")}}class C{static transform(e,t){const r=t(e.clone()),s=r.getType();s!==void 0&&r.setType(C.transform(s,t));const i=r.getItemType();i!==void 0&&r.setItemType(C.transform(i,t));const o=r.getKeyType();o!==void 0&&r.setKeyType(C.transform(o,t));const c=r.getValueType();c!==void 0&&r.setValueType(C.transform(c,t));const u=r.getItems();if(u!==void 0){const b=u.map(m=>C.transform(m,t));r.setItems(b)}const f=r.getProperties();if(f!==void 0){const b=Object.keys(f).reduce((m,g)=>(m[g]=C.transform(f[g],t),m),{});r.setProperties(b)}const I=r.getContracts();if(I!==void 0){const b=Object.keys(I).reduce((m,g)=>(m[g]=C.transform(I[g],t),m),{});r.setContracts(b)}return r}}const z=n=>!!n&&typeof n=="object"&&!Array.isArray(n)&&!(n instanceof a),V=n=>n instanceof v||n instanceof P,un=n=>n.replace(/~1/g,"/").replace(/~0/g,"~");function J(n){if(n==="/")return[];if(!n.startsWith("/"))throw new Error(`Path must start with '/': ${n}`);return n.split("/").slice(1).map(un)}function Y(n){if(n==="-")return-1;const e=typeof n=="number"?n:parseInt(n,10);if(isNaN(e))throw new Error(`Invalid array index (NaN) from '${n}'`);if(!Number.isFinite(e))throw new Error(`Invalid array index '${n}' results in non-finite number ${e}`);return e}function nt(n,e,t,r=!0){switch(e){case"name":return t?r?n.getName()??null:n:n.getName();case"description":return t?r?n.getDescription():n:n.getDescription();case"type":return n.getType();case"itemType":return n.getItemType();case"keyType":return n.getKeyType();case"valueType":return n.getValueType();case"value":return t?r?n.getValue()??null:n:n.getValue();case"blueId":return t?r?n.getBlueId()??null:n:n.getBlueId();case"blue":return n.getBlue();case"items":return n.getItems();case"properties":return n.getProperties();case"contracts":return n.getContracts();default:return}}function ke(n,e,t=!0){if(n instanceof a){const r=nt(n,e,!0,t);if(r!==void 0||["name","description","type","itemType","keyType","valueType","value","blueId","blue","items","properties","contracts"].includes(e))return r;if(/^-?\d+$/.test(e)&&e!=="-"){const i=n.getItems(),o=parseInt(e,10);return i&&o>=0&&o<i.length?i[o]:void 0}const s=n.getProperties();return s&&e in s?s[e]:void 0}if(Array.isArray(n)){if(e==="-")return;const r=Y(e);return r>=0&&r<n.length?n[r]:void 0}if(z(n))return n[e]}function H(n,e){if(e.length===0)return{parent:n,key:"value",actualTarget:n.getValue()??n};let t=n;for(let s=0;s<e.length-1;++s){const i=e[s],o=ke(t,i);if(o===void 0)throw new Error(`Cannot resolve '/${e.slice(0,s+1).join("/")}'`);t=o}const r=e[e.length-1];if(t instanceof a){const s=ke(t,r,!1);if((typeof s!="object"||s===null||V(s))&&!(s instanceof a)&&!Array.isArray(s)&&["name","description","value","blueId"].includes(r))return{parent:t,key:r,actualTarget:s}}return Array.isArray(t)&&r==="-"?{parent:t,key:"-"}:t instanceof a&&t.getItems()&&r==="-"?{parent:t,key:"-"}:{parent:t,key:Array.isArray(t)?Y(r):r}}function Ue(n,e){var t;if(n instanceof a){const r=e,s=nt(n,r,!1);if(s!==void 0||["name","description","type","itemType","keyType","valueType","value","blueId","blue","items","properties","contracts"].includes(r))return s;if(typeof e=="number"||typeof e=="string"&&/^\d+$/.test(e)){const i=n.getItems(),o=typeof e=="number"?e:parseInt(e,10);if(i&&o>=0&&o<i.length)return i[o]}return(t=n.getProperties())==null?void 0:t[r]}return Array.isArray(n)||z(n)?n[e]:n}function N(n){if(n instanceof a)return n;if(n===null||typeof n=="string"||typeof n=="number"||typeof n=="boolean"||V(n))return y.deserialize(n);const e=Ne(n);return y.deserialize(e)}function Ne(n){if(n===void 0)return null;if(n===null||typeof n!="object")return n;if(Array.isArray(n))return n.map(Ne);const e={};for(const[t,r]of Object.entries(n))e[t]=Ne(r);return e}function Me(n,e,t){if(n instanceof a){const r=e;switch(r){case"name":n.setName(t);return;case"description":n.setDescription(t);return;case"type":n.setType(t instanceof a||typeof t=="string"||t===void 0?t:N(t));return;case"itemType":n.setItemType(t instanceof a||typeof t=="string"||t===void 0?t:N(t));return;case"keyType":n.setKeyType(t instanceof a||typeof t=="string"||t===void 0?t:N(t));return;case"valueType":n.setValueType(t instanceof a||typeof t=="string"||t===void 0?t:N(t));return;case"value":{const s=t;n.setValue(s===void 0?null:s);return}case"blueId":n.setBlueId(t);return;case"blue":n.setBlue(t instanceof a||t===void 0?t:N(t));return;case"items":n.setItems(t);return;case"properties":n.setProperties(t);return;case"contracts":n.setContracts(t);return;default:{if(t===void 0){const s=n.getProperties();s&&r in s&&delete s[r]}else n.getProperties()||n.setProperties({}),n.addProperty(r,t instanceof a?t:N(t));return}}}Array.isArray(n)?n.splice(Y(e),1):z(n)&&(t===void 0?delete n[e]:n[e]=t)}function dn(n,e,t,r){let s=-1;if(e!=="-"&&(s=typeof e=="number"?e:parseInt(e,10),isNaN(s)))throw new Error(`Invalid numeric key for BlueNode item operation: ${e}`);if(s<-1)throw new Error(`Invalid array index for BlueNode items: ${s}`);let i=n.getItems();if(i||(i=[],n.setItems(i)),!r&&s!==-1&&s>i.length)throw new Error(`ADD operation failed: Target array index '${s}' is greater than array length ${i.length}.`);if(e==="-")i.push(t);else if(r){if(s>=0)if(s<i.length)i[s]=t;else{for(let o=i.length;o<s;o++)i.push(y.deserialize(null));i.push(t)}}else i.splice(s,0,t)}function le(n,e,t,r){if(Array.isArray(n)){const s=e==="-"?n.length:Y(e);if(!r&&s>n.length)throw new Error(`ADD operation failed: Target array index '${s}' is greater than array length ${n.length}. Path involving key '${e}'.`);if(s<0&&e!=="-")throw new Error(`Invalid negative array index: ${e}`);const i=N(t);if(r){if(s>=0&&s<n.length)n[s]=i;else if(s>=n.length){for(let o=n.length;o<s;o++)n.push(y.deserialize(null));n.push(i)}}else n.splice(s,0,i);return}if(n instanceof a){e==="-"||typeof e=="number"&&!isNaN(e)||typeof e=="string"&&/^\d+$/.test(e)?dn(n,e,N(t),r):Me(n,e,t);return}if(z(n)){n[e]=N(t);return}throw new Error(`Cannot insert into parent of type ${typeof n}`)}function hn(n,e){if(Array.isArray(n)){const t=Y(e);t===-1&&e==="-"?n.length>0&&n.pop():t>=0&&t<n.length&&n.splice(t,1);return}if(n instanceof a){if(typeof e=="number"||typeof e=="string"&&/^-?\d+$/.test(e)){const t=n.getItems();if(t){const r=Y(e);r===-1&&e==="-"?t.length>0&&t.pop():r>=0&&r<t.length&&t.splice(r,1),t.length===0&&n.setItems(void 0);return}}Me(n,e,void 0)}else z(n)&&delete n[e]}function we(n){if(n instanceof a)return n.clone();if(Array.isArray(n))return n.map(t=>we(t));if(z(n)){const e={};return Object.keys(n).forEach(t=>{e[t]=we(n[t])}),e}return n}function Z(n,e){if(n===e||n instanceof a&&(n.isInlineValue()||n.getValue()!==void 0)&&Z(n.getValue()??null,e)||e instanceof a&&(e.isInlineValue()||e.getValue()!==void 0)&&Z(n,e.getValue()??null))return!0;if(n instanceof a&&e instanceof a||V(n)&&V(e)||V(n)&&typeof e=="number"||typeof n=="number"&&V(e))return n.toString()===e.toString();if(Array.isArray(n)&&Array.isArray(e))return n.length===e.length&&n.every((t,r)=>Z(t,e[r]));if(z(n)&&z(e)){const t=Object.keys(n),r=Object.keys(e);return t.length===r.length&&t.every(s=>Z(n[s],e[s]))}return!1}function rt(n,e){const{parent:t,key:r}=H(n,J(e));return Ue(t,r)}function st(n,e,t){const r=J(e);if(r.length===0&&e==="/"){const o=N(t);n.setValue(o.getValue()??null),o.getItems()?n.setItems(o.getItems()):n.setItems(void 0);return}const{parent:s,key:i}=H(n,r);le(s,i,t,!0)}function fn(n,e,t){const r=J(e);if(r.length===0&&e==="/"){if(n.getItems()&&Array.isArray(t)){const o=N(t);o.getItems()?(n.setItems(o.getItems()),n.setValue(null)):(n.setValue(o.getValue()??null),n.setItems(void 0))}else{const o=N(t);n.setValue(o.getValue()??null),o.getItems()&&n.setItems(o.getItems())}return!0}const{parent:s,key:i}=H(n,r);return le(s,i,t,!1),!0}function pn(n,e,t){const r=J(e);if(r.length===0&&e==="/"){const c=N(t);return n.setValue(c.getValue()??null),c.getItems()?n.setItems(c.getItems()):n.setItems(void 0),!0}const{parent:s,key:i,actualTarget:o}=H(n,r);if(o!==void 0&&s instanceof a)Me(s,i,t);else{const c=Ue(s,i),u=Array.isArray(s)||s instanceof a&&s.getItems()&&(typeof i=="number"||typeof i=="string"&&/^\d+$/.test(i));if(c===void 0){if(u)throw new Error(`REPLACE failed: Target array index '${i.toString()}' is out of bounds or does not exist at path '${e}'.`);le(s,i,t,!0)}else le(s,i,t,!0)}return!0}function it(n,e){const t=J(e);if(t.length===0&&e==="/")return n.setValue(null),n.setItems(void 0),n.setProperties(void 0),!0;const{parent:r,key:s}=H(n,t);return hn(r,s),!0}function yn(n,e,t){const r=we(rt(n,e));return st(n,t,r),!0}function gn(n,e,t){const r=J(e),{parent:s,key:i}=H(n,r),o=Ue(s,i);if(o===void 0)throw new Error(`MOVE failed: 'from' location '${e}' does not exist.`);return it(n,e)?(st(n,t,o),!0):!1}function mn(n,e,t){const r=rt(n,e);let s=t;if(r instanceof a)if((t===null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"||V(t))&&(r.isInlineValue()||r.getValue()!==void 0)){if(!Z(r.getValue()??null,t))throw new Error(`TEST failed at '${e}': Expected ${JSON.stringify(t)}, got ${JSON.stringify(r.getValue()??null)}`);return!0}else typeof t=="object"&&!(t instanceof a)&&(s=N(t));else if(V(r)&&typeof t=="number")r instanceof v?s=new v(t.toString()):r instanceof P&&(s=new P(t.toString()));else if((r===null||typeof r=="string"||typeof r=="number"||typeof r=="boolean")&&V(t)){const i=t;!Z(r,i.toString())&&(typeof r=="number"&&parseFloat(i.toString()))}if(!Z(r,s)){const i=r instanceof a?r.toString():JSON.stringify(r),o=s instanceof a?s.toString():JSON.stringify(s);throw new Error(`TEST failed at '${e}': Expected ${o}, got ${i}`)}return!0}function bn(n,e){switch(e.op){case"add":return fn(n,e.path,e.val);case"replace":return pn(n,e.path,e.val);case"remove":return it(n,e.path);case"copy":return yn(n,e.from,e.path);case"move":return gn(n,e.from,e.path);case"test":return mn(n,e.path,e.val)}}function In(n,e,t=!1){const r=t?n:n.clone();return bn(r,e),r}const ve=new WeakMap;function W(n,e){const t=ve.get(n)||{};return ve.set(n,{...t,...e}),n}const E=n=>ve.get(n),ot=n=>e=>{const t=E(e);return W(e,{...t,blueDescription:n})},lt=n=>{const e=E(n);return d.isNonNullable(e)&&w.isString(e.blueDescription)?e.blueDescription:null},Bn=n=>ot(n)(l.z.string().optional()),Tn=l.z.union([l.z.string(),l.z.boolean()]),ct=n=>e=>{const t=E(e);return W(e,{...t,blueId:n})},at=n=>{const e=E(n),t=Tn.safeParse(e==null?void 0:e.blueId);return t.success?t.data:null},Nn=n=>ct(n??!0)(l.z.string()),ut=n=>e=>{const t=E(e);return W(e,{...t,blueName:n})},dt=n=>{const e=E(n);return d.isNonNullable(e)&&w.isString(e.blueName)?e.blueName:null},wn=n=>{const e=l.z.string().optional();return ut(n)(e)},ht=()=>n=>{const e=E(n);return W(n,{...e,blueNode:!0})},ft=n=>{const e=E(n);return d.isNonNullable(e)&&d.isNonNullable(e.blueNode)&&e.blueNode===!0?e.blueNode:null},Ee=n=>!!ft(n),vn=()=>{const n=l.z.instanceof(a);return ht()(n)},Pe="extendedFrom",pt=({schema:n,baseSchema:e})=>{const t=E(n)||{};return W(n,{...t,[Pe]:e})},yt=n=>{const e=E(n);return d.isNonNullable(e)&&e[Pe]?e[Pe]:null},$e=(n,e)=>{const t=yt(n);return d.isNullable(t)?!1:(t==null?void 0:t._def)===(e==null?void 0:e._def)?!0:$e(t,e)},En=n=>new Proxy(n,{get(e,t,r){return t==="extend"?function(...s){const i=e.extend(...s);return pt({schema:i,baseSchema:e})}:Reflect.get(e,t,r)}}),Pn=l.z.object({value:l.z.array(l.z.string()).optional(),defaultValue:l.z.string().optional()}),gt=n=>{const e=E(n),t=Pn.passthrough().safeParse(e==null?void 0:e.typeBlueId);return t.success?t.data:null},An=n=>e=>{const t=E(e),r=typeof n=="string"?{value:[n]}:n,s=En(e);return W(s,{...t,typeBlueId:{...(t==null?void 0:t.typeBlueId)||{},...r}})};class ye{static resolveBlueId(e){var i;const t=gt(e);if(d.isNullable(t))return null;const r=t.defaultValue;if(d.isNonNullable(r))return r;const s=(i=t.value)==null?void 0:i[0];return d.isNonNullable(s)?s:ye.getRepositoryBlueId(t,e)}static getRepositoryBlueId(e,t){throw new Error("Not implemented")}}class Sn{static isTypeOf(e,t){var i;const r=ye.resolveBlueId(t),s=(i=e.getType())==null?void 0:i.getBlueId();return d.isNullable(r)||d.isNullable(s)?!1:r===s}}class mt{constructor(e){h(this,"blueIdMap",new Map);for(const t of e)this.registerSchema(t)}registerSchema(e){const t=ye.resolveBlueId(e);if(d.isNonNullable(t)){if(this.blueIdMap.has(t))throw new Error(`Duplicate BlueId value: ${t}`);this.blueIdMap.set(t,e)}}resolveSchema(e){const t=this.getEffectiveBlueId(e);return d.isNullable(t)?null:this.blueIdMap.get(t)}getEffectiveBlueId(e){const t=e.getType();return d.isNonNullable(t)&&d.isNonNullable(t.getBlueId())?t.getBlueId():d.isNonNullable(t)?S.calculateBlueIdSync(t):null}getBlueIdMap(){return new Map(this.blueIdMap)}}class bt{static convertValue(e,t){var i;const r=(i=e.getType())==null?void 0:i.getBlueId(),s=e.getValue();return d.isNullable(s)?this.isPrimitive(t)?this.getDefaultPrimitiveValue(t):s:ee===r?this.convertFromString(String(s),t):te===r||s instanceof P?this.convertFromBigDecimal(new P(s==null?void 0:s.toString()),t):ne===r||s instanceof v?this.convertFromBigInteger(new v(s==null?void 0:s.toString()),t):re===r||typeof s=="boolean"?this.convertFromBoolean(!!s,t):this.convertFromString(String(s),t)}static convertFromString(e,t){if(!t||t instanceof l.ZodString||t instanceof l.ZodEnum||t instanceof l.ZodNativeEnum)return e;if(t instanceof l.ZodNumber)return Number(e);if(t instanceof l.ZodBoolean)return e.toLowerCase()==="true";if(t instanceof l.ZodBigInt)return BigInt(e);throw new Error(`Cannot convert String to ${t.constructor.name}`)}static convertFromBigDecimal(e,t){if(t instanceof l.ZodNumber)return e.toNumber();if(t instanceof l.ZodString)return e.toString();throw new Error(`Cannot convert Number to ${t.constructor.name}`)}static convertFromBigInteger(e,t){if(t instanceof l.ZodNumber)return e.toNumber();if(t instanceof l.ZodBigInt)return BigInt(e.toString());if(t instanceof l.ZodString)return e.toString();throw new Error(`Cannot convert Number to ${t.constructor.name}`)}static convertFromBoolean(e,t){if(!t||t instanceof l.ZodBoolean)return e;if(t instanceof l.ZodString)return e.toString();if(t instanceof l.ZodNumber)return Number(e);if(t instanceof l.ZodBigInt)return BigInt(e);throw new Error(`Cannot convert Boolean to ${t.constructor.name}`)}static isPrimitive(e){return e?e instanceof l.ZodString||e instanceof l.ZodNumber||e instanceof l.ZodBoolean||e instanceof l.ZodBigInt:!1}static getDefaultPrimitiveValue(e){if(!e)return null;if(e instanceof l.ZodNumber)return 0;if(e instanceof l.ZodBoolean)return!1;if(e instanceof l.ZodString)return"";throw new Error(`Unsupported primitive type: ${e.constructor.name}`)}}class Cn{convert(e,t){return bt.convertValue(e,t)}}class On{constructor(e){this.nodeToObjectConverter=e}canHandleStructuredData(e){return e instanceof l.ZodAny||e instanceof l.ZodObject||e instanceof l.ZodRecord||e instanceof l.ZodMap||e instanceof l.ZodUnknown}convert(e,t){return this.convertFields(e,t)}convertFields(e,t){if(t instanceof l.ZodIntersection){const r=t._def.left,s=t._def.right,i=this.convert(e,r),o=this.convert(e,s);return{...i,...o}}if(t instanceof l.ZodUnion)throw new Error("Union not supported");if(t instanceof l.ZodObject)return Object.keys(t.shape).reduce((s,i)=>{const o=e.getProperties(),c=t.shape[i],u=at(c);if(d.isNonNullable(u)){const p=w.isString(u)?u:i,T=o==null?void 0:o[p],O=T?S.calculateBlueIdSync(T):void 0;return s[i]=O,s}const f=dt(c);if(d.isNonNullable(f)){const p=o==null?void 0:o[f];return s[i]=p==null?void 0:p.getName(),s}const I=lt(c);if(d.isNonNullable(I)){const p=o==null?void 0:o[I];return s[i]=p==null?void 0:p.getDescription(),s}if(i==="name"){const p=e.getName();return s[i]=p,s}if(i==="description"){const p=e.getDescription();return s[i]=p,s}const b=e.getContracts();if(i==="contracts"&&d.isNonNullable(b)&&this.canHandleStructuredData(c)){const p=Object.fromEntries(Object.entries(b).map(([O,ie])=>[O,B.get(ie)])),T=y.deserialize(p);s[i]=this.nodeToObjectConverter.convert(T,c)}const m=o==null?void 0:o[i];if(d.isNullable(m))return s;const g=this.nodeToObjectConverter.convert(m,c);return s[i]=g,s},{});throw new Error("Unknown schema type, "+t.constructor.name)}}class Dn{constructor(e){this.nodeToObjectConverter=e}convert(e,t){const r=e.getItems();if(!r)return;const s=t.element;return r.map(o=>this.nodeToObjectConverter.convert(o,s))}}class Fn{constructor(e){this.nodeToObjectConverter=e}convert(e,t){const r=e.getItems();if(!r)return;const s=t._def.valueType,i=r.map(o=>this.nodeToObjectConverter.convert(o,s));return new Set(i)}}class Vn{constructor(e){this.nodeToObjectConverter=e}canHandleStructuredData(e){return e instanceof l.ZodAny||e instanceof l.ZodObject||e instanceof l.ZodRecord||e instanceof l.ZodMap||e instanceof l.ZodUnknown}convert(e,t){const r=t.keySchema,s=t.valueSchema,i=new Map,o=e.getName();d.isNonNullable(o)&&i.set($,o);const c=e.getDescription();d.isNonNullable(c)&&i.set(L,c);const u=e.getContracts();if(d.isNonNullable(u)&&this.canHandleStructuredData(s)){let I=!1;const b=Object.entries(u).reduce((m,[g,p])=>{try{const T=this.nodeToObjectConverter.convert(p,s);T!=null&&!Number.isNaN(T)&&(m[g]=T,I=!0)}catch{}return m},{});I&&i.set(pe,b)}const f=e.getProperties();return d.isNonNullable(f)&&Object.entries(f).forEach(([I,b])=>{const m=new a().setValue(I);m.setType(new a().setBlueId(ee));const g=bt.convertValue(m,r),p=this.nodeToObjectConverter.convert(b,s);i.set(g,p)}),t instanceof l.ZodRecord?Object.fromEntries(i):i}}class jn{convert(e){return B.get(e)}}class Rn{convert(e){return B.get(e)}}class zn{constructor(e){this.nodeToObjectConverter=e}convert(e,t){const r=e.getItems();if(!r)return;const s=t.items;return r.map((o,c)=>this.nodeToObjectConverter.convert(o,s[c]))}}const Zn=l.z.union([l.z.literal("ZodString"),l.z.literal("ZodNumber"),l.z.literal("ZodBoolean"),l.z.literal("ZodBigInt"),l.z.literal("ZodArray"),l.z.literal("ZodSet"),l.z.literal("ZodMap"),l.z.literal("ZodRecord"),l.z.literal("ZodObject"),l.z.literal("ZodEnum"),l.z.literal("ZodNativeEnum"),l.z.literal("ZodUnknown"),l.z.literal("ZodAny"),l.z.literal("ZodTuple")]);class xn{constructor(e){h(this,"converters",new Map);h(this,"complexObjectConverter");this.nodeToObjectConverter=e,this.registerConverters(),this.complexObjectConverter=new On(this.nodeToObjectConverter)}registerConverters(){const e=new Cn,t=new Dn(this.nodeToObjectConverter),r=new zn(this.nodeToObjectConverter),s=new Fn(this.nodeToObjectConverter),i=new Vn(this.nodeToObjectConverter);this.converters.set("ZodString",e),this.converters.set("ZodNumber",e),this.converters.set("ZodBoolean",e),this.converters.set("ZodBigInt",e),this.converters.set("ZodEnum",e),this.converters.set("ZodNativeEnum",e),this.converters.set("ZodUnknown",new jn),this.converters.set("ZodAny",new Rn),this.converters.set("ZodArray",t),this.converters.set("ZodTuple",r),this.converters.set("ZodSet",s),this.converters.set("ZodMap",i),this.converters.set("ZodRecord",i),this.converters.set("ZodObject",this.complexObjectConverter)}getConverter(e){const t=this.getSchemaTypeName(e);return this.converters.get(t)??this.complexObjectConverter}isWrapperType(e){return e instanceof l.ZodOptional||e instanceof l.ZodNullable||e instanceof l.ZodReadonly||e instanceof l.ZodBranded||e instanceof l.ZodEffects||e instanceof l.ZodLazy}getSchemaTypeName(e){if(this.isWrapperType(e))return e instanceof l.ZodEffects?this.getSchemaTypeName(e.innerType()):e instanceof l.ZodLazy?this.getSchemaTypeName(e.schema):this.getSchemaTypeName(e.unwrap());const t=e.constructor.name;try{return Zn.parse(t)}catch{throw new Error(`Schema type name ${t} is not supported`)}}}class Un{constructor(e){h(this,"converterFactory");this.typeSchemaResolver=e,this.converterFactory=new xn(this)}convert(e,t){var o;const r=(o=this.typeSchemaResolver)==null?void 0:o.resolveSchema(e),s=this.unwrapSchema(t);if(Ee(s))return e;let i=s;return d.isNonNullable(r)&&$e(r,s)&&(i=r),this.convertWithType(e,i)}convertWithType(e,t){return this.converterFactory.getConverter(t).convert(e,t)}isWrapperType(e){return e instanceof l.ZodOptional||e instanceof l.ZodNullable||e instanceof l.ZodReadonly||e instanceof l.ZodBranded||e instanceof l.ZodEffects||e instanceof l.ZodLazy}unwrapSchema(e){return Ee(e)?e:this.isWrapperType(e)?e instanceof l.ZodEffects?this.unwrapSchema(e.innerType()):e instanceof l.ZodLazy?this.unwrapSchema(e.schema):this.unwrapSchema(e.unwrap()):e}}class ge{fetchFirstByBlueId(e){const t=this.fetchByBlueId(e);return t&&t.length>0?t[0]:null}}function Mn(n){return new class extends ge{fetchByBlueId(e){return n(e)}}}class $n extends ge{constructor(t){super();h(this,"nodeProviders");this.nodeProviders=t}fetchByBlueId(t){for(const r of this.nodeProviders){const s=r.fetchByBlueId(t);if(s&&s.length>0)return s}return[]}fetchFirstByBlueId(t){for(const r of this.nodeProviders){const s=r.fetchFirstByBlueId(t);if(s)return s}return null}getNodeProviders(){return this.nodeProviders}}const Ie=M.types.float.options,Ln={...Ie,construct:n=>{const e=n.replace(/_/g,"").toLowerCase();if(!d.isPreciseNumberString(e))return new P(e);if(Ie.construct)return Ie.construct(n)}},_n=new M.Type("tag:yaml.org,2002:float",Ln),Be=M.types.int.options,kn={...Be,construct:n=>{let e=n;if(e.indexOf("_")!==-1&&(e=e.replace(/_/g,"")),!d.isPreciseNumberString(e))return new v(e);if(Be.construct)return Be.construct(n)}},Yn=new M.Type("tag:yaml.org,2002:int",kn),It=M.CORE_SCHEMA.extend({implicit:[_n,Yn]}),G=n=>{const e=M.load(n,{schema:It});return e===void 0?void 0:e},Gn=n=>M.dump(n,{schema:It,replacer:(e,t)=>{if(A(t)){if(k(t)){const r=new R(Number.MIN_SAFE_INTEGER.toString()),s=new R(Number.MAX_SAFE_INTEGER.toString());if(t.lt(r)||t.gt(s))return t.toString()}return t.toNumber()}return t}}),Bt=`- type:
|
|
2
2
|
blueId: 27B7fuxQCS1VAptiCPc2RMkKoutP5qxkh3uDxZ7dr6Eo
|
|
3
3
|
mappings:
|
|
4
4
|
Text: F92yo19rCcbBoBSpUA5LRxpfDejJDAaP1PRxxbWAraVP
|
|
@@ -9,26 +9,19 @@
|
|
|
9
9
|
Dictionary: 294NBTj2mFRL3RB4kDRUSckwGg7Kzj6T8CTAFeR1kcSA
|
|
10
10
|
- type:
|
|
11
11
|
blueId: FGYuTXwaoSKfZmpTysLTLsb8WzSqf43384rKZDkXhxD4
|
|
12
|
-
`,
|
|
13
|
-
description: TODO`,
|
|
12
|
+
`,Jn=`name: Transformation
|
|
13
|
+
description: TODO`,Hn=`name: Infer Basic Types For Untyped Values
|
|
14
14
|
type:
|
|
15
15
|
blueId: Ct1SGRGw1i47qjzm1ruiUdSZofeV6WevPTGuieVvbRS4
|
|
16
|
-
description: This transformation infers type details for Text, Integer, Number and Boolean.`,
|
|
16
|
+
description: This transformation infers type details for Text, Integer, Number and Boolean.`,Wn=`name: Replace Inline Types with BlueIds
|
|
17
17
|
type:
|
|
18
18
|
blueId: Ct1SGRGw1i47qjzm1ruiUdSZofeV6WevPTGuieVvbRS4
|
|
19
|
-
description: This transformation replaces`,vr=[Wt,Tr,Er,Ir];class Br extends ke{constructor(){super();u(this,"blueIdToNodesMap",new Map);this.load()}fetchByBlueId(t){return this.blueIdToNodesMap.get(t)||[]}load(){for(const t of vr){const r=ee(t);if(r===void 0){console.error(`This content file is not valid YAML: ${t}`);continue}if(Array.isArray(r)){const s=r.map(i=>w.deserialize(i)),o=x.calculateBlueIdSync(s);this.blueIdToNodesMap.set(o,s)}else{const s=w.deserialize(r),o=x.calculateBlueIdSync(s);this.blueIdToNodesMap.set(o,[s])}}}}const Pe=class Pe extends ke{constructor(){super();u(this,"nodeProvider");this.nodeProvider=new Br}fetchByBlueId(t){return this.nodeProvider.fetchByBlueId(t)}};u(Pe,"INSTANCE",new Pe);let Ue=Pe;class de{static wrap(e){return new fr([Ue.INSTANCE,e])}}const Jt=n=>n instanceof d||Array.isArray(n)&&n.every(e=>e instanceof d)?n:C.isArray(n)?n.map(e=>w.deserialize(e)):w.deserialize(n),Kt=async n=>{const e=Jt(n);return x.calculateBlueId(e)},Nr=n=>{const e=Jt(n);return x.calculateBlueIdSync(e)},qe=async n=>{if(Pt(n))return n;try{const e=he.parse(n),t=await Kt(e);return{...n,blueId:t}}catch(e){throw new Error(`Failed enriching object with Blue ID: ${e}`)}},Pr=n=>n==null?void 0:n.items,Sr=n=>n==null?void 0:n.value,Cr=n=>p.isNullable(n)?{}:C.omit(n,Tn),Ar=n=>Ct(n)?n.type.name??null:At(n)?C.pascal(typeof n.value):St(n)?"List":null,Yt=n=>p.isNonNullable(n)&&Object.keys(C.omit(n,["blueId"])).length>0,Or=n=>{try{const e=w.deserialize(n),t=B.get(e);return X.parse(t)}catch(e){throw new Error(`Failed transforming JSON-like value to BlueObject: ${e}`)}},Le=async n=>{const{resolveFunction:e,signal:t=new AbortController().signal,omitItems:r}=n,s=n.count??n.items.length;let o=await C.map(n.items,async a=>await qe(a));const i=Math.max((o==null?void 0:o.length)-s,0);for(let a=o.length-1;a>=i;a--)if(!Yt(o[a])){const c=await e(o[a],{signal:t});if(Array.isArray(c))return Le({...n,items:[...o.slice(0,a),...c,...o.slice(a+1)]});const h=await qe(c);if(r!=null&&r.includes(h.blueId))return Le({...n,items:[...o.slice(0,a),...o.slice(a+1)]});o=[...o.slice(0,a),h,...o.slice(a+1)]}return o};function ae(n){try{const e=new URL(n);return e.protocol==="http:"||e.protocol==="https:"}catch{return!1}}class kr{process(e){return V.transform(e,this.inferType.bind(this))}inferType(e){const t=e.getType(),r=e.getValue();return p.isNullable(t)&&p.isNonNullable(r)&&(typeof r=="string"?e.setType(new d().setBlueId(fe)):typeof r=="bigint"||ue(r)?e.setType(new d().setBlueId(me)):Rn(r)?e.setType(new d().setBlueId(ye)):typeof r=="boolean"&&e.setType(new d().setBlueId(ge))),e}}const le=class le{constructor(e){u(this,"mappings",new Map);if(e instanceof d){const r=e.getProperties();if(r&&r[le.MAPPINGS]){const o=r[le.MAPPINGS].getProperties();o&&Object.entries(o).forEach(([i,a])=>{const c=a.getValue();typeof c=="string"&&this.mappings.set(i,c)})}}else this.mappings=e}process(e){return V.transform(e,this.transformNode.bind(this))}transformNode(e){const t=e.clone();return this.transformTypeField(t,t.getType()),this.transformTypeField(t,t.getItemType()),this.transformTypeField(t,t.getKeyType()),this.transformTypeField(t,t.getValueType()),t}transformTypeField(e,t){if(t&&t.isInlineValue()&&t.getValue()!==void 0){const r=String(t.getValue());if(this.mappings.has(r)){const s=this.mappings.get(r);if(s){const o=new d().setBlueId(s);t===e.getType()?e.setType(o):t===e.getItemType()?e.setItemType(o):t===e.getKeyType()?e.setKeyType(o):t===e.getValueType()&&e.setValueType(o)}}}}};u(le,"MAPPINGS","mappings");let _e=le;class Dr{constructor(e,t){u(this,"nodeProvider");u(this,"strategy");this.nodeProvider=de.wrap(e),this.strategy=t||"THROW_EXCEPTION"}extend(e,t){this.extendNode(e,t,"")}extendNode(e,t,r,s=!1){if(!s){if(!t.shouldExtendPathSegment(r,e))return;t.enterPathSegment(r,e)}try{const o=e.getBlueId();if(o&&!(o in tt)){const y=this.fetchNode(e);if(y&&y.length>0)if(y.length===1){const m=y[0];this.mergeNodes(e,m)}else{const m=y.map(I=>I.clone()),E=new d().setItems(m);this.mergeNodes(e,E)}}const i=e.getType();i&&this.extendNode(i,t,"type",!0);const a=e.getItemType();a&&this.extendNode(a,t,"itemType",!0);const c=e.getKeyType();c&&this.extendNode(c,t,"keyType",!0);const h=e.getValueType();h&&this.extendNode(h,t,"valueType",!0);const f=e.getProperties();f&&Object.entries(f).forEach(([y,m])=>{this.extendNode(m,t,y,!1)});const g=e.getContracts();g&&Object.entries(g).forEach(([y,m])=>{this.extendNode(m,t,y,!1)});const b=e.getItems();if(b&&b.length>0){this.reconstructList(b);for(let y=0;y<b.length;y++)this.extendNode(b[y],t,String(y),!1)}}finally{s||t.exitPathSegment()}}reconstructList(e){for(;e.length>0;){const t=e[0],r=t==null?void 0:t.getBlueId();if(!r)break;const s=this.nodeProvider.fetchByBlueId(r);if(!s||s.length===1)break;e.shift(),e.unshift(...s)}}fetchNode(e){const t=e.getBlueId();if(!t){if(this.strategy==="RETURN_EMPTY")return null;throw new Error(`No blueId found for node: ${e.getName()}`)}const r=this.nodeProvider.fetchByBlueId(t);if(!r||r.length===0){if(this.strategy==="RETURN_EMPTY")return null;throw new Error(`No content found for blueId: ${e.getBlueId()}`)}return r}mergeNodes(e,t){e.setName(t.getName()),e.setDescription(t.getDescription()),e.setType(t.getType()),e.setItemType(t.getItemType()),e.setKeyType(t.getKeyType()),e.setValueType(t.getValueType()),e.setValue(t.getValue()??null),e.setItems(t.getItems()),e.setProperties(t.getProperties()),e.setContracts(t.getContracts())}}class xr{}function ht(n,e){const t=n.split(e),r=[...t].reverse().findIndex(o=>o!==""),s=r===-1?0:t.length-r;return t.slice(0,s)}class Ht extends xr{constructor(t,r){super();u(this,"allowedPaths");u(this,"maxDepth");u(this,"currentPath",[]);this.allowedPaths=t,this.maxDepth=r}shouldExtendPathSegment(t){if(this.currentPath.length>=this.maxDepth)return!1;const r=this.normalizePath(this.getCurrentFullPath()+"/"+t);return this.isAllowedPath(r)}shouldMergePathSegment(t){return this.shouldExtendPathSegment(t)}isAllowedPath(t){for(const r of this.allowedPaths)if(this.matchesAllowedPath(r,t))return!0;return!1}matchesAllowedPath(t,r){const s=ht(t,"/"),o=ht(r,"/");if(o.length>s.length)return!1;for(let i=1;i<o.length;i++)if(s[i]!=="*"&&s[i]!==o[i])return!1;return!0}enterPathSegment(t){this.currentPath.push(t)}exitPathSegment(){this.currentPath.length>0&&this.currentPath.pop()}getCurrentFullPath(){return"/"+this.currentPath.join("/")}normalizePath(t){return"/"+t.split("/").filter(r=>r!=="").join("/")}static withMaxDepth(t){return new dt().setMaxDepth(t).addPath("*").build()}static withSinglePath(t){return new dt().addPath(t).build()}}class dt{constructor(){u(this,"allowedPaths",new Set);u(this,"maxDepth",Number.MAX_SAFE_INTEGER)}addPath(e){return this.allowedPaths.add(e),this}setMaxDepth(e){return this.maxDepth=e,this}build(){return new Ht(this.allowedPaths,this.maxDepth)}}const z={"MyOS Timeline Channel":"MkKoutP5qxkh3uDxZ7dr6Eo27B7fuxQCS1VAptiCPc2R","MyOS Timeline Entry":"uDxZ7dr6Eo2MkKoutP5qxkh3uxQCS1VAptiCPc2R7B7f","MyOS Agent":"AgentBlu3Id7dr6Eo2MkKoutP5qxkh3uxQCS1V","MyOS Agent Channel":"AgentCh4nn3lBlu3Id7dr6Eo2MkKoutP5qxkh3uxQCS1V","MyOS Agent Event":"AgentEv3ntBlu3Id7dr6Eo2MkKoutP5qxkh3uxQCS1V"},T={Channel:"2RMkKoutP5qxkh3uDxZ7dr6Eo27B7fuxQCS1VAptiCPc","Timeline Channel":"RMkKoutP5qxkh3uDxZ7dr6Eo27B7fuxQCS1VAptiCPc2","Composite Timeline Channel":"qxkh3uMkKoutP5DxZ7dr6Eo27B7fuxQCS1VAptiCPc2R","MyOS Timeline Channel":"MkKoutP5qxkh3uDxZ7dr6Eo27B7fuxQCS1VAptiCPc2R","Sequential Workflow":"h3uDxZ7dr6Eo27B7fuxMkKoutP5qxkQCS1VAptiCPc2R","Sequential Workflow Step":"6EoMkKoutP5DxZ7drqxkh3u27B7fuxQCS1VAptiCPc2R","Process Embedded":"DxZ7dr6EoMkKoutP5qxkh3u27B7fuxQCS1VAptiCPc2R","Embedded Node Channel":"MkKoutP5qxkh3uDxZ7dr6Eo27B7fuxQCS1VAptiCPc2","Document Update Channel":"MkKoutP5qxkh3uDQCS1VAptiCPc2xZ7dr6Eo27B7fux","Channel Event Checkpoint":"o27B7fuxMkKoutPh3uDxZ7dr6E5qxkQCS1VAptiCPc2R","Update Document":"7fuxMkKoutPh3uDxZ7dr6E5qxkQCS1VAptiCPc2R","Trigger Event":"kQCS1VAp7fuxMkKoutPh3uDxZ7dr6E5qxtiCPc2R","Json Patch Entry":"EnUQeMiMa2wHFW3JbeSPvdgfpL6qZYCR29m3SfeHsKSY","JavaScript Code":"MkKoutPDxZ7dr6Eo5qxkh3u27B7fuxQCS1VAptiCPc2R","Timeline Entry":"uDxZ7dr6Eo27B7fMkKoutP5qxkh3uxQCS1VAptiCPc2R",Operation:"OpKoutP5qxkh3uDxZ7dr6Eo27B7fuxQCS1VAptiCPc2R","Sequential Workflow Operation":"SeqOpKoutP5qxkh3uDxZ7dr6Eo27B7fuxQCS1VAptiC","Operation Request":"OpReqKoutP5qxkh3uDxZ7dr6Eo27B7fuxQCS1VAptiC"},we=v(T.Channel)(l.z.object({name:l.z.string().optional(),description:l.z.string().optional()})),Vr=v(T["Composite Timeline Channel"])(we.extend({channels:l.z.array(l.z.string()).optional()})),jr=v(T["Document Update Channel"])(we.extend({path:l.z.string().optional()})),pt=v(T["Embedded Node Channel"])(we.extend({path:l.z.string().optional()})),Fr=v(T.Operation)(l.z.object({request:M().optional(),description:l.z.string().optional(),channel:l.z.string().optional()})),zr=v(T["Operation Request"])(l.z.object({operation:l.z.string().optional(),request:M(),document:l.z.object({blueId:l.z.string().optional()}).optional(),allowNewerVersion:l.z.boolean().optional()})),We=v(T["Process Embedded"])(l.z.object({paths:l.z.array(l.z.string()).optional()})),Je=v(T["Sequential Workflow"])(l.z.object({steps:l.z.array(M()).optional(),channel:l.z.string().optional()})),Mr=v(T["Sequential Workflow Operation"])(Je.omit({channel:!0}).extend({operation:l.z.string().optional()})),Qt=v(T["Timeline Channel"])(we.extend({timelineId:l.z.string().optional()})),Ie=v(T["Timeline Entry"])(l.z.object({timelineId:l.z.string().optional(),timelinePrev:l.z.string().optional(),thread:l.z.string().optional(),threadPrev:l.z.string().optional(),message:M(),signature:l.z.string().optional()})),je=v(T["Trigger Event"])(l.z.object({event:M()})),Rr=v(T["Json Patch Entry"])(l.z.object({name:l.z.string().optional(),description:l.z.string().optional(),val:M().optional(),op:l.z.string().optional(),path:l.z.string().optional()})),Fe=v(T["Update Document"])(l.z.object({changeset:l.z.array(Rr)})),$r=v(z["MyOS Timeline Channel"])(Qt.extend({account:l.z.string().optional(),email:l.z.string().optional()})),Zr=v(z["MyOS Timeline Entry"])(Ie.extend({account:l.z.string().optional(),email:l.z.string().optional()})),Ur=v(z["MyOS Agent"])(l.z.object({agentId:l.z.string().optional()})),qr=v(z["MyOS Agent Channel"])(we.extend({agent:Ur.optional(),event:M().optional()})),Lr=v(z["MyOS Agent Event"])(l.z.object({agentId:l.z.string().optional(),id:l.z.number().optional(),timestamp:l.z.number().optional(),event:M().optional()}));class _{static initialize(...e){this.blueIdsCollections=[...e]}static registerBlueIds(...e){this.blueIdsCollections.push(...e)}static generateMappingsYaml(e="27B7fuxQCS1VAptiCPc2RMkKoutP5qxkh3uDxZ7dr6Eo"){const t={};for(const s of this.blueIdsCollections)Object.assign(t,s);const r=Object.entries(t).map(([s,o])=>` ${s}: ${o}`).join(`
|
|
19
|
+
description: This transformation replaces`,Kn=[Bt,Jn,Hn,Wn];class qn extends ge{constructor(){super();h(this,"blueIdToNodesMap",new Map);this.load()}fetchByBlueId(t){return this.blueIdToNodesMap.get(t)||[]}load(){for(const t of Kn){const r=G(t);if(r===void 0){console.error(`This content file is not valid YAML: ${t}`);continue}if(Array.isArray(r)){const s=r.map(o=>y.deserialize(o)),i=S.calculateBlueIdSync(s);this.blueIdToNodesMap.set(i,s)}else{const s=y.deserialize(r),i=S.calculateBlueIdSync(s);this.blueIdToNodesMap.set(i,[s])}}}}const de=class de extends ge{constructor(){super();h(this,"nodeProvider");this.nodeProvider=new qn}fetchByBlueId(t){return this.nodeProvider.fetchByBlueId(t)}};h(de,"INSTANCE",new de);let Ae=de;class ce{static wrap(e){return new $n([Ae.INSTANCE,e])}}const Tt=n=>n instanceof a||Array.isArray(n)&&n.every(e=>e instanceof a)?n:w.isArray(n)?n.map(e=>y.deserialize(e)):y.deserialize(n),Nt=async n=>{const e=Tt(n);return S.calculateBlueId(e)},Xn=n=>{const e=Tt(n);return S.calculateBlueIdSync(e)},Se=async n=>{if(We(n))return n;try{const e=Q.parse(n),t=await Nt(e);return{...n,blueId:t}}catch(e){throw new Error(`Failed enriching object with Blue ID: ${e}`)}},Qn=n=>n==null?void 0:n.items,er=n=>n==null?void 0:n.value,tr=n=>d.isNullable(n)?{}:w.omit(n,jt),nr=n=>qe(n)?n.type.name??null:Xe(n)?w.pascal(typeof n.value):Ke(n)?"List":null,wt=n=>d.isNonNullable(n)&&Object.keys(w.omit(n,["blueId"])).length>0,rr=n=>{try{const e=y.deserialize(n),t=B.get(e);return _.parse(t)}catch(e){throw new Error(`Failed transforming JSON-like value to BlueObject: ${e}`)}},Ce=async n=>{const{resolveFunction:e,signal:t=new AbortController().signal,omitItems:r}=n,s=n.count??n.items.length;let i=await w.map(n.items,async c=>await Se(c));const o=Math.max((i==null?void 0:i.length)-s,0);for(let c=i.length-1;c>=o;c--)if(!wt(i[c])){const u=await e(i[c],{signal:t});if(Array.isArray(u))return Ce({...n,items:[...i.slice(0,c),...u,...i.slice(c+1)]});const f=await Se(u);if(r!=null&&r.includes(f.blueId))return Ce({...n,items:[...i.slice(0,c),...i.slice(c+1)]});i=[...i.slice(0,c),f,...i.slice(c+1)]}return i};function K(n){try{const e=new URL(n);return e.protocol==="http:"||e.protocol==="https:"}catch{return!1}}class sr{process(e){return C.transform(e,this.inferType.bind(this))}inferType(e){const t=e.getType(),r=e.getValue();return d.isNullable(t)&&d.isNonNullable(r)&&(typeof r=="string"?e.setType(new a().setBlueId(ee)):typeof r=="bigint"||k(r)?e.setType(new a().setBlueId(ne)):Qe(r)?e.setType(new a().setBlueId(te)):typeof r=="boolean"&&e.setType(new a().setBlueId(re))),e}}const q=class q{constructor(e){h(this,"mappings",new Map);if(e instanceof a){const r=e.getProperties();if(r&&r[q.MAPPINGS]){const i=r[q.MAPPINGS].getProperties();i&&Object.entries(i).forEach(([o,c])=>{const u=c.getValue();typeof u=="string"&&this.mappings.set(o,u)})}}else this.mappings=e}process(e){return C.transform(e,this.transformNode.bind(this))}transformNode(e){const t=e.clone();return this.transformTypeField(t,t.getType()),this.transformTypeField(t,t.getItemType()),this.transformTypeField(t,t.getKeyType()),this.transformTypeField(t,t.getValueType()),t}transformTypeField(e,t){if(t&&t.isInlineValue()&&t.getValue()!==void 0){const r=String(t.getValue());if(this.mappings.has(r)){const s=this.mappings.get(r);if(s){const i=new a().setBlueId(s);t===e.getType()?e.setType(i):t===e.getItemType()?e.setItemType(i):t===e.getKeyType()?e.setKeyType(i):t===e.getValueType()&&e.setValueType(i)}}}}};h(q,"MAPPINGS","mappings");let Oe=q;class ir{constructor(e,t){h(this,"nodeProvider");h(this,"strategy");this.nodeProvider=ce.wrap(e),this.strategy=t||"THROW_EXCEPTION"}extend(e,t){this.extendNode(e,t,"")}extendNode(e,t,r,s=!1){if(!s){if(!t.shouldExtendPathSegment(r,e))return;t.enterPathSegment(r,e)}try{const i=e.getBlueId();if(i&&!(i in ze)){const g=this.fetchNode(e);if(g&&g.length>0)if(g.length===1){const p=g[0];this.mergeNodes(e,p)}else{const p=g.map(O=>O.clone()),T=new a().setItems(p);this.mergeNodes(e,T)}}const o=e.getType();o&&this.extendNode(o,t,"type",!0);const c=e.getItemType();c&&this.extendNode(c,t,"itemType",!0);const u=e.getKeyType();u&&this.extendNode(u,t,"keyType",!0);const f=e.getValueType();f&&this.extendNode(f,t,"valueType",!0);const I=e.getProperties();I&&Object.entries(I).forEach(([g,p])=>{this.extendNode(p,t,g,!1)});const b=e.getContracts();b&&Object.entries(b).forEach(([g,p])=>{this.extendNode(p,t,g,!1)});const m=e.getItems();if(m&&m.length>0){this.reconstructList(m);for(let g=0;g<m.length;g++)this.extendNode(m[g],t,String(g),!1)}}finally{s||t.exitPathSegment()}}reconstructList(e){for(;e.length>0;){const t=e[0],r=t==null?void 0:t.getBlueId();if(!r)break;const s=this.nodeProvider.fetchByBlueId(r);if(!s||s.length===1)break;e.shift(),e.unshift(...s)}}fetchNode(e){const t=e.getBlueId();if(!t){if(this.strategy==="RETURN_EMPTY")return null;throw new Error(`No blueId found for node: ${e.getName()}`)}const r=this.nodeProvider.fetchByBlueId(t);if(!r||r.length===0){if(this.strategy==="RETURN_EMPTY")return null;throw new Error(`No content found for blueId: ${e.getBlueId()}`)}return r}mergeNodes(e,t){e.setName(t.getName()),e.setDescription(t.getDescription()),e.setType(t.getType()),e.setItemType(t.getItemType()),e.setKeyType(t.getKeyType()),e.setValueType(t.getValueType()),e.setValue(t.getValue()??null),e.setItems(t.getItems()),e.setProperties(t.getProperties()),e.setContracts(t.getContracts())}}class or{}function Ye(n,e){const t=n.split(e),r=[...t].reverse().findIndex(i=>i!==""),s=r===-1?0:t.length-r;return t.slice(0,s)}class vt extends or{constructor(t,r){super();h(this,"allowedPaths");h(this,"maxDepth");h(this,"currentPath",[]);this.allowedPaths=t,this.maxDepth=r}shouldExtendPathSegment(t){if(this.currentPath.length>=this.maxDepth)return!1;const r=this.normalizePath(this.getCurrentFullPath()+"/"+t);return this.isAllowedPath(r)}shouldMergePathSegment(t){return this.shouldExtendPathSegment(t)}isAllowedPath(t){for(const r of this.allowedPaths)if(this.matchesAllowedPath(r,t))return!0;return!1}matchesAllowedPath(t,r){const s=Ye(t,"/"),i=Ye(r,"/");if(i.length>s.length)return!1;for(let o=1;o<i.length;o++)if(s[o]!=="*"&&s[o]!==i[o])return!1;return!0}enterPathSegment(t){this.currentPath.push(t)}exitPathSegment(){this.currentPath.length>0&&this.currentPath.pop()}getCurrentFullPath(){return"/"+this.currentPath.join("/")}normalizePath(t){return"/"+t.split("/").filter(r=>r!=="").join("/")}static withMaxDepth(t){return new Ge().setMaxDepth(t).addPath("*").build()}static withSinglePath(t){return new Ge().addPath(t).build()}}class Ge{constructor(){h(this,"allowedPaths",new Set);h(this,"maxDepth",Number.MAX_SAFE_INTEGER)}addPath(e){return this.allowedPaths.add(e),this}setMaxDepth(e){return this.maxDepth=e,this}build(){return new vt(this.allowedPaths,this.maxDepth)}}class Et{constructor(){h(this,"blueIdsCollections",[])}initialize(...e){this.blueIdsCollections=[...e]}registerBlueIds(...e){this.blueIdsCollections.push(...e)}generateMappingsYaml(e="27B7fuxQCS1VAptiCPc2RMkKoutP5qxkh3uDxZ7dr6Eo"){const t={};for(const s of this.blueIdsCollections)Object.assign(t,s);const r=Object.entries(t).map(([s,i])=>` ${s}: ${i}`).join(`
|
|
20
20
|
`);return`- type:
|
|
21
21
|
blueId: ${e}
|
|
22
22
|
mappings:
|
|
23
|
-
${r}`}
|
|
23
|
+
${r}`}getAllBlueIds(){const e={};for(const t of this.blueIdsCollections)Object.assign(e,t);return e}getAllBlueIdNames(){return Object.keys(this.getAllBlueIds())}clear(){this.blueIdsCollections=[]}getCollectionCount(){return this.blueIdsCollections.length}getTotalBlueIdCount(){return Object.keys(this.getAllBlueIds()).length}}const he=class he{constructor(e={}){h(this,"processorProvider");h(this,"nodeProvider");h(this,"defaultSimpleBlue",null);h(this,"blueIdsMappingGenerator");const{nodeProvider:t,processorProvider:r,blueIdsMappingGenerator:s}=e;if(!t)throw new Error("NodeProvider is required");this.nodeProvider=ce.wrap(t),this.processorProvider=r||he.getStandardProvider(),this.blueIdsMappingGenerator=s||new Et,this.loadDefaultSimpleBlue()}preprocess(e){return this.preprocessWithOptions(e,null)}preprocessWithDefaultBlue(e){return this.preprocessWithOptions(e,this.defaultSimpleBlue)}preprocessWithOptions(e,t){let r=e.clone(),s=r.getBlue();if(!s&&t&&(s=t.clone()),s){new ir(this.nodeProvider).extend(s,vt.withSinglePath("/*"));const i=s.getItems();if(i&&i.length>0){for(const o of i){const c=this.processorProvider.getProcessor(o);if(c)r=c.process(r);else throw new Error(`No processor found for transformation: ${o}`)}r.setBlue(void 0)}}return r}static getStandardProvider(){return{getProcessor(e){var i;const t="27B7fuxQCS1VAptiCPc2RMkKoutP5qxkh3uDxZ7dr6Eo",r="FGYuTXwaoSKfZmpTysLTLsb8WzSqf43384rKZDkXhxD4",s=(i=e.getType())==null?void 0:i.getBlueId();if(t===s)return new Oe(e);if(r===s)return new sr}}}enrichDefaultBlue(e){const t=this.blueIdsMappingGenerator.generateMappingsYaml();return`
|
|
24
24
|
${e}
|
|
25
25
|
${t}
|
|
26
|
-
`}loadDefaultSimpleBlue(){const e=this.enrichDefaultBlue(
|
|
27
|
-
${s.message}`):s}else throw ae(t)?new Error(`UrlContentFetcher not provided for URL: ${t}`):new Error(`Invalid blue value: ${t}`)}return e}getBlueNodeValue(e){const t=e.getBlue(),r=t==null?void 0:t.getValue();return r&&typeof r=="string"?r:null}handleAliasValue(e,t){return e.setBlue(new d().setBlueId(this.preprocessingAliases.get(t))),e}handleBlueId(e,t){return e.setBlue(new d().setBlueId(t)),e}async fetchFromUrl(e){if(!this.urlContentFetcher)throw new Error(`UrlContentFetcher not provided for URL: ${e}`);return await this.urlContentFetcher.fetchAndCache(e)}getPreprocessingAliases(){return new Map(this.preprocessingAliases)}setPreprocessingAliases(e){return this.preprocessingAliases=new Map(e),this}addPreprocessingAliases(e){return e.forEach((t,r)=>{this.preprocessingAliases.set(r,t)}),this}setUrlContentFetcher(e){return this.urlContentFetcher=e,this}getUrlContentFetcher(){return this.urlContentFetcher}}const Wr={fetchUrl:async n=>{throw new Error(`You must provide a custom UrlFetchStrategy to fetch content from URL: ${n}`)}};class Jr{constructor(e){u(this,"cache",new Map);u(this,"fetchStrategy");u(this,"enabled",!1);u(this,"allowedDomains",[]);this.fetchStrategy=e||Wr}validateUrl(e){if(!ae(e))throw new Error(`Invalid URL: ${e}`);return!0}isDomainAllowed(e){if(this.allowedDomains.length===0)return!0;try{const t=new URL(e);return this.allowedDomains.some(r=>t.hostname===r||t.hostname.endsWith(`.${r}`))}catch{return!1}}getFromCache(e){try{return this.validateUrl(e),this.cache.get(e)||[]}catch{return[]}}async fetchAndCache(e){if(this.validateUrl(e),!this.enabled)throw new Error("URL fetching is disabled. Enable it using the enableFetching method.");if(!this.isDomainAllowed(e))throw new Error(`Domain not allowed for URL: ${e}.`);let t;try{t=await this.fetchStrategy.fetchUrl(e)}catch(a){throw new Error(`Error fetching from URL: ${e}`,{cause:a})}const{data:r,contentType:s}=t;let o;if(s.includes("application/json")||s.includes("text/yaml")||s.includes("application/yaml")||s.includes("text/plain"))o=ee(r);else throw new Error(`Unsupported content type from URL: ${s}`);if(o===void 0)throw new Error(`Failed to parse content from URL: ${e}`);let i;return Array.isArray(o)?i=o.map(a=>w.deserialize(a)):i=[w.deserialize(o)],this.cache.set(e,i),i}prefetchUrl(e,t){try{this.validateUrl(e),this.cache.set(e,t)}catch{}}clearCache(){this.cache.clear()}setFetchStrategy(e){return this.fetchStrategy=e,this}getFetchStrategy(){return this.fetchStrategy}enableFetching(){return this.enabled=!0,this.allowedDomains=[],this}enableFetchingForDomains(e){return this.enabled=!0,this.allowedDomains=[...e],this}disableFetching(){return this.enabled=!1,this}isFetchingEnabled(){return this.enabled}getAllowedDomains(){return[...this.allowedDomains]}allowDomain(e){return this.allowedDomains.includes(e)||this.allowedDomains.push(e),this}disallowDomain(e){return this.allowedDomains=this.allowedDomains.filter(t=>t!==e),this}clearAllowedDomains(){return this.allowedDomains=[],this}}const Kr=(n,e)=>({on:(t,r)=>({end:()=>r(null)})});async function Yr(n){return new Promise((e,t)=>{Kr().on("error",t).end()})}const Z=(...n)=>n.map((e,t)=>{if(typeof e!="string")return"";if(t===0&&e==="/")return"/";const r=t>0?e.replace(/^\/+/,""):e;return t<n.length-1?r.replace(/\/+$/,""):r}).filter(Boolean).join("/").replace(/\/{2,}/g,"/");class Gt{constructor(e,t,r,s){u(this,"actions",[]);this.getDocument=e,this.taskInfo=t,this.blue=r,this.onFlush=s}get(e){const t=this.getDocument(),r=Z(this.taskInfo.nodePath,e);return t.get(r)}addPatch(e){this.actions.push({kind:"patch",patch:{...e,path:Z(this.taskInfo.nodePath,e.path)}})}emitEvent(e){const t=this.taskInfo.event,r=t.trace??[],s={...e,originNodePath:e.originNodePath??this.taskInfo.nodePath,rootEvent:e.rootEvent??t.rootEvent??t,trace:[...r]};this.actions.push({kind:"event",event:s})}async flush(){var t;if(!this.actions.length)return[];const e=[...this.actions];return this.actions.length=0,await((t=this.onFlush)==null?void 0:t.call(this,e)),e}getNodePath(){return this.taskInfo.nodePath}resolvePath(e){return Z(this.taskInfo.nodePath,e)}getTaskInfo(){return this.taskInfo}getBlue(){return this.blue}loadExternalModule(e){if(!/^https?:\/\//.test(e))throw new Error("Only http/https URLs are allowed");return Yr()}loadBlueContent(e){throw new Error("Not implemented")}}class Xt extends Error{constructor(e,t){super(`Cannot apply patch ${JSON.stringify(e)}`),this.patch=e,this.cause=t,this.name="PatchApplicationError"}}class en extends Error{constructor(e,t,r){super(`Patch ${JSON.stringify(e)} touches "${e.op==="move"||e.op==="copy"?`${e.from} → ${e.path}`:e.path}" which is inside embedded document "${t}" (Process Embedded @ "${r}")`),this.patch=e,this.offendingPath=t,this.contractNodePath=r,this.name="EmbeddedDocumentModificationError"}}class ft extends Error{constructor(e,t){super(`Failed to evaluate expression "${e}"`),this.code=e,this.cause=t,this.name="ExpressionEvaluationError"}}class yt extends Error{constructor(e,t){super(`Failed to evaluate code block "${e}"`),this.code=e,this.cause=t,this.name="CodeBlockEvaluationError"}}class q{static isTypeOf(e,t){var o;const r=Oe.resolveBlueId(t),s=(o=e.getType())==null?void 0:o.getBlueId();return p.isNullable(r)||p.isNullable(s)?!1:r===s}}const L=n=>!!n&&typeof n=="object"&&!Array.isArray(n)&&!(n instanceof d),F=n=>n instanceof A||n instanceof D,Hr=n=>n.replace(/~1/g,"/").replace(/~0/g,"~");function re(n){if(n==="/")return[];if(!n.startsWith("/"))throw new Error(`Path must start with '/': ${n}`);return n.split("/").slice(1).map(Hr)}function te(n){if(n==="-")return-1;const e=typeof n=="number"?n:parseInt(n,10);if(isNaN(e))throw new Error(`Invalid array index (NaN) from '${n}'`);if(!Number.isFinite(e))throw new Error(`Invalid array index '${n}' results in non-finite number ${e}`);return e}function tn(n,e,t,r=!0){switch(e){case"name":return t?r?n.getName()??null:n:n.getName();case"description":return t?r?n.getDescription():n:n.getDescription();case"type":return n.getType();case"itemType":return n.getItemType();case"keyType":return n.getKeyType();case"valueType":return n.getValueType();case"value":return t?r?n.getValue()??null:n:n.getValue();case"blueId":return t?r?n.getBlueId()??null:n:n.getBlueId();case"blue":return n.getBlue();case"items":return n.getItems();case"properties":return n.getProperties();case"contracts":return n.getContracts();default:return}}function mt(n,e,t=!0){if(n instanceof d){const r=tn(n,e,!0,t);if(r!==void 0||["name","description","type","itemType","keyType","valueType","value","blueId","blue","items","properties","contracts"].includes(e))return r;if(/^-?\d+$/.test(e)&&e!=="-"){const o=n.getItems(),i=parseInt(e,10);return o&&i>=0&&i<o.length?o[i]:void 0}const s=n.getProperties();return s&&e in s?s[e]:void 0}if(Array.isArray(n)){if(e==="-")return;const r=te(e);return r>=0&&r<n.length?n[r]:void 0}if(L(n))return n[e]}function se(n,e){if(e.length===0)return{parent:n,key:"value",actualTarget:n.getValue()??n};let t=n;for(let s=0;s<e.length-1;++s){const o=e[s],i=mt(t,o);if(i===void 0)throw new Error(`Cannot resolve '/${e.slice(0,s+1).join("/")}'`);t=i}const r=e[e.length-1];if(t instanceof d){const s=mt(t,r,!1);if((typeof s!="object"||s===null||F(s))&&!(s instanceof d)&&!Array.isArray(s)&&["name","description","value","blueId"].includes(r))return{parent:t,key:r,actualTarget:s}}return Array.isArray(t)&&r==="-"?{parent:t,key:"-"}:t instanceof d&&t.getItems()&&r==="-"?{parent:t,key:"-"}:{parent:t,key:Array.isArray(t)?te(r):r}}function ot(n,e){var t;if(n instanceof d){const r=e,s=tn(n,r,!1);if(s!==void 0||["name","description","type","itemType","keyType","valueType","value","blueId","blue","items","properties","contracts"].includes(r))return s;if(typeof e=="number"||typeof e=="string"&&/^\d+$/.test(e)){const o=n.getItems(),i=typeof e=="number"?e:parseInt(e,10);if(o&&i>=0&&i<o.length)return o[i]}return(t=n.getProperties())==null?void 0:t[r]}return Array.isArray(n)||L(n)?n[e]:n}function P(n){if(n instanceof d)return n;if(n===null||typeof n=="string"||typeof n=="number"||typeof n=="boolean"||F(n))return w.deserialize(n);const e=Ke(n);return w.deserialize(e)}function Ke(n){if(n===void 0)return null;if(n===null||typeof n!="object")return n;if(Array.isArray(n))return n.map(Ke);const e={};for(const[t,r]of Object.entries(n))e[t]=Ke(r);return e}function it(n,e,t){if(n instanceof d){const r=e;switch(r){case"name":n.setName(t);return;case"description":n.setDescription(t);return;case"type":n.setType(t instanceof d||typeof t=="string"||t===void 0?t:P(t));return;case"itemType":n.setItemType(t instanceof d||typeof t=="string"||t===void 0?t:P(t));return;case"keyType":n.setKeyType(t instanceof d||typeof t=="string"||t===void 0?t:P(t));return;case"valueType":n.setValueType(t instanceof d||typeof t=="string"||t===void 0?t:P(t));return;case"value":{const s=t;n.setValue(s===void 0?null:s);return}case"blueId":n.setBlueId(t);return;case"blue":n.setBlue(t instanceof d||t===void 0?t:P(t));return;case"items":n.setItems(t);return;case"properties":n.setProperties(t);return;case"contracts":n.setContracts(t);return;default:{if(t===void 0){const s=n.getProperties();s&&r in s&&delete s[r]}else n.getProperties()||n.setProperties({}),n.addProperty(r,t instanceof d?t:P(t));return}}}Array.isArray(n)?n.splice(te(e),1):L(n)&&(t===void 0?delete n[e]:n[e]=t)}function Qr(n,e,t,r){let s=-1;if(e!=="-"&&(s=typeof e=="number"?e:parseInt(e,10),isNaN(s)))throw new Error(`Invalid numeric key for BlueNode item operation: ${e}`);if(s<-1)throw new Error(`Invalid array index for BlueNode items: ${s}`);let o=n.getItems();if(o||(o=[],n.setItems(o)),!r&&s!==-1&&s>o.length)throw new Error(`ADD operation failed: Target array index '${s}' is greater than array length ${o.length}.`);if(e==="-")o.push(t);else if(r){if(s>=0)if(s<o.length)o[s]=t;else{for(let i=o.length;i<s;i++)o.push(w.deserialize(null));o.push(t)}}else o.splice(s,0,t)}function Be(n,e,t,r){if(Array.isArray(n)){const s=e==="-"?n.length:te(e);if(!r&&s>n.length)throw new Error(`ADD operation failed: Target array index '${s}' is greater than array length ${n.length}. Path involving key '${e}'.`);if(s<0&&e!=="-")throw new Error(`Invalid negative array index: ${e}`);const o=P(t);if(r){if(s>=0&&s<n.length)n[s]=o;else if(s>=n.length){for(let i=n.length;i<s;i++)n.push(w.deserialize(null));n.push(o)}}else n.splice(s,0,o);return}if(n instanceof d){e==="-"||typeof e=="number"&&!isNaN(e)||typeof e=="string"&&/^\d+$/.test(e)?Qr(n,e,P(t),r):it(n,e,t);return}if(L(n)){n[e]=P(t);return}throw new Error(`Cannot insert into parent of type ${typeof n}`)}function Gr(n,e){if(Array.isArray(n)){const t=te(e);t===-1&&e==="-"?n.length>0&&n.pop():t>=0&&t<n.length&&n.splice(t,1);return}if(n instanceof d){if(typeof e=="number"||typeof e=="string"&&/^-?\d+$/.test(e)){const t=n.getItems();if(t){const r=te(e);r===-1&&e==="-"?t.length>0&&t.pop():r>=0&&r<t.length&&t.splice(r,1),t.length===0&&n.setItems(void 0);return}}it(n,e,void 0)}else L(n)&&delete n[e]}function Ye(n){if(n instanceof d)return n.clone();if(Array.isArray(n))return n.map(t=>Ye(t));if(L(n)){const e={};return Object.keys(n).forEach(t=>{e[t]=Ye(n[t])}),e}return n}function W(n,e){if(n===e||n instanceof d&&(n.isInlineValue()||n.getValue()!==void 0)&&W(n.getValue()??null,e)||e instanceof d&&(e.isInlineValue()||e.getValue()!==void 0)&&W(n,e.getValue()??null))return!0;if(n instanceof d&&e instanceof d||F(n)&&F(e)||F(n)&&typeof e=="number"||typeof n=="number"&&F(e))return n.toString()===e.toString();if(Array.isArray(n)&&Array.isArray(e))return n.length===e.length&&n.every((t,r)=>W(t,e[r]));if(L(n)&&L(e)){const t=Object.keys(n),r=Object.keys(e);return t.length===r.length&&t.every(s=>W(n[s],e[s]))}return!1}function nn(n,e){const{parent:t,key:r}=se(n,re(e));return ot(t,r)}function rn(n,e,t){const r=re(e);if(r.length===0&&e==="/"){const i=P(t);n.setValue(i.getValue()??null),i.getItems()?n.setItems(i.getItems()):n.setItems(void 0);return}const{parent:s,key:o}=se(n,r);Be(s,o,t,!0)}function Xr(n,e,t){const r=re(e);if(r.length===0&&e==="/"){if(n.getItems()&&Array.isArray(t)){const i=P(t);i.getItems()?(n.setItems(i.getItems()),n.setValue(null)):(n.setValue(i.getValue()??null),n.setItems(void 0))}else{const i=P(t);n.setValue(i.getValue()??null),i.getItems()&&n.setItems(i.getItems())}return!0}const{parent:s,key:o}=se(n,r);return Be(s,o,t,!1),!0}function es(n,e,t){const r=re(e);if(r.length===0&&e==="/"){const a=P(t);return n.setValue(a.getValue()??null),a.getItems()?n.setItems(a.getItems()):n.setItems(void 0),!0}const{parent:s,key:o,actualTarget:i}=se(n,r);if(i!==void 0&&s instanceof d)it(s,o,t);else{const a=ot(s,o),c=Array.isArray(s)||s instanceof d&&s.getItems()&&(typeof o=="number"||typeof o=="string"&&/^\d+$/.test(o));if(a===void 0){if(c)throw new Error(`REPLACE failed: Target array index '${o.toString()}' is out of bounds or does not exist at path '${e}'.`);Be(s,o,t,!0)}else Be(s,o,t,!0)}return!0}function sn(n,e){const t=re(e);if(t.length===0&&e==="/")return n.setValue(null),n.setItems(void 0),n.setProperties(void 0),!0;const{parent:r,key:s}=se(n,t);return Gr(r,s),!0}function ts(n,e,t){const r=Ye(nn(n,e));return rn(n,t,r),!0}function ns(n,e,t){const r=re(e),{parent:s,key:o}=se(n,r),i=ot(s,o);if(i===void 0)throw new Error(`MOVE failed: 'from' location '${e}' does not exist.`);return sn(n,e)?(rn(n,t,i),!0):!1}function rs(n,e,t){const r=nn(n,e);let s=t;if(r instanceof d)if((t===null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"||F(t))&&(r.isInlineValue()||r.getValue()!==void 0)){if(!W(r.getValue()??null,t))throw new Error(`TEST failed at '${e}': Expected ${JSON.stringify(t)}, got ${JSON.stringify(r.getValue()??null)}`);return!0}else typeof t=="object"&&!(t instanceof d)&&(s=P(t));else if(F(r)&&typeof t=="number")r instanceof A?s=new A(t.toString()):r instanceof D&&(s=new D(t.toString()));else if((r===null||typeof r=="string"||typeof r=="number"||typeof r=="boolean")&&F(t)){const o=t;!W(r,o.toString())&&(typeof r=="number"&&parseFloat(o.toString()))}if(!W(r,s)){const o=r instanceof d?r.toString():JSON.stringify(r),i=s instanceof d?s.toString():JSON.stringify(s);throw new Error(`TEST failed at '${e}': Expected ${i}, got ${o}`)}return!0}function ss(n,e){switch(e.op){case"add":return Xr(n,e.path,e.val);case"replace":return es(n,e.path,e.val);case"remove":return sn(n,e.path);case"copy":return ts(n,e.from,e.path);case"move":return ns(n,e.from,e.path);case"test":return rs(n,e.path,e.val)}}function os(n,e,t=!1){const r=t?n:n.clone();return ss(r,e),r}function at(n){if(Object.isFrozen(n))return n;Object.freeze(n);for(const e of Object.getOwnPropertyNames(n)){const t=n[e];p.isNonNullable(t)&&typeof t=="object"&&at(t)}return n}const is=new Lt;function lt(n,e="/",t=[]){const r=n.getContracts()??{};for(const[s,o]of Object.entries(r))if(q.isTypeOf(o,We)){const c=is.convert(o,We).paths??[];for(const h of c)t.push({absPath:Z(e,h),contractPath:Z(e,`contracts/${s}`)})}for(const[s,o]of Object.entries(n.getProperties()??{}))lt(o,Z(e,s),t);return t}function gt(n,e){return n===e||n.startsWith(e.endsWith("/")?e:e+"/")}function bt(n,e){if(!e.length)return n;let t=n.clone();for(const r of e)try{t=os(t,r,!0)}catch(s){throw new Xt(r,s)}return at(t)}function S(n){return n!=null}function pe(n){return n instanceof d}class as{constructor(e=[],t=(r,s)=>r<s?-1:r>s?1:0){u(this,"data");u(this,"length");u(this,"compare");if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let r=(this.length>>1)-1;r>=0;r--)this._down(r)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(this.length===0)return;const e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:t,compare:r}=this,s=t[e];for(;e>0;){const o=e-1>>1,i=t[o];if(r(s,i)>=0)break;t[e]=i,e=o}t[e]=s}_down(e){const{data:t,compare:r}=this,s=this.length>>1,o=t[e];for(;e<s;){let i=(e<<1)+1;const a=i+1;if(a<this.length&&r(t[a],t[i])<0&&(i=a),r(t[i],o)>=0)break;t[e]=t[i],e=i}t[e]=o}}const ls=(n,e,t,r,s,o)=>[-n,e,t,r,s,o],cs=(n,e)=>{for(let t=0;t<n.key.length;t++){const r=n.key[t],s=e.key[t];if(r!==s)return typeof r=="number"&&typeof s=="number"?r-s:typeof r=="string"&&typeof s=="string"?r.localeCompare(s):0}return 0};class us{constructor(){u(this,"queue");this.queue=new as([],cs)}push(e){this.queue.push(e)}pop(){return this.queue.pop()}get length(){return this.queue.length}}class hs{constructor(e=[]){u(this,"processors",new Map);u(this,"typeOrder",new Map);e.forEach((t,r)=>this.register(t,r))}register(e,t){if(this.processors.has(e.contractBlueId))throw new Error(`Processor for ${e.contractType} already registered`);this.processors.set(e.contractBlueId,e),this.typeOrder.has(e.contractBlueId)||this.typeOrder.set(e.contractBlueId,t??this.typeOrder.size)}get(e){if(!e)return;const t=e.getBlueId();if(t)return this.processors.get(t)}orderOf(e){if(!e)return 0;const t=e.getBlueId();return t?this.typeOrder.get(t)??0:0}values(){return this.processors.values()}}class ds{constructor(){u(this,"isEnabled");this.isEnabled=process.env.TRACE_BLUE_ENABLED==="true"}makeHop(e,t){return`${e}#${t}`}shouldTrace(){return this.isEnabled}addHop(e,t,r){if(!this.shouldTrace())return{...e};const s=[...e.trace??[],this.makeHop(t,r)];return{...e,trace:s}}getTrace(e){return e.trace??[]}clearTrace(e){return{...e,trace:[]}}isTracingEnabled(){return this.isEnabled}}const ps=64;class fs{constructor(e,t,r,s,o){u(this,"traceManager");this.blue=e,this.registry=t,this.queue=r,this.getNextTaskId=s,this.getNextEventSeq=o,this.traceManager=new ds}async route(e,t,r,s,o=0){var c;if(r.seq===void 0&&(r.seq=this.getNextEventSeq()),t.length===0){if(r.dispatchPath){const h=r.dispatchPath.split("/").filter(Boolean),f={...r};return delete f.dispatchPath,this.route(e,h,f,s,o)}if(r.source==="channel"&&r.originNodePath&&r.originNodePath!=="/"){const h=((c=r.originNodePath)==null?void 0:c.split("/").filter(Boolean))??[];return this.route(e,h,r,s,o)}}const i=Z("/",t.join("/")),a=e.get(i);pe(a)&&await this.traverseContracts({doc:e,node:a,nodePath:i,event:r,afterTaskId:s,pathSegments:t,inlineDepth:o})}async traverseContracts(e){const{doc:t,node:r,nodePath:s,event:o,afterTaskId:i,pathSegments:a,inlineDepth:c}=e;if(!this.shouldSkipForChannel(o,s))for(const[h,f]of Object.entries(r.getContracts()??{})){if(!f.getType())continue;const g=this.registry.get(f.getType());if(!g){console.warn(`No processor registered for contract: ${h}`);continue}const b={nodePath:s,contractName:h,contractNode:f,event:o},y=new Gt(()=>t,b,this.blue);if(g.supports(o,f,y,h))switch(g.role){case"adapter":await this.processAdapter({cp:g,event:o,contractNode:f,ctx:y,contractName:h,doc:t,afterTaskId:i,inlineDepth:c});break;case"handler":this.scheduleHandler({contractNode:f,contractName:h,nodePath:s,event:o,depth:a.length,afterTaskId:i});break}}}async processAdapter(e){var m;const{cp:t,event:r,contractNode:s,ctx:o,contractName:i,doc:a,afterTaskId:c,inlineDepth:h}=e;if(h>=ps)throw new Error("Adapter recursion limit reached");const f=this.traceManager.addHop(r,((m=o.getTaskInfo())==null?void 0:m.nodePath)??"",i);await t.handle(f,s,o,i);const g=await o.flush();if(g.find(E=>E.kind==="patch"))throw new Error(`Contract "${i}" (adapter) attempted to patch the document`);const y=g.filter(E=>E.kind==="event");for(const E of y)await this.route(a,[],E.event,c,h+1)}scheduleHandler(e){const{contractNode:t,contractName:r,nodePath:s,event:o,depth:i,afterTaskId:a}=e,c=t.getType();if(!c){console.warn(`Contract node type is not defined for: ${r}`);return}const h=this.registry.orderOf(c),f=t.get("/order"),g=O(f)?f.toNumber():0,b=this.getNextTaskId()+a,y=ls(i,o.seq,h,g,r,b),m=this.traceManager.addHop(o,s,r);this.queue.push({key:y,nodePath:s,contractName:r,contractNode:t,event:m})}shouldSkipForChannel(e,t){return e.source==="channel"&&!!e.originNodePath&&e.originNodePath!==t}}const ys=(n,e,t)=>{(t instanceof Xt||t instanceof en)&&console.error(`[Blue] Failed to apply patches for contract "${n}" on event ${JSON.stringify(e)}`,t)};function wt(n){const e=n.clone(),t=r=>{var o;if(!pe(r))return;const s=r.getContracts();s&&(!s.checkpoint||((o=s.checkpoint.getType())==null?void 0:o.getBlueId())!==T["Channel Event Checkpoint"])&&r.addContract("checkpoint",w.deserialize({type:{name:"Channel Event Checkpoint",blueId:T["Channel Event Checkpoint"]},lastEvents:{}}))};t(e);for(const{absPath:r}of lt(e)){const s=e.get(r);pe(s)&&t(s)}return at(e)}class ms{constructor(e){u(this,"contractType","Channel Event Checkpoint");u(this,"contractBlueId",T["Channel Event Checkpoint"]);u(this,"role","handler");this.cache=e}supports(e){var t,r;return e.source==="channel"&&((t=e.rootEvent)==null?void 0:t.payload)===e.payload&&((r=e.rootEvent)==null?void 0:r.source)==="external"}async handle(e,t,r){var i;if(!e.channelName||!((i=e.rootEvent)!=null&&i.seq))return;const s=await r.getBlue().calculateBlueId(e.rootEvent.payload),o=r.getNodePath().replace(/\/contracts\/checkpoint$/,"");this.cache.record(o,e,s)}init(){return[]}}const Tt=(n,e)=>n.get(e)!==void 0;class gs{constructor(){u(this,"firstSeen",new Map)}record(e,t,r){const s=e;this.firstSeen.has(s)||this.firstSeen.set(s,{docBase:e,event:t,eventBlueId:r})}flush(e){const t=[];for(const{docBase:r,event:s,eventBlueId:o}of this.firstSeen.values()){if(!s.channelName)continue;const i=Z(r,"contracts/checkpoint/lastEvents",s.channelName),a=`${i}/blueId`;Tt(e,i)?t.push({op:Tt(e,a)?"replace":"add",path:a,val:o}):t.push({op:"add",path:i,val:{blueId:o}})}return t}clear(){this.firstSeen.clear()}}class bs{constructor(e,t=[]){u(this,"taskCounter",0);u(this,"eventCounter",0);u(this,"registry");u(this,"queue");u(this,"router");u(this,"checkpointCache",new gs);this.blue=e,this.registry=new hs(t),this.queue=new us,this.router=new fs(this.blue,this.registry,this.queue,()=>++this.taskCounter,()=>++this.eventCounter),this.register(new ms(this.checkpointCache),9999)}register(e,t){this.registry.register(e,t)}async initialise(e){e=wt(e);const t=await this.bootstrapContracts(e);for(const r of t)await this.router.route(e,[],r,0);return this.drainQueue(e)}async processEvents(e,t){let r=wt(e);const s=[];for(const o of t)try{const i={payload:o,source:"external"};await this.router.route(r,[],i,0);const a=await this.drainQueue(r);r=a.state,s.push(...a.emitted);const c=this.checkpointCache.flush(r);c.length&&(r=bt(r,c))}finally{this.checkpointCache.clear()}return{state:r,emitted:s}}async bootstrapContracts(e){const t=[],r=e.getContracts();if(!r)return t;for(const[,s]of Object.entries(r)){const o=this.registry.get(s.getType());o!=null&&o.init&&t.push(...await o.init(s))}return t}async drainQueue(e){var i;let t=e;const r=[],s=1e4;let o=0;for(;this.queue.length;){if(++o>s)throw new Error("Possible cycle – too many iterations");const a=this.queue.pop(),{nodePath:c,contractName:h,contractNode:f,event:g}=a,b=t.get(c);if(!pe(b)||!((i=b.getContracts())!=null&&i[h])||!f.getType())continue;const y=this.registry.get(f.getType());if(!y){console.warn(`No processor registered for contract: ${h}`);continue}const m=new Gt(()=>t,a,this.blue,async E=>{for(const I of E)if(I.kind==="patch"){const H=lt(t);for(const N of H){const ie=I.patch.op==="move"||I.patch.op==="copy"?[I.patch.from,I.patch.path]:[I.patch.path],Te=m.getNodePath(),un=ie.some(dn=>gt(dn,N.absPath)),hn=gt(Te,N.absPath);if(un&&!hn)throw new en(I.patch,N.absPath,Te)}try{t=bt(t,[I.patch])}catch(N){throw ys(h,g,N),N}}else I.kind==="event"&&(r.push(I.event.payload),await this.router.route(t,[],I.event,a.key[5]))});await y.handle(g,f,m,h),await m.flush()}return{state:t,emitted:r}}}class oe{constructor(){u(this,"role","adapter")}baseSupports(e){return e.source!=="channel"}init(){return[]}}class ws extends oe{constructor(){super(...arguments);u(this,"contractType","Composite Timeline Channel");u(this,"contractBlueId",T["Composite Timeline Channel"])}supports(t,r,s){const o=s.getBlue().nodeToSchemaOutput(r,Vr);return!o.channels||!t.channelName?!1:o.channels.includes(t.channelName)}handle(t,r,s,o){s.emitEvent({payload:t.payload,channelName:o,source:"channel"})}}class Ts extends oe{constructor(){super(...arguments);u(this,"contractType","Document Update Channel");u(this,"contractBlueId",T["Document Update Channel"])}supports(t,r,s,o){if(!this.baseSupports(t))return!1;const i=s.getBlue().nodeToSchemaOutput(r,jr),a=t.payload.path;if(!a||t.channelName===o)return!1;const c=i.path;return p.isNonNullable(c)&&a===s.resolvePath(c)}handle(t,r,s,o){const i=t.payload;i&&s.emitEvent({payload:i,channelName:o,source:"channel"})}}class Es extends oe{constructor(){super(...arguments);u(this,"contractType","Embedded Node Channel");u(this,"contractBlueId",T["Embedded Node Channel"])}supports(t,r,s){if(!this.baseSupports(t))return!1;const o=s.getBlue().nodeToSchemaOutput(r,pt);return S(t.originNodePath)&&S(o.path)&&t.originNodePath===s.resolvePath(o.path)}handle(t,r,s,o){const i=s.getBlue().nodeToSchemaOutput(r,pt),{originNodePath:a,payload:c}=t;S(i.path)&&a===s.resolvePath(i.path)&&s.emitEvent({payload:c,channelName:o,source:"channel"})}}const Et=n=>n.payload.type==="Timeline Entry"||n.payload.type==="MyOS Timeline Entry";class Is extends oe{constructor(){super(...arguments);u(this,"contractType","MyOS Timeline Channel");u(this,"contractBlueId",z["MyOS Timeline Channel"])}supports(t,r,s){if(!this.baseSupports(t)||!Et(t))return!1;const o=s.getBlue(),i=o.jsonValueToNode(t.payload),a=o.nodeToSchemaOutput(i,Zr),c=s.getBlue().nodeToSchemaOutput(r,$r),h=S(c.timelineId)&&S(a.timelineId),f=S(c.account)&&S(a.account),g=S(c.email)&&S(a.email);return h&&a.timelineId===c.timelineId||f&&a.account===c.account||g&&a.email===c.email}handle(t,r,s,o){Et(t)&&s.emitEvent({payload:t.payload,channelName:o,source:"channel"})}}class vs extends oe{constructor(){super(...arguments);u(this,"contractType","MyOS Agent Channel");u(this,"contractBlueId",z["MyOS Agent Channel"])}supports(t,r,s){if(!this.baseSupports(t))return!1;try{const{myosAgentEvent:o,myosAgentChannel:i}=this.parseEventAndChannel(t,r,s);return this.isAgentMatch(o,i)&&this.isEventPatternMatch(o,i,s)}catch(o){return console.warn("Error in MyOSAgentChannelProcessor.supports:",o),!1}}handle(t,r,s,o){s.emitEvent({payload:t.payload,channelName:o,source:"channel"})}parseEventAndChannel(t,r,s){const o=s.getBlue(),i=o.jsonValueToNode(t.payload),a=o.nodeToSchemaOutput(i,Lr),c=o.nodeToSchemaOutput(r,qr);return{myosAgentEvent:a,myosAgentChannel:c}}isAgentMatch(t,r){var i;const s=t.agentId,o=(i=r.agent)==null?void 0:i.agentId;return S(s)&&S(o)&&s===o}isEventPatternMatch(t,r,s){const o=r.event;if(!o)return!0;const i=t.event;if(!i)return!1;try{const a=s.getBlue(),c=a.nodeToJson(i),h=a.nodeToJson(o);return p.deepContains(c,h)}catch(a){return console.warn("Error during event pattern matching:",a),!1}}}class Bs{constructor(){u(this,"contractType","Operation");u(this,"contractBlueId",T.Operation);u(this,"role","adapter")}supports(e,t,r,s){const i=r.getBlue().nodeToSchemaOutput(t,Fr),a=this.parseEventPayload(e,r);return S(a==null?void 0:a.operation)&&a.operation===s&&e.source==="channel"&&e.channelName===i.channel}async handle(e,t,r,s){r.emitEvent({payload:e.payload,channelName:s,source:"channel"})}init(){return[]}parseEventPayload(e,t){const r=t.getBlue(),s=r.jsonValueToNode(e.payload);if(q.isTypeOf(s,Ie)){const o=r.nodeToSchemaOutput(s,Ie);return r.nodeToSchemaOutput(o.message,zr)}return null}}class Ns{constructor(){u(this,"contractType","Process Embedded");u(this,"role","adapter");u(this,"contractBlueId",T["Process Embedded"])}supports(e){return e.source!=="channel"}handle(e,t,r){const s=r.getBlue().nodeToSchemaOutput(t,We);for(const o of s.paths??[])r.emitEvent({...e,dispatchPath:r.resolvePath(o)})}init(){return[]}}const on=!process.env.SKIP_ISOLATED_VM;let R=null;if(on)try{R=require("isolated-vm")}catch{console.warn("isolated-vm not available, using fallback evaluation method")}function It(n){return/\bimport\s.+\sfrom\s+['"][^'"]+['"]/.test(n)||/\bexport\s+/.test(n)}class an{static async evaluate({code:e,ctx:t,bindings:r={},options:s={}}){return!R||!on?this.evaluateSimple(e,r,s):this.evaluateSecure(e,r,t,s)}static async evaluateSimple(e,t,r={}){if(It(e))throw new Error("Static import/export syntax requires isolated-vm – start Node without SKIP_ISOLATED_VM.");try{if(r.isCodeBlock){const s=Object.keys(t);return await(await new Function(...s,`return async function codeBlock(${s.join(", ")}) { ${e} }`)(...s.map(a=>t[a])))(...s.map(a=>t[a]))}else return new Function(...Object.keys(t),`return ${e};`)(...Object.values(t))}catch(s){throw r.isCodeBlock?new yt(e,s):new ft(e,s)}}static async evaluateSecure(e,t,r,s={}){if(!R)throw new Error("isolated-vm not available");const o=new R.Isolate({memoryLimit:32}),i=await o.createContext(),a=i.global;try{await this.setupIsolateEnvironment(a,t);const c=new Map,h=this.createModuleResolver(o,i,c,r);return It(e)?await this.evaluateESModule(o,i,e,s,h):await this.evaluateSimpleScript(o,i,e,t,s)}catch(c){throw s.isCodeBlock?new yt(e,c):new ft(e,c)}finally{i.release(),o.dispose()}}static async setupIsolateEnvironment(e,t){if(!R)throw new Error("isolated-vm not available");const r=new R.Callback((...s)=>console.log(...s));await e.set("log",r);for(const[s,o]of Object.entries(t))typeof o=="function"?await e.set(s,new R.Callback(o)):await e.set(s,new R.ExternalCopy(o).copyInto())}static createModuleResolver(e,t,r,s){return async o=>{if(r.has(o))return r.get(o);if(o.startsWith("blue:")){const i=o.slice(5),a=s.loadBlueContent;if(typeof a!="function")throw new Error(`ProcessingContext is missing a loadBlueContent(blueId) implementation (needed for ${o})`);const c=await a(i),h=await e.compileModule(c);return r.set(o,h),await h.instantiate(t,this.createModuleResolver(e,t,r,s)),h}if(/^https?:\/\//.test(o)){let i;if(typeof s.loadExternalModule=="function")i=await s.loadExternalModule(o);else throw new Error(`ProcessingContext is missing a loadExternalModule(url) implementation (needed for ${o})`);const a=await e.compileModule(i);return r.set(o,a),await a.instantiate(t,this.createModuleResolver(e,t,r,s)),a}throw new Error(`Unsupported module specifier "${o}"`)}}static async evaluateSimpleScript(e,t,r,s,o){const i=Object.keys(s).join(", "),a=Object.keys(s).map(f=>f),c=`(async (${i}) => { ${o.isCodeBlock?r:`return (${r});`} })(${a.join(", ")})`;return await(await e.compileScript(c)).run(t,{timeout:o.timeout??500,promise:!0,copy:!0,release:!0})}static async evaluateESModule(e,t,r,s,o){let i=r;if(s.isCodeBlock){const h=/^\s*(import\s.+?;|export\s.+?;)/gm,f=(r.match(h)||[]).join(`
|
|
28
|
-
`),g=r.replace(h,"").trim();i=`
|
|
29
|
-
${f}
|
|
30
|
-
const run = function() {
|
|
31
|
-
${g}
|
|
32
|
-
};
|
|
33
|
-
export default run();
|
|
34
|
-
`}const a=await e.compileModule(i);return await a.instantiate(t,o),await a.evaluate({timeout:s.timeout??500,promise:!0,reference:!0,release:!0}),await a.namespace.get("default",{timeout:s.timeout??500,promise:!0,copy:!0,release:!0})}}class ln{static createStandardBindings(e,t,r){const s=e.getBlue();return{document:o=>{const i=e.get(o);return O(i)?i.toNumber():pe(i)?s.nodeToJson(i,"original"):i},event:t.payload,steps:r}}}class Ps{constructor(){u(this,"stepType","Update Document")}supports(e){return q.isTypeOf(e,Fe)}async evaluateChangeValue(e,t,r,s){const o=e==null?void 0:e.getValue();if(typeof o=="string"&&o.startsWith("${")&&o.endsWith("}")){const i=o.slice(2,-1);return await an.evaluate({code:i,ctx:t,bindings:ln.createStandardBindings(t,r,s)})}return e}async execute(e,t,r,s,o){if(!q.isTypeOf(e,Fe))return;const i=r.getBlue().nodeToSchemaOutput(e,Fe);for(const a of i.changeset??[])if(a.path){if(a.op==="replace"||a.op==="add"){const c=await this.evaluateChangeValue(a.val,r,t,o);r.addPatch({op:a.op,path:a.path,val:c}),r.emitEvent({payload:{type:"Document Update",op:a.op,path:r.resolvePath(a.path),val:c}})}a.op==="remove"&&(r.addPatch({op:a.op,path:a.path}),r.emitEvent({payload:{type:"Document Update",op:a.op,path:r.resolvePath(a.path),val:null}}))}}}class Ss{constructor(){u(this,"stepType","Trigger Event")}supports(e){return q.isTypeOf(e,je)}async execute(e,t,r){if(!q.isTypeOf(e,je))return;const s=r.getBlue().nodeToSchemaOutput(e,je),o=B.get(s.event,"simple");r.emitEvent({payload:o})}}const ze=v(T["JavaScript Code"])(l.z.object({code:l.z.string().optional()}));class Cs{constructor(){u(this,"stepType","JavaScript Code")}supports(e){return q.isTypeOf(e,ze)}async execute(e,t,r,s,o){if(!q.isTypeOf(e,ze))return;const a=r.getBlue().nodeToSchemaOutput(e,ze);if(!a.code)throw new Error("JavaScript code is required");const c=await an.evaluate({code:a.code,ctx:r,bindings:ln.createStandardBindings(r,t,o),options:{isCodeBlock:!0,timeout:500}});if(c&&typeof c=="object"&&"events"in c){const h=c;if(Array.isArray(h.events))for(const f of h.events)r.emitEvent({payload:f})}return c}}const As=[new Ps,new Ss,new Cs];class cn{constructor(e=As){u(this,"contractType","Sequential Workflow");u(this,"contractBlueId",T["Sequential Workflow"]);u(this,"role","handler");u(this,"executors",[]);this.executors=e}registerExecutor(e){this.executors.push(e)}supports(e,t,r){const i=r.getBlue().nodeToSchemaOutput(t,Je).channel;return e.source==="channel"&&e.channelName===i}async handle(e,t,r,s){const i=r.getBlue().nodeToSchemaOutput(t,Je),a={},c=i.steps;for(const[h,f]of(c??[]).entries()){const g=this.executors.find(y=>y.supports(f));if(!g)throw new Error(`Unsupported workflow step type "${f.getType()}"`);const b=await g.execute(f,e,r,s,a);if(b!==void 0){const y=f.getName(),m=typeof y=="string"?y:`Step${h+1}`;a[m]=b}await r.flush()}}init(){return[]}}class Os{constructor(e){u(this,"contractType","Sequential Workflow Operation");u(this,"contractBlueId",T["Sequential Workflow Operation"]);u(this,"role","handler");u(this,"sequentialWorkflowProcessor");this.sequentialWorkflowProcessor=e||new cn}supports(e,t,r){const i=r.getBlue().nodeToSchemaOutput(t,Mr).operation,a=e.channelName;return e.source==="channel"&&p.isNonNullable(a)&&p.isNonNullable(i)&&a===i}async handle(e,t,r,s){try{await this.sequentialWorkflowProcessor.handle(e,t,r,s)}catch(o){throw console.error("Error in SequentialWorkflowOperationProcessor.handle:",o),o}}}const vt=n=>n.payload.type==="Timeline Entry";class ks extends oe{constructor(){super(...arguments);u(this,"contractType","Timeline Channel");u(this,"contractBlueId",T["Timeline Channel"])}supports(t,r,s){if(!this.baseSupports(t)||!vt(t))return!1;const o=s.getBlue(),i=o.jsonValueToNode(t.payload),a=o.nodeToSchemaOutput(i,Ie),c=s.getBlue().nodeToSchemaOutput(r,Qt);return S(c.timelineId)&&S(a.timelineId)&&a.timelineId===c.timelineId}handle(t,r,s,o){vt(t)&&s.emitEvent({payload:t.payload,channelName:o,source:"channel"})}}class Ds{constructor(e={}){u(this,"nodeProvider");u(this,"typeSchemaResolver");u(this,"blueDirectivePreprocessor");u(this,"urlContentFetcher");u(this,"documentProcessor");u(this,"prepareForBlueIdCalculation",async e=>e instanceof d||Array.isArray(e)&&e.every(t=>t instanceof d)?e:Array.isArray(e)?await Promise.all(e.map(r=>this.jsonValueToNodeAsync(r))):this.jsonValueToNodeAsync(e));u(this,"calculateBlueId",async e=>{const t=await this.prepareForBlueIdCalculation(e);return x.calculateBlueId(t)});u(this,"prepareForBlueIdCalculationSync",e=>e instanceof d||Array.isArray(e)&&e.every(t=>t instanceof d)?e:Array.isArray(e)?e.map(t=>this.jsonValueToNode(t)):this.jsonValueToNode(e));const{nodeProvider:t,typeSchemaResolver:r=null,urlFetchStrategy:s}=e,o=pr(()=>[]);this.nodeProvider=de.wrap(t||o),this.typeSchemaResolver=r,this.urlContentFetcher=new Jr(s),this.blueDirectivePreprocessor=new _r(void 0,this.urlContentFetcher),this.documentProcessor=new bs(this,[new Ns,new Es,new Ts,new ks,new Is,new vs,new ws,new Bs,new cn,new Os])}nodeToJson(e,t="official"){return B.get(e,t)}nodeToSchemaOutput(e,t){return new Lt(this.typeSchemaResolver).convert(e,t)}async process(e,t){return await this.documentProcessor.initialise(e),this.documentProcessor.processEvents(e,t)}jsonValueToNode(e){return this.preprocess(w.deserialize(e))}async jsonValueToNodeAsync(e){return this.preprocessAsync(w.deserialize(e))}yamlToNode(e){const t=ee(e);if(!t)throw new Error("Failed to parse YAML to JSON");return this.jsonValueToNode(t)}async yamlToNodeAsync(e){const t=ee(e);if(!t)throw new Error("Failed to parse YAML to JSON");return this.jsonValueToNodeAsync(t)}calculateBlueIdSync(e){const t=this.prepareForBlueIdCalculationSync(e);return x.calculateBlueIdSync(t)}addPreprocessingAliases(e){this.blueDirectivePreprocessor.addPreprocessingAliases(e)}preprocess(e){const t=this.blueDirectivePreprocessor.process(e);return new ve(this.nodeProvider).preprocessWithDefaultBlue(t)}async preprocessAsync(e){const t=await this.blueDirectivePreprocessor.processAsync(e);return new ve(this.nodeProvider).preprocessWithDefaultBlue(t)}getNodeProvider(){return this.nodeProvider}setNodeProvider(e){return this.nodeProvider=de.wrap(e),this}getTypeSchemaResolver(){return this.typeSchemaResolver}setTypeSchemaResolver(e){return this.typeSchemaResolver=e,this}getUrlContentFetcher(){return this.urlContentFetcher}setUrlFetchStrategy(e){return this.urlContentFetcher.setFetchStrategy(e),this}enablePreprocessingDirectivesFetchForUrls(){return this.urlContentFetcher.enableFetching(),this}enablePreprocessingDirectivesFetchForDomains(e){return this.urlContentFetcher.enableFetchingForDomains(e),this}allowUrlFetchingForDomain(e){return this.urlContentFetcher.allowDomain(e),this}disallowUrlFetchingForDomain(e){return this.urlContentFetcher.disallowDomain(e),this}getAllowedUrlFetchingDomains(){return this.urlContentFetcher.getAllowedDomains()}disablePreprocessingDirectivesFetchForUrls(){return this.urlContentFetcher.disableFetching(),this}isPreprocessingDirectivesFetchForUrlsEnabled(){return this.urlContentFetcher.isFetchingEnabled()}getPreprocessingAliases(){return this.blueDirectivePreprocessor.getPreprocessingAliases()}setPreprocessingAliases(e){return this.blueDirectivePreprocessor.setPreprocessingAliases(e),this}}exports.Base58Sha256Provider=kt;exports.Blue=Ds;exports.BlueIdCalculator=x;exports.BlueIdToCid=Yn;exports.JsonCanonicalizer=Ot;exports.TypeSchemaResolver=nr;exports.baseBlueObjectSchema=be;exports.blueDescriptionField=Hn;exports.blueIdField=Gn;exports.blueIdSchema=kn;exports.blueNameField=Xn;exports.blueNodeField=M;exports.blueObjectBooleanValueSchema=Vn;exports.blueObjectNumberValueSchema=xn;exports.blueObjectSchema=X;exports.blueObjectStringListItemsSchema=jn;exports.blueObjectStringValueSchema=Dn;exports.calculateBlueId=Kt;exports.calculateBlueIdSync=Nr;exports.enrichWithBlueId=qe;exports.getBlueDescriptionAnnotation=xt;exports.getBlueIdAnnotation=jt;exports.getBlueNameAnnotation=zt;exports.getBlueNodeAnnotation=Rt;exports.getBlueObjectItems=Pr;exports.getBlueObjectProperties=Cr;exports.getBlueObjectTypeLabel=Ar;exports.getBlueObjectValue=Sr;exports.getExtendedFromSchemaAnnotation=Zt;exports.getTypeBlueIdAnnotation=Ut;exports.hasBlueObjectBlueIdDefined=Pt;exports.hasBlueObjectItemsDefined=St;exports.hasBlueObjectNameDefined=zn;exports.hasBlueObjectTypeDefined=Ct;exports.hasBlueObjectValueDefined=At;exports.isBlueNodeSchema=$e;exports.isBlueObject=Fn;exports.isBlueObjectResolved=Yt;exports.isGivenBlueObjectTypeSchema=Mn;exports.isJsonBlueArray=rt;exports.isJsonBlueObject=nt;exports.isJsonBlueValue=Un;exports.isSchemaExtendedFrom=st;exports.isUrl=ae;exports.jsonBlueValueSchema=he;exports.normalizeToBlueObject=Or;exports.resolveBlueObjectItems=Le;exports.withBlueDescription=Dt;exports.withBlueId=Vt;exports.withBlueName=Ft;exports.withBlueNode=Mt;exports.withExtendedFromSchema=$t;exports.withTypeBlueId=v;exports.yamlBlueDump=wr;exports.yamlBlueParse=ee;
|
|
26
|
+
`}loadDefaultSimpleBlue(){const e=this.enrichDefaultBlue(Bt);try{const t=G(e);if(t)this.defaultSimpleBlue=y.deserialize(t);else throw new Error("Failed to parse default Blue content")}catch(t){throw new Error(`Error loading default Blue: ${t}`)}}};h(he,"DEFAULT_BLUE_BLUE_ID","FREHAAGDZSzpnoTUoCQ86bBmxbVCULMjvx9JZM6fyqT1");let ae=he;class lr{constructor(e,t){h(this,"preprocessingAliases",new Map);h(this,"urlContentFetcher");e&&(this.preprocessingAliases=new Map(e)),this.urlContentFetcher=t}process(e){const t=this.getBlueNodeValue(e);if(t){const r=e.clone();if(this.preprocessingAliases.has(t))return this.handleAliasValue(r,t);if(x.isPotentialBlueId(t))return this.handleBlueId(r,t);throw K(t)?new Error(`URL '${t}' detected. Use the async version of this method to fetch the content.`):new Error(`Invalid blue value: ${t}`)}return e}async processAsync(e){const t=this.getBlueNodeValue(e);if(t){const r=e.clone();if(this.preprocessingAliases.has(t))return this.handleAliasValue(r,t);if(x.isPotentialBlueId(t))return this.handleBlueId(r,t);if(K(t)&&this.urlContentFetcher)try{const s=await this.fetchFromUrl(t);return s&&r.setBlue(new a().setItems(s)),r}catch(s){throw s instanceof Error?new Error(`Failed to fetch from URL '${t}'.
|
|
27
|
+
${s.message}`):s}else throw K(t)?new Error(`UrlContentFetcher not provided for URL: ${t}`):new Error(`Invalid blue value: ${t}`)}return e}getBlueNodeValue(e){const t=e.getBlue(),r=t==null?void 0:t.getValue();return r&&typeof r=="string"?r:null}handleAliasValue(e,t){return e.setBlue(new a().setBlueId(this.preprocessingAliases.get(t))),e}handleBlueId(e,t){return e.setBlue(new a().setBlueId(t)),e}async fetchFromUrl(e){if(!this.urlContentFetcher)throw new Error(`UrlContentFetcher not provided for URL: ${e}`);return await this.urlContentFetcher.fetchAndCache(e)}getPreprocessingAliases(){return new Map(this.preprocessingAliases)}setPreprocessingAliases(e){return this.preprocessingAliases=new Map(e),this}addPreprocessingAliases(e){return e.forEach((t,r)=>{this.preprocessingAliases.set(r,t)}),this}setUrlContentFetcher(e){return this.urlContentFetcher=e,this}getUrlContentFetcher(){return this.urlContentFetcher}}const cr={fetchUrl:async n=>{throw new Error(`You must provide a custom UrlFetchStrategy to fetch content from URL: ${n}`)}};class ar{constructor(e){h(this,"cache",new Map);h(this,"fetchStrategy");h(this,"enabled",!1);h(this,"allowedDomains",[]);this.fetchStrategy=e||cr}validateUrl(e){if(!K(e))throw new Error(`Invalid URL: ${e}`);return!0}isDomainAllowed(e){if(this.allowedDomains.length===0)return!0;try{const t=new URL(e);return this.allowedDomains.some(r=>t.hostname===r||t.hostname.endsWith(`.${r}`))}catch{return!1}}getFromCache(e){try{return this.validateUrl(e),this.cache.get(e)||[]}catch{return[]}}async fetchAndCache(e){if(this.validateUrl(e),!this.enabled)throw new Error("URL fetching is disabled. Enable it using the enableFetching method.");if(!this.isDomainAllowed(e))throw new Error(`Domain not allowed for URL: ${e}.`);let t;try{t=await this.fetchStrategy.fetchUrl(e)}catch(c){throw new Error(`Error fetching from URL: ${e}`,{cause:c})}const{data:r,contentType:s}=t;let i;if(s.includes("application/json")||s.includes("text/yaml")||s.includes("application/yaml")||s.includes("text/plain"))i=G(r);else throw new Error(`Unsupported content type from URL: ${s}`);if(i===void 0)throw new Error(`Failed to parse content from URL: ${e}`);let o;return Array.isArray(i)?o=i.map(c=>y.deserialize(c)):o=[y.deserialize(i)],this.cache.set(e,o),o}prefetchUrl(e,t){try{this.validateUrl(e),this.cache.set(e,t)}catch{}}clearCache(){this.cache.clear()}setFetchStrategy(e){return this.fetchStrategy=e,this}getFetchStrategy(){return this.fetchStrategy}enableFetching(){return this.enabled=!0,this.allowedDomains=[],this}enableFetchingForDomains(e){return this.enabled=!0,this.allowedDomains=[...e],this}disableFetching(){return this.enabled=!1,this}isFetchingEnabled(){return this.enabled}getAllowedDomains(){return[...this.allowedDomains]}allowDomain(e){return this.allowedDomains.includes(e)||this.allowedDomains.push(e),this}disallowDomain(e){return this.allowedDomains=this.allowedDomains.filter(t=>t!==e),this}clearAllowedDomains(){return this.allowedDomains=[],this}}class ur{constructor(e={}){h(this,"nodeProvider");h(this,"typeSchemaResolver");h(this,"blueDirectivePreprocessor");h(this,"urlContentFetcher");h(this,"blueIdsMappingGenerator");h(this,"prepareForBlueIdCalculation",async e=>e instanceof a||Array.isArray(e)&&e.every(t=>t instanceof a)?e:Array.isArray(e)?await Promise.all(e.map(r=>this.jsonValueToNodeAsync(r))):this.jsonValueToNodeAsync(e));h(this,"calculateBlueId",async e=>{const t=await this.prepareForBlueIdCalculation(e);return S.calculateBlueId(t)});h(this,"prepareForBlueIdCalculationSync",e=>e instanceof a||Array.isArray(e)&&e.every(t=>t instanceof a)?e:Array.isArray(e)?e.map(t=>this.jsonValueToNode(t)):this.jsonValueToNode(e));const{nodeProvider:t,typeSchemaResolver:r=null,urlFetchStrategy:s,repositories:i}=e,o=Mn(()=>[]);if(this.nodeProvider=ce.wrap(t||o),this.typeSchemaResolver=r,this.urlContentFetcher=new ar(s),this.blueDirectivePreprocessor=new lr(void 0,this.urlContentFetcher),this.blueIdsMappingGenerator=new Et,i){const c=i.reduce((u,f)=>(u.blueIds={...u.blueIds,...f.blueIds},u.schemas=[...u.schemas,...f.schemas],u),{blueIds:{},schemas:[]});this.blueIdsMappingGenerator.initialize(c.blueIds),this.typeSchemaResolver||(this.typeSchemaResolver=new mt(c.schemas))}}nodeToJson(e,t="official"){return B.get(e,t)}nodeToSchemaOutput(e,t){return new Un(this.typeSchemaResolver).convert(e,t)}jsonValueToNode(e){return this.preprocess(y.deserialize(e))}async jsonValueToNodeAsync(e){return this.preprocessAsync(y.deserialize(e))}yamlToNode(e){const t=G(e);if(!t)throw new Error("Failed to parse YAML to JSON");return this.jsonValueToNode(t)}async yamlToNodeAsync(e){const t=G(e);if(!t)throw new Error("Failed to parse YAML to JSON");return this.jsonValueToNodeAsync(t)}calculateBlueIdSync(e){const t=this.prepareForBlueIdCalculationSync(e);return S.calculateBlueIdSync(t)}addPreprocessingAliases(e){this.blueDirectivePreprocessor.addPreprocessingAliases(e)}preprocess(e){const t=this.blueDirectivePreprocessor.process(e);return new ae({nodeProvider:this.nodeProvider,blueIdsMappingGenerator:this.blueIdsMappingGenerator}).preprocessWithDefaultBlue(t)}async preprocessAsync(e){const t=await this.blueDirectivePreprocessor.processAsync(e);return new ae({nodeProvider:this.nodeProvider,blueIdsMappingGenerator:this.blueIdsMappingGenerator}).preprocessWithDefaultBlue(t)}getNodeProvider(){return this.nodeProvider}setNodeProvider(e){return this.nodeProvider=ce.wrap(e),this}getTypeSchemaResolver(){return this.typeSchemaResolver}setTypeSchemaResolver(e){return this.typeSchemaResolver=e,this}getUrlContentFetcher(){return this.urlContentFetcher}setUrlFetchStrategy(e){return this.urlContentFetcher.setFetchStrategy(e),this}enablePreprocessingDirectivesFetchForUrls(){return this.urlContentFetcher.enableFetching(),this}enablePreprocessingDirectivesFetchForDomains(e){return this.urlContentFetcher.enableFetchingForDomains(e),this}allowUrlFetchingForDomain(e){return this.urlContentFetcher.allowDomain(e),this}disallowUrlFetchingForDomain(e){return this.urlContentFetcher.disallowDomain(e),this}getAllowedUrlFetchingDomains(){return this.urlContentFetcher.getAllowedDomains()}disablePreprocessingDirectivesFetchForUrls(){return this.urlContentFetcher.disableFetching(),this}isPreprocessingDirectivesFetchForUrlsEnabled(){return this.urlContentFetcher.isFetchingEnabled()}getPreprocessingAliases(){return this.blueDirectivePreprocessor.getPreprocessingAliases()}setPreprocessingAliases(e){return this.blueDirectivePreprocessor.setPreprocessingAliases(e),this}registerBlueIds(...e){return this.blueIdsMappingGenerator.registerBlueIds(...e),this}getAllRegisteredBlueIds(){return this.blueIdsMappingGenerator.getAllBlueIds()}getAllBlueIdNames(){return this.blueIdsMappingGenerator.getAllBlueIdNames()}getBlueIdsMappingGenerator(){return this.blueIdsMappingGenerator}}exports.Base58Sha256Provider=tt;exports.Blue=ur;exports.BlueIdCalculator=S;exports.BlueIdToCid=an;exports.BlueNode=a;exports.BlueNodeTypeSchema=Sn;exports.JsonCanonicalizer=et;exports.TypeSchemaResolver=mt;exports.applyBlueNodePatch=In;exports.baseBlueObjectSchema=se;exports.blueDescriptionField=Bn;exports.blueIdField=Nn;exports.blueIdSchema=Yt;exports.blueNameField=wn;exports.blueNodeField=vn;exports.blueObjectBooleanValueSchema=Ht;exports.blueObjectNumberValueSchema=Jt;exports.blueObjectSchema=_;exports.blueObjectStringListItemsSchema=Wt;exports.blueObjectStringValueSchema=Gt;exports.calculateBlueId=Nt;exports.calculateBlueIdSync=Xn;exports.enrichWithBlueId=Se;exports.getBlueDescriptionAnnotation=lt;exports.getBlueIdAnnotation=at;exports.getBlueNameAnnotation=dt;exports.getBlueNodeAnnotation=ft;exports.getBlueObjectItems=Qn;exports.getBlueObjectProperties=tr;exports.getBlueObjectTypeLabel=nr;exports.getBlueObjectValue=er;exports.getExtendedFromSchemaAnnotation=yt;exports.getTypeBlueIdAnnotation=gt;exports.hasBlueObjectBlueIdDefined=We;exports.hasBlueObjectItemsDefined=Ke;exports.hasBlueObjectNameDefined=qt;exports.hasBlueObjectTypeDefined=qe;exports.hasBlueObjectValueDefined=Xe;exports.isBigDecimalNumber=Qe;exports.isBigIntegerNumber=k;exports.isBigNumber=A;exports.isBlueNodeSchema=Ee;exports.isBlueObject=Kt;exports.isBlueObjectResolved=wt;exports.isGivenBlueObjectTypeSchema=Xt;exports.isJsonBlueArray=xe;exports.isJsonBlueObject=Ze;exports.isJsonBlueValue=tn;exports.isSchemaExtendedFrom=$e;exports.isUrl=K;exports.jsonBlueValueSchema=Q;exports.normalizeToBlueObject=rr;exports.resolveBlueObjectItems=Ce;exports.withBlueDescription=ot;exports.withBlueId=ct;exports.withBlueName=ut;exports.withBlueNode=ht;exports.withExtendedFromSchema=pt;exports.withTypeBlueId=An;exports.yamlBlueDump=Gn;exports.yamlBlueParse=G;
|