@memberjunction/ai-agents 3.4.0 → 4.1.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.
Files changed (90) hide show
  1. package/README.md +232 -2584
  2. package/dist/AgentDataPreloader.d.ts +117 -1
  3. package/dist/AgentDataPreloader.d.ts.map +1 -1
  4. package/dist/AgentDataPreloader.js +156 -58
  5. package/dist/AgentDataPreloader.js.map +1 -1
  6. package/dist/AgentRunner.d.ts +212 -0
  7. package/dist/AgentRunner.d.ts.map +1 -1
  8. package/dist/AgentRunner.js +354 -103
  9. package/dist/AgentRunner.js.map +1 -1
  10. package/dist/PayloadChangeAnalyzer.d.ts +68 -0
  11. package/dist/PayloadChangeAnalyzer.d.ts.map +1 -1
  12. package/dist/PayloadChangeAnalyzer.js +68 -32
  13. package/dist/PayloadChangeAnalyzer.js.map +1 -1
  14. package/dist/PayloadFeedbackManager.d.ts +57 -1
  15. package/dist/PayloadFeedbackManager.d.ts.map +1 -1
  16. package/dist/PayloadFeedbackManager.js +66 -21
  17. package/dist/PayloadFeedbackManager.js.map +1 -1
  18. package/dist/PayloadManager.d.ts +286 -1
  19. package/dist/PayloadManager.d.ts.map +1 -1
  20. package/dist/PayloadManager.js +423 -50
  21. package/dist/PayloadManager.js.map +1 -1
  22. package/dist/__tests__/action-changes.test.d.ts +13 -0
  23. package/dist/__tests__/action-changes.test.d.ts.map +1 -1
  24. package/dist/__tests__/action-changes.test.js +57 -4
  25. package/dist/__tests__/action-changes.test.js.map +1 -1
  26. package/dist/__tests__/agent-memory-features.test.d.ts +52 -0
  27. package/dist/__tests__/agent-memory-features.test.d.ts.map +1 -1
  28. package/dist/__tests__/agent-memory-features.test.js +96 -13
  29. package/dist/__tests__/agent-memory-features.test.js.map +1 -1
  30. package/dist/__tests__/agent-type-prompt-params.test.d.ts +12 -0
  31. package/dist/__tests__/agent-type-prompt-params.test.d.ts.map +1 -1
  32. package/dist/__tests__/agent-type-prompt-params.test.js +112 -20
  33. package/dist/__tests__/agent-type-prompt-params.test.js.map +1 -1
  34. package/dist/__tests__/chat-handling-option.test.d.ts +26 -0
  35. package/dist/__tests__/chat-handling-option.test.d.ts.map +1 -1
  36. package/dist/__tests__/chat-handling-option.test.js +41 -2
  37. package/dist/__tests__/chat-handling-option.test.js.map +1 -1
  38. package/dist/agent-context-injector.d.ts +114 -0
  39. package/dist/agent-context-injector.d.ts.map +1 -1
  40. package/dist/agent-context-injector.js +138 -19
  41. package/dist/agent-context-injector.js.map +1 -1
  42. package/dist/agent-types/base-agent-type.d.ts +354 -0
  43. package/dist/agent-types/base-agent-type.d.ts.map +1 -1
  44. package/dist/agent-types/base-agent-type.js +288 -17
  45. package/dist/agent-types/base-agent-type.js.map +1 -1
  46. package/dist/agent-types/flow-agent-type.d.ts +328 -2
  47. package/dist/agent-types/flow-agent-type.d.ts.map +1 -1
  48. package/dist/agent-types/flow-agent-type.js +503 -63
  49. package/dist/agent-types/flow-agent-type.js.map +1 -1
  50. package/dist/agent-types/index.d.ts +14 -3
  51. package/dist/agent-types/index.d.ts.map +1 -1
  52. package/dist/agent-types/index.js +14 -23
  53. package/dist/agent-types/index.js.map +1 -1
  54. package/dist/agent-types/loop-agent-prompt-params.d.ts +190 -0
  55. package/dist/agent-types/loop-agent-prompt-params.d.ts.map +1 -1
  56. package/dist/agent-types/loop-agent-prompt-params.js +23 -6
  57. package/dist/agent-types/loop-agent-prompt-params.js.map +1 -1
  58. package/dist/agent-types/loop-agent-response-type.d.ts +62 -0
  59. package/dist/agent-types/loop-agent-response-type.d.ts.map +1 -1
  60. package/dist/agent-types/loop-agent-response-type.js +3 -2
  61. package/dist/agent-types/loop-agent-response-type.js.map +1 -1
  62. package/dist/agent-types/loop-agent-type.d.ts +139 -2
  63. package/dist/agent-types/loop-agent-type.d.ts.map +1 -1
  64. package/dist/agent-types/loop-agent-type.js +207 -35
  65. package/dist/agent-types/loop-agent-type.js.map +1 -1
  66. package/dist/base-agent.d.ts +1344 -1
  67. package/dist/base-agent.d.ts.map +1 -1
  68. package/dist/base-agent.js +2282 -211
  69. package/dist/base-agent.js.map +1 -1
  70. package/dist/index.d.ts +24 -14
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +25 -35
  73. package/dist/index.js.map +1 -1
  74. package/dist/memory-cleanup-agent.d.ts +53 -1
  75. package/dist/memory-cleanup-agent.d.ts.map +1 -1
  76. package/dist/memory-cleanup-agent.js +89 -21
  77. package/dist/memory-cleanup-agent.js.map +1 -1
  78. package/dist/memory-manager-agent.d.ts +61 -1
  79. package/dist/memory-manager-agent.d.ts.map +1 -1
  80. package/dist/memory-manager-agent.js +260 -116
  81. package/dist/memory-manager-agent.js.map +1 -1
  82. package/dist/types/payload-operations.d.ts +51 -0
  83. package/dist/types/payload-operations.d.ts.map +1 -1
  84. package/dist/types/payload-operations.js +54 -15
  85. package/dist/types/payload-operations.js.map +1 -1
  86. package/dist/utils/ConversationMessageResolver.d.ts +79 -1
  87. package/dist/utils/ConversationMessageResolver.d.ts.map +1 -1
  88. package/dist/utils/ConversationMessageResolver.js +99 -9
  89. package/dist/utils/ConversationMessageResolver.js.map +1 -1
  90. package/package.json +20 -19
@@ -1 +1 @@
1
- {"version":3,"file":"memory-manager-agent.js","sourceRoot":"","sources":["../src/memory-manager-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-manager-agent.js","sourceRoot":"","sources":["../src/memory-manager-agent.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAY,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AASlG,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAoF,MAAM,8BAA8B,CAAC;AAChJ,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD;;GAEG;AACH,MAAM,iBAAiB,GAAG;IACtB,cAAc,EAAE,IAAI,EAAW,8BAA8B;IAC7D,uBAAuB,EAAE,IAAI,EAAE,uCAAuC;IACtE,kBAAkB,EAAE,IAAI,EAAO,kCAAkC;IACjE,sBAAsB,EAAE,EAAE,EAAK,uCAAuC;IACtE,gBAAgB,EAAE,EAAE,EAAW,qEAAqE;IACpG,aAAa,EAAE,EAAE,CAAc,qDAAqD;CACvF,CAAC;AAsGF;;;;GAIG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,SAAS;IAA1C;;QACH,+CAA+C;QACvC,aAAQ,GAAY,KAAK,CAAC;QAClC,0CAA0C;QAClC,gBAAW,GAAkB,IAAI,CAAC;QAC1C,iDAAiD;QACzC,iBAAY,GAAW,CAAC,CAAC;QACjC,uCAAuC;QAC/B,iBAAY,GAAoB,IAAI,CAAC;IA4oCjD,CAAC;IA1oCG;;;OAGG;IACK,KAAK,CAAC,aAAa,CACvB,QAA8C,EAC9C,QAAgB,EAChB,SAAmC,EACnC,QAAiB;QAEjB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,eAAe,CAAuB,wBAAwB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAEzG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;YAE5B,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC7B,CAAC;YAED,IAAI,SAAS,EAAE,CAAC;gBACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACJ,QAAQ,CAAC,8CAA8C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBAC5F,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CACzB,IAAiC,EACjC,OAAgB,EAChB,UAAoC,EACpC,WAAoB,EACpB,YAAqB;QAErB,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YAEvB,IAAI,YAAY,EAAE,CAAC;gBACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACrC,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBACd,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YACnC,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACb,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrB,QAAQ,CAAC,gDAAgD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAClG,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;QACtE,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,WAAqB;QAC/D,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAmB;YAC9C,UAAU,EAAE,mBAAmB;YAC/B,WAAW,EAAE,YAAY,OAAO,0BAA0B;YAC1D,OAAO,EAAE,gBAAgB;YACzB,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,eAAe;SAC9B,EAAE,WAAW,CAAC,CAAC;QAEhB,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,wCAAwC;YACxC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9C,OAAO,SAAS,YAAY,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;QACvE,CAAC;QAED,sEAAsE;QACtE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,qBAAqB,CAAC,WAAqB;QACrD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC3C,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QAE3G,qCAAqC;QACrC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,SAAS,CAAC,gCAAgC,SAAS,CAAC,MAAM,sBAAsB,CAAC,CAAC;YAClF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,WAAW,oBAAoB,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtI,SAAS,CAAC,+CAA+C,UAAU,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YACpD,IAAI,IAAI,EAAE,CAAC;gBACP,SAAS,CAAC,mCAAmC,IAAI,CAAC,EAAE,iBAAiB,IAAI,CAAC,WAAW,oBAAoB,IAAI,CAAC,cAAc,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3J,CAAC;QACL,CAAC;QAED,yCAAyC;QACzC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,SAAS,CAAC,mEAAmE,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gCAAgC,CAC1C,KAAkB,EAClB,iBAA0C,EAC1C,WAAqB;QAErB,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,SAAS,CAAC,oEAAoE,CAAC,CAAC;YAChF,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEnE,6DAA6D;QAC7D,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC;YAC7B,SAAS,EAAE,kCAAkC;YAC7C,YAAY,EAAE,gBAAgB;YAC9B,UAAU,EAAE;gBACR,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,IAAI;gBACnC,QAAQ,EAAE,QAAQ;aACrB;YACD,OAAO,EAAE,IAAI,CAAC,sCAAsC;SACvD,EAAE,WAAW,CAAC,CAAC;QAEhB,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpE,SAAS,CAAC,0DAA0D,CAAC,CAAC;YACtE,OAAO,EAAE,CAAC;QACd,CAAC;QAED,+DAA+D;QAC/D,MAAM,aAAa,GAA8B,EAAE,CAAC;QAEpD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,OAAqC,EAAE,CAAC;YAC7D,+CAA+C;YAC/C,IAAI,QAAQ,GAAwB,EAAE,CAAC;YACvC,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAOhD,CAAC;oBACH,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAChC,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;wBAChC,MAAM,EAAE,CAAC,CAAC,MAAM;wBAChB,aAAa,EAAE,CAAC,CAAC,aAAa;qBACjC,CAAC,CAAC,CAAC;gBACR,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,QAAQ,CAAC,iEAAiE,GAAG,CAAC,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC;oBACpG,SAAS;gBACb,CAAC;YACL,CAAC;YAED,aAAa,CAAC,IAAI,CAAC;gBACf,cAAc,EAAE,GAAG,CAAC,cAAc;gBAClC,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,QAAQ,EAAE,QAAQ;gBAClB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,KAAK,CAAC;gBAC9C,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,KAAK,CAAC;gBAC9C,SAAS,EAAE,GAAG,CAAC,SAAS,KAAK,CAAC;aACjC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACnF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,SAAS,CAAC,0BAA0B,aAAa,CAAC,MAAM,uBAAuB,aAAa,8BAA8B,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,eAAe,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,cAAc,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACvT,CAAC;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,sBAAsB,CAAC,KAAkB,EAAE,WAAqB;QAC1E,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QAEzB,4DAA4D;QAC5D,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,6BAA6B,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAErF,MAAM,MAAM,GAAG;;;;;;;;;;;;sBAYD,WAAW;;;;;;;;SAQxB,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAE9B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAmB;YAC9C,UAAU,EAAE,mBAAmB;YAC/B,WAAW,EAAE,MAAM;YACnB,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE,EAAE,EAAE,0CAA0C;YACvD,UAAU,EAAE,eAAe;SAC9B,EAAE,WAAW,CAAC,CAAC;QAEhB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,6BAA6B,CACvC,aAAwC,EACxC,WAAqB;QAErB,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC9C,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;QAElE,iEAAiE;QACjE,MAAM,mBAAmB,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnD,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAY,+CAA+C;YAC9E,UAAU,EAAE,IAAI,CAAC,UAAU,EAAI,2CAA2C;YAC1E,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChC,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,aAAa,EAAE,GAAG,CAAC,aAAa;aACnC,CAAC,CAAC;SACN,CAAC,CAAC,CAAC;QAEJ,MAAM,UAAU,GAAG;YACf,mBAAmB;YACnB,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,IAAI;gBACf,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;aACzB,CAAC,CAAC;SACN,CAAC;QAEF,OAAO,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,qBAAqB,CAC/B,UAAmF,EACnF,aAAkC,EAClC,WAAqB;QAErB,MAAM,mBAAmB,GAAG,UAAU,CAAC,mBAAmB,CAAC;QAE3D,yBAAyB;QACzB,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC9C,CAAC,CAAC,IAAI,KAAK,gCAAgC,IAAI,CAAC,CAAC,QAAQ,KAAK,YAAY,CAC7E,CAAC;QAEF,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,QAAQ,CAAC,iDAAiD,CAAC,CAAC;YAC5D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,SAAS,CAAC,6DAA6D,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7K,CAAC;YACD,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,SAAS,CAAC,4CAA4C,MAAM,CAAC,IAAI,UAAU,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;YACzF,SAAS,CAAC,2BAA2B,mBAAmB,CAAC,MAAM,8BAA8B,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,qCAAqC,CAAC,CAAC;YACtM,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,WAAW,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBAC3C,SAAS,CAAC,uCAAuC,WAAW,CAAC,cAAc,MAAM,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAClL,CAAC;QACL,CAAC;QAED,gCAAgC;QAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,kCAAkC,EAAE;YACjF,iBAAiB,EAAE,mBAAmB,CAAC,MAAM;YAC7C,YAAY,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAChF,iBAAiB,EAAE,aAAa,CAAC,MAAM;SAC1C,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAEd,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACpC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC;QACzB,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;QAEjC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAA6B,MAAM,CAAC,CAAC;QAE9E,mCAAmC;QACnC,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE;YAC9C,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,YAAY,EAAE,MAAM,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5G,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC;QAE3D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,SAAS,CAAC,uDAAuD,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAClH,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACtB,SAAS,CAAC,qCAAqC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;YAC1E,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAChB,SAAS,CAAC,0CAA0C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzF,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,QAAQ,CAAC,0BAA0B,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YAC1D,OAAO,EAAE,CAAC;QACd,CAAC;QAED,sEAAsE;QACtE,IAAI,YAAwC,CAAC;QAC7C,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC;gBACD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,SAAS,CAAC,yDAAyD,YAAY,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChH,CAAC;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,QAAQ,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC;gBAC1D,OAAO,EAAE,CAAC;YACd,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QACjC,CAAC;QAED,iDAAiD;QACjD,IAAI,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;YACtC,SAAS,CAAC,gCAAgC,YAAY,CAAC,KAAK,CAAC,MAAM,6BAA6B,CAAC,CAAC;YAClG,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;gBACpC,SAAS,CAAC,8BAA8B,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,OAAO,kBAAkB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YAC7G,CAAC;QACL,CAAC;QAED,yDAAyD;QACzD,MAAM,cAAc,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzD,CAAC,CAAC,UAAU,IAAI,iBAAiB,CAAC,sBAAsB;YACxD,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,iBAAiB,CAAC,gBAAgB,CACtE,CAAC;QAEF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,SAAS,CAAC,mEAAmE,CAAC,CAAC;YACnF,CAAC;YACD,OAAO,EAAE,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,SAAS,CAAC,mBAAmB,cAAc,CAAC,MAAM,8CAA8C,iBAAiB,CAAC,sBAAsB,GAAG,CAAC,CAAC;YAC7I,wCAAwC;YACxC,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;gBAChC,SAAS,CAAC,oCAAoC,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,OAAO,kBAAkB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACnH,CAAC;QACL,CAAC;QAED,+DAA+D;QAC/D,MAAM,cAAc,GAAG,IAAI,GAAG,EAA2B,CAAC;QAC1D,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE1D,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,0BAA0B,IAAI,SAAS,CAAC;YAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,IAAI,SAAS,CAAC;YACtD,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAE3D,qDAAqD;YACrD,IAAI,cAAc,CAAC,MAAM,IAAI,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;gBAChE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,SAAS,CAAC,sCAAsC,iBAAiB,CAAC,kBAAkB,uBAAuB,CAAC,CAAC;gBACjH,CAAC;YACL,CAAC;iBAAM,IAAI,SAAS,IAAI,iBAAiB,CAAC,uBAAuB,EAAE,CAAC;gBAChE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,SAAS,CAAC,sCAAsC,iBAAiB,CAAC,uBAAuB,4BAA4B,CAAC,CAAC;gBAC3H,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBAC1C,uBAAuB,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YACvD,CAAC;QACL,CAAC;QAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACpE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,SAAS,CAAC,mBAAmB,gBAAgB,CAAC,MAAM,mCAAmC,CAAC,CAAC;QAC7F,CAAC;QAED,6CAA6C;QAC7C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,6BAA6B,EAAE;YAC9E,cAAc,EAAE,gBAAgB,CAAC,MAAM;YACvC,iBAAiB,EAAE,aAAa,CAAC,MAAM;SAC1C,CAAC,CAAC;QAEH,MAAM,aAAa,GAAoB,EAAE,CAAC;QAC1C,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAC5B,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAE3B,4BAA4B;QAC5B,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACpD,CAAC,CAAC,IAAI,KAAK,mCAAmC,IAAI,CAAC,CAAC,QAAQ,KAAK,YAAY,CAChF,CAAC;QAEF,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;YACvC,iCAAiC;YACjC,IAAI,aAAa,CAAC,MAAM,IAAI,iBAAiB,CAAC,cAAc,EAAE,CAAC;gBAC3D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,SAAS,CAAC,iDAAiD,iBAAiB,CAAC,cAAc,WAAW,CAAC,CAAC;gBAC5G,CAAC;gBACD,MAAM;YACV,CAAC;YAED,0EAA0E;YAC1E,MAAM,iBAAiB,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;YACjE,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACtC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,iBAAiB,CAC9D,CAAC;YACF,IAAI,UAAU,EAAE,CAAC;gBACb,mBAAmB,EAAE,CAAC;gBACtB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,SAAS,CAAC,8CAA8C,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;gBACtG,CAAC;gBACD,SAAS;YACb,CAAC;YAED,mFAAmF;YACnF,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAC9D,SAAS,CAAC,OAAO,EACjB,SAAS,CAAC,OAAO,EACjB,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,SAAS,EACnB,EAAE,EAAE,oCAAoC;YACxC,IAAI,CAAC,gDAAgD;aACxD,CAAC;YAEF,0EAA0E;YAC1E,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,YAAY,GAAG,IAAI,cAAc,EAAE,CAAC;gBAC1C,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC;gBACnC,YAAY,CAAC,IAAI,GAAG;oBAChB,aAAa,EAAE,SAAS;oBACxB,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;wBACjB,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;wBACpB,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO;wBACvB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM;wBACrB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS;wBAC3B,UAAU,EAAE,CAAC,CAAC,UAAU;qBAC3B,CAAC,CAAC;iBACN,CAAC;gBACF,YAAY,CAAC,WAAW,GAAG,WAAW,CAAC;gBAEvC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,aAAa,CAAyC,YAAY,CAAC,CAAC;gBACtG,kBAAkB,EAAE,CAAC;gBAErB,IAAI,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC/E,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,SAAS,CAAC,mCAAmC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC/E,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,mBAAmB,EAAE,CAAC;oBACtB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,SAAS,CAAC,4CAA4C,YAAY,CAAC,MAAM,EAAE,MAAM,IAAI,+BAA+B,EAAE,CAAC,CAAC;oBAC5H,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,kEAAkE;gBAClE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,SAAS,CAAC,4DAA4D,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;gBACpH,CAAC;YACL,CAAC;QACL,CAAC;QAED,2CAA2C;QAC3C,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE;YACpC,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,aAAa,EAAE,mBAAmB;YAClC,YAAY,EAAE,kBAAkB;SACnC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,SAAS,CAAC,yCAAyC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,oEAAoE;QACpE,4DAA4D;QAC5D,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAgE,CAAC;QACpG,KAAK,MAAM,MAAM,IAAI,mBAAmB,EAAE,CAAC;YACvC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE;gBAC3C,MAAM,EAAG,MAAqC,CAAC,MAAM,IAAI,IAAI;gBAC7D,UAAU,EAAG,MAAyC,CAAC,UAAU,IAAI,IAAI;aAC5E,CAAC,CAAC;QACP,CAAC;QAED,6CAA6C;QAC7C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBAC/D,IAAI,GAAG,EAAE,CAAC;oBACN,kDAAkD;oBAClD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;wBAC7B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;oBAC7B,CAAC;oBACD,4DAA4D;oBAC5D,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;wBAC3C,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,UAAU,CAAC;oBAC3C,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe,CACzB,mBAA+C,EAC/C,WAAqB;QAErB,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC;QACd,CAAC;QAED,8CAA8C;QAC9C,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC/C,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,cAAc;SACnC,CAAC,CAAC,CAAC;QAEJ,yBAAyB;QACzB,MAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACrD,CAAC,CAAC,IAAI,KAAK,mCAAmC,IAAI,CAAC,CAAC,QAAQ,KAAK,YAAY,CAChF,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,QAAQ,CAAC,oDAAoD,CAAC,CAAC;YAC/D,OAAO,EAAE,CAAC;QACd,CAAC;QAED,gCAAgC;QAChC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,qCAAqC,EAAE;YACpF,WAAW,EAAE,OAAO,CAAC,MAAM;SAC9B,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC;QAErB,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACpC,MAAM,aAAa,GAAG,IAAI,cAAc,EAAE,CAAC;QAC3C,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC;QACrC,aAAa,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC;QACjC,aAAa,CAAC,WAAW,GAAG,WAAW,CAAC;QAExC,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,aAAa,CAAmC,aAAa,CAAC,CAAC;QAElG,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAClD,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE;gBACrC,OAAO,EAAE,KAAK;aACjB,EAAE,aAAa,CAAC,SAAS,EAAE,EAAE,EAAE,aAAa,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC;YACzE,QAAQ,CAAC,6BAA6B,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;YACpE,OAAO,EAAE,CAAC;QACd,CAAC;QAED,sEAAsE;QACtE,IAAI,YAA8C,CAAC;QACnD,IAAI,OAAO,aAAa,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACD,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,QAAQ,CAAC,oDAAoD,EAAE,CAAC,CAAC,CAAC;gBAClE,OAAO,EAAE,CAAC;YACd,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC;QACxC,CAAC;QAED,MAAM,iBAAiB,GAAG,CAAC,YAAY,CAAC,QAAQ,IAAI,EAAE,CAAC;aAClD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,IAAI,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAE7D,2CAA2C;QAC3C,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE;YACpC,eAAe,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;YACnD,cAAc,EAAE,iBAAiB,CAAC,MAAM;SAC3C,EAAE,aAAa,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAEhC,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACd,CAAC;QAED,wDAAwD;QACxD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,gCAAgC,EAAE;YACjF,cAAc,EAAE,iBAAiB,CAAC,MAAM;SAC3C,CAAC,CAAC;QAEH,MAAM,gBAAgB,GAAuB,EAAE,CAAC;QAChD,IAAI,0BAA0B,GAAG,CAAC,CAAC;QACnC,IAAI,yBAAyB,GAAG,CAAC,CAAC;QAElC,8DAA8D;QAC9D,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;YACxC,uDAAuD;YACvD,MAAM,eAAe,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CACpE,SAAS,CAAC,YAAY,EACtB,SAAS,CAAC,OAAO,EACjB,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,SAAS,EACnB,CAAC,EAAE,gBAAgB;YACnB,GAAG,CAAC,2BAA2B;aAClC,CAAC;YAEF,uEAAuE;YACvE,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACpD,CAAC,CAAC,IAAI,KAAK,sCAAsC,IAAI,CAAC,CAAC,QAAQ,KAAK,YAAY,CACnF,CAAC;YAEF,IAAI,YAAY,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,MAAM,YAAY,GAAG,IAAI,cAAc,EAAE,CAAC;gBAC1C,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC;gBACnC,YAAY,CAAC,IAAI,GAAG;oBAChB,gBAAgB,EAAE,SAAS;oBAC3B,eAAe,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACvC,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY;wBAC7B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa;wBAC/B,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY;wBACpC,UAAU,EAAE,CAAC,CAAC,UAAU;qBAC3B,CAAC,CAAC;iBACN,CAAC;gBACF,YAAY,CAAC,WAAW,GAAG,WAAW,CAAC;gBAEvC,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,aAAa,CAAyC,YAAY,CAAC,CAAC;gBACtG,yBAAyB,EAAE,CAAC;gBAE5B,IAAI,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;oBAC/E,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACjC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,SAAS,CAAC,sCAAsC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAClF,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,0BAA0B,EAAE,CAAC;oBAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,SAAS,CAAC,+CAA+C,YAAY,CAAC,MAAM,EAAE,MAAM,IAAI,aAAa,EAAE,CAAC,CAAC;oBAC7G,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,oCAAoC;gBACpC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;QAED,2CAA2C;QAC3C,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE;YACpC,aAAa,EAAE,gBAAgB,CAAC,MAAM;YACtC,aAAa,EAAE,0BAA0B;YACzC,YAAY,EAAE,yBAAyB;SAC1C,CAAC,CAAC;QAEH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,GAAW;QAC3B,MAAM,SAAS,GAAG,iEAAiE,CAAC;QACpF,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB,CAAC,cAA+B,EAAE,WAAqB;QAClF,8BAA8B;QAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,qBAAqB,EAAE;YACtE,SAAS,EAAE,cAAc,CAAC,MAAM;SACnC,CAAC,CAAC;QAEH,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QAEzB,oDAAoD;QACpD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmC,CAAC;QAE5D,mDAAmD;QACnD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,QAAQ,CAAC,qEAAqE,CAAC,CAAC;YAChF,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE;gBACrC,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,cAAc,CAAC,MAAM;aAChC,EAAE,SAAS,EAAE,+BAA+B,CAAC,CAAC;YAC/C,OAAO,CAAC,CAAC;QACb,CAAC;QAED,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;YACrC,IAAI,CAAC;gBAED,6DAA6D;gBAC7D,IAAI,SAAS,GAA4B,IAAI,CAAC;gBAC9C,IAAI,SAAS,CAAC,gBAAgB,EAAE,CAAC;oBAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBAC5C,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,OAAO,CAAmB;4BACjD,UAAU,EAAE,mBAAmB;4BAC/B,WAAW,EAAE,OAAO,SAAS,CAAC,gBAAgB,GAAG;4BACjD,OAAO,EAAE,CAAC;4BACV,UAAU,EAAE,eAAe;yBAC9B,EAAE,WAAW,CAAC,CAAC;wBAChB,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC/H,CAAC;oBACD,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;gBACjE,CAAC;gBAED,yCAAyC;gBACzC,IAAI,SAAS,CAAC,mBAAmB,EAAE,CAAC;oBAChC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,eAAe,CAAoB,gBAAgB,EAAE,WAAW,CAAC,CAAC;oBAChG,IAAI,MAAM,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,CAAC;wBACzD,uBAAuB;wBACvB,YAAY,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC;wBACtC,YAAY,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;wBACnC,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC;wBAC5C,IAAI,MAAM,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;4BAC5B,MAAM,EAAE,CAAC;wBACb,CAAC;6BAAM,CAAC;4BACJ,MAAM,EAAE,CAAC;wBACb,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,MAAM,EAAE,CAAC;oBACb,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,kBAAkB;oBAClB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,eAAe,CAAoB,gBAAgB,EAAE,WAAW,CAAC,CAAC;oBACxF,sEAAsE;oBACtE,MAAM,WAAW,GAAG,CAAC,EAA6B,EAAW,EAAE;wBAC3D,IAAI,CAAC,EAAE;4BAAE,OAAO,KAAK,CAAC;wBACtB,OAAO,iEAAiE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACtF,CAAC,CAAC;oBAEF,qEAAqE;oBACrE,IAAI,OAAO,GAAkB,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;oBACxF,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE,OAAO,EAAE,CAAC;wBACjC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;oBAChC,CAAC;oBACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;oBACvB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAO,CAAC,CAAC,CAAC,IAAI,CAAC;oBACvE,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAU,CAAC,CAAC,CAAC,IAAI,CAAC;oBAChF,IAAI,CAAC,eAAe,GAAG,YAAY,CAAC,CAAE,mCAAmC;oBACzE,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAE,4DAA4D;oBACzF,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC;oBAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAC5B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,qCAAqC;oBAC7D,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,iBAAiB;oBACvC,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC,oBAAoB,IAAI,IAAI,CAAC;oBACnE,yEAAyE;oBACzE,IAAI,CAAC,0BAA0B,GAAG,WAAW,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,0BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC;oBACnI,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC,gBAAgB,IAAI,IAAI,CAAC;oBAE7D,8DAA8D;oBAC9D,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC;oBAErD,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;wBAC1B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;wBACjC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;wBACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAChC,CAAC;yBAAM,IAAI,UAAU,KAAK,cAAc,IAAI,SAAS,EAAE,oBAAoB,EAAE,CAAC;wBAC1E,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC,oBAAoB,CAAC;wBAC3D,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC,oBAAoB,CAAC;wBAC3D,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;oBAChC,CAAC;yBAAM,IAAI,SAAS,EAAE,CAAC;wBACnB,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC,oBAAoB,CAAC;wBAC3D,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC,oBAAoB,CAAC;wBAC3D,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;oBACrD,CAAC;oBAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;oBACrC,IAAI,UAAU,EAAE,CAAC;wBACb,OAAO,EAAE,CAAC;oBACd,CAAC;yBAAM,CAAC;wBACJ,MAAM,EAAE,CAAC;wBACT,QAAQ,CAAC,4DAA4D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;oBAC9G,CAAC;gBACL,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,EAAE,CAAC;gBACT,QAAQ,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;YAChE,CAAC;QACL,CAAC;QAED,kBAAkB;QAClB,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE;YACzE,OAAO;YACP,MAAM;YACN,MAAM;SACT,CAAC,CAAC;QAEH,OAAO,OAAO,GAAG,MAAM,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB,CAAC,iBAAqC,EAAE,WAAqB;QAC3F,iCAAiC;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,wBAAwB,EAAE;YACzE,YAAY,EAAE,iBAAiB,CAAC,MAAM;SACzC,CAAC,CAAC;QAEH,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;QAEzB,oDAAoD;QACpD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmC,CAAC;QAE5D,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;YACxC,IAAI,CAAC;gBACD,6DAA6D;gBAC7D,IAAI,SAAS,GAA4B,IAAI,CAAC;gBAC9C,IAAI,SAAS,CAAC,gBAAgB,EAAE,CAAC;oBAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;wBAC5C,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,OAAO,CAAmB;4BACjD,UAAU,EAAE,mBAAmB;4BAC/B,WAAW,EAAE,OAAO,SAAS,CAAC,gBAAgB,GAAG;4BACjD,OAAO,EAAE,CAAC;4BACV,UAAU,EAAE,eAAe;yBAC9B,EAAE,WAAW,CAAC,CAAC;wBAChB,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC/H,CAAC;oBACD,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;gBACjE,CAAC;gBAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,eAAe,CAAuB,uBAAuB,EAAE,WAAW,CAAC,CAAC;gBAErG,sEAAsE;gBACtE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;oBACtB,OAAO,EAAE,CAAC;oBACV,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,SAAS,CAAC,0EAA0E,CAAC,CAAC;oBAC1F,CAAC;oBACD,SAAS;gBACb,CAAC;gBACD,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;gBACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC;gBAC1C,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC;gBAChD,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;gBAC9B,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;gBAC9C,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,aAAa,CAAC;gBAChD,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC/B,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC;gBAC9C,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,wCAAwC;gBACnE,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,oBAAoB,IAAI,IAAI,CAAC;gBACtE,gCAAgC;gBAChC,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,0BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC3I,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,gBAAgB,IAAI,IAAI,CAAC;gBAEhE,6DAA6D;gBAC7D,IAAI,SAAS,IAAI,SAAS,CAAC,oBAAoB,EAAE,CAAC;oBAC9C,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,2BAA2B;oBAEjF,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;wBAC1B,uCAAuC;wBACvC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;wBACpC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;wBACpC,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;oBACnC,CAAC;yBAAM,IAAI,UAAU,KAAK,cAAc,EAAE,CAAC;wBACvC,uDAAuD;wBACvD,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,oBAAoB,CAAC;wBAC9D,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,oBAAoB,CAAC;wBAC9D,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACJ,4DAA4D;wBAC5D,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,oBAAoB,CAAC;wBAC9D,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,oBAAoB,CAAC;wBAC9D,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC;oBACxD,CAAC;gBACL,CAAC;gBAED,IAAI,MAAM,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;oBACvB,OAAO,EAAE,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACJ,MAAM,EAAE,CAAC;oBACT,QAAQ,CAAC,+DAA+D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBACpH,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,MAAM,EAAE,CAAC;gBACT,QAAQ,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;YACnE,CAAC;QACL,CAAC;QAED,kBAAkB;QAClB,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE;YAC3D,OAAO;YACP,OAAO;YACP,MAAM;SACT,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,oBAAoB,CAChC,MAA0B,EAC1B,MAA0B;QAE1B,IAAI,CAAC;YACD,+CAA+C;YAC/C,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;YAExC,8CAA8C;YAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,IAAI,CAAC;YAC7C,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC;YAE/C,SAAS,CAAC,yCAAyC,CAAC,CAAC;YAErD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,WAAY,CAAC,CAAC;YAEpF,iDAAiD;YACjD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAY,CAAC,CAAC;YAEhF,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;gBACxF,SAAS,CAAC,8BAA8B,YAAY,EAAE,CAAC,CAAC;gBACxD,SAAS,CAAC,yBAAyB,iBAAiB,CAAC,MAAM,uCAAuC,CAAC,CAAC;YACxG,CAAC;YAED,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAyB;oBACpC,SAAS,EAAE,IAAI;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,oEAAoE;iBAChF,CAAC;gBACF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YACvC,CAAC;YAED,sEAAsE;YACtE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,sCAAsC,EAAE;gBACvF,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,IAAI;gBACzC,UAAU,EAAE,iBAAiB,CAAC,MAAM;gBACpC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gCAAgC,CAAC,WAAW,EAAE,iBAAiB,EAAE,MAAM,CAAC,WAAY,CAAC,CAAC;YACvH,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACnF,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE;gBACpC,iBAAiB,EAAE,aAAa,CAAC,MAAM;gBACvC,aAAa;gBACb,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM;gBACpE,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM;gBACpE,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM;aAC9D,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,SAAS,CAAC,yBAAyB,aAAa,CAAC,MAAM,kCAAkC,CAAC,CAAC;YAC/F,CAAC;YAED,qCAAqC;YACrC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,4BAA4B,EAAE;gBAC7E,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,IAAI;aAC5C,CAAC,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,MAAM,CAAC,WAAY,CAAC,CAAC;YACtF,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE;gBACpC,QAAQ,EAAE,SAAS,CAAC,MAAM;aAC7B,CAAC,CAAC;YACH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,SAAS,CAAC,yBAAyB,SAAS,CAAC,MAAM,wBAAwB,CAAC,CAAC;YACjF,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,SAAS,CAAC,oCAAoC,CAAC,CAAC;gBACpD,CAAC;gBACD,MAAM,SAAS,GAAyB;oBACpC,SAAS,EAAE,IAAI;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,6DAA6D;iBACzE,CAAC;gBACF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YACvC,CAAC;YAED,yDAAyD;YACzD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,aAAa,EAAE,MAAM,CAAC,WAAY,CAAC,CAAC;YACpG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,SAAS,CAAC,6BAA6B,cAAc,CAAC,MAAM,kBAAkB,CAAC,CAAC;YACpF,CAAC;YAED,qEAAqE;YACrE,oEAAoE;YACpE,MAAM,mBAAmB,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CACrD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtB,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,MAAM,EAAE,UAAU;gBAClB,cAAc,EAAE,GAAG,CAAC,SAAS;aACQ,CAAA,CAAC,CAC7C,CAAC;YACF,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,MAAM,CAAC,WAAY,CAAC,CAAC;YAC/F,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,SAAS,CAAC,6BAA6B,iBAAiB,CAAC,MAAM,qBAAqB,CAAC,CAAC;YAC1F,CAAC;YAED,uEAAuE;YACvE,wEAAwE;YACxE,MAAM,8BAA8B,GAAG,IAAI,GAAG,EAAgE,CAAC;YAC/G,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBAC/B,8BAA8B,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE;oBACpD,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;oBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;iBACtC,CAAC,CAAC;YACP,CAAC;YAED,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;gBACtC,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC;oBAC/B,MAAM,GAAG,GAAG,8BAA8B,CAAC,GAAG,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;oBAC7E,IAAI,GAAG,EAAE,CAAC;wBACN,2BAA2B;wBAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;4BAChC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;4BAC5B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gCAChB,SAAS,CAAC,mEAAmE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;4BAC/F,CAAC;wBACL,CAAC;wBACD,+BAA+B;wBAC/B,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;4BAC9C,OAAO,CAAC,gBAAgB,GAAG,GAAG,CAAC,UAAU,CAAC;4BAC1C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gCAChB,SAAS,CAAC,uEAAuE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;4BACvG,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,sFAAsF;gBACtF,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;oBACxD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAChB,SAAS,CAAC,6CAA6C,OAAO,CAAC,OAAO,gBAAgB,CAAC,CAAC;oBAC5F,CAAC;oBACD,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC;gBACzB,CAAC;YACL,CAAC;YAED,iBAAiB;YACjB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,MAAM,CAAC,WAAY,CAAC,CAAC;YACvF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,CAAC,WAAY,CAAC,CAAC;YAEhG,SAAS,CAAC,2BAA2B,YAAY,cAAc,eAAe,WAAW,CAAC,CAAC;YAE3F,iEAAiE;YACjE,yFAAyF;YACzF,IAAI,YAAY,GAAG,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBAC1C,SAAS,CAAC,qDAAqD,CAAC,CAAC;gBACjE,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;gBACzD,SAAS,CAAC,wCAAwC,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,SAAS,GAAyB;gBACpC,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,aAAa,aAAa,CAAC,MAAM,mBAAmB,aAAa,kBAAkB,SAAS,CAAC,MAAM,wBAAwB,YAAY,cAAc,eAAe,YAAY;gBACzL,UAAU,EAAE;oBACR,YAAY;oBACZ,eAAe;oBACf,sBAAsB,EAAE,aAAa,CAAC,MAAM;oBAC5C,iBAAiB,EAAE,aAAa;oBAChC,kBAAkB,EAAE,SAAS,CAAC,MAAM;iBACvB;aACpB,CAAC;YAEF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAEvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,QAAQ,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,SAAS,GAAyB;gBACpC,SAAS,EAAE,IAAI;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAClE,CAAC;YACF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACvC,CAAC;IACL,CAAC;CACJ,CAAA;AAppCY,kBAAkB;IAD9B,aAAa,CAAC,SAAS,EAAE,oBAAoB,CAAC;GAClC,kBAAkB,CAopC9B"}
@@ -1,12 +1,63 @@
1
+ /**
2
+ * @fileoverview Types and utilities for operation-level payload access control
3
+ *
4
+ * Extends the path-based permission system to support fine-grained control
5
+ * over which operations (add, update, delete) are allowed on specific paths.
6
+ *
7
+ * @module @memberjunction/ai-agents
8
+ */
9
+ /**
10
+ * Allowed operations on payload paths
11
+ */
1
12
  export type PayloadOperation = 'add' | 'update' | 'delete';
13
+ /**
14
+ * All possible operations
15
+ */
2
16
  export declare const ALL_OPERATIONS: PayloadOperation[];
17
+ /**
18
+ * Parsed path with operation restrictions
19
+ */
3
20
  export interface ParsedPathWithOperations {
21
+ /** The path pattern (e.g., "customer.*", "analysis.results") */
4
22
  path: string;
23
+ /** Allowed operations on this path. Empty array means no operations allowed. */
5
24
  operations: PayloadOperation[];
25
+ /** Whether all operations are allowed (backward compatibility) */
6
26
  allOperations: boolean;
7
27
  }
28
+ /**
29
+ * Parses a path specification into path and allowed operations.
30
+ *
31
+ * Supports formats:
32
+ * - "customer.*" - All operations allowed (backward compatible)
33
+ * - "customer.*:add" - Only add operation allowed
34
+ * - "customer.*:add,update" - Add and update allowed
35
+ * - "customer.*:add,update,delete" - All operations explicitly allowed
36
+ *
37
+ * @param pathSpec The path specification string
38
+ * @returns Parsed path with operations
39
+ */
8
40
  export declare function parsePathWithOperations(pathSpec: string): ParsedPathWithOperations;
41
+ /**
42
+ * Parses multiple path specifications
43
+ *
44
+ * @param pathSpecs Array of path specification strings
45
+ * @returns Array of parsed paths with operations
46
+ */
9
47
  export declare function parsePathsWithOperations(pathSpecs: string[]): ParsedPathWithOperations[];
48
+ /**
49
+ * Checks if a specific operation is allowed for a path
50
+ *
51
+ * @param parsedPath The parsed path with operations
52
+ * @param operation The operation to check
53
+ * @returns True if the operation is allowed
54
+ */
10
55
  export declare function isOperationAllowed(parsedPath: ParsedPathWithOperations, operation: PayloadOperation): boolean;
56
+ /**
57
+ * Formats a parsed path back to string representation
58
+ *
59
+ * @param parsedPath The parsed path with operations
60
+ * @returns String representation
61
+ */
11
62
  export declare function formatPathWithOperations(parsedPath: ParsedPathWithOperations): string;
12
63
  //# sourceMappingURL=payload-operations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"payload-operations.d.ts","sourceRoot":"","sources":["../../src/types/payload-operations.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAK3D,eAAO,MAAM,cAAc,EAAE,gBAAgB,EAAgC,CAAC;AAK9E,MAAM,WAAW,wBAAwB;IAErC,IAAI,EAAE,MAAM,CAAC;IAEb,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAE/B,aAAa,EAAE,OAAO,CAAC;CAC1B;AAcD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,wBAAwB,CA6ClF;AAQD,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,wBAAwB,EAAE,CAMxF;AASD,wBAAgB,kBAAkB,CAC9B,UAAU,EAAE,wBAAwB,EACpC,SAAS,EAAE,gBAAgB,GAC5B,OAAO,CAET;AAQD,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,wBAAwB,GAAG,MAAM,CAUrF"}
1
+ {"version":3,"file":"payload-operations.d.ts","sourceRoot":"","sources":["../../src/types/payload-operations.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,gBAAgB,EAAgC,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,kEAAkE;IAClE,aAAa,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,wBAAwB,CA6ClF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,wBAAwB,EAAE,CAMxF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAC9B,UAAU,EAAE,wBAAwB,EACpC,SAAS,EAAE,gBAAgB,GAC5B,OAAO,CAET;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,wBAAwB,GAAG,MAAM,CAUrF"}
@@ -1,21 +1,43 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatPathWithOperations = exports.isOperationAllowed = exports.parsePathsWithOperations = exports.parsePathWithOperations = exports.ALL_OPERATIONS = void 0;
4
- exports.ALL_OPERATIONS = ['add', 'update', 'delete'];
5
- function parsePathWithOperations(pathSpec) {
1
+ /**
2
+ * @fileoverview Types and utilities for operation-level payload access control
3
+ *
4
+ * Extends the path-based permission system to support fine-grained control
5
+ * over which operations (add, update, delete) are allowed on specific paths.
6
+ *
7
+ * @module @memberjunction/ai-agents
8
+ */
9
+ /**
10
+ * All possible operations
11
+ */
12
+ export const ALL_OPERATIONS = ['add', 'update', 'delete'];
13
+ /**
14
+ * Parses a path specification into path and allowed operations.
15
+ *
16
+ * Supports formats:
17
+ * - "customer.*" - All operations allowed (backward compatible)
18
+ * - "customer.*:add" - Only add operation allowed
19
+ * - "customer.*:add,update" - Add and update allowed
20
+ * - "customer.*:add,update,delete" - All operations explicitly allowed
21
+ *
22
+ * @param pathSpec The path specification string
23
+ * @returns Parsed path with operations
24
+ */
25
+ export function parsePathWithOperations(pathSpec) {
6
26
  if (!pathSpec || typeof pathSpec !== 'string') {
7
27
  return { path: '', operations: [], allOperations: false };
8
28
  }
9
29
  const colonIndex = pathSpec.lastIndexOf(':');
30
+ // No colon or colon is part of the path (not followed by valid operations)
10
31
  if (colonIndex === -1) {
11
32
  return {
12
33
  path: pathSpec,
13
- operations: [...exports.ALL_OPERATIONS],
34
+ operations: [...ALL_OPERATIONS],
14
35
  allOperations: true
15
36
  };
16
37
  }
17
38
  const path = pathSpec.substring(0, colonIndex);
18
39
  const opsString = pathSpec.substring(colonIndex + 1);
40
+ // Parse operations
19
41
  const operations = [];
20
42
  if (opsString) {
21
43
  const opsList = opsString.split(',').map(op => op.trim().toLowerCase());
@@ -25,31 +47,49 @@ function parsePathWithOperations(pathSpec) {
25
47
  operations.push(op);
26
48
  }
27
49
  }
50
+ // Ignore invalid operations silently
28
51
  }
29
52
  }
53
+ // If no valid operations specified, treat as no operations allowed
30
54
  if (operations.length === 0) {
31
55
  return { path, operations: [], allOperations: false };
32
56
  }
33
57
  return {
34
58
  path,
35
59
  operations,
36
- allOperations: operations.length === exports.ALL_OPERATIONS.length &&
37
- exports.ALL_OPERATIONS.every(op => operations.includes(op))
60
+ allOperations: operations.length === ALL_OPERATIONS.length &&
61
+ ALL_OPERATIONS.every(op => operations.includes(op))
38
62
  };
39
63
  }
40
- exports.parsePathWithOperations = parsePathWithOperations;
41
- function parsePathsWithOperations(pathSpecs) {
64
+ /**
65
+ * Parses multiple path specifications
66
+ *
67
+ * @param pathSpecs Array of path specification strings
68
+ * @returns Array of parsed paths with operations
69
+ */
70
+ export function parsePathsWithOperations(pathSpecs) {
42
71
  if (!Array.isArray(pathSpecs)) {
43
72
  return [];
44
73
  }
45
74
  return pathSpecs.map(spec => parsePathWithOperations(spec));
46
75
  }
47
- exports.parsePathsWithOperations = parsePathsWithOperations;
48
- function isOperationAllowed(parsedPath, operation) {
76
+ /**
77
+ * Checks if a specific operation is allowed for a path
78
+ *
79
+ * @param parsedPath The parsed path with operations
80
+ * @param operation The operation to check
81
+ * @returns True if the operation is allowed
82
+ */
83
+ export function isOperationAllowed(parsedPath, operation) {
49
84
  return parsedPath.allOperations || parsedPath.operations.includes(operation);
50
85
  }
51
- exports.isOperationAllowed = isOperationAllowed;
52
- function formatPathWithOperations(parsedPath) {
86
+ /**
87
+ * Formats a parsed path back to string representation
88
+ *
89
+ * @param parsedPath The parsed path with operations
90
+ * @returns String representation
91
+ */
92
+ export function formatPathWithOperations(parsedPath) {
53
93
  if (parsedPath.allOperations) {
54
94
  return parsedPath.path;
55
95
  }
@@ -58,5 +98,4 @@ function formatPathWithOperations(parsedPath) {
58
98
  }
59
99
  return `${parsedPath.path}:${parsedPath.operations.join(',')}`;
60
100
  }
61
- exports.formatPathWithOperations = formatPathWithOperations;
62
101
  //# sourceMappingURL=payload-operations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payload-operations.js","sourceRoot":"","sources":["../../src/types/payload-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload-operations.js","sourceRoot":"","sources":["../../src/types/payload-operations.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,87 @@
1
+ /**
2
+ * @fileoverview Utility for resolving conversation message references in agent mappings.
3
+ *
4
+ * Provides flexible syntax for accessing conversation messages in action input mappings
5
+ * and sub-agent downstream mappings. Supports filtering by role, selecting by position,
6
+ * and extracting specific properties.
7
+ *
8
+ * @module @memberjunction/ai-agents
9
+ * @author MemberJunction.com
10
+ * @since 2.120.0
11
+ */
1
12
  import { ChatMessage } from '@memberjunction/ai';
13
+ /**
14
+ * Utility class for resolving conversation message references.
15
+ *
16
+ * Supports a flexible syntax for accessing conversation messages:
17
+ * - `conversation.all` - All messages
18
+ * - `conversation.user.last` - Last user message
19
+ * - `conversation.ai.first` - First assistant message
20
+ * - `conversation.all.last[3]` - Last 3 messages
21
+ * - `conversation.user.last[5]` - Last 5 user messages
22
+ * - `conversation.user.last.content` - Content of last user message
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * const messages = [
27
+ * { role: 'user', content: 'Hello' },
28
+ * { role: 'assistant', content: 'Hi there!' },
29
+ * { role: 'user', content: 'How are you?' }
30
+ * ];
31
+ *
32
+ * // Get last user message
33
+ * const last = ConversationMessageResolver.resolve('conversation.user.last', messages);
34
+ * // Returns: { role: 'user', content: 'How are you?' }
35
+ *
36
+ * // Get last 2 messages
37
+ * const lastTwo = ConversationMessageResolver.resolve('conversation.all.last[2]', messages);
38
+ * // Returns: [{ role: 'assistant', ... }, { role: 'user', ... }]
39
+ *
40
+ * // Get content of last user message
41
+ * const content = ConversationMessageResolver.resolve('conversation.user.last.content', messages);
42
+ * // Returns: 'How are you?'
43
+ * ```
44
+ */
2
45
  export declare class ConversationMessageResolver {
46
+ /**
47
+ * Resolves conversation message references.
48
+ *
49
+ * Syntax: `conversation.<role>.<position>[count].<property>`
50
+ *
51
+ * - `<role>`: all, user, assistant (or ai as alias), system
52
+ * - `<position>`: last, first
53
+ * - `[count]`: Optional number in brackets - returns that many messages
54
+ * - `<property>`: Optional property path to extract from message(s)
55
+ *
56
+ * @param conversationPath - The conversation reference path to resolve
57
+ * @param conversationMessages - Array of chat messages to resolve from
58
+ * @returns Resolved message(s) or property value(s), or undefined if invalid path
59
+ */
3
60
  static resolve(conversationPath: string, conversationMessages: ChatMessage[]): ChatMessage | ChatMessage[] | any | undefined;
61
+ /**
62
+ * Gets the role filter function for a given role specification.
63
+ *
64
+ * @param roleSpec - Role specification (all, user, assistant, ai, system)
65
+ * @returns Filter function or null for 'all'
66
+ * @private
67
+ */
4
68
  private static getRoleFilter;
69
+ /**
70
+ * Checks if a mapping value is a conversation reference.
71
+ *
72
+ * @param value - The value to check
73
+ * @returns True if the value is a conversation reference
74
+ */
5
75
  static isConversationReference(value: string): boolean;
76
+ /**
77
+ * Helper method to get a value from a nested object path.
78
+ * Supports both dot notation (obj.prop) and array indexing (arr[0]).
79
+ *
80
+ * @param obj - The object to extract value from
81
+ * @param path - The property path (e.g., "user.name" or "items[0].title")
82
+ * @returns The value at the path, or undefined if not found
83
+ * @private
84
+ */
6
85
  private static getValueFromPath;
7
86
  }
8
- export declare function LoadConversationMessageResolver(): void;
9
87
  //# sourceMappingURL=ConversationMessageResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConversationMessageResolver.d.ts","sourceRoot":"","sources":["../../src/utils/ConversationMessageResolver.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAkCjD,qBAAa,2BAA2B;WAetB,OAAO,CACjB,gBAAgB,EAAE,MAAM,EACxB,oBAAoB,EAAE,WAAW,EAAE,GACpC,WAAW,GAAG,WAAW,EAAE,GAAG,GAAG,GAAG,SAAS;IAgFhD,OAAO,CAAC,MAAM,CAAC,aAAa;WAsBd,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAc7D,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAwClC;AAKD,wBAAgB,+BAA+B,SAE9C"}
1
+ {"version":3,"file":"ConversationMessageResolver.d.ts","sourceRoot":"","sources":["../../src/utils/ConversationMessageResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,2BAA2B;IACpC;;;;;;;;;;;;;OAaG;WACW,OAAO,CACjB,gBAAgB,EAAE,MAAM,EACxB,oBAAoB,EAAE,WAAW,EAAE,GACpC,WAAW,GAAG,WAAW,EAAE,GAAG,GAAG,GAAG,SAAS;IAyEhD;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAgB5B;;;;;OAKG;WACW,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAK7D;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAwClC"}
@@ -1,33 +1,97 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LoadConversationMessageResolver = exports.ConversationMessageResolver = void 0;
4
- class ConversationMessageResolver {
1
+ /**
2
+ * @fileoverview Utility for resolving conversation message references in agent mappings.
3
+ *
4
+ * Provides flexible syntax for accessing conversation messages in action input mappings
5
+ * and sub-agent downstream mappings. Supports filtering by role, selecting by position,
6
+ * and extracting specific properties.
7
+ *
8
+ * @module @memberjunction/ai-agents
9
+ * @author MemberJunction.com
10
+ * @since 2.120.0
11
+ */
12
+ /**
13
+ * Utility class for resolving conversation message references.
14
+ *
15
+ * Supports a flexible syntax for accessing conversation messages:
16
+ * - `conversation.all` - All messages
17
+ * - `conversation.user.last` - Last user message
18
+ * - `conversation.ai.first` - First assistant message
19
+ * - `conversation.all.last[3]` - Last 3 messages
20
+ * - `conversation.user.last[5]` - Last 5 user messages
21
+ * - `conversation.user.last.content` - Content of last user message
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * const messages = [
26
+ * { role: 'user', content: 'Hello' },
27
+ * { role: 'assistant', content: 'Hi there!' },
28
+ * { role: 'user', content: 'How are you?' }
29
+ * ];
30
+ *
31
+ * // Get last user message
32
+ * const last = ConversationMessageResolver.resolve('conversation.user.last', messages);
33
+ * // Returns: { role: 'user', content: 'How are you?' }
34
+ *
35
+ * // Get last 2 messages
36
+ * const lastTwo = ConversationMessageResolver.resolve('conversation.all.last[2]', messages);
37
+ * // Returns: [{ role: 'assistant', ... }, { role: 'user', ... }]
38
+ *
39
+ * // Get content of last user message
40
+ * const content = ConversationMessageResolver.resolve('conversation.user.last.content', messages);
41
+ * // Returns: 'How are you?'
42
+ * ```
43
+ */
44
+ export class ConversationMessageResolver {
45
+ /**
46
+ * Resolves conversation message references.
47
+ *
48
+ * Syntax: `conversation.<role>.<position>[count].<property>`
49
+ *
50
+ * - `<role>`: all, user, assistant (or ai as alias), system
51
+ * - `<position>`: last, first
52
+ * - `[count]`: Optional number in brackets - returns that many messages
53
+ * - `<property>`: Optional property path to extract from message(s)
54
+ *
55
+ * @param conversationPath - The conversation reference path to resolve
56
+ * @param conversationMessages - Array of chat messages to resolve from
57
+ * @returns Resolved message(s) or property value(s), or undefined if invalid path
58
+ */
5
59
  static resolve(conversationPath, conversationMessages) {
60
+ // Parse: conversation.<role>.<position>[count].<property>
6
61
  const parts = conversationPath.split('.');
7
62
  if (parts[0]?.toLowerCase() !== 'conversation') {
8
63
  return undefined;
9
64
  }
65
+ // Extract role (all, user, assistant/ai, system)
10
66
  const roleSpec = parts[1]?.toLowerCase();
11
67
  if (!roleSpec) {
12
68
  return undefined;
13
69
  }
70
+ // If just "conversation.all", return all messages
14
71
  if (roleSpec === 'all' && parts.length === 2) {
15
72
  return conversationMessages;
16
73
  }
74
+ // Filter by role
17
75
  const roleFilter = this.getRoleFilter(roleSpec);
18
76
  const filteredMessages = roleFilter
19
77
  ? conversationMessages.filter(roleFilter)
20
78
  : conversationMessages;
79
+ // Extract position and count
21
80
  const positionSpec = parts[2];
22
81
  if (!positionSpec) {
82
+ // Just "conversation.user" - return all of that role
23
83
  return filteredMessages;
24
84
  }
85
+ // Parse position and optional count: "last[3]" or "first[2]"
25
86
  const match = positionSpec.match(/^(first|last)(?:\[(\d+)\])?$/i);
26
87
  if (!match) {
88
+ // Not a position spec, might be a property on the array
89
+ // e.g., "conversation.all.length"
27
90
  return this.getValueFromPath(filteredMessages, positionSpec);
28
91
  }
29
92
  const position = match[1].toLowerCase();
30
93
  const count = match[2] ? parseInt(match[2], 10) : 1;
94
+ // Get messages based on position
31
95
  let result;
32
96
  if (position === 'last') {
33
97
  const selected = filteredMessages.slice(-count);
@@ -40,21 +104,31 @@ class ConversationMessageResolver {
40
104
  if (result === undefined) {
41
105
  return undefined;
42
106
  }
107
+ // Check if there's a property path to extract
43
108
  if (parts.length > 3) {
44
109
  const propertyPath = parts.slice(3).join('.');
45
110
  if (Array.isArray(result)) {
111
+ // Map property over array
46
112
  return result.map(item => this.getValueFromPath(item, propertyPath));
47
113
  }
48
114
  else {
115
+ // Get property from single object
49
116
  return this.getValueFromPath(result, propertyPath);
50
117
  }
51
118
  }
52
119
  return result;
53
120
  }
121
+ /**
122
+ * Gets the role filter function for a given role specification.
123
+ *
124
+ * @param roleSpec - Role specification (all, user, assistant, ai, system)
125
+ * @returns Filter function or null for 'all'
126
+ * @private
127
+ */
54
128
  static getRoleFilter(roleSpec) {
55
129
  switch (roleSpec) {
56
130
  case 'all':
57
- return null;
131
+ return null; // No filtering
58
132
  case 'user':
59
133
  return (msg) => msg.role === 'user';
60
134
  case 'assistant':
@@ -66,22 +140,41 @@ class ConversationMessageResolver {
66
140
  return null;
67
141
  }
68
142
  }
143
+ /**
144
+ * Checks if a mapping value is a conversation reference.
145
+ *
146
+ * @param value - The value to check
147
+ * @returns True if the value is a conversation reference
148
+ */
69
149
  static isConversationReference(value) {
70
150
  return typeof value === 'string' &&
71
151
  value.trim().toLowerCase().startsWith('conversation.');
72
152
  }
153
+ /**
154
+ * Helper method to get a value from a nested object path.
155
+ * Supports both dot notation (obj.prop) and array indexing (arr[0]).
156
+ *
157
+ * @param obj - The object to extract value from
158
+ * @param path - The property path (e.g., "user.name" or "items[0].title")
159
+ * @returns The value at the path, or undefined if not found
160
+ * @private
161
+ */
73
162
  static getValueFromPath(obj, path) {
74
163
  const parts = path.split('.');
75
164
  let current = obj;
76
165
  for (const part of parts) {
77
166
  if (!part)
78
167
  continue;
168
+ // Check if this part contains array indexing like "arrayName[0]"
79
169
  const arrayMatch = part.match(/^([^[]+)\[(\d+)\]$/);
80
170
  if (arrayMatch) {
171
+ // Extract array name and index
81
172
  const arrayName = arrayMatch[1];
82
173
  const index = parseInt(arrayMatch[2], 10);
174
+ // Navigate to the array
83
175
  if (current && typeof current === 'object' && arrayName in current) {
84
176
  current = current[arrayName];
177
+ // Access the array element
85
178
  if (Array.isArray(current) && index >= 0 && index < current.length) {
86
179
  current = current[index];
87
180
  }
@@ -94,6 +187,7 @@ class ConversationMessageResolver {
94
187
  }
95
188
  }
96
189
  else {
190
+ // Regular property access
97
191
  if (current && typeof current === 'object' && part in current) {
98
192
  current = current[part];
99
193
  }
@@ -105,8 +199,4 @@ class ConversationMessageResolver {
105
199
  return current;
106
200
  }
107
201
  }
108
- exports.ConversationMessageResolver = ConversationMessageResolver;
109
- function LoadConversationMessageResolver() {
110
- }
111
- exports.LoadConversationMessageResolver = LoadConversationMessageResolver;
112
202
  //# sourceMappingURL=ConversationMessageResolver.js.map