@muonroi/ui-engine-rule-components 0.1.2 → 0.1.5-alpha.1
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/components/decision-table/mu-decision-table.d.ts +8 -1
- package/dist/components/decision-table/mu-decision-table.d.ts.map +1 -1
- package/dist/components/result-panel/MuRuleResultPanel.d.ts +16 -0
- package/dist/components/result-panel/MuRuleResultPanel.d.ts.map +1 -0
- package/dist/components/result-panel/mu-rule-result-panel.d.ts +19 -0
- package/dist/components/result-panel/mu-rule-result-panel.d.ts.map +1 -0
- package/dist/components/rule-flow/CatalogPaletteSection.d.ts +11 -0
- package/dist/components/rule-flow/CatalogPaletteSection.d.ts.map +1 -0
- package/dist/components/rule-flow/MuRuleFlowEditor.d.ts +19 -0
- package/dist/components/rule-flow/MuRuleFlowEditor.d.ts.map +1 -0
- package/dist/components/rule-flow/mu-rule-flow-designer.d.ts +26 -0
- package/dist/components/rule-flow/mu-rule-flow-designer.d.ts.map +1 -1
- package/dist/components/rule-flow/rule-flow-authoring.d.ts +22 -0
- package/dist/components/rule-flow/rule-flow-authoring.d.ts.map +1 -0
- package/dist/components/rule-flow/rule-flow-helpers.d.ts +48 -0
- package/dist/components/rule-flow/rule-flow-helpers.d.ts.map +1 -0
- package/dist/components/rule-flow/rule-flow-inspector.d.ts +102 -0
- package/dist/components/rule-flow/rule-flow-inspector.d.ts.map +1 -0
- package/dist/components/rule-flow/rule-flow-runtime.d.ts +8 -0
- package/dist/components/rule-flow/rule-flow-runtime.d.ts.map +1 -0
- package/dist/components/rule-flow/rule-flow-theme.d.ts +88 -0
- package/dist/components/rule-flow/rule-flow-theme.d.ts.map +1 -0
- package/dist/components/shared/mu-ui-engine-app.d.ts +1 -0
- package/dist/components/shared/mu-ui-engine-app.d.ts.map +1 -1
- package/dist/components/trace-viewer/MuRuleTraceViewer.d.ts +22 -0
- package/dist/components/trace-viewer/MuRuleTraceViewer.d.ts.map +1 -0
- package/dist/components/trace-viewer/mu-rule-trace-viewer.d.ts +33 -0
- package/dist/components/trace-viewer/mu-rule-trace-viewer.d.ts.map +1 -0
- package/dist/hooks/useRuleFlowHistory.d.ts +11 -0
- package/dist/hooks/useRuleFlowHistory.d.ts.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/models/result-models.d.ts +33 -0
- package/dist/models/result-models.d.ts.map +1 -0
- package/dist/models/rule-flow.d.ts +164 -0
- package/dist/models/rule-flow.d.ts.map +1 -0
- package/dist/models/trace-models.d.ts +57 -0
- package/dist/models/trace-models.d.ts.map +1 -0
- package/dist/models.d.ts +28 -0
- package/dist/models.d.ts.map +1 -1
- package/dist/muonroi-flow-components.css +1 -0
- package/dist/muonroi-flow-components.iife.js +757 -0
- package/dist/muonroi-rule-components.css +1 -1
- package/dist/muonroi-rule-components.esm.js +35241 -2987
- package/dist/muonroi-rule-components.iife.js +1253 -563
- package/dist/muonroi-trace-components.iife.js +459 -0
- package/dist/register-flow.d.ts +9 -0
- package/dist/register-flow.d.ts.map +1 -0
- package/dist/register-trace.d.ts +8 -0
- package/dist/register-trace.d.ts.map +1 -0
- package/dist/registry.d.ts +2 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/runtime/request-context.d.ts +12 -0
- package/dist/runtime/request-context.d.ts.map +1 -0
- package/dist/services/feel-service.d.ts.map +1 -1
- package/dist/services/rule-catalog-service.d.ts +20 -0
- package/dist/services/rule-catalog-service.d.ts.map +1 -0
- package/dist/services/rule-engine-api.d.ts +2 -0
- package/dist/services/rule-engine-api.d.ts.map +1 -1
- package/dist/services/rule-flow-contract-service.d.ts +40 -0
- package/dist/services/rule-flow-contract-service.d.ts.map +1 -0
- package/dist/services/trace-api.d.ts +28 -0
- package/dist/services/trace-api.d.ts.map +1 -0
- package/dist/utils/m-rule-flow-graph-converter.d.ts +9 -0
- package/dist/utils/m-rule-flow-graph-converter.d.ts.map +1 -0
- package/package.json +9 -2
|
@@ -0,0 +1,459 @@
|
|
|
1
|
+
(function(){"use strict";/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2019 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
+
*/var me;const j=globalThis,V=j.ShadowRoot&&(j.ShadyCSS===void 0||j.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,q=Symbol(),Y=new WeakMap;let ee=class{constructor(e,t,r){if(this._$cssResult$=!0,r!==q)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(V&&e===void 0){const r=t!==void 0&&t.length===1;r&&(e=Y.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&Y.set(t,e))}return e}toString(){return this.cssText}};const be=s=>new ee(typeof s=="string"?s:s+"",void 0,q),te=(s,...e)=>{const t=s.length===1?s[0]:e.reduce((r,i,o)=>r+(n=>{if(n._$cssResult$===!0)return n.cssText;if(typeof n=="number")return n;throw Error("Value passed to 'css' function must be a 'css' function result: "+n+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+s[o+1],s[0]);return new ee(t,s,q)},ye=(s,e)=>{if(V)s.adoptedStyleSheets=e.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const t of e){const r=document.createElement("style"),i=j.litNonce;i!==void 0&&r.setAttribute("nonce",i),r.textContent=t.cssText,s.appendChild(r)}},se=V?s=>s:s=>s instanceof CSSStyleSheet?(e=>{let t="";for(const r of e.cssRules)t+=r.cssText;return be(t)})(s):s;/**
|
|
6
|
+
* @license
|
|
7
|
+
* Copyright 2017 Google LLC
|
|
8
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
9
|
+
*/const{is:ve,defineProperty:xe,getOwnPropertyDescriptor:Ae,getOwnPropertyNames:we,getOwnPropertySymbols:Ee,getPrototypeOf:Se}=Object,m=globalThis,re=m.trustedTypes,Ce=re?re.emptyScript:"",W=m.reactiveElementPolyfillSupport,H=(s,e)=>s,B={toAttribute(s,e){switch(e){case Boolean:s=s?Ce:null;break;case Object:case Array:s=s==null?s:JSON.stringify(s)}return s},fromAttribute(s,e){let t=s;switch(e){case Boolean:t=s!==null;break;case Number:t=s===null?null:Number(s);break;case Object:case Array:try{t=JSON.parse(s)}catch{t=null}}return t}},G=(s,e)=>!ve(s,e),ie={attribute:!0,type:String,converter:B,reflect:!1,useDefault:!1,hasChanged:G};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),m.litPropertyMetadata??(m.litPropertyMetadata=new WeakMap);let P=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=ie){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){const r=Symbol(),i=this.getPropertyDescriptor(e,r,t);i!==void 0&&xe(this.prototype,e,i)}}static getPropertyDescriptor(e,t,r){const{get:i,set:o}=Ae(this.prototype,e)??{get(){return this[t]},set(n){this[t]=n}};return{get:i,set(n){const l=i==null?void 0:i.call(this);o==null||o.call(this,n),this.requestUpdate(e,l,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??ie}static _$Ei(){if(this.hasOwnProperty(H("elementProperties")))return;const e=Se(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(H("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(H("properties"))){const t=this.properties,r=[...we(t),...Ee(t)];for(const i of r)this.createProperty(i,t[i])}const e=this[Symbol.metadata];if(e!==null){const t=litPropertyMetadata.get(e);if(t!==void 0)for(const[r,i]of t)this.elementProperties.set(r,i)}this._$Eh=new Map;for(const[t,r]of this.elementProperties){const i=this._$Eu(t,r);i!==void 0&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const r=new Set(e.flat(1/0).reverse());for(const i of r)t.unshift(se(i))}else e!==void 0&&t.push(se(e));return t}static _$Eu(e,t){const r=t.attribute;return r===!1?void 0:typeof r=="string"?r:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var e;this._$ES=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),(e=this.constructor.l)==null||e.forEach(t=>t(this))}addController(e){var t;(this._$EO??(this._$EO=new Set)).add(e),this.renderRoot!==void 0&&this.isConnected&&((t=e.hostConnected)==null||t.call(e))}removeController(e){var t;(t=this._$EO)==null||t.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const r of t.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return ye(e,this.constructor.elementStyles),e}connectedCallback(){var e;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(e=this._$EO)==null||e.forEach(t=>{var r;return(r=t.hostConnected)==null?void 0:r.call(t)})}enableUpdating(e){}disconnectedCallback(){var e;(e=this._$EO)==null||e.forEach(t=>{var r;return(r=t.hostDisconnected)==null?void 0:r.call(t)})}attributeChangedCallback(e,t,r){this._$AK(e,r)}_$ET(e,t){var o;const r=this.constructor.elementProperties.get(e),i=this.constructor._$Eu(e,r);if(i!==void 0&&r.reflect===!0){const n=(((o=r.converter)==null?void 0:o.toAttribute)!==void 0?r.converter:B).toAttribute(t,r.type);this._$Em=e,n==null?this.removeAttribute(i):this.setAttribute(i,n),this._$Em=null}}_$AK(e,t){var o,n;const r=this.constructor,i=r._$Eh.get(e);if(i!==void 0&&this._$Em!==i){const l=r.getPropertyOptions(i),a=typeof l.converter=="function"?{fromAttribute:l.converter}:((o=l.converter)==null?void 0:o.fromAttribute)!==void 0?l.converter:B;this._$Em=i;const c=a.fromAttribute(t,l.type);this[i]=c??((n=this._$Ej)==null?void 0:n.get(i))??c,this._$Em=null}}requestUpdate(e,t,r,i=!1,o){var n;if(e!==void 0){const l=this.constructor;if(i===!1&&(o=this[e]),r??(r=l.getPropertyOptions(e)),!((r.hasChanged??G)(o,t)||r.useDefault&&r.reflect&&o===((n=this._$Ej)==null?void 0:n.get(e))&&!this.hasAttribute(l._$Eu(e,r))))return;this.C(e,t,r)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,t,{useDefault:r,reflect:i,wrapped:o},n){r&&!(this._$Ej??(this._$Ej=new Map)).has(e)&&(this._$Ej.set(e,n??t??this[e]),o!==!0||n!==void 0)||(this._$AL.has(e)||(this.hasUpdated||r||(t=void 0),this._$AL.set(e,t)),i===!0&&this._$Em!==e&&(this._$Eq??(this._$Eq=new Set)).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var r;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[o,n]of this._$Ep)this[o]=n;this._$Ep=void 0}const i=this.constructor.elementProperties;if(i.size>0)for(const[o,n]of i){const{wrapped:l}=n,a=this[o];l!==!0||this._$AL.has(o)||a===void 0||this.C(o,void 0,n,a)}}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),(r=this._$EO)==null||r.forEach(i=>{var o;return(o=i.hostUpdate)==null?void 0:o.call(i)}),this.update(t)):this._$EM()}catch(i){throw e=!1,this._$EM(),i}e&&this._$AE(t)}willUpdate(e){}_$AE(e){var t;(t=this._$EO)==null||t.forEach(r=>{var i;return(i=r.hostUpdated)==null?void 0:i.call(r)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&(this._$Eq=this._$Eq.forEach(t=>this._$ET(t,this[t]))),this._$EM()}updated(e){}firstUpdated(e){}};P.elementStyles=[],P.shadowRootOptions={mode:"open"},P[H("elementProperties")]=new Map,P[H("finalized")]=new Map,W==null||W({ReactiveElement:P}),(m.reactiveElementVersions??(m.reactiveElementVersions=[])).push("2.1.2");/**
|
|
10
|
+
* @license
|
|
11
|
+
* Copyright 2017 Google LLC
|
|
12
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
13
|
+
*/const M=globalThis,oe=s=>s,L=M.trustedTypes,ne=L?L.createPolicy("lit-html",{createHTML:s=>s}):void 0,ae="$lit$",b=`lit$${Math.random().toFixed(9).slice(2)}$`,le="?"+b,Pe=`<${le}>`,w=document,k=()=>w.createComment(""),I=s=>s===null||typeof s!="object"&&typeof s!="function",K=Array.isArray,Oe=s=>K(s)||typeof(s==null?void 0:s[Symbol.iterator])=="function",Z=`[
|
|
14
|
+
\f\r]`,z=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,ce=/-->/g,de=/>/g,E=RegExp(`>|${Z}(?:([^\\s"'>=/]+)(${Z}*=${Z}*(?:[^
|
|
15
|
+
\f\r"'\`<>=]|("|')|))|$)`,"g"),he=/'/g,pe=/"/g,ue=/^(?:script|style|textarea|title)$/i,Ue=s=>(e,...t)=>({_$litType$:s,strings:e,values:t}),u=Ue(1),O=Symbol.for("lit-noChange"),d=Symbol.for("lit-nothing"),fe=new WeakMap,S=w.createTreeWalker(w,129);function _e(s,e){if(!K(s)||!s.hasOwnProperty("raw"))throw Error("invalid template strings array");return ne!==void 0?ne.createHTML(e):e}const Te=(s,e)=>{const t=s.length-1,r=[];let i,o=e===2?"<svg>":e===3?"<math>":"",n=z;for(let l=0;l<t;l++){const a=s[l];let c,p,h=-1,_=0;for(;_<a.length&&(n.lastIndex=_,p=n.exec(a),p!==null);)_=n.lastIndex,n===z?p[1]==="!--"?n=ce:p[1]!==void 0?n=de:p[2]!==void 0?(ue.test(p[2])&&(i=RegExp("</"+p[2],"g")),n=E):p[3]!==void 0&&(n=E):n===E?p[0]===">"?(n=i??z,h=-1):p[1]===void 0?h=-2:(h=n.lastIndex-p[2].length,c=p[1],n=p[3]===void 0?E:p[3]==='"'?pe:he):n===pe||n===he?n=E:n===ce||n===de?n=z:(n=E,i=void 0);const A=n===E&&s[l+1].startsWith("/>")?" ":"";o+=n===z?a+Pe:h>=0?(r.push(c),a.slice(0,h)+ae+a.slice(h)+b+A):a+b+(h===-2?l:A)}return[_e(s,o+(s[t]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),r]};class N{constructor({strings:e,_$litType$:t},r){let i;this.parts=[];let o=0,n=0;const l=e.length-1,a=this.parts,[c,p]=Te(e,t);if(this.el=N.createElement(c,r),S.currentNode=this.el.content,t===2||t===3){const h=this.el.content.firstChild;h.replaceWith(...h.childNodes)}for(;(i=S.nextNode())!==null&&a.length<l;){if(i.nodeType===1){if(i.hasAttributes())for(const h of i.getAttributeNames())if(h.endsWith(ae)){const _=p[n++],A=i.getAttribute(h).split(b),J=/([.?@])?(.*)/.exec(_);a.push({type:1,index:o,name:J[2],strings:A,ctor:J[1]==="."?He:J[1]==="?"?Me:J[1]==="@"?ke:F}),i.removeAttribute(h)}else h.startsWith(b)&&(a.push({type:6,index:o}),i.removeAttribute(h));if(ue.test(i.tagName)){const h=i.textContent.split(b),_=h.length-1;if(_>0){i.textContent=L?L.emptyScript:"";for(let A=0;A<_;A++)i.append(h[A],k()),S.nextNode(),a.push({type:2,index:++o});i.append(h[_],k())}}}else if(i.nodeType===8)if(i.data===le)a.push({type:2,index:o});else{let h=-1;for(;(h=i.data.indexOf(b,h+1))!==-1;)a.push({type:7,index:o}),h+=b.length-1}o++}}static createElement(e,t){const r=w.createElement("template");return r.innerHTML=e,r}}function U(s,e,t=s,r){var n,l;if(e===O)return e;let i=r!==void 0?(n=t._$Co)==null?void 0:n[r]:t._$Cl;const o=I(e)?void 0:e._$litDirective$;return(i==null?void 0:i.constructor)!==o&&((l=i==null?void 0:i._$AO)==null||l.call(i,!1),o===void 0?i=void 0:(i=new o(s),i._$AT(s,t,r)),r!==void 0?(t._$Co??(t._$Co=[]))[r]=i:t._$Cl=i),i!==void 0&&(e=U(s,i._$AS(s,e.values),i,r)),e}class Re{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:t},parts:r}=this._$AD,i=((e==null?void 0:e.creationScope)??w).importNode(t,!0);S.currentNode=i;let o=S.nextNode(),n=0,l=0,a=r[0];for(;a!==void 0;){if(n===a.index){let c;a.type===2?c=new D(o,o.nextSibling,this,e):a.type===1?c=new a.ctor(o,a.name,a.strings,this,e):a.type===6&&(c=new Ie(o,this,e)),this._$AV.push(c),a=r[++l]}n!==(a==null?void 0:a.index)&&(o=S.nextNode(),n++)}return S.currentNode=w,i}p(e){let t=0;for(const r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(e,r,t),t+=r.strings.length-2):r._$AI(e[t])),t++}}class D{get _$AU(){var e;return((e=this._$AM)==null?void 0:e._$AU)??this._$Cv}constructor(e,t,r,i){this.type=2,this._$AH=d,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=r,this.options=i,this._$Cv=(i==null?void 0:i.isConnected)??!0}get parentNode(){let e=this._$AA.parentNode;const t=this._$AM;return t!==void 0&&(e==null?void 0:e.nodeType)===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=U(this,e,t),I(e)?e===d||e==null||e===""?(this._$AH!==d&&this._$AR(),this._$AH=d):e!==this._$AH&&e!==O&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):Oe(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==d&&I(this._$AH)?this._$AA.nextSibling.data=e:this.T(w.createTextNode(e)),this._$AH=e}$(e){var o;const{values:t,_$litType$:r}=e,i=typeof r=="number"?this._$AC(e):(r.el===void 0&&(r.el=N.createElement(_e(r.h,r.h[0]),this.options)),r);if(((o=this._$AH)==null?void 0:o._$AD)===i)this._$AH.p(t);else{const n=new Re(i,this),l=n.u(this.options);n.p(t),this.T(l),this._$AH=n}}_$AC(e){let t=fe.get(e.strings);return t===void 0&&fe.set(e.strings,t=new N(e)),t}k(e){K(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let r,i=0;for(const o of e)i===t.length?t.push(r=new D(this.O(k()),this.O(k()),this,this.options)):r=t[i],r._$AI(o),i++;i<t.length&&(this._$AR(r&&r._$AB.nextSibling,i),t.length=i)}_$AR(e=this._$AA.nextSibling,t){var r;for((r=this._$AP)==null?void 0:r.call(this,!1,!0,t);e!==this._$AB;){const i=oe(e).nextSibling;oe(e).remove(),e=i}}setConnected(e){var t;this._$AM===void 0&&(this._$Cv=e,(t=this._$AP)==null||t.call(this,e))}}class F{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,r,i,o){this.type=1,this._$AH=d,this._$AN=void 0,this.element=e,this.name=t,this._$AM=i,this.options=o,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=d}_$AI(e,t=this,r,i){const o=this.strings;let n=!1;if(o===void 0)e=U(this,e,t,0),n=!I(e)||e!==this._$AH&&e!==O,n&&(this._$AH=e);else{const l=e;let a,c;for(e=o[0],a=0;a<o.length-1;a++)c=U(this,l[r+a],t,a),c===O&&(c=this._$AH[a]),n||(n=!I(c)||c!==this._$AH[a]),c===d?e=d:e!==d&&(e+=(c??"")+o[a+1]),this._$AH[a]=c}n&&!i&&this.j(e)}j(e){e===d?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class He extends F{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===d?void 0:e}}class Me extends F{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==d)}}class ke extends F{constructor(e,t,r,i,o){super(e,t,r,i,o),this.type=5}_$AI(e,t=this){if((e=U(this,e,t,0)??d)===O)return;const r=this._$AH,i=e===d&&r!==d||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,o=e!==d&&(r===d||i);i&&this.element.removeEventListener(this.name,this,r),o&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var t;typeof this._$AH=="function"?this._$AH.call(((t=this.options)==null?void 0:t.host)??this.element,e):this._$AH.handleEvent(e)}}class Ie{constructor(e,t,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){U(this,e)}}const Q=M.litHtmlPolyfillSupport;Q==null||Q(N,D),(M.litHtmlVersions??(M.litHtmlVersions=[])).push("3.3.2");const ze=(s,e,t)=>{const r=(t==null?void 0:t.renderBefore)??e;let i=r._$litPart$;if(i===void 0){const o=(t==null?void 0:t.renderBefore)??null;r._$litPart$=i=new D(e.insertBefore(k(),o),o,void 0,t??{})}return i._$AI(s),i};/**
|
|
16
|
+
* @license
|
|
17
|
+
* Copyright 2017 Google LLC
|
|
18
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
19
|
+
*/const C=globalThis;class T extends P{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var t;const e=super.createRenderRoot();return(t=this.renderOptions).renderBefore??(t.renderBefore=e.firstChild),e}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=ze(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),(e=this._$Do)==null||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._$Do)==null||e.setConnected(!1)}render(){return O}}T._$litElement$=!0,T.finalized=!0,(me=C.litElementHydrateSupport)==null||me.call(C,{LitElement:T});const X=C.litElementPolyfillSupport;X==null||X({LitElement:T}),(C.litElementVersions??(C.litElementVersions=[])).push("4.2.2");/**
|
|
20
|
+
* @license
|
|
21
|
+
* Copyright 2017 Google LLC
|
|
22
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
23
|
+
*/const $e=s=>(e,t)=>{t!==void 0?t.addInitializer(()=>{customElements.define(s,e)}):customElements.define(s,e)};/**
|
|
24
|
+
* @license
|
|
25
|
+
* Copyright 2017 Google LLC
|
|
26
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
27
|
+
*/const Ne={attribute:!0,type:String,converter:B,reflect:!1,hasChanged:G},De=(s=Ne,e,t)=>{const{kind:r,metadata:i}=t;let o=globalThis.litPropertyMetadata.get(i);if(o===void 0&&globalThis.litPropertyMetadata.set(i,o=new Map),r==="setter"&&((s=Object.create(s)).wrapped=!0),o.set(t.name,s),r==="accessor"){const{name:n}=t;return{set(l){const a=e.get.call(this);e.set.call(this,l),this.requestUpdate(n,a,s,!0,l)},init(l){return l!==void 0&&this.C(n,void 0,s,l),l}}}if(r==="setter"){const{name:n}=t;return function(l){const a=this[n];e.call(this,l),this.requestUpdate(n,a,s,!0,l)}}throw Error("Unsupported decorator location: "+r)};function y(s){return(e,t)=>typeof t=="object"?De(s,e,t):((r,i,o)=>{const n=i.hasOwnProperty(o);return i.constructor.createProperty(o,r),n?Object.getOwnPropertyDescriptor(i,o):void 0})(s,e,t)}/**
|
|
28
|
+
* @license
|
|
29
|
+
* Copyright 2017 Google LLC
|
|
30
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
31
|
+
*/function g(s){return y({...s,state:!0,attribute:!1})}let v={};function je(s,e){var o,n,l,a,c,p;const t=new Headers({}),r=((o=v.mGetHeaders)==null?void 0:o.call(v))??v.headers??{};for(const[h,_]of Object.entries(r))_!=null&&_.trim()&&t.set(h,_.trim());const i=((l=(n=v.mGetTenantId)==null?void 0:n.call(v))==null?void 0:l.trim())||((a=v.tenantId)==null?void 0:a.trim());return i&&t.set("x-tenant-id",i),t.has("X-Correlation-Id")||t.set("X-Correlation-Id",((p=(c=globalThis.crypto)==null?void 0:c.randomUUID)==null?void 0:p.call(c))??`${Date.now()}-${Math.random()}`),t}class ge{constructor(e,t){this.baseUrl=e,this.mGetHeaders=t}async mFetch(e,t){var n;const r=((n=this.mGetHeaders)==null?void 0:n.call(this))??je(),i=new Headers(r);t!=null&&t.headers&&new Headers(t.headers).forEach((a,c)=>i.set(c,a));const o=await fetch(`${this.baseUrl}${e}`,{...t,headers:i});if(!o.ok)throw new Error(`Trace API ${o.status}: ${await o.text()}`);return o.json()}async mEnableDebugger(e,t){await this.mFetch(`/muonroi/rule-debugger/${e}/enable`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t??{})})}async mDisableDebugger(e){await this.mFetch(`/muonroi/rule-debugger/${e}/disable`,{method:"POST"})}async mQueryTraces(e,t){const r=new URLSearchParams;t!=null&&t.correlationId&&r.set("correlationId",t.correlationId),t!=null&&t.from&&r.set("from",t.from);const i=r.toString();return this.mFetch(`/muonroi/rule-debugger/${e}/traces${i?`?${i}`:""}`)}}var Be=Object.defineProperty,Le=Object.getOwnPropertyDescriptor,$=(s,e,t,r)=>{for(var i=r>1?void 0:r?Le(e,t):e,o=s.length-1,n;o>=0;o--)(n=s[o])&&(i=(r?n(e,t,i):n(i))||i);return r&&i&&Be(e,t,i),i};const Fe=["BeforeEval","AfterEval","AfterExec","Error","Compensate"],Je=["#6366f1","#3b82f6","#22c55e","#ef4444","#f59e0b"];let f=class extends T{constructor(){super(...arguments),this.apiBaseUrl="",this.tenantId="",this.correlationId="",this.readOnly=!1,this.tracesJson="",this._traces=[],this._loading=!1,this._error=null,this._expandedIds=new Set,this._phaseFilter="all",this._successFilter="all",this._apiClient=null}connectedCallback(){super.connectedCallback(),this.apiBaseUrl&&(this._apiClient=new ge(this.apiBaseUrl))}updated(s){if(s.has("tracesJson")&&this.tracesJson)try{this._traces=JSON.parse(this.tracesJson)}catch{}s.has("apiBaseUrl")&&this.apiBaseUrl&&(this._apiClient=new ge(this.apiBaseUrl))}async loadTraces(){if(!(!this._apiClient||!this.tenantId)){this._loading=!0,this._error=null;try{this._traces=await this._apiClient.mQueryTraces(this.tenantId,{correlationId:this.correlationId||void 0})}catch(s){this._error=s instanceof Error?s.message:String(s)}finally{this._loading=!1}}}async enableDebugger(s=30){!this._apiClient||!this.tenantId||await this._apiClient.mEnableDebugger(this.tenantId,{durationMinutes:s})}async disableDebugger(){!this._apiClient||!this.tenantId||await this._apiClient.mDisableDebugger(this.tenantId)}_phaseLabel(s){return Fe[s]??"Unknown"}_phaseColor(s){return Je[s]??"#6b7280"}get _filteredTraces(){return this._traces.filter(s=>!(this._phaseFilter!=="all"&&s.phase!==this._phaseFilter||this._successFilter==="success"&&!s.isSuccess||this._successFilter==="failure"&&s.isSuccess))}_toggleExpand(s){const e=new Set(this._expandedIds);e.has(s)?e.delete(s):e.add(s),this._expandedIds=e}_formatJson(s){if(!s)return"—";try{return JSON.stringify(JSON.parse(s),null,2)}catch{return s}}render(){return u`
|
|
32
|
+
<div class="trace-viewer">
|
|
33
|
+
<div class="trace-header">
|
|
34
|
+
<span class="trace-title">Execution Traces</span>
|
|
35
|
+
${this._apiClient?u`
|
|
36
|
+
<button
|
|
37
|
+
@click=${()=>this.loadTraces()}
|
|
38
|
+
?disabled=${this._loading}
|
|
39
|
+
>
|
|
40
|
+
${this._loading?"Loading...":"Refresh"}
|
|
41
|
+
</button>
|
|
42
|
+
`:d}
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
<div class="trace-filters">
|
|
46
|
+
<select
|
|
47
|
+
@change=${s=>{const e=s.target.value;this._phaseFilter=e==="all"?"all":Number(e)}}
|
|
48
|
+
>
|
|
49
|
+
<option value="all">All Phases</option>
|
|
50
|
+
${[0,1,2,3,4].map(s=>u`
|
|
51
|
+
<option value=${s}>
|
|
52
|
+
${this._phaseLabel(s)}
|
|
53
|
+
</option>
|
|
54
|
+
`)}
|
|
55
|
+
</select>
|
|
56
|
+
<select
|
|
57
|
+
@change=${s=>{this._successFilter=s.target.value}}
|
|
58
|
+
>
|
|
59
|
+
<option value="all">All</option>
|
|
60
|
+
<option value="success">Pass</option>
|
|
61
|
+
<option value="failure">Fail</option>
|
|
62
|
+
</select>
|
|
63
|
+
<span class="trace-count">${this._filteredTraces.length} traces</span>
|
|
64
|
+
</div>
|
|
65
|
+
|
|
66
|
+
${this._error?u`<div class="trace-error">${this._error}</div>`:d}
|
|
67
|
+
|
|
68
|
+
<div class="trace-list">
|
|
69
|
+
${this._filteredTraces.map(s=>{var e;return u`
|
|
70
|
+
<div
|
|
71
|
+
class="trace-row ${s.isSuccess?"":"trace-row--fail"}"
|
|
72
|
+
@click=${()=>this._toggleExpand(s.traceId)}
|
|
73
|
+
>
|
|
74
|
+
<span
|
|
75
|
+
class="trace-phase"
|
|
76
|
+
style="background:${this._phaseColor(s.phase)}"
|
|
77
|
+
>
|
|
78
|
+
${this._phaseLabel(s.phase)}
|
|
79
|
+
</span>
|
|
80
|
+
<span class="trace-rule">${s.ruleName}</span>
|
|
81
|
+
<span class="trace-elapsed">${s.elapsedMs}ms</span>
|
|
82
|
+
<span class="trace-icon"
|
|
83
|
+
>${s.isSuccess?"✓":"✗"}</span
|
|
84
|
+
>
|
|
85
|
+
</div>
|
|
86
|
+
${this._expandedIds.has(s.traceId)?u`
|
|
87
|
+
<div class="trace-detail">
|
|
88
|
+
${s.failureReason?u`
|
|
89
|
+
<div class="trace-detail__error">
|
|
90
|
+
<strong>Failure:</strong> ${s.failureReason}
|
|
91
|
+
</div>
|
|
92
|
+
`:d}
|
|
93
|
+
${(e=s.changedFactKeys)!=null&&e.length?u`
|
|
94
|
+
<div class="trace-detail__changed">
|
|
95
|
+
<strong>Changed facts:</strong>
|
|
96
|
+
${s.changedFactKeys.join(", ")}
|
|
97
|
+
</div>
|
|
98
|
+
`:d}
|
|
99
|
+
<div class="trace-detail__facts">
|
|
100
|
+
<div>
|
|
101
|
+
<strong>Input Facts:</strong>
|
|
102
|
+
<pre>${this._formatJson(s.inputFactsJson)}</pre>
|
|
103
|
+
</div>
|
|
104
|
+
<div>
|
|
105
|
+
<strong>Output Facts:</strong>
|
|
106
|
+
<pre>${this._formatJson(s.outputFactsJson)}</pre>
|
|
107
|
+
</div>
|
|
108
|
+
</div>
|
|
109
|
+
</div>
|
|
110
|
+
`:d}
|
|
111
|
+
`})}
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
`}};f.styles=te`
|
|
115
|
+
:host {
|
|
116
|
+
display: block;
|
|
117
|
+
font-family: system-ui, sans-serif;
|
|
118
|
+
font-size: 14px;
|
|
119
|
+
}
|
|
120
|
+
.trace-viewer {
|
|
121
|
+
border: 1px solid #e2e8f0;
|
|
122
|
+
border-radius: 8px;
|
|
123
|
+
overflow: hidden;
|
|
124
|
+
}
|
|
125
|
+
.trace-header {
|
|
126
|
+
display: flex;
|
|
127
|
+
align-items: center;
|
|
128
|
+
justify-content: space-between;
|
|
129
|
+
padding: 12px 16px;
|
|
130
|
+
background: #f8fafc;
|
|
131
|
+
border-bottom: 1px solid #e2e8f0;
|
|
132
|
+
}
|
|
133
|
+
.trace-title {
|
|
134
|
+
font-weight: 600;
|
|
135
|
+
font-size: 14px;
|
|
136
|
+
}
|
|
137
|
+
.trace-filters {
|
|
138
|
+
display: flex;
|
|
139
|
+
gap: 8px;
|
|
140
|
+
padding: 8px 16px;
|
|
141
|
+
border-bottom: 1px solid #e2e8f0;
|
|
142
|
+
align-items: center;
|
|
143
|
+
}
|
|
144
|
+
.trace-filters select {
|
|
145
|
+
padding: 4px 8px;
|
|
146
|
+
border: 1px solid #cbd5e1;
|
|
147
|
+
border-radius: 4px;
|
|
148
|
+
font-size: 12px;
|
|
149
|
+
}
|
|
150
|
+
.trace-count {
|
|
151
|
+
margin-left: auto;
|
|
152
|
+
font-size: 12px;
|
|
153
|
+
color: #64748b;
|
|
154
|
+
}
|
|
155
|
+
.trace-error {
|
|
156
|
+
padding: 8px 16px;
|
|
157
|
+
background: #fef2f2;
|
|
158
|
+
color: #dc2626;
|
|
159
|
+
font-size: 12px;
|
|
160
|
+
}
|
|
161
|
+
.trace-list {
|
|
162
|
+
max-height: 600px;
|
|
163
|
+
overflow-y: auto;
|
|
164
|
+
}
|
|
165
|
+
.trace-row {
|
|
166
|
+
display: flex;
|
|
167
|
+
align-items: center;
|
|
168
|
+
gap: 8px;
|
|
169
|
+
padding: 8px 16px;
|
|
170
|
+
cursor: pointer;
|
|
171
|
+
border-bottom: 1px solid #f1f5f9;
|
|
172
|
+
}
|
|
173
|
+
.trace-row:hover {
|
|
174
|
+
background: #f8fafc;
|
|
175
|
+
}
|
|
176
|
+
.trace-row--fail {
|
|
177
|
+
background: #fef2f2;
|
|
178
|
+
}
|
|
179
|
+
.trace-phase {
|
|
180
|
+
display: inline-block;
|
|
181
|
+
padding: 2px 8px;
|
|
182
|
+
border-radius: 9999px;
|
|
183
|
+
color: white;
|
|
184
|
+
font-size: 10px;
|
|
185
|
+
font-weight: 600;
|
|
186
|
+
text-transform: uppercase;
|
|
187
|
+
}
|
|
188
|
+
.trace-rule {
|
|
189
|
+
flex: 1;
|
|
190
|
+
font-family: monospace;
|
|
191
|
+
font-size: 13px;
|
|
192
|
+
}
|
|
193
|
+
.trace-elapsed {
|
|
194
|
+
font-size: 12px;
|
|
195
|
+
color: #64748b;
|
|
196
|
+
font-family: monospace;
|
|
197
|
+
}
|
|
198
|
+
.trace-icon {
|
|
199
|
+
font-size: 14px;
|
|
200
|
+
}
|
|
201
|
+
.trace-detail {
|
|
202
|
+
padding: 8px 16px 8px 40px;
|
|
203
|
+
background: #f8fafc;
|
|
204
|
+
border-bottom: 1px solid #e2e8f0;
|
|
205
|
+
}
|
|
206
|
+
.trace-detail__error {
|
|
207
|
+
color: #dc2626;
|
|
208
|
+
margin-bottom: 8px;
|
|
209
|
+
font-size: 13px;
|
|
210
|
+
}
|
|
211
|
+
.trace-detail__changed {
|
|
212
|
+
margin-bottom: 8px;
|
|
213
|
+
font-size: 12px;
|
|
214
|
+
color: #059669;
|
|
215
|
+
}
|
|
216
|
+
.trace-detail__facts {
|
|
217
|
+
display: grid;
|
|
218
|
+
grid-template-columns: 1fr 1fr;
|
|
219
|
+
gap: 12px;
|
|
220
|
+
}
|
|
221
|
+
.trace-detail__facts pre {
|
|
222
|
+
font-size: 11px;
|
|
223
|
+
background: #1e293b;
|
|
224
|
+
color: #e2e8f0;
|
|
225
|
+
padding: 8px;
|
|
226
|
+
border-radius: 4px;
|
|
227
|
+
overflow-x: auto;
|
|
228
|
+
max-height: 200px;
|
|
229
|
+
}
|
|
230
|
+
button {
|
|
231
|
+
padding: 6px 12px;
|
|
232
|
+
border: 1px solid #cbd5e1;
|
|
233
|
+
border-radius: 4px;
|
|
234
|
+
background: white;
|
|
235
|
+
cursor: pointer;
|
|
236
|
+
font-size: 12px;
|
|
237
|
+
}
|
|
238
|
+
button:hover {
|
|
239
|
+
background: #f1f5f9;
|
|
240
|
+
}
|
|
241
|
+
button:disabled {
|
|
242
|
+
opacity: 0.5;
|
|
243
|
+
cursor: not-allowed;
|
|
244
|
+
}
|
|
245
|
+
`,$([y({attribute:"api-base-url"})],f.prototype,"apiBaseUrl",2),$([y({attribute:"tenant-id"})],f.prototype,"tenantId",2),$([y({attribute:"correlation-id"})],f.prototype,"correlationId",2),$([y({type:Boolean,attribute:"read-only"})],f.prototype,"readOnly",2),$([y({attribute:"traces-json"})],f.prototype,"tracesJson",2),$([g()],f.prototype,"_traces",2),$([g()],f.prototype,"_loading",2),$([g()],f.prototype,"_error",2),$([g()],f.prototype,"_expandedIds",2),$([g()],f.prototype,"_phaseFilter",2),$([g()],f.prototype,"_successFilter",2),$([g()],f.prototype,"_apiClient",2),f=$([$e("mu-rule-trace-viewer")],f);var Ve=Object.defineProperty,qe=Object.getOwnPropertyDescriptor,R=(s,e,t,r)=>{for(var i=r>1?void 0:r?qe(e,t):e,o=s.length-1,n;o>=0;o--)(n=s[o])&&(i=(r?n(e,t,i):n(i))||i);return r&&i&&Ve(e,t,i),i};let x=class extends T{constructor(){super(...arguments),this.resultJson="",this.loading=!1,this._result=null,this._showTrace=!1,this._expandedRule=null}updated(s){if(s.has("resultJson")&&this.resultJson)try{this._result=JSON.parse(this.resultJson)}catch{this._result=null}}get _failedRules(){var s;return((s=this._result)==null?void 0:s.ruleResults.filter(e=>!e.isPass))??[]}_toggleExpand(s){this._expandedRule=this._expandedRule===s?null:s}render(){return this.loading?u`
|
|
246
|
+
<div class="loading">
|
|
247
|
+
<div class="spinner"></div>
|
|
248
|
+
<span>Validating...</span>
|
|
249
|
+
</div>
|
|
250
|
+
`:this._result?u`
|
|
251
|
+
<div class="panel">
|
|
252
|
+
<div
|
|
253
|
+
class="header ${this._result.isAllPassed?"header--pass":"header--fail"}"
|
|
254
|
+
>
|
|
255
|
+
<span class="header-icon"
|
|
256
|
+
>${this._result.isAllPassed?"✓":"⚠"}</span
|
|
257
|
+
>
|
|
258
|
+
<span class="header-text">
|
|
259
|
+
${this._result.isAllPassed?"All validations passed":`${this._failedRules.length} error(s) found`}
|
|
260
|
+
</span>
|
|
261
|
+
<span class="header-time">${this._result.totalElapsedMs}ms</span>
|
|
262
|
+
</div>
|
|
263
|
+
|
|
264
|
+
${this._showTrace?u`
|
|
265
|
+
<button
|
|
266
|
+
class="toggle-btn"
|
|
267
|
+
@click=${()=>{this._showTrace=!1}}
|
|
268
|
+
>
|
|
269
|
+
\u2190 Back to summary
|
|
270
|
+
</button>
|
|
271
|
+
<div class="trace-summary">
|
|
272
|
+
${this._result.totalRules} rules |
|
|
273
|
+
${this._result.passedCount} pass |
|
|
274
|
+
${this._result.failedCount} fail
|
|
275
|
+
</div>
|
|
276
|
+
${this._result.ruleResults.map(s=>u`
|
|
277
|
+
<div
|
|
278
|
+
class="rule-row ${s.isPass?"":"rule-row--fail"}"
|
|
279
|
+
@click=${()=>this._toggleExpand(s.ruleCode)}
|
|
280
|
+
>
|
|
281
|
+
<span class="rule-icon"
|
|
282
|
+
>${s.isPass?"✓":"✗"}</span
|
|
283
|
+
>
|
|
284
|
+
<span class="rule-code">${s.ruleCode}</span>
|
|
285
|
+
</div>
|
|
286
|
+
${this._expandedRule===s.ruleCode&&s.errors.length>0?u`
|
|
287
|
+
<div class="rule-detail">
|
|
288
|
+
${s.errors.map(e=>u`<div>${e}</div>`)}
|
|
289
|
+
</div>
|
|
290
|
+
`:d}
|
|
291
|
+
`)}
|
|
292
|
+
`:u`
|
|
293
|
+
${this._failedRules.map(s=>u`
|
|
294
|
+
<div class="error-card">
|
|
295
|
+
<span class="error-icon">\u2717</span>
|
|
296
|
+
<div class="error-messages">
|
|
297
|
+
${s.errors.map(e=>u`<div>${e}</div>`)}
|
|
298
|
+
</div>
|
|
299
|
+
</div>
|
|
300
|
+
`)}
|
|
301
|
+
${this._result.isAllPassed?u`
|
|
302
|
+
<div class="success-card">
|
|
303
|
+
<span>\u2713</span>
|
|
304
|
+
<span>All ${this._result.totalRules} rules passed</span>
|
|
305
|
+
</div>
|
|
306
|
+
`:d}
|
|
307
|
+
<button
|
|
308
|
+
class="toggle-btn"
|
|
309
|
+
@click=${()=>{this._showTrace=!0}}
|
|
310
|
+
>
|
|
311
|
+
View execution trace \u2192
|
|
312
|
+
</button>
|
|
313
|
+
`}
|
|
314
|
+
</div>
|
|
315
|
+
`:d}};x.styles=te`
|
|
316
|
+
:host {
|
|
317
|
+
display: block;
|
|
318
|
+
overflow-y: auto;
|
|
319
|
+
max-height: calc(100vh - 200px);
|
|
320
|
+
font-family: system-ui, sans-serif;
|
|
321
|
+
font-size: 14px;
|
|
322
|
+
}
|
|
323
|
+
.loading {
|
|
324
|
+
display: flex;
|
|
325
|
+
align-items: center;
|
|
326
|
+
justify-content: center;
|
|
327
|
+
padding: 24px;
|
|
328
|
+
gap: 8px;
|
|
329
|
+
}
|
|
330
|
+
.spinner {
|
|
331
|
+
width: 24px;
|
|
332
|
+
height: 24px;
|
|
333
|
+
border: 3px solid #e2e8f0;
|
|
334
|
+
border-top-color: #3b82f6;
|
|
335
|
+
border-radius: 50%;
|
|
336
|
+
animation: spin 0.6s linear infinite;
|
|
337
|
+
}
|
|
338
|
+
@keyframes spin {
|
|
339
|
+
to {
|
|
340
|
+
transform: rotate(360deg);
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
.panel {
|
|
344
|
+
padding: 12px;
|
|
345
|
+
}
|
|
346
|
+
.header {
|
|
347
|
+
display: flex;
|
|
348
|
+
align-items: center;
|
|
349
|
+
gap: 8px;
|
|
350
|
+
padding: 8px 12px;
|
|
351
|
+
border-radius: 6px;
|
|
352
|
+
margin-bottom: 12px;
|
|
353
|
+
}
|
|
354
|
+
.header--pass {
|
|
355
|
+
background: #f0fdf4;
|
|
356
|
+
border-left: 3px solid #22c55e;
|
|
357
|
+
}
|
|
358
|
+
.header--fail {
|
|
359
|
+
background: #fef2f2;
|
|
360
|
+
border-left: 3px solid #ef4444;
|
|
361
|
+
}
|
|
362
|
+
.header-icon {
|
|
363
|
+
font-size: 16px;
|
|
364
|
+
}
|
|
365
|
+
.header-text {
|
|
366
|
+
font-size: 13px;
|
|
367
|
+
font-weight: 600;
|
|
368
|
+
flex: 1;
|
|
369
|
+
}
|
|
370
|
+
.header--pass .header-text {
|
|
371
|
+
color: #15803d;
|
|
372
|
+
}
|
|
373
|
+
.header--fail .header-text {
|
|
374
|
+
color: #b91c1c;
|
|
375
|
+
}
|
|
376
|
+
.header-time {
|
|
377
|
+
font-size: 11px;
|
|
378
|
+
font-family: monospace;
|
|
379
|
+
color: #64748b;
|
|
380
|
+
}
|
|
381
|
+
.error-card {
|
|
382
|
+
display: flex;
|
|
383
|
+
gap: 8px;
|
|
384
|
+
padding: 8px 12px;
|
|
385
|
+
margin-bottom: 8px;
|
|
386
|
+
background: #fef2f2;
|
|
387
|
+
border-left: 3px solid #fca5a5;
|
|
388
|
+
border-radius: 4px;
|
|
389
|
+
}
|
|
390
|
+
.error-icon {
|
|
391
|
+
color: #ef4444;
|
|
392
|
+
}
|
|
393
|
+
.error-messages {
|
|
394
|
+
font-size: 13px;
|
|
395
|
+
color: #374151;
|
|
396
|
+
}
|
|
397
|
+
.success-card {
|
|
398
|
+
display: flex;
|
|
399
|
+
gap: 8px;
|
|
400
|
+
padding: 8px 12px;
|
|
401
|
+
background: #f0fdf4;
|
|
402
|
+
border-left: 3px solid #86efac;
|
|
403
|
+
border-radius: 4px;
|
|
404
|
+
font-size: 13px;
|
|
405
|
+
color: #15803d;
|
|
406
|
+
}
|
|
407
|
+
.toggle-btn {
|
|
408
|
+
display: flex;
|
|
409
|
+
align-items: center;
|
|
410
|
+
justify-content: center;
|
|
411
|
+
width: 100%;
|
|
412
|
+
padding: 8px;
|
|
413
|
+
margin-top: 12px;
|
|
414
|
+
border: none;
|
|
415
|
+
background: none;
|
|
416
|
+
color: #64748b;
|
|
417
|
+
cursor: pointer;
|
|
418
|
+
font-size: 12px;
|
|
419
|
+
}
|
|
420
|
+
.toggle-btn:hover {
|
|
421
|
+
color: #3b82f6;
|
|
422
|
+
}
|
|
423
|
+
.trace-summary {
|
|
424
|
+
font-size: 12px;
|
|
425
|
+
color: #64748b;
|
|
426
|
+
margin-bottom: 8px;
|
|
427
|
+
}
|
|
428
|
+
.rule-row {
|
|
429
|
+
display: flex;
|
|
430
|
+
align-items: center;
|
|
431
|
+
gap: 8px;
|
|
432
|
+
padding: 6px 8px;
|
|
433
|
+
margin-bottom: 2px;
|
|
434
|
+
border-radius: 4px;
|
|
435
|
+
cursor: pointer;
|
|
436
|
+
font-size: 13px;
|
|
437
|
+
}
|
|
438
|
+
.rule-row:hover {
|
|
439
|
+
background: #f8fafc;
|
|
440
|
+
}
|
|
441
|
+
.rule-row--fail {
|
|
442
|
+
background: #fef2f2;
|
|
443
|
+
}
|
|
444
|
+
.rule-icon {
|
|
445
|
+
font-size: 12px;
|
|
446
|
+
}
|
|
447
|
+
.rule-code {
|
|
448
|
+
font-family: monospace;
|
|
449
|
+
font-size: 12px;
|
|
450
|
+
}
|
|
451
|
+
.rule-detail {
|
|
452
|
+
margin: 0 0 8px 28px;
|
|
453
|
+
padding: 8px;
|
|
454
|
+
background: #f8fafc;
|
|
455
|
+
border-radius: 4px;
|
|
456
|
+
font-size: 12px;
|
|
457
|
+
color: #475569;
|
|
458
|
+
}
|
|
459
|
+
`,R([y({attribute:"result-json"})],x.prototype,"resultJson",2),R([y({type:Boolean})],x.prototype,"loading",2),R([g()],x.prototype,"_result",2),R([g()],x.prototype,"_showTrace",2),R([g()],x.prototype,"_expandedRule",2),x=R([$e("mu-rule-result-panel")],x)})();
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Flow-designer IIFE entry point — includes flow designer + trace/result components.
|
|
3
|
+
* Excludes: decision-table (Monaco dependency causes dynamic import() in IIFE format).
|
|
4
|
+
* Output: dist/muonroi-flow-components.iife.js (~1-2MB)
|
|
5
|
+
*/
|
|
6
|
+
import "./components/rule-flow/mu-rule-flow-designer.js";
|
|
7
|
+
import "./components/trace-viewer/mu-rule-trace-viewer.js";
|
|
8
|
+
import "./components/result-panel/mu-rule-result-panel.js";
|
|
9
|
+
//# sourceMappingURL=register-flow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-flow.d.ts","sourceRoot":"","sources":["../src/register-flow.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,iDAAiD,CAAC;AACzD,OAAO,mDAAmD,CAAC;AAC3D,OAAO,mDAAmD,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lightweight registration entry point — only registers trace/result
|
|
3
|
+
* web components. Excludes Monaco editor, React, and XYFlow dependencies.
|
|
4
|
+
* Suitable for use as a standalone IIFE in Angular and other host apps.
|
|
5
|
+
*/
|
|
6
|
+
import "./components/trace-viewer/mu-rule-trace-viewer.js";
|
|
7
|
+
import "./components/result-panel/mu-rule-result-panel.js";
|
|
8
|
+
//# sourceMappingURL=register-trace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-trace.d.ts","sourceRoot":"","sources":["../src/register-trace.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,mDAAmD,CAAC;AAC3D,OAAO,mDAAmD,CAAC"}
|
package/dist/registry.d.ts
CHANGED
|
@@ -19,5 +19,7 @@ import "./components/shared/mu-upgrade-prompt.js";
|
|
|
19
19
|
import "./components/shared/mu-quota-indicator.js";
|
|
20
20
|
import "./components/shared/mu-schema-watcher.js";
|
|
21
21
|
import "./components/shared/mu-ui-engine-app.js";
|
|
22
|
+
import "./components/trace-viewer/mu-rule-trace-viewer.js";
|
|
23
|
+
import "./components/result-panel/mu-rule-result-panel.js";
|
|
22
24
|
export declare function MRegisterRuleComponents(): void;
|
|
23
25
|
//# sourceMappingURL=registry.d.ts.map
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,kDAAkD,CAAC;AAC1D,OAAO,uDAAuD,CAAC;AAC/D,OAAO,iDAAiD,CAAC;AACzD,OAAO,+CAA+C,CAAC;AACvD,OAAO,2CAA2C,CAAC;AACnD,OAAO,0DAA0D,CAAC;AAClE,OAAO,oDAAoD,CAAC;AAC5D,OAAO,mDAAmD,CAAC;AAC3D,OAAO,yCAAyC,CAAC;AACjD,OAAO,4CAA4C,CAAC;AACpD,OAAO,yCAAyC,CAAC;AACjD,OAAO,0CAA0C,CAAC;AAClD,OAAO,yCAAyC,CAAC;AACjD,OAAO,yCAAyC,CAAC;AACjD,OAAO,2CAA2C,CAAC;AACnD,OAAO,iDAAiD,CAAC;AACzD,OAAO,+CAA+C,CAAC;AACvD,OAAO,0CAA0C,CAAC;AAClD,OAAO,2CAA2C,CAAC;AACnD,OAAO,0CAA0C,CAAC;AAClD,OAAO,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,kDAAkD,CAAC;AAC1D,OAAO,uDAAuD,CAAC;AAC/D,OAAO,iDAAiD,CAAC;AACzD,OAAO,+CAA+C,CAAC;AACvD,OAAO,2CAA2C,CAAC;AACnD,OAAO,0DAA0D,CAAC;AAClE,OAAO,oDAAoD,CAAC;AAC5D,OAAO,mDAAmD,CAAC;AAC3D,OAAO,yCAAyC,CAAC;AACjD,OAAO,4CAA4C,CAAC;AACpD,OAAO,yCAAyC,CAAC;AACjD,OAAO,0CAA0C,CAAC;AAClD,OAAO,yCAAyC,CAAC;AACjD,OAAO,yCAAyC,CAAC;AACjD,OAAO,2CAA2C,CAAC;AACnD,OAAO,iDAAiD,CAAC;AACzD,OAAO,+CAA+C,CAAC;AACvD,OAAO,0CAA0C,CAAC;AAClD,OAAO,2CAA2C,CAAC;AACnD,OAAO,0CAA0C,CAAC;AAClD,OAAO,yCAAyC,CAAC;AACjD,OAAO,mDAAmD,CAAC;AAC3D,OAAO,mDAAmD,CAAC;AAE3D,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface MRuleComponentRuntimeOptions {
|
|
2
|
+
tenantId?: string | null;
|
|
3
|
+
mGetTenantId?: () => string | null;
|
|
4
|
+
headers?: Record<string, string> | null;
|
|
5
|
+
mGetHeaders?: () => Record<string, string> | null;
|
|
6
|
+
}
|
|
7
|
+
export declare function MConfigureRuleComponentRuntime(options?: MRuleComponentRuntimeOptions): void;
|
|
8
|
+
export declare function MResetRuleComponentRuntimeForTests(): void;
|
|
9
|
+
export declare function MBuildRuleComponentHeaders(existing?: HeadersInit, overrides?: {
|
|
10
|
+
tenantId?: string | null;
|
|
11
|
+
}): Headers;
|
|
12
|
+
//# sourceMappingURL=request-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-context.d.ts","sourceRoot":"","sources":["../../src/runtime/request-context.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CACnD;AAID,wBAAgB,8BAA8B,CAAC,OAAO,CAAC,EAAE,4BAA4B,GAAG,IAAI,CAK3F;AAED,wBAAgB,kCAAkC,IAAI,IAAI,CAEzD;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,OAAO,CAmBpH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feel-service.d.ts","sourceRoot":"","sources":["../../src/services/feel-service.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,OAAO,GAAE,mBAAwB;
|
|
1
|
+
{"version":3,"file":"feel-service.d.ts","sourceRoot":"","sources":["../../src/services/feel-service.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,OAAO,GAAE,mBAAwB;IAShC,SAAS,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIxE,aAAa,CAAC,iBAAiB,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAO/F,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAS7C,KAAK;IAgBnB,OAAO,CAAC,WAAW;CAapB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { MRuleCatalogGroup, MRuleCatalogItem } from "../models.js";
|
|
2
|
+
export interface MRuleCatalogServiceOptions {
|
|
3
|
+
baseUrl: string;
|
|
4
|
+
fetchImpl?: typeof fetch;
|
|
5
|
+
tenantId?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface MRuleCatalogQuery {
|
|
8
|
+
category?: string;
|
|
9
|
+
search?: string;
|
|
10
|
+
includeHidden?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare class MRuleCatalogService {
|
|
13
|
+
private readonly mBaseUrl;
|
|
14
|
+
private readonly mFetch;
|
|
15
|
+
private readonly mTenantId;
|
|
16
|
+
constructor(options: MRuleCatalogServiceOptions);
|
|
17
|
+
MListCatalog(query?: MRuleCatalogQuery): Promise<MRuleCatalogGroup[]>;
|
|
18
|
+
MGetItem(code: string, includeHidden?: boolean): Promise<MRuleCatalogItem>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=rule-catalog-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rule-catalog-service.d.ts","sourceRoot":"","sources":["../../src/services/rule-catalog-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGxE,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,OAAO,EAAE,0BAA0B;IAOlC,YAAY,CAAC,KAAK,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAuBrE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,UAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAgBtF"}
|
|
@@ -3,6 +3,7 @@ export interface MRuleEngineApiOptions {
|
|
|
3
3
|
baseUrl: string;
|
|
4
4
|
fetchImpl?: typeof fetch;
|
|
5
5
|
getAccessToken?: () => string | null;
|
|
6
|
+
tenantId?: string;
|
|
6
7
|
}
|
|
7
8
|
export interface MNRulesDefinition {
|
|
8
9
|
id: string;
|
|
@@ -24,6 +25,7 @@ export declare class MRuleEngineApi {
|
|
|
24
25
|
private readonly mBaseUrl;
|
|
25
26
|
private readonly mFetch;
|
|
26
27
|
private readonly mGetAccessToken?;
|
|
28
|
+
private readonly mTenantId;
|
|
27
29
|
constructor(options: MRuleEngineApiOptions);
|
|
28
30
|
MListDecisionTables(): Promise<MDecisionTableModel[]>;
|
|
29
31
|
MGetDecisionTable(id: string): Promise<MDecisionTableModel>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-engine-api.d.ts","sourceRoot":"","sources":["../../src/services/rule-engine-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"rule-engine-api.d.ts","sourceRoot":"","sources":["../../src/services/rule-engine-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAGlH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAsB;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,OAAO,EAAE,qBAAqB;IAQ7B,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAKrD,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAI3D,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAOxF,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIpD,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzF,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC;IAI5E,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC;IAI7F,WAAW,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAI3C,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAOlF,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAOpF,eAAe,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAIxC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAOnE,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;YAOjF,QAAQ;YASR,YAAY;IAS1B,OAAO,CAAC,UAAU;CAiBnB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { MRuleFlowContractReference, MRuleFlowContractSchema, MRuleFlowContractSourceType } from "../models.js";
|
|
2
|
+
export interface MRuleFlowContractServiceOptions {
|
|
3
|
+
baseUrl: string;
|
|
4
|
+
fetchImpl?: typeof fetch;
|
|
5
|
+
tenantId?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface MRuleFlowContractLookupResponse {
|
|
8
|
+
sourceType: MRuleFlowContractSourceType;
|
|
9
|
+
sourceCode: string;
|
|
10
|
+
title?: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
requestContract?: MRuleFlowContractSchema;
|
|
13
|
+
responseContract?: MRuleFlowContractSchema;
|
|
14
|
+
}
|
|
15
|
+
export interface MRuleFlowNodeContractLookupResponse {
|
|
16
|
+
flowCode: string;
|
|
17
|
+
nodeId: string;
|
|
18
|
+
nodeType?: string;
|
|
19
|
+
ruleCode?: string;
|
|
20
|
+
order?: number;
|
|
21
|
+
dependsOn?: string[];
|
|
22
|
+
requestScope?: MRuleFlowContractSchema;
|
|
23
|
+
responseDelta?: MRuleFlowContractSchema;
|
|
24
|
+
}
|
|
25
|
+
export interface MRuleFlowSummary {
|
|
26
|
+
workflowName: string;
|
|
27
|
+
versions?: number[];
|
|
28
|
+
activeVersion?: number | null;
|
|
29
|
+
}
|
|
30
|
+
export declare class MRuleFlowContractService {
|
|
31
|
+
private readonly mBaseUrl;
|
|
32
|
+
private readonly mFetch;
|
|
33
|
+
private readonly mTenantId;
|
|
34
|
+
constructor(options: MRuleFlowContractServiceOptions);
|
|
35
|
+
MGetByReference(reference: MRuleFlowContractReference): Promise<MRuleFlowContractLookupResponse>;
|
|
36
|
+
MGetFlowContract(flowCode: string): Promise<MRuleFlowContractLookupResponse>;
|
|
37
|
+
MGetNodeAuthoringContract(flowCode: string, nodeId: string): Promise<MRuleFlowNodeContractLookupResponse>;
|
|
38
|
+
MListFlows(): Promise<MRuleFlowSummary[]>;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=rule-flow-contract-service.d.ts.map
|