@memberjunction/ng-dashboards 5.44.0 → 5.45.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/AI/components/autotagging/tabs/sources-tab.component.d.ts +1 -0
- package/dist/AI/components/autotagging/tabs/sources-tab.component.d.ts.map +1 -1
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js +5 -3
- package/dist/AI/components/autotagging/tabs/sources-tab.component.js.map +1 -1
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.d.ts +4 -2
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +13 -11
- package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
- package/dist/AI/components/prompts/prompt-version-control.component.d.ts +3 -1
- package/dist/AI/components/prompts/prompt-version-control.component.d.ts.map +1 -1
- package/dist/AI/components/prompts/prompt-version-control.component.js +12 -10
- package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.d.ts +1 -0
- package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
- package/dist/AI/components/tags/tags-resource.component.js +10 -8
- package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts +2 -1
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +1 -1
- package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -1
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts +1 -0
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +5 -3
- package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.d.ts +3 -1
- package/dist/Credentials/components/credentials-categories-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-categories-resource.component.js +11 -5
- package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.d.ts +3 -2
- package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-list-resource.component.js +23 -9
- package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.d.ts +3 -2
- package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
- package/dist/Credentials/components/credentials-types-resource.component.js +10 -4
- package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
- package/dist/DatabaseDesigner/components/modify/database-modify.component.d.ts +2 -1
- package/dist/DatabaseDesigner/components/modify/database-modify.component.d.ts.map +1 -1
- package/dist/DatabaseDesigner/components/modify/database-modify.component.js +13 -6
- package/dist/DatabaseDesigner/components/modify/database-modify.component.js.map +1 -1
- package/dist/FormBuilder/form-builder-resource.component.d.ts +2 -1
- package/dist/FormBuilder/form-builder-resource.component.d.ts.map +1 -1
- package/dist/FormBuilder/form-builder-resource.component.js +10 -8
- package/dist/FormBuilder/form-builder-resource.component.js.map +1 -1
- package/dist/MCP/mcp-dashboard.component.d.ts +3 -1
- package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
- package/dist/MCP/mcp-dashboard.component.js +32 -14
- package/dist/MCP/mcp-dashboard.component.js.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.d.ts +4 -2
- package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
- package/dist/QueryBrowser/query-browser-resource.component.js +15 -13
- package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
- package/dist/UserRoutines/user-routines-agent-context.d.ts +44 -0
- package/dist/UserRoutines/user-routines-agent-context.d.ts.map +1 -0
- package/dist/UserRoutines/user-routines-agent-context.js +81 -0
- package/dist/UserRoutines/user-routines-agent-context.js.map +1 -0
- package/dist/UserRoutines/user-routines-resource.component.d.ts +60 -0
- package/dist/UserRoutines/user-routines-resource.component.d.ts.map +1 -0
- package/dist/UserRoutines/user-routines-resource.component.js +328 -0
- package/dist/UserRoutines/user-routines-resource.component.js.map +1 -0
- package/dist/module.d.ts +16 -15
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +7 -0
- package/dist/module.js.map +1 -1
- package/dist/public-api.d.ts +2 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +3 -0
- package/dist/public-api.js.map +1 -1
- package/dist/routines-dashboards.module.d.ts +17 -0
- package/dist/routines-dashboards.module.d.ts.map +1 -0
- package/dist/routines-dashboards.module.js +65 -0
- package/dist/routines-dashboards.module.js.map +1 -0
- package/package.json +63 -58
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-version-control.component.js","sourceRoot":"","sources":["../../../../src/AI/components/prompts/prompt-version-control.component.ts","../../../../src/AI/components/prompts/prompt-version-control.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAqB,MAAM,eAAe,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAY,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAIhD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;;;;;;;;;;;ICoBzD,qCACiC;;;IAOzB,6BAA8B;IAAA,YAA4B;IAAA,iBAAI;;;IAAhC,cAA4B;IAA5B,+CAA4B;;;;IAJhE,+BAAsE;IAA7C,oPAAS,4CAAkC,KAAC;IAEjE,AADF,+BAAyB,aACE;IAAA,YAAqB;IAAA,iBAAK;IACnD,iIAA8B;IAGhC,iBAAM;IACN,+BAA4B;IAC1B,wBAAuC;IAE3C,AADE,iBAAM,EACF;;;IARuB,eAAqB;IAArB,wCAAqB;IAC9C,cAEC;IAFD,oDAEC;;;IANP,8HAYC;;;IAZD,8CAYC;;;;IAtCP,AADF,8BAAqC,YACT;IACxB,uBAAmC;IACnC,iCACF;IAAA,iBAAK;IACL,4BAA2B;IAAA,2DAA2C;IAAA,iBAAI;IAKpE,AADF,AADF,AADF,8BAA6B,aACE,aACF,cACQ;IAC7B,wBAAkC;IACpC,iBAAO;IACP,kCAKiD;IAA/C,uNAAiB,mCAA4B,KAAC;IAEpD,AADE,AANE,iBAKiD,EAC7C,EACF;IAEN,gCAA0B;IAItB,AAHF,2HAAqC,+EAG5B;IAiBf,AADE,AADE,iBAAM,EACF,EACF;;;IA1BI,gBAAmC;IAAnC,wDAAmC;IAMvC,eAiBC;IAjBD,gEAiBC;;;IAYD,gCAA0B;IAAA,YAAmB;IAAA,iBAAO;;;IAA1B,cAAmB;IAAnB,+CAAmB;;;IA0EnD,+BAA+B;IAC7B,iCAA8D;IAChE,iBAAM;;;IADQ,cAAuB;IAAvB,4CAAuB;;;IAoBrB,0BAAiC;;;;IAmB7B,kCAIoC;IADlC,mSAAS,wBAAwB,wBAAE,kCAAwB,KAAC;IAE5D,wBAAwC;IAC1C,iBAAS;;;;IAIT,kCAI+B;IAD7B,mSAAS,wBAAwB,wBAAE,mCAAyB,KAAC;IAE7D,wBAAgC;IAClC,iBAAS;;;IAiBD,AADF,gCAA2B,eACD;IAAA,YAA4D;IAAA,iBAAO;IAC3F,wBAAuC;IACvC,gCAAwB;IAAA,YAA4D;IACtF,AADsF,iBAAO,EACtF;;;;;IAHmB,eAA4D;IAA5D,0FAA4D;IAE5D,eAA4D;IAA5D,0FAA4D;;;IAGtF,gCAAwB;IAAA,YAA4D;IAAA,iBAAO;;;;;IAAnE,cAA4D;IAA5D,0FAA4D;;;IARtF,AADF,+BAAyB,eACE;IAAA,YAAsC;IAAA,iBAAO;IAOpE,AANF,qLAAyD,+JAMhD;IAGX,iBAAM;;;;;IAVqB,eAAsC;IAAtC,iEAAsC;IAC/D,cAQC;IARD,kFAQC;;;IAZP,AADF,+BAA6B,cACD;IACxB,iMAaC;IAEL,AADE,iBAAM,EACF;;;;IAfF,eAaC;IAbD,cAAA,4CAAkC,CAajC;;;;IAtEX,+BAGwC;IAAnC,6QAAS,kCAAwB,KAAC;IAGnC,AADF,+BAA6B,cAC+C;IACxE,wBAAwE;IAC1E,iBAAM;IACN,+JAA+B;IAGjC,iBAAM;IAKA,AADF,AADF,AADF,+BAA8B,cACA,cACA,aACE;IAAA,YAA8B;IAAA,iBAAK;IAE3D,AADF,gCAA0B,gBACE;IAAA,aAAuC;;IAAA,iBAAO;IACxE,iCAAyB;IAAA,aAA0B;IAAA,iBAAO;IAC1D,iCAA4J;IAC1J,aACF;IAEJ,AADE,AADE,iBAAO,EACH,EACF;IAEN,gCAA6B;IAC3B,oKAAiD;IAUjD,oKAAgD;IAUpD,AADE,iBAAM,EACF;IAEN,gCAAiC;IAC/B,aACF;IAAA,iBAAM;IAEN,iKAAuD;IAqB3D,AADE,iBAAM,EACF;;;;;IAzED,AADA,iHAAqD,+BACpB;IAIT,eAAgD;IAAhD,+DAAgD;IACnD,cAA+C;IAA/C,8DAA+C;IAErE,cAEC;IAFD,uEAEC;IAM6B,eAA8B;IAA9B,wDAA8B;IAE5B,eAAuC;IAAvC,4EAAuC;IACxC,eAA0B;IAA1B,kDAA0B;IACjB,cAA2D;IAAC,AAA5D,uEAA2D,2DAA8D;IACzJ,cACF;IADE,wDACF;IAKF,eAQC;IARD,iGAQC;IAED,cAQC;IARD,8EAQC;IAKH,eACF;IADE,8DACF;IAEA,cAmBC;IAnBD,qFAmBC;;;IA3ET,+BAA8B;IAC5B,4JA6EC;IACH,iBAAM;;;IA9EJ,cA6EC;IA7ED,8BA6EC;;;IAOuB,AAAtB,6BAAsB,YAAO;IAAA,uEAAuD;IAAQ,AAAR,iBAAQ,EAAI;;;IAJpG,+BAAiC;IAC/B,wBAAkD;IAClD,6BAAsB;IAAA,6DAA6C;IAAA,iBAAI;IACvE,uJAAuD;IAGzD,iBAAM;;;IAHJ,eAEC;IAFD,wFAEC;;;IAxFP,+BAAgC;IAkF5B,AAjFF,2IAA2B,qHAiFlB;IASX,iBAAM;;;IA1FJ,cAyFC;IAzFD,oDAyFC;;;IAaO,kCAA4B;IAAA,YAAuE;;IAAA,iBAAS;;;;IAApG,qCAAmB;IAAC,cAAuE;IAAvE,2HAAuE;;;IAanG,kCAA4B;IAAA,YAAuE;;IAAA,iBAAS;;;;IAApG,qCAAmB;IAAC,cAAuE;IAAvE,2HAAuE;;;IAiCzF,iCAA8C;IAAA,wBAAQ;IAAA,iBAAO;;;IAYvD,gCAA8B;IAAA,YAAmB;IAAA,iBAAM;;;IAAzB,cAAmB;IAAnB,uCAAmB;;;IAEjD,YACF;;;;IADE,4EACF;;;IAQE,gCAA8B;IAAA,YAAmB;IAAA,iBAAM;;;IAAzB,cAAmB;IAAnB,uCAAmB;;;IAEjD,YACF;;;;IADE,4EACF;;;IAjBF,AADF,AADF,gCAA+B,eACP,cACG;IAAA,uBAAO;IAAA,iBAAK;IACnC,gCAAkC;IAG9B,AAFF,6LAA4D,2JAEnD;IAIb,AADE,iBAAM,EACF;IAGJ,AADF,gCAAsB,cACG;IAAA,sBAAM;IAAA,iBAAK;IAClC,iCAAkC;IAG9B,AAFF,+LAA4D,6JAEnD;IAKf,AADE,AADE,iBAAM,EACF,EACF;;;IAlBA,eAIC;IAJD,sFAIC;IAOD,eAIC;IAJD,wFAIC;;;IAML,AADF,gCAAwB,cACC;IAAA,sBAAM;IAAA,iBAAK;IAClC,gCAAkC;IAAA,YAAsC;IAC1E,AAD0E,iBAAM,EAC1E;;;;IAD8B,eAAsC;IAAtC,iEAAsC;;;IAIxE,AADF,gCAA0B,cACD;IAAA,wBAAQ;IAAA,iBAAK;IACpC,gCAAkC;IAAA,YAAsC;IAC1E,AAD0E,iBAAM,EAC1E;;;;IAD8B,eAAsC;IAAtC,iEAAsC;;;IA9C1E,AADF,AADF,AADF,gCAAiE,eACtC,eACC,iBACK;IAAA,YAAsB;IAAA,iBAAS;IAC1D,iCAG2D;IACzD,YACF;IAAA,iBAAO;IACP,gLAAuB;IAI3B,AADE,iBAAM,EACF;IAEN,gCAA0B;IA8BtB,AALA,AAxBF,gLAAsC,2JAwBI,2JAKE;IAOhD,AADE,iBAAM,EACF;;;IArDuB,4CAAmC;IAG/B,eAAsB;IAAtB,0CAAsB;IAE3C,cAAmD;IAEnD,AADA,AADA,gEAAmD,qDACG,mDACF;IACxD,cACF;IADE,oDACF;IACA,cAEC;IAFD,8CAEC;IAKH,eAkCC;IAlCD,6IAkCC;;;IArDT,gCAA8B;IAC5B,4KAuDC;IACH,iBAAM;;;IAxDJ,cAuDC;IAvDD,kDAuDC;;;IAGH,gCAA4B;IAC1B,yBAAqD;IACrD,6BAAsB;IAAA,mEAAmD;IAC3E,AAD2E,iBAAI,EACzE;;;IAxEN,AADF,AADF,+BAAgC,cACC,aACA;IAC3B,wBAAwC;IACxC,YACF;IAAA,iBAAK;IACL,+BAA2B;IACzB,YACF;IACF,AADE,iBAAM,EACF;IA6DJ,AA3DF,2JAA+C,qIA2DtC;IAMX,iBAAM;;;IAxEA,eACF;IADE,gLACF;IAEE,eACF;IADE,2FACF;IAGF,cAgEC;IAhED,wEAgEC;;;;IAnGD,AADF,AADF,AAFF,+BAAkC,cAEE,cACJ,gBACA;IAAA,6BAAa;IAAA,iBAAQ;IAC/C,kCAA0G;IAA9E,yWAAgC;IAAC,gPAAiB,iCAA0B,KAAC;IACvG,+IAEC;IAEL,AADE,iBAAS,EACL;IAEN,+BAA8B;IAC5B,wBAAuC;IACzC,iBAAM;IAGJ,AADF,gCAA4B,iBACA;IAAA,4BAAW;IAAA,iBAAQ;IAC7C,mCAAwG;IAA5E,sWAA8B;IAAC,iPAAiB,iCAA0B,KAAC;IACrG,iJAEC;IAGP,AADE,AADE,iBAAS,EACL,EACF;IAGN,6IAAwB;IA+E1B,iBAAM;;;IArG4B,eAAgC;IAAhC,yDAAgC;IAC1D,cAEC;IAFD,8BAEC;IAUyB,eAA8B;IAA9B,uDAA8B;IACxD,cAEC;IAFD,8BAEC;IAMP,eA8EC;IA9ED,mDA8EC;;;IA2CS,AADF,gCAA4B,YACA;IAAA,4BAAY;IAAA,iBAAK;IAEzC,AADF,gCAAyB,eACG;IAAA,YAA2C;;IAEzE,AADE,AADuE,iBAAM,EACvE,EACF;;;IAFwB,eAA2C;IAA3C,iFAA2C;;;IAOvE,AADF,gCAA4B,YACA;IAAA,gCAAgB;IAAA,iBAAK;IAE7C,AADF,gCAA6B,eACG;IAAA,YAAkD;IAEpF,AADE,AADkF,iBAAM,EAClF,EACF;;;IAF4B,eAAkD;IAAlD,yEAAkD;;;IA5CtF,AADF,AADF,gCAA6B,eACC,cACA;IAAA,YAAsC;IAAA,iBAAK;IAEnE,AADF,gCAA0B,eACE;IAAA,YAA6C;;IAAA,iBAAO;IAC9E,gCAAyB;IAAA,YAA0C;IAEvE,AADE,AADqE,iBAAO,EACtE,EACF;IAIF,AADF,AADF,iCAA6B,gBACC,aACA;IAAA,mCAAkB;IAAA,iBAAK;IAG7C,AADF,AADF,iCAAyB,gBACE,iBACI;IAAA,sBAAK;IAAA,iBAAO;IACvC,kCAA2B;IACzB,yBAAgF;IAChF,aACF;IACF,AADE,iBAAO,EACH;IAGJ,AADF,iCAAyB,iBACI;IAAA,wBAAO;IAAA,iBAAO;IACzC,kCAA2B;IAAA,aAAkC;IAC/D,AAD+D,iBAAO,EAChE;IAGJ,AADF,iCAAyB,iBACI;IAAA,6BAAY;IAAA,iBAAO;IAC9C,kCAA2B;IAAA,aAAwC;IAGzE,AADE,AADE,AADqE,iBAAO,EACtE,EACF,EACF;IAEN,4JAAsC;IAStC,4JAAuC;IAS3C,AADE,iBAAM,EACF;;;IAjDwB,eAAsC;IAAtC,oEAAsC;IAEpC,eAA6C;IAA7C,qFAA6C;IAC9C,eAA0C;IAA1C,sEAA0C;IAWzC,gBAAuD;IAAvD,0EAAuD;IAC3E,cACF;IADE,kEACF;IAK2B,eAAkC;IAAlC,yDAAkC;IAKlC,eAAwC;IAAxC,+DAAwC;IAKzE,cAOC;IAPD,iEAOC;IAED,cAOC;IAPD,kEAOC;;;IAIL,sCACgE;;;IAxDpE,+BAA+B;IAsD3B,AArDF,8IAAuB,iIAqDd;IAIX,iBAAM;;;IAzDJ,cAwDC;IAxDD,gDAwDC;;;IAzQL,6HAAkC;IAgGlC,8HAAoC;IA+GpC,6HAAiC;;;IA/MjC,4DA6FC;IAGD,cA4GC;IA5GD,8DA4GC;IAGD,cA4DC;IA5DD,2DA4DC;;;;IAMC,AADF,+BAA6B,oBACD;IACxB,YACA;IAAA,mCAA+E;IAA3B,kNAAS,uBAAgB,KAAC;IAC5E,wBAAmC;IACnC,uBACF;IAEJ,AADE,AADE,iBAAS,EACA,EACP;;;IANF,eACA;IADA,6CACA;;;;IAvWF,AADF,AADA,+BAA6B,cACA,aACD;IACxB,uBAAmC;IACnC,iCACA;IAAA,+GAAc;IAGhB,iBAAK;IAID,AADF,AADF,+BAA8B,cACqB,gBACuG;IAAjE,2TAAyB;IAAC,sNAAiB,2BAAoB,KAAC;IAArJ,iBAAsJ;IACtJ,iCAA0D;IACxD,yBAAoC;IACpC,2BACF;IAAA,iBAAQ;IAER,kCAA0J;IAAjE,4TAAyB;IAAC,uNAAiB,2BAAoB,KAAC;IAAzJ,iBAA0J;IAC1J,kCAA4D;IAC1D,yBAAwC;IACxC,0BACF;IAAA,iBAAQ;IAER,kCAAoJ;IAAjE,4TAAyB;IAAC,uNAAiB,2BAAoB,KAAC;IAAnJ,iBAAoJ;IACpJ,kCAAyD;IACvD,yBAAgC;IAChC,0BACF;IAGN,AADE,AADE,AADE,iBAAQ,EACJ,EACF,EACF;IAIF,AADF,AADF,gCAA6B,eACE,iBACD;IAAA,wBAAO;IAAA,iBAAQ;IACzC,mCAA2G;IAAhE,uTAAsB;IAAC,wNAAiB,6BAAsB,KAAC;IACxG,mCAAoB;IAAA,4BAAW;IAAA,iBAAS;IACxC,mCAAwB;IAAA,6BAAY;IAAA,iBAAS;IAC7C,mCAAsB;IAAA,8BAAa;IAAA,iBAAS;IAC5C,mCAAyB;IAAA,iCAAgB;IAC3C,AAD2C,iBAAS,EAC3C;IAGP,AADF,gCAAoC,iBACqG;IAAvE,wUAA+B;IAAC,iNAAiB,2BAAoB,KAAC;IAAtI,iBAAuI;IACvI,kCAAiD;IAAA,uBAAM;IAE3D,AADE,AADyD,iBAAQ,EAC3D,EACF;IAGJ,AADF,gCAA6B,iBAK8C;IAAzC,uNAAiB,6BAAsB,KAAC;IAE5E,AADE,AALE,iBAIyE,EACrE,EACF;IAIF,AADF,AADF,gCAA6B,eACC,kBACkJ;IAA7G,kMAAS,8BAAuB,KAAC;IAC9F,yBAAqH;IACrH,uBACF;IAAA,iBAAS;IAET,mCAAyI;IAA1E,kMAAS,uBAAgB,KAAC;IACvF,yBAA+D;IAC/D,0BACF;IAAA,iBAAS;IAET,mCAAkH;IAAxD,kMAAS,6BAAsB,KAAC;IACxF,yBAAoC;IACpC,yBACF;IAGN,AADE,AADE,AADE,iBAAS,EACL,EACF,EACF;IAOJ,AAJF,gHAAiB,+EAIR;IAkRT,gHAAa;;;IAhWP,eAEC;IAFD,wCAEC;IAKsF,eAAyB;IAAzB,kDAAyB;IAMrB,eAAyB;IAAzB,kDAAyB;IAM/B,eAAyB;IAAzB,kDAAyB;IAYnE,eAAsB;IAAtB,+CAAsB;IAQC,gBAA+B;IAA/B,wDAA+B;IAU/F,eAA6B;IAA7B,kDAA6B;IAMkE,eAA0E;IAA1E,+FAA0E;IACrJ,cAA4C;IAAC,AAA7C,4DAA4C,iDAAgD;IAIxB,eAAsB;IAAtB,2CAAsB;IAC/E,cAA2B;IAA3B,2CAA2B;IAalE,eAmRC;IAnRD,4CAmRC;IAGD,eAUC;IAVD,wCAUC;;ADnXH,MAAM,OAAO,6BAA8B,SAAQ,oBAAoB;IA6CjD;IA5CX,MAAM,GAAoC,IAAI,CAAC;IAC/C,QAAQ,GAAG,IAAI,CAAC;IAChB,kBAAkB,GAAG,IAAI,CAAC;IAC1B,cAAc,GAAG,IAAI,CAAC;IACtB,WAAW,GAAG,EAAE,CAAC;IAEhB,eAAe,GAAG,IAAI,YAAY,EAAiB,CAAC;IACpD,eAAe,GAAG,IAAI,YAAY,EAA4B,CAAC;IAC/D,eAAe,GAAG,IAAI,YAAY,EAAqB,CAAC;IAElE,OAAO;IACA,QAAQ,GAAoB,EAAE,CAAC;IAC/B,aAAa,GAA2B,EAAE,CAAC;IAC3C,gBAAgB,GAAyC,IAAI,GAAG,EAAE,CAAC;IACnE,gBAAgB,GAA+B,EAAE,CAAC;IAClD,wBAAwB,GAA+B,EAAE,CAAC;IAEjE,WAAW;IACJ,SAAS,GAAG,KAAK,CAAC;IAClB,cAAc,GAAG,EAAE,CAAC;IACpB,KAAK,GAAkB,IAAI,CAAC;IAC5B,WAAW,GAA0C,UAAU,CAAC;IAChE,eAAe,GAAyB,IAAI,CAAC;IAC7C,kBAAkB,GAAyB,IAAI,CAAC;IAChD,gBAAgB,GAAyB,IAAI,CAAC;IAC9C,gBAAgB,GAA6B,IAAI,CAAC;IAEzD,wBAAwB;IACjB,QAAQ,GAA6C,KAAK,CAAC;IAC3D,aAAa,GAAmB,MAAM,CAAC;IACvC,WAAW,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;IAC9C,iBAAiB,GAAG,IAAI,eAAe,CAAS,EAAE,CAAC,CAAC;IACpD,iBAAiB,GAAG,KAAK,CAAC;IAEjC,yBAAyB;IAClB,cAAc,GAAG;QACtB,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,IAAI;KAClB,CAAC;IAEM,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;IAEvC,YAAoB,mBAA0C;QAAI,KAAK,EAAE,CAAC;QAAtD,wBAAmB,GAAnB,mBAAmB,CAAuB;IAAa,CAAC;IAE5E,QAAQ;QACN,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC7B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,GAAG,yCAAyC,CAAC;YACvD,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,cAAc,GAAG,4BAA4B,CAAC;YAEnD,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9B,MAAM,UAAU,GAAG,IAAI,YAAY,EAAE,CAAC;YACtC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YAE1E,mGAAmG;YACnG,MAAM,YAAY,GAAG,EAAyB,CAAC;YAC/C,IAAI,CAAC,aAAa,GAAG,MAAM,YAAY,CAAC,gBAAgB,CAAuB,gBAAgB,EAAE,UAAU,CAAC,CAAC;YAE7G,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;gBACnB,SAAS,CAAC,wCAAwC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtE,OAAO;YACT,CAAC;YAED,iEAAiE;YACjE,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAElC,8CAA8C;YAC9C,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE5B,wBAAwB;YACxB,IAAI,CAAC,YAAY,EAAE,CAAC;YAEpB,SAAS,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,MAAM,yBAAyB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAEvF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,GAAG,mDAAmD,CAAC;YACjE,QAAQ,CAAC,sCAAsC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QAEtC,2CAA2C;QAC3C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAClC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBACrD,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;oBAC1B,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACzC,CAAC;gBAED,+CAA+C;gBAC/C,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACvB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC/C,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;wBACtD,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBAC/C,CAAC;oBACD,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;wBACtD,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;oBAC/C,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,wBAAwB;YAC1B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,iCAAiC;QACjC,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,GAAG,qCAAqC,CAAC;YAE5D,+DAA+D;YAC/D,uEAAuE;YACvE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9B,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACrC,IAAI,CAAC;oBACH,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,eAAe,CAA0B,uBAAuB,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;oBACnH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACtD,IAAI,MAAM,EAAE,CAAC;wBACX,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;oBACzD,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,2CAA2C;oBAC3C,QAAQ,CAAC,2CAA2C,UAAU,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACvD,IAAI,eAAoD,CAAC;YAEzD,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBACrD,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;oBAC1B,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,wBAAwB;YAC1B,CAAC;YAED,MAAM,OAAO,GAAkB;gBAC7B,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,EAAE,oCAAoC;gBAChF,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;gBACrC,SAAS,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;gBACnC,UAAU,EAAE,MAAM,CAAC,IAAsC;gBACzD,YAAY,EAAE,MAAM,CAAC,MAAiC;gBACtD,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;gBAC7C,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC;gBACnD,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC;gBACzD,eAAe;gBACf,QAAQ,EAAE,KAAK,KAAK,CAAC,EAAE,gCAAgC;gBACvD,UAAU,EAAE,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,6CAA6C;aAChG,CAAC;YAEF,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,UAAkB;QACtC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,YAAY;QAClB,IAAI,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAElC,uBAAuB;QACvB,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,KAAK,SAAS;gBACZ,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC;gBAC3D,MAAM;YACR,KAAK,OAAO;gBACV,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,MAAM;YACR,KAAK,UAAU;gBACb,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,MAAM;QACV,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC;QACjE,CAAC;QAED,oBAAoB;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACxD,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC7B,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;gBACvD,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC/C,CAAC;QACJ,CAAC;QAED,gBAAgB;QAChB,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrB,MAAM,UAAU,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACjE,OAAO,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAEO,aAAa,CAAC,OAAsB;QAC1C,IAAI,CAAC,OAAO,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QAEvC,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC7E,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEO,kBAAkB,CAAC,OAAsB;QAC/C,IAAI,CAAC,OAAO,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QACvC,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC;IAC1C,CAAC;IAEM,eAAe,CAAC,OAAsB;QAC3C,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAEM,gBAAgB,CAAC,OAAsB;QAC5C,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAEM,aAAa,CAAC,GAAQ;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC;IAEM,yBAAyB,CAAC,SAAiB;QAChD,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAEM,wBAAwB;QAC7B,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEM,kBAAkB;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,OAAsB;QAChD,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACxC,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,6BAA6B,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;YAClG,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,+CAA+C,OAAO,CAAC,OAAO,SAAS,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,2CAA2C,CAAC,CAAC;QACrL,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,cAAc,GAAG,sBAAsB,CAAC;YAE7C,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9B,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC,eAAe,CAA2B,gBAAgB,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;YAC7G,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAE3C,4BAA4B;YAC5B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC3B,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;gBAE9C,iDAAiD;gBACjD,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;gBAChG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAC9B,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;wBACvC,eAAuB,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAC;gBAC3C,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,WAAW,OAAO,CAAC,OAAO,wBAAwB,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBACvH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBAE3C,mDAAmD;oBACnD,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,GAAG,8CAA8C,CAAC;YAC5D,QAAQ,CAAC,gCAAgC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC7D,IAAI,CAAC,mBAAmB,CAAC,wBAAwB,CAAC,2BAA2B,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAChG,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IAEM,eAAe,CAAC,WAA0B,EAAE,SAAyB;QAC1E,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;QACtC,IAAI,CAAC,gBAAgB,GAAG,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1H,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;QAChC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QAE/D,MAAM,WAAW,GAAsB,EAAE,CAAC;QAE1C,wBAAwB;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,IAAI,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,IAAI,EAAE,CAAC;QAE1D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAE9E,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC5B,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,SAAS,KAAK,IAAI;gBAAE,OAAO,CAAC,qBAAqB;YAEtF,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;YAEnC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBAC1B,IAAI,UAAU,GAAqC,UAAU,CAAC;gBAC9D,IAAI,QAAQ,KAAK,SAAS;oBAAE,UAAU,GAAG,OAAO,CAAC;gBACjD,IAAI,QAAQ,KAAK,SAAS;oBAAE,UAAU,GAAG,SAAS,CAAC;gBAEnD,WAAW,CAAC,IAAI,CAAC;oBACf,SAAS;oBACT,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;oBAChD,QAAQ;oBACR,QAAQ;oBACR,UAAU;oBACV,UAAU,EAAE,SAAS,KAAK,YAAY;iBACvC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,wCAAwC;QACxC,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC;QAEzC,IAAI,CAAC,gBAAgB,GAAG;YACtB,WAAW,EAAE,IAAI,CAAC,kBAAkB;YACpC,SAAS,EAAE,IAAI,CAAC,gBAAgB;YAChC,WAAW;SACZ,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACnD,CAAC;IAEO,sBAAsB,CAAC,WAA8B;QAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,eAAe,CAAC;QAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,eAAe,CAAC;QAE1D,IAAI,YAAY,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,YAAY,EAAE,YAAY,IAAI,EAAE,CAAC;YACrD,MAAM,SAAS,GAAG,UAAU,EAAE,YAAY,IAAI,EAAE,CAAC;YAEjD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,WAAW,CAAC,IAAI,CAAC;oBACf,SAAS,EAAE,cAAc;oBACzB,WAAW,EAAE,kBAAkB;oBAC/B,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,SAAS;oBACnB,UAAU,EAAE,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;oBACtF,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,SAAiB;QAC3C,MAAM,YAAY,GAA8B;YAC9C,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,aAAa;YAC5B,YAAY,EAAE,UAAU;YACxB,QAAQ,EAAE,MAAM;YAChB,QAAQ,EAAE,QAAQ;YAClB,YAAY,EAAE,UAAU;YACxB,cAAc,EAAE,kBAAkB;SACnC,CAAC;QAEF,OAAO,YAAY,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;IAC9C,CAAC;IAEM,cAAc,CAAC,MAAc;QAClC,IAAI,CAAC,QAAQ,GAAG,MAAa,CAAC;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEM,qBAAqB;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QACnE,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEM,cAAc,CAAC,IAAY;QAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEM,YAAY,CAAC,IAAY;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAW,CAAC;QAC/B,IAAI,IAAI,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACjF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAEM,iBAAiB,CAAC,UAAkB;QACzC,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,QAAQ,CAAC,CAAC,OAAO,gBAAgB,CAAC;YACvC,KAAK,QAAQ,CAAC,CAAC,OAAO,SAAS,CAAC;YAChC,KAAK,QAAQ,CAAC,CAAC,OAAO,UAAU,CAAC;YACjC,OAAO,CAAC,CAAC,OAAO,oBAAoB,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,kBAAkB,CAAC,UAAkB;QAC1C,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,QAAQ,CAAC,CAAC,OAAO,eAAe,CAAC;YACtC,KAAK,QAAQ,CAAC,CAAC,OAAO,eAAe,CAAC;YACtC,KAAK,QAAQ,CAAC,CAAC,OAAO,eAAe,CAAC;YACtC,OAAO,CAAC,CAAC,OAAO,gBAAgB,CAAC;QACnC,CAAC;IACH,CAAC;IAEM,iBAAiB,CAAC,KAAU;QACjC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACzD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACrE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACpD,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAEM,eAAe,CAAC,OAAsB;QAC3C,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,QAAQ;YAAE,KAAK,IAAI,YAAY,CAAC;QAC5C,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ;YAAE,KAAK,IAAI,YAAY,CAAC;QAC3D,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,oBAAoB;QACzB,MAAM,UAAU,GAAG;YACjB,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE;YACzB,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI;YAC7B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChC,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;gBACpC,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,kBAAkB,EAAE,CAAC,CAAC,kBAAkB;gBACxC,UAAU,EAAE,CAAC,CAAC,cAAc;aAC7B,CAAC,CAAC;SACJ,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC3F,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;QACb,CAAC,CAAC,QAAQ,GAAG,0BAA0B,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACvH,CAAC,CAAC,KAAK,EAAE,CAAC;QACV,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAEM,cAAc;QACnB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;YACpC,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,CAA2B,gBAAgB,CAAC,CAAC;YAChG,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE,CAAC;YAC5C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAA2B,EAAE,CAA2B,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACjI,IAAI,CAAC,wBAAwB,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC1D,QAAQ,CAAC,kCAAkC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAEO,oBAAoB;QAC1B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE;YAC5C,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,UAAkB;QAC/C,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,wBAAwB,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;YAC7C,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CACpE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACxC,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;IAEM,oBAAoB,CAAC,UAAkB;QAC5C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAEM,sBAAsB,CAAC,MAAgC;QAC5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;uHAhhBU,6BAA6B;6DAA7B,6BAA6B;YC7C1C,8BAAoC;YA+ChC,AA7CF,gGAAe,iEA6CN;YAmXX,iBAAM;;YAhaJ,cA+ZC;YA/ZD,qCA+ZC;;;iFDpXU,6BAA6B;cANzC,SAAS;6BACI,KAAK,YACP,4BAA4B;;kBAKrC,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBACL,KAAK;;kBAEL,MAAM;;kBACN,MAAM;;kBACN,MAAM;;kFATI,6BAA6B","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\nimport { CompositeKey, LogError, LogStatus, Metadata } from '@memberjunction/core';\nimport { MJRecordChangeEntity, MJTemplateContentEntity } from '@memberjunction/core-entities';\nimport { Subject, BehaviorSubject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\nimport { MJAIPromptEntityExtended } from '@memberjunction/ai-core-plus';\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\n\ninterface PromptVersion {\n id: string;\n version: number;\n changedAt: Date;\n changedBy: string;\n changeType: 'Create' | 'Update' | 'Delete';\n changeSource: 'Internal' | 'External';\n changesDescription: string;\n changesJSON: any;\n fullRecordJSON: any;\n templateContent?: MJTemplateContentEntity;\n isActive: boolean;\n canRestore: boolean;\n}\n\ninterface VersionComparison {\n fromVersion: PromptVersion;\n toVersion: PromptVersion;\n differences: FieldDifference[];\n}\n\ninterface FieldDifference {\n fieldName: string;\n displayName: string;\n oldValue: any;\n newValue: any;\n changeType: 'added' | 'modified' | 'removed';\n isTemplate: boolean;\n}\n\n@Component({\n standalone: false,\n selector: 'app-prompt-version-control',\n templateUrl: './prompt-version-control.component.html',\n styleUrls: ['./prompt-version-control.component.css']\n})\nexport class PromptVersionControlComponent extends BaseAngularComponent implements OnInit, OnDestroy {\n @Input() prompt: MJAIPromptEntityExtended | null = null;\n @Input() autoLoad = true;\n @Input() showRestoreActions = true;\n @Input() showComparison = true;\n @Input() maxVersions = 50;\n \n @Output() versionSelected = new EventEmitter<PromptVersion>();\n @Output() versionRestored = new EventEmitter<MJAIPromptEntityExtended>();\n @Output() versionCompared = new EventEmitter<VersionComparison>();\n \n // Data\n public versions: PromptVersion[] = [];\n public recordChanges: MJRecordChangeEntity[] = [];\n public templateContents: Map<string, MJTemplateContentEntity> = new Map();\n public availablePrompts: MJAIPromptEntityExtended[] = [];\n public filteredAvailablePrompts: MJAIPromptEntityExtended[] = [];\n \n // UI State\n public isLoading = false;\n public loadingMessage = '';\n public error: string | null = null;\n public currentView: 'timeline' | 'comparison' | 'details' = 'timeline';\n public selectedVersion: PromptVersion | null = null;\n public compareFromVersion: PromptVersion | null = null;\n public compareToVersion: PromptVersion | null = null;\n public comparisonResult: VersionComparison | null = null;\n \n // Filtering and sorting\n public filterBy: 'all' | 'updates' | 'major' | 'template' = 'all';\n public sortDirection: 'asc' | 'desc' = 'desc';\n public searchTerm$ = new BehaviorSubject<string>('');\n public promptSearchTerm$ = new BehaviorSubject<string>('');\n public showSystemChanges = false;\n \n // Timeline configuration\n public timelineConfig = {\n showThumbnails: true,\n showDiffs: true,\n compactMode: false,\n groupByDate: true\n };\n \n private destroy$ = new Subject<void>();\n \n constructor(private notificationService: MJNotificationService) { super(); }\n \n ngOnInit(): void {\n this.loadAvailablePrompts();\n this.setupPromptFiltering();\n \n if (this.autoLoad && this.prompt) {\n this.loadVersionHistory();\n }\n }\n \n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n \n public async loadVersionHistory(): Promise<void> {\n if (!this.prompt) {\n this.error = 'No prompt specified for version history';\n return;\n }\n \n try {\n this.isLoading = true;\n this.error = null;\n this.loadingMessage = 'Loading version history...';\n \n const md = this.ProviderToUse;\n const primaryKey = new CompositeKey();\n primaryKey.KeyValuePairs.push({ FieldName: 'ID', Value: this.prompt.ID });\n \n // Get record changes using the new method (GetRecordChanges is on Metadata, not IMetadataProvider)\n const mdForChanges = md as unknown as Metadata;\n this.recordChanges = await mdForChanges.GetRecordChanges<MJRecordChangeEntity>('MJ: AI Prompts', primaryKey);\n \n if (this.recordChanges.length === 0) {\n this.versions = [];\n LogStatus(`No version history found for prompt: ${this.prompt.Name}`);\n return;\n }\n \n // Load template contents for versions that have template changes\n await this.loadTemplateContents();\n \n // Process record changes into version objects\n this.processRecordChanges();\n \n // Apply current filters\n this.applyFilters();\n \n LogStatus(`Loaded ${this.versions.length} versions for prompt: ${this.prompt.Name}`);\n \n } catch (error) {\n this.error = 'Failed to load version history. Please try again.';\n LogError('Error loading prompt version history', undefined, error);\n } finally {\n this.isLoading = false;\n }\n }\n \n private async loadTemplateContents(): Promise<void> {\n const templateIds = new Set<string>();\n \n // Extract template IDs from record changes\n this.recordChanges.forEach(change => {\n try {\n const fullRecord = JSON.parse(change.FullRecordJSON);\n if (fullRecord.TemplateID) {\n templateIds.add(fullRecord.TemplateID);\n }\n \n // Also check changes JSON for template changes\n if (change.ChangesJSON) {\n const changes = JSON.parse(change.ChangesJSON);\n if (changes.TemplateID && changes.TemplateID.newValue) {\n templateIds.add(changes.TemplateID.newValue);\n }\n if (changes.TemplateID && changes.TemplateID.oldValue) {\n templateIds.add(changes.TemplateID.oldValue);\n }\n }\n } catch (e) {\n // Ignore parsing errors\n }\n });\n \n // Load template content entities\n if (templateIds.size > 0) {\n this.loadingMessage = 'Loading template content history...';\n \n // Note: We would need a way to get historical template content\n // For now, we'll get current template content and note this limitation\n const md = this.ProviderToUse;\n for (const templateId of templateIds) {\n try {\n const templateContent = await md.GetEntityObject<MJTemplateContentEntity>('MJ: Template Contents', md.CurrentUser);\n const loaded = await templateContent.Load(templateId);\n if (loaded) {\n this.templateContents.set(templateId, templateContent);\n }\n } catch (e) {\n // Template content might not exist anymore\n LogError(`Failed to load template content for ID: ${templateId}`, undefined, e);\n }\n }\n }\n }\n \n private processRecordChanges(): void {\n this.versions = this.recordChanges.map((change, index) => {\n let templateContent: MJTemplateContentEntity | undefined;\n \n try {\n const fullRecord = JSON.parse(change.FullRecordJSON);\n if (fullRecord.TemplateID) {\n templateContent = this.templateContents.get(fullRecord.TemplateID);\n }\n } catch (e) {\n // Ignore parsing errors\n }\n \n const version: PromptVersion = {\n id: change.ID,\n version: this.recordChanges.length - index, // Version number (newest = highest)\n changedAt: new Date(change.ChangedAt),\n changedBy: change.User || 'Unknown',\n changeType: change.Type as 'Create' | 'Update' | 'Delete',\n changeSource: change.Source as 'Internal' | 'External',\n changesDescription: change.ChangesDescription,\n changesJSON: this.safeParseJSON(change.ChangesJSON),\n fullRecordJSON: this.safeParseJSON(change.FullRecordJSON),\n templateContent,\n isActive: index === 0, // Most recent version is active\n canRestore: index > 0 && change.Type !== 'Delete' // Can restore if not current and not deleted\n };\n \n return version;\n });\n }\n \n private safeParseJSON(jsonString: string): any {\n try {\n return JSON.parse(jsonString);\n } catch (e) {\n return null;\n }\n }\n \n private applyFilters(): void {\n let filtered = [...this.versions];\n \n // Apply filter by type\n switch (this.filterBy) {\n case 'updates':\n filtered = filtered.filter(v => v.changeType === 'Update');\n break;\n case 'major':\n filtered = filtered.filter(v => this.isMajorChange(v));\n break;\n case 'template':\n filtered = filtered.filter(v => this.hasTemplateChanges(v));\n break;\n }\n \n // Apply system changes filter\n if (!this.showSystemChanges) {\n filtered = filtered.filter(v => v.changeSource !== 'External');\n }\n \n // Apply search term\n const searchTerm = this.searchTerm$.value.toLowerCase();\n if (searchTerm) {\n filtered = filtered.filter(v => \n v.changesDescription.toLowerCase().includes(searchTerm) ||\n v.changedBy.toLowerCase().includes(searchTerm)\n );\n }\n \n // Apply sorting\n filtered.sort((a, b) => {\n const comparison = a.changedAt.getTime() - b.changedAt.getTime();\n return this.sortDirection === 'desc' ? -comparison : comparison;\n });\n \n this.versions = filtered;\n }\n \n private isMajorChange(version: PromptVersion): boolean {\n if (!version.changesJSON) return false;\n \n const majorFields = ['Name', 'Status', 'TemplateID', 'CategoryID', 'TypeID'];\n return majorFields.some(field => version.changesJSON[field]);\n }\n \n private hasTemplateChanges(version: PromptVersion): boolean {\n if (!version.changesJSON) return false;\n return !!version.changesJSON.TemplateID;\n }\n \n public onVersionSelect(version: PromptVersion): void {\n this.selectedVersion = version;\n this.versionSelected.emit(version);\n }\n \n public onVersionRestore(version: PromptVersion): Promise<void> {\n return this.restoreVersion(version);\n }\n \n public getObjectKeys(obj: any): string[] {\n return Object.keys(obj || {});\n }\n\n public getFieldDisplayNamePublic(fieldName: string): string {\n return this.getFieldDisplayName(fieldName);\n }\n\n public generateComparisonPublic(): void {\n this.generateComparison();\n }\n\n public applyFiltersPublic(): void {\n this.applyFilters();\n }\n\n public async restoreVersion(version: PromptVersion): Promise<void> {\n if (!version.canRestore || !this.prompt) {\n this.notificationService.CreateSimpleNotification('Cannot restore this version', 'warning', 3000);\n return;\n }\n \n const confirm = window.confirm(`Are you sure you want to restore to version ${version.version} from ${version.changedAt.toLocaleString()}? This will overwrite the current prompt.`);\n if (!confirm) return;\n \n try {\n this.isLoading = true;\n this.loadingMessage = 'Restoring version...';\n \n const md = this.ProviderToUse;\n const promptToRestore = await md.GetEntityObject<MJAIPromptEntityExtended>('MJ: AI Prompts', md.CurrentUser);\n await promptToRestore.Load(this.prompt.ID);\n \n // Apply the historical data\n if (version.fullRecordJSON) {\n const historicalData = version.fullRecordJSON;\n \n // Update prompt fields (excluding system fields)\n const fieldsToRestore = ['Name', 'Description', 'CategoryID', 'TypeID', 'Status', 'TemplateID'];\n fieldsToRestore.forEach(field => {\n if (historicalData[field] !== undefined) {\n (promptToRestore as any)[field] = historicalData[field];\n }\n });\n \n const saved = await promptToRestore.Save();\n if (saved) {\n this.notificationService.CreateSimpleNotification(`Version ${version.version} restored successfully`, 'success', 3000);\n this.versionRestored.emit(promptToRestore);\n \n // Reload version history to reflect the new change\n await this.loadVersionHistory();\n } else {\n throw new Error('Failed to save restored version');\n }\n }\n \n } catch (error) {\n this.error = 'Failed to restore version. Please try again.';\n LogError('Error restoring prompt version', undefined, error);\n this.notificationService.CreateSimpleNotification('Failed to restore version', 'error', 4000);\n } finally {\n this.isLoading = false;\n }\n }\n \n public startComparison(fromVersion: PromptVersion, toVersion?: PromptVersion): void {\n this.compareFromVersion = fromVersion;\n this.compareToVersion = toVersion || (this.versions.find(v => v.version === fromVersion.version + 1) || this.versions[0]);\n this.currentView = 'comparison';\n this.generateComparison();\n }\n \n private generateComparison(): void {\n if (!this.compareFromVersion || !this.compareToVersion) return;\n \n const differences: FieldDifference[] = [];\n \n // Compare prompt fields\n const fromData = this.compareFromVersion.fullRecordJSON || {};\n const toData = this.compareToVersion.fullRecordJSON || {};\n \n const allFields = new Set([...Object.keys(fromData), ...Object.keys(toData)]);\n \n allFields.forEach(fieldName => {\n if (fieldName.startsWith('__mj_') || fieldName === 'ID') return; // Skip system fields\n \n const oldValue = fromData[fieldName];\n const newValue = toData[fieldName];\n \n if (oldValue !== newValue) {\n let changeType: 'added' | 'modified' | 'removed' = 'modified';\n if (oldValue === undefined) changeType = 'added';\n if (newValue === undefined) changeType = 'removed';\n \n differences.push({\n fieldName,\n displayName: this.getFieldDisplayName(fieldName),\n oldValue,\n newValue,\n changeType,\n isTemplate: fieldName === 'TemplateID'\n });\n }\n });\n \n // Compare template content if available\n this.compareTemplateContent(differences);\n \n this.comparisonResult = {\n fromVersion: this.compareFromVersion,\n toVersion: this.compareToVersion,\n differences\n };\n \n this.versionCompared.emit(this.comparisonResult);\n }\n \n private compareTemplateContent(differences: FieldDifference[]): void {\n const fromTemplate = this.compareFromVersion?.templateContent;\n const toTemplate = this.compareToVersion?.templateContent;\n \n if (fromTemplate || toTemplate) {\n const fromContent = fromTemplate?.TemplateText || '';\n const toContent = toTemplate?.TemplateText || '';\n \n if (fromContent !== toContent) {\n differences.push({\n fieldName: 'TemplateText',\n displayName: 'Template Content',\n oldValue: fromContent,\n newValue: toContent,\n changeType: fromContent === '' ? 'added' : (toContent === '' ? 'removed' : 'modified'),\n isTemplate: true\n });\n }\n }\n }\n \n private getFieldDisplayName(fieldName: string): string {\n const displayNames: { [key: string]: string } = {\n 'Name': 'Name',\n 'Description': 'Description',\n 'CategoryID': 'Category',\n 'TypeID': 'Type',\n 'Status': 'Status',\n 'TemplateID': 'Template',\n 'TemplateText': 'Template Content'\n };\n \n return displayNames[fieldName] || fieldName;\n }\n \n public onFilterChange(filter: string): void {\n this.filterBy = filter as any;\n this.applyFilters();\n }\n \n public onSortDirectionChange(): void {\n this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';\n this.applyFilters();\n }\n \n public onSearchChange(term: string): void {\n this.searchTerm$.next(term);\n this.applyFilters();\n }\n \n public onViewChange(view: string): void {\n this.currentView = view as any;\n if (view === 'comparison' && !this.comparisonResult && this.versions.length >= 2) {\n this.startComparison(this.versions[1], this.versions[0]);\n }\n }\n \n public getChangeTypeIcon(changeType: string): string {\n switch (changeType) {\n case 'Create': return 'fa-plus-circle';\n case 'Update': return 'fa-edit';\n case 'Delete': return 'fa-trash';\n default: return 'fa-question-circle';\n }\n }\n \n public getChangeTypeClass(changeType: string): string {\n switch (changeType) {\n case 'Create': return 'change-create';\n case 'Update': return 'change-update';\n case 'Delete': return 'change-delete';\n default: return 'change-unknown';\n }\n }\n \n public formatChangeValue(value: any): string {\n if (value === null || value === undefined) return 'null';\n if (typeof value === 'object') return JSON.stringify(value, null, 2);\n if (typeof value === 'string' && value.length > 100) {\n return value.substring(0, 100) + '...';\n }\n return String(value);\n }\n \n public getVersionLabel(version: PromptVersion): string {\n let label = `v${version.version}`;\n if (version.isActive) label += ' (Current)';\n if (version.changeType === 'Create') label += ' (Initial)';\n return label;\n }\n \n public exportVersionHistory(): void {\n const exportData = {\n promptId: this.prompt?.ID,\n promptName: this.prompt?.Name,\n exportedAt: new Date().toISOString(),\n versions: this.versions.map(v => ({\n version: v.version,\n changedAt: v.changedAt.toISOString(),\n changedBy: v.changedBy,\n changeType: v.changeType,\n changesDescription: v.changesDescription,\n fullRecord: v.fullRecordJSON\n }))\n };\n \n const blob = new Blob([JSON.stringify(exportData, null, 2)], { type: 'application/json' });\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = `prompt-version-history-${this.prompt?.Name || 'unknown'}-${new Date().toISOString().split('T')[0]}.json`;\n a.click();\n URL.revokeObjectURL(url);\n }\n \n public refreshHistory(): void {\n this.loadVersionHistory();\n }\n\n private async loadAvailablePrompts(): Promise<void> {\n try {\n const metadata = this.ProviderToUse;\n const promptEntity = await metadata.GetEntityObject<MJAIPromptEntityExtended>('MJ: AI Prompts');\n const prompts = await promptEntity.GetAll();\n this.availablePrompts = prompts.sort((a: MJAIPromptEntityExtended, b: MJAIPromptEntityExtended) => a.Name.localeCompare(b.Name));\n this.filteredAvailablePrompts = [...this.availablePrompts];\n } catch (error) {\n console.error('Failed to load available prompts:', error);\n LogError('Failed to load available prompts', undefined, error);\n }\n }\n\n private setupPromptFiltering(): void {\n this.promptSearchTerm$.subscribe(searchTerm => {\n this.filterAvailablePrompts(searchTerm);\n });\n }\n\n private filterAvailablePrompts(searchTerm: string): void {\n if (!searchTerm || searchTerm.trim() === '') {\n this.filteredAvailablePrompts = [...this.availablePrompts];\n } else {\n const term = searchTerm.toLowerCase().trim();\n this.filteredAvailablePrompts = this.availablePrompts.filter(prompt =>\n prompt.Name.toLowerCase().includes(term) ||\n (prompt.Description && prompt.Description.toLowerCase().includes(term))\n );\n }\n }\n\n public onPromptSearchChange(searchTerm: string): void {\n this.promptSearchTerm$.next(searchTerm);\n }\n\n public selectPromptForHistory(prompt: MJAIPromptEntityExtended): void {\n this.prompt = prompt;\n this.loadVersionHistory();\n }\n}","<div class=\"prompt-version-control\">\n <!-- Prompt Selector (when no prompt selected) -->\n @if (!prompt) {\n <div class=\"prompt-selector-section\">\n <h5 class=\"section-title\">\n <i class=\"fa-solid fa-history\"></i>\n Version History\n </h5>\n <p class=\"text-muted mb-3\">Select a prompt to view its version history</p>\n \n <div class=\"prompt-selector\">\n <div class=\"search-box mb-3\">\n <div class=\"input-group\">\n <span class=\"input-group-text\">\n <i class=\"fa-solid fa-search\"></i>\n </span>\n <input \n type=\"text\" \n class=\"form-control\" \n placeholder=\"Search prompts...\"\n [ngModel]=\"promptSearchTerm$.value\"\n (ngModelChange)=\"onPromptSearchChange($event)\">\n </div>\n </div>\n \n <div class=\"prompts-list\">\n @if (availablePrompts.length === 0) {\n <mj-empty-state Size=\"compact\" Icon=\"fa-solid fa-comment-dots\"\n Title=\"No prompts available\" />\n } @else {\n @for (promptItem of filteredAvailablePrompts; track promptItem.ID) {\n <div class=\"prompt-item\" (click)=\"selectPromptForHistory(promptItem)\">\n <div class=\"prompt-info\">\n <h6 class=\"prompt-title\">{{ promptItem.Name }}</h6>\n @if (promptItem.Description) {\n <p class=\"prompt-description\">{{ promptItem.Description }}</p>\n }\n </div>\n <div class=\"prompt-actions\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n }\n }\n </div>\n </div>\n </div>\n } @else {\n <!-- Header toolbar -->\n <div class=\"version-toolbar\">\n <div class=\"toolbar-section\">\n <h5 class=\"toolbar-title\">\n <i class=\"fa-solid fa-history\"></i>\n Version History\n @if (prompt) {\n <span class=\"prompt-name\">- {{ prompt.Name }}</span>\n }\n </h5>\n \n <div class=\"view-mode-toggle\">\n <div class=\"btn-group btn-group-sm\" role=\"group\">\n <input type=\"radio\" class=\"btn-check\" name=\"view\" id=\"timelineView\" value=\"timeline\" [(ngModel)]=\"currentView\" (ngModelChange)=\"onViewChange($event)\">\n <label class=\"btn btn-outline-primary\" for=\"timelineView\">\n <i class=\"fa-solid fa-timeline\"></i>\n Timeline\n </label>\n \n <input type=\"radio\" class=\"btn-check\" name=\"view\" id=\"comparisonView\" value=\"comparison\" [(ngModel)]=\"currentView\" (ngModelChange)=\"onViewChange($event)\">\n <label class=\"btn btn-outline-primary\" for=\"comparisonView\">\n <i class=\"fa-solid fa-code-compare\"></i>\n Compare\n </label>\n \n <input type=\"radio\" class=\"btn-check\" name=\"view\" id=\"detailsView\" value=\"details\" [(ngModel)]=\"currentView\" (ngModelChange)=\"onViewChange($event)\">\n <label class=\"btn btn-outline-primary\" for=\"detailsView\">\n <i class=\"fa-solid fa-list\"></i>\n Details\n </label>\n </div>\n </div>\n </div>\n \n <div class=\"toolbar-section\">\n <div class=\"filter-controls\">\n <label class=\"form-label\">Filter:</label>\n <select class=\"form-select form-select-sm\" [(ngModel)]=\"filterBy\" (ngModelChange)=\"onFilterChange($event)\">\n <option value=\"all\">All Changes</option>\n <option value=\"updates\">Updates Only</option>\n <option value=\"major\">Major Changes</option>\n <option value=\"template\">Template Changes</option>\n </select>\n \n <div class=\"form-check form-switch\">\n <input class=\"form-check-input\" type=\"checkbox\" id=\"showSystem\" [(ngModel)]=\"showSystemChanges\" (ngModelChange)=\"applyFiltersPublic()\">\n <label class=\"form-check-label\" for=\"showSystem\">System</label>\n </div>\n </div>\n \n <div class=\"search-controls\">\n <input \n type=\"text\" \n class=\"form-control form-control-sm\" \n placeholder=\"Search changes...\"\n [ngModel]=\"searchTerm$.value\" (ngModelChange)=\"onSearchChange($event)\">\n </div>\n </div>\n \n <div class=\"toolbar-section\">\n <div class=\"action-buttons\">\n <button type=\"button\" class=\"btn btn-sm btn-outline-secondary\" (click)=\"onSortDirectionChange()\" [title]=\"'Sort ' + (sortDirection === 'asc' ? 'descending' : 'ascending')\">\n <i class=\"fa-solid\" [class.fa-sort-up]=\"sortDirection === 'asc'\" [class.fa-sort-down]=\"sortDirection === 'desc'\"></i>\n Sort\n </button>\n \n <button type=\"button\" class=\"btn btn-sm btn-outline-secondary\" (click)=\"refreshHistory()\" [disabled]=\"isLoading\" title=\"Refresh history\">\n <i class=\"fa-solid fa-refresh\" [class.fa-spin]=\"isLoading\"></i>\n Refresh\n </button>\n \n <button type=\"button\" class=\"btn btn-sm btn-outline-info\" (click)=\"exportVersionHistory()\" title=\"Export history\">\n <i class=\"fa-solid fa-download\"></i>\n Export\n </button>\n </div>\n </div>\n </div>\n \n <!-- Loading state -->\n @if (isLoading) {\n <div class=\"loading-container\">\n <mj-loading [text]=\"loadingMessage\" size=\"large\"></mj-loading>\n </div>\n } @else {\n \n <!-- Timeline View -->\n @if (currentView === 'timeline') {\n <div class=\"timeline-container\">\n @if (versions.length > 0) {\n <div class=\"version-timeline\">\n @for (version of versions; track version.id; let i = $index) {\n <div class=\"timeline-item\" \n [class.selected]=\"selectedVersion?.id === version.id\"\n [class.active]=\"version.isActive\"\n (click)=\"onVersionSelect(version)\">\n \n <div class=\"timeline-marker\">\n <div class=\"marker-icon\" [class]=\"getChangeTypeClass(version.changeType)\">\n <i class=\"fa-solid\" [class]=\"getChangeTypeIcon(version.changeType)\"></i>\n </div>\n @if (i < versions.length - 1) {\n <div class=\"timeline-line\"></div>\n }\n </div>\n \n <div class=\"timeline-content\">\n <div class=\"version-header\">\n <div class=\"version-info\">\n <h6 class=\"version-label\">{{ getVersionLabel(version) }}</h6>\n <div class=\"version-meta\">\n <span class=\"change-date\">{{ version.changedAt | date:'medium' }}</span>\n <span class=\"changed-by\">by {{ version.changedBy }}</span>\n <span class=\"change-source badge\" [class.badge-primary]=\"version.changeSource === 'Internal'\" [class.badge-secondary]=\"version.changeSource === 'External'\">\n {{ version.changeSource }}\n </span>\n </div>\n </div>\n \n <div class=\"version-actions\">\n @if (showComparison && i < versions.length - 1) {\n <button \n type=\"button\" \n class=\"btn btn-sm btn-outline-primary\"\n (click)=\"$event.stopPropagation(); startComparison(version)\"\n title=\"Compare with next version\">\n <i class=\"fa-solid fa-code-compare\"></i>\n </button>\n }\n \n @if (showRestoreActions && version.canRestore) {\n <button \n type=\"button\" \n class=\"btn btn-sm btn-outline-success\"\n (click)=\"$event.stopPropagation(); onVersionRestore(version)\"\n title=\"Restore this version\">\n <i class=\"fa-solid fa-undo\"></i>\n </button>\n }\n </div>\n </div>\n \n <div class=\"version-description\">\n {{ version.changesDescription }}\n </div>\n \n @if (version.changesJSON && timelineConfig.showDiffs) {\n <div class=\"changes-summary\">\n <div class=\"changes-list\">\n @for (field of getObjectKeys(version.changesJSON); track field) {\n <div class=\"change-item\">\n <span class=\"field-name\">{{ getFieldDisplayNamePublic(field) }}</span>\n @if (version.changesJSON[field].oldValue !== undefined) {\n <span class=\"change-arrow\">\n <span class=\"old-value\">{{ formatChangeValue(version.changesJSON[field].oldValue) }}</span>\n <i class=\"fa-solid fa-arrow-right\"></i>\n <span class=\"new-value\">{{ formatChangeValue(version.changesJSON[field].newValue) }}</span>\n </span>\n } @else {\n <span class=\"new-value\">{{ formatChangeValue(version.changesJSON[field].newValue) }}</span>\n }\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"no-versions-message\">\n <i class=\"fa-solid fa-info-circle text-muted\"></i>\n <p class=\"text-muted\">No version history available for this prompt.</p>\n @if (prompt && !prompt.EntityInfo.TrackRecordChanges) {\n <p class=\"text-muted\"><small>Record changes tracking may not be enabled for prompts.</small></p>\n }\n </div>\n }\n </div>\n }\n \n <!-- Comparison View -->\n @if (currentView === 'comparison') {\n <div class=\"comparison-container\">\n <!-- Version selectors -->\n <div class=\"comparison-selectors\">\n <div class=\"selector-group\">\n <label class=\"form-label\">Compare from:</label>\n <select class=\"form-select\" [(ngModel)]=\"compareFromVersion\" (ngModelChange)=\"generateComparisonPublic()\">\n @for (version of versions; track version.id) {\n <option [ngValue]=\"version\">{{ getVersionLabel(version) }} - {{ version.changedAt | date:'short' }}</option>\n }\n </select>\n </div>\n \n <div class=\"comparison-arrow\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n \n <div class=\"selector-group\">\n <label class=\"form-label\">Compare to:</label>\n <select class=\"form-select\" [(ngModel)]=\"compareToVersion\" (ngModelChange)=\"generateComparisonPublic()\">\n @for (version of versions; track version.id) {\n <option [ngValue]=\"version\">{{ getVersionLabel(version) }} - {{ version.changedAt | date:'short' }}</option>\n }\n </select>\n </div>\n </div>\n \n <!-- Comparison results -->\n @if (comparisonResult) {\n <div class=\"comparison-results\">\n <div class=\"comparison-header\">\n <h6 class=\"comparison-title\">\n <i class=\"fa-solid fa-code-compare\"></i>\n Changes between {{ getVersionLabel(comparisonResult.fromVersion) }} and {{ getVersionLabel(comparisonResult.toVersion) }}\n </h6>\n <div class=\"changes-count\">\n {{ comparisonResult.differences.length }} change(s) found\n </div>\n </div>\n \n @if (comparisonResult.differences.length > 0) {\n <div class=\"differences-list\">\n @for (diff of comparisonResult.differences; track diff.fieldName) {\n <div class=\"difference-item\" [class]=\"'diff-' + diff.changeType\">\n <div class=\"diff-header\">\n <div class=\"field-info\">\n <strong class=\"field-name\">{{ diff.displayName }}</strong>\n <span class=\"change-type badge\" \n [class.badge-success]=\"diff.changeType === 'added'\"\n [class.badge-warning]=\"diff.changeType === 'modified'\"\n [class.badge-danger]=\"diff.changeType === 'removed'\">\n {{ diff.changeType }}\n </span>\n @if (diff.isTemplate) {\n <span class=\"template-badge badge badge-info\">Template</span>\n }\n </div>\n </div>\n \n <div class=\"diff-content\">\n @if (diff.changeType === 'modified') {\n <div class=\"side-by-side-diff\">\n <div class=\"diff-old\">\n <h6 class=\"diff-label\">Before:</h6>\n <div class=\"diff-value old-value\">\n @if (diff.isTemplate && diff.fieldName === 'TemplateText') {\n <pre class=\"template-content\">{{ diff.oldValue }}</pre>\n } @else {\n {{ formatChangeValue(diff.oldValue) }}\n }\n </div>\n </div>\n \n <div class=\"diff-new\">\n <h6 class=\"diff-label\">After:</h6>\n <div class=\"diff-value new-value\">\n @if (diff.isTemplate && diff.fieldName === 'TemplateText') {\n <pre class=\"template-content\">{{ diff.newValue }}</pre>\n } @else {\n {{ formatChangeValue(diff.newValue) }}\n }\n </div>\n </div>\n </div>\n } @else if (diff.changeType === 'added') {\n <div class=\"diff-added\">\n <h6 class=\"diff-label\">Added:</h6>\n <div class=\"diff-value new-value\">{{ formatChangeValue(diff.newValue) }}</div>\n </div>\n } @else if (diff.changeType === 'removed') {\n <div class=\"diff-removed\">\n <h6 class=\"diff-label\">Removed:</h6>\n <div class=\"diff-value old-value\">{{ formatChangeValue(diff.oldValue) }}</div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"no-differences\">\n <i class=\"fa-solid fa-check-circle text-success\"></i>\n <p class=\"text-muted\">No differences found between the selected versions.</p>\n </div>\n }\n </div>\n }\n </div>\n }\n \n <!-- Details View -->\n @if (currentView === 'details') {\n <div class=\"details-container\">\n @if (selectedVersion) {\n <div class=\"version-details\">\n <div class=\"details-header\">\n <h6 class=\"details-title\">{{ getVersionLabel(selectedVersion) }}</h6>\n <div class=\"details-meta\">\n <span class=\"change-date\">{{ selectedVersion.changedAt | date:'full' }}</span>\n <span class=\"changed-by\">Changed by {{ selectedVersion.changedBy }}</span>\n </div>\n </div>\n \n <div class=\"details-content\">\n <div class=\"detail-section\">\n <h6 class=\"section-title\">Change Information</h6>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"detail-label\">Type:</span>\n <span class=\"detail-value\">\n <i class=\"fa-solid\" [class]=\"getChangeTypeIcon(selectedVersion.changeType)\"></i>\n {{ selectedVersion.changeType }}\n </span>\n </div>\n \n <div class=\"detail-item\">\n <span class=\"detail-label\">Source:</span>\n <span class=\"detail-value\">{{ selectedVersion.changeSource }}</span>\n </div>\n \n <div class=\"detail-item\">\n <span class=\"detail-label\">Description:</span>\n <span class=\"detail-value\">{{ selectedVersion.changesDescription }}</span>\n </div>\n </div>\n </div>\n \n @if (selectedVersion.fullRecordJSON) {\n <div class=\"detail-section\">\n <h6 class=\"section-title\">Record State</h6>\n <div class=\"json-viewer\">\n <pre class=\"json-content\">{{ selectedVersion.fullRecordJSON | json }}</pre>\n </div>\n </div>\n }\n \n @if (selectedVersion.templateContent) {\n <div class=\"detail-section\">\n <h6 class=\"section-title\">Template Content</h6>\n <div class=\"template-viewer\">\n <pre class=\"template-content\">{{ selectedVersion.templateContent.TemplateText }}</pre>\n </div>\n </div>\n }\n </div>\n </div>\n } @else {\n <mj-empty-state Size=\"compact\" Icon=\"fa-solid fa-hand-pointer\"\n Title=\"Select a version from the timeline to view details.\" />\n }\n </div>\n }\n }\n \n <!-- Error state -->\n @if (error) {\n <div class=\"error-container\">\n <mj-alert Variant=\"error\">\n {{ error }}\n <button mjButton variant=\"danger\" size=\"sm\" actions (click)=\"refreshHistory()\">\n <i class=\"fa-solid fa-refresh\"></i>\n Retry\n </button>\n </mj-alert>\n </div>\n }\n }\n</div>"]}
|
|
1
|
+
{"version":3,"file":"prompt-version-control.component.js","sourceRoot":"","sources":["../../../../src/AI/components/prompts/prompt-version-control.component.ts","../../../../src/AI/components/prompts/prompt-version-control.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\nimport { CompositeKey, LogError, LogStatus, Metadata } from '@memberjunction/core';\nimport { MJRecordChangeEntity, MJTemplateContentEntity } from '@memberjunction/core-entities';\nimport { Subject, BehaviorSubject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\nimport { MJConfirmService } from '@memberjunction/ng-ui-components';\nimport { MJAIPromptEntityExtended } from '@memberjunction/ai-core-plus';\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\n\ninterface PromptVersion {\n id: string;\n version: number;\n changedAt: Date;\n changedBy: string;\n changeType: 'Create' | 'Update' | 'Delete';\n changeSource: 'Internal' | 'External';\n changesDescription: string;\n changesJSON: any;\n fullRecordJSON: any;\n templateContent?: MJTemplateContentEntity;\n isActive: boolean;\n canRestore: boolean;\n}\n\ninterface VersionComparison {\n fromVersion: PromptVersion;\n toVersion: PromptVersion;\n differences: FieldDifference[];\n}\n\ninterface FieldDifference {\n fieldName: string;\n displayName: string;\n oldValue: any;\n newValue: any;\n changeType: 'added' | 'modified' | 'removed';\n isTemplate: boolean;\n}\n\n@Component({\n standalone: false,\n selector: 'app-prompt-version-control',\n templateUrl: './prompt-version-control.component.html',\n styleUrls: ['./prompt-version-control.component.css']\n})\nexport class PromptVersionControlComponent extends BaseAngularComponent implements OnInit, OnDestroy {\n @Input() prompt: MJAIPromptEntityExtended | null = null;\n @Input() autoLoad = true;\n @Input() showRestoreActions = true;\n @Input() showComparison = true;\n @Input() maxVersions = 50;\n \n @Output() versionSelected = new EventEmitter<PromptVersion>();\n @Output() versionRestored = new EventEmitter<MJAIPromptEntityExtended>();\n @Output() versionCompared = new EventEmitter<VersionComparison>();\n \n // Data\n public versions: PromptVersion[] = [];\n public recordChanges: MJRecordChangeEntity[] = [];\n public templateContents: Map<string, MJTemplateContentEntity> = new Map();\n public availablePrompts: MJAIPromptEntityExtended[] = [];\n public filteredAvailablePrompts: MJAIPromptEntityExtended[] = [];\n \n // UI State\n public isLoading = false;\n public loadingMessage = '';\n public error: string | null = null;\n public currentView: 'timeline' | 'comparison' | 'details' = 'timeline';\n public selectedVersion: PromptVersion | null = null;\n public compareFromVersion: PromptVersion | null = null;\n public compareToVersion: PromptVersion | null = null;\n public comparisonResult: VersionComparison | null = null;\n \n // Filtering and sorting\n public filterBy: 'all' | 'updates' | 'major' | 'template' = 'all';\n public sortDirection: 'asc' | 'desc' = 'desc';\n public searchTerm$ = new BehaviorSubject<string>('');\n public promptSearchTerm$ = new BehaviorSubject<string>('');\n public showSystemChanges = false;\n \n // Timeline configuration\n public timelineConfig = {\n showThumbnails: true,\n showDiffs: true,\n compactMode: false,\n groupByDate: true\n };\n \n private destroy$ = new Subject<void>();\n \n constructor(private notificationService: MJNotificationService, private confirmService: MJConfirmService) { super(); }\n \n ngOnInit(): void {\n this.loadAvailablePrompts();\n this.setupPromptFiltering();\n \n if (this.autoLoad && this.prompt) {\n this.loadVersionHistory();\n }\n }\n \n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n \n public async loadVersionHistory(): Promise<void> {\n if (!this.prompt) {\n this.error = 'No prompt specified for version history';\n return;\n }\n \n try {\n this.isLoading = true;\n this.error = null;\n this.loadingMessage = 'Loading version history...';\n \n const md = this.ProviderToUse;\n const primaryKey = new CompositeKey();\n primaryKey.KeyValuePairs.push({ FieldName: 'ID', Value: this.prompt.ID });\n \n // Get record changes using the new method (GetRecordChanges is on Metadata, not IMetadataProvider)\n const mdForChanges = md as unknown as Metadata;\n this.recordChanges = await mdForChanges.GetRecordChanges<MJRecordChangeEntity>('MJ: AI Prompts', primaryKey);\n \n if (this.recordChanges.length === 0) {\n this.versions = [];\n LogStatus(`No version history found for prompt: ${this.prompt.Name}`);\n return;\n }\n \n // Load template contents for versions that have template changes\n await this.loadTemplateContents();\n \n // Process record changes into version objects\n this.processRecordChanges();\n \n // Apply current filters\n this.applyFilters();\n \n LogStatus(`Loaded ${this.versions.length} versions for prompt: ${this.prompt.Name}`);\n \n } catch (error) {\n this.error = 'Failed to load version history. Please try again.';\n LogError('Error loading prompt version history', undefined, error);\n } finally {\n this.isLoading = false;\n }\n }\n \n private async loadTemplateContents(): Promise<void> {\n const templateIds = new Set<string>();\n \n // Extract template IDs from record changes\n this.recordChanges.forEach(change => {\n try {\n const fullRecord = JSON.parse(change.FullRecordJSON);\n if (fullRecord.TemplateID) {\n templateIds.add(fullRecord.TemplateID);\n }\n \n // Also check changes JSON for template changes\n if (change.ChangesJSON) {\n const changes = JSON.parse(change.ChangesJSON);\n if (changes.TemplateID && changes.TemplateID.newValue) {\n templateIds.add(changes.TemplateID.newValue);\n }\n if (changes.TemplateID && changes.TemplateID.oldValue) {\n templateIds.add(changes.TemplateID.oldValue);\n }\n }\n } catch (e) {\n // Ignore parsing errors\n }\n });\n \n // Load template content entities\n if (templateIds.size > 0) {\n this.loadingMessage = 'Loading template content history...';\n \n // Note: We would need a way to get historical template content\n // For now, we'll get current template content and note this limitation\n const md = this.ProviderToUse;\n for (const templateId of templateIds) {\n try {\n const templateContent = await md.GetEntityObject<MJTemplateContentEntity>('MJ: Template Contents', md.CurrentUser);\n const loaded = await templateContent.Load(templateId);\n if (loaded) {\n this.templateContents.set(templateId, templateContent);\n }\n } catch (e) {\n // Template content might not exist anymore\n LogError(`Failed to load template content for ID: ${templateId}`, undefined, e);\n }\n }\n }\n }\n \n private processRecordChanges(): void {\n this.versions = this.recordChanges.map((change, index) => {\n let templateContent: MJTemplateContentEntity | undefined;\n \n try {\n const fullRecord = JSON.parse(change.FullRecordJSON);\n if (fullRecord.TemplateID) {\n templateContent = this.templateContents.get(fullRecord.TemplateID);\n }\n } catch (e) {\n // Ignore parsing errors\n }\n \n const version: PromptVersion = {\n id: change.ID,\n version: this.recordChanges.length - index, // Version number (newest = highest)\n changedAt: new Date(change.ChangedAt),\n changedBy: change.User || 'Unknown',\n changeType: change.Type as 'Create' | 'Update' | 'Delete',\n changeSource: change.Source as 'Internal' | 'External',\n changesDescription: change.ChangesDescription,\n changesJSON: this.safeParseJSON(change.ChangesJSON),\n fullRecordJSON: this.safeParseJSON(change.FullRecordJSON),\n templateContent,\n isActive: index === 0, // Most recent version is active\n canRestore: index > 0 && change.Type !== 'Delete' // Can restore if not current and not deleted\n };\n \n return version;\n });\n }\n \n private safeParseJSON(jsonString: string): any {\n try {\n return JSON.parse(jsonString);\n } catch (e) {\n return null;\n }\n }\n \n private applyFilters(): void {\n let filtered = [...this.versions];\n \n // Apply filter by type\n switch (this.filterBy) {\n case 'updates':\n filtered = filtered.filter(v => v.changeType === 'Update');\n break;\n case 'major':\n filtered = filtered.filter(v => this.isMajorChange(v));\n break;\n case 'template':\n filtered = filtered.filter(v => this.hasTemplateChanges(v));\n break;\n }\n \n // Apply system changes filter\n if (!this.showSystemChanges) {\n filtered = filtered.filter(v => v.changeSource !== 'External');\n }\n \n // Apply search term\n const searchTerm = this.searchTerm$.value.toLowerCase();\n if (searchTerm) {\n filtered = filtered.filter(v => \n v.changesDescription.toLowerCase().includes(searchTerm) ||\n v.changedBy.toLowerCase().includes(searchTerm)\n );\n }\n \n // Apply sorting\n filtered.sort((a, b) => {\n const comparison = a.changedAt.getTime() - b.changedAt.getTime();\n return this.sortDirection === 'desc' ? -comparison : comparison;\n });\n \n this.versions = filtered;\n }\n \n private isMajorChange(version: PromptVersion): boolean {\n if (!version.changesJSON) return false;\n \n const majorFields = ['Name', 'Status', 'TemplateID', 'CategoryID', 'TypeID'];\n return majorFields.some(field => version.changesJSON[field]);\n }\n \n private hasTemplateChanges(version: PromptVersion): boolean {\n if (!version.changesJSON) return false;\n return !!version.changesJSON.TemplateID;\n }\n \n public onVersionSelect(version: PromptVersion): void {\n this.selectedVersion = version;\n this.versionSelected.emit(version);\n }\n \n public onVersionRestore(version: PromptVersion): Promise<void> {\n return this.restoreVersion(version);\n }\n \n public getObjectKeys(obj: any): string[] {\n return Object.keys(obj || {});\n }\n\n public getFieldDisplayNamePublic(fieldName: string): string {\n return this.getFieldDisplayName(fieldName);\n }\n\n public generateComparisonPublic(): void {\n this.generateComparison();\n }\n\n public applyFiltersPublic(): void {\n this.applyFilters();\n }\n\n public async restoreVersion(version: PromptVersion): Promise<void> {\n if (!version.canRestore || !this.prompt) {\n this.notificationService.CreateSimpleNotification('Cannot restore this version', 'warning', 3000);\n return;\n }\n \n const confirmed = await this.confirmService.Confirm({ title: 'Restore version', message: `Restore to version ${version.version} from ${version.changedAt.toLocaleString()}?`, detail: 'This will overwrite the current prompt.' });\n if (!confirmed) return;\n \n try {\n this.isLoading = true;\n this.loadingMessage = 'Restoring version...';\n \n const md = this.ProviderToUse;\n const promptToRestore = await md.GetEntityObject<MJAIPromptEntityExtended>('MJ: AI Prompts', md.CurrentUser);\n await promptToRestore.Load(this.prompt.ID);\n \n // Apply the historical data\n if (version.fullRecordJSON) {\n const historicalData = version.fullRecordJSON;\n \n // Update prompt fields (excluding system fields)\n const fieldsToRestore = ['Name', 'Description', 'CategoryID', 'TypeID', 'Status', 'TemplateID'];\n fieldsToRestore.forEach(field => {\n if (historicalData[field] !== undefined) {\n (promptToRestore as any)[field] = historicalData[field];\n }\n });\n \n const saved = await promptToRestore.Save();\n if (saved) {\n this.notificationService.CreateSimpleNotification(`Version ${version.version} restored successfully`, 'success', 3000);\n this.versionRestored.emit(promptToRestore);\n \n // Reload version history to reflect the new change\n await this.loadVersionHistory();\n } else {\n throw new Error('Failed to save restored version');\n }\n }\n \n } catch (error) {\n this.error = 'Failed to restore version. Please try again.';\n LogError('Error restoring prompt version', undefined, error);\n this.notificationService.CreateSimpleNotification('Failed to restore version', 'error', 4000);\n } finally {\n this.isLoading = false;\n }\n }\n \n public startComparison(fromVersion: PromptVersion, toVersion?: PromptVersion): void {\n this.compareFromVersion = fromVersion;\n this.compareToVersion = toVersion || (this.versions.find(v => v.version === fromVersion.version + 1) || this.versions[0]);\n this.currentView = 'comparison';\n this.generateComparison();\n }\n \n private generateComparison(): void {\n if (!this.compareFromVersion || !this.compareToVersion) return;\n \n const differences: FieldDifference[] = [];\n \n // Compare prompt fields\n const fromData = this.compareFromVersion.fullRecordJSON || {};\n const toData = this.compareToVersion.fullRecordJSON || {};\n \n const allFields = new Set([...Object.keys(fromData), ...Object.keys(toData)]);\n \n allFields.forEach(fieldName => {\n if (fieldName.startsWith('__mj_') || fieldName === 'ID') return; // Skip system fields\n \n const oldValue = fromData[fieldName];\n const newValue = toData[fieldName];\n \n if (oldValue !== newValue) {\n let changeType: 'added' | 'modified' | 'removed' = 'modified';\n if (oldValue === undefined) changeType = 'added';\n if (newValue === undefined) changeType = 'removed';\n \n differences.push({\n fieldName,\n displayName: this.getFieldDisplayName(fieldName),\n oldValue,\n newValue,\n changeType,\n isTemplate: fieldName === 'TemplateID'\n });\n }\n });\n \n // Compare template content if available\n this.compareTemplateContent(differences);\n \n this.comparisonResult = {\n fromVersion: this.compareFromVersion,\n toVersion: this.compareToVersion,\n differences\n };\n \n this.versionCompared.emit(this.comparisonResult);\n }\n \n private compareTemplateContent(differences: FieldDifference[]): void {\n const fromTemplate = this.compareFromVersion?.templateContent;\n const toTemplate = this.compareToVersion?.templateContent;\n \n if (fromTemplate || toTemplate) {\n const fromContent = fromTemplate?.TemplateText || '';\n const toContent = toTemplate?.TemplateText || '';\n \n if (fromContent !== toContent) {\n differences.push({\n fieldName: 'TemplateText',\n displayName: 'Template Content',\n oldValue: fromContent,\n newValue: toContent,\n changeType: fromContent === '' ? 'added' : (toContent === '' ? 'removed' : 'modified'),\n isTemplate: true\n });\n }\n }\n }\n \n private getFieldDisplayName(fieldName: string): string {\n const displayNames: { [key: string]: string } = {\n 'Name': 'Name',\n 'Description': 'Description',\n 'CategoryID': 'Category',\n 'TypeID': 'Type',\n 'Status': 'Status',\n 'TemplateID': 'Template',\n 'TemplateText': 'Template Content'\n };\n \n return displayNames[fieldName] || fieldName;\n }\n \n public onFilterChange(filter: string): void {\n this.filterBy = filter as any;\n this.applyFilters();\n }\n \n public onSortDirectionChange(): void {\n this.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';\n this.applyFilters();\n }\n \n public onSearchChange(term: string): void {\n this.searchTerm$.next(term);\n this.applyFilters();\n }\n \n public onViewChange(view: string): void {\n this.currentView = view as any;\n if (view === 'comparison' && !this.comparisonResult && this.versions.length >= 2) {\n this.startComparison(this.versions[1], this.versions[0]);\n }\n }\n \n public getChangeTypeIcon(changeType: string): string {\n switch (changeType) {\n case 'Create': return 'fa-plus-circle';\n case 'Update': return 'fa-edit';\n case 'Delete': return 'fa-trash';\n default: return 'fa-question-circle';\n }\n }\n \n public getChangeTypeClass(changeType: string): string {\n switch (changeType) {\n case 'Create': return 'change-create';\n case 'Update': return 'change-update';\n case 'Delete': return 'change-delete';\n default: return 'change-unknown';\n }\n }\n \n public formatChangeValue(value: any): string {\n if (value === null || value === undefined) return 'null';\n if (typeof value === 'object') return JSON.stringify(value, null, 2);\n if (typeof value === 'string' && value.length > 100) {\n return value.substring(0, 100) + '...';\n }\n return String(value);\n }\n \n public getVersionLabel(version: PromptVersion): string {\n let label = `v${version.version}`;\n if (version.isActive) label += ' (Current)';\n if (version.changeType === 'Create') label += ' (Initial)';\n return label;\n }\n \n public exportVersionHistory(): void {\n const exportData = {\n promptId: this.prompt?.ID,\n promptName: this.prompt?.Name,\n exportedAt: new Date().toISOString(),\n versions: this.versions.map(v => ({\n version: v.version,\n changedAt: v.changedAt.toISOString(),\n changedBy: v.changedBy,\n changeType: v.changeType,\n changesDescription: v.changesDescription,\n fullRecord: v.fullRecordJSON\n }))\n };\n \n const blob = new Blob([JSON.stringify(exportData, null, 2)], { type: 'application/json' });\n const url = URL.createObjectURL(blob);\n const a = document.createElement('a');\n a.href = url;\n a.download = `prompt-version-history-${this.prompt?.Name || 'unknown'}-${new Date().toISOString().split('T')[0]}.json`;\n a.click();\n URL.revokeObjectURL(url);\n }\n \n public refreshHistory(): void {\n this.loadVersionHistory();\n }\n\n private async loadAvailablePrompts(): Promise<void> {\n try {\n const metadata = this.ProviderToUse;\n const promptEntity = await metadata.GetEntityObject<MJAIPromptEntityExtended>('MJ: AI Prompts');\n const prompts = await promptEntity.GetAll();\n this.availablePrompts = prompts.sort((a: MJAIPromptEntityExtended, b: MJAIPromptEntityExtended) => a.Name.localeCompare(b.Name));\n this.filteredAvailablePrompts = [...this.availablePrompts];\n } catch (error) {\n console.error('Failed to load available prompts:', error);\n LogError('Failed to load available prompts', undefined, error);\n }\n }\n\n private setupPromptFiltering(): void {\n this.promptSearchTerm$.subscribe(searchTerm => {\n this.filterAvailablePrompts(searchTerm);\n });\n }\n\n private filterAvailablePrompts(searchTerm: string): void {\n if (!searchTerm || searchTerm.trim() === '') {\n this.filteredAvailablePrompts = [...this.availablePrompts];\n } else {\n const term = searchTerm.toLowerCase().trim();\n this.filteredAvailablePrompts = this.availablePrompts.filter(prompt =>\n prompt.Name.toLowerCase().includes(term) ||\n (prompt.Description && prompt.Description.toLowerCase().includes(term))\n );\n }\n }\n\n public onPromptSearchChange(searchTerm: string): void {\n this.promptSearchTerm$.next(searchTerm);\n }\n\n public selectPromptForHistory(prompt: MJAIPromptEntityExtended): void {\n this.prompt = prompt;\n this.loadVersionHistory();\n }\n}","<div class=\"prompt-version-control\">\n <!-- Prompt Selector (when no prompt selected) -->\n @if (!prompt) {\n <div class=\"prompt-selector-section\">\n <h5 class=\"section-title\">\n <i class=\"fa-solid fa-history\"></i>\n Version History\n </h5>\n <p class=\"text-muted mb-3\">Select a prompt to view its version history</p>\n \n <div class=\"prompt-selector\">\n <div class=\"search-box mb-3\">\n <div class=\"input-group\">\n <span class=\"input-group-text\">\n <i class=\"fa-solid fa-search\"></i>\n </span>\n <input \n type=\"text\" \n class=\"form-control\" \n placeholder=\"Search prompts...\"\n [ngModel]=\"promptSearchTerm$.value\"\n (ngModelChange)=\"onPromptSearchChange($event)\">\n </div>\n </div>\n \n <div class=\"prompts-list\">\n @if (availablePrompts.length === 0) {\n <mj-empty-state Size=\"compact\" Icon=\"fa-solid fa-comment-dots\"\n Title=\"No prompts available\" />\n } @else {\n @for (promptItem of filteredAvailablePrompts; track promptItem.ID) {\n <div class=\"prompt-item\" (click)=\"selectPromptForHistory(promptItem)\">\n <div class=\"prompt-info\">\n <h6 class=\"prompt-title\">{{ promptItem.Name }}</h6>\n @if (promptItem.Description) {\n <p class=\"prompt-description\">{{ promptItem.Description }}</p>\n }\n </div>\n <div class=\"prompt-actions\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n }\n }\n </div>\n </div>\n </div>\n } @else {\n <!-- Header toolbar -->\n <div class=\"version-toolbar\">\n <div class=\"toolbar-section\">\n <h5 class=\"toolbar-title\">\n <i class=\"fa-solid fa-history\"></i>\n Version History\n @if (prompt) {\n <span class=\"prompt-name\">- {{ prompt.Name }}</span>\n }\n </h5>\n \n <div class=\"view-mode-toggle\">\n <div class=\"btn-group btn-group-sm\" role=\"group\">\n <input type=\"radio\" class=\"btn-check\" name=\"view\" id=\"timelineView\" value=\"timeline\" [(ngModel)]=\"currentView\" (ngModelChange)=\"onViewChange($event)\">\n <label class=\"btn btn-outline-primary\" for=\"timelineView\">\n <i class=\"fa-solid fa-timeline\"></i>\n Timeline\n </label>\n \n <input type=\"radio\" class=\"btn-check\" name=\"view\" id=\"comparisonView\" value=\"comparison\" [(ngModel)]=\"currentView\" (ngModelChange)=\"onViewChange($event)\">\n <label class=\"btn btn-outline-primary\" for=\"comparisonView\">\n <i class=\"fa-solid fa-code-compare\"></i>\n Compare\n </label>\n \n <input type=\"radio\" class=\"btn-check\" name=\"view\" id=\"detailsView\" value=\"details\" [(ngModel)]=\"currentView\" (ngModelChange)=\"onViewChange($event)\">\n <label class=\"btn btn-outline-primary\" for=\"detailsView\">\n <i class=\"fa-solid fa-list\"></i>\n Details\n </label>\n </div>\n </div>\n </div>\n \n <div class=\"toolbar-section\">\n <div class=\"filter-controls\">\n <label class=\"form-label\">Filter:</label>\n <select class=\"form-select form-select-sm\" [(ngModel)]=\"filterBy\" (ngModelChange)=\"onFilterChange($event)\">\n <option value=\"all\">All Changes</option>\n <option value=\"updates\">Updates Only</option>\n <option value=\"major\">Major Changes</option>\n <option value=\"template\">Template Changes</option>\n </select>\n \n <div class=\"form-check form-switch\">\n <input class=\"form-check-input\" type=\"checkbox\" id=\"showSystem\" [(ngModel)]=\"showSystemChanges\" (ngModelChange)=\"applyFiltersPublic()\">\n <label class=\"form-check-label\" for=\"showSystem\">System</label>\n </div>\n </div>\n \n <div class=\"search-controls\">\n <input \n type=\"text\" \n class=\"form-control form-control-sm\" \n placeholder=\"Search changes...\"\n [ngModel]=\"searchTerm$.value\" (ngModelChange)=\"onSearchChange($event)\">\n </div>\n </div>\n \n <div class=\"toolbar-section\">\n <div class=\"action-buttons\">\n <button type=\"button\" class=\"btn btn-sm btn-outline-secondary\" (click)=\"onSortDirectionChange()\" [title]=\"'Sort ' + (sortDirection === 'asc' ? 'descending' : 'ascending')\">\n <i class=\"fa-solid\" [class.fa-sort-up]=\"sortDirection === 'asc'\" [class.fa-sort-down]=\"sortDirection === 'desc'\"></i>\n Sort\n </button>\n \n <button type=\"button\" class=\"btn btn-sm btn-outline-secondary\" (click)=\"refreshHistory()\" [disabled]=\"isLoading\" title=\"Refresh history\">\n <i class=\"fa-solid fa-refresh\" [class.fa-spin]=\"isLoading\"></i>\n Refresh\n </button>\n \n <button type=\"button\" class=\"btn btn-sm btn-outline-info\" (click)=\"exportVersionHistory()\" title=\"Export history\">\n <i class=\"fa-solid fa-download\"></i>\n Export\n </button>\n </div>\n </div>\n </div>\n \n <!-- Loading state -->\n @if (isLoading) {\n <div class=\"loading-container\">\n <mj-loading [text]=\"loadingMessage\" size=\"large\"></mj-loading>\n </div>\n } @else {\n \n <!-- Timeline View -->\n @if (currentView === 'timeline') {\n <div class=\"timeline-container\">\n @if (versions.length > 0) {\n <div class=\"version-timeline\">\n @for (version of versions; track version.id; let i = $index) {\n <div class=\"timeline-item\" \n [class.selected]=\"selectedVersion?.id === version.id\"\n [class.active]=\"version.isActive\"\n (click)=\"onVersionSelect(version)\">\n \n <div class=\"timeline-marker\">\n <div class=\"marker-icon\" [class]=\"getChangeTypeClass(version.changeType)\">\n <i class=\"fa-solid\" [class]=\"getChangeTypeIcon(version.changeType)\"></i>\n </div>\n @if (i < versions.length - 1) {\n <div class=\"timeline-line\"></div>\n }\n </div>\n \n <div class=\"timeline-content\">\n <div class=\"version-header\">\n <div class=\"version-info\">\n <h6 class=\"version-label\">{{ getVersionLabel(version) }}</h6>\n <div class=\"version-meta\">\n <span class=\"change-date\">{{ version.changedAt | date:'medium' }}</span>\n <span class=\"changed-by\">by {{ version.changedBy }}</span>\n <span class=\"change-source badge\" [class.badge-primary]=\"version.changeSource === 'Internal'\" [class.badge-secondary]=\"version.changeSource === 'External'\">\n {{ version.changeSource }}\n </span>\n </div>\n </div>\n \n <div class=\"version-actions\">\n @if (showComparison && i < versions.length - 1) {\n <button \n type=\"button\" \n class=\"btn btn-sm btn-outline-primary\"\n (click)=\"$event.stopPropagation(); startComparison(version)\"\n title=\"Compare with next version\">\n <i class=\"fa-solid fa-code-compare\"></i>\n </button>\n }\n \n @if (showRestoreActions && version.canRestore) {\n <button \n type=\"button\" \n class=\"btn btn-sm btn-outline-success\"\n (click)=\"$event.stopPropagation(); onVersionRestore(version)\"\n title=\"Restore this version\">\n <i class=\"fa-solid fa-undo\"></i>\n </button>\n }\n </div>\n </div>\n \n <div class=\"version-description\">\n {{ version.changesDescription }}\n </div>\n \n @if (version.changesJSON && timelineConfig.showDiffs) {\n <div class=\"changes-summary\">\n <div class=\"changes-list\">\n @for (field of getObjectKeys(version.changesJSON); track field) {\n <div class=\"change-item\">\n <span class=\"field-name\">{{ getFieldDisplayNamePublic(field) }}</span>\n @if (version.changesJSON[field].oldValue !== undefined) {\n <span class=\"change-arrow\">\n <span class=\"old-value\">{{ formatChangeValue(version.changesJSON[field].oldValue) }}</span>\n <i class=\"fa-solid fa-arrow-right\"></i>\n <span class=\"new-value\">{{ formatChangeValue(version.changesJSON[field].newValue) }}</span>\n </span>\n } @else {\n <span class=\"new-value\">{{ formatChangeValue(version.changesJSON[field].newValue) }}</span>\n }\n </div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"no-versions-message\">\n <i class=\"fa-solid fa-info-circle text-muted\"></i>\n <p class=\"text-muted\">No version history available for this prompt.</p>\n @if (prompt && !prompt.EntityInfo.TrackRecordChanges) {\n <p class=\"text-muted\"><small>Record changes tracking may not be enabled for prompts.</small></p>\n }\n </div>\n }\n </div>\n }\n \n <!-- Comparison View -->\n @if (currentView === 'comparison') {\n <div class=\"comparison-container\">\n <!-- Version selectors -->\n <div class=\"comparison-selectors\">\n <div class=\"selector-group\">\n <label class=\"form-label\">Compare from:</label>\n <select class=\"form-select\" [(ngModel)]=\"compareFromVersion\" (ngModelChange)=\"generateComparisonPublic()\">\n @for (version of versions; track version.id) {\n <option [ngValue]=\"version\">{{ getVersionLabel(version) }} - {{ version.changedAt | date:'short' }}</option>\n }\n </select>\n </div>\n \n <div class=\"comparison-arrow\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n \n <div class=\"selector-group\">\n <label class=\"form-label\">Compare to:</label>\n <select class=\"form-select\" [(ngModel)]=\"compareToVersion\" (ngModelChange)=\"generateComparisonPublic()\">\n @for (version of versions; track version.id) {\n <option [ngValue]=\"version\">{{ getVersionLabel(version) }} - {{ version.changedAt | date:'short' }}</option>\n }\n </select>\n </div>\n </div>\n \n <!-- Comparison results -->\n @if (comparisonResult) {\n <div class=\"comparison-results\">\n <div class=\"comparison-header\">\n <h6 class=\"comparison-title\">\n <i class=\"fa-solid fa-code-compare\"></i>\n Changes between {{ getVersionLabel(comparisonResult.fromVersion) }} and {{ getVersionLabel(comparisonResult.toVersion) }}\n </h6>\n <div class=\"changes-count\">\n {{ comparisonResult.differences.length }} change(s) found\n </div>\n </div>\n \n @if (comparisonResult.differences.length > 0) {\n <div class=\"differences-list\">\n @for (diff of comparisonResult.differences; track diff.fieldName) {\n <div class=\"difference-item\" [class]=\"'diff-' + diff.changeType\">\n <div class=\"diff-header\">\n <div class=\"field-info\">\n <strong class=\"field-name\">{{ diff.displayName }}</strong>\n <span class=\"change-type badge\" \n [class.badge-success]=\"diff.changeType === 'added'\"\n [class.badge-warning]=\"diff.changeType === 'modified'\"\n [class.badge-danger]=\"diff.changeType === 'removed'\">\n {{ diff.changeType }}\n </span>\n @if (diff.isTemplate) {\n <span class=\"template-badge badge badge-info\">Template</span>\n }\n </div>\n </div>\n \n <div class=\"diff-content\">\n @if (diff.changeType === 'modified') {\n <div class=\"side-by-side-diff\">\n <div class=\"diff-old\">\n <h6 class=\"diff-label\">Before:</h6>\n <div class=\"diff-value old-value\">\n @if (diff.isTemplate && diff.fieldName === 'TemplateText') {\n <pre class=\"template-content\">{{ diff.oldValue }}</pre>\n } @else {\n {{ formatChangeValue(diff.oldValue) }}\n }\n </div>\n </div>\n \n <div class=\"diff-new\">\n <h6 class=\"diff-label\">After:</h6>\n <div class=\"diff-value new-value\">\n @if (diff.isTemplate && diff.fieldName === 'TemplateText') {\n <pre class=\"template-content\">{{ diff.newValue }}</pre>\n } @else {\n {{ formatChangeValue(diff.newValue) }}\n }\n </div>\n </div>\n </div>\n } @else if (diff.changeType === 'added') {\n <div class=\"diff-added\">\n <h6 class=\"diff-label\">Added:</h6>\n <div class=\"diff-value new-value\">{{ formatChangeValue(diff.newValue) }}</div>\n </div>\n } @else if (diff.changeType === 'removed') {\n <div class=\"diff-removed\">\n <h6 class=\"diff-label\">Removed:</h6>\n <div class=\"diff-value old-value\">{{ formatChangeValue(diff.oldValue) }}</div>\n </div>\n }\n </div>\n </div>\n }\n </div>\n } @else {\n <div class=\"no-differences\">\n <i class=\"fa-solid fa-check-circle text-success\"></i>\n <p class=\"text-muted\">No differences found between the selected versions.</p>\n </div>\n }\n </div>\n }\n </div>\n }\n \n <!-- Details View -->\n @if (currentView === 'details') {\n <div class=\"details-container\">\n @if (selectedVersion) {\n <div class=\"version-details\">\n <div class=\"details-header\">\n <h6 class=\"details-title\">{{ getVersionLabel(selectedVersion) }}</h6>\n <div class=\"details-meta\">\n <span class=\"change-date\">{{ selectedVersion.changedAt | date:'full' }}</span>\n <span class=\"changed-by\">Changed by {{ selectedVersion.changedBy }}</span>\n </div>\n </div>\n \n <div class=\"details-content\">\n <div class=\"detail-section\">\n <h6 class=\"section-title\">Change Information</h6>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"detail-label\">Type:</span>\n <span class=\"detail-value\">\n <i class=\"fa-solid\" [class]=\"getChangeTypeIcon(selectedVersion.changeType)\"></i>\n {{ selectedVersion.changeType }}\n </span>\n </div>\n \n <div class=\"detail-item\">\n <span class=\"detail-label\">Source:</span>\n <span class=\"detail-value\">{{ selectedVersion.changeSource }}</span>\n </div>\n \n <div class=\"detail-item\">\n <span class=\"detail-label\">Description:</span>\n <span class=\"detail-value\">{{ selectedVersion.changesDescription }}</span>\n </div>\n </div>\n </div>\n \n @if (selectedVersion.fullRecordJSON) {\n <div class=\"detail-section\">\n <h6 class=\"section-title\">Record State</h6>\n <div class=\"json-viewer\">\n <pre class=\"json-content\">{{ selectedVersion.fullRecordJSON | json }}</pre>\n </div>\n </div>\n }\n \n @if (selectedVersion.templateContent) {\n <div class=\"detail-section\">\n <h6 class=\"section-title\">Template Content</h6>\n <div class=\"template-viewer\">\n <pre class=\"template-content\">{{ selectedVersion.templateContent.TemplateText }}</pre>\n </div>\n </div>\n }\n </div>\n </div>\n } @else {\n <mj-empty-state Size=\"compact\" Icon=\"fa-solid fa-hand-pointer\"\n Title=\"Select a version from the timeline to view details.\" />\n }\n </div>\n }\n }\n \n <!-- Error state -->\n @if (error) {\n <div class=\"error-container\">\n <mj-alert Variant=\"error\">\n {{ error }}\n <button mjButton variant=\"danger\" size=\"sm\" actions (click)=\"refreshHistory()\">\n <i class=\"fa-solid fa-refresh\"></i>\n Retry\n </button>\n </mj-alert>\n </div>\n }\n }\n</div>"]}
|
|
@@ -332,6 +332,7 @@ type FormMode = 'none' | 'add-source' | 'edit-source' | 'add-type' | 'edit-type'
|
|
|
332
332
|
export declare class TagsResourceComponent extends BaseResourceComponent implements AfterViewInit, OnDestroy {
|
|
333
333
|
protected destroy$: Subject<void>;
|
|
334
334
|
private cdr;
|
|
335
|
+
private confirmService;
|
|
335
336
|
private activityService;
|
|
336
337
|
protected navigationService: NavigationService;
|
|
337
338
|
IsLoading: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags-resource.component.d.ts","sourceRoot":"","sources":["../../../../src/AI/components/tags/tags-resource.component.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tags-resource.component.d.ts","sourceRoot":"","sources":["../../../../src/AI/components/tags/tags-resource.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,7 @@ import { KnowledgeHubMetadataEngine, UserInfoEngine } from '@memberjunction/core
|
|
|
32
32
|
import { TagEngineBase } from '@memberjunction/tag-engine-base';
|
|
33
33
|
import { RegisterClass, UUIDsEqual, NormalizeUUID } from '@memberjunction/global';
|
|
34
34
|
import { BaseResourceComponent, NavigationService, ActivityService } from '@memberjunction/ng-shared';
|
|
35
|
+
import { MJConfirmService } from '@memberjunction/ng-ui-components';
|
|
35
36
|
import { GraphQLAIClient } from '@memberjunction/graphql-dataprovider';
|
|
36
37
|
import { MJNotificationService } from '@memberjunction/ng-notifications';
|
|
37
38
|
import { AIEngineBase } from '@memberjunction/ai-engine-base';
|
|
@@ -2522,6 +2523,7 @@ let TagsResourceComponent = class TagsResourceComponent extends BaseResourceComp
|
|
|
2522
2523
|
static { TagsResourceComponent_1 = this; }
|
|
2523
2524
|
destroy$ = new Subject();
|
|
2524
2525
|
cdr = inject(ChangeDetectorRef);
|
|
2526
|
+
confirmService = inject(MJConfirmService);
|
|
2525
2527
|
activityService = inject(ActivityService);
|
|
2526
2528
|
navigationService = inject(NavigationService);
|
|
2527
2529
|
// ── Global state ──
|
|
@@ -4134,7 +4136,7 @@ let TagsResourceComponent = class TagsResourceComponent extends BaseResourceComp
|
|
|
4134
4136
|
}
|
|
4135
4137
|
}
|
|
4136
4138
|
async DeleteSource(card) {
|
|
4137
|
-
if (!
|
|
4139
|
+
if (!(await this.confirmService.ConfirmDelete({ title: 'Delete Source', message: `Delete source "${card.Name}"?`, detail: 'This action cannot be undone.' })))
|
|
4138
4140
|
return;
|
|
4139
4141
|
try {
|
|
4140
4142
|
const md = this.ProviderToUse;
|
|
@@ -4238,7 +4240,7 @@ let TagsResourceComponent = class TagsResourceComponent extends BaseResourceComp
|
|
|
4238
4240
|
async RemoveSchedule(card) {
|
|
4239
4241
|
if (!card.ScheduledActionID)
|
|
4240
4242
|
return;
|
|
4241
|
-
if (!
|
|
4243
|
+
if (!(await this.confirmService.ConfirmDelete({ title: 'Remove Schedule', message: `Remove the schedule "${card.ScheduleDescription ?? 'schedule'}" from "${card.Name}"?`, confirmText: 'Remove' })))
|
|
4242
4244
|
return;
|
|
4243
4245
|
try {
|
|
4244
4246
|
await this.linkScheduleToSource(card.ID, null);
|
|
@@ -5811,7 +5813,7 @@ let TagsResourceComponent = class TagsResourceComponent extends BaseResourceComp
|
|
|
5811
5813
|
async RemoveSynonym(row) {
|
|
5812
5814
|
if (!this.TaxSelectedNode)
|
|
5813
5815
|
return;
|
|
5814
|
-
if (!
|
|
5816
|
+
if (!(await this.confirmService.ConfirmDelete({ title: 'Remove Synonym', message: `Remove synonym "${row.Synonym}"?`, confirmText: 'Remove' })))
|
|
5815
5817
|
return;
|
|
5816
5818
|
try {
|
|
5817
5819
|
const md = this.ProviderToUse;
|
|
@@ -5849,13 +5851,13 @@ let TagsResourceComponent = class TagsResourceComponent extends BaseResourceComp
|
|
|
5849
5851
|
// will be folded in on the next iteration of this dashboard.
|
|
5850
5852
|
if (this.SelectedTagScopes.length === 0 && !this.SelectedTagFull.IsGlobal) {
|
|
5851
5853
|
// Empty scope + non-global = currently unreachable. Promote to global.
|
|
5852
|
-
if (!
|
|
5854
|
+
if (!(await this.confirmService.Confirm({ title: 'Promote to global?', message: 'This tag has no scope rows and is not global — it is currently unreachable. Promote to global?' })))
|
|
5853
5855
|
return;
|
|
5854
5856
|
await this.persistTagField(this.TaxSelectedNode.ID, 'IsGlobal', true);
|
|
5855
5857
|
return;
|
|
5856
5858
|
}
|
|
5857
5859
|
if (this.SelectedTagScopes.length > 0) {
|
|
5858
|
-
if (!
|
|
5860
|
+
if (!(await this.confirmService.Confirm({ title: 'Promote to global?', message: `Remove all ${this.SelectedTagScopes.length} scope row(s) and promote to global? This makes the tag visible to all tenants.` })))
|
|
5859
5861
|
return;
|
|
5860
5862
|
try {
|
|
5861
5863
|
const md = this.ProviderToUse;
|
|
@@ -7281,7 +7283,7 @@ let TagsResourceComponent = class TagsResourceComponent extends BaseResourceComp
|
|
|
7281
7283
|
const selected = this.SuggestionRowsFiltered.filter(r => r.selected);
|
|
7282
7284
|
if (selected.length === 0)
|
|
7283
7285
|
return;
|
|
7284
|
-
if (!
|
|
7286
|
+
if (!(await this.confirmService.Confirm({ title: 'Approve suggestions', message: `Approve ${selected.length} suggestion(s)? Each will merge into its best match (when available) or be created as a new tag.` })))
|
|
7285
7287
|
return;
|
|
7286
7288
|
this.SuggestionBulkInProgress = true;
|
|
7287
7289
|
for (const row of selected) {
|
|
@@ -7294,7 +7296,7 @@ let TagsResourceComponent = class TagsResourceComponent extends BaseResourceComp
|
|
|
7294
7296
|
const selected = this.SuggestionRowsFiltered.filter(r => r.selected);
|
|
7295
7297
|
if (selected.length === 0)
|
|
7296
7298
|
return;
|
|
7297
|
-
if (!
|
|
7299
|
+
if (!(await this.confirmService.Confirm({ title: 'Reject suggestions', message: `Reject ${selected.length} suggestion(s)?` })))
|
|
7298
7300
|
return;
|
|
7299
7301
|
this.SuggestionBulkInProgress = true;
|
|
7300
7302
|
for (const row of selected)
|
|
@@ -7376,7 +7378,7 @@ let TagsResourceComponent = class TagsResourceComponent extends BaseResourceComp
|
|
|
7376
7378
|
async RebuildEmbeddings() {
|
|
7377
7379
|
if (this.RebuildEmbeddingsRunning)
|
|
7378
7380
|
return;
|
|
7379
|
-
if (!
|
|
7381
|
+
if (!(await this.confirmService.Confirm({ title: 'Rebuild embeddings', message: 'Rebuild embeddings for all tags whose model doesn\'t match the configured embedding model? This can take time.' })))
|
|
7380
7382
|
return;
|
|
7381
7383
|
this.RebuildEmbeddingsRunning = true;
|
|
7382
7384
|
this.cdr.detectChanges();
|