@futdevpro/fdp-agent-memory 0.1.0 → 1.1.14

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.
Files changed (101) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +7 -7
  3. package/build/package.json +6 -5
  4. package/build/src/_cli/_collections/fam-arg.util.js +48 -0
  5. package/build/src/_cli/_collections/fam-cli.const.js +40 -0
  6. package/build/src/_cli/_collections/fam-output.util.js +86 -0
  7. package/build/src/_cli/_collections/fam-project-discovery.util.js +98 -0
  8. package/build/src/_cli/_commands/capture.command.js +73 -0
  9. package/build/src/_cli/_commands/config.command.js +93 -0
  10. package/build/src/_cli/_commands/doctor.command.js +124 -0
  11. package/build/src/_cli/_commands/errors.command.js +66 -0
  12. package/build/src/_cli/_commands/export.command.js +65 -0
  13. package/build/src/_cli/_commands/find-duplicates.command.js +97 -0
  14. package/build/src/_cli/_commands/import.command.js +136 -0
  15. package/build/src/_cli/_commands/init.command.js +147 -0
  16. package/build/src/_cli/_commands/read.command.js +109 -0
  17. package/build/src/_cli/_commands/scan-projects.command.js +138 -0
  18. package/build/src/_cli/_commands/scan.command.js +98 -0
  19. package/build/src/_cli/_commands/seed.command.js +40 -0
  20. package/build/src/_cli/_commands/serve.command.js +373 -0
  21. package/build/src/_cli/_commands/start.command.js +134 -0
  22. package/build/src/_cli/_commands/stats.command.js +54 -0
  23. package/build/src/_cli/_commands/write.command.js +103 -0
  24. package/build/src/_cli/_models/interfaces/fam-cli-global-options.interface.js +2 -0
  25. package/build/src/_cli/_models/interfaces/fam-cli-output.interface.js +9 -0
  26. package/build/src/_cli/_models/interfaces/fam-client-result.interface.js +2 -0
  27. package/build/src/_cli/_services/fam-client.service.js +140 -0
  28. package/build/src/_cli/register-commands.js +86 -0
  29. package/build/src/_collections/config-catalog.const.js +67 -1
  30. package/build/src/_collections/fam-console.util.js +367 -0
  31. package/build/src/_collections/fam-entry-bootstrap.util.js +158 -4
  32. package/build/src/_collections/fam-error-factory.util.js +0 -9
  33. package/build/src/_collections/fam-mcp-bridge.util.js +49 -0
  34. package/build/src/_collections/fam-reference-code.util.js +105 -0
  35. package/build/src/_collections/fam-version.const.js +10 -0
  36. package/build/src/_models/data-models/fam-entry-base-properties.const.js +1 -0
  37. package/build/src/_models/data-models/fam-entry.data-model.js +6 -0
  38. package/build/src/_models/data-models/fam-ingest-run.data-model.js +3 -1
  39. package/build/src/_models/data-models/fam-reference.data-model.js +7 -0
  40. package/build/src/_modules/capture/_collections/fam-capture.const.js +11 -0
  41. package/build/src/_modules/capture/_services/fam-auto-capture.control-service.js +87 -0
  42. package/build/src/_modules/capture/index.js +8 -0
  43. package/build/src/_modules/embedding/_collections/fam-embedding-prefix.util.js +77 -0
  44. package/build/src/_modules/embedding/_services/fam-duplicate-scan.control-service.js +202 -0
  45. package/build/src/_modules/embedding/_services/fam-embedding-pipeline.control-service.js +33 -9
  46. package/build/src/_modules/embedding/_services/fam-embedding.control-service.js +21 -2
  47. package/build/src/_modules/embedding/_services/fam-entry.data-service.js +135 -0
  48. package/build/src/_modules/embedding/_services/fam-vector-search.control-service.js +42 -32
  49. package/build/src/_modules/embedding/index.js +4 -1
  50. package/build/src/_modules/export/_collections/fam-export.const.js +22 -0
  51. package/build/src/_modules/export/_services/fam-export.control-service.js +64 -0
  52. package/build/src/_modules/export/index.js +8 -0
  53. package/build/src/_modules/ingest/_collections/fam-famignore.util.js +83 -0
  54. package/build/src/_modules/ingest/_collections/fam-file-routing.util.js +59 -48
  55. package/build/src/_modules/ingest/_collections/fam-git-repo.util.js +193 -0
  56. package/build/src/_modules/ingest/_collections/fam-project-identity.util.js +134 -0
  57. package/build/src/_modules/ingest/_collections/fam-scan-progress.util.js +57 -0
  58. package/build/src/_modules/ingest/_collections/fam-scan-summary.util.js +60 -0
  59. package/build/src/_modules/ingest/_collections/fam-scan-weight.util.js +53 -0
  60. package/build/src/_modules/ingest/_collections/fam-secret-exclude.util.js +37 -14
  61. package/build/src/_modules/ingest/_collections/fam-sliding-chunker.util.js +34 -0
  62. package/build/src/_modules/ingest/_collections/fam-ts-chunker.util.js +200 -14
  63. package/build/src/_modules/ingest/_services/fam-delta-compare.util.js +4 -1
  64. package/build/src/_modules/ingest/_services/fam-ingest-run.data-service.js +7 -4
  65. package/build/src/_modules/ingest/_services/fam-ingest.control-service.js +349 -17
  66. package/build/src/_modules/ingest/_services/fam-scan.control-service.js +25 -2
  67. package/build/src/_modules/ingest/index.js +3 -1
  68. package/build/src/_modules/mcp/_collections/fam-active-rules.util.js +56 -0
  69. package/build/src/_modules/mcp/_collections/fam-core-tools.const.js +47 -6
  70. package/build/src/_modules/mcp/_services/fam-capabilities-tool.service.js +4 -4
  71. package/build/src/_modules/mcp/_services/fam-capability-registry.service.js +224 -18
  72. package/build/src/_modules/mcp/_services/fam-mcp-adapter.service.js +4 -4
  73. package/build/src/_modules/mcp/_services/fam-mcp-server.service.js +4 -4
  74. package/build/src/_modules/mcp/_services/fam-read-tool.service.js +53 -1
  75. package/build/src/_modules/mcp/_services/fam-write-tool.service.js +104 -8
  76. package/build/src/_modules/mcp/index.js +4 -4
  77. package/build/src/_modules/migration/_collections/fam-claude-mem-normalize.util.js +66 -3
  78. package/build/src/_modules/migration/_collections/fam-prompt-aggregate.util.js +143 -0
  79. package/build/src/_modules/migration/_collections/fam-target-mapping.util.js +19 -0
  80. package/build/src/_modules/migration/_enums/fam-claude-mem-source.type-enum.js +6 -0
  81. package/build/src/_modules/migration/_models/interfaces/fam-claude-mem.interface.js +5 -0
  82. package/build/src/_modules/migration/_services/fam-agent-memory-reader.service.js +125 -0
  83. package/build/src/_modules/migration/_services/fam-claude-mem-import.control-service.js +101 -18
  84. package/build/src/_modules/migration/_services/fam-import-dedup.data-service.js +53 -0
  85. package/build/src/_modules/migration/index.js +3 -1
  86. package/build/src/_modules/retrieval/_services/fam-retrieval-candidate.data-service.js +78 -4
  87. package/build/src/_modules/retrieval/_services/fam-retrieval.control-service.js +293 -50
  88. package/build/src/_modules/scope-reference/_collections/fam-scope-normalize.util.js +6 -3
  89. package/build/src/_modules/scope-reference/_services/fam-reference.data-service.js +18 -0
  90. package/build/src/_modules/scope-reference/_services/fam-scope-resolver.control-service.js +79 -20
  91. package/build/src/_routes/server/api/api.controller.js +34 -2
  92. package/build/src/_routes/server/client-app/client-app.control-service.js +1 -1
  93. package/build/src/_routes/server/server-status/server-status.controller.js +2 -1
  94. package/build/src/app.server.js +13 -1
  95. package/build/src/environments/environment.js +1 -1
  96. package/build/src/index.js +1 -1
  97. package/client-dist/{chunk-GHKRM4SM.js → chunk-I77GXVAQ.js} +1 -1
  98. package/client-dist/{chunk-LMTL7GA3.js → chunk-YXHWCJ5O.js} +1 -1
  99. package/client-dist/index.html +1 -1
  100. package/client-dist/{main-2KWB3QYK.js → main-PJPEDVJT.js} +1 -1
  101. package/package.json +6 -5
@@ -572,4 +572,4 @@ AdderEvent failed on DynamoForm...
572
572
  Failed to submit on DynamoForm...
573
573
 
574
574
  `,e??new Error),this.callInProgress=!1}})}cancel(){return _e(this,null,function*(){this.params.onCancel&&(yield this.params.onCancel()),this.params.clearOnCancel&&(this.params.clearStoredData(),this.params.resetData()),this.params.access!==P.DyFM_FormAccess.writeOnly&&this.toggleEdit(!1),this.cancelEmitter.emit(!1)})}static \u0275fac=(()=>{let e;return function(o){return(e||(e=vt(t)))(o||t)}})();static \u0275cmp=re({type:t,selectors:[["dynamo-form"]],hostVars:2,hostBindings:function(i,o){i&1&&N("beforeunload",function(a){return o.closeComponent(a)},!1,Z0),i&2&&X("data-testid",o.hostDataTestId)("data-key",o.hostDataKey)},inputs:{params:"params",triggerSubmitEmitter:"triggerSubmitEmitter",type:"type",testIdOverride:"testIdOverride",hideCancel:"hideCancel",formError:"formError",edit:"edit",containerType:"containerType",dependencyDataId:"dependencyDataId",changeActiveIconBtnsTriggering:"changeActiveIconBtnsTriggering",loading:"loading"},outputs:{editChange:"editChange",valid:"valid",submitEmitter:"submitEmitter",cancelEmitter:"cancelEmitter",readyEmitter:"readyEmitter"},standalone:!0,features:[$e,Xe,he],decls:11,vars:10,consts:[["\u0110Form",""],[3,"formGroup"],[3,"type","header","description","btns","btnsDisabled","accordionStartExpanded"],[1,"flex","flex-col","gap-2"],[1,"form-error","flex","flex-row","items-center","justify-start","gap-2"],[1,"flex","flex-wrap"],[3,"class","formTitle","params"],[1,"form-button-row"],[3,"adderEvent","formTitle","params"],[1,"flex","flex-row","justify-end","gap-4"],[3,"params"]],template:function(i,o){i&1&&(_(0,"div"),O(1,X$e,2,0,"dynamo-blocker"),_(2,"form",1,0)(4,"dynamo-container",2)(5,"div",3),O(6,Y$e,5,1,"div",4),_(7,"div",5),zt(8,Q$e,1,5,"dynamo-field",6,dr),v(),O(10,iHe,3,1,"div",7),v()()()()),i&2&&(g(),V(o.loading||o.callInProgress?1:-1),g(),D("formGroup",o.formGroup),g(2),D("type",o.params==null?null:o.params.containerType)("header",o.params==null?null:o.params.title)("description",o.params==null?null:o.params.description)("btns",o.activeIconButtons)("btnsDisabled",o.callInProgress)("accordionStartExpanded",o.params==null?null:o.params.accordionStartExpanded),g(2),V(o.formError?6:-1),g(2),$t(o.params==null?null:o.params.fields),g(2),V(!(o.params!=null&&o.params.hideSubmit)&&!o.params.hideTextButtons?10:-1))},dependencies:[Je,Fs,vW,uW,vd,hh,MF,Oo,Jr,_He,lHe,pk,cHe],styles:[".form-error[_ngcontent-%COMP%]{margin:8px 0;padding:10px;font-size:12px;line-height:12px;color:wheat;background-color:#8b0000;border:1px solid red;border-radius:5px;white-space:pre-wrap}.form-button-row[_ngcontent-%COMP%]{margin-top:10px}.form-button-row[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{height:unset;white-space:normal} mat-tooltip-component .mdc-tooltip__surface{white-space:pre-line;max-width:350px}"]})}return t})(),Gyt=(()=>{class t extends r3{testIdOverride;parentTestId=A($i,{optional:!0})??"";get hostDataTestId(){return At.compute({override:this.testIdOverride,parent:this.parentTestId,selector:"dynamo-loading-overlay"})}get hostDataKey(){return At.sanitize(this.testIdOverride??"dynamo-loading-overlay")}message;static \u0275fac=(()=>{let e;return function(o){return(e||(e=vt(t)))(o||t)}})();static \u0275cmp=re({type:t,selectors:[["dynamo-loading-overlay"]],hostVars:2,hostBindings:function(i,o){i&2&&X("data-testid",o.hostDataTestId)("data-key",o.hostDataKey)},inputs:{testIdOverride:"testIdOverride",message:"message"},standalone:!0,features:[$e,he],decls:3,vars:1,consts:[[1,"h-full","w-full","flex","flex-col","justify-center","items-center","gap-4"],[1,"mt-4"]],template:function(i,o){i&1&&(_(0,"div",0),$(1,"mat-spinner"),O(2,oHe,2,1,"h6",1),v()),i&2&&(g(2),V(o.message?2:-1))},dependencies:[Je,hh,MF],encapsulation:2})}return t})(),wHe=(()=>{class t{dialogRef;data;testIdOverride;parentTestId=A($i,{optional:!0})??"";get hostDataTestId(){return At.compute({override:this.testIdOverride,parent:this.parentTestId,selector:"dynamo-popup-form"})}get hostDataKey(){return At.sanitize(this.testIdOverride??"dynamo-popup-form")}location=A(Xi);formParams;constructor(e,i){this.dialogRef=e,this.data=i,i?.formParams&&(this.formParams=i.formParams),history.pushState(null,null,window.location.href),this.location.onPopState(()=>{this.finish(null)})}finish(e){this.dialogRef.close(e)}static \u0275fac=function(i){return new(i||t)(x(ea),x(xd))};static \u0275cmp=re({type:t,selectors:[["dynamo-popup-form"]],hostVars:2,hostBindings:function(i,o){i&2&&X("data-testid",o.hostDataTestId)("data-key",o.hostDataKey)},inputs:{testIdOverride:"testIdOverride"},standalone:!0,features:[he],decls:1,vars:1,consts:[[3,"submitEmitter","cancelEmitter","params"]],template:function(i,o){i&1&&(_(0,"dynamo-form",0),N("submitEmitter",function(a){return o.finish(a)})("cancelEmitter",function(a){return o.finish(a)}),v()),i&2&&D("params",o.formParams)},dependencies:[Je,Ka,ro,xHe]})}return t})();var Tne=class{static defaultDescriptionPosition=P.DyFM_MaterialTooltipPosition.above;static defaultDescriptionDelay=300;static definedButtonClasses={};static definedButtonContentClasses={};static getButtonStyleName(n){return[n.color,n.styleType,n.size,n.borderRadius,n.isIconButton?"icon":"",n.iconStyle,n.iconFill?"icon-fill":""].filter(i=>!!i).join("-")}static getButtonClasses(n){let e=this.getButtonStyleName(n);if(this.definedButtonClasses[e])return this.definedButtonClasses[e];{let i=this.assembleButtonClasses(n);return this.definedButtonClasses[e]=i,i}}static getButtonContentClasses(n){let e=this.getButtonStyleName(n);if(this.definedButtonContentClasses[e])return this.definedButtonContentClasses[e];{let i=this.assembleButtonContentClasses(n);return this.definedButtonContentClasses[e]=i,i}}static assembleButtonClasses(n){let e=[];return e.push(this.getButtonStyleName(n)),e.push(...this.getDefaultButtonClasses(n)),e.push("disabled:cursor-not-allowed"),e.push(...this.getColoringButtonClasses(n)),e.push(...this.getBorderRadiusClasses(n)),n.isIconButton||e.push("w-full"),e}static assembleButtonContentClasses(n){let e=["flex","items-center","justify-center"];return e.push(this.getButtonStyleName(n)),e.push(...this.getTextSizeButtonContentClasses(n)),n.iconFill&&e.push("dynamo-icon-fill"),n.isIconButton?e.push(...this.getIconMarginButtonContentClasses(n)):e.push(...this.getMarginButtonContentClasses(n)),e}static getDefaultButtonClasses(n){return n.styleType&&!(n.isIconButton||n.iconStyle!==P.DyFM_ButtonNewIconStyleType.outlined)&&![P.DyFM_ButtonNewStyleType.stroked,P.DyFM_ButtonNewStyleType.backgroundless].includes(n.styleType)?["disabled:bg-neutral-400/50","disabled:text-neutral-600","disabled:hover:bg-neutral-700/50","disabled:hover:text-neutral-200","dark:disabled:bg-neutral-600/50","dark:disabled:text-neutral-200","dark:disabled:hover:bg-neutral-600"]:[]}static getColoringButtonClasses(n){let e=[];switch(n.styleType){case P.DyFM_ButtonNewStyleType.stroked:return e.push("border-2",`border-${n.color}-500`,`text-${n.color}-500`,`hover:bg-${n.color}-500/10`,"disabled:border-neutral-500","disabled:bg-neutral-500/10","disabled:text-neutral-500","disabled:hover:bg-neutral-500/25"),P.DyFM_allMaterialColors.includes(n.color)||e.push(`dark:border-${n.color}-200`,`dark:text-${n.color}-200`,`dark:hover:bg-${n.color}-200`,`dark:hover:text-${n.color}C-200`,"dark:disabled:border-neutral-600"),e;case P.DyFM_ButtonNewStyleType.backgroundless:return e.push(`text-${n.color}-500`,`hover:bg-${n.color?n.color:"neutral"}-500/10`,"disabled:text-neutral-600","disabled:hover:bg-neutral-500/10"),P.DyFM_allMaterialColors.includes(n.color)||e.push(`dark:border-${n.color}-200`,`dark:text-${n.color}-200`,`dark:hover:bg-${n.color}-200`,`dark:hover:text-${n.color}C-200`),e;case P.DyFM_ButtonNewStyleType.tonal:return e.push(`text-${n.color}-600`,`dark:text-${n.color}-300`,`bg-${n.color}-100`,`dark:bg-${n.color}-800`,`hover:bg-${n.color}-200`,`dark:hover:bg-${n.color}-900`),P.DyFM_allMaterialColors.includes(n.color)||e.push(`dark:bg-${n.color}-200/50`,`dark:text-${n.color}C-500`),e;case P.DyFM_ButtonNewStyleType.filled:return[`bg-${n.color}-500`,`text-${n.color}C-500`,`hover:bg-${n.color}-700`,"disabled:bg-neutral-600","disabled:hover:bg-neutral-500/10"];default:return[]}}static getBorderRadiusClasses(n){if(n.isIconButton)return["rounded-full"];switch(n.borderRadius){case P.DyFM_ButtonNewBorderRadius.square:return["rounded-none"];case P.DyFM_ButtonNewBorderRadius.full:return["rounded-full"];case P.DyFM_ButtonNewBorderRadius.rounded:return["rounded-full"];default:switch(n.size){case P.DyFM_ButtonNewSize.xs:return["rounded-sm"];case P.DyFM_ButtonNewSize.small:return["rounded-lg"];case P.DyFM_ButtonNewSize.medium:return["rounded-2xl"];case P.DyFM_ButtonNewSize.large:return["rounded-3xl"];case P.DyFM_ButtonNewSize.xl:return["rounded-4xl"];default:return console.warn("CustomButtonSettingsModel: no border radius set. Default is rounded-lg."),["rounded-2xl"]}}}static getTextSizeButtonContentClasses(n){switch(n.size){case P.DyFM_ButtonNewSize.xs:return["text-xs"];case P.DyFM_ButtonNewSize.small:return["text-sm"];case P.DyFM_ButtonNewSize.medium:return["text-base"];case P.DyFM_ButtonNewSize.large:return["text-lg"];case P.DyFM_ButtonNewSize.xl:return["text-2xl"];default:return["text-base"]}}static getIconMarginButtonContentClasses(n){switch(n.size){case P.DyFM_ButtonNewSize.xs:return["m-0"];case P.DyFM_ButtonNewSize.small:return["m-0.5"];case P.DyFM_ButtonNewSize.medium:return["m-1"];case P.DyFM_ButtonNewSize.large:return["m-1.5"];case P.DyFM_ButtonNewSize.xl:return["m-2"];default:switch(n.styleType){case P.DyFM_ButtonNewStyleType.stroked:return["m-0.5"];case P.DyFM_ButtonNewStyleType.backgroundless:return["m-1.5"];default:return["m-1"]}}}static getMarginButtonContentClasses(n){switch(n.size){case P.DyFM_ButtonNewSize.xs:return n.styleType===P.DyFM_ButtonNewStyleType.stroked?["my-0","mx-2"]:["my-0.5","mx-2"];case P.DyFM_ButtonNewSize.small:return n.styleType===P.DyFM_ButtonNewStyleType.stroked?["my-1.5","mx-4"]:["my-2","mx-4"];case P.DyFM_ButtonNewSize.medium:return n.styleType===P.DyFM_ButtonNewStyleType.stroked?["my-3","mx-6"]:["my-3.5","mx-6"];case P.DyFM_ButtonNewSize.large:case P.DyFM_ButtonNewSize.xl:return n.styleType===P.DyFM_ButtonNewStyleType.stroked?["my-3.5","mx-7"]:["my-4","mx-7"];default:return console.warn("CustomButtonSettingsModel: no size set. Default is medium."),n.styleType===P.DyFM_ButtonNewStyleType.stroked?["my-3","mx-6"]:["my-3.5","mx-6"]}}static iconButtonSettingsValidation(n){n.style_$().isIconButton&&(n.label&&!n.description&&n.description!==null&&(n.description=n.label,console.warn(`CustomButtonSettingsModel: icon button has no description, but label is set. The label is set as description. Please set description for the icon button.
575
- (${n.id})`)),n.icon||console.error(`CustomButtonSettingsModel: icon button has no icon set. Please set icon. (${n.id})`))}};var Pne=class{static phoneCodeOptions=Lne.DyFM_Regions?.phoneCodes.map(n=>{let e=n.code.includes("-")?n.code.split("-")[0]:n.code;return new P.DyFM_Select(`${n.country} (+${e})`,e)})};var Kh=function(t){return t.primary="primary",t.accent="accent",t.warn="warn",t.cyan="cyan",t.fuchsia="fuchsia",t.violet="violet",t.amber="amber",t.rose="rose",t.emerald="emerald",t.neutral="neutral",t}(Kh||{}),Xh=function(t){return t.filled="filled",t.stroked="stroked",t.glass="glass",t.ghost="ghost",t.outstanding="outstanding",t.backgroundless="backgroundless",t}(Xh||{}),Yh=function(t){return t.none="none",t.small="small",t.medium="medium",t.large="large",t.full="full",t}(Yh||{}),Qh=function(t){return t.compact="compact",t.comfortable="comfortable",t.spacious="spacious",t}(Qh||{}),Zh=function(t){return t.none="none",t.soft="soft",t.strong="strong",t}(Zh||{}),Wyt={darkNeon:{color:Kh.cyan,styleType:Xh.stroked,borderRadius:Yh.medium,size:Qh.comfortable,glow:Zh.soft},card:{color:Kh.neutral,styleType:Xh.outstanding,borderRadius:Yh.medium,size:Qh.comfortable,glow:Zh.none},glass:{color:Kh.neutral,styleType:Xh.glass,borderRadius:Yh.large,size:Qh.comfortable,glow:Zh.none},ghost:{color:Kh.neutral,styleType:Xh.ghost,borderRadius:Yh.small,size:Qh.compact,glow:Zh.none},fuchsiaOutstanding:{color:Kh.fuchsia,styleType:Xh.outstanding,borderRadius:Yh.medium,size:Qh.comfortable,glow:Zh.strong}};var Kyt=(()=>{class t extends $ne{openDynamoPopupForm(e,i={minWidth:"500px",maxHeight:"95vh",disableClose:!0}){this.matDialog.closeAll();let o=this.matDialog.open(wHe,ye(R({},i),{data:{formParams:e}}));return la(o.afterClosed())}openComponent(e,i,o={maxHeight:"95vh"}){this.matDialog.closeAll();let r=this.matDialog.open(e,ye(R({},o),{data:i}));return la(r.afterClosed())}static \u0275fac=(()=>{let e;return function(o){return(e||(e=vt(t)))(o||t)}})();static \u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Rne=class t{static toValidatorFns(n=[]){return n.map(e=>{switch(e.type){case P.DyFM_FieldNew_Validator_Type.required:return wi.required;case P.DyFM_FieldNew_Validator_Type.minLength:return wi.minLength(e.value);case P.DyFM_FieldNew_Validator_Type.maxLength:return wi.maxLength(e.value);case P.DyFM_FieldNew_Validator_Type.pattern:return wi.pattern(e.value);case P.DyFM_FieldNew_Validator_Type.min:return wi.min(e.value);case P.DyFM_FieldNew_Validator_Type.max:return wi.max(e.value);case P.DyFM_FieldNew_Validator_Type.email:return wi.email;case P.DyFM_FieldNew_Validator_Type.custom:throw new Error("DyNX_FormsNewValidator_Util: `custom` validator type not supported in Wave-1. See _specifications/forms-v2/04-verification.md Q1.")}})}static firstErrorMessage(n,e=[]){if(!n)return"";let i=Object.keys(n);if(i.length===0)return"";for(let o of i){let r=t.angularKeyToDescriptorType[o];if(!r)continue;let a=e.find(s=>s.type===r);return a?.message?a.message:t.defaultMessage(r,n[o])}return"Hib\xE1s \xE9rt\xE9k"}static angularKeyToDescriptorType={required:P.DyFM_FieldNew_Validator_Type.required,minlength:P.DyFM_FieldNew_Validator_Type.minLength,maxlength:P.DyFM_FieldNew_Validator_Type.maxLength,min:P.DyFM_FieldNew_Validator_Type.min,max:P.DyFM_FieldNew_Validator_Type.max,pattern:P.DyFM_FieldNew_Validator_Type.pattern,email:P.DyFM_FieldNew_Validator_Type.email};static defaultMessage(n,e){switch(n){case P.DyFM_FieldNew_Validator_Type.required:return"K\xF6telez\u0151 mez\u0151";case P.DyFM_FieldNew_Validator_Type.minLength:{let i=e?.requiredLength;return i?`Minimum ${i} karakter`:"T\xFAl r\xF6vid"}case P.DyFM_FieldNew_Validator_Type.maxLength:{let i=e?.requiredLength;return i?`Maximum ${i} karakter`:"T\xFAl hossz\xFA"}case P.DyFM_FieldNew_Validator_Type.min:{let i=e?.min;return i!==void 0?`Minimum ${i}`:"T\xFAl alacsony"}case P.DyFM_FieldNew_Validator_Type.max:{let i=e?.max;return i!==void 0?`Maximum ${i}`:"T\xFAl magas"}case P.DyFM_FieldNew_Validator_Type.pattern:return"\xC9rv\xE9nytelen form\xE1tum";case P.DyFM_FieldNew_Validator_Type.email:return"\xC9rv\xE9nytelen e-mail c\xEDm";case P.DyFM_FieldNew_Validator_Type.custom:return"\xC9rv\xE9nytelen \xE9rt\xE9k"}}};var Fne=class t{static PREFERENCE_ORDER=[P.DyFM_AudioMime_Type.webmOpus,P.DyFM_AudioMime_Type.webm,P.DyFM_AudioMime_Type.mp4,P.DyFM_AudioMime_Type.ogg,P.DyFM_AudioMime_Type.wav];static pickSupportedMime(n){if(typeof MediaRecorder>"u")return null;let e=n?[n,...t.PREFERENCE_ORDER.filter(i=>i!==n)]:t.PREFERENCE_ORDER;for(let i of e)if(MediaRecorder.isTypeSupported(i))return i;return null}};var gk=(()=>{class t{http=A(pc);get apiBase(){return EP.api.baseUrl}get serverBase(){return`${EP.api.baseUrl}/server`}read(e){return this.post("/read",e)}write(e){return this.post("/write",e)}capabilities(e){return this.post("/capabilities",e)}invokeCapability(e,i){return this.capabilities({action:"invoke",name:e,arguments:i})}getItems(e,i){let o=new Mo;return i?.page&&(o=o.set("page",String(i.page))),i?.pageSize&&(o=o.set("pageSize",String(i.pageSize))),i?.tag&&(o=o.set("tag",i.tag)),i?.kind&&(o=o.set("kind",i.kind)),i?.ingestRunId&&(o=o.set("ingestRunId",i.ingestRunId)),this.get(`/items/${e}`,o)}getStats(){return this.get("/stats")}getTableStats(e){return this.get(`/stats/${e}`)}getIngestRuns(e){let i=new Mo;return e&&(i=i.set("table",e)),this.get("/ingest-runs",i)}getConfig(e){let i=new Mo;return e&&(i=i.set("table",e)),this.get("/config",i)}setConfig(e){return this.put("/config",e)}getErrors(e){let i=new Mo;return e?.level&&(i=i.set("level",e.level)),e?.source&&(i=i.set("source",e.source)),e?.handled!==void 0&&(i=i.set("handled",String(e.handled))),this.getFrom(this.serverBase,"/errors",i)}markErrorHandled(e){return this.postTo(this.serverBase,`/errors/mark-handled/${e}`,{})}getBannerDescriptors(){return this.getFrom(this.serverBase,"/errors/banners")}get(e,i){return this.getFrom(this.apiBase,e,i)}getFrom(e,i,o){return _e(this,null,function*(){try{return{data:yield la(this.http.get(`${e}${i}`,{params:o}))}}catch(r){return{error:this.normalizeError(r)}}})}post(e,i){return this.postTo(this.apiBase,e,i)}postTo(e,i,o){return _e(this,null,function*(){try{return{data:yield la(this.http.post(`${e}${i}`,o))}}catch(r){return{error:this.normalizeError(r)}}})}put(e,i){return _e(this,null,function*(){try{return{data:yield la(this.http.put(`${this.apiBase}${e}`,i))}}catch(o){return{error:this.normalizeError(o)}}})}normalizeError(e){if(e instanceof $r){let i=e.error;return i?.error?.errorCode?{errorCode:i.error.errorCode,message:i.error.message}:e.status?{errorCode:`FAM-UI-HTTP-${e.status}`,message:e.message||`V\xE1ratlan HTTP-hiba (${e.status} ${e.statusText}).`}:{errorCode:"FAM-UI-NET-000",message:"A szerver nem el\xE9rhet\u0151 (network/connection hiba). Fut a FAM szerver a 39185 porton?"}}return{errorCode:"FAM-UI-UNKNOWN-000",message:e instanceof Error?e.message:"Ismeretlen kliens-hiba."}}static \u0275fac=function(i){return new(i||t)};static \u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Une=(()=>{class t{api=A(gk);tableStats_$=vn([]);bannerDescriptors_$=vn([]);banners_$=vn([]);recentErrors_$=vn([]);serverUnreachable_$=vn(!1);pollTimer;startPolling(e=3e4){this.pollTimer||(this.refreshAll(),this.pollTimer=setInterval(()=>{this.refreshAll()},e))}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=void 0)}refreshAll(){return _e(this,null,function*(){yield Promise.all([this.refreshStats(),this.refreshBannerDescriptors(),this.refreshRecentErrors()])})}refreshStats(){return _e(this,null,function*(){let e=yield this.api.getStats();if(e.error){this.serverUnreachable_$.set(e.error.errorCode==="FAM-UI-NET-000");return}this.serverUnreachable_$.set(!1),this.tableStats_$.set(e.data?.tables??[])})}refreshBannerDescriptors(){return _e(this,null,function*(){let e=yield this.api.getBannerDescriptors();e.data&&this.bannerDescriptors_$.set(e.data)})}refreshRecentErrors(){return _e(this,null,function*(){let e=yield this.api.getErrors({handled:!1});e.data&&this.recentErrors_$.set(e.data)})}pushBanner(e){let i=this.banners_$().filter(o=>o.key!==e.key);this.banners_$.set([...i,e])}dismissBanner(e){this.banners_$.set(this.banners_$().filter(i=>i.key!==e))}clearBanners(){this.banners_$.set([])}static \u0275fac=function(i){return new(i||t)};static \u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var MHe=(t,n)=>n.key,SHe=()=>["/maintenance/settings"],DHe=()=>["/errors"];function kHe(t,n){t&1&&(_(0,"a",7),F(1,"Open settings"),v()),t&2&&D("routerLink",jf(1,SHe))}function EHe(t,n){t&1&&(_(0,"a",7),F(1,"View errors"),v()),t&2&&D("routerLink",jf(1,DHe))}function IHe(t,n){if(t&1){let e=Ce();_(0,"div",2)(1,"div",3)(2,"div",4),F(3),v(),_(4,"div",5),F(5),v(),_(6,"div",6),O(7,kHe,2,2,"a",7)(8,EHe,2,2,"a",7),v()(),_(9,"button",8),N("click",function(){let o=L(e).$implicit,r=M();return j(r.dismiss(o.key))}),F(10," \xD7 "),v()()}if(t&2){let e=n.$implicit;ge("border-yellow-600",e.color==="yellow")("bg-yellow-950",e.color==="yellow")("text-yellow-200",e.color==="yellow")("border-red-600",e.color==="red")("bg-red-950",e.color==="red")("text-red-200",e.color==="red"),X("data-testid","ma-banner-"+e.key),g(3),Fe(e.title),g(2),Fe(e.message),g(2),V(e.settingsLink?7:-1),g(),V(e.errorsLink?8:-1),g(),X("data-testid","ma-banner-dismiss-"+e.key)}}var qne=(()=>{class t{adminState=A(Une);get banners_$(){return this.adminState.banners_$}dismiss(e){this.adminState.dismissBanner(e)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=re({type:t,selectors:[["ma-banner-host"]],standalone:!0,features:[he],decls:3,vars:0,consts:[[1,"flex","flex-col","gap-2"],[1,"flex","items-start","gap-3","rounded-md","border","px-4","py-3","text-sm",3,"border-yellow-600","bg-yellow-950","text-yellow-200","border-red-600","bg-red-950","text-red-200"],[1,"flex","items-start","gap-3","rounded-md","border","px-4","py-3","text-sm"],[1,"flex-1"],[1,"font-semibold"],[1,"mt-1","opacity-90"],[1,"mt-2","flex","gap-3"],[1,"underline","hover:opacity-80",3,"routerLink"],["type","button",1,"text-lg","leading-none","opacity-70","hover:opacity-100",3,"click"]],template:function(i,o){i&1&&(_(0,"div",0),zt(1,IHe,11,18,"div",1,MHe),v()),i&2&&(g(),$t(o.banners_$()))},dependencies:[Je,Os,Xc],encapsulation:2})}return t})();var OHe=(t,n)=>n._id,AHe=()=>["/maintenance"];function THe(t,n){t&1&&(_(0,"div",18),F(1,"Loading\u2026"),v())}function PHe(t,n){t&1&&(_(0,"span",28),F(1,"handled"),v())}function RHe(t,n){if(t&1&&(_(0,"div",39),F(1),v()),t&2){let e=n.$implicit;g(),Fe(e)}}function FHe(t,n){if(t&1&&(_(0,"div",36)(1,"div",37),F(2,"stack:"),v(),zt(3,RHe,2,1,"div",39,dr),v()),t&2){let e=M(2).$implicit;g(3),$t(e.stackTrace)}}function NHe(t,n){if(t&1&&(_(0,"div",31),O(1,FHe,5,0,"div",36),_(2,"div",37),F(3,"context-snapshot:"),v(),_(4,"pre",38),F(5),v()()),t&2){let e=M().$implicit,i=M(2);X("data-testid","ma-error-detail-"+e._id),g(),V(e.stackTrace!=null&&e.stackTrace.length?1:-1),g(4),Fe(i.snapshotJson(e))}}function BHe(t,n){if(t&1){let e=Ce();_(0,"button",40),N("click",function(){L(e);let o=M().$implicit,r=M(2);return j(r.markHandled(o))}),F(1,"mark handled"),v()}if(t&2){let e=M().$implicit;X("data-testid","ma-error-mark-"+e._id)}}function LHe(t,n){if(t&1){let e=Ce();_(0,"button",41),N("click",function(){L(e);let o=M().$implicit,r=M(2);return j(r.retry(o))}),F(1,"retry"),v()}if(t&2){let e=M().$implicit;X("data-testid","ma-error-retry-"+e._id)}}function jHe(t,n){if(t&1){let e=Ce();_(0,"div",20)(1,"div",22)(2,"div",23)(3,"div",24)(4,"span",25),F(5),v(),_(6,"span",26),F(7),v(),_(8,"span",27),F(9),v(),O(10,PHe,2,0,"span",28),v(),_(11,"div",29),F(12),v(),_(13,"div",30),F(14),uc(15,"date"),v(),O(16,NHe,6,3,"div",31),v(),_(17,"div",32)(18,"button",33),N("click",function(){let o,r=L(e).$implicit,a=M(2);return j(a.toggleExpand((o=r._id)!==null&&o!==void 0?o:""))}),F(19),v(),O(20,BHe,2,1,"button",34)(21,LHe,2,1,"button",35),v()()()}if(t&2){let e,i,o,r,a,s,c=n.$implicit,l=M(2);X("data-testid","ma-error-"+c._id),g(4),D("ngClass",l.levelClass(c.level)),g(),Fe((e=c.level)!==null&&e!==void 0?e:"error"),g(2),Fe((i=c.errorCode)!==null&&i!==void 0?i:"\u2014"),g(2),Oe("\xD7",(o=c.count)!==null&&o!==void 0?o:1,""),g(),V(c.handled?10:-1),g(2),Fe(c.message),g(2),wu(" ",(r=c.issuer)!==null&&r!==void 0?r:"\u2014"," \xB7 ",c.__lastModified?eO(15,14,c.__lastModified,"short"):"\u2014"," "),g(2),V(l.isExpanded((a=c._id)!==null&&a!==void 0?a:"")?16:-1),g(2),X("data-testid","ma-error-expand-"+c._id),g(),Oe(" ",l.isExpanded((s=c._id)!==null&&s!==void 0?s:"")?"collapse":"expand"," "),g(),V(c.handled?-1:20),g(),V(l.canRetry(c)?21:-1)}}function VHe(t,n){t&1&&(_(0,"div",21),F(1,"Nincs hiba-rekord. \u2713"),v())}function zHe(t,n){if(t&1&&(_(0,"div",19),zt(1,jHe,22,17,"div",20,OHe,!1,VHe,2,0,"div",21),v()),t&2){let e=M();g(),$t(e.errors_$())}}var wCt=(()=>{class t{api=A(gk);route=A(ja);notify=A(a3);errors_$=vn([]);loading_$=vn(!0);levelFilter="";sourceFilter="";handledFilter="";ingestRunFilter="";expanded_$=vn(new Set);ngOnInit(){return _e(this,null,function*(){this.ingestRunFilter=this.route.snapshot.queryParamMap.get("ingestRunId")??"",yield this.load()})}load(){return _e(this,null,function*(){this.loading_$.set(!0);let e=yield this.api.getErrors({level:this.levelFilter||void 0,source:this.sourceFilter||void 0,handled:this.handledFilter===""?void 0:this.handledFilter==="true"});if(e.error){this.notify.newErrorMessage(`${e.error.errorCode}: ${e.error.message}`),this.loading_$.set(!1);return}let i=e.data??[];this.ingestRunFilter&&(i=i.filter(o=>JSON.stringify(o.contextSnapshot??{}).includes(this.ingestRunFilter))),this.errors_$.set(i),this.loading_$.set(!1)})}isExpanded(e){return this.expanded_$().has(e)}toggleExpand(e){let i=new Set(this.expanded_$());i.has(e)?i.delete(e):i.add(e),this.expanded_$.set(i)}levelClass(e){return e==="critical"||e==="fatal"||e==="error"?"bg-red-700":e==="warn"||e==="warning"||e==="user"?"bg-yellow-700":"bg-neutral-700"}snapshotJson(e){return JSON.stringify(e.contextSnapshot??{},null,2)}markHandled(e){return _e(this,null,function*(){let i=yield this.api.markErrorHandled(e._id??"");if(i.error){this.notify.newErrorMessage(`${i.error.errorCode}: ${i.error.message}`);return}this.notify.newSuccessMessage("Hiba kezeltnek jel\xF6lve."),yield this.load()})}retry(e){return _e(this,null,function*(){let i=e.errorCode??"",o=null,r={errorId:e._id};if(i.startsWith("FAM-EMB-")?(o="reembed_chunk",r={errorId:e._id,context:e.contextSnapshot}):i.startsWith("FAM-SCAN-")&&(o="retry_scan",r={errorId:e._id,context:e.contextSnapshot}),!o){this.notify.newAlertMessage("Ehhez a hibat\xEDpushoz nincs retry-akci\xF3.");return}let a=yield this.api.invokeCapability(o,r);if(a.error){this.notify.newErrorMessage(`${a.error.errorCode}: ${a.error.message}`);return}this.notify.newSuccessMessage("Retry elind\xEDtva."),yield this.load()})}canRetry(e){let i=e.errorCode??"";return i.startsWith("FAM-EMB-")||i.startsWith("FAM-SCAN-")}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=re({type:t,selectors:[["ma-errors"]],standalone:!0,features:[he],decls:33,vars:7,consts:[["data-testid","ma-errors",1,"mx-auto","max-w-5xl","p-6"],[1,"mb-4","block"],[1,"mb-4","flex","items-center","justify-between"],[1,"text-sm","opacity-60","hover:underline",3,"routerLink"],[1,"text-2xl","font-semibold"],["data-testid","ma-errors-filters",1,"mb-3","flex","flex-wrap","items-center","gap-2","text-sm"],["data-testid","ma-errors-level",1,"rounded","border","border-neutral-700","bg-neutral-900","px-2","py-1",3,"ngModelChange","ngModel"],["value",""],["value","user"],["value","warning"],["value","error"],["value","critical"],["placeholder","forr\xE1s-r\xE9teg (source)","data-testid","ma-errors-source",1,"w-40","rounded","border","border-neutral-700","bg-neutral-900","px-2","py-1",3,"ngModelChange","ngModel"],["data-testid","ma-errors-handled",1,"rounded","border","border-neutral-700","bg-neutral-900","px-2","py-1",3,"ngModelChange","ngModel"],["value","false"],["value","true"],["placeholder","ingestRunId","data-testid","ma-errors-ingestrun",1,"w-40","rounded","border","border-neutral-700","bg-neutral-900","px-2","py-1",3,"ngModelChange","ngModel"],["data-testid","ma-errors-apply",1,"rounded","border","border-neutral-700","px-3","py-1","hover:bg-neutral-800",3,"click"],["data-testid","ma-errors-loading",1,"py-10","text-center","opacity-60"],["data-testid","ma-errors-list",1,"flex","flex-col","gap-2"],[1,"rounded","border","border-neutral-800","bg-neutral-900","p-3","text-sm"],[1,"py-6","text-center","opacity-50"],[1,"flex","items-start","justify-between","gap-3"],[1,"flex-1"],[1,"flex","flex-wrap","items-center","gap-2"],[1,"rounded","px-2","py-0.5","text-xs",3,"ngClass"],[1,"font-mono","text-xs","opacity-70"],[1,"text-xs","opacity-50"],[1,"rounded","bg-emerald-800","px-2","py-0.5","text-xs"],[1,"mt-1","opacity-90"],[1,"mt-1","text-xs","opacity-40"],[1,"mt-2","rounded","bg-neutral-950","p-2","text-xs"],[1,"flex","flex-col","gap-1"],[1,"rounded","px-2","py-1","text-xs","hover:bg-neutral-800",3,"click"],[1,"rounded","px-2","py-1","text-xs","text-emerald-400","hover:bg-neutral-800"],[1,"rounded","px-2","py-1","text-xs","text-amber-400","hover:bg-neutral-800"],[1,"mb-2"],[1,"opacity-50"],[1,"whitespace-pre-wrap","font-mono","opacity-70"],[1,"font-mono","opacity-70"],[1,"rounded","px-2","py-1","text-xs","text-emerald-400","hover:bg-neutral-800",3,"click"],[1,"rounded","px-2","py-1","text-xs","text-amber-400","hover:bg-neutral-800",3,"click"]],template:function(i,o){i&1&&(_(0,"div",0),$(1,"ma-banner-host",1),_(2,"div",2)(3,"div")(4,"a",3),F(5,"\u2190 Maintenance"),v(),_(6,"h1",4),F(7,"Errors"),v()()(),_(8,"div",5)(9,"select",6),zn("ngModelChange",function(a){return ti(o.levelFilter,a)||(o.levelFilter=a),a}),_(10,"option",7),F(11,"minden szint"),v(),_(12,"option",8),F(13,"user"),v(),_(14,"option",9),F(15,"warning"),v(),_(16,"option",10),F(17,"error"),v(),_(18,"option",11),F(19,"critical"),v()(),_(20,"input",12),zn("ngModelChange",function(a){return ti(o.sourceFilter,a)||(o.sourceFilter=a),a}),v(),_(21,"select",13),zn("ngModelChange",function(a){return ti(o.handledFilter,a)||(o.handledFilter=a),a}),_(22,"option",7),F(23,"handled: b\xE1rmi"),v(),_(24,"option",14),F(25,"unhandled"),v(),_(26,"option",15),F(27,"handled"),v()(),_(28,"input",16),zn("ngModelChange",function(a){return ti(o.ingestRunFilter,a)||(o.ingestRunFilter=a),a}),v(),_(29,"button",17),N("click",function(){return o.load()}),F(30,"Apply"),v()(),O(31,THe,2,0,"div",18)(32,zHe,4,1,"div",19),v()),i&2&&(g(4),D("routerLink",jf(6,AHe)),g(5),Vn("ngModel",o.levelFilter),g(11),Vn("ngModel",o.sourceFilter),g(),Vn("ngModel",o.handledFilter),g(7),Vn("ngModel",o.ingestRunFilter),g(3),V(o.loading_$()?31:32))},dependencies:[Je,Yi,xO,Rs,BR,LR,ah,Cg,bd,al,Os,Xc,qne],encapsulation:2})}return t})();export{R as a,ye as b,fo as c,_e as d,Pn as e,ua as f,q as g,Z as h,B as i,A as j,re as k,J as l,L as m,j as n,W as o,fe as p,bo as q,g as r,vn as s,O as t,X as u,D as v,kt as w,ge as x,V as y,dr as z,us as A,zt as B,$t as C,_ as D,v as E,$ as F,Et as G,Ce as H,N as I,M as J,Pe as K,F as L,Fe as M,Oe as N,wu as O,_le as P,ble as Q,Vn as R,ti as S,zn as T,he as U,jf as V,Vr as W,ms as X,uc as Y,eO as Z,Co as _,xa as $,wo as aa,xO as ba,Nde as ca,Je as da,Jde as ea,ZXe as fa,$6 as ga,Hc as ha,mnt as ia,md as ja,gr as ka,ja as la,PG as ma,_r as na,Xc as oa,Os as pa,Q7 as qa,ah as ra,bd as sa,al as ta,FR as ua,Cg as va,BR as wa,LR as xa,Rs as ya,_Q as za,o3 as Aa,Uyt as Ba,qyt as Ca,cHe as Da,a3 as Ea,Gyt as Fa,Kyt as Ga,EP as Ha,gk as Ia,Une as Ja,qne as Ka,wCt as La};
575
+ (${n.id})`)),n.icon||console.error(`CustomButtonSettingsModel: icon button has no icon set. Please set icon. (${n.id})`))}};var Pne=class{static phoneCodeOptions=Lne.DyFM_Regions?.phoneCodes.map(n=>{let e=n.code.includes("-")?n.code.split("-")[0]:n.code;return new P.DyFM_Select(`${n.country} (+${e})`,e)})};var Kh=function(t){return t.primary="primary",t.accent="accent",t.warn="warn",t.cyan="cyan",t.fuchsia="fuchsia",t.violet="violet",t.amber="amber",t.rose="rose",t.emerald="emerald",t.neutral="neutral",t}(Kh||{}),Xh=function(t){return t.filled="filled",t.stroked="stroked",t.glass="glass",t.ghost="ghost",t.outstanding="outstanding",t.backgroundless="backgroundless",t}(Xh||{}),Yh=function(t){return t.none="none",t.small="small",t.medium="medium",t.large="large",t.full="full",t}(Yh||{}),Qh=function(t){return t.compact="compact",t.comfortable="comfortable",t.spacious="spacious",t}(Qh||{}),Zh=function(t){return t.none="none",t.soft="soft",t.strong="strong",t}(Zh||{}),Wyt={darkNeon:{color:Kh.cyan,styleType:Xh.stroked,borderRadius:Yh.medium,size:Qh.comfortable,glow:Zh.soft},card:{color:Kh.neutral,styleType:Xh.outstanding,borderRadius:Yh.medium,size:Qh.comfortable,glow:Zh.none},glass:{color:Kh.neutral,styleType:Xh.glass,borderRadius:Yh.large,size:Qh.comfortable,glow:Zh.none},ghost:{color:Kh.neutral,styleType:Xh.ghost,borderRadius:Yh.small,size:Qh.compact,glow:Zh.none},fuchsiaOutstanding:{color:Kh.fuchsia,styleType:Xh.outstanding,borderRadius:Yh.medium,size:Qh.comfortable,glow:Zh.strong}};var Kyt=(()=>{class t extends $ne{openDynamoPopupForm(e,i={minWidth:"500px",maxHeight:"95vh",disableClose:!0}){this.matDialog.closeAll();let o=this.matDialog.open(wHe,ye(R({},i),{data:{formParams:e}}));return la(o.afterClosed())}openComponent(e,i,o={maxHeight:"95vh"}){this.matDialog.closeAll();let r=this.matDialog.open(e,ye(R({},o),{data:i}));return la(r.afterClosed())}static \u0275fac=(()=>{let e;return function(o){return(e||(e=vt(t)))(o||t)}})();static \u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Rne=class t{static toValidatorFns(n=[]){return n.map(e=>{switch(e.type){case P.DyFM_FieldNew_Validator_Type.required:return wi.required;case P.DyFM_FieldNew_Validator_Type.minLength:return wi.minLength(e.value);case P.DyFM_FieldNew_Validator_Type.maxLength:return wi.maxLength(e.value);case P.DyFM_FieldNew_Validator_Type.pattern:return wi.pattern(e.value);case P.DyFM_FieldNew_Validator_Type.min:return wi.min(e.value);case P.DyFM_FieldNew_Validator_Type.max:return wi.max(e.value);case P.DyFM_FieldNew_Validator_Type.email:return wi.email;case P.DyFM_FieldNew_Validator_Type.custom:throw new Error("DyNX_FormsNewValidator_Util: `custom` validator type not supported in Wave-1. See _specifications/forms-v2/04-verification.md Q1.")}})}static firstErrorMessage(n,e=[]){if(!n)return"";let i=Object.keys(n);if(i.length===0)return"";for(let o of i){let r=t.angularKeyToDescriptorType[o];if(!r)continue;let a=e.find(s=>s.type===r);return a?.message?a.message:t.defaultMessage(r,n[o])}return"Hib\xE1s \xE9rt\xE9k"}static angularKeyToDescriptorType={required:P.DyFM_FieldNew_Validator_Type.required,minlength:P.DyFM_FieldNew_Validator_Type.minLength,maxlength:P.DyFM_FieldNew_Validator_Type.maxLength,min:P.DyFM_FieldNew_Validator_Type.min,max:P.DyFM_FieldNew_Validator_Type.max,pattern:P.DyFM_FieldNew_Validator_Type.pattern,email:P.DyFM_FieldNew_Validator_Type.email};static defaultMessage(n,e){switch(n){case P.DyFM_FieldNew_Validator_Type.required:return"K\xF6telez\u0151 mez\u0151";case P.DyFM_FieldNew_Validator_Type.minLength:{let i=e?.requiredLength;return i?`Minimum ${i} karakter`:"T\xFAl r\xF6vid"}case P.DyFM_FieldNew_Validator_Type.maxLength:{let i=e?.requiredLength;return i?`Maximum ${i} karakter`:"T\xFAl hossz\xFA"}case P.DyFM_FieldNew_Validator_Type.min:{let i=e?.min;return i!==void 0?`Minimum ${i}`:"T\xFAl alacsony"}case P.DyFM_FieldNew_Validator_Type.max:{let i=e?.max;return i!==void 0?`Maximum ${i}`:"T\xFAl magas"}case P.DyFM_FieldNew_Validator_Type.pattern:return"\xC9rv\xE9nytelen form\xE1tum";case P.DyFM_FieldNew_Validator_Type.email:return"\xC9rv\xE9nytelen e-mail c\xEDm";case P.DyFM_FieldNew_Validator_Type.custom:return"\xC9rv\xE9nytelen \xE9rt\xE9k"}}};var Fne=class t{static PREFERENCE_ORDER=[P.DyFM_AudioMime_Type.webmOpus,P.DyFM_AudioMime_Type.webm,P.DyFM_AudioMime_Type.mp4,P.DyFM_AudioMime_Type.ogg,P.DyFM_AudioMime_Type.wav];static pickSupportedMime(n){if(typeof MediaRecorder>"u")return null;let e=n?[n,...t.PREFERENCE_ORDER.filter(i=>i!==n)]:t.PREFERENCE_ORDER;for(let i of e)if(MediaRecorder.isTypeSupported(i))return i;return null}};var gk=(()=>{class t{http=A(pc);get apiBase(){return EP.api.baseUrl}get serverBase(){return`${EP.api.baseUrl}/server`}read(e){return this.post("/read",e)}write(e){return this.post("/write",e)}capabilities(e){return this.post("/capabilities",e)}invokeCapability(e,i){return this.capabilities({action:"invoke",name:e,arguments:i})}getItems(e,i){let o=new Mo;return i?.page&&(o=o.set("page",String(i.page))),i?.pageSize&&(o=o.set("pageSize",String(i.pageSize))),i?.tag&&(o=o.set("tag",i.tag)),i?.kind&&(o=o.set("kind",i.kind)),i?.ingestRunId&&(o=o.set("ingestRunId",i.ingestRunId)),this.get(`/items/${e}`,o)}getStats(){return this.get("/stats")}getTableStats(e){return this.get(`/stats/${e}`)}getIngestRuns(e){let i=new Mo;return e&&(i=i.set("table",e)),this.get("/ingest-runs",i)}getConfig(e){let i=new Mo;return e&&(i=i.set("table",e)),this.get("/config",i)}setConfig(e){return this.put("/config",e)}getErrors(e){let i=new Mo;return e?.level&&(i=i.set("level",e.level)),e?.source&&(i=i.set("source",e.source)),e?.handled!==void 0&&(i=i.set("handled",String(e.handled))),this.getFrom(this.serverBase,"/errors",i)}markErrorHandled(e){return this.postTo(this.serverBase,`/errors/mark-handled/${e}`,{})}getBannerDescriptors(){return this.getFrom(this.serverBase,"/errors/banners")}get(e,i){return this.getFrom(this.apiBase,e,i)}getFrom(e,i,o){return _e(this,null,function*(){try{return{data:yield la(this.http.get(`${e}${i}`,{params:o}))}}catch(r){return{error:this.normalizeError(r)}}})}post(e,i){return this.postTo(this.apiBase,e,i)}postTo(e,i,o){return _e(this,null,function*(){try{return{data:yield la(this.http.post(`${e}${i}`,o))}}catch(r){return{error:this.normalizeError(r)}}})}put(e,i){return _e(this,null,function*(){try{return{data:yield la(this.http.put(`${this.apiBase}${e}`,i))}}catch(o){return{error:this.normalizeError(o)}}})}normalizeError(e){if(e instanceof $r){let i=e.error;return i?.error?.errorCode?{errorCode:i.error.errorCode,message:i.error.message}:e.status?{errorCode:`FAM-UI-HTTP-${e.status}`,message:e.message||`V\xE1ratlan HTTP-hiba (${e.status} ${e.statusText}).`}:{errorCode:"FAM-UI-NET-000",message:"A szerver nem el\xE9rhet\u0151 (network/connection hiba). Fut a FAM szerver a 39265 porton?"}}return{errorCode:"FAM-UI-UNKNOWN-000",message:e instanceof Error?e.message:"Ismeretlen kliens-hiba."}}static \u0275fac=function(i){return new(i||t)};static \u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Une=(()=>{class t{api=A(gk);tableStats_$=vn([]);bannerDescriptors_$=vn([]);banners_$=vn([]);recentErrors_$=vn([]);serverUnreachable_$=vn(!1);pollTimer;startPolling(e=3e4){this.pollTimer||(this.refreshAll(),this.pollTimer=setInterval(()=>{this.refreshAll()},e))}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=void 0)}refreshAll(){return _e(this,null,function*(){yield Promise.all([this.refreshStats(),this.refreshBannerDescriptors(),this.refreshRecentErrors()])})}refreshStats(){return _e(this,null,function*(){let e=yield this.api.getStats();if(e.error){this.serverUnreachable_$.set(e.error.errorCode==="FAM-UI-NET-000");return}this.serverUnreachable_$.set(!1),this.tableStats_$.set(e.data?.tables??[])})}refreshBannerDescriptors(){return _e(this,null,function*(){let e=yield this.api.getBannerDescriptors();e.data&&this.bannerDescriptors_$.set(e.data)})}refreshRecentErrors(){return _e(this,null,function*(){let e=yield this.api.getErrors({handled:!1});e.data&&this.recentErrors_$.set(e.data)})}pushBanner(e){let i=this.banners_$().filter(o=>o.key!==e.key);this.banners_$.set([...i,e])}dismissBanner(e){this.banners_$.set(this.banners_$().filter(i=>i.key!==e))}clearBanners(){this.banners_$.set([])}static \u0275fac=function(i){return new(i||t)};static \u0275prov=q({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var MHe=(t,n)=>n.key,SHe=()=>["/maintenance/settings"],DHe=()=>["/errors"];function kHe(t,n){t&1&&(_(0,"a",7),F(1,"Open settings"),v()),t&2&&D("routerLink",jf(1,SHe))}function EHe(t,n){t&1&&(_(0,"a",7),F(1,"View errors"),v()),t&2&&D("routerLink",jf(1,DHe))}function IHe(t,n){if(t&1){let e=Ce();_(0,"div",2)(1,"div",3)(2,"div",4),F(3),v(),_(4,"div",5),F(5),v(),_(6,"div",6),O(7,kHe,2,2,"a",7)(8,EHe,2,2,"a",7),v()(),_(9,"button",8),N("click",function(){let o=L(e).$implicit,r=M();return j(r.dismiss(o.key))}),F(10," \xD7 "),v()()}if(t&2){let e=n.$implicit;ge("border-yellow-600",e.color==="yellow")("bg-yellow-950",e.color==="yellow")("text-yellow-200",e.color==="yellow")("border-red-600",e.color==="red")("bg-red-950",e.color==="red")("text-red-200",e.color==="red"),X("data-testid","ma-banner-"+e.key),g(3),Fe(e.title),g(2),Fe(e.message),g(2),V(e.settingsLink?7:-1),g(),V(e.errorsLink?8:-1),g(),X("data-testid","ma-banner-dismiss-"+e.key)}}var qne=(()=>{class t{adminState=A(Une);get banners_$(){return this.adminState.banners_$}dismiss(e){this.adminState.dismissBanner(e)}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=re({type:t,selectors:[["ma-banner-host"]],standalone:!0,features:[he],decls:3,vars:0,consts:[[1,"flex","flex-col","gap-2"],[1,"flex","items-start","gap-3","rounded-md","border","px-4","py-3","text-sm",3,"border-yellow-600","bg-yellow-950","text-yellow-200","border-red-600","bg-red-950","text-red-200"],[1,"flex","items-start","gap-3","rounded-md","border","px-4","py-3","text-sm"],[1,"flex-1"],[1,"font-semibold"],[1,"mt-1","opacity-90"],[1,"mt-2","flex","gap-3"],[1,"underline","hover:opacity-80",3,"routerLink"],["type","button",1,"text-lg","leading-none","opacity-70","hover:opacity-100",3,"click"]],template:function(i,o){i&1&&(_(0,"div",0),zt(1,IHe,11,18,"div",1,MHe),v()),i&2&&(g(),$t(o.banners_$()))},dependencies:[Je,Os,Xc],encapsulation:2})}return t})();var OHe=(t,n)=>n._id,AHe=()=>["/maintenance"];function THe(t,n){t&1&&(_(0,"div",18),F(1,"Loading\u2026"),v())}function PHe(t,n){t&1&&(_(0,"span",28),F(1,"handled"),v())}function RHe(t,n){if(t&1&&(_(0,"div",39),F(1),v()),t&2){let e=n.$implicit;g(),Fe(e)}}function FHe(t,n){if(t&1&&(_(0,"div",36)(1,"div",37),F(2,"stack:"),v(),zt(3,RHe,2,1,"div",39,dr),v()),t&2){let e=M(2).$implicit;g(3),$t(e.stackTrace)}}function NHe(t,n){if(t&1&&(_(0,"div",31),O(1,FHe,5,0,"div",36),_(2,"div",37),F(3,"context-snapshot:"),v(),_(4,"pre",38),F(5),v()()),t&2){let e=M().$implicit,i=M(2);X("data-testid","ma-error-detail-"+e._id),g(),V(e.stackTrace!=null&&e.stackTrace.length?1:-1),g(4),Fe(i.snapshotJson(e))}}function BHe(t,n){if(t&1){let e=Ce();_(0,"button",40),N("click",function(){L(e);let o=M().$implicit,r=M(2);return j(r.markHandled(o))}),F(1,"mark handled"),v()}if(t&2){let e=M().$implicit;X("data-testid","ma-error-mark-"+e._id)}}function LHe(t,n){if(t&1){let e=Ce();_(0,"button",41),N("click",function(){L(e);let o=M().$implicit,r=M(2);return j(r.retry(o))}),F(1,"retry"),v()}if(t&2){let e=M().$implicit;X("data-testid","ma-error-retry-"+e._id)}}function jHe(t,n){if(t&1){let e=Ce();_(0,"div",20)(1,"div",22)(2,"div",23)(3,"div",24)(4,"span",25),F(5),v(),_(6,"span",26),F(7),v(),_(8,"span",27),F(9),v(),O(10,PHe,2,0,"span",28),v(),_(11,"div",29),F(12),v(),_(13,"div",30),F(14),uc(15,"date"),v(),O(16,NHe,6,3,"div",31),v(),_(17,"div",32)(18,"button",33),N("click",function(){let o,r=L(e).$implicit,a=M(2);return j(a.toggleExpand((o=r._id)!==null&&o!==void 0?o:""))}),F(19),v(),O(20,BHe,2,1,"button",34)(21,LHe,2,1,"button",35),v()()()}if(t&2){let e,i,o,r,a,s,c=n.$implicit,l=M(2);X("data-testid","ma-error-"+c._id),g(4),D("ngClass",l.levelClass(c.level)),g(),Fe((e=c.level)!==null&&e!==void 0?e:"error"),g(2),Fe((i=c.errorCode)!==null&&i!==void 0?i:"\u2014"),g(2),Oe("\xD7",(o=c.count)!==null&&o!==void 0?o:1,""),g(),V(c.handled?10:-1),g(2),Fe(c.message),g(2),wu(" ",(r=c.issuer)!==null&&r!==void 0?r:"\u2014"," \xB7 ",c.__lastModified?eO(15,14,c.__lastModified,"short"):"\u2014"," "),g(2),V(l.isExpanded((a=c._id)!==null&&a!==void 0?a:"")?16:-1),g(2),X("data-testid","ma-error-expand-"+c._id),g(),Oe(" ",l.isExpanded((s=c._id)!==null&&s!==void 0?s:"")?"collapse":"expand"," "),g(),V(c.handled?-1:20),g(),V(l.canRetry(c)?21:-1)}}function VHe(t,n){t&1&&(_(0,"div",21),F(1,"Nincs hiba-rekord. \u2713"),v())}function zHe(t,n){if(t&1&&(_(0,"div",19),zt(1,jHe,22,17,"div",20,OHe,!1,VHe,2,0,"div",21),v()),t&2){let e=M();g(),$t(e.errors_$())}}var wCt=(()=>{class t{api=A(gk);route=A(ja);notify=A(a3);errors_$=vn([]);loading_$=vn(!0);levelFilter="";sourceFilter="";handledFilter="";ingestRunFilter="";expanded_$=vn(new Set);ngOnInit(){return _e(this,null,function*(){this.ingestRunFilter=this.route.snapshot.queryParamMap.get("ingestRunId")??"",yield this.load()})}load(){return _e(this,null,function*(){this.loading_$.set(!0);let e=yield this.api.getErrors({level:this.levelFilter||void 0,source:this.sourceFilter||void 0,handled:this.handledFilter===""?void 0:this.handledFilter==="true"});if(e.error){this.notify.newErrorMessage(`${e.error.errorCode}: ${e.error.message}`),this.loading_$.set(!1);return}let i=e.data??[];this.ingestRunFilter&&(i=i.filter(o=>JSON.stringify(o.contextSnapshot??{}).includes(this.ingestRunFilter))),this.errors_$.set(i),this.loading_$.set(!1)})}isExpanded(e){return this.expanded_$().has(e)}toggleExpand(e){let i=new Set(this.expanded_$());i.has(e)?i.delete(e):i.add(e),this.expanded_$.set(i)}levelClass(e){return e==="critical"||e==="fatal"||e==="error"?"bg-red-700":e==="warn"||e==="warning"||e==="user"?"bg-yellow-700":"bg-neutral-700"}snapshotJson(e){return JSON.stringify(e.contextSnapshot??{},null,2)}markHandled(e){return _e(this,null,function*(){let i=yield this.api.markErrorHandled(e._id??"");if(i.error){this.notify.newErrorMessage(`${i.error.errorCode}: ${i.error.message}`);return}this.notify.newSuccessMessage("Hiba kezeltnek jel\xF6lve."),yield this.load()})}retry(e){return _e(this,null,function*(){let i=e.errorCode??"",o=null,r={errorId:e._id};if(i.startsWith("FAM-EMB-")?(o="reembed_chunk",r={errorId:e._id,context:e.contextSnapshot}):i.startsWith("FAM-SCAN-")&&(o="retry_scan",r={errorId:e._id,context:e.contextSnapshot}),!o){this.notify.newAlertMessage("Ehhez a hibat\xEDpushoz nincs retry-akci\xF3.");return}let a=yield this.api.invokeCapability(o,r);if(a.error){this.notify.newErrorMessage(`${a.error.errorCode}: ${a.error.message}`);return}this.notify.newSuccessMessage("Retry elind\xEDtva."),yield this.load()})}canRetry(e){let i=e.errorCode??"";return i.startsWith("FAM-EMB-")||i.startsWith("FAM-SCAN-")}static \u0275fac=function(i){return new(i||t)};static \u0275cmp=re({type:t,selectors:[["ma-errors"]],standalone:!0,features:[he],decls:33,vars:7,consts:[["data-testid","ma-errors",1,"mx-auto","max-w-5xl","p-6"],[1,"mb-4","block"],[1,"mb-4","flex","items-center","justify-between"],[1,"text-sm","opacity-60","hover:underline",3,"routerLink"],[1,"text-2xl","font-semibold"],["data-testid","ma-errors-filters",1,"mb-3","flex","flex-wrap","items-center","gap-2","text-sm"],["data-testid","ma-errors-level",1,"rounded","border","border-neutral-700","bg-neutral-900","px-2","py-1",3,"ngModelChange","ngModel"],["value",""],["value","user"],["value","warning"],["value","error"],["value","critical"],["placeholder","forr\xE1s-r\xE9teg (source)","data-testid","ma-errors-source",1,"w-40","rounded","border","border-neutral-700","bg-neutral-900","px-2","py-1",3,"ngModelChange","ngModel"],["data-testid","ma-errors-handled",1,"rounded","border","border-neutral-700","bg-neutral-900","px-2","py-1",3,"ngModelChange","ngModel"],["value","false"],["value","true"],["placeholder","ingestRunId","data-testid","ma-errors-ingestrun",1,"w-40","rounded","border","border-neutral-700","bg-neutral-900","px-2","py-1",3,"ngModelChange","ngModel"],["data-testid","ma-errors-apply",1,"rounded","border","border-neutral-700","px-3","py-1","hover:bg-neutral-800",3,"click"],["data-testid","ma-errors-loading",1,"py-10","text-center","opacity-60"],["data-testid","ma-errors-list",1,"flex","flex-col","gap-2"],[1,"rounded","border","border-neutral-800","bg-neutral-900","p-3","text-sm"],[1,"py-6","text-center","opacity-50"],[1,"flex","items-start","justify-between","gap-3"],[1,"flex-1"],[1,"flex","flex-wrap","items-center","gap-2"],[1,"rounded","px-2","py-0.5","text-xs",3,"ngClass"],[1,"font-mono","text-xs","opacity-70"],[1,"text-xs","opacity-50"],[1,"rounded","bg-emerald-800","px-2","py-0.5","text-xs"],[1,"mt-1","opacity-90"],[1,"mt-1","text-xs","opacity-40"],[1,"mt-2","rounded","bg-neutral-950","p-2","text-xs"],[1,"flex","flex-col","gap-1"],[1,"rounded","px-2","py-1","text-xs","hover:bg-neutral-800",3,"click"],[1,"rounded","px-2","py-1","text-xs","text-emerald-400","hover:bg-neutral-800"],[1,"rounded","px-2","py-1","text-xs","text-amber-400","hover:bg-neutral-800"],[1,"mb-2"],[1,"opacity-50"],[1,"whitespace-pre-wrap","font-mono","opacity-70"],[1,"font-mono","opacity-70"],[1,"rounded","px-2","py-1","text-xs","text-emerald-400","hover:bg-neutral-800",3,"click"],[1,"rounded","px-2","py-1","text-xs","text-amber-400","hover:bg-neutral-800",3,"click"]],template:function(i,o){i&1&&(_(0,"div",0),$(1,"ma-banner-host",1),_(2,"div",2)(3,"div")(4,"a",3),F(5,"\u2190 Maintenance"),v(),_(6,"h1",4),F(7,"Errors"),v()()(),_(8,"div",5)(9,"select",6),zn("ngModelChange",function(a){return ti(o.levelFilter,a)||(o.levelFilter=a),a}),_(10,"option",7),F(11,"minden szint"),v(),_(12,"option",8),F(13,"user"),v(),_(14,"option",9),F(15,"warning"),v(),_(16,"option",10),F(17,"error"),v(),_(18,"option",11),F(19,"critical"),v()(),_(20,"input",12),zn("ngModelChange",function(a){return ti(o.sourceFilter,a)||(o.sourceFilter=a),a}),v(),_(21,"select",13),zn("ngModelChange",function(a){return ti(o.handledFilter,a)||(o.handledFilter=a),a}),_(22,"option",7),F(23,"handled: b\xE1rmi"),v(),_(24,"option",14),F(25,"unhandled"),v(),_(26,"option",15),F(27,"handled"),v()(),_(28,"input",16),zn("ngModelChange",function(a){return ti(o.ingestRunFilter,a)||(o.ingestRunFilter=a),a}),v(),_(29,"button",17),N("click",function(){return o.load()}),F(30,"Apply"),v()(),O(31,THe,2,0,"div",18)(32,zHe,4,1,"div",19),v()),i&2&&(g(4),D("routerLink",jf(6,AHe)),g(5),Vn("ngModel",o.levelFilter),g(11),Vn("ngModel",o.sourceFilter),g(),Vn("ngModel",o.handledFilter),g(7),Vn("ngModel",o.ingestRunFilter),g(3),V(o.loading_$()?31:32))},dependencies:[Je,Yi,xO,Rs,BR,LR,ah,Cg,bd,al,Os,Xc,qne],encapsulation:2})}return t})();export{R as a,ye as b,fo as c,_e as d,Pn as e,ua as f,q as g,Z as h,B as i,A as j,re as k,J as l,L as m,j as n,W as o,fe as p,bo as q,g as r,vn as s,O as t,X as u,D as v,kt as w,ge as x,V as y,dr as z,us as A,zt as B,$t as C,_ as D,v as E,$ as F,Et as G,Ce as H,N as I,M as J,Pe as K,F as L,Fe as M,Oe as N,wu as O,_le as P,ble as Q,Vn as R,ti as S,zn as T,he as U,jf as V,Vr as W,ms as X,uc as Y,eO as Z,Co as _,xa as $,wo as aa,xO as ba,Nde as ca,Je as da,Jde as ea,ZXe as fa,$6 as ga,Hc as ha,mnt as ia,md as ja,gr as ka,ja as la,PG as ma,_r as na,Xc as oa,Os as pa,Q7 as qa,ah as ra,bd as sa,al as ta,FR as ua,Cg as va,BR as wa,LR as xa,Rs as ya,_Q as za,o3 as Aa,Uyt as Ba,qyt as Ca,cHe as Da,a3 as Ea,Gyt as Fa,Kyt as Ga,EP as Ha,gk as Ia,Une as Ja,qne as Ka,wCt as La};
@@ -13,5 +13,5 @@
13
13
  <style>*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}html,body{height:100%;background-color:#0f0f0f}body{margin:0;font-family:Roboto,Helvetica Neue,sans-serif;color:#c8c8c8}</style><link rel="stylesheet" href="styles-3J7JD5YE.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles-3J7JD5YE.css"></noscript></head>
14
14
  <body class="mat-typography">
15
15
  <a-root-root></a-root-root>
16
- <link rel="modulepreload" href="chunk-LMTL7GA3.js"><script src="polyfills-HGDOEU5L.js" type="module"></script><script src="main-2KWB3QYK.js" type="module"></script></body>
16
+ <link rel="modulepreload" href="chunk-YXHWCJ5O.js"><script src="polyfills-HGDOEU5L.js" type="module"></script><script src="main-PJPEDVJT.js" type="module"></script></body>
17
17
  </html>
@@ -1,2 +1,2 @@
1
- import{Aa as z,Ba as V,Ca as Y,D as l,Da as x,E as d,Ea as c,F as M,Fa as E,Ha as i,J as B,L as f,La as q,U as S,c as C,d as A,e as R,ea as O,f as j,fa as H,g as r,ga as X,h as v,ha as D,i as N,ia as U,j as a,ja as Z,k as p,ka as G,l as y,ma as K,na as u,p as h,pa as $,q as P,r as L,s as m,t as w,v as F,y as k,za as le}from"./chunk-LMTL7GA3.js";var pe=C(D());var J=(()=>{class e{static \u0275fac=function(o){return new(o||e)};static \u0275cmp=p({type:e,selectors:[["a-error"]],standalone:!0,features:[S],decls:5,vars:0,consts:[[1,"p-6"],[1,"text-xl"],[1,"mt-2"]],template:function(o,n){o&1&&(l(0,"section",0)(1,"h2",1),f(2,"Error"),d(),l(3,"p",2),f(4,"TODO: Error page"),d()())},styles:["[_nghost-%COMP%]{display:block}"]})}return e})();var Q=(()=>{class e{static \u0275fac=function(o){return new(o||e)};static \u0275cmp=p({type:e,selectors:[["a-page-not-found"]],standalone:!0,features:[S],decls:5,vars:0,consts:[[1,"p-6"],[1,"text-xl"],[1,"mt-2"]],template:function(o,n){o&1&&(l(0,"section",0)(1,"h2",1),f(2,"PageNotFound"),d(),l(3,"p",2),f(4,"TODO: PageNotFound page"),d()())},styles:["[_nghost-%COMP%]{display:block}"]})}return e})();var W=C(D());var ee=(()=>{class e{router=a(u);messageControlService=a(c);intercept(t,o){return o.handle(t).pipe(j(n=>{if(n.status===403||n.status===401||n.status===504)throw n;if(n?.error?.flag?.includes(W.DyFM_errorFlag)){let g=n.error;throw g?.__userMessage?this.messageControlService.newErrorMessage(g.__userMessage):this.messageControlService.newErrorMessage(g._message),g._errorCodes?.includes("FAS-ACS-VRL7")&&this.router.navigate(["/email-verification"]),g.___handled=!0,n}throw this.messageControlService.newErrorMessage(`Unexpected error. (${n?.status}: ${n?.statusText})`),n}))}static \u0275fac=function(o){return new(o||e)};static \u0275prov=r({token:e,factory:e.\u0275fac})}return e})();var te=(()=>{class e{intercept(t,o){return o.handle(t)}static \u0275fac=function(o){return new(o||e)};static \u0275prov=r({token:e,factory:e.\u0275fac})}return e})();var oe=(()=>{class e{notify_CS;ngZone;constructor(t,o){this.notify_CS=t,this.ngZone=o}handleError(t){console.error("[GlobalErrorHandler]",t);let o=t instanceof Error?t.message:String(t);this.ngZone.run(()=>this.notify_CS.newErrorMessage(`V\xE1ratlan hiba: ${o}`))}static \u0275fac=function(o){return new(o||e)(N(c),N(h))};static \u0275prov=r({token:e,factory:e.\u0275fac})}return e})();var se=C(D()),b=C(le());var fe={common:{loading:"Loading...",save:"Save",cancel:"Cancel",confirm:"Confirm",login:"Login",logout:"Logout",error:"Error"}},ne={common:{loading:"T\xF6lt\xE9s...",save:"Ment\xE9s",cancel:"M\xE9gse",confirm:"Meger\u0151s\xEDt\xE9s",login:"Bejelentkez\xE9s",logout:"Kijelentkez\xE9s",error:"Hiba"}},ue={en:fe,hu:ne},re=(()=>{class e{activeLanguage_$=m("hu");dict_$=m(ne);setLanguage(t){this.activeLanguage_$.set(t),this.dict_$.set(ue[t])}static \u0275fac=function(o){return new(o||e)};static \u0275prov=r({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var T=C(D());var ie=(()=>{class e extends z{router=a(u);loading_$=m(!0);currentRoute;isDarkModeOn_$=m(!0);get isDarkModeOn(){return this.isDarkModeOn_$()}_noServerConnection_BS=new R(!0);noServerConnection$=this._noServerConnection_BS.asObservable();_noServerConnection_$=m(!0);serverConnectionInprogress_$=m(!1);get noServerConnection_$(){return this._noServerConnection_$}constructor(){super(),this.createSubscriptions(),this.initDarkMode()}setNoServerConnection(t){this._noServerConnection_BS.next(t)}waitForServerConnection(){return A(this,null,function*(){this._noServerConnection_$()&&(yield T.DyFM_Async.takeUntil(this.noServerConnection$,t=>!t))})}createSubscriptions(){this.addSubscriptions([this._noServerConnection_BS.subscribe(t=>{this._noServerConnection_$.set(t)}),this.router.events.subscribe(t=>{t instanceof Z?this.setLoading(!0):t instanceof G&&(this.setLoading(!1),window.scroll({top:0,behavior:"smooth"}),this.currentRoute=t.url)})])}setLoading(t){return A(this,null,function*(){yield T.DyFM_Async.delay(1),this.loading_$.set(t)})}toggleDarkMode(){this.isDarkModeOn_$.set(!this.isDarkModeOn),this.setDarkMode()}setDarkMode(){let t=document.getElementsByTagName("html")[0];this.isDarkModeOn?t.classList.add("dark"):t.classList.remove("dark")}initDarkMode(){this.isDarkModeOn_$.set(!0),this.setDarkMode()}static \u0275fac=function(o){return new(o||e)};static \u0275prov=r({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function _e(e,I){e&1&&M(0,"dynamo-loading-overlay",0),e&2&&F("message","connecting to server...")}function ge(e,I){e&1&&M(0,"dynamo-blocker",1),e&2&&F("message","Server not available!")("messageRotationDegree",-15)}function Ce(e,I){if(e&1&&w(0,_e,1,1,"dynamo-loading-overlay",0)(1,ge,1,2,"dynamo-blocker",1),e&2){let t=B();k(t.serverConnectionInprogress_$()?0:1)}}var ae=(()=>{class e{render_CS=a(ie);ls=a(re);title="fdp-agent-memory";get noServerConnection_$(){return this.render_CS.noServerConnection_$}get serverConnectionInprogress_$(){return this.render_CS.serverConnectionInprogress_$}constructor(){se.DyFM_global_settings.envOverrides={DyNM_STORAGE_ENCRYPTION_KEY:i.storageEncryptionKey},b.DyFM_uiGlobal_settings.fieldAppearance=b.DyFM_FieldAppearance.outline}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=p({type:e,selectors:[["a-root-root"]],decls:2,vars:1,consts:[[3,"message"],[3,"message","messageRotationDegree"]],template:function(o,n){o&1&&(M(0,"router-outlet"),w(1,Ce,2,1)),o&2&&(L(),k(n.noServerConnection_$()?1:-1))},dependencies:[K,x,E],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}"]})}return e})();var ve=[{path:"",redirectTo:"maintenance",pathMatch:"full"},{path:"maintenance",loadChildren:()=>import("./chunk-GHKRM4SM.js").then(e=>e.Maintenance_Module)},{path:"errors",component:q},{path:"error",component:J},{path:"not-found",component:Q},{path:"**",redirectTo:"not-found"}],me=(()=>{class e{static \u0275fac=function(o){return new(o||e)};static \u0275mod=y({type:e});static \u0275inj=v({imports:[$.forRoot(ve),$]})}return e})();var ce=(()=>{class e{static \u0275fac=function(o){return new(o||e)};static \u0275mod=y({type:e,bootstrap:[ae]});static \u0275inj=v({providers:[{provide:O,useClass:te,multi:!0},{provide:O,useClass:ee,multi:!0,deps:[u,c]},{provide:P,useClass:oe,deps:[c,h]}],imports:[X,U,me,Y,x,E,V]})}return e})();var _=new URL(window.location.href);i.baseUrl=_.origin;i.api.baseUrl=_.origin+"/api";i.socketAddress=`${_.origin.replace("https","wss").replace("http","ws")}/notifications`;_.hostname==="fdp-agent-memory.hu"||_.hostname==="fdp-agent-memory.com"?i.production=!0:_.hostname.includes("localhost")?console.log("environment",{environment:i}):console.log("environment",{environment:i});H().bootstrapModule(ce).catch(e=>{pe.DyFM_Log.H_error(`INIT ERROR
1
+ import{Aa as z,Ba as V,Ca as Y,D as l,Da as x,E as d,Ea as c,F as M,Fa as E,Ha as i,J as B,L as f,La as q,U as S,c as C,d as A,e as R,ea as O,f as j,fa as H,g as r,ga as X,h as v,ha as D,i as N,ia as U,j as a,ja as Z,k as p,ka as G,l as y,ma as K,na as u,p as h,pa as $,q as P,r as L,s as m,t as w,v as F,y as k,za as le}from"./chunk-YXHWCJ5O.js";var pe=C(D());var J=(()=>{class e{static \u0275fac=function(o){return new(o||e)};static \u0275cmp=p({type:e,selectors:[["a-error"]],standalone:!0,features:[S],decls:5,vars:0,consts:[[1,"p-6"],[1,"text-xl"],[1,"mt-2"]],template:function(o,n){o&1&&(l(0,"section",0)(1,"h2",1),f(2,"Error"),d(),l(3,"p",2),f(4,"TODO: Error page"),d()())},styles:["[_nghost-%COMP%]{display:block}"]})}return e})();var Q=(()=>{class e{static \u0275fac=function(o){return new(o||e)};static \u0275cmp=p({type:e,selectors:[["a-page-not-found"]],standalone:!0,features:[S],decls:5,vars:0,consts:[[1,"p-6"],[1,"text-xl"],[1,"mt-2"]],template:function(o,n){o&1&&(l(0,"section",0)(1,"h2",1),f(2,"PageNotFound"),d(),l(3,"p",2),f(4,"TODO: PageNotFound page"),d()())},styles:["[_nghost-%COMP%]{display:block}"]})}return e})();var W=C(D());var ee=(()=>{class e{router=a(u);messageControlService=a(c);intercept(t,o){return o.handle(t).pipe(j(n=>{if(n.status===403||n.status===401||n.status===504)throw n;if(n?.error?.flag?.includes(W.DyFM_errorFlag)){let g=n.error;throw g?.__userMessage?this.messageControlService.newErrorMessage(g.__userMessage):this.messageControlService.newErrorMessage(g._message),g._errorCodes?.includes("FAS-ACS-VRL7")&&this.router.navigate(["/email-verification"]),g.___handled=!0,n}throw this.messageControlService.newErrorMessage(`Unexpected error. (${n?.status}: ${n?.statusText})`),n}))}static \u0275fac=function(o){return new(o||e)};static \u0275prov=r({token:e,factory:e.\u0275fac})}return e})();var te=(()=>{class e{intercept(t,o){return o.handle(t)}static \u0275fac=function(o){return new(o||e)};static \u0275prov=r({token:e,factory:e.\u0275fac})}return e})();var oe=(()=>{class e{notify_CS;ngZone;constructor(t,o){this.notify_CS=t,this.ngZone=o}handleError(t){console.error("[GlobalErrorHandler]",t);let o=t instanceof Error?t.message:String(t);this.ngZone.run(()=>this.notify_CS.newErrorMessage(`V\xE1ratlan hiba: ${o}`))}static \u0275fac=function(o){return new(o||e)(N(c),N(h))};static \u0275prov=r({token:e,factory:e.\u0275fac})}return e})();var se=C(D()),b=C(le());var fe={common:{loading:"Loading...",save:"Save",cancel:"Cancel",confirm:"Confirm",login:"Login",logout:"Logout",error:"Error"}},ne={common:{loading:"T\xF6lt\xE9s...",save:"Ment\xE9s",cancel:"M\xE9gse",confirm:"Meger\u0151s\xEDt\xE9s",login:"Bejelentkez\xE9s",logout:"Kijelentkez\xE9s",error:"Hiba"}},ue={en:fe,hu:ne},re=(()=>{class e{activeLanguage_$=m("hu");dict_$=m(ne);setLanguage(t){this.activeLanguage_$.set(t),this.dict_$.set(ue[t])}static \u0275fac=function(o){return new(o||e)};static \u0275prov=r({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var T=C(D());var ie=(()=>{class e extends z{router=a(u);loading_$=m(!0);currentRoute;isDarkModeOn_$=m(!0);get isDarkModeOn(){return this.isDarkModeOn_$()}_noServerConnection_BS=new R(!0);noServerConnection$=this._noServerConnection_BS.asObservable();_noServerConnection_$=m(!0);serverConnectionInprogress_$=m(!1);get noServerConnection_$(){return this._noServerConnection_$}constructor(){super(),this.createSubscriptions(),this.initDarkMode()}setNoServerConnection(t){this._noServerConnection_BS.next(t)}waitForServerConnection(){return A(this,null,function*(){this._noServerConnection_$()&&(yield T.DyFM_Async.takeUntil(this.noServerConnection$,t=>!t))})}createSubscriptions(){this.addSubscriptions([this._noServerConnection_BS.subscribe(t=>{this._noServerConnection_$.set(t)}),this.router.events.subscribe(t=>{t instanceof Z?this.setLoading(!0):t instanceof G&&(this.setLoading(!1),window.scroll({top:0,behavior:"smooth"}),this.currentRoute=t.url)})])}setLoading(t){return A(this,null,function*(){yield T.DyFM_Async.delay(1),this.loading_$.set(t)})}toggleDarkMode(){this.isDarkModeOn_$.set(!this.isDarkModeOn),this.setDarkMode()}setDarkMode(){let t=document.getElementsByTagName("html")[0];this.isDarkModeOn?t.classList.add("dark"):t.classList.remove("dark")}initDarkMode(){this.isDarkModeOn_$.set(!0),this.setDarkMode()}static \u0275fac=function(o){return new(o||e)};static \u0275prov=r({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();function _e(e,I){e&1&&M(0,"dynamo-loading-overlay",0),e&2&&F("message","connecting to server...")}function ge(e,I){e&1&&M(0,"dynamo-blocker",1),e&2&&F("message","Server not available!")("messageRotationDegree",-15)}function Ce(e,I){if(e&1&&w(0,_e,1,1,"dynamo-loading-overlay",0)(1,ge,1,2,"dynamo-blocker",1),e&2){let t=B();k(t.serverConnectionInprogress_$()?0:1)}}var ae=(()=>{class e{render_CS=a(ie);ls=a(re);title="fdp-agent-memory";get noServerConnection_$(){return this.render_CS.noServerConnection_$}get serverConnectionInprogress_$(){return this.render_CS.serverConnectionInprogress_$}constructor(){se.DyFM_global_settings.envOverrides={DyNM_STORAGE_ENCRYPTION_KEY:i.storageEncryptionKey},b.DyFM_uiGlobal_settings.fieldAppearance=b.DyFM_FieldAppearance.outline}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=p({type:e,selectors:[["a-root-root"]],decls:2,vars:1,consts:[[3,"message"],[3,"message","messageRotationDegree"]],template:function(o,n){o&1&&(M(0,"router-outlet"),w(1,Ce,2,1)),o&2&&(L(),k(n.noServerConnection_$()?1:-1))},dependencies:[K,x,E],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}"]})}return e})();var ve=[{path:"",redirectTo:"maintenance",pathMatch:"full"},{path:"maintenance",loadChildren:()=>import("./chunk-I77GXVAQ.js").then(e=>e.Maintenance_Module)},{path:"errors",component:q},{path:"error",component:J},{path:"not-found",component:Q},{path:"**",redirectTo:"not-found"}],me=(()=>{class e{static \u0275fac=function(o){return new(o||e)};static \u0275mod=y({type:e});static \u0275inj=v({imports:[$.forRoot(ve),$]})}return e})();var ce=(()=>{class e{static \u0275fac=function(o){return new(o||e)};static \u0275mod=y({type:e,bootstrap:[ae]});static \u0275inj=v({providers:[{provide:O,useClass:te,multi:!0},{provide:O,useClass:ee,multi:!0,deps:[u,c]},{provide:P,useClass:oe,deps:[c,h]}],imports:[X,U,me,Y,x,E,V]})}return e})();var _=new URL(window.location.href);i.baseUrl=_.origin;i.api.baseUrl=_.origin+"/api";i.socketAddress=`${_.origin.replace("https","wss").replace("http","ws")}/notifications`;_.hostname==="fdp-agent-memory.hu"||_.hostname==="fdp-agent-memory.com"?i.production=!0:_.hostname.includes("localhost")?console.log("environment",{environment:i}):console.log("environment",{environment:i});H().bootstrapModule(ce).catch(e=>{pe.DyFM_Log.H_error(`INIT ERROR
2
2
  `,e)});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/fdp-agent-memory",
3
- "version": "0.1.0",
3
+ "version": "1.1.14",
4
4
  "description": "Local-first, vector-backed multi-table agent memory exposed as an MCP server (read/write/capabilities). Public, FDP-Templates-free, no auth.",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -17,9 +17,9 @@
17
17
  },
18
18
  "files": [
19
19
  "build",
20
- "bin",
21
20
  "client-dist",
22
- "README.md"
21
+ "README.md",
22
+ "LICENSE"
23
23
  ],
24
24
  "engines": {
25
25
  "node": ">=20"
@@ -54,11 +54,12 @@
54
54
  "author": "FutDevPro",
55
55
  "license": "FDP",
56
56
  "dependencies": {
57
- "@futdevpro/fsm-dynamo": "^1.16",
58
- "@futdevpro/nts-dynamo": "^1.15",
57
+ "@futdevpro/fsm-dynamo": "^1.16.7",
58
+ "@futdevpro/nts-dynamo": "^1.15.72",
59
59
  "@modelcontextprotocol/sdk": "^1.12.0",
60
60
  "axios": "~1.8.1",
61
61
  "better-sqlite3": "^12.4.1",
62
+ "commander": "^12.1.0",
62
63
  "crypto-js": "~4.2.0",
63
64
  "dotenv": "^16.4.7",
64
65
  "express": "4.21.2",