node-llama-cpp 3.8.1 → 3.10.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 (119) hide show
  1. package/dist/bindings/AddonTypes.d.ts +4 -0
  2. package/dist/bindings/Llama.d.ts +2 -2
  3. package/dist/bindings/Llama.js.map +1 -1
  4. package/dist/bindings/getLlama.js +1 -0
  5. package/dist/bindings/getLlama.js.map +1 -1
  6. package/dist/chatWrappers/QwenChatWrapper.js +5 -3
  7. package/dist/chatWrappers/QwenChatWrapper.js.map +1 -1
  8. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js.map +1 -1
  9. package/dist/chatWrappers/generic/utils/extractFunctionCallSettingsFromJinjaTemplate.js +80 -5
  10. package/dist/chatWrappers/generic/utils/extractFunctionCallSettingsFromJinjaTemplate.js.map +1 -1
  11. package/dist/chatWrappers/generic/utils/extractSegmentSettingsFromTokenizerAndChatTemplate.js +27 -1
  12. package/dist/chatWrappers/generic/utils/extractSegmentSettingsFromTokenizerAndChatTemplate.js.map +1 -1
  13. package/dist/cli/commands/ChatCommand.d.ts +2 -0
  14. package/dist/cli/commands/ChatCommand.js +29 -7
  15. package/dist/cli/commands/ChatCommand.js.map +1 -1
  16. package/dist/cli/commands/CompleteCommand.d.ts +1 -0
  17. package/dist/cli/commands/CompleteCommand.js +13 -3
  18. package/dist/cli/commands/CompleteCommand.js.map +1 -1
  19. package/dist/cli/commands/DebugCommand.js +1 -0
  20. package/dist/cli/commands/DebugCommand.js.map +1 -1
  21. package/dist/cli/commands/InfillCommand.d.ts +1 -0
  22. package/dist/cli/commands/InfillCommand.js +13 -3
  23. package/dist/cli/commands/InfillCommand.js.map +1 -1
  24. package/dist/cli/commands/inspect/commands/InspectEstimateCommand.d.ts +1 -0
  25. package/dist/cli/commands/inspect/commands/InspectEstimateCommand.js +9 -2
  26. package/dist/cli/commands/inspect/commands/InspectEstimateCommand.js.map +1 -1
  27. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js +23 -3
  28. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js.map +1 -1
  29. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.d.ts +1 -0
  30. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js +19 -6
  31. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js.map +1 -1
  32. package/dist/cli/utils/interactivelyAskForModel.d.ts +2 -1
  33. package/dist/cli/utils/interactivelyAskForModel.js +7 -4
  34. package/dist/cli/utils/interactivelyAskForModel.js.map +1 -1
  35. package/dist/cli/utils/resolveCommandGgufPath.d.ts +2 -1
  36. package/dist/cli/utils/resolveCommandGgufPath.js +2 -1
  37. package/dist/cli/utils/resolveCommandGgufPath.js.map +1 -1
  38. package/dist/evaluator/LlamaChat/LlamaChat.d.ts +17 -0
  39. package/dist/evaluator/LlamaChat/LlamaChat.js +111 -33
  40. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
  41. package/dist/evaluator/LlamaChat/utils/FunctionCallParamsGrammar.js +1 -1
  42. package/dist/evaluator/LlamaChat/utils/FunctionCallParamsGrammar.js.map +1 -1
  43. package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +12 -1
  44. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +7 -3
  45. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
  46. package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.d.ts +2 -0
  47. package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js +7 -2
  48. package/dist/evaluator/LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js.map +1 -1
  49. package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.d.ts +5 -5
  50. package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js.map +1 -1
  51. package/dist/evaluator/LlamaContext/LlamaContext.d.ts +22 -4
  52. package/dist/evaluator/LlamaContext/LlamaContext.js +53 -10
  53. package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
  54. package/dist/evaluator/LlamaContext/types.d.ts +15 -0
  55. package/dist/evaluator/LlamaJsonSchemaGrammar.d.ts +3 -3
  56. package/dist/evaluator/LlamaJsonSchemaGrammar.js.map +1 -1
  57. package/dist/evaluator/LlamaModel/LlamaModel.d.ts +11 -0
  58. package/dist/evaluator/LlamaModel/LlamaModel.js +11 -2
  59. package/dist/evaluator/LlamaModel/LlamaModel.js.map +1 -1
  60. package/dist/gguf/insights/GgufInsights.d.ts +8 -1
  61. package/dist/gguf/insights/GgufInsights.js +118 -77
  62. package/dist/gguf/insights/GgufInsights.js.map +1 -1
  63. package/dist/gguf/insights/GgufInsightsConfigurationResolver.d.ts +8 -4
  64. package/dist/gguf/insights/GgufInsightsConfigurationResolver.js +12 -6
  65. package/dist/gguf/insights/GgufInsightsConfigurationResolver.js.map +1 -1
  66. package/dist/gguf/insights/utils/resolveContextContextSizeOption.d.ts +2 -1
  67. package/dist/gguf/insights/utils/resolveContextContextSizeOption.js +4 -1
  68. package/dist/gguf/insights/utils/resolveContextContextSizeOption.js.map +1 -1
  69. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.d.ts +2 -1
  70. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js +13 -7
  71. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js.map +1 -1
  72. package/dist/gguf/types/GgufMetadataTypes.d.ts +2 -1
  73. package/dist/gguf/types/GgufMetadataTypes.js +1 -1
  74. package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
  75. package/dist/gguf/types/GgufTensorInfoTypes.d.ts +11 -1
  76. package/dist/gguf/types/GgufTensorInfoTypes.js +10 -0
  77. package/dist/gguf/types/GgufTensorInfoTypes.js.map +1 -1
  78. package/dist/tsconfig.tsbuildinfo +1 -1
  79. package/dist/types.d.ts +2 -2
  80. package/dist/utils/gbnfJson/GbnfGrammarGenerator.d.ts +9 -1
  81. package/dist/utils/gbnfJson/GbnfGrammarGenerator.js +18 -0
  82. package/dist/utils/gbnfJson/GbnfGrammarGenerator.js.map +1 -1
  83. package/dist/utils/gbnfJson/GbnfTerminal.d.ts +2 -1
  84. package/dist/utils/gbnfJson/GbnfTerminal.js +17 -2
  85. package/dist/utils/gbnfJson/GbnfTerminal.js.map +1 -1
  86. package/dist/utils/gbnfJson/getGbnfGrammarForGbnfJsonSchema.js +1 -1
  87. package/dist/utils/gbnfJson/getGbnfGrammarForGbnfJsonSchema.js.map +1 -1
  88. package/dist/utils/gbnfJson/terminals/GbnfGrammar.d.ts +1 -1
  89. package/dist/utils/gbnfJson/terminals/GbnfGrammar.js +2 -2
  90. package/dist/utils/gbnfJson/terminals/GbnfGrammar.js.map +1 -1
  91. package/dist/utils/gbnfJson/terminals/GbnfNumberValue.d.ts +1 -1
  92. package/dist/utils/gbnfJson/terminals/GbnfNumberValue.js +2 -2
  93. package/dist/utils/gbnfJson/terminals/GbnfNumberValue.js.map +1 -1
  94. package/dist/utils/gbnfJson/terminals/GbnfOr.d.ts +1 -1
  95. package/dist/utils/gbnfJson/terminals/GbnfOr.js +2 -2
  96. package/dist/utils/gbnfJson/terminals/GbnfOr.js.map +1 -1
  97. package/dist/utils/gbnfJson/terminals/GbnfRef.d.ts +15 -0
  98. package/dist/utils/gbnfJson/terminals/GbnfRef.js +34 -0
  99. package/dist/utils/gbnfJson/terminals/GbnfRef.js.map +1 -0
  100. package/dist/utils/gbnfJson/types.d.ts +51 -29
  101. package/dist/utils/gbnfJson/types.js +3 -0
  102. package/dist/utils/gbnfJson/types.js.map +1 -1
  103. package/dist/utils/gbnfJson/utils/defsScope.d.ts +7 -0
  104. package/dist/utils/gbnfJson/utils/defsScope.js +17 -0
  105. package/dist/utils/gbnfJson/utils/defsScope.js.map +1 -0
  106. package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.d.ts +1 -1
  107. package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.js +48 -8
  108. package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.js.map +1 -1
  109. package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js +43 -14
  110. package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js.map +1 -1
  111. package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js +51 -8
  112. package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js.map +1 -1
  113. package/llama/addon/AddonContext.cpp +36 -3
  114. package/llama/addon/AddonContext.h +2 -0
  115. package/llama/addon/addon.cpp +14 -0
  116. package/llama/binariesGithubRelease.json +1 -1
  117. package/llama/gitRelease.bundle +0 -0
  118. package/llama/llama.cpp.info.json +1 -1
  119. package/package.json +15 -14
@@ -1 +1 @@
1
- {"version":3,"file":"interactivelyAskForModel.js","sourceRoot":"","sources":["../../../src/cli/utils/interactivelyAskForModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactivelyAskForModel.js","sourceRoot":"","sources":["../../../src/cli/utils/interactivelyAskForModel.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAC,sBAAsB,EAAC,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAC,qBAAqB,EAAC,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,YAAY,EAAC,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAC,qBAAqB,EAAC,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAC,KAAK,EAAC,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAC,UAAU,EAAE,aAAa,EAAC,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAC,qCAAqC,EAAC,MAAM,4CAA4C,CAAC;AACjG,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,qCAAqC,EAAC,MAAM,4CAA4C,CAAC;AACjG,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAC,4CAA4C,EAAC,MAAM,mDAAmD,CAAC;AAC/G,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AA8BrC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,EAC3C,KAAK,EACL,eAAe,EACf,gBAAgB,GAAG,IAAI,EACvB,cAAc,GAAG,IAAI,EACrB,cAAc,GAAG,KAAK,EACtB,YAAY,GAAG,KAAK,EACpB,OAAO,EASV;IACG,IAAI,qBAAqB,GAA2C,EAAE,CAAC;IACvE,MAAM,uBAAuB,GAAiD,EAAE,CAAC;IACjF,MAAM,2BAA2B,GAAG,IAAI,eAAe,EAAE,CAAC;IAC1D,IAAI,6BAA6B,GAA8C,SAAS,CAAC;IACzF,IAAI,SAAS,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;IAEtC,IAAI,gBAAgB,IAAI,eAAe,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACtF,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;aACpD,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC3B,OAAO,KAAK,CAAC;YAEjB,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAElD,OAAO,SAAS,IAAI,IAAI,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACP,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,CACzB,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC;aAClB,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,aAAa,CAAC,MAAM,GAAG,GAAG,CAC7F,CAAC;QAEF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YACxB,MAAM,eAAe,CAAC;gBAClB,WAAW,EAAE,gCAAgC;gBAC7C,QAAQ,EAAE,uCAAuC;gBACjD,WAAW,EAAE,6BAA6B;gBAC1C,mBAAmB,EAAE,IAAI;gBACzB,sBAAsB,EAAE,cAAc,EAAE;aAC3C,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE;gBACzB,qBAAqB,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;oBACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;oBAEtD,IAAI,YAAY,GAA6B,SAAS,CAAC;oBACvD,IAAI,CAAC;wBACD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE;4BAClD,UAAU,EAAE,YAAY;4BACxB,MAAM,EAAE,2BAA2B,CAAC,MAAM;yBAC7C,CAAC,CAAC;wBACH,YAAY,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;oBAChE,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACX,aAAa;oBACjB,CAAC;oBAED,SAAS,EAAE,CAAC;oBACZ,eAAe,CAAC,WAAW,CAAC,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;oBAEhF,MAAM,kBAAkB,GAAG,MAAM,YAAY,EAAE,qBAAqB,CAAC,oCAAoC,CAAC;wBACtG,cAAc,EAAE,cAAc,IAAI,YAAY,EAAE,uBAAuB;wBACvE,YAAY;wBACZ,OAAO;qBACV,CAAC,CAAC;oBAEH,OAAO;wBACH,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,QAAQ;wBACf,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;wBAChD,YAAY,EAAE,YAAY;wBAC1B,kBAAkB,EAAE,kBAAkB,EAAE,kBAAkB;wBAC1D,uBAAuB,EAAE,kBAAkB,EAAE,UAAU;wBACvD,wBAAwB,EAAE,kBAAkB,EAAE,cAAc,CAAC,WAAW;qBACrD,CAAC;gBAC5B,CAAC,CAAC,CACL,CAAC;gBAEF,qBAAqB,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACxD,IAAI,CAAC,CAAC,kBAAkB,IAAI,IAAI,IAAI,CAAC,CAAC,kBAAkB,IAAI,IAAI;wBAC5D,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;yBAChC,IAAI,CAAC,CAAC,kBAAkB,IAAI,IAAI;wBACjC,OAAO,CAAC,CAAC,CAAC;yBACT,IAAI,CAAC,CAAC,kBAAkB,IAAI,IAAI;wBACjC,OAAO,CAAC,CAAC;yBACR,IAAI,CAAC,CAAC,kBAAkB,KAAK,CAAC,CAAC,kBAAkB;wBAClD,CAAC,CAAC,uBAAuB,IAAI,IAAI,IAAI,CAAC,CAAC,uBAAuB,IAAI,IAAI;wBAEtE,OAAO,CAAC,CAAC,uBAAuB,GAAG,CAAC,CAAC,uBAAuB,CAAC;oBAEjE,OAAO,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,CAAC;gBACvD,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC;QACD,0EAA0E;QAC1E,MAAM,EAAC,iBAAiB,EAAC,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAEpE,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;YAC/C,MAAM,aAAa,GAAG,qCAAqC,CAAC,gBAAgB,CAAC,CAAC;YAE9E,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;gBACxB,uBAAuB,CAAC,IAAI,CAAC;oBACzB,IAAI,EAAE,kBAAkB;oBACxB,KAAK,EAAE,gBAAgB,CAAC,IAAI;oBAC5B,aAAa;oBACb,WAAW,EAAE,gBAAgB,CAAC,WAAW;iBAC5C,CAAC,CAAC;QACX,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,aAAa;IACjB,CAAC;IAED,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC,qBAAqB;IAChD,MAAM,OAAO,GAAkB;QAC3B;YACI,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,gBAAgB;gBAClB,CAAC,CAAC,mCAAmC;gBACrC,CAAC,CAAC,sBAAsB;YAC5B,GAAG,EAAE,SAAS;SACjB;QACD,GAAG,CACC,CAAC,qBAAqB,CAAC,MAAM,KAAK,CAAC,IAAI,eAAe,IAAI,IAAI,CAAC;YAC3D,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE;oBACI,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBAChD;gBACD;oBACI,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,eAAe,CAAC,GAAG,CAAC;iBAC3G;gBACD,GAAG,qBAAqB;aACH,CAChC;QACD,GAAG,CACC,uBAAuB,CAAC,MAAM,KAAK,CAAC;YAChC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE;oBACI,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBAChD;gBACD;oBACI,IAAI,EAAE,WAAW;oBACjB,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAC7C,cAAc;wBACV,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;wBAC3C,CAAC,CAAC,EAAE,CACX;iBACJ;gBACD,GAAG,uBAAuB;aACL,CAChC;KACJ,CAAC;IAEF,IAAI,CAAC;QACD,OAAO,IAAI,EAAE,CAAC;YACV,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACtF,MAAM,YAAY,GAAG,MAAM,qCAAqC,CAAC;gBAC7D,KAAK,CAAC,IAAI,EAAE,QAAQ;oBAChB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;oBAEnD,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,KAAK,CAAC;wBACvC,CAAC,CAAC,KAAK,CAAC,MAAM,CACV,GAAG;4BACH,QAAQ;4BACR,GAAG,CACN;wBACD,CAAC,CAAC,CACE,KAAK,CAAC,MAAM,CACR,GAAG;4BACH,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC;4BAC7D,GAAG,CACN;4BACD,GAAG;4BACH,KAAK,CAAC,MAAM,CACR,GAAG;gCACH,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG;gCACjC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG;gCACtF,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;gCAC/E,GAAG,CACN,GAAG,CACA,CAAC,cAAc;4BACX,CAAC,CAAC,EAAE;4BACJ,CAAC,CAAC,CACE,GAAG;gCACH,KAAK,CAAC,MAAM,CACR,GAAG;oCACH,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,GAAG,GAAG,SAAS;oCAClD,GAAG,CACN,CACJ,CACR,CACJ,CAAC;oBAEN,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBAEhG,YAAY,CAAC,6BAA6B,CAAC,CAAC;oBAC5C,6BAA6B,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;wBAClD,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;wBAChD,IAAI,SAAS,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;4BACjF,SAAS,GAAG,YAAY,CAAC;4BACzB,QAAQ,EAAE,CAAC;wBACf,CAAC;oBACL,CAAC,EAAE,uBAAuB,CAAC,CAAC;oBAE5B,OAAO;wBACH,KAAK;wBACL,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;wBACf,aAAa;qBAChB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACf,CAAC;gBACD,MAAM,CAAC,IAAI;oBACP,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI;wBAC5D,OAAO,SAAS,CAAC;oBAErB,MAAM,OAAO,GAAG,CAAC,CAAC;oBAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;oBACnE,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;oBAE3D,OAAO,KAAK;wBACR,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI;wBACjE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;6BAC5C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI;wBACtB,gBAAgB,CAAC,mCAAmC,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,QAAQ,CAAC;6BACjG,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;6BAC3C,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;gBACD,KAAK,EAAE,OAAO;gBACd,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ;oBAC9B,OAAO,mBAAmB,CACtB,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,2BAA2B,CAAC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,CAC5G,CAAC;gBACN,CAAC;gBACD,YAAY,CAAC,IAAI;oBACb,OAAO,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;gBACpG,CAAC;gBACD,aAAa,CAAC,IAAI;oBACd,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB;wBAChC,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC;oBAEpC,OAAO,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;gBAChE,CAAC;gBACD,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClE,iBAAiB,EAAE,CAAC;gBACpB,iBAAiB,EAAE,CAAC;gBACpB,mBAAmB,CAAC,IAAI;oBACpB,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;wBACnE,OAAO,EAAE,CAAC;yBACT,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBAClC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,YAAY,QAAQ;4BAC7C,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;4BACd,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;wBAEjB,OAAO,UAAU,CAAC,OAAO,GAAG,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC5E,CAAC;yBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;wBAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,YAAY,QAAQ;4BAC7C,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;4BACd,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;wBAEjB,OAAO,UAAU,CAAC,OAAO,GAAG,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAC5E,CAAC;oBAED,KAAM,IAAqB,CAAC;oBAC5B,OAAO,EAAE,CAAC;gBACd,CAAC;gBACD,WAAW,EAAE,IAAI;aACpB,CAAC,CAAC;YAEH,IAAI,YAAY,IAAI,IAAI,IAAI,YAAY,CAAC,IAAI,KAAK,WAAW;gBACzD,SAAS;iBACR,IAAI,YAAY,CAAC,IAAI,KAAK,YAAY;gBACvC,OAAO,YAAY,CAAC,IAAI,CAAC;iBACxB,IAAI,YAAY,CAAC,IAAI,KAAK,kBAAkB,IAAI,YAAY,CAAC,WAAW,IAAI,IAAI;gBACjF,OAAO,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC;iBACnC,IAAI,YAAY,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,IAAI,YAAY,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;oBACjC,iBAAiB,GAAG,CAAC,CAAC;oBACtB,MAAM,sBAAsB,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;oBAE5E,IAAI,sBAAsB,IAAI,IAAI;wBAC9B,SAAS;oBAEb,OAAO,sBAAsB,CAAC;gBAClC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;YAAS,CAAC;QACP,2BAA2B,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,gBAAyB;IACzD,OAAO,MAAM,qBAAqB,CAC9B,gBAAgB;QACZ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC;QAChD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,EACvC;QACI,WAAW,EAAE,KAAK;QAClB,KAAK,CAAC,QAAQ,CAAC,KAAK;YAChB,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACD,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,OAAO,aAAa,CAAC;gBACzB,CAAC;gBAED,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,CAAC;gBACD,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,IAAI;oBAC5B,OAAO,IAAI,CAAC;YACpB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,GAAG,YAAY,KAAK;oBACvB,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,IAAI,mBAAmB,CAAC;oBACvC,CAAC,CAAC,mBAAmB,CAAC;YAC9B,CAAC;YAED,IAAI,CAAC,gBAAgB;gBACjB,OAAO,uBAAuB,CAAC;YAEnC,IAAI,CAAC;gBACD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;oBAC1B,OAAO,IAAI,CAAC;gBAEhB,OAAO,qBAAqB,CAAC;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,cAAc,CAAC;YAC1B,CAAC;QACL,CAAC;QACD,mBAAmB,CAAC,IAAI;YACpB,IAAI,IAAI,IAAI,IAAI;gBACZ,OAAO,EAAE,CAAC;YAEd,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;gBAClB,OAAO,UAAU,CAAC,OAAO,GAAG,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACpE,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,UAAU,CAAC,OAAO,GAAG,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzE,CAAC;;gBACG,OAAO,UAAU,CAAC,OAAO,GAAG,sBAAsB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9E,CAAC;KACJ,CACJ,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CACxB,IAAiB,EAAE,OAAgB,EAAE,QAAoB,EAAE,WAAwB,EAAE,KAAY,EAAE,cAAuB,EAC1H,YAAqB,EAAE,OAAiB;IAExC,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;QAC7B,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,YAAY,QAAQ;YAC1C,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;YACd,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAEjB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YACzB,SAAS,IAAI,IAAI,GAAG,wBAAwB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;;YAExH,SAAS,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAErE,OAAO,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QAC1C,IAAI,SAAS,GAAG,IAAI,CAAC,KAAK,YAAY,QAAQ;YAC1C,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;YACd,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAEjB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,EAAE,CAAC;gBACxC,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;gBAC1C,KAAK,gCAAgC,CAAC;oBAClC,sBAAsB,EAAE,IAAI;oBAC5B,WAAW;oBACX,cAAc,EAAE,QAAQ;oBACxB,KAAK;oBACL,cAAc;oBACd,YAAY;oBACZ,OAAO;iBACV,CAAC,CAAC;YACP,CAAC;YAED,IAAI,IAAI,CAAC,wBAAwB,KAAK,SAAS;gBAC3C,SAAS,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;iBACxD,IAAI,IAAI,CAAC,wBAAwB,KAAK,MAAM;gBAC7C,SAAS,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;;gBAEhE,KAAM,IAAI,CAAC,wBAAyC,CAAC;QAC7D,CAAC;;YACG,SAAS,IAAI,IAAI,GAAG,wBAAwB,CACxC,IAAI,CAAC,WAAW,CAAC,YAAY,EAC7B,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,kBAAkB,EACtD,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,cAAc,CAAC,WAAW,CACjE,CAAC;QAEN,OAAO,oBAAoB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,IAAI,YAAY,QAAQ;YAChC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;YACb,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;IACpB,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,YAAY,QAAQ;YAC5C,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;YACb,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAEhB,OAAO,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,KAAM,IAAqB,CAAC;IAC5B,OAAO,EAAE,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY,EAAE,OAAgB;IACxD,IAAI,OAAO;QACP,OAAO,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhE,OAAO,KAAK,GAAG,IAAI,CAAC;AACxB,CAAC;AAED,SAAS,wBAAwB,CAC7B,YAA0B,EAAE,kBAAsC,EAAE,wBAA4C;IAEhH,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,IAAI,kBAAkB,IAAI,IAAI;QAC1B,IAAI,CAAC,IAAI,CACL,4CAA4C,CAAC,kBAAkB,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC;cAC1G,CACE,wBAAwB,IAAI,IAAI;gBAC5B,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,wBAAwB,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAC7H,CACJ,CAAC;IAEN,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAE5F,OAAO,IAAI;SACN,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;SAC7C,IAAI,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,mCAAmC,CACxC,gBAA2E,EAC3E,QAAgB,EAChB,SAAkB;IAElB,IAAI,gBAAgB,IAAI,IAAI;QACxB,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;IAEjE,MAAM,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC;IACnD,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,kBAAkB,CAAC;IAE/D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjF,OAAO,KAAK,GAAG;QACX,cAAc,CAAC;YACX,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,YAAY;YACtB,aAAa,EAAE,KAAK;YACpB,QAAQ;YACR,IAAI,EAAE,CAAC;oBACH,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC;iBACzC,EAAE;oBACC,IAAI,EAAE,YAAY,CAAC,gBAAgB,IAAI,IAAI;oBAC3C,KAAK,EAAE,oBAAoB;oBAC3B,KAAK,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,YAAY,CAAC,gBAAgB,IAAI,CAAC,CAAC;iBAC1E,CAAC;SACL,CAAC;QACF,cAAc,CAAC;YACX,KAAK,EAAE,iBAAiB;YACxB,QAAQ,EAAE,YAAY;YACtB,aAAa,EAAE,KAAK;YACpB,QAAQ;YACR,IAAI,EAAE,CAAC;oBACH,KAAK,EAAE,EAAE;oBACT,KAAK,EAAE,4CAA4C,CAAC,kBAAkB,CAAC,kBAAkB,GAAG,GAAG,CAAC,GAAG,gBAAgB;iBACtH,EAAE;oBACC,IAAI,EAAE,YAAY,CAAC,gBAAgB,IAAI,IAAI;oBAC3C,KAAK,EAAE,cAAc;oBACrB,KAAK,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,cAAc,CAAC,WAAW,CAAC;iBAC/E,EAAE;oBACC,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,GAAG,EAAE,CAAC,CACT,kBAAkB,CAAC,cAAc,CAAC,SAAS,GAAG,GAAG,GAAG,YAAY,CAAC,WAAW,GAAG,GAAG;wBAClF,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAChH;iBACJ,EAAE;oBACC,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,cAAc,CAAC;iBACzE,EAAE;oBACC,KAAK,EAAE,WAAW;oBAClB,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,aAAa,CAAC;iBACxE,CAAC;SACL,CAAC;KACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,gCAAgC,CAAC,EAC5C,sBAAsB,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EASpG;IACG,IAAI,CAAC;QACD,IAAI,SAAS,GAAuB,SAAS,CAAC;QAC9C,IAAI,oBAAoB,GAA0E,SAAS,CAAC;QAE5G,KAAK,MAAM,YAAY,IAAI,sBAAsB,CAAC,aAAa,EAAE,CAAC;YAC9D,IAAI,WAAW,CAAC,OAAO;gBACnB,OAAO;YAEX,IAAI,CAAC;gBACD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,YAAY,EAAE;oBACtD,UAAU,EAAE,SAAS;oBACrB,MAAM,EAAE,WAAW;iBACtB,CAAC,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBAElE,IAAI,WAAW,CAAC,OAAO;oBACnB,OAAO;gBAEX,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC,qBAAqB,CAAC,oCAAoC,CAAC;oBACrG,cAAc;oBACd,YAAY;oBACZ,OAAO;iBACV,CAAC,CAAC;gBAEH,IAAI,SAAS,IAAI,IAAI,IAAI,kBAAkB,CAAC,kBAAkB,GAAG,SAAS,EAAE,CAAC;oBACzE,SAAS,GAAG,kBAAkB,CAAC,kBAAkB,CAAC;oBAClD,oBAAoB,GAAG;wBACnB,GAAG,EAAE,YAAY;wBACjB,YAAY;wBACZ,kBAAkB;qBACrB,CAAC;oBAEF,IAAI,SAAS,KAAK,CAAC;wBACf,MAAM;gBACd,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,aAAa;YACjB,CAAC;QACL,CAAC;QAED,sBAAsB,CAAC,WAAW,GAAG,oBAAoB,CAAC;QAC1D,sBAAsB,CAAC,wBAAwB,GAAG,MAAM,CAAC;QACzD,cAAc,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,sBAAsB,CAAC,wBAAwB,GAAG,MAAM,CAAC;QACzD,cAAc,EAAE,CAAC;IACrB,CAAC;AACL,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { Llama } from "../../bindings/Llama.js";
2
- export declare function resolveCommandGgufPath(ggufPath: string | undefined, llama: Llama, fetchHeaders?: Record<string, string>, { targetDirectory, flashAttention, useMmap, consoleTitle }?: {
2
+ export declare function resolveCommandGgufPath(ggufPath: string | undefined, llama: Llama, fetchHeaders?: Record<string, string>, { targetDirectory, flashAttention, swaFullCache, useMmap, consoleTitle }?: {
3
3
  targetDirectory?: string;
4
4
  flashAttention?: boolean;
5
+ swaFullCache?: boolean;
5
6
  useMmap?: boolean;
6
7
  consoleTitle?: string;
7
8
  }): Promise<string>;
@@ -10,7 +10,7 @@ import { isModelUri } from "../../utils/parseModelUri.js";
10
10
  import { ConsoleInteraction, ConsoleInteractionKey } from "./ConsoleInteraction.js";
11
11
  import { getReadablePath } from "./getReadablePath.js";
12
12
  import { interactivelyAskForModel } from "./interactivelyAskForModel.js";
13
- export async function resolveCommandGgufPath(ggufPath, llama, fetchHeaders, { targetDirectory = cliModelsDirectory, flashAttention = false, useMmap, consoleTitle = "File" } = {}) {
13
+ export async function resolveCommandGgufPath(ggufPath, llama, fetchHeaders, { targetDirectory = cliModelsDirectory, flashAttention = false, swaFullCache = false, useMmap, consoleTitle = "File" } = {}) {
14
14
  if (ggufPath == null)
15
15
  ggufPath = await interactivelyAskForModel({
16
16
  llama,
@@ -18,6 +18,7 @@ export async function resolveCommandGgufPath(ggufPath, llama, fetchHeaders, { ta
18
18
  allowLocalModels: true,
19
19
  downloadIntent: true,
20
20
  flashAttention,
21
+ swaFullCache,
21
22
  useMmap
22
23
  });
23
24
  const resolvedModelDestination = resolveModelDestination(ggufPath);
@@ -1 +1 @@
1
- {"version":3,"file":"resolveCommandGgufPath.js","sourceRoot":"","sources":["../../../src/cli/utils/resolveCommandGgufPath.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolveCommandGgufPath.js","sourceRoot":"","sources":["../../../src/cli/utils/resolveCommandGgufPath.ts"],"names":[],"mappings":"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"}
@@ -236,6 +236,23 @@ export type LLamaChatGenerateResponseOptions<Functions extends ChatModelFunction
236
236
  * Only relevant when using function calling (via passing the `functions` option).
237
237
  */
238
238
  onFunctionCallParamsChunk?: (chunk: LlamaChatResponseFunctionCallParamsChunk) => void;
239
+ /**
240
+ * Set the maximum number of tokens the model is allowed to spend on various segmented responses.
241
+ */
242
+ budgets?: {
243
+ /**
244
+ * Whether to include the tokens already consumed by the current model response being completed in the budget.
245
+ *
246
+ * Defaults to `true`.
247
+ */
248
+ includeCurrentResponse?: boolean;
249
+ /**
250
+ * Budget for thought tokens.
251
+ *
252
+ * Defaults to `Infinity`.
253
+ */
254
+ thoughtTokens?: number;
255
+ };
239
256
  } & ({
240
257
  grammar?: LlamaGrammar;
241
258
  functions?: never;
@@ -14,6 +14,7 @@ import { resolveLastTokens } from "../../utils/resolveLastTokens.js";
14
14
  import { LlamaSampler } from "../LlamaContext/LlamaSampler.js";
15
15
  import { getChatWrapperSegmentDefinition } from "../../utils/getChatWrapperSegmentDefinition.js";
16
16
  import { jsonDumps } from "../../chatWrappers/utils/jsonDumps.js";
17
+ import { defaultMaxPreloadTokens } from "../LlamaChatSession/utils/LlamaChatSessionPromptCompletionEngine.js";
17
18
  import { eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy } from "./utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js";
18
19
  import { FunctionCallNameGrammar } from "./utils/FunctionCallNameGrammar.js";
19
20
  import { FunctionCallParamsGrammar } from "./utils/FunctionCallParamsGrammar.js";
@@ -79,13 +80,14 @@ export class LlamaChat {
79
80
  return this.sequence.model;
80
81
  }
81
82
  async generateResponse(history, options = {}) {
82
- const { onTextChunk, onToken, onResponseChunk, onFunctionCallParamsChunk, signal, stopOnAbortSignal = false, maxTokens, temperature, minP, topK, topP, seed, grammar, trimWhitespaceSuffix = defaultTrimWhitespaceSuffix, repeatPenalty = {}, tokenBias, evaluationPriority = defaultEvaluationPriority, functions, onFunctionCall, documentFunctionParams, maxParallelFunctionCalls, contextShift = defaultContextShiftOptions, customStopTriggers, lastEvaluationContextWindow: { history: lastEvaluationContextWindowHistory, minimumOverlapPercentageToPreventContextShift = 0.5 } = {} } = options;
83
+ const { onTextChunk, onToken, onResponseChunk, onFunctionCallParamsChunk, budgets, signal, stopOnAbortSignal = false, maxTokens, temperature, minP, topK, topP, seed, grammar, trimWhitespaceSuffix = defaultTrimWhitespaceSuffix, repeatPenalty = {}, tokenBias, evaluationPriority = defaultEvaluationPriority, functions, onFunctionCall, documentFunctionParams, maxParallelFunctionCalls, contextShift = defaultContextShiftOptions, customStopTriggers, lastEvaluationContextWindow: { history: lastEvaluationContextWindowHistory, minimumOverlapPercentageToPreventContextShift = 0.5 } = {} } = options;
83
84
  this.sequence.tokenPredictor?.updateInputTokens?.(this.model.tokenize(findLastUserMessageInChatHistory(history)?.text ?? ""));
84
85
  const generateResponseState = new GenerateResponseState(this, this._chatWrapper, history, {
85
86
  onTextChunk,
86
87
  onToken,
87
88
  onResponseChunk,
88
89
  onFunctionCallParamsChunk,
90
+ budgets,
89
91
  signal,
90
92
  stopOnAbortSignal,
91
93
  maxTokens,
@@ -120,6 +122,7 @@ export class LlamaChat {
120
122
  await generateResponseState.loadContextWindow(generateResponseState.getResolvedHistoryWithCurrentModelResponse(), generateResponseState.getContextWindowsHistoryWithCurrentModelResponse(), false, avoidReloadingHistory);
121
123
  };
122
124
  const loadContextWindowForFunctionCallingLoop = async () => loadContextWindow(true);
125
+ const loadContextWindowForBudgetTriggers = async () => loadContextWindow(false);
123
126
  while (true) {
124
127
  generateResponseState.startTokenLoop();
125
128
  generateResponseState.canAvoidReloadingHistory = false;
@@ -162,6 +165,13 @@ export class LlamaChat {
162
165
  const maxTokensTriggerRes = generateResponseState.handleMaxTokensTrigger("model");
163
166
  if (maxTokensTriggerRes != null)
164
167
  return maxTokensTriggerRes;
168
+ if (generateResponseState.updateShouldContextShift())
169
+ break;
170
+ if (await generateResponseState.handleBudgetTriggers()) {
171
+ await loadContextWindowForBudgetTriggers();
172
+ await generateResponseState.alignCurrentSequenceStateWithCurrentTokens();
173
+ await generateResponseState.createNewEvaluationIterator();
174
+ }
165
175
  if (generateResponseState.updateShouldContextShift())
166
176
  break;
167
177
  const abortRes = generateResponseState.handleAbortTrigger("model");
@@ -181,7 +191,7 @@ export class LlamaChat {
181
191
  });
182
192
  }
183
193
  async loadChatAndCompleteUserMessage(history, options = {}) {
184
- const { initialUserPrompt = "", stopOnAbortSignal = false, onTextChunk, onToken, signal, maxTokens = Math.min(256, Math.ceil(this.context.contextSize / 2)), temperature, minP, topK, topP, seed, grammar, trimWhitespaceSuffix = defaultTrimWhitespaceSuffix, repeatPenalty = {}, tokenBias, evaluationPriority = defaultEvaluationPriority, functions, documentFunctionParams, contextShift = defaultContextShiftOptions, customStopTriggers, lastEvaluationContextWindow: { history: lastEvaluationContextWindowHistory, minimumOverlapPercentageToPreventContextShift = 0.8 } = {} } = options;
194
+ const { initialUserPrompt = "", stopOnAbortSignal = false, onTextChunk, onToken, signal, maxTokens = defaultMaxPreloadTokens(this.sequence), temperature, minP, topK, topP, seed, grammar, trimWhitespaceSuffix = defaultTrimWhitespaceSuffix, repeatPenalty = {}, tokenBias, evaluationPriority = defaultEvaluationPriority, functions, documentFunctionParams, contextShift = defaultContextShiftOptions, customStopTriggers, lastEvaluationContextWindow: { history: lastEvaluationContextWindowHistory, minimumOverlapPercentageToPreventContextShift = 0.8 } = {} } = options;
185
195
  this.sequence.tokenPredictor?.updateInputTokens?.(this.model.tokenize((findLastModelMessageInChatHistory(history)?.response ?? [])
186
196
  .map((item) => {
187
197
  if (typeof item === "string")
@@ -230,6 +240,12 @@ export class LlamaChat {
230
240
  generateResponseState.addStopGenerationTriggersFromChatWrapper();
231
241
  if (userTextSuffix != null && userTextSuffix.values.length > 0)
232
242
  generateResponseState.stopGenerationDetector.addStopTrigger(StopGenerationDetector.resolveLlamaTextTrigger(userTextSuffix, this.model.tokenizer));
243
+ allSegmentTypes
244
+ .map((segmentType) => getChatWrapperSegmentDefinition(this._chatWrapper.settings, segmentType))
245
+ .filter((segmentDefinition) => segmentDefinition != null)
246
+ .flatMap((segmentDefinition) => [segmentDefinition?.prefix, segmentDefinition?.suffix])
247
+ .filter((trigger) => trigger != null)
248
+ .forEach((trigger) => (generateResponseState.stopGenerationDetector.addStopTrigger(StopGenerationDetector.resolveLlamaTextTrigger(LlamaText(trigger), this.model.tokenizer))));
233
249
  await generateResponseState.alignCurrentSequenceStateWithCurrentTokens();
234
250
  if (generateResponseState.maxTokens === 0) {
235
251
  await generateResponseState.evaluateWithoutGeneratingNewTokens();
@@ -250,7 +266,10 @@ export class LlamaChat {
250
266
  generateResponseState.waitOnPartialCharactersOrWhiteSpaceTokens();
251
267
  generateResponseState.recordStopGenerationEvaluation();
252
268
  generateResponseState.popStreamRegulatorFreeTokens();
253
- const stopGenerationTriggerRes = generateResponseState.handleStopGenerationTrigger("user");
269
+ const someOfCurrentTokensAreSpecial = generateResponseState.currentTokens.some((token) => (this.model.isSpecialToken(token)));
270
+ const stopGenerationTriggerRes = generateResponseState.handleStopGenerationTrigger("user", someOfCurrentTokensAreSpecial
271
+ ? "eogToken"
272
+ : undefined);
254
273
  if (stopGenerationTriggerRes != null)
255
274
  return {
256
275
  completion: stopGenerationTriggerRes.response,
@@ -502,24 +521,22 @@ function generateContextTextThatEndsWithUserText(chatWrapper, options) {
502
521
  ...options,
503
522
  chatHistory: setLastUserTextInChatHistory(options.chatHistory, lastUserText + randomId)
504
523
  });
505
- let newContextText = contextText;
506
- for (let i = 0; i < newContextText.values.length; i++) {
507
- const item = newContextText.values[i];
524
+ for (let i = 0; i < contextText.values.length; i++) {
525
+ const item = contextText.values[i];
508
526
  if (typeof item !== "string")
509
527
  continue;
510
528
  const randomTextIndex = item.indexOf(randomId);
511
529
  if (randomTextIndex < 0)
512
530
  continue;
513
531
  const newValue = item.slice(0, randomTextIndex);
514
- newContextText = LlamaText([
515
- ...newContextText.values.slice(0, i),
516
- newValue
517
- ]);
518
532
  return {
519
- contextText: newContextText,
533
+ contextText: LlamaText([
534
+ ...contextText.values.slice(0, i),
535
+ newValue
536
+ ]),
520
537
  userTextSuffix: LlamaText([
521
538
  item.slice(randomTextIndex + randomId.length),
522
- ...newContextText.values.slice(i + 1)
539
+ ...contextText.values.slice(i + 1)
523
540
  ]),
524
541
  ...rest
525
542
  };
@@ -666,6 +683,7 @@ class GenerateResponseState {
666
683
  onToken;
667
684
  onResponseChunk;
668
685
  onFunctionCallParamsChunk;
686
+ budgets;
669
687
  signal;
670
688
  stopOnAbortSignal;
671
689
  maxTokens;
@@ -739,7 +757,7 @@ class GenerateResponseState {
739
757
  currentTokens = [];
740
758
  currentText = "";
741
759
  currentQueuedTokenRelease;
742
- constructor(llamaChat, chatWrapper, history, { onTextChunk, onToken, onResponseChunk, onFunctionCallParamsChunk, signal, stopOnAbortSignal = false, maxTokens, temperature, minP, topK, topP, seed, grammar, trimWhitespaceSuffix = defaultTrimWhitespaceSuffix, repeatPenalty = {}, tokenBias, evaluationPriority = defaultEvaluationPriority, functions, onFunctionCall, documentFunctionParams, maxParallelFunctionCalls, contextShift = defaultContextShiftOptions, customStopTriggers, lastEvaluationContextWindow: { history: lastEvaluationContextWindowHistory, minimumOverlapPercentageToPreventContextShift = 0.5 } = {} } = {}) {
760
+ constructor(llamaChat, chatWrapper, history, { onTextChunk, onToken, onResponseChunk, onFunctionCallParamsChunk, budgets, signal, stopOnAbortSignal = false, maxTokens, temperature, minP, topK, topP, seed, grammar, trimWhitespaceSuffix = defaultTrimWhitespaceSuffix, repeatPenalty = {}, tokenBias, evaluationPriority = defaultEvaluationPriority, functions, onFunctionCall, documentFunctionParams, maxParallelFunctionCalls, contextShift = defaultContextShiftOptions, customStopTriggers, lastEvaluationContextWindow: { history: lastEvaluationContextWindowHistory, minimumOverlapPercentageToPreventContextShift = 0.5 } = {} } = {}) {
743
761
  this.llamaChat = llamaChat;
744
762
  this.chatWrapper = chatWrapper;
745
763
  this.history = history;
@@ -747,6 +765,7 @@ class GenerateResponseState {
747
765
  this.onToken = safeEventCallback(onToken);
748
766
  this.onResponseChunk = safeEventCallback(onResponseChunk);
749
767
  this.onFunctionCallParamsChunk = safeEventCallback(onFunctionCallParamsChunk);
768
+ this.budgets = budgets;
750
769
  this.signal = signal;
751
770
  this.stopOnAbortSignal = stopOnAbortSignal;
752
771
  this.maxTokens = maxTokens;
@@ -813,6 +832,7 @@ class GenerateResponseState {
813
832
  if (segmentDefinition != null)
814
833
  segmentDefinitions.set(segmentType, segmentDefinition);
815
834
  }
835
+ const lastModelMessageFullResponse = getLastModelMessageFullResponseFromChatHistory(this.resolvedHistory);
816
836
  this.segmentHandler = new SegmentHandler({
817
837
  model: this.llamaChat.model,
818
838
  onTextChunk: this.onTextChunk,
@@ -821,7 +841,10 @@ class GenerateResponseState {
821
841
  previousTokens: this.getLastTokens(),
822
842
  closeAllSegments: this.chatWrapper.settings.segments?.closeAllSegments,
823
843
  segmentDefinitions,
824
- initialSegmentStack: SegmentHandler.getStackFromModelResponse(getLastModelMessageFullResponseFromChatHistory(this.resolvedHistory))
844
+ initialSegmentStack: SegmentHandler.getStackFromModelResponse(lastModelMessageFullResponse),
845
+ initialTokenCounts: this.budgets?.includeCurrentResponse === false
846
+ ? new Map()
847
+ : SegmentHandler.getSegmentTokenCounts(lastModelMessageFullResponse, this.llamaChat.model.tokenizer)
825
848
  });
826
849
  this.getPenaltyTokens = this.getPenaltyTokens.bind(this);
827
850
  }
@@ -1141,10 +1164,13 @@ class GenerateResponseState {
1141
1164
  if (this.disengageInitiallyEngagedFunctionMode.hasTriggeredStops ||
1142
1165
  !this.disengageInitiallyEngagedFunctionMode.hasInProgressStops)
1143
1166
  break;
1167
+ const stopRes = this.handleAbortTrigger("model") ?? this.handleMaxTokensTrigger("model");
1168
+ if (stopRes != null)
1169
+ return stopRes;
1144
1170
  }
1145
- const abortRes = this.handleAbortTrigger("model");
1146
- if (abortRes != null)
1147
- return abortRes;
1171
+ const stopRes = this.handleAbortTrigger("model") ?? this.handleMaxTokensTrigger("model");
1172
+ if (stopRes != null)
1173
+ return stopRes;
1148
1174
  if (this.disengageInitiallyEngagedFunctionMode.hasTriggeredStops) {
1149
1175
  const lastTokensForDetokenizer = this.streamRegulator.getLastQueuedChunkTokens();
1150
1176
  for (const token of this.currentFunctionCallCurrentPartTokens) {
@@ -1216,10 +1242,13 @@ class GenerateResponseState {
1216
1242
  });
1217
1243
  if (functionNameGenerationDoneDetector.hasTriggeredStops)
1218
1244
  break;
1245
+ const stopRes = this.handleAbortTrigger("model") ?? this.handleMaxTokensTrigger("model");
1246
+ if (stopRes != null)
1247
+ return stopRes;
1219
1248
  }
1220
- const abortRes = this.handleAbortTrigger("model");
1221
- if (abortRes != null)
1222
- return abortRes;
1249
+ const stopRes = this.handleAbortTrigger("model") ?? this.handleMaxTokensTrigger("model");
1250
+ if (stopRes != null)
1251
+ return stopRes;
1223
1252
  const functionCallNameText = this.llamaChat.model.detokenize(this.currentFunctionCallCurrentPartTokens);
1224
1253
  const functionName = functionNameGrammar.parseFunctionName(functionCallNameText);
1225
1254
  this.functionEvaluationFunctionName = functionName;
@@ -1282,10 +1311,13 @@ class GenerateResponseState {
1282
1311
  pushAll(this.currentFunctionCallCurrentPartTokens, tokens);
1283
1312
  if (functionParamsGenerationDoneDetector.hasTriggeredStops)
1284
1313
  break;
1314
+ const stopRes = this.handleAbortTrigger("model") ?? this.handleMaxTokensTrigger("model");
1315
+ if (stopRes != null)
1316
+ return stopRes;
1285
1317
  }
1286
- const abortRes = this.handleAbortTrigger("model");
1287
- if (abortRes != null)
1288
- return abortRes;
1318
+ const stopRes = this.handleAbortTrigger("model") ?? this.handleMaxTokensTrigger("model");
1319
+ if (stopRes != null)
1320
+ return stopRes;
1289
1321
  const functionCallParamsText = this.llamaChat.model.detokenize(this.currentFunctionCallCurrentPartTokens, false, lastPartTokens);
1290
1322
  const parsedFunctionParams = functionParamsGrammar.parseParams(functionCallParamsText);
1291
1323
  params = parsedFunctionParams.params;
@@ -1344,10 +1376,13 @@ class GenerateResponseState {
1344
1376
  isFirstToken = false;
1345
1377
  if (sectionSuffixDetector.hasTriggeredStops || !sectionSuffixDetector.hasInProgressStops)
1346
1378
  break;
1379
+ const stopRes = this.handleAbortTrigger("model") ?? this.handleMaxTokensTrigger("model");
1380
+ if (stopRes != null)
1381
+ return stopRes;
1347
1382
  }
1348
- const abortRes = this.handleAbortTrigger("model");
1349
- if (abortRes != null)
1350
- return abortRes;
1383
+ const stopRes = this.handleAbortTrigger("model") ?? this.handleMaxTokensTrigger("model");
1384
+ if (stopRes != null)
1385
+ return stopRes;
1351
1386
  if (sectionSuffixDetector.hasTriggeredStops) {
1352
1387
  this.functionEvaluationMode = false;
1353
1388
  return this.returnFunctionCallResults();
@@ -1573,9 +1608,9 @@ class GenerateResponseState {
1573
1608
  popStreamRegulatorFreeTokens() {
1574
1609
  pushAll(this.pendingTokens, this.streamRegulator.popFreeChunkTokens());
1575
1610
  }
1576
- handleStopGenerationTrigger(lastHistoryItemType) {
1611
+ handleStopGenerationTrigger(lastHistoryItemType, forceStopReason) {
1577
1612
  if (this.stopGenerationDetector.hasTriggeredStops || this.customStopGenerationTriggersDetector.hasTriggeredStops ||
1578
- this.llamaChat.model.isEogToken(this.currentToken)) {
1613
+ this.llamaChat.model.isEogToken(this.currentToken) || forceStopReason != null) {
1579
1614
  this.stopGenerationDetector.clearInProgressStops();
1580
1615
  this.customStopGenerationTriggersDetector.clearInProgressStops();
1581
1616
  pushAll(this.pendingTokens, this.streamRegulator.popFreeChunkTokens());
@@ -1599,7 +1634,7 @@ class GenerateResponseState {
1599
1634
  cleanHistory: mergeGeneratedResultWithChatHistory(lastHistoryItemType, this.resolvedHistory, responseSegments),
1600
1635
  contextShiftMetadata: this.lastHistoryCompressionMetadata
1601
1636
  };
1602
- const isEogToken = this.llamaChat.model.isEogToken(this.currentToken);
1637
+ const isEogToken = this.llamaChat.model.isEogToken(this.currentToken) || forceStopReason === "eogToken";
1603
1638
  if (isEogToken || this.stopGenerationDetector.hasTriggeredStops) {
1604
1639
  return {
1605
1640
  response,
@@ -1672,6 +1707,21 @@ class GenerateResponseState {
1672
1707
  }
1673
1708
  return undefined;
1674
1709
  }
1710
+ async handleBudgetTriggers() {
1711
+ let shouldReloadEvaluationState = false;
1712
+ const hasBudget = (budget) => budget != null && budget !== Infinity;
1713
+ const hasBudgetTriggers = this.budgets != null && hasBudget(this.budgets.thoughtTokens);
1714
+ if (!hasBudgetTriggers)
1715
+ return shouldReloadEvaluationState;
1716
+ if (hasBudget(this.budgets.thoughtTokens) && this.segmentHandler.isSegmentTypeOpen("thought")) {
1717
+ const usedThoughtTokens = this.segmentHandler.getSegmentTokensCount("thought");
1718
+ if (usedThoughtTokens >= this.budgets.thoughtTokens) {
1719
+ this.segmentHandler.closeSegment("thought");
1720
+ shouldReloadEvaluationState = true;
1721
+ }
1722
+ }
1723
+ return shouldReloadEvaluationState;
1724
+ }
1675
1725
  updateShouldContextShift() {
1676
1726
  this.shouldContextShift = this.llamaChat.sequence.nextTokenIndex >= this.llamaChat.context.contextSize - 1;
1677
1727
  return this.shouldContextShift;
@@ -1733,13 +1783,14 @@ class SegmentHandler {
1733
1783
  _ownedSegmentsStackLength = 0;
1734
1784
  _segments = [];
1735
1785
  _segmentsStartTokenTrail = [];
1786
+ _segmentTokenCounts;
1736
1787
  _contextWindowSegments = [];
1737
1788
  _contextWindowStartTokenTrail = [];
1738
1789
  _initialTokensTrail;
1739
1790
  _tokensTrail;
1740
1791
  _streamRegulator = new TokenStreamRegulator();
1741
1792
  _segmentDefinitions;
1742
- constructor({ model, onTextChunk, onToken, onResponseChunk, segmentDefinitions, closeAllSegments, initialSegmentStack, previousTokens }) {
1793
+ constructor({ model, onTextChunk, onToken, onResponseChunk, segmentDefinitions, closeAllSegments, initialSegmentStack, initialTokenCounts, previousTokens }) {
1743
1794
  this.model = model;
1744
1795
  this.onTextChunk = onTextChunk;
1745
1796
  this.onToken = onToken;
@@ -1756,6 +1807,7 @@ class SegmentHandler {
1756
1807
  this._segmentsStackSet = new Set(initialSegmentStack);
1757
1808
  this._ownedSegmentsStackLength = initialSegmentStack.length;
1758
1809
  this._segmentDefinitions = segmentDefinitions;
1810
+ this._segmentTokenCounts = new Map(initialTokenCounts);
1759
1811
  for (const [segment, { prefix, suffix }] of segmentDefinitions.entries()) {
1760
1812
  this._segmentDetectors.set(segment, {
1761
1813
  prefix: new StopGenerationDetector()
@@ -1804,6 +1856,17 @@ class SegmentHandler {
1804
1856
  segmentStartTime: new Date(now)
1805
1857
  });
1806
1858
  }
1859
+ closeSegment(type) {
1860
+ if (!this.isSegmentTypeOpen(type))
1861
+ return;
1862
+ this._closeSegment(type);
1863
+ }
1864
+ getSegmentTokensCount(type) {
1865
+ return this._segmentTokenCounts.get(type) ?? 0;
1866
+ }
1867
+ isSegmentTypeOpen(type) {
1868
+ return this._segmentsStackSet.has(type);
1869
+ }
1807
1870
  _processTokens(tokens, text) {
1808
1871
  const queuedTokenRelease = this._streamRegulator.addChunk({
1809
1872
  tokens,
@@ -1935,9 +1998,6 @@ class SegmentHandler {
1935
1998
  segmentEndTime: new Date(now)
1936
1999
  });
1937
2000
  }
1938
- this._segmentsStackSet.delete(this._segmentsStack.pop());
1939
- if (this._segmentsStack.length < this._ownedSegmentsStackLength)
1940
- this._ownedSegmentsStackLength = this._segmentsStack.length;
1941
2001
  const lastContextWindowSegment = this._contextWindowSegments.at(-1);
1942
2002
  if (lastContextWindowSegment != null && !(lastContextWindowSegment instanceof Array) &&
1943
2003
  lastContextWindowSegment.type === type && this._segmentsStack.at(-1) === type) {
@@ -1948,6 +2008,9 @@ class SegmentHandler {
1948
2008
  }
1949
2009
  else
1950
2010
  this._contextWindowSegments.push({ type, tokens: [], ended: true, start: false, endTime: now });
2011
+ this._segmentsStackSet.delete(this._segmentsStack.pop());
2012
+ if (this._segmentsStack.length < this._ownedSegmentsStackLength)
2013
+ this._ownedSegmentsStackLength = this._segmentsStack.length;
1951
2014
  return;
1952
2015
  }
1953
2016
  const typeIndex = this._segmentsStack.lastIndexOf(type);
@@ -1990,6 +2053,7 @@ class SegmentHandler {
1990
2053
  const lastSegment = this._segments.at(-1);
1991
2054
  const lastContextWindowSegment = this._contextWindowSegments.at(-1);
1992
2055
  const type = this._segmentsStack.at(-1);
2056
+ this._segmentTokenCounts.set(type, (this._segmentTokenCounts.get(type) ?? 0) + tokens.length);
1993
2057
  if (type == null) {
1994
2058
  if (lastSegment == null) {
1995
2059
  const text = (this.onResponseChunk != null || this.onTextChunk != null)
@@ -2181,5 +2245,19 @@ class SegmentHandler {
2181
2245
  }
2182
2246
  return stack;
2183
2247
  }
2248
+ static getSegmentTokenCounts(modelResponse, tokenizer) {
2249
+ const segmentTokenCounts = new Map();
2250
+ for (const item of modelResponse) {
2251
+ if (typeof item === "string") {
2252
+ segmentTokenCounts.set(undefined, (segmentTokenCounts.get(undefined) ?? 0) + tokenizer(item, false, "trimLeadingSpace").length);
2253
+ continue;
2254
+ }
2255
+ else if (isChatModelResponseFunctionCall(item))
2256
+ continue;
2257
+ void item.type;
2258
+ segmentTokenCounts.set(item.segmentType, (segmentTokenCounts.get(item.segmentType) ?? 0) + tokenizer(item.text, false, "trimLeadingSpace").length);
2259
+ }
2260
+ return segmentTokenCounts;
2261
+ }
2184
2262
  }
2185
2263
  //# sourceMappingURL=LlamaChat.js.map