centaurus-cli 2.9.5 → 2.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli-adapter.d.ts +27 -2
- package/dist/cli-adapter.d.ts.map +1 -1
- package/dist/cli-adapter.js +410 -17
- package/dist/cli-adapter.js.map +1 -1
- package/dist/config/slash-commands.d.ts.map +1 -1
- package/dist/config/slash-commands.js +7 -0
- package/dist/config/slash-commands.js.map +1 -1
- package/dist/context/context-manager.d.ts +4 -0
- package/dist/context/context-manager.d.ts.map +1 -1
- package/dist/context/context-manager.js +6 -0
- package/dist/context/context-manager.js.map +1 -1
- package/dist/context/handlers/docker-handler.d.ts +5 -1
- package/dist/context/handlers/docker-handler.d.ts.map +1 -1
- package/dist/context/handlers/docker-handler.js +27 -10
- package/dist/context/handlers/docker-handler.js.map +1 -1
- package/dist/context/handlers/ssh-handler.d.ts +47 -1
- package/dist/context/handlers/ssh-handler.d.ts.map +1 -1
- package/dist/context/handlers/ssh-handler.js +546 -73
- package/dist/context/handlers/ssh-handler.js.map +1 -1
- package/dist/context/handlers/wsl-handler.d.ts +5 -1
- package/dist/context/handlers/wsl-handler.d.ts.map +1 -1
- package/dist/context/handlers/wsl-handler.js +24 -6
- package/dist/context/handlers/wsl-handler.js.map +1 -1
- package/dist/context/subshell-handler.d.ts +8 -2
- package/dist/context/subshell-handler.d.ts.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/services/checkpoint-manager.d.ts +162 -0
- package/dist/services/checkpoint-manager.d.ts.map +1 -0
- package/dist/services/checkpoint-manager.js +926 -0
- package/dist/services/checkpoint-manager.js.map +1 -0
- package/dist/services/fast-context-agent.d.ts +12 -0
- package/dist/services/fast-context-agent.d.ts.map +1 -0
- package/dist/services/fast-context-agent.js +253 -0
- package/dist/services/fast-context-agent.js.map +1 -0
- package/dist/tools/background-command.d.ts.map +1 -1
- package/dist/tools/background-command.js +132 -24
- package/dist/tools/background-command.js.map +1 -1
- package/dist/tools/command.d.ts.map +1 -1
- package/dist/tools/command.js +14 -4
- package/dist/tools/command.js.map +1 -1
- package/dist/tools/create-image.d.ts.map +1 -1
- package/dist/tools/create-image.js +43 -18
- package/dist/tools/create-image.js.map +1 -1
- package/dist/tools/fast-context.d.ts +3 -0
- package/dist/tools/fast-context.d.ts.map +1 -0
- package/dist/tools/fast-context.js +72 -0
- package/dist/tools/fast-context.js.map +1 -0
- package/dist/tools/file-ops.d.ts.map +1 -1
- package/dist/tools/file-ops.js +12 -12
- package/dist/tools/file-ops.js.map +1 -1
- package/dist/tools/find-files.d.ts +2 -1
- package/dist/tools/find-files.d.ts.map +1 -1
- package/dist/tools/find-files.js +62 -2
- package/dist/tools/find-files.js.map +1 -1
- package/dist/tools/get-diff.d.ts +9 -45
- package/dist/tools/get-diff.d.ts.map +1 -1
- package/dist/tools/get-diff.js +288 -171
- package/dist/tools/get-diff.js.map +1 -1
- package/dist/tools/types.d.ts +4 -1
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/ui/components/App.d.ts +8 -0
- package/dist/ui/components/App.d.ts.map +1 -1
- package/dist/ui/components/App.js +290 -85
- package/dist/ui/components/App.js.map +1 -1
- package/dist/ui/components/ConfirmPrompt.d.ts +2 -0
- package/dist/ui/components/ConfirmPrompt.d.ts.map +1 -1
- package/dist/ui/components/ConfirmPrompt.js +8 -3
- package/dist/ui/components/ConfirmPrompt.js.map +1 -1
- package/dist/ui/components/InputBox.d.ts +6 -0
- package/dist/ui/components/InputBox.d.ts.map +1 -1
- package/dist/ui/components/InputBox.js +130 -6
- package/dist/ui/components/InputBox.js.map +1 -1
- package/dist/ui/components/InteractiveShell.d.ts.map +1 -1
- package/dist/ui/components/InteractiveShell.js +50 -15
- package/dist/ui/components/InteractiveShell.js.map +1 -1
- package/dist/ui/components/MessageDisplay.d.ts.map +1 -1
- package/dist/ui/components/MessageDisplay.js +2 -2
- package/dist/ui/components/MessageDisplay.js.map +1 -1
- package/dist/ui/components/ToolExecutionMessage.d.ts.map +1 -1
- package/dist/ui/components/ToolExecutionMessage.js +213 -18
- package/dist/ui/components/ToolExecutionMessage.js.map +1 -1
- package/dist/utils/ansi-encoder.d.ts +5 -0
- package/dist/utils/ansi-encoder.d.ts.map +1 -1
- package/dist/utils/ansi-encoder.js +5 -5
- package/dist/utils/ansi-encoder.js.map +1 -1
- package/dist/utils/editor-utils.d.ts +5 -0
- package/dist/utils/editor-utils.d.ts.map +1 -1
- package/dist/utils/editor-utils.js +67 -0
- package/dist/utils/editor-utils.js.map +1 -1
- package/dist/utils/input-classifier.d.ts.map +1 -1
- package/dist/utils/input-classifier.js +2 -1
- package/dist/utils/input-classifier.js.map +1 -1
- package/dist/utils/terminal-output.d.ts.map +1 -1
- package/dist/utils/terminal-output.js +162 -103
- package/dist/utils/terminal-output.js.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint-manager.js","sourceRoot":"","sources":["../../src/services/checkpoint-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAwE1D,MAAM,uBAAuB,GAAG;IAC9B,YAAY;IACZ,oBAAoB;IACpB,YAAY;IACZ,aAAa;IACb,WAAW;IACX,aAAa;IACb,cAAc;IACd,cAAc;IACd,gBAAgB;IAChB,mBAAmB;IACnB,aAAa;IACb,YAAY;IACZ,aAAa;IACb,eAAe;IACf,cAAc;IACd,cAAc;IACd,kBAAkB;CACnB,CAAC;AAEF,MAAM,OAAO,iBAAiB;IACpB,WAAW,GAAqB,EAAE,CAAC;IACnC,aAAa,GAAkB,IAAI,CAAC;IACpC,YAAY,GAAgB,IAAI,GAAG,EAAE,CAAC;IACtC,OAAO,CAAS;IAExB;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,gBAAgB,CAAC,MAAqB;QACpC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;IAC7E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,YAAoB,EAAE,OAA2B;QAIvE,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC7B,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,KAAK,OAAO,CAAC;QACpD,IAAI,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEjE,gDAAgD;QAChD,MAAM,KAAK,GAAkE,EAAE,CAAC;QAEhF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACxC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACjE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;gBACpE,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;YACxC,CAAC;YAED,iDAAiD;YACjD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACrC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACxD,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;oBACtD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;oBACzC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC5D,CAAC;gBAAC,MAAM,CAAC;oBACP,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YAED,kDAAkD;YAClD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACvC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACjE,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;oBACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;oBACzC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC5D,CAAC;gBAAC,MAAM,CAAC;oBACP,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,EAAE,CAAC;YACnB,yDAAyD;YACzD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACxC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACjE,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,GAAG,GAAG,GAAG,QAAQ,CAAC;gBACnD,IAAI,CAAC;oBACH,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;oBAC/D,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,6BAA6B,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;oBACpF,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;gBACxC,CAAC;gBAAC,MAAM,CAAC;oBACP,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YAED,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACrC,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,GAAG,GAAG,GAAG,QAAQ,CAAC;gBACnD,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBACzD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;oBAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC5D,CAAC;gBAAC,MAAM,CAAC;oBACP,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;YAED,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACvC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACjE,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;oBACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;oBACzC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC5D,CAAC;gBAAC,MAAM,CAAC;oBACP,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,YAAoB,EAAE,QAAgB,EAAE,OAA2B;QACnF,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC7B,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,KAAK,OAAO,CAAC;QACpD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACjE,MAAM,cAAc,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,GAAG,GAAG,GAAG,QAAQ,CAAC;YACnD,IAAI,aAAa,GAAkB,IAAI,CAAC;YACxC,IAAI,CAAC;gBACH,aAAa,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACrD,CAAC;YAAC,MAAM,CAAC;gBACP,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;YAED,IAAI,CAAC,cAAc,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC9C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,aAAa;YACb,IAAI,CAAC,cAAc,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC9C,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,IAAI,GAAG,wBAAwB,QAAQ,gBAAgB,KAAK,CAAC,MAAM,OAAO,CAAC;gBAC/E,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,eAAe;YACf,IAAI,cAAc,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC7C,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;oBACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClC,IAAI,IAAI,GAAG,SAAS,QAAQ,0BAA0B,KAAK,CAAC,MAAM,YAAY,CAAC;oBAC/E,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3C,OAAO,IAAI,CAAC;gBACd,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,+BAA+B,QAAQ,GAAG,CAAC;gBACpD,CAAC;YACH,CAAC;YAED,gBAAgB;YAChB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBAC1D,MAAM,UAAU,GAAG,aAAa,IAAI,EAAE,CAAC;gBACvC,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,+BAA+B,QAAQ,GAAG,CAAC;YACpD,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAI,CAAC,cAAc,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,6CAA6C;QAC7C,IAAI,CAAC,cAAc,IAAI,aAAa,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACtD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,IAAI,GAAG,wBAAwB,QAAQ,gBAAgB,KAAK,CAAC,MAAM,OAAO,CAAC;gBAC/E,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,+BAA+B,QAAQ,GAAG,CAAC;YACpD,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,cAAc,IAAI,CAAC,aAAa,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACvD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,IAAI,GAAG,SAAS,QAAQ,0BAA0B,KAAK,CAAC,MAAM,YAAY,CAAC;gBAC/E,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,+BAA+B,QAAQ,GAAG,CAAC;YACpD,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,+BAA+B,QAAQ,GAAG,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,oBAAoB;QAClB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/C,8CAA8C;QAC9C,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAChF,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,YAAoB,EAAE,WAAmB;QAClE,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC,6BAA6B,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QACpE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAEO,6BAA6B,CAAC,UAAkB,EAAE,UAAkB;QAC1E,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAExC,0DAA0D;QAC1D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,QAAQ,GAAG,KAAK,EAAE,CAAC;gBACrB,SAAS,IAAI,KAAK,GAAG,QAAQ,CAAC;YAChC,CAAC;QACH,CAAC;QAED,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,QAAQ,GAAG,KAAK,EAAE,CAAC;gBACrB,UAAU,IAAI,KAAK,GAAG,QAAQ,CAAC;YACjC,CAAC;QACH,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,QAAgB,EAAE,UAAkB,EAAE,UAAkB;QAClF,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAExC,4EAA4E;QAC5E,IAAI,MAAM,GAAG,SAAS,QAAQ,WAAW,QAAQ,IAAI,CAAC;QAEtD,+CAA+C;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAEpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,2BAA2B,QAAQ,EAAE,CAAC;QAC/C,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,OAAO,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,OAAO,CAAC;YAClG,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,MAAM,IAAI,IAAI,GAAG,IAAI,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,QAAkB,EAAE,QAAkB;QAKzD,iCAAiC;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAgG,EAAE,CAAC;QAEnH,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,OAAO,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;YAC5D,IAAI,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM;gBAC7E,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvE,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC1E,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,CAAC;YACX,CAAC;iBAAM,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBAClG,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC5E,MAAM,EAAE,CAAC;YACX,CAAC;iBAAM,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC5E,MAAM,EAAE,CAAC;YACX,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,MAAM,OAAO,GAAG,CAAC,CAAC;QAClB,MAAM,KAAK,GAAuG,EAAE,CAAC;QAErH,IAAI,WAAW,GAAuG,IAAI,CAAC;QAC3H,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAE3B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACzB,qCAAqC;gBACrC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,wBAAwB;oBACxB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC;oBAC9C,WAAW,GAAG;wBACZ,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM;wBACzD,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM;wBACzD,QAAQ,EAAE,CAAC;wBACX,KAAK,EAAE,EAAE;qBACV,CAAC;oBACF,KAAK,IAAI,CAAC,GAAG,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;wBACtC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;4BAClC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;4BACjD,WAAW,CAAC,QAAQ,EAAE,CAAC;4BACvB,WAAW,CAAC,QAAQ,EAAE,CAAC;wBACzB,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC3B,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACxC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACxC,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACzB,CAAC;gBACD,cAAc,GAAG,CAAC,CAAC;YACrB,CAAC;iBAAM,IAAI,WAAW,EAAE,CAAC;gBACvB,cAAc,EAAE,CAAC;gBACjB,IAAI,cAAc,IAAI,OAAO,EAAE,CAAC;oBAC9B,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBACxC,WAAW,CAAC,QAAQ,EAAE,CAAC;oBACvB,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,eAAe;oBACf,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACxB,WAAW,GAAG,IAAI,CAAC;oBACnB,cAAc,GAAG,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACK,wBAAwB,CAAC,CAAW,EAAE,CAAW;QACvD,+CAA+C;QAC/C,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACnB,MAAM,EAAE,GAAe,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAErF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;oBAC1B,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAED,YAAY;QACZ,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACvC,CAAC,EAAE,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,CAAC,EAAE,CAAC;YACN,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,CAAW,EAAE,CAAW;QACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;QACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACvC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,SAAS,EAAE,CAAC;gBACd,0CAA0C;gBAC1C,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC5B,IAAI,GAAG,GAAG,UAAU,EAAE,CAAC;wBACrB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAClB,UAAU,GAAG,GAAG,CAAC;wBACjB,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,EAAU;QACtB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAE5B,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MASrB;QACC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACjD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,YAAY,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;QAE/D,IAAI,CAAC;YACH,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;YAEhC,2EAA2E;YAC3E,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,KAAK,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;YAClE,MAAM,QAAQ,GAAG,QAAQ;gBACvB,CAAC,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,OAAQ,CAAC;gBAC3E,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACvD,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAE3E,MAAM,IAAI,GAAmB;gBAC3B,EAAE,EAAE,YAAY;gBAChB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;gBACvB,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;gBAC3C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;gBAC3C,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,WAAW;gBACX,YAAY;gBACZ,QAAQ,EAAE,EAAE;gBACZ,SAAS,EAAE,EAAE;gBACb,MAAM,EAAE,QAAQ;aACjB,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,SAAS,EAAE,CAAC;YAEjB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,sCAAsC,EAAE,KAAc,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAU;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;YACxD,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;YAC7B,UAAU,CAAC,MAAM,GAAG,WAAW,CAAC;YAChC,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,iCAAiC,EAAE,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,cAAc,CAAC,EAAU,EAAE,QAA4B;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,WAAW;YAAE,OAAO;QAE7D,IAAI,QAAQ,CAAC,EAAE,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEpC,IAAI,QAAQ,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,WAAW,IAAI,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;YAC/E,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAC9D,IAAI,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC7B,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;YAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;YAC1C,IAAI,OAAO,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;gBAClC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,EAAU,EAAE,OAA2B;QAM9D,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAClD,CAAC;QAED,2DAA2D;QAC3D,IAAI,UAAU,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;YACvC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvC,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;gBACzD,MAAM,WAAW,GAAG,UAAU,CAAC,iBAAiB,CAAC;gBACjD,MAAM,MAAM,GAAG,WAAW,EAAE,gBAAgB,IAAI,WAAW,EAAE,QAAQ,IAAI,oBAAoB,CAAC;gBAC9F,MAAM,IAAI,KAAK,CACb,wCAAwC,WAAW,aAAa,MAAM,KAAK;oBAC3E,4EAA4E,WAAW,qCAAqC,CAC7H,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC;QAED,gCAAgC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;gBACzD,IAAI,CAAC;oBACH,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;oBACvC,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,oBAAoB,QAAQ,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAExD,IAAI,CAAC;gBACH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC7C,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;gBACrC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACxC,QAAQ,EAAE,CAAC;YACb,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACnD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAAC,UAA0B,EAAE,OAA0B;QAMzF,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACnE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACzE,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,oDAAoD;QACpD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,GAAG,GAAG,GAAG,QAAQ,CAAC;gBACnD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,UAAU,UAAU,GAAG,CAAC,CAAC;oBACrE,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;wBAC1B,OAAO,EAAE,CAAC;oBACZ,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,CAAC,oBAAoB,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;oBAChE,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,CAAC,oBAAoB,QAAQ,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACvE,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YAEpD,IAAI,CAAC;gBACH,+CAA+C;gBAC/C,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;gBAE5D,iCAAiC;gBACjC,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvE,MAAM,OAAO,CAAC,cAAc,CAAC,aAAa,SAAS,GAAG,CAAC,CAAC;gBAExD,4CAA4C;gBAC5C,MAAM,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC7C,QAAQ,EAAE,CAAC;YACb,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACnD,CAAC;IAED,qBAAqB,CAAC,EAAU;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,OAAO;QAEzB,iFAAiF;QACjF,uEAAuE;QACvE,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/C,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE,CAAC;YAClC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,EAAU;QAC9B,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,wBAAwB,CAAC,MAAc;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,yCAAyC,MAAM,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7F,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,KAAK,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAEO,iBAAiB,CAAC,EAAU;QAClC,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,IAAI,eAAe,KAAK,CAAC,CAAC;YAAE,OAAO;QAEnC,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE7B,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;gBACzD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,+BAA+B,EAAE,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,UAA0B,EAAE,OAA2B;QACpF,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnE,yEAAyE;QACzE,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,KAAK,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxF,MAAM,YAAY,GAAG,QAAQ;YAC3B,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;YACrD,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAEzC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,SAAS;YACX,CAAC;YAED,IAAI,QAAQ,EAAE,CAAC;gBACb,4EAA4E;gBAC5E,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;oBACpD,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;oBACzD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClE,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;oBAC/D,IAAI,aAAa,KAAK,eAAe,EAAE,CAAC;wBACtC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC3B,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mCAAmC;gBAC/D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClE,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,CAAC;oBAChD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACtC,CAAC;IAEO,YAAY,CAAC,YAAoB;QACvC,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,WAAmB;QAC3D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,eAAe,GAA8B,EAAE,CAAC;QAEtD,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBAAE,SAAS;gBAE7B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACtD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC/C,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBAE5C,eAAe,CAAC,IAAI,CAAC;oBACnB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,sBAAsB,QAAQ,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,GAAG;YACH,KAAK,EAAE,eAAe;SACvB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB,CAAC,GAAW,EAAE,WAAmB,EAAE,OAA0B;QAC7F,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,eAAe,GAA8B,EAAE,CAAC;QAEtD,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,GAAG,QAAQ,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACnD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACtD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC/C,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAEjD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACpD,eAAe,CAAC,IAAI,CAAC;oBACnB,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,aAAa,CAAC,MAAM;oBAC1B,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE;oBACnB,IAAI,EAAE,KAAK;iBACZ,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,UAAU,CAAC,kCAAkC,QAAQ,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC;YACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,GAAG;YACH,KAAK,EAAE,eAAe;SACvB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,GAAW;QACjC,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE;YAC/B,GAAG;YACH,GAAG,EAAE,IAAI;YACT,SAAS,EAAE,IAAI;YACf,mBAAmB,EAAE,KAAK;YAC1B,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,uBAAuB;SAChC,CAAa,CAAC;QAEf,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe,CAAC,GAAW,EAAE,OAA0B;QACnE,8EAA8E;QAC9E,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;YAC9C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU;YACvC,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY;SACjE,CAAC;QACF,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEhD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEtE,kFAAkF;QAClF,MAAM,OAAO,GAAG,SAAS,GAAG,SAAS,SAAS,mBAAmB,WAAW,qBAAqB,CAAC;QAElG,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YACrD,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnD,UAAU,CAAC,4BAA4B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxD,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;YACtD,OAAO,MAAM,CAAC,MAAM;iBACjB,KAAK,CAAC,IAAI,CAAC;iBACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;iBACxB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;iBAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;iBAC7C,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,gCAAiC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACvE,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,YAAoB,EAAE,WAAmB;QAC3D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC3C,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACpC,OAAO,IAAI,CAAC;YACd,CAAC;YAED,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAChD,IAAI,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,UAAkB;QAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO;QAEvC,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAEO,oBAAoB;QAC1B,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;IACrC,CAAC;IAEO,aAAa,CAAC,OAAe;QACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,YAAY,CAAC,CAAC;IACpD,CAAC;IAEO,SAAS;QACf,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAE1B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAqB,CAAC;YACjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,oCAAqC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAEO,SAAS;QACf,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACtC,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,IAAI,CAAC;YACH,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAClF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,oCAAqC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ToolRegistry } from '../tools/registry.js';
|
|
2
|
+
import { ToolExecutionContext } from '../tools/types.js';
|
|
3
|
+
export declare class FastContextAgent {
|
|
4
|
+
private toolRegistry;
|
|
5
|
+
private model;
|
|
6
|
+
constructor(toolRegistry: ToolRegistry);
|
|
7
|
+
private sanitizeOutput;
|
|
8
|
+
private parseFilesFromOutput;
|
|
9
|
+
private isValidFilePath;
|
|
10
|
+
search(query: string, workingDirectory: string, parentContext: ToolExecutionContext): Promise<string>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=fast-context-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fast-context-agent.d.ts","sourceRoot":"","sources":["../../src/services/fast-context-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAc,MAAM,mBAAmB,CAAC;AAcrE,qBAAa,gBAAgB;IACzB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,KAAK,CAA0B;gBAE3B,YAAY,EAAE,YAAY;IAItC,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,oBAAoB;IAkD5B,OAAO,CAAC,eAAe;IAoBjB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;CAoM9G"}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
import { aiServiceClient } from './ai-service-client.js';
|
|
2
|
+
import * as os from 'os';
|
|
3
|
+
export class FastContextAgent {
|
|
4
|
+
toolRegistry;
|
|
5
|
+
model = 'zai-org/glm-4.7-maas';
|
|
6
|
+
constructor(toolRegistry) {
|
|
7
|
+
this.toolRegistry = toolRegistry;
|
|
8
|
+
}
|
|
9
|
+
sanitizeOutput(output) {
|
|
10
|
+
// Remove null bytes and other non-printable characters that might cause Vertex AI errors
|
|
11
|
+
// Keep newlines, tabs, and standard printable characters
|
|
12
|
+
return output.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F]/g, '');
|
|
13
|
+
}
|
|
14
|
+
parseFilesFromOutput(toolName, output) {
|
|
15
|
+
const files = [];
|
|
16
|
+
const lines = output.split('\n');
|
|
17
|
+
if (toolName === 'grep_search') {
|
|
18
|
+
// Grep often returns "file:line:content" or just "file"
|
|
19
|
+
// We need to be careful not to match line numbers or context
|
|
20
|
+
for (const line of lines) {
|
|
21
|
+
const trimmed = line.trim();
|
|
22
|
+
if (!trimmed)
|
|
23
|
+
continue;
|
|
24
|
+
// Skip lines that look like just numbers (common in some grep outputs for counts)
|
|
25
|
+
if (/^\d+$/.test(trimmed))
|
|
26
|
+
continue;
|
|
27
|
+
// Typical grep output with line number: "path/to/file.ts:123: content"
|
|
28
|
+
// Or just path: "path/to/file.ts"
|
|
29
|
+
// Heuristic: take part before the first colon, or the whole line if no colon
|
|
30
|
+
// But avoid "Found 5 matches" type lines
|
|
31
|
+
if (trimmed.startsWith('Found ') || trimmed.startsWith('Match '))
|
|
32
|
+
continue;
|
|
33
|
+
const parts = trimmed.split(':');
|
|
34
|
+
const candidate = parts[0].trim();
|
|
35
|
+
// Validate candidate is likely a file path
|
|
36
|
+
// Should have an extension or contain path separators, and NOT be just numbers
|
|
37
|
+
if (this.isValidFilePath(candidate)) {
|
|
38
|
+
files.push(candidate);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
else if (toolName === 'find_files') {
|
|
43
|
+
// find_files usually returns one file per line
|
|
44
|
+
for (const line of lines) {
|
|
45
|
+
const trimmed = line.trim();
|
|
46
|
+
if (this.isValidFilePath(trimmed)) {
|
|
47
|
+
files.push(trimmed);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else if (toolName === 'view_file' || toolName === 'read_file') {
|
|
52
|
+
// We can't easily extracting the filename from the output content unless it's in the header
|
|
53
|
+
// The tool output usually starts with "File: <path>"
|
|
54
|
+
const match = output.match(/^File: (.+)/);
|
|
55
|
+
if (match) {
|
|
56
|
+
files.push(match[1]);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return files;
|
|
60
|
+
}
|
|
61
|
+
isValidFilePath(pathStr) {
|
|
62
|
+
// Basic validation:
|
|
63
|
+
// 1. Not empty
|
|
64
|
+
// 2. Not just numbers
|
|
65
|
+
// 3. Not a common system message (e.g. "No matches")
|
|
66
|
+
// 4. Has some file-like characteristics (extension or path separator) OR just is a string that doesn't look like garbage
|
|
67
|
+
if (!pathStr || pathStr.length === 0)
|
|
68
|
+
return false;
|
|
69
|
+
if (/^\d+$/.test(pathStr))
|
|
70
|
+
return false; // purely numeric
|
|
71
|
+
if (pathStr.includes('No matches') || pathStr.includes('Found '))
|
|
72
|
+
return false;
|
|
73
|
+
// Exclude common noise
|
|
74
|
+
if (pathStr.startsWith('Total:') || pathStr.startsWith('Size:'))
|
|
75
|
+
return false;
|
|
76
|
+
// Exclude grep output noise
|
|
77
|
+
if (pathStr.includes('(showing first') && pathStr.includes('matches)'))
|
|
78
|
+
return false;
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
async search(query, workingDirectory, parentContext) {
|
|
82
|
+
const startTime = Date.now();
|
|
83
|
+
const scannedFiles = new Set();
|
|
84
|
+
// Import logger if not already imported at the top of the file
|
|
85
|
+
// We'll use console.log here or logInfo/logDebug if available
|
|
86
|
+
const logToTerminal = (msg) => {
|
|
87
|
+
if (parentContext.onStreamingOutput) {
|
|
88
|
+
// Pass debug logging through stderr or a custom type so it's visible in logs
|
|
89
|
+
parentContext.onStreamingOutput(`[FastContextAgent] ${msg}\n`, 'stderr', 'fast_context_search');
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
logToTerminal(`Starting search for query: "${query}" in ${workingDirectory}`);
|
|
93
|
+
const messages = [
|
|
94
|
+
{
|
|
95
|
+
role: 'system',
|
|
96
|
+
content: `You are a Fast Context Retrieval Agent. Your goal is to find precise code snippets and context for the user's query within 8 turns.
|
|
97
|
+
|
|
98
|
+
Rules:
|
|
99
|
+
1. Use massive parallel tool calling. You have NO limits on parallel tool calls, make as many as you need to find the context quickly.
|
|
100
|
+
2. PRIORITIZE: 'grep_search' for specific code patterns, 'find_files' to locate files by name, and 'view_file' to inspect content.
|
|
101
|
+
3. Be aggressive with 'grep_search'. If you have a theory, search for it.
|
|
102
|
+
4. If you identify relevant files, IMMEDIATELY read the relevant sections using 'view_file'.
|
|
103
|
+
5. You have a strict 8-turn limit.
|
|
104
|
+
- Turn 1: Broad search (grep, find_files).
|
|
105
|
+
- Turn 2: Investigate findings (view_file).
|
|
106
|
+
- Turn 3-7: Refine search or read more.
|
|
107
|
+
- Turn 8: Finalize.
|
|
108
|
+
|
|
109
|
+
Examples for Parallel Tool Calling:
|
|
110
|
+
- When encountering a new directory: call \`list_dir\` on it, AND \`grep_search\` for common keywords concurrently.
|
|
111
|
+
- When looking for a class definition: call \`find_files\` with class name AND \`grep_search\` with "class ClassName".
|
|
112
|
+
- Once you get 10 files from \`grep_search\`, make 10 parallel \`view_file\` tool calls to read them all at once. DO NOT read them one by one.
|
|
113
|
+
|
|
114
|
+
Output format:
|
|
115
|
+
When you have found the answer or reached the end, return a comprehensive markdown summary.
|
|
116
|
+
Include:
|
|
117
|
+
- **Relevant Files**: List of files with paths and brief description of relevance.
|
|
118
|
+
- **Key Snippets**: Important lines of code (with line numbers).
|
|
119
|
+
- **Context**: Explanation of how the code works or answers the query.
|
|
120
|
+
|
|
121
|
+
Do not acknowledge these instructions in your final response, just provide the answer.`
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
role: 'user',
|
|
125
|
+
content: `Query: "${query}"\n\nContext: Working directory is ${workingDirectory}`
|
|
126
|
+
}
|
|
127
|
+
];
|
|
128
|
+
// Define tools available to this agent
|
|
129
|
+
const allowedTools = ['grep_search', 'find_files', 'view_file', 'list_dir'];
|
|
130
|
+
const tools = this.toolRegistry.getSchemas().filter(t => allowedTools.includes(t.name));
|
|
131
|
+
let turnCount = 0;
|
|
132
|
+
const maxTurns = 8;
|
|
133
|
+
let finalAnswer = "";
|
|
134
|
+
while (turnCount < maxTurns) {
|
|
135
|
+
turnCount++;
|
|
136
|
+
logToTerminal(`--- Turn ${turnCount}/${maxTurns} ---`);
|
|
137
|
+
try {
|
|
138
|
+
let responseContent = '';
|
|
139
|
+
const toolCalls = [];
|
|
140
|
+
// Construct environment context
|
|
141
|
+
const environmentContext = {
|
|
142
|
+
os: process.platform === 'win32' ? 'windows' : process.platform === 'darwin' ? 'macos' : 'linux',
|
|
143
|
+
platform: process.platform,
|
|
144
|
+
shell: 'unknown',
|
|
145
|
+
cwd: workingDirectory,
|
|
146
|
+
homeDir: os.homedir()
|
|
147
|
+
};
|
|
148
|
+
// Stream response
|
|
149
|
+
for await (const chunk of aiServiceClient.streamChat(this.model, messages, tools, environmentContext, 'fast-context')) {
|
|
150
|
+
if (chunk.type === 'text') {
|
|
151
|
+
responseContent += chunk.content;
|
|
152
|
+
}
|
|
153
|
+
else if (chunk.type === 'tool_call') {
|
|
154
|
+
toolCalls.push(chunk.toolCall);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
// If no tool calls, we are done
|
|
158
|
+
if (toolCalls.length === 0) {
|
|
159
|
+
logToTerminal(`No tool calls requested. Returning final answer.`);
|
|
160
|
+
finalAnswer = responseContent;
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
logToTerminal(`Agent requested ${toolCalls.length} tool calls in parallel.`);
|
|
164
|
+
toolCalls.forEach(tc => logToTerminal(` -> ${tc.name}(${JSON.stringify(tc.arguments)})`));
|
|
165
|
+
// Append assistant message with tool calls
|
|
166
|
+
messages.push({
|
|
167
|
+
role: 'assistant',
|
|
168
|
+
content: responseContent,
|
|
169
|
+
tool_calls: toolCalls
|
|
170
|
+
});
|
|
171
|
+
// Execute tools in parallel
|
|
172
|
+
const toolResults = await Promise.all(toolCalls.map(async (call) => {
|
|
173
|
+
try {
|
|
174
|
+
const execContext = {
|
|
175
|
+
...parentContext,
|
|
176
|
+
cwd: workingDirectory,
|
|
177
|
+
requireApproval: async () => true, // Auto-approve read-only tools
|
|
178
|
+
};
|
|
179
|
+
const result = await this.toolRegistry.execute(call.name, call.arguments, execContext);
|
|
180
|
+
let output = result.success ? result.result : `Error: ${result.error}`;
|
|
181
|
+
// Sanitize output to prevent Vertex AI errors
|
|
182
|
+
output = this.sanitizeOutput(output);
|
|
183
|
+
// Track stats
|
|
184
|
+
if (result.success) {
|
|
185
|
+
const files = this.parseFilesFromOutput(call.name, output);
|
|
186
|
+
if (files.length > 0) {
|
|
187
|
+
files.forEach(f => scannedFiles.add(f));
|
|
188
|
+
if (parentContext.onStreamingOutput) {
|
|
189
|
+
parentContext.onStreamingOutput(JSON.stringify({ type: 'scanned_files', files: Array.from(scannedFiles).slice(-4) }) + '\n', 'stdout', 'fast_context_search');
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return {
|
|
194
|
+
tool_call_id: call.id,
|
|
195
|
+
name: call.name,
|
|
196
|
+
output: output
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
catch (e) {
|
|
200
|
+
return {
|
|
201
|
+
tool_call_id: call.id,
|
|
202
|
+
name: call.name,
|
|
203
|
+
output: `System Error executing tool: ${e.message}`
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
}));
|
|
207
|
+
logToTerminal(`Completed ${toolResults.length} tool calls.`);
|
|
208
|
+
// Append tool results
|
|
209
|
+
for (const res of toolResults) {
|
|
210
|
+
messages.push({
|
|
211
|
+
role: 'tool',
|
|
212
|
+
tool_call_id: res.tool_call_id,
|
|
213
|
+
content: res.output
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
catch (error) {
|
|
218
|
+
finalAnswer = `Error during Fast Context search: ${error}`;
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
// If the loop finishes without an explicit final answer (unlikely if toolCalls.length > 0 was the break condition),
|
|
223
|
+
// we might take the last content. But usually the model will output text when it's done.
|
|
224
|
+
// If the loop exits specifically because maxTurns was reached, we should use the last assistant message if it was text,
|
|
225
|
+
// or generate a final summary. For now, we'll assume the last message content is relevant.
|
|
226
|
+
if (turnCount >= maxTurns && !finalAnswer) {
|
|
227
|
+
logToTerminal(`Reached max turns (${maxTurns}) without a final text response. Using fallback.`);
|
|
228
|
+
// Check if we have a text response in the last turn
|
|
229
|
+
const lastMsg = messages[messages.length - 1];
|
|
230
|
+
if (lastMsg.role === 'assistant' && lastMsg.content) {
|
|
231
|
+
finalAnswer = lastMsg.content;
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
finalAnswer = "Search limit reached. Please try a more specific query.";
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
logToTerminal(`Search completed successfully in ${turnCount} turns.`);
|
|
239
|
+
}
|
|
240
|
+
const duration = Date.now() - startTime;
|
|
241
|
+
const stats = {
|
|
242
|
+
filesSearched: scannedFiles.size,
|
|
243
|
+
duration,
|
|
244
|
+
scannedFiles: Array.from(scannedFiles)
|
|
245
|
+
};
|
|
246
|
+
const response = {
|
|
247
|
+
answer: finalAnswer,
|
|
248
|
+
stats
|
|
249
|
+
};
|
|
250
|
+
return JSON.stringify(response);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
//# sourceMappingURL=fast-context-agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fast-context-agent.js","sourceRoot":"","sources":["../../src/services/fast-context-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-command.d.ts","sourceRoot":"","sources":["../../src/tools/background-command.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"background-command.d.ts","sourceRoot":"","sources":["../../src/tools/background-command.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAKlC,eAAO,MAAM,qBAAqB,EAAE,IA6QnC,CAAC"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* Uses the existing BackgroundTaskManager singleton.
|
|
8
8
|
*/
|
|
9
9
|
import { BackgroundTaskManager } from '../services/background-task-manager.js';
|
|
10
|
+
import { runSSHCommand, runLocalPty } from '../utils/editor-utils.js';
|
|
10
11
|
export const backgroundCommandTool = {
|
|
11
12
|
schema: {
|
|
12
13
|
name: 'background_command',
|
|
@@ -17,17 +18,17 @@ USE CASES:
|
|
|
17
18
|
- Running long-running processes (builds, tests, watchers)
|
|
18
19
|
- Running multiple commands concurrently
|
|
19
20
|
|
|
20
|
-
ACTIONS:
|
|
21
|
-
1. "start" - Start a new background command. Returns a task_id immediately.
|
|
22
|
-
2. "status" - Check the status and output of a background task. Use this to monitor progress.
|
|
23
|
-
3. "kill" - Terminate a running background task.
|
|
24
|
-
4. "wait" - Pause execution for a specified duration. Use this instead of repeatedly checking status.
|
|
25
|
-
|
|
26
|
-
IMPORTANT:
|
|
27
|
-
- After starting a task, you can continue with other work while it runs.
|
|
28
|
-
- Use "status" periodically to check on long-running tasks.
|
|
29
|
-
- Use "wait" to pause before checking status again (e.g., wait 30 seconds for a build to complete).
|
|
30
|
-
- Always clean up tasks with "kill" when they're no longer needed.
|
|
21
|
+
ACTIONS:
|
|
22
|
+
1. "start" - Start a new background command. Returns a task_id immediately.
|
|
23
|
+
2. "status" - Check the status and output of a background task. Use this to monitor progress.
|
|
24
|
+
3. "kill" - Terminate a running background task.
|
|
25
|
+
4. "wait" - Pause execution for a specified duration. Use this instead of repeatedly checking status.
|
|
26
|
+
|
|
27
|
+
IMPORTANT:
|
|
28
|
+
- After starting a task, you can continue with other work while it runs.
|
|
29
|
+
- Use "status" periodically to check on long-running tasks.
|
|
30
|
+
- Use "wait" to pause before checking status again (e.g., wait 30 seconds for a build to complete).
|
|
31
|
+
- Always clean up tasks with "kill" when they're no longer needed.
|
|
31
32
|
- The task_id returned from "start" must be saved to use with "status" or "kill".`,
|
|
32
33
|
parameters: {
|
|
33
34
|
type: 'object',
|
|
@@ -76,16 +77,76 @@ IMPORTANT:
|
|
|
76
77
|
if (!cwd) {
|
|
77
78
|
throw new Error('Missing required parameter "cwd" for action "start"');
|
|
78
79
|
}
|
|
79
|
-
//
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
80
|
+
// Check for remote context
|
|
81
|
+
// The context object passed to execute contains the contextManager
|
|
82
|
+
const contextManager = context.contextManager;
|
|
83
|
+
// Get the full context stack to handle nested environments
|
|
84
|
+
// If getContextStack is not available (older version), fall back to checking current context
|
|
85
|
+
let stack = [];
|
|
86
|
+
if (typeof contextManager.getContextStack === 'function') {
|
|
87
|
+
stack = contextManager.getContextStack();
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
// Fallback for safety
|
|
91
|
+
const current = contextManager.getCurrentContext();
|
|
92
|
+
if (current)
|
|
93
|
+
stack = [current];
|
|
94
|
+
}
|
|
95
|
+
let currentCommand = command;
|
|
96
|
+
// Iterate from the target context (top of stack) down to the root
|
|
97
|
+
for (let i = stack.length - 1; i >= 0; i--) {
|
|
98
|
+
const ctx = stack[i];
|
|
99
|
+
const isTarget = i === stack.length - 1;
|
|
100
|
+
// Determine the working directory to use for this execution layer
|
|
101
|
+
// If this is the target layer, use the user-provided cwd
|
|
102
|
+
// If this is an intermediate layer, use its tracked working directory
|
|
103
|
+
const executionCwd = isTarget ? cwd : ctx.metadata.workingDirectory;
|
|
104
|
+
// 1. Check if this context has a direct protocol executor (e.g. active SSH client)
|
|
105
|
+
if (ctx.type === 'ssh' && ctx.handler?.client) {
|
|
106
|
+
const sshClient = ctx.handler.client;
|
|
107
|
+
// Start task tracking
|
|
108
|
+
const remoteTask = BackgroundTaskManager.startRemoteTask(command, // Original command for display
|
|
109
|
+
cwd, // Original CWD for display
|
|
110
|
+
ctx.type // Context type
|
|
111
|
+
);
|
|
112
|
+
// Execute via SSH PTY
|
|
113
|
+
const sshPty = runSSHCommand(sshClient, currentCommand, // The accumulated (possibly wrapped) command
|
|
114
|
+
executionCwd, remoteTask.onData, remoteTask.onExit);
|
|
115
|
+
remoteTask.setRemotePty(sshPty);
|
|
116
|
+
return formatStartResponse(remoteTask.id, command, cwd, ctx.type);
|
|
117
|
+
}
|
|
118
|
+
// 2. Check if this is the local root context
|
|
119
|
+
if (ctx.type === 'local') {
|
|
120
|
+
// Start task tracking
|
|
121
|
+
const remoteTask = BackgroundTaskManager.startRemoteTask(command, cwd, 'local');
|
|
122
|
+
// Execute via Local PTY (which might be running a wrapped command like "wsl ..." or "docker ...")
|
|
123
|
+
const localPty = runLocalPty(currentCommand, executionCwd, // Use the local CWD
|
|
124
|
+
remoteTask.onData, remoteTask.onExit);
|
|
125
|
+
remoteTask.setRemotePty(localPty);
|
|
126
|
+
return formatStartResponse(remoteTask.id, command, cwd, 'local');
|
|
127
|
+
}
|
|
128
|
+
// 3. Otherwise, WRAP the command for the next iteration (parent)
|
|
129
|
+
if (ctx.type === 'docker') {
|
|
130
|
+
const containerId = ctx.metadata.containerId;
|
|
131
|
+
if (!containerId)
|
|
132
|
+
throw new Error('Docker context missing containerId');
|
|
133
|
+
currentCommand = buildDockerCommand(containerId, executionCwd, currentCommand);
|
|
134
|
+
}
|
|
135
|
+
else if (ctx.type === 'wsl') {
|
|
136
|
+
const distro = ctx.metadata.distroName || 'Ubuntu';
|
|
137
|
+
currentCommand = buildWSLCommand(distro, executionCwd, currentCommand);
|
|
138
|
+
}
|
|
139
|
+
else if (ctx.type === 'ssh') {
|
|
140
|
+
// Fallback for SSH without accessible client (e.g. wrapped command)
|
|
141
|
+
currentCommand = buildSSHCommand(ctx.metadata, executionCwd, currentCommand);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
// Unknown context type, try to pass through or error?
|
|
145
|
+
// For now we error to be safe, or just wrap in sh -c?
|
|
146
|
+
throw new Error(`Unsupported context type for wrapping: ${ctx.type}`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
throw new Error('Failed to execute command: Reached end of context stack without execution.');
|
|
89
150
|
}
|
|
90
151
|
case 'status': {
|
|
91
152
|
// Validate required parameters for status
|
|
@@ -125,7 +186,8 @@ The command is now running in the background. Use action="status" with task_id="
|
|
|
125
186
|
else {
|
|
126
187
|
statusText = `**Status:** ⏹️ Stopped`;
|
|
127
188
|
}
|
|
128
|
-
|
|
189
|
+
const remoteLabel = task.remoteContext ? ` [${task.remoteContext}]` : '';
|
|
190
|
+
return `Background Task Status${remoteLabel}
|
|
129
191
|
|
|
130
192
|
**Task ID:** ${task_id}
|
|
131
193
|
**Command:** ${task.command}
|
|
@@ -144,11 +206,14 @@ ${outputToShow || '(no output yet)'}
|
|
|
144
206
|
}
|
|
145
207
|
const task = BackgroundTaskManager.getTask(task_id);
|
|
146
208
|
if (!task) {
|
|
209
|
+
// Try to find if it was recently killed or doesn't exist
|
|
147
210
|
throw new Error(`Task "${task_id}" not found.`);
|
|
148
211
|
}
|
|
149
212
|
if (!task.isRunning) {
|
|
150
213
|
return `Task "${task_id}" is not running (already completed or stopped). No action taken.`;
|
|
151
214
|
}
|
|
215
|
+
// For remote tasks, we might need to do special cleanup,
|
|
216
|
+
// but BackgroundTaskManager.cancelTask() handles calling the pty.kill()
|
|
152
217
|
const success = BackgroundTaskManager.cancelTask(task_id);
|
|
153
218
|
if (success) {
|
|
154
219
|
return `Background task "${task_id}" has been terminated.
|
|
@@ -170,8 +235,8 @@ ${outputToShow || '(no output yet)'}
|
|
|
170
235
|
}
|
|
171
236
|
// Create a promise that resolves after the specified duration
|
|
172
237
|
await new Promise(resolve => setTimeout(resolve, wait_seconds * 1000));
|
|
173
|
-
return `Waited for ${wait_seconds} second${wait_seconds !== 1 ? 's' : ''}.
|
|
174
|
-
|
|
238
|
+
return `Waited for ${wait_seconds} second${wait_seconds !== 1 ? 's' : ''}.
|
|
239
|
+
|
|
175
240
|
⏱️ The execution has been paused for the requested duration. You can now continue with the next action.`;
|
|
176
241
|
}
|
|
177
242
|
default:
|
|
@@ -179,4 +244,47 @@ ${outputToShow || '(no output yet)'}
|
|
|
179
244
|
}
|
|
180
245
|
},
|
|
181
246
|
};
|
|
247
|
+
/**
|
|
248
|
+
* Format the successful start response
|
|
249
|
+
*/
|
|
250
|
+
function formatStartResponse(taskId, command, cwd, contextType) {
|
|
251
|
+
return `Background task started successfully in ${contextType}.
|
|
252
|
+
|
|
253
|
+
**Task ID:** ${taskId}
|
|
254
|
+
**Command:** ${command}
|
|
255
|
+
**Working Directory:** ${cwd}
|
|
256
|
+
**Context:** ${contextType}
|
|
257
|
+
|
|
258
|
+
The command is now running in the background. Use action="status" with task_id="${taskId}" to check progress, or action="kill" to terminate it.`;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Helper to escape a command for use in "sh -c" or similar
|
|
262
|
+
*/
|
|
263
|
+
function escapeCmd(cmd) {
|
|
264
|
+
// Escape backslashes first, then quotes
|
|
265
|
+
return cmd.replace(/\\/g, '\\\\').replace(/"/g, '\\"');
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Build a Docker execution command
|
|
269
|
+
*/
|
|
270
|
+
function buildDockerCommand(containerId, cwd, command) {
|
|
271
|
+
// docker exec -w <cwd> <id> sh -c "<cmd>"
|
|
272
|
+
return `docker exec -w "${cwd}" ${containerId} sh -c "${escapeCmd(command)}"`;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Build a WSL execution command
|
|
276
|
+
*/
|
|
277
|
+
function buildWSLCommand(distro, cwd, command) {
|
|
278
|
+
// wsl -d <distro> -- bash -c "cd <cwd> && <cmd>"
|
|
279
|
+
return `wsl -d ${distro} -- bash -c "cd \\"${cwd}\\" && ${escapeCmd(command)}"`;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Build an SSH execution command (for wrapping)
|
|
283
|
+
*/
|
|
284
|
+
function buildSSHCommand(metadata, cwd, command) {
|
|
285
|
+
const portFlag = metadata.port ? `-p ${metadata.port}` : '';
|
|
286
|
+
const userHost = `${metadata.username}@${metadata.hostname}`;
|
|
287
|
+
// ssh -p <port> user@host "cd <cwd> && <cmd>"
|
|
288
|
+
return `ssh ${portFlag} ${userHost} "cd \\"${cwd}\\" && ${escapeCmd(command)}"`;
|
|
289
|
+
}
|
|
182
290
|
//# sourceMappingURL=background-command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"background-command.js","sourceRoot":"","sources":["../../src/tools/background-command.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"background-command.js","sourceRoot":"","sources":["../../src/tools/background-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/tools/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAwClC,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/tools/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAwClC,eAAO,MAAM,cAAc,EAAE,IA6f5B,CAAC"}
|