repoburg 1.3.148 → 1.3.149
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/package.json +1 -1
- package/.claude/settings.local.json +0 -7
- package/.playwright-mcp/console-2026-05-12T09-54-31-560Z.log +0 -13
- package/.playwright-mcp/console-2026-05-12T10-04-14-892Z.log +0 -13
- package/.playwright-mcp/console-2026-05-12T10-50-32-398Z.log +0 -14
- package/.playwright-mcp/console-2026-05-12T12-50-09-889Z.log +0 -13
- package/.playwright-mcp/console-2026-05-12T12-58-49-817Z.log +0 -60
- package/.playwright-mcp/console-2026-05-13T18-41-50-654Z.log +0 -13
- package/.playwright-mcp/console-2026-05-13T18-54-58-000Z.log +0 -13
- package/.playwright-mcp/console-2026-05-13T19-13-30-875Z.log +0 -95
- package/.playwright-mcp/console-2026-05-13T20-09-13-456Z.log +0 -17
- package/.playwright-mcp/console-2026-05-13T20-21-01-662Z.log +0 -13
- package/.playwright-mcp/console-2026-05-13T20-22-00-038Z.log +0 -15
- package/.playwright-mcp/console-2026-05-13T20-26-26-665Z.log +0 -28
- package/.playwright-mcp/console-2026-05-13T20-35-49-544Z.log +0 -26
- package/.playwright-mcp/console-2026-05-13T20-38-10-958Z.log +0 -676
- package/.playwright-mcp/console-2026-05-14T21-27-06-074Z.log +0 -69
- package/.playwright-mcp/console-2026-05-14T22-13-07-470Z.log +0 -101
- package/.playwright-mcp/console-2026-05-14T23-58-12-858Z.log +0 -28
- package/.playwright-mcp/console-2026-05-15T00-15-00-760Z.log +0 -81
- package/.playwright-mcp/page-2026-05-12T09-54-32-920Z.yml +0 -223
- package/.playwright-mcp/page-2026-05-12T09-54-42-067Z.yml +0 -190
- package/.playwright-mcp/page-2026-05-12T09-55-12-019Z.yml +0 -389
- package/.playwright-mcp/page-2026-05-12T09-55-49-065Z.yml +0 -428
- package/.playwright-mcp/page-2026-05-12T09-56-06-607Z.yml +0 -389
- package/.playwright-mcp/page-2026-05-12T09-56-23-371Z.yml +0 -196
- package/.playwright-mcp/page-2026-05-12T09-56-55-792Z.yml +0 -389
- package/.playwright-mcp/page-2026-05-12T10-04-15-716Z.yml +0 -164
- package/.playwright-mcp/page-2026-05-12T10-04-43-994Z.yml +0 -190
- package/.playwright-mcp/page-2026-05-12T10-05-04-616Z.yml +0 -389
- package/.playwright-mcp/page-2026-05-12T10-05-27-643Z.yml +0 -428
- package/.playwright-mcp/page-2026-05-12T10-05-47-851Z.yml +0 -389
- package/.playwright-mcp/page-2026-05-12T10-06-13-429Z.yml +0 -196
- package/.playwright-mcp/page-2026-05-12T10-06-58-147Z.yml +0 -389
- package/.playwright-mcp/page-2026-05-12T10-08-20-216Z.yml +0 -428
- package/.playwright-mcp/page-2026-05-12T10-08-38-177Z.yml +0 -389
- package/.playwright-mcp/page-2026-05-12T10-09-01-851Z.yml +0 -196
- package/.playwright-mcp/page-2026-05-12T10-09-24-888Z.yml +0 -389
- package/.playwright-mcp/page-2026-05-12T10-50-33-049Z.yml +0 -212
- package/.playwright-mcp/page-2026-05-12T10-50-48-496Z.yml +0 -196
- package/.playwright-mcp/page-2026-05-12T10-51-51-308Z.yml +0 -196
- package/.playwright-mcp/page-2026-05-12T10-52-07-379Z.yml +0 -196
- package/.playwright-mcp/page-2026-05-12T12-50-10-589Z.yml +0 -143
- package/.playwright-mcp/page-2026-05-12T12-50-25-461Z.yml +0 -196
- package/.playwright-mcp/page-2026-05-12T12-51-11-190Z.yml +0 -394
- package/.playwright-mcp/page-2026-05-12T12-52-21-138Z.yml +0 -524
- package/.playwright-mcp/page-2026-05-12T12-53-42-423Z.yml +0 -431
- package/.playwright-mcp/page-2026-05-12T12-54-18-549Z.yml +0 -196
- package/.playwright-mcp/page-2026-05-12T12-54-26-818Z.yml +0 -390
- package/.playwright-mcp/page-2026-05-12T12-55-32-697Z.yml +0 -520
- package/.playwright-mcp/page-2026-05-12T12-58-50-450Z.yml +0 -164
- package/.playwright-mcp/page-2026-05-12T12-59-12-954Z.yml +0 -196
- package/.playwright-mcp/page-2026-05-12T12-59-38-479Z.yml +0 -394
- package/.playwright-mcp/page-2026-05-12T13-01-17-580Z.yml +0 -524
- package/.playwright-mcp/page-2026-05-12T13-01-58-447Z.yml +0 -271
- package/.playwright-mcp/page-2026-05-12T13-03-12-109Z.yml +0 -394
- package/.playwright-mcp/page-2026-05-13T18-41-51-436Z.yml +0 -159
- package/.playwright-mcp/page-2026-05-13T18-42-27-482Z.yml +0 -4814
- package/.playwright-mcp/page-2026-05-13T18-54-58-644Z.yml +0 -154
- package/.playwright-mcp/page-2026-05-13T18-56-11-217Z.yml +0 -1560
- package/.playwright-mcp/page-2026-05-13T18-56-32-205Z.yml +0 -1560
- package/.playwright-mcp/page-2026-05-13T19-13-31-457Z.yml +0 -164
- package/.playwright-mcp/page-2026-05-13T19-14-26-248Z.yml +0 -1560
- package/.playwright-mcp/page-2026-05-13T19-15-02-355Z.yml +0 -1560
- package/.playwright-mcp/page-2026-05-13T20-09-14-478Z.yml +0 -149
- package/.playwright-mcp/page-2026-05-13T20-10-49-292Z.yml +0 -4814
- package/.playwright-mcp/page-2026-05-13T20-21-02-852Z.yml +0 -143
- package/.playwright-mcp/page-2026-05-13T20-22-01-084Z.yml +0 -143
- package/.playwright-mcp/page-2026-05-13T20-22-09-334Z.yml +0 -1561
- package/.playwright-mcp/page-2026-05-13T20-26-27-690Z.yml +0 -143
- package/.playwright-mcp/page-2026-05-13T20-26-53-324Z.yml +0 -1561
- package/.playwright-mcp/page-2026-05-13T20-27-35-395Z.yml +0 -1561
- package/.playwright-mcp/page-2026-05-13T20-35-50-708Z.yml +0 -149
- package/.playwright-mcp/page-2026-05-13T20-37-41-379Z.yml +0 -0
- package/.playwright-mcp/page-2026-05-13T20-38-12-049Z.yml +0 -149
- package/.playwright-mcp/page-2026-05-13T20-38-19-708Z.yml +0 -1561
- package/.playwright-mcp/page-2026-05-14T21-27-07-278Z.yml +0 -164
- package/.playwright-mcp/page-2026-05-14T22-13-07-628Z.yml +0 -5
- package/.playwright-mcp/page-2026-05-14T22-13-27-676Z.yml +0 -1561
- package/.playwright-mcp/page-2026-05-14T23-58-13-064Z.yml +0 -3
- package/.playwright-mcp/page-2026-05-14T23-58-33-500Z.yml +0 -1561
- package/.playwright-mcp/page-2026-05-15T00-15-00-945Z.yml +0 -3
- package/.run/backend _ build.run.xml +0 -12
- package/.run/backend _ lint.run.xml +0 -12
- package/.run/backend _ test.run.xml +0 -12
- package/.run/frontend _ build.run.xml +0 -12
- package/.run/frontend _ lint_fix.run.xml +0 -12
- package/CODEMAP.md +0 -53
- package/backend/.repoburg/hooks/README.md +0 -53
- package/backend/.repoburg/hooks/eslint-hook.ts +0 -46
- package/backend/.repoburg/hooks/example-hook.ts +0 -62
- package/backend/CODEMAP.md +0 -48
- package/backend/README.md +0 -3
- package/backend/coverage/clover.xml +0 -12003
- package/backend/coverage/coverage-final.json +0 -313
- package/backend/coverage/lcov-report/base.css +0 -224
- package/backend/coverage/lcov-report/block-navigation.js +0 -87
- package/backend/coverage/lcov-report/favicon.png +0 -0
- package/backend/coverage/lcov-report/index.html +0 -1301
- package/backend/coverage/lcov-report/packages/gemini-core/examples/index.html +0 -116
- package/backend/coverage/lcov-report/packages/gemini-core/examples/simple.ts.html +0 -445
- package/backend/coverage/lcov-report/packages/gemini-core/index.html +0 -116
- package/backend/coverage/lcov-report/packages/gemini-core/index.ts.html +0 -127
- package/backend/coverage/lcov-report/packages/gemini-core/src/code_assist/codeAssist.ts.html +0 -193
- package/backend/coverage/lcov-report/packages/gemini-core/src/code_assist/converter.ts.html +0 -832
- package/backend/coverage/lcov-report/packages/gemini-core/src/code_assist/index.html +0 -206
- package/backend/coverage/lcov-report/packages/gemini-core/src/code_assist/oauth-credential-storage.ts.html +0 -469
- package/backend/coverage/lcov-report/packages/gemini-core/src/code_assist/oauth2.ts.html +0 -1705
- package/backend/coverage/lcov-report/packages/gemini-core/src/code_assist/server.ts.html +0 -790
- package/backend/coverage/lcov-report/packages/gemini-core/src/code_assist/setup.ts.html +0 -454
- package/backend/coverage/lcov-report/packages/gemini-core/src/code_assist/types.ts.html +0 -685
- package/backend/coverage/lcov-report/packages/gemini-core/src/config/config.ts.html +0 -307
- package/backend/coverage/lcov-report/packages/gemini-core/src/config/index.html +0 -146
- package/backend/coverage/lcov-report/packages/gemini-core/src/config/models.ts.html +0 -151
- package/backend/coverage/lcov-report/packages/gemini-core/src/config/storage.ts.html +0 -172
- package/backend/coverage/lcov-report/packages/gemini-core/src/core/contentGenerator.ts.html +0 -490
- package/backend/coverage/lcov-report/packages/gemini-core/src/core/geminiChat.ts.html +0 -1237
- package/backend/coverage/lcov-report/packages/gemini-core/src/core/geminiRequest.ts.html +0 -139
- package/backend/coverage/lcov-report/packages/gemini-core/src/core/index.html +0 -176
- package/backend/coverage/lcov-report/packages/gemini-core/src/core/prompts.ts.html +0 -409
- package/backend/coverage/lcov-report/packages/gemini-core/src/core/tokenLimits.ts.html +0 -181
- package/backend/coverage/lcov-report/packages/gemini-core/src/index.html +0 -116
- package/backend/coverage/lcov-report/packages/gemini-core/src/index.ts.html +0 -187
- package/backend/coverage/lcov-report/packages/gemini-core/src/mcp/token-storage/base-token-storage.ts.html +0 -229
- package/backend/coverage/lcov-report/packages/gemini-core/src/mcp/token-storage/file-token-storage.ts.html +0 -634
- package/backend/coverage/lcov-report/packages/gemini-core/src/mcp/token-storage/hybrid-token-storage.ts.html +0 -373
- package/backend/coverage/lcov-report/packages/gemini-core/src/mcp/token-storage/index.html +0 -191
- package/backend/coverage/lcov-report/packages/gemini-core/src/mcp/token-storage/index.ts.html +0 -124
- package/backend/coverage/lcov-report/packages/gemini-core/src/mcp/token-storage/keychain-token-storage.ts.html +0 -835
- package/backend/coverage/lcov-report/packages/gemini-core/src/mcp/token-storage/types.ts.html +0 -211
- package/backend/coverage/lcov-report/packages/gemini-core/src/utils/errors.ts.html +0 -421
- package/backend/coverage/lcov-report/packages/gemini-core/src/utils/index.html +0 -191
- package/backend/coverage/lcov-report/packages/gemini-core/src/utils/partUtils.ts.html +0 -592
- package/backend/coverage/lcov-report/packages/gemini-core/src/utils/quotaErrorDetection.ts.html +0 -388
- package/backend/coverage/lcov-report/packages/gemini-core/src/utils/retry.ts.html +0 -877
- package/backend/coverage/lcov-report/packages/gemini-core/src/utils/session.ts.html +0 -112
- package/backend/coverage/lcov-report/packages/gemini-core/src/utils/userAccountManager.ts.html +0 -502
- package/backend/coverage/lcov-report/packages/tokenpatch/index.html +0 -161
- package/backend/coverage/lcov-report/packages/tokenpatch/index.ts.html +0 -415
- package/backend/coverage/lcov-report/packages/tokenpatch/parser.ts.html +0 -139
- package/backend/coverage/lcov-report/packages/tokenpatch/patcher.ts.html +0 -1249
- package/backend/coverage/lcov-report/packages/tokenpatch/strategies/index.html +0 -131
- package/backend/coverage/lcov-report/packages/tokenpatch/strategies/tiktoken-tokenizer.ts.html +0 -187
- package/backend/coverage/lcov-report/packages/tokenpatch/strategies/tree-sitter-tokenizer.ts.html +0 -193
- package/backend/coverage/lcov-report/packages/tokenpatch/tokens.ts.html +0 -178
- package/backend/coverage/lcov-report/prettify.css +0 -1
- package/backend/coverage/lcov-report/prettify.js +0 -2
- package/backend/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/backend/coverage/lcov-report/sorter.js +0 -210
- package/backend/coverage/lcov-report/src/ai-actions/ai-action-batch.service.ts.html +0 -1549
- package/backend/coverage/lcov-report/src/ai-actions/ai-actions.controller.ts.html +0 -904
- package/backend/coverage/lcov-report/src/ai-actions/ai-actions.module.ts.html +0 -175
- package/backend/coverage/lcov-report/src/ai-actions/ai-actions.service.ts.html +0 -1534
- package/backend/coverage/lcov-report/src/ai-actions/index.html +0 -161
- package/backend/coverage/lcov-report/src/app.controller.ts.html +0 -151
- package/backend/coverage/lcov-report/src/app.module.ts.html +0 -451
- package/backend/coverage/lcov-report/src/app.service.ts.html +0 -163
- package/backend/coverage/lcov-report/src/application-state/application-state.controller.ts.html +0 -1609
- package/backend/coverage/lcov-report/src/application-state/application-state.module.ts.html +0 -136
- package/backend/coverage/lcov-report/src/application-state/application-state.service.ts.html +0 -2281
- package/backend/coverage/lcov-report/src/application-state/dto/index.html +0 -416
- package/backend/coverage/lcov-report/src/application-state/dto/set-alibaba-config.dto.ts.html +0 -109
- package/backend/coverage/lcov-report/src/application-state/dto/set-auto-context-fetch-enabled.dto.ts.html +0 -118
- package/backend/coverage/lcov-report/src/application-state/dto/set-auto-send-to-ai-studio-enabled.dto.ts.html +0 -109
- package/backend/coverage/lcov-report/src/application-state/dto/set-context-token-limit.dto.ts.html +0 -124
- package/backend/coverage/lcov-report/src/application-state/dto/set-execution-strategy.dto.ts.html +0 -121
- package/backend/coverage/lcov-report/src/application-state/dto/set-followup-token-limit.dto.ts.html +0 -124
- package/backend/coverage/lcov-report/src/application-state/dto/set-history-compression-enabled.dto.ts.html +0 -115
- package/backend/coverage/lcov-report/src/application-state/dto/set-llm-retry-enabled.dto.ts.html +0 -115
- package/backend/coverage/lcov-report/src/application-state/dto/set-llm-retry-max-attempts.dto.ts.html +0 -127
- package/backend/coverage/lcov-report/src/application-state/dto/set-manual-llm-enabled.dto.ts.html +0 -118
- package/backend/coverage/lcov-report/src/application-state/dto/set-ollama-config.dto.ts.html +0 -109
- package/backend/coverage/lcov-report/src/application-state/dto/set-openai-config.dto.ts.html +0 -139
- package/backend/coverage/lcov-report/src/application-state/dto/set-openrouter-config.dto.ts.html +0 -109
- package/backend/coverage/lcov-report/src/application-state/dto/set-streaming-enabled.dto.ts.html +0 -109
- package/backend/coverage/lcov-report/src/application-state/dto/set-syntax-validation-enabled.dto.ts.html +0 -118
- package/backend/coverage/lcov-report/src/application-state/dto/set-theme.dto.ts.html +0 -124
- package/backend/coverage/lcov-report/src/application-state/dto/set-tools-enabled.dto.ts.html +0 -118
- package/backend/coverage/lcov-report/src/application-state/dto/set-websocket-enabled.dto.ts.html +0 -109
- package/backend/coverage/lcov-report/src/application-state/dto/set-yolo-mode-message.dto.ts.html +0 -124
- package/backend/coverage/lcov-report/src/application-state/dto/set-yolo-mode.dto.ts.html +0 -118
- package/backend/coverage/lcov-report/src/application-state/dto/set-zai-config.dto.ts.html +0 -109
- package/backend/coverage/lcov-report/src/application-state/index.html +0 -146
- package/backend/coverage/lcov-report/src/common/cache/cache-invalidation.service.ts.html +0 -1297
- package/backend/coverage/lcov-report/src/common/cache/cache-invalidation.subscriber.ts.html +0 -712
- package/backend/coverage/lcov-report/src/common/cache/etag-cache.service.ts.html +0 -379
- package/backend/coverage/lcov-report/src/common/cache/index.html +0 -146
- package/backend/coverage/lcov-report/src/common/common.module.ts.html +0 -121
- package/backend/coverage/lcov-report/src/common/index.html +0 -116
- package/backend/coverage/lcov-report/src/common/interceptors/etag-cache.interceptor.ts.html +0 -337
- package/backend/coverage/lcov-report/src/common/interceptors/index.html +0 -116
- package/backend/coverage/lcov-report/src/common/middleware/cache.middleware.ts.html +0 -265
- package/backend/coverage/lcov-report/src/common/middleware/index.html +0 -116
- package/backend/coverage/lcov-report/src/context-generation/context-generation.module.ts.html +0 -118
- package/backend/coverage/lcov-report/src/context-generation/context-generation.service.ts.html +0 -1501
- package/backend/coverage/lcov-report/src/context-generation/index.html +0 -131
- package/backend/coverage/lcov-report/src/context-snippets/context-snippets.controller.ts.html +0 -427
- package/backend/coverage/lcov-report/src/context-snippets/context-snippets.module.ts.html +0 -142
- package/backend/coverage/lcov-report/src/context-snippets/context-snippets.service.ts.html +0 -442
- package/backend/coverage/lcov-report/src/context-snippets/dto/context-snippet.dto.ts.html +0 -211
- package/backend/coverage/lcov-report/src/context-snippets/dto/index.html +0 -116
- package/backend/coverage/lcov-report/src/context-snippets/index.html +0 -146
- package/backend/coverage/lcov-report/src/context-templates/context-templates.controller.ts.html +0 -724
- package/backend/coverage/lcov-report/src/context-templates/context-templates.module.ts.html +0 -142
- package/backend/coverage/lcov-report/src/context-templates/context-templates.service.ts.html +0 -1015
- package/backend/coverage/lcov-report/src/context-templates/dto/context-template.dto.ts.html +0 -511
- package/backend/coverage/lcov-report/src/context-templates/dto/index.html +0 -116
- package/backend/coverage/lcov-report/src/context-templates/index.html +0 -146
- package/backend/coverage/lcov-report/src/core-entities/ai-action.entity.ts.html +0 -613
- package/backend/coverage/lcov-report/src/core-entities/application-state.entity.ts.html +0 -124
- package/backend/coverage/lcov-report/src/core-entities/base.entity.ts.html +0 -211
- package/backend/coverage/lcov-report/src/core-entities/context-snippet.entity.ts.html +0 -190
- package/backend/coverage/lcov-report/src/core-entities/context-template.entity.ts.html +0 -439
- package/backend/coverage/lcov-report/src/core-entities/custom-snippet.entity.ts.html +0 -205
- package/backend/coverage/lcov-report/src/core-entities/custom-variable.entity.ts.html +0 -241
- package/backend/coverage/lcov-report/src/core-entities/enums.ts.html +0 -553
- package/backend/coverage/lcov-report/src/core-entities/execution-log.entity.ts.html +0 -208
- package/backend/coverage/lcov-report/src/core-entities/index.html +0 -371
- package/backend/coverage/lcov-report/src/core-entities/index.ts.html +0 -136
- package/backend/coverage/lcov-report/src/core-entities/llm-call-log.entity.ts.html +0 -388
- package/backend/coverage/lcov-report/src/core-entities/mcp-config.entity.ts.html +0 -256
- package/backend/coverage/lcov-report/src/core-entities/mcp-tool.entity.ts.html +0 -256
- package/backend/coverage/lcov-report/src/core-entities/project.entity.ts.html +0 -181
- package/backend/coverage/lcov-report/src/core-entities/session-input.entity.ts.html +0 -745
- package/backend/coverage/lcov-report/src/core-entities/session.entity.ts.html +0 -688
- package/backend/coverage/lcov-report/src/core-entities/system-prompt.entity.ts.html +0 -349
- package/backend/coverage/lcov-report/src/core-entities/tool-hook.entity.ts.html +0 -235
- package/backend/coverage/lcov-report/src/custom-snippets/custom-snippets.controller.ts.html +0 -442
- package/backend/coverage/lcov-report/src/custom-snippets/custom-snippets.module.ts.html +0 -124
- package/backend/coverage/lcov-report/src/custom-snippets/custom-snippets.service.ts.html +0 -304
- package/backend/coverage/lcov-report/src/custom-snippets/dto/custom-snippet.dto.ts.html +0 -205
- package/backend/coverage/lcov-report/src/custom-snippets/dto/index.html +0 -116
- package/backend/coverage/lcov-report/src/custom-snippets/index.html +0 -146
- package/backend/coverage/lcov-report/src/custom-variables/custom-variables.controller.ts.html +0 -463
- package/backend/coverage/lcov-report/src/custom-variables/custom-variables.module.ts.html +0 -124
- package/backend/coverage/lcov-report/src/custom-variables/custom-variables.service.ts.html +0 -310
- package/backend/coverage/lcov-report/src/custom-variables/dto/custom-variable.dto.ts.html +0 -244
- package/backend/coverage/lcov-report/src/custom-variables/dto/index.html +0 -116
- package/backend/coverage/lcov-report/src/custom-variables/index.html +0 -146
- package/backend/coverage/lcov-report/src/events/events.gateway.ts.html +0 -295
- package/backend/coverage/lcov-report/src/events/events.module.ts.html +0 -109
- package/backend/coverage/lcov-report/src/events/index.html +0 -146
- package/backend/coverage/lcov-report/src/events/websocket.events.ts.html +0 -466
- package/backend/coverage/lcov-report/src/execution-logs/dto/execution-log.dto.ts.html +0 -130
- package/backend/coverage/lcov-report/src/execution-logs/dto/index.html +0 -116
- package/backend/coverage/lcov-report/src/execution-logs/execution-logs.controller.ts.html +0 -130
- package/backend/coverage/lcov-report/src/execution-logs/execution-logs.module.ts.html +0 -124
- package/backend/coverage/lcov-report/src/execution-logs/execution-logs.service.ts.html +0 -238
- package/backend/coverage/lcov-report/src/execution-logs/index.html +0 -146
- package/backend/coverage/lcov-report/src/gemini/gemini-llm.provider.ts.html +0 -553
- package/backend/coverage/lcov-report/src/gemini/gemini.module.ts.html +0 -109
- package/backend/coverage/lcov-report/src/gemini/index.html +0 -131
- package/backend/coverage/lcov-report/src/global-config/dto/index.html +0 -116
- package/backend/coverage/lcov-report/src/global-config/dto/update-global-config.dto.ts.html +0 -367
- package/backend/coverage/lcov-report/src/global-config/global-config.controller.ts.html +0 -220
- package/backend/coverage/lcov-report/src/global-config/global-config.module.ts.html +0 -115
- package/backend/coverage/lcov-report/src/global-config/global-config.service.ts.html +0 -397
- package/backend/coverage/lcov-report/src/global-config/index.html +0 -146
- package/backend/coverage/lcov-report/src/http-exception.filter.ts.html +0 -340
- package/backend/coverage/lcov-report/src/index.html +0 -206
- package/backend/coverage/lcov-report/src/interactive-chat/chat.module.ts.html +0 -187
- package/backend/coverage/lcov-report/src/interactive-chat/chat.service.ts.html +0 -1825
- package/backend/coverage/lcov-report/src/interactive-chat/index.html +0 -146
- package/backend/coverage/lcov-report/src/interactive-chat/streaming.controller.ts.html +0 -343
- package/backend/coverage/lcov-report/src/llm-call-logs/dto/index.html +0 -116
- package/backend/coverage/lcov-report/src/llm-call-logs/dto/llm-call-log.dto.ts.html +0 -214
- package/backend/coverage/lcov-report/src/llm-call-logs/index.html +0 -146
- package/backend/coverage/lcov-report/src/llm-call-logs/llm-call-logs.controller.ts.html +0 -634
- package/backend/coverage/lcov-report/src/llm-call-logs/llm-call-logs.module.ts.html +0 -124
- package/backend/coverage/lcov-report/src/llm-call-logs/llm-call-logs.service.ts.html +0 -643
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/apply-diff.handler.ts.html +0 -1090
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/ask-user.handler.ts.html +0 -433
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/create-file.handler.ts.html +0 -757
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/delete-file.handler.ts.html +0 -586
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/discard-messages.handler.ts.html +0 -1153
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/apply-diff.args.dto.ts.html +0 -124
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/ask-user.args.dto.ts.html +0 -103
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/create-file.args.dto.ts.html +0 -124
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/delete-file.args.dto.ts.html +0 -106
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/execute-code.args.dto.ts.html +0 -106
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/final.args.dto.ts.html +0 -118
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/generate-title.args.dto.ts.html +0 -190
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/get-session-history.args.dto.ts.html +0 -196
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/howto.args.dto.ts.html +0 -91
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/index.html +0 -356
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/new-session.args.dto.ts.html +0 -106
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/overwrite-file.args.dto.ts.html +0 -124
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/patch.args.dto.ts.html +0 -124
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/quick-edit.args.dto.ts.html +0 -214
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/request-context.args.dto.ts.html +0 -202
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/run-command.args.dto.ts.html +0 -151
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/sanitizer.decorator.ts.html +0 -181
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/dto/write-todo.args.dto.ts.html +0 -130
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/execute-code.handler.ts.html +0 -631
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/final.handler.ts.html +0 -469
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/generate-title.handler.ts.html +0 -448
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/get-messages.handler.ts.html +0 -1351
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/get-session-history.handler.ts.html +0 -868
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/howto.handler.ts.html +0 -481
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/index.html +0 -416
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/invoke-subagent.handler.ts.html +0 -580
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/list-sub-agents.handler.ts.html +0 -352
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/matchers/context-aware.matcher.ts.html +0 -1054
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/matchers/exact.matcher.ts.html +0 -331
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/matchers/hybrid.matcher.ts.html +0 -403
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/matchers/index.html +0 -176
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/matchers/index.ts.html +0 -100
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/matchers/normalized.matcher.ts.html +0 -724
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/mcp-tool-action.handler.ts.html +0 -358
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/new-session.handler.ts.html +0 -379
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/overwrite-file.handler.ts.html +0 -838
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/patch.handler.ts.html +0 -1702
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/quick-edit.handler.ts.html +0 -1459
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/request-context.handler.ts.html +0 -679
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/run-command.handler.ts.html +0 -964
- package/backend/coverage/lcov-report/src/llm-orchestration/action-handlers/write-todo.handler.ts.html +0 -625
- package/backend/coverage/lcov-report/src/llm-orchestration/errors/handler-validation.error.ts.html +0 -103
- package/backend/coverage/lcov-report/src/llm-orchestration/errors/index.html +0 -116
- package/backend/coverage/lcov-report/src/llm-orchestration/history-compression.service.ts.html +0 -1645
- package/backend/coverage/lcov-report/src/llm-orchestration/hooks/follow-up-post-execution.hook.ts.html +0 -238
- package/backend/coverage/lcov-report/src/llm-orchestration/hooks/frontend-notification.hook.ts.html +0 -181
- package/backend/coverage/lcov-report/src/llm-orchestration/hooks/index.html +0 -161
- package/backend/coverage/lcov-report/src/llm-orchestration/hooks/invalid-tool-feedback.hook.ts.html +0 -313
- package/backend/coverage/lcov-report/src/llm-orchestration/hooks/yolo-mode-post-execution.hook.ts.html +0 -466
- package/backend/coverage/lcov-report/src/llm-orchestration/index.html +0 -176
- package/backend/coverage/lcov-report/src/llm-orchestration/llm-orchestration.interfaces.ts.html +0 -319
- package/backend/coverage/lcov-report/src/llm-orchestration/llm-orchestration.module.ts.html +0 -706
- package/backend/coverage/lcov-report/src/llm-orchestration/llm-turn-processor.service.ts.html +0 -1150
- package/backend/coverage/lcov-report/src/llm-orchestration/parser/index.html +0 -131
- package/backend/coverage/lcov-report/src/llm-orchestration/parser/llm-output-parser.service.ts.html +0 -658
- package/backend/coverage/lcov-report/src/llm-orchestration/parser/parsing.constants.ts.html +0 -127
- package/backend/coverage/lcov-report/src/llm-orchestration/tool-schema.service.ts.html +0 -547
- package/backend/coverage/lcov-report/src/llm-provider/alibaba-llm.provider.ts.html +0 -1681
- package/backend/coverage/lcov-report/src/llm-provider/index.html +0 -236
- package/backend/coverage/lcov-report/src/llm-provider/llm-provider.controller.ts.html +0 -187
- package/backend/coverage/lcov-report/src/llm-provider/llm-provider.interface.ts.html +0 -361
- package/backend/coverage/lcov-report/src/llm-provider/llm-provider.module.ts.html +0 -175
- package/backend/coverage/lcov-report/src/llm-provider/ollama-llm.provider.ts.html +0 -1780
- package/backend/coverage/lcov-report/src/llm-provider/openai-llm.provider.ts.html +0 -1867
- package/backend/coverage/lcov-report/src/llm-provider/openrouter-llm.provider.ts.html +0 -1891
- package/backend/coverage/lcov-report/src/llm-provider/proxy-llm.provider.ts.html +0 -304
- package/backend/coverage/lcov-report/src/llm-provider/zai-llm.provider.ts.html +0 -1666
- package/backend/coverage/lcov-report/src/llm-responses/dto/index.html +0 -131
- package/backend/coverage/lcov-report/src/llm-responses/dto/submit-llm-response.dto.ts.html +0 -436
- package/backend/coverage/lcov-report/src/llm-responses/dto/sync-conversation.dto.ts.html +0 -319
- package/backend/coverage/lcov-report/src/llm-responses/index.html +0 -146
- package/backend/coverage/lcov-report/src/llm-responses/llm-responses.controller.ts.html +0 -283
- package/backend/coverage/lcov-report/src/llm-responses/llm-responses.module.ts.html +0 -184
- package/backend/coverage/lcov-report/src/llm-responses/llm-responses.service.ts.html +0 -1474
- package/backend/coverage/lcov-report/src/main.ts.html +0 -463
- package/backend/coverage/lcov-report/src/mcp/dto/batch-update-mcp-tools.dto.ts.html +0 -145
- package/backend/coverage/lcov-report/src/mcp/dto/create-mcp-config.dto.ts.html +0 -127
- package/backend/coverage/lcov-report/src/mcp/dto/index.html +0 -146
- package/backend/coverage/lcov-report/src/mcp/dto/update-mcp-config.dto.ts.html +0 -112
- package/backend/coverage/lcov-report/src/mcp/index.html +0 -146
- package/backend/coverage/lcov-report/src/mcp/mcp.controller.ts.html +0 -340
- package/backend/coverage/lcov-report/src/mcp/mcp.module.ts.html +0 -124
- package/backend/coverage/lcov-report/src/mcp/mcp.service.ts.html +0 -1345
- package/backend/coverage/lcov-report/src/message-bus/dto/index.html +0 -116
- package/backend/coverage/lcov-report/src/message-bus/dto/submit-message.dto.ts.html +0 -109
- package/backend/coverage/lcov-report/src/message-bus/index.html +0 -146
- package/backend/coverage/lcov-report/src/message-bus/message-bus.controller.ts.html +0 -148
- package/backend/coverage/lcov-report/src/message-bus/message-bus.module.ts.html +0 -115
- package/backend/coverage/lcov-report/src/message-bus/message-bus.service.ts.html +0 -151
- package/backend/coverage/lcov-report/src/projects/dto/index.html +0 -116
- package/backend/coverage/lcov-report/src/projects/dto/project.dto.ts.html +0 -196
- package/backend/coverage/lcov-report/src/projects/index.html +0 -146
- package/backend/coverage/lcov-report/src/projects/projects.controller.ts.html +0 -322
- package/backend/coverage/lcov-report/src/projects/projects.module.ts.html +0 -124
- package/backend/coverage/lcov-report/src/projects/projects.service.ts.html +0 -235
- package/backend/coverage/lcov-report/src/seeding/context-snippet-seeding.service.ts.html +0 -280
- package/backend/coverage/lcov-report/src/seeding/context-template-seeding.service.ts.html +0 -439
- package/backend/coverage/lcov-report/src/seeding/custom-snippet-seeding.service.ts.html +0 -271
- package/backend/coverage/lcov-report/src/seeding/custom-variable-seeding.service.ts.html +0 -271
- package/backend/coverage/lcov-report/src/seeding/data/context-snippets/compress.ts.html +0 -172
- package/backend/coverage/lcov-report/src/seeding/data/context-snippets/index.html +0 -116
- package/backend/coverage/lcov-report/src/seeding/data/context-templates/default-followup_ad-hoc-focused-context.ts.html +0 -157
- package/backend/coverage/lcov-report/src/seeding/data/context-templates/default-initial_condensed-project-context.ts.html +0 -148
- package/backend/coverage/lcov-report/src/seeding/data/context-templates/default-initial_full-project-context.ts.html +0 -151
- package/backend/coverage/lcov-report/src/seeding/data/context-templates/index.html +0 -161
- package/backend/coverage/lcov-report/src/seeding/data/context-templates/open-pr-command.ts.html +0 -247
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/default_rglob.ts.html +0 -94
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/eta-for.ts.html +0 -100
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/eta-if.ts.html +0 -97
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/eta-ifelse.ts.html +0 -100
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/everest-playwright-auth.ts.html +0 -304
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/git-diff.ts.html +0 -94
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/index.html +0 -341
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/it-mcp.ts.html +0 -100
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/it-tools.ts.html +0 -97
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/rg-exclude.ts.html +0 -94
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/rg-search-glob.ts.html +0 -94
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/rg-search.ts.html +0 -94
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/run-command.ts.html +0 -94
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/tree.ts.html +0 -94
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/usr-adhoc-incl.ts.html +0 -100
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/usr-cmd-output-incl.ts.html +0 -94
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/usr-input-incl.ts.html +0 -94
- package/backend/coverage/lcov-report/src/seeding/data/custom-variables/default-auto-execute-code.ts.html +0 -94
- package/backend/coverage/lcov-report/src/seeding/data/custom-variables/default-plan-mode.ts.html +0 -97
- package/backend/coverage/lcov-report/src/seeding/data/custom-variables/index.html +0 -131
- package/backend/coverage/lcov-report/src/seeding/data/mcp-configs/default-configs.ts.html +0 -121
- package/backend/coverage/lcov-report/src/seeding/data/mcp-configs/index.html +0 -116
- package/backend/coverage/lcov-report/src/seeding/data/sub-agents/browser-use.ts.html +0 -115
- package/backend/coverage/lcov-report/src/seeding/data/sub-agents/explore-codebase.ts.html +0 -136
- package/backend/coverage/lcov-report/src/seeding/data/sub-agents/index.html +0 -131
- package/backend/coverage/lcov-report/src/seeding/data/system-prompts/browser-use-agent.ts.html +0 -190
- package/backend/coverage/lcov-report/src/seeding/data/system-prompts/default_native_tool_agent.ts.html +0 -421
- package/backend/coverage/lcov-report/src/seeding/data/system-prompts/explore-codebase-agent.ts.html +0 -265
- package/backend/coverage/lcov-report/src/seeding/data/system-prompts/index.html +0 -161
- package/backend/coverage/lcov-report/src/seeding/data/system-prompts/master-agent.ts.html +0 -388
- package/backend/coverage/lcov-report/src/seeding/data/tool-hooks/eslint-hook.ts.html +0 -265
- package/backend/coverage/lcov-report/src/seeding/data/tool-hooks/example-hook.ts.html +0 -274
- package/backend/coverage/lcov-report/src/seeding/data/tool-hooks/index.html +0 -146
- package/backend/coverage/lcov-report/src/seeding/data/tool-hooks/readme.ts.html +0 -250
- package/backend/coverage/lcov-report/src/seeding/index.html +0 -236
- package/backend/coverage/lcov-report/src/seeding/mcp-config-seeding.service.ts.html +0 -193
- package/backend/coverage/lcov-report/src/seeding/seeding.module.ts.html +0 -211
- package/backend/coverage/lcov-report/src/seeding/seeding.service.ts.html +0 -187
- package/backend/coverage/lcov-report/src/seeding/sub-agent-seeding.service.ts.html +0 -742
- package/backend/coverage/lcov-report/src/seeding/system-prompt-seeding.service.ts.html +0 -397
- package/backend/coverage/lcov-report/src/session-followup/index.html +0 -131
- package/backend/coverage/lcov-report/src/session-followup/session-followup.module.ts.html +0 -130
- package/backend/coverage/lcov-report/src/session-followup/session-followup.service.ts.html +0 -718
- package/backend/coverage/lcov-report/src/session-inputs/dto/index.html +0 -116
- package/backend/coverage/lcov-report/src/session-inputs/dto/session-input.dto.ts.html +0 -577
- package/backend/coverage/lcov-report/src/session-inputs/index.html +0 -176
- package/backend/coverage/lcov-report/src/session-inputs/session-input-context.service.ts.html +0 -832
- package/backend/coverage/lcov-report/src/session-inputs/session-input.subscriber.ts.html +0 -220
- package/backend/coverage/lcov-report/src/session-inputs/session-inputs.controller.ts.html +0 -685
- package/backend/coverage/lcov-report/src/session-inputs/session-inputs.module.ts.html +0 -229
- package/backend/coverage/lcov-report/src/session-inputs/session-inputs.service.ts.html +0 -1981
- package/backend/coverage/lcov-report/src/session-transfer/index.html +0 -131
- package/backend/coverage/lcov-report/src/session-transfer/session-transfer.module.ts.html +0 -160
- package/backend/coverage/lcov-report/src/session-transfer/session-transfer.service.ts.html +0 -883
- package/backend/coverage/lcov-report/src/sessions/dto/index.html +0 -116
- package/backend/coverage/lcov-report/src/sessions/dto/session.dto.ts.html +0 -769
- package/backend/coverage/lcov-report/src/sessions/index.html +0 -146
- package/backend/coverage/lcov-report/src/sessions/sessions.controller.ts.html +0 -1306
- package/backend/coverage/lcov-report/src/sessions/sessions.module.ts.html +0 -220
- package/backend/coverage/lcov-report/src/sessions/sessions.service.ts.html +0 -2797
- package/backend/coverage/lcov-report/src/sub-agents/dto/create-sub-agent.dto.ts.html +0 -355
- package/backend/coverage/lcov-report/src/sub-agents/dto/index.html +0 -131
- package/backend/coverage/lcov-report/src/sub-agents/dto/update-sub-agent.dto.ts.html +0 -295
- package/backend/coverage/lcov-report/src/sub-agents/index.html +0 -221
- package/backend/coverage/lcov-report/src/sub-agents/sub-agent-run.entity.ts.html +0 -463
- package/backend/coverage/lcov-report/src/sub-agents/sub-agent-runner.service.ts.html +0 -2428
- package/backend/coverage/lcov-report/src/sub-agents/sub-agent-runs.controller.ts.html +0 -580
- package/backend/coverage/lcov-report/src/sub-agents/sub-agent-runs.service.ts.html +0 -550
- package/backend/coverage/lcov-report/src/sub-agents/sub-agent.entity.ts.html +0 -475
- package/backend/coverage/lcov-report/src/sub-agents/sub-agents.controller.ts.html +0 -373
- package/backend/coverage/lcov-report/src/sub-agents/sub-agents.module.ts.html +0 -205
- package/backend/coverage/lcov-report/src/sub-agents/sub-agents.service.ts.html +0 -619
- package/backend/coverage/lcov-report/src/syntax-validation/index.html +0 -131
- package/backend/coverage/lcov-report/src/syntax-validation/syntax-validation.module.ts.html +0 -109
- package/backend/coverage/lcov-report/src/syntax-validation/syntax-validation.service.ts.html +0 -724
- package/backend/coverage/lcov-report/src/system-prompts/dto/index.html +0 -176
- package/backend/coverage/lcov-report/src/system-prompts/dto/set-enabled-mcp-tools.dto.ts.html +0 -157
- package/backend/coverage/lcov-report/src/system-prompts/dto/set-enabled-tools.dto.ts.html +0 -148
- package/backend/coverage/lcov-report/src/system-prompts/dto/system-prompt.dto.ts.html +0 -517
- package/backend/coverage/lcov-report/src/system-prompts/dto/toggle-mcp-tool.dto.ts.html +0 -121
- package/backend/coverage/lcov-report/src/system-prompts/dto/toggle-tool.dto.ts.html +0 -118
- package/backend/coverage/lcov-report/src/system-prompts/index.html +0 -146
- package/backend/coverage/lcov-report/src/system-prompts/system-prompts.controller.ts.html +0 -1060
- package/backend/coverage/lcov-report/src/system-prompts/system-prompts.module.ts.html +0 -160
- package/backend/coverage/lcov-report/src/system-prompts/system-prompts.service.ts.html +0 -2254
- package/backend/coverage/lcov-report/src/timeout.interceptor.ts.html +0 -178
- package/backend/coverage/lcov-report/src/tool-hooks/dto/create-tool-hook.dto.ts.html +0 -181
- package/backend/coverage/lcov-report/src/tool-hooks/dto/index.html +0 -131
- package/backend/coverage/lcov-report/src/tool-hooks/dto/update-tool-hook.dto.ts.html +0 -178
- package/backend/coverage/lcov-report/src/tool-hooks/index.html +0 -146
- package/backend/coverage/lcov-report/src/tool-hooks/tool-hooks.controller.ts.html +0 -481
- package/backend/coverage/lcov-report/src/tool-hooks/tool-hooks.module.ts.html +0 -127
- package/backend/coverage/lcov-report/src/tool-hooks/tool-hooks.service.ts.html +0 -1222
- package/backend/coverage/lcov-report/src/tracing.ts.html +0 -214
- package/backend/coverage/lcov-report/src/types/express-multer.d.ts.html +0 -130
- package/backend/coverage/lcov-report/src/types/index.html +0 -116
- package/backend/coverage/lcov-report/src/utils/ai-format-generator.ts.html +0 -253
- package/backend/coverage/lcov-report/src/utils/fuzzy-search.ts.html +0 -310
- package/backend/coverage/lcov-report/src/utils/index.html +0 -191
- package/backend/coverage/lcov-report/src/utils/index.ts.html +0 -100
- package/backend/coverage/lcov-report/src/utils/short-id.ts.html +0 -109
- package/backend/coverage/lcov-report/src/utils/spawn-with-kill.ts.html +0 -412
- package/backend/coverage/lcov-report/src/utils/trace.decorator.ts.html +0 -223
- package/backend/coverage/lcov-report/src/visual-editor/index.html +0 -146
- package/backend/coverage/lcov-report/src/visual-editor/visual-editor.controller.ts.html +0 -409
- package/backend/coverage/lcov-report/src/visual-editor/visual-editor.dto.ts.html +0 -130
- package/backend/coverage/lcov-report/src/visual-editor/visual-editor.module.ts.html +0 -118
- package/backend/coverage/lcov-report/src/workspace/dto/file-tree.dto.ts.html +0 -112
- package/backend/coverage/lcov-report/src/workspace/dto/index.html +0 -131
- package/backend/coverage/lcov-report/src/workspace/dto/search-workspace.dto.ts.html +0 -193
- package/backend/coverage/lcov-report/src/workspace/index.html +0 -146
- package/backend/coverage/lcov-report/src/workspace/workspace.controller.ts.html +0 -394
- package/backend/coverage/lcov-report/src/workspace/workspace.module.ts.html +0 -121
- package/backend/coverage/lcov-report/src/workspace/workspace.service.ts.html +0 -1027
- package/backend/coverage/lcov.info +0 -20220
- package/backend/packages/tokenpatch/CODEMAP.md +0 -25
- package/daemon/CODEMAP.md +0 -23
- package/visual-editor-proxy/CODEMAP.md +0 -21
|
@@ -1,1459 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for src/llm-orchestration/action-handlers/quick-edit.handler.ts</title>
|
|
7
|
-
<meta charset="utf-8" />
|
|
8
|
-
<link rel="stylesheet" href="../../../prettify.css" />
|
|
9
|
-
<link rel="stylesheet" href="../../../base.css" />
|
|
10
|
-
<link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
|
|
11
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
-
<style type='text/css'>
|
|
13
|
-
.coverage-summary .sorter {
|
|
14
|
-
background-image: url(../../../sort-arrow-sprite.png);
|
|
15
|
-
}
|
|
16
|
-
</style>
|
|
17
|
-
</head>
|
|
18
|
-
|
|
19
|
-
<body>
|
|
20
|
-
<div class='wrapper'>
|
|
21
|
-
<div class='pad1'>
|
|
22
|
-
<h1><a href="../../../index.html">All files</a> / <a href="index.html">src/llm-orchestration/action-handlers</a> quick-edit.handler.ts</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">65.78% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>75/114</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">56.41% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>22/39</span>
|
|
36
|
-
</div>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">69.23% </span>
|
|
41
|
-
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>9/13</span>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">65.17% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>73/112</span>
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
</div>
|
|
54
|
-
<p class="quiet">
|
|
55
|
-
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
-
</p>
|
|
57
|
-
<template id="filterTemplate">
|
|
58
|
-
<div class="quiet">
|
|
59
|
-
Filter:
|
|
60
|
-
<input type="search" id="fileSearch">
|
|
61
|
-
</div>
|
|
62
|
-
</template>
|
|
63
|
-
</div>
|
|
64
|
-
<div class='status-line medium'></div>
|
|
65
|
-
<pre><table class="coverage">
|
|
66
|
-
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
-
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
-
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
-
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
-
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
-
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
-
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
-
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
-
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
-
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
-
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
-
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
-
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
-
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
-
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
-
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
-
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
-
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
-
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
-
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
-
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
-
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
-
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
-
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
-
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
-
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
-
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
-
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
-
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
-
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
-
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
-
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
-
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
-
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
-
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
-
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
-
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
-
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
-
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
-
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
-
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
-
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
-
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
-
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
-
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
-
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
-
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
-
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
-
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
-
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
-
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
-
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
-
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
-
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
-
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
-
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
-
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
-
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
-
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
-
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
-
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
-
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
-
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
-
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
-
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
-
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
-
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
-
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
-
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
-
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
-
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
-
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
-
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
-
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
-
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
-
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
-
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
-
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
-
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
-
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
-
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
-
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
-
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
-
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
-
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
-
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
-
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
-
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
-
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
-
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
-
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
-
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
-
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
-
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
-
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
-
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
-
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
-
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
-
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
-
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
-
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
-
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
-
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
-
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
-
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
-
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
-
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
-
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
-
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
-
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
-
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
-
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
-
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
-
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
-
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
-
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
-
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
-
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
-
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
-
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
-
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
-
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
-
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
-
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
-
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
-
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
-
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
-
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
-
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
-
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
-
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
-
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
-
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
-
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
-
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
-
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
-
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
-
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
-
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
-
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
-
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
-
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
-
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
-
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
-
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
-
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
-
<a name='L147'></a><a href='#L147'>147</a>
|
|
213
|
-
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
-
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
-
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
-
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
|
-
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
|
-
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
-
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
-
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
-
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
-
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
-
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
-
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
-
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
-
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
-
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
-
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
-
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
-
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
-
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
-
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
-
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
-
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
-
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
-
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
-
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
-
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
-
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
-
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
-
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
-
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
-
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
-
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
-
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
-
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
-
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
-
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
-
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
-
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
-
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
-
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
-
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
-
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
-
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
-
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
-
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
-
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
-
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
-
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
-
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
-
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
-
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
-
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
-
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
-
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
-
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
-
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
-
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
-
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
-
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
-
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
-
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
-
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
-
<a name='L210'></a><a href='#L210'>210</a>
|
|
276
|
-
<a name='L211'></a><a href='#L211'>211</a>
|
|
277
|
-
<a name='L212'></a><a href='#L212'>212</a>
|
|
278
|
-
<a name='L213'></a><a href='#L213'>213</a>
|
|
279
|
-
<a name='L214'></a><a href='#L214'>214</a>
|
|
280
|
-
<a name='L215'></a><a href='#L215'>215</a>
|
|
281
|
-
<a name='L216'></a><a href='#L216'>216</a>
|
|
282
|
-
<a name='L217'></a><a href='#L217'>217</a>
|
|
283
|
-
<a name='L218'></a><a href='#L218'>218</a>
|
|
284
|
-
<a name='L219'></a><a href='#L219'>219</a>
|
|
285
|
-
<a name='L220'></a><a href='#L220'>220</a>
|
|
286
|
-
<a name='L221'></a><a href='#L221'>221</a>
|
|
287
|
-
<a name='L222'></a><a href='#L222'>222</a>
|
|
288
|
-
<a name='L223'></a><a href='#L223'>223</a>
|
|
289
|
-
<a name='L224'></a><a href='#L224'>224</a>
|
|
290
|
-
<a name='L225'></a><a href='#L225'>225</a>
|
|
291
|
-
<a name='L226'></a><a href='#L226'>226</a>
|
|
292
|
-
<a name='L227'></a><a href='#L227'>227</a>
|
|
293
|
-
<a name='L228'></a><a href='#L228'>228</a>
|
|
294
|
-
<a name='L229'></a><a href='#L229'>229</a>
|
|
295
|
-
<a name='L230'></a><a href='#L230'>230</a>
|
|
296
|
-
<a name='L231'></a><a href='#L231'>231</a>
|
|
297
|
-
<a name='L232'></a><a href='#L232'>232</a>
|
|
298
|
-
<a name='L233'></a><a href='#L233'>233</a>
|
|
299
|
-
<a name='L234'></a><a href='#L234'>234</a>
|
|
300
|
-
<a name='L235'></a><a href='#L235'>235</a>
|
|
301
|
-
<a name='L236'></a><a href='#L236'>236</a>
|
|
302
|
-
<a name='L237'></a><a href='#L237'>237</a>
|
|
303
|
-
<a name='L238'></a><a href='#L238'>238</a>
|
|
304
|
-
<a name='L239'></a><a href='#L239'>239</a>
|
|
305
|
-
<a name='L240'></a><a href='#L240'>240</a>
|
|
306
|
-
<a name='L241'></a><a href='#L241'>241</a>
|
|
307
|
-
<a name='L242'></a><a href='#L242'>242</a>
|
|
308
|
-
<a name='L243'></a><a href='#L243'>243</a>
|
|
309
|
-
<a name='L244'></a><a href='#L244'>244</a>
|
|
310
|
-
<a name='L245'></a><a href='#L245'>245</a>
|
|
311
|
-
<a name='L246'></a><a href='#L246'>246</a>
|
|
312
|
-
<a name='L247'></a><a href='#L247'>247</a>
|
|
313
|
-
<a name='L248'></a><a href='#L248'>248</a>
|
|
314
|
-
<a name='L249'></a><a href='#L249'>249</a>
|
|
315
|
-
<a name='L250'></a><a href='#L250'>250</a>
|
|
316
|
-
<a name='L251'></a><a href='#L251'>251</a>
|
|
317
|
-
<a name='L252'></a><a href='#L252'>252</a>
|
|
318
|
-
<a name='L253'></a><a href='#L253'>253</a>
|
|
319
|
-
<a name='L254'></a><a href='#L254'>254</a>
|
|
320
|
-
<a name='L255'></a><a href='#L255'>255</a>
|
|
321
|
-
<a name='L256'></a><a href='#L256'>256</a>
|
|
322
|
-
<a name='L257'></a><a href='#L257'>257</a>
|
|
323
|
-
<a name='L258'></a><a href='#L258'>258</a>
|
|
324
|
-
<a name='L259'></a><a href='#L259'>259</a>
|
|
325
|
-
<a name='L260'></a><a href='#L260'>260</a>
|
|
326
|
-
<a name='L261'></a><a href='#L261'>261</a>
|
|
327
|
-
<a name='L262'></a><a href='#L262'>262</a>
|
|
328
|
-
<a name='L263'></a><a href='#L263'>263</a>
|
|
329
|
-
<a name='L264'></a><a href='#L264'>264</a>
|
|
330
|
-
<a name='L265'></a><a href='#L265'>265</a>
|
|
331
|
-
<a name='L266'></a><a href='#L266'>266</a>
|
|
332
|
-
<a name='L267'></a><a href='#L267'>267</a>
|
|
333
|
-
<a name='L268'></a><a href='#L268'>268</a>
|
|
334
|
-
<a name='L269'></a><a href='#L269'>269</a>
|
|
335
|
-
<a name='L270'></a><a href='#L270'>270</a>
|
|
336
|
-
<a name='L271'></a><a href='#L271'>271</a>
|
|
337
|
-
<a name='L272'></a><a href='#L272'>272</a>
|
|
338
|
-
<a name='L273'></a><a href='#L273'>273</a>
|
|
339
|
-
<a name='L274'></a><a href='#L274'>274</a>
|
|
340
|
-
<a name='L275'></a><a href='#L275'>275</a>
|
|
341
|
-
<a name='L276'></a><a href='#L276'>276</a>
|
|
342
|
-
<a name='L277'></a><a href='#L277'>277</a>
|
|
343
|
-
<a name='L278'></a><a href='#L278'>278</a>
|
|
344
|
-
<a name='L279'></a><a href='#L279'>279</a>
|
|
345
|
-
<a name='L280'></a><a href='#L280'>280</a>
|
|
346
|
-
<a name='L281'></a><a href='#L281'>281</a>
|
|
347
|
-
<a name='L282'></a><a href='#L282'>282</a>
|
|
348
|
-
<a name='L283'></a><a href='#L283'>283</a>
|
|
349
|
-
<a name='L284'></a><a href='#L284'>284</a>
|
|
350
|
-
<a name='L285'></a><a href='#L285'>285</a>
|
|
351
|
-
<a name='L286'></a><a href='#L286'>286</a>
|
|
352
|
-
<a name='L287'></a><a href='#L287'>287</a>
|
|
353
|
-
<a name='L288'></a><a href='#L288'>288</a>
|
|
354
|
-
<a name='L289'></a><a href='#L289'>289</a>
|
|
355
|
-
<a name='L290'></a><a href='#L290'>290</a>
|
|
356
|
-
<a name='L291'></a><a href='#L291'>291</a>
|
|
357
|
-
<a name='L292'></a><a href='#L292'>292</a>
|
|
358
|
-
<a name='L293'></a><a href='#L293'>293</a>
|
|
359
|
-
<a name='L294'></a><a href='#L294'>294</a>
|
|
360
|
-
<a name='L295'></a><a href='#L295'>295</a>
|
|
361
|
-
<a name='L296'></a><a href='#L296'>296</a>
|
|
362
|
-
<a name='L297'></a><a href='#L297'>297</a>
|
|
363
|
-
<a name='L298'></a><a href='#L298'>298</a>
|
|
364
|
-
<a name='L299'></a><a href='#L299'>299</a>
|
|
365
|
-
<a name='L300'></a><a href='#L300'>300</a>
|
|
366
|
-
<a name='L301'></a><a href='#L301'>301</a>
|
|
367
|
-
<a name='L302'></a><a href='#L302'>302</a>
|
|
368
|
-
<a name='L303'></a><a href='#L303'>303</a>
|
|
369
|
-
<a name='L304'></a><a href='#L304'>304</a>
|
|
370
|
-
<a name='L305'></a><a href='#L305'>305</a>
|
|
371
|
-
<a name='L306'></a><a href='#L306'>306</a>
|
|
372
|
-
<a name='L307'></a><a href='#L307'>307</a>
|
|
373
|
-
<a name='L308'></a><a href='#L308'>308</a>
|
|
374
|
-
<a name='L309'></a><a href='#L309'>309</a>
|
|
375
|
-
<a name='L310'></a><a href='#L310'>310</a>
|
|
376
|
-
<a name='L311'></a><a href='#L311'>311</a>
|
|
377
|
-
<a name='L312'></a><a href='#L312'>312</a>
|
|
378
|
-
<a name='L313'></a><a href='#L313'>313</a>
|
|
379
|
-
<a name='L314'></a><a href='#L314'>314</a>
|
|
380
|
-
<a name='L315'></a><a href='#L315'>315</a>
|
|
381
|
-
<a name='L316'></a><a href='#L316'>316</a>
|
|
382
|
-
<a name='L317'></a><a href='#L317'>317</a>
|
|
383
|
-
<a name='L318'></a><a href='#L318'>318</a>
|
|
384
|
-
<a name='L319'></a><a href='#L319'>319</a>
|
|
385
|
-
<a name='L320'></a><a href='#L320'>320</a>
|
|
386
|
-
<a name='L321'></a><a href='#L321'>321</a>
|
|
387
|
-
<a name='L322'></a><a href='#L322'>322</a>
|
|
388
|
-
<a name='L323'></a><a href='#L323'>323</a>
|
|
389
|
-
<a name='L324'></a><a href='#L324'>324</a>
|
|
390
|
-
<a name='L325'></a><a href='#L325'>325</a>
|
|
391
|
-
<a name='L326'></a><a href='#L326'>326</a>
|
|
392
|
-
<a name='L327'></a><a href='#L327'>327</a>
|
|
393
|
-
<a name='L328'></a><a href='#L328'>328</a>
|
|
394
|
-
<a name='L329'></a><a href='#L329'>329</a>
|
|
395
|
-
<a name='L330'></a><a href='#L330'>330</a>
|
|
396
|
-
<a name='L331'></a><a href='#L331'>331</a>
|
|
397
|
-
<a name='L332'></a><a href='#L332'>332</a>
|
|
398
|
-
<a name='L333'></a><a href='#L333'>333</a>
|
|
399
|
-
<a name='L334'></a><a href='#L334'>334</a>
|
|
400
|
-
<a name='L335'></a><a href='#L335'>335</a>
|
|
401
|
-
<a name='L336'></a><a href='#L336'>336</a>
|
|
402
|
-
<a name='L337'></a><a href='#L337'>337</a>
|
|
403
|
-
<a name='L338'></a><a href='#L338'>338</a>
|
|
404
|
-
<a name='L339'></a><a href='#L339'>339</a>
|
|
405
|
-
<a name='L340'></a><a href='#L340'>340</a>
|
|
406
|
-
<a name='L341'></a><a href='#L341'>341</a>
|
|
407
|
-
<a name='L342'></a><a href='#L342'>342</a>
|
|
408
|
-
<a name='L343'></a><a href='#L343'>343</a>
|
|
409
|
-
<a name='L344'></a><a href='#L344'>344</a>
|
|
410
|
-
<a name='L345'></a><a href='#L345'>345</a>
|
|
411
|
-
<a name='L346'></a><a href='#L346'>346</a>
|
|
412
|
-
<a name='L347'></a><a href='#L347'>347</a>
|
|
413
|
-
<a name='L348'></a><a href='#L348'>348</a>
|
|
414
|
-
<a name='L349'></a><a href='#L349'>349</a>
|
|
415
|
-
<a name='L350'></a><a href='#L350'>350</a>
|
|
416
|
-
<a name='L351'></a><a href='#L351'>351</a>
|
|
417
|
-
<a name='L352'></a><a href='#L352'>352</a>
|
|
418
|
-
<a name='L353'></a><a href='#L353'>353</a>
|
|
419
|
-
<a name='L354'></a><a href='#L354'>354</a>
|
|
420
|
-
<a name='L355'></a><a href='#L355'>355</a>
|
|
421
|
-
<a name='L356'></a><a href='#L356'>356</a>
|
|
422
|
-
<a name='L357'></a><a href='#L357'>357</a>
|
|
423
|
-
<a name='L358'></a><a href='#L358'>358</a>
|
|
424
|
-
<a name='L359'></a><a href='#L359'>359</a>
|
|
425
|
-
<a name='L360'></a><a href='#L360'>360</a>
|
|
426
|
-
<a name='L361'></a><a href='#L361'>361</a>
|
|
427
|
-
<a name='L362'></a><a href='#L362'>362</a>
|
|
428
|
-
<a name='L363'></a><a href='#L363'>363</a>
|
|
429
|
-
<a name='L364'></a><a href='#L364'>364</a>
|
|
430
|
-
<a name='L365'></a><a href='#L365'>365</a>
|
|
431
|
-
<a name='L366'></a><a href='#L366'>366</a>
|
|
432
|
-
<a name='L367'></a><a href='#L367'>367</a>
|
|
433
|
-
<a name='L368'></a><a href='#L368'>368</a>
|
|
434
|
-
<a name='L369'></a><a href='#L369'>369</a>
|
|
435
|
-
<a name='L370'></a><a href='#L370'>370</a>
|
|
436
|
-
<a name='L371'></a><a href='#L371'>371</a>
|
|
437
|
-
<a name='L372'></a><a href='#L372'>372</a>
|
|
438
|
-
<a name='L373'></a><a href='#L373'>373</a>
|
|
439
|
-
<a name='L374'></a><a href='#L374'>374</a>
|
|
440
|
-
<a name='L375'></a><a href='#L375'>375</a>
|
|
441
|
-
<a name='L376'></a><a href='#L376'>376</a>
|
|
442
|
-
<a name='L377'></a><a href='#L377'>377</a>
|
|
443
|
-
<a name='L378'></a><a href='#L378'>378</a>
|
|
444
|
-
<a name='L379'></a><a href='#L379'>379</a>
|
|
445
|
-
<a name='L380'></a><a href='#L380'>380</a>
|
|
446
|
-
<a name='L381'></a><a href='#L381'>381</a>
|
|
447
|
-
<a name='L382'></a><a href='#L382'>382</a>
|
|
448
|
-
<a name='L383'></a><a href='#L383'>383</a>
|
|
449
|
-
<a name='L384'></a><a href='#L384'>384</a>
|
|
450
|
-
<a name='L385'></a><a href='#L385'>385</a>
|
|
451
|
-
<a name='L386'></a><a href='#L386'>386</a>
|
|
452
|
-
<a name='L387'></a><a href='#L387'>387</a>
|
|
453
|
-
<a name='L388'></a><a href='#L388'>388</a>
|
|
454
|
-
<a name='L389'></a><a href='#L389'>389</a>
|
|
455
|
-
<a name='L390'></a><a href='#L390'>390</a>
|
|
456
|
-
<a name='L391'></a><a href='#L391'>391</a>
|
|
457
|
-
<a name='L392'></a><a href='#L392'>392</a>
|
|
458
|
-
<a name='L393'></a><a href='#L393'>393</a>
|
|
459
|
-
<a name='L394'></a><a href='#L394'>394</a>
|
|
460
|
-
<a name='L395'></a><a href='#L395'>395</a>
|
|
461
|
-
<a name='L396'></a><a href='#L396'>396</a>
|
|
462
|
-
<a name='L397'></a><a href='#L397'>397</a>
|
|
463
|
-
<a name='L398'></a><a href='#L398'>398</a>
|
|
464
|
-
<a name='L399'></a><a href='#L399'>399</a>
|
|
465
|
-
<a name='L400'></a><a href='#L400'>400</a>
|
|
466
|
-
<a name='L401'></a><a href='#L401'>401</a>
|
|
467
|
-
<a name='L402'></a><a href='#L402'>402</a>
|
|
468
|
-
<a name='L403'></a><a href='#L403'>403</a>
|
|
469
|
-
<a name='L404'></a><a href='#L404'>404</a>
|
|
470
|
-
<a name='L405'></a><a href='#L405'>405</a>
|
|
471
|
-
<a name='L406'></a><a href='#L406'>406</a>
|
|
472
|
-
<a name='L407'></a><a href='#L407'>407</a>
|
|
473
|
-
<a name='L408'></a><a href='#L408'>408</a>
|
|
474
|
-
<a name='L409'></a><a href='#L409'>409</a>
|
|
475
|
-
<a name='L410'></a><a href='#L410'>410</a>
|
|
476
|
-
<a name='L411'></a><a href='#L411'>411</a>
|
|
477
|
-
<a name='L412'></a><a href='#L412'>412</a>
|
|
478
|
-
<a name='L413'></a><a href='#L413'>413</a>
|
|
479
|
-
<a name='L414'></a><a href='#L414'>414</a>
|
|
480
|
-
<a name='L415'></a><a href='#L415'>415</a>
|
|
481
|
-
<a name='L416'></a><a href='#L416'>416</a>
|
|
482
|
-
<a name='L417'></a><a href='#L417'>417</a>
|
|
483
|
-
<a name='L418'></a><a href='#L418'>418</a>
|
|
484
|
-
<a name='L419'></a><a href='#L419'>419</a>
|
|
485
|
-
<a name='L420'></a><a href='#L420'>420</a>
|
|
486
|
-
<a name='L421'></a><a href='#L421'>421</a>
|
|
487
|
-
<a name='L422'></a><a href='#L422'>422</a>
|
|
488
|
-
<a name='L423'></a><a href='#L423'>423</a>
|
|
489
|
-
<a name='L424'></a><a href='#L424'>424</a>
|
|
490
|
-
<a name='L425'></a><a href='#L425'>425</a>
|
|
491
|
-
<a name='L426'></a><a href='#L426'>426</a>
|
|
492
|
-
<a name='L427'></a><a href='#L427'>427</a>
|
|
493
|
-
<a name='L428'></a><a href='#L428'>428</a>
|
|
494
|
-
<a name='L429'></a><a href='#L429'>429</a>
|
|
495
|
-
<a name='L430'></a><a href='#L430'>430</a>
|
|
496
|
-
<a name='L431'></a><a href='#L431'>431</a>
|
|
497
|
-
<a name='L432'></a><a href='#L432'>432</a>
|
|
498
|
-
<a name='L433'></a><a href='#L433'>433</a>
|
|
499
|
-
<a name='L434'></a><a href='#L434'>434</a>
|
|
500
|
-
<a name='L435'></a><a href='#L435'>435</a>
|
|
501
|
-
<a name='L436'></a><a href='#L436'>436</a>
|
|
502
|
-
<a name='L437'></a><a href='#L437'>437</a>
|
|
503
|
-
<a name='L438'></a><a href='#L438'>438</a>
|
|
504
|
-
<a name='L439'></a><a href='#L439'>439</a>
|
|
505
|
-
<a name='L440'></a><a href='#L440'>440</a>
|
|
506
|
-
<a name='L441'></a><a href='#L441'>441</a>
|
|
507
|
-
<a name='L442'></a><a href='#L442'>442</a>
|
|
508
|
-
<a name='L443'></a><a href='#L443'>443</a>
|
|
509
|
-
<a name='L444'></a><a href='#L444'>444</a>
|
|
510
|
-
<a name='L445'></a><a href='#L445'>445</a>
|
|
511
|
-
<a name='L446'></a><a href='#L446'>446</a>
|
|
512
|
-
<a name='L447'></a><a href='#L447'>447</a>
|
|
513
|
-
<a name='L448'></a><a href='#L448'>448</a>
|
|
514
|
-
<a name='L449'></a><a href='#L449'>449</a>
|
|
515
|
-
<a name='L450'></a><a href='#L450'>450</a>
|
|
516
|
-
<a name='L451'></a><a href='#L451'>451</a>
|
|
517
|
-
<a name='L452'></a><a href='#L452'>452</a>
|
|
518
|
-
<a name='L453'></a><a href='#L453'>453</a>
|
|
519
|
-
<a name='L454'></a><a href='#L454'>454</a>
|
|
520
|
-
<a name='L455'></a><a href='#L455'>455</a>
|
|
521
|
-
<a name='L456'></a><a href='#L456'>456</a>
|
|
522
|
-
<a name='L457'></a><a href='#L457'>457</a>
|
|
523
|
-
<a name='L458'></a><a href='#L458'>458</a>
|
|
524
|
-
<a name='L459'></a><a href='#L459'>459</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">7x</span>
|
|
525
|
-
<span class="cline-any cline-neutral"> </span>
|
|
526
|
-
<span class="cline-any cline-neutral"> </span>
|
|
527
|
-
<span class="cline-any cline-neutral"> </span>
|
|
528
|
-
<span class="cline-any cline-neutral"> </span>
|
|
529
|
-
<span class="cline-any cline-neutral"> </span>
|
|
530
|
-
<span class="cline-any cline-neutral"> </span>
|
|
531
|
-
<span class="cline-any cline-yes">7x</span>
|
|
532
|
-
<span class="cline-any cline-yes">7x</span>
|
|
533
|
-
<span class="cline-any cline-yes">7x</span>
|
|
534
|
-
<span class="cline-any cline-yes">7x</span>
|
|
535
|
-
<span class="cline-any cline-yes">7x</span>
|
|
536
|
-
<span class="cline-any cline-yes">7x</span>
|
|
537
|
-
<span class="cline-any cline-neutral"> </span>
|
|
538
|
-
<span class="cline-any cline-neutral"> </span>
|
|
539
|
-
<span class="cline-any cline-neutral"> </span>
|
|
540
|
-
<span class="cline-any cline-neutral"> </span>
|
|
541
|
-
<span class="cline-any cline-neutral"> </span>
|
|
542
|
-
<span class="cline-any cline-neutral"> </span>
|
|
543
|
-
<span class="cline-any cline-neutral"> </span>
|
|
544
|
-
<span class="cline-any cline-yes">7x</span>
|
|
545
|
-
<span class="cline-any cline-yes">7x</span>
|
|
546
|
-
<span class="cline-any cline-yes">7x</span>
|
|
547
|
-
<span class="cline-any cline-yes">7x</span>
|
|
548
|
-
<span class="cline-any cline-yes">7x</span>
|
|
549
|
-
<span class="cline-any cline-neutral"> </span>
|
|
550
|
-
<span class="cline-any cline-neutral"> </span>
|
|
551
|
-
<span class="cline-any cline-yes">7x</span>
|
|
552
|
-
<span class="cline-any cline-yes">19x</span>
|
|
553
|
-
<span class="cline-any cline-yes">19x</span>
|
|
554
|
-
<span class="cline-any cline-yes">19x</span>
|
|
555
|
-
<span class="cline-any cline-neutral"> </span>
|
|
556
|
-
<span class="cline-any cline-yes">19x</span>
|
|
557
|
-
<span class="cline-any cline-yes">19x</span>
|
|
558
|
-
<span class="cline-any cline-neutral"> </span>
|
|
559
|
-
<span class="cline-any cline-neutral"> </span>
|
|
560
|
-
<span class="cline-any cline-neutral"> </span>
|
|
561
|
-
<span class="cline-any cline-neutral"> </span>
|
|
562
|
-
<span class="cline-any cline-neutral"> </span>
|
|
563
|
-
<span class="cline-any cline-yes">19x</span>
|
|
564
|
-
<span class="cline-any cline-neutral"> </span>
|
|
565
|
-
<span class="cline-any cline-yes">19x</span>
|
|
566
|
-
<span class="cline-any cline-neutral"> </span>
|
|
567
|
-
<span class="cline-any cline-neutral"> </span>
|
|
568
|
-
<span class="cline-any cline-neutral"> </span>
|
|
569
|
-
<span class="cline-any cline-no"> </span>
|
|
570
|
-
<span class="cline-any cline-neutral"> </span>
|
|
571
|
-
<span class="cline-any cline-neutral"> </span>
|
|
572
|
-
<span class="cline-any cline-neutral"> </span>
|
|
573
|
-
<span class="cline-any cline-neutral"> </span>
|
|
574
|
-
<span class="cline-any cline-neutral"> </span>
|
|
575
|
-
<span class="cline-any cline-neutral"> </span>
|
|
576
|
-
<span class="cline-any cline-neutral"> </span>
|
|
577
|
-
<span class="cline-any cline-neutral"> </span>
|
|
578
|
-
<span class="cline-any cline-neutral"> </span>
|
|
579
|
-
<span class="cline-any cline-neutral"> </span>
|
|
580
|
-
<span class="cline-any cline-neutral"> </span>
|
|
581
|
-
<span class="cline-any cline-neutral"> </span>
|
|
582
|
-
<span class="cline-any cline-neutral"> </span>
|
|
583
|
-
<span class="cline-any cline-neutral"> </span>
|
|
584
|
-
<span class="cline-any cline-neutral"> </span>
|
|
585
|
-
<span class="cline-any cline-neutral"> </span>
|
|
586
|
-
<span class="cline-any cline-neutral"> </span>
|
|
587
|
-
<span class="cline-any cline-neutral"> </span>
|
|
588
|
-
<span class="cline-any cline-neutral"> </span>
|
|
589
|
-
<span class="cline-any cline-neutral"> </span>
|
|
590
|
-
<span class="cline-any cline-neutral"> </span>
|
|
591
|
-
<span class="cline-any cline-neutral"> </span>
|
|
592
|
-
<span class="cline-any cline-neutral"> </span>
|
|
593
|
-
<span class="cline-any cline-neutral"> </span>
|
|
594
|
-
<span class="cline-any cline-neutral"> </span>
|
|
595
|
-
<span class="cline-any cline-neutral"> </span>
|
|
596
|
-
<span class="cline-any cline-neutral"> </span>
|
|
597
|
-
<span class="cline-any cline-neutral"> </span>
|
|
598
|
-
<span class="cline-any cline-neutral"> </span>
|
|
599
|
-
<span class="cline-any cline-neutral"> </span>
|
|
600
|
-
<span class="cline-any cline-neutral"> </span>
|
|
601
|
-
<span class="cline-any cline-neutral"> </span>
|
|
602
|
-
<span class="cline-any cline-neutral"> </span>
|
|
603
|
-
<span class="cline-any cline-neutral"> </span>
|
|
604
|
-
<span class="cline-any cline-neutral"> </span>
|
|
605
|
-
<span class="cline-any cline-neutral"> </span>
|
|
606
|
-
<span class="cline-any cline-neutral"> </span>
|
|
607
|
-
<span class="cline-any cline-neutral"> </span>
|
|
608
|
-
<span class="cline-any cline-neutral"> </span>
|
|
609
|
-
<span class="cline-any cline-neutral"> </span>
|
|
610
|
-
<span class="cline-any cline-neutral"> </span>
|
|
611
|
-
<span class="cline-any cline-neutral"> </span>
|
|
612
|
-
<span class="cline-any cline-neutral"> </span>
|
|
613
|
-
<span class="cline-any cline-neutral"> </span>
|
|
614
|
-
<span class="cline-any cline-yes">6x</span>
|
|
615
|
-
<span class="cline-any cline-neutral"> </span>
|
|
616
|
-
<span class="cline-any cline-neutral"> </span>
|
|
617
|
-
<span class="cline-any cline-neutral"> </span>
|
|
618
|
-
<span class="cline-any cline-neutral"> </span>
|
|
619
|
-
<span class="cline-any cline-neutral"> </span>
|
|
620
|
-
<span class="cline-any cline-yes">2x</span>
|
|
621
|
-
<span class="cline-any cline-neutral"> </span>
|
|
622
|
-
<span class="cline-any cline-neutral"> </span>
|
|
623
|
-
<span class="cline-any cline-neutral"> </span>
|
|
624
|
-
<span class="cline-any cline-neutral"> </span>
|
|
625
|
-
<span class="cline-any cline-neutral"> </span>
|
|
626
|
-
<span class="cline-any cline-neutral"> </span>
|
|
627
|
-
<span class="cline-any cline-neutral"> </span>
|
|
628
|
-
<span class="cline-any cline-neutral"> </span>
|
|
629
|
-
<span class="cline-any cline-neutral"> </span>
|
|
630
|
-
<span class="cline-any cline-neutral"> </span>
|
|
631
|
-
<span class="cline-any cline-yes">2x</span>
|
|
632
|
-
<span class="cline-any cline-neutral"> </span>
|
|
633
|
-
<span class="cline-any cline-neutral"> </span>
|
|
634
|
-
<span class="cline-any cline-neutral"> </span>
|
|
635
|
-
<span class="cline-any cline-neutral"> </span>
|
|
636
|
-
<span class="cline-any cline-neutral"> </span>
|
|
637
|
-
<span class="cline-any cline-neutral"> </span>
|
|
638
|
-
<span class="cline-any cline-neutral"> </span>
|
|
639
|
-
<span class="cline-any cline-neutral"> </span>
|
|
640
|
-
<span class="cline-any cline-neutral"> </span>
|
|
641
|
-
<span class="cline-any cline-neutral"> </span>
|
|
642
|
-
<span class="cline-any cline-yes">2x</span>
|
|
643
|
-
<span class="cline-any cline-neutral"> </span>
|
|
644
|
-
<span class="cline-any cline-neutral"> </span>
|
|
645
|
-
<span class="cline-any cline-neutral"> </span>
|
|
646
|
-
<span class="cline-any cline-neutral"> </span>
|
|
647
|
-
<span class="cline-any cline-neutral"> </span>
|
|
648
|
-
<span class="cline-any cline-neutral"> </span>
|
|
649
|
-
<span class="cline-any cline-neutral"> </span>
|
|
650
|
-
<span class="cline-any cline-neutral"> </span>
|
|
651
|
-
<span class="cline-any cline-neutral"> </span>
|
|
652
|
-
<span class="cline-any cline-neutral"> </span>
|
|
653
|
-
<span class="cline-any cline-neutral"> </span>
|
|
654
|
-
<span class="cline-any cline-neutral"> </span>
|
|
655
|
-
<span class="cline-any cline-neutral"> </span>
|
|
656
|
-
<span class="cline-any cline-yes">2x</span>
|
|
657
|
-
<span class="cline-any cline-neutral"> </span>
|
|
658
|
-
<span class="cline-any cline-neutral"> </span>
|
|
659
|
-
<span class="cline-any cline-neutral"> </span>
|
|
660
|
-
<span class="cline-any cline-neutral"> </span>
|
|
661
|
-
<span class="cline-any cline-neutral"> </span>
|
|
662
|
-
<span class="cline-any cline-neutral"> </span>
|
|
663
|
-
<span class="cline-any cline-neutral"> </span>
|
|
664
|
-
<span class="cline-any cline-neutral"> </span>
|
|
665
|
-
<span class="cline-any cline-neutral"> </span>
|
|
666
|
-
<span class="cline-any cline-neutral"> </span>
|
|
667
|
-
<span class="cline-any cline-neutral"> </span>
|
|
668
|
-
<span class="cline-any cline-neutral"> </span>
|
|
669
|
-
<span class="cline-any cline-neutral"> </span>
|
|
670
|
-
<span class="cline-any cline-neutral"> </span>
|
|
671
|
-
<span class="cline-any cline-neutral"> </span>
|
|
672
|
-
<span class="cline-any cline-neutral"> </span>
|
|
673
|
-
<span class="cline-any cline-neutral"> </span>
|
|
674
|
-
<span class="cline-any cline-neutral"> </span>
|
|
675
|
-
<span class="cline-any cline-neutral"> </span>
|
|
676
|
-
<span class="cline-any cline-neutral"> </span>
|
|
677
|
-
<span class="cline-any cline-neutral"> </span>
|
|
678
|
-
<span class="cline-any cline-neutral"> </span>
|
|
679
|
-
<span class="cline-any cline-neutral"> </span>
|
|
680
|
-
<span class="cline-any cline-neutral"> </span>
|
|
681
|
-
<span class="cline-any cline-neutral"> </span>
|
|
682
|
-
<span class="cline-any cline-neutral"> </span>
|
|
683
|
-
<span class="cline-any cline-neutral"> </span>
|
|
684
|
-
<span class="cline-any cline-neutral"> </span>
|
|
685
|
-
<span class="cline-any cline-neutral"> </span>
|
|
686
|
-
<span class="cline-any cline-neutral"> </span>
|
|
687
|
-
<span class="cline-any cline-neutral"> </span>
|
|
688
|
-
<span class="cline-any cline-neutral"> </span>
|
|
689
|
-
<span class="cline-any cline-neutral"> </span>
|
|
690
|
-
<span class="cline-any cline-neutral"> </span>
|
|
691
|
-
<span class="cline-any cline-neutral"> </span>
|
|
692
|
-
<span class="cline-any cline-neutral"> </span>
|
|
693
|
-
<span class="cline-any cline-neutral"> </span>
|
|
694
|
-
<span class="cline-any cline-neutral"> </span>
|
|
695
|
-
<span class="cline-any cline-neutral"> </span>
|
|
696
|
-
<span class="cline-any cline-neutral"> </span>
|
|
697
|
-
<span class="cline-any cline-yes">2x</span>
|
|
698
|
-
<span class="cline-any cline-neutral"> </span>
|
|
699
|
-
<span class="cline-any cline-neutral"> </span>
|
|
700
|
-
<span class="cline-any cline-neutral"> </span>
|
|
701
|
-
<span class="cline-any cline-yes">9x</span>
|
|
702
|
-
<span class="cline-any cline-yes">9x</span>
|
|
703
|
-
<span class="cline-any cline-yes">1x</span>
|
|
704
|
-
<span class="cline-any cline-neutral"> </span>
|
|
705
|
-
<span class="cline-any cline-neutral"> </span>
|
|
706
|
-
<span class="cline-any cline-neutral"> </span>
|
|
707
|
-
<span class="cline-any cline-yes">8x</span>
|
|
708
|
-
<span class="cline-any cline-yes">8x</span>
|
|
709
|
-
<span class="cline-any cline-yes">1x</span>
|
|
710
|
-
<span class="cline-any cline-neutral"> </span>
|
|
711
|
-
<span class="cline-any cline-neutral"> </span>
|
|
712
|
-
<span class="cline-any cline-neutral"> </span>
|
|
713
|
-
<span class="cline-any cline-yes">7x</span>
|
|
714
|
-
<span class="cline-any cline-neutral"> </span>
|
|
715
|
-
<span class="cline-any cline-neutral"> </span>
|
|
716
|
-
<span class="cline-any cline-neutral"> </span>
|
|
717
|
-
<span class="cline-any cline-neutral"> </span>
|
|
718
|
-
<span class="cline-any cline-neutral"> </span>
|
|
719
|
-
<span class="cline-any cline-neutral"> </span>
|
|
720
|
-
<span class="cline-any cline-neutral"> </span>
|
|
721
|
-
<span class="cline-any cline-neutral"> </span>
|
|
722
|
-
<span class="cline-any cline-neutral"> </span>
|
|
723
|
-
<span class="cline-any cline-yes">13x</span>
|
|
724
|
-
<span class="cline-any cline-neutral"> </span>
|
|
725
|
-
<span class="cline-any cline-neutral"> </span>
|
|
726
|
-
<span class="cline-any cline-yes">13x</span>
|
|
727
|
-
<span class="cline-any cline-yes">2x</span>
|
|
728
|
-
<span class="cline-any cline-neutral"> </span>
|
|
729
|
-
<span class="cline-any cline-neutral"> </span>
|
|
730
|
-
<span class="cline-any cline-neutral"> </span>
|
|
731
|
-
<span class="cline-any cline-yes">13x</span>
|
|
732
|
-
<span class="cline-any cline-neutral"> </span>
|
|
733
|
-
<span class="cline-any cline-neutral"> </span>
|
|
734
|
-
<span class="cline-any cline-neutral"> </span>
|
|
735
|
-
<span class="cline-any cline-neutral"> </span>
|
|
736
|
-
<span class="cline-any cline-neutral"> </span>
|
|
737
|
-
<span class="cline-any cline-neutral"> </span>
|
|
738
|
-
<span class="cline-any cline-neutral"> </span>
|
|
739
|
-
<span class="cline-any cline-yes">13x</span>
|
|
740
|
-
<span class="cline-any cline-yes">65x</span>
|
|
741
|
-
<span class="cline-any cline-no"> </span>
|
|
742
|
-
<span class="cline-any cline-no"> </span>
|
|
743
|
-
<span class="cline-any cline-no"> </span>
|
|
744
|
-
<span class="cline-any cline-neutral"> </span>
|
|
745
|
-
<span class="cline-any cline-neutral"> </span>
|
|
746
|
-
<span class="cline-any cline-neutral"> </span>
|
|
747
|
-
<span class="cline-any cline-neutral"> </span>
|
|
748
|
-
<span class="cline-any cline-neutral"> </span>
|
|
749
|
-
<span class="cline-any cline-yes">13x</span>
|
|
750
|
-
<span class="cline-any cline-neutral"> </span>
|
|
751
|
-
<span class="cline-any cline-neutral"> </span>
|
|
752
|
-
<span class="cline-any cline-neutral"> </span>
|
|
753
|
-
<span class="cline-any cline-neutral"> </span>
|
|
754
|
-
<span class="cline-any cline-neutral"> </span>
|
|
755
|
-
<span class="cline-any cline-neutral"> </span>
|
|
756
|
-
<span class="cline-any cline-neutral"> </span>
|
|
757
|
-
<span class="cline-any cline-yes">1x</span>
|
|
758
|
-
<span class="cline-any cline-neutral"> </span>
|
|
759
|
-
<span class="cline-any cline-neutral"> </span>
|
|
760
|
-
<span class="cline-any cline-neutral"> </span>
|
|
761
|
-
<span class="cline-any cline-neutral"> </span>
|
|
762
|
-
<span class="cline-any cline-neutral"> </span>
|
|
763
|
-
<span class="cline-any cline-neutral"> </span>
|
|
764
|
-
<span class="cline-any cline-neutral"> </span>
|
|
765
|
-
<span class="cline-any cline-neutral"> </span>
|
|
766
|
-
<span class="cline-any cline-neutral"> </span>
|
|
767
|
-
<span class="cline-any cline-neutral"> </span>
|
|
768
|
-
<span class="cline-any cline-neutral"> </span>
|
|
769
|
-
<span class="cline-any cline-neutral"> </span>
|
|
770
|
-
<span class="cline-any cline-no"> </span>
|
|
771
|
-
<span class="cline-any cline-no"> </span>
|
|
772
|
-
<span class="cline-any cline-neutral"> </span>
|
|
773
|
-
<span class="cline-any cline-neutral"> </span>
|
|
774
|
-
<span class="cline-any cline-neutral"> </span>
|
|
775
|
-
<span class="cline-any cline-no"> </span>
|
|
776
|
-
<span class="cline-any cline-no"> </span>
|
|
777
|
-
<span class="cline-any cline-neutral"> </span>
|
|
778
|
-
<span class="cline-any cline-neutral"> </span>
|
|
779
|
-
<span class="cline-any cline-neutral"> </span>
|
|
780
|
-
<span class="cline-any cline-neutral"> </span>
|
|
781
|
-
<span class="cline-any cline-neutral"> </span>
|
|
782
|
-
<span class="cline-any cline-neutral"> </span>
|
|
783
|
-
<span class="cline-any cline-neutral"> </span>
|
|
784
|
-
<span class="cline-any cline-neutral"> </span>
|
|
785
|
-
<span class="cline-any cline-neutral"> </span>
|
|
786
|
-
<span class="cline-any cline-neutral"> </span>
|
|
787
|
-
<span class="cline-any cline-neutral"> </span>
|
|
788
|
-
<span class="cline-any cline-neutral"> </span>
|
|
789
|
-
<span class="cline-any cline-neutral"> </span>
|
|
790
|
-
<span class="cline-any cline-neutral"> </span>
|
|
791
|
-
<span class="cline-any cline-neutral"> </span>
|
|
792
|
-
<span class="cline-any cline-neutral"> </span>
|
|
793
|
-
<span class="cline-any cline-no"> </span>
|
|
794
|
-
<span class="cline-any cline-neutral"> </span>
|
|
795
|
-
<span class="cline-any cline-no"> </span>
|
|
796
|
-
<span class="cline-any cline-neutral"> </span>
|
|
797
|
-
<span class="cline-any cline-no"> </span>
|
|
798
|
-
<span class="cline-any cline-no"> </span>
|
|
799
|
-
<span class="cline-any cline-no"> </span>
|
|
800
|
-
<span class="cline-any cline-neutral"> </span>
|
|
801
|
-
<span class="cline-any cline-no"> </span>
|
|
802
|
-
<span class="cline-any cline-neutral"> </span>
|
|
803
|
-
<span class="cline-any cline-neutral"> </span>
|
|
804
|
-
<span class="cline-any cline-neutral"> </span>
|
|
805
|
-
<span class="cline-any cline-neutral"> </span>
|
|
806
|
-
<span class="cline-any cline-neutral"> </span>
|
|
807
|
-
<span class="cline-any cline-neutral"> </span>
|
|
808
|
-
<span class="cline-any cline-neutral"> </span>
|
|
809
|
-
<span class="cline-any cline-neutral"> </span>
|
|
810
|
-
<span class="cline-any cline-neutral"> </span>
|
|
811
|
-
<span class="cline-any cline-no"> </span>
|
|
812
|
-
<span class="cline-any cline-no"> </span>
|
|
813
|
-
<span class="cline-any cline-neutral"> </span>
|
|
814
|
-
<span class="cline-any cline-no"> </span>
|
|
815
|
-
<span class="cline-any cline-neutral"> </span>
|
|
816
|
-
<span class="cline-any cline-neutral"> </span>
|
|
817
|
-
<span class="cline-any cline-neutral"> </span>
|
|
818
|
-
<span class="cline-any cline-neutral"> </span>
|
|
819
|
-
<span class="cline-any cline-neutral"> </span>
|
|
820
|
-
<span class="cline-any cline-neutral"> </span>
|
|
821
|
-
<span class="cline-any cline-neutral"> </span>
|
|
822
|
-
<span class="cline-any cline-neutral"> </span>
|
|
823
|
-
<span class="cline-any cline-yes">13x</span>
|
|
824
|
-
<span class="cline-any cline-neutral"> </span>
|
|
825
|
-
<span class="cline-any cline-yes">13x</span>
|
|
826
|
-
<span class="cline-any cline-yes">13x</span>
|
|
827
|
-
<span class="cline-any cline-yes">13x</span>
|
|
828
|
-
<span class="cline-any cline-yes">4x</span>
|
|
829
|
-
<span class="cline-any cline-yes">4x</span>
|
|
830
|
-
<span class="cline-any cline-neutral"> </span>
|
|
831
|
-
<span class="cline-any cline-yes">4x</span>
|
|
832
|
-
<span class="cline-any cline-neutral"> </span>
|
|
833
|
-
<span class="cline-any cline-neutral"> </span>
|
|
834
|
-
<span class="cline-any cline-neutral"> </span>
|
|
835
|
-
<span class="cline-any cline-neutral"> </span>
|
|
836
|
-
<span class="cline-any cline-neutral"> </span>
|
|
837
|
-
<span class="cline-any cline-neutral"> </span>
|
|
838
|
-
<span class="cline-any cline-neutral"> </span>
|
|
839
|
-
<span class="cline-any cline-neutral"> </span>
|
|
840
|
-
<span class="cline-any cline-yes">9x</span>
|
|
841
|
-
<span class="cline-any cline-yes">9x</span>
|
|
842
|
-
<span class="cline-any cline-neutral"> </span>
|
|
843
|
-
<span class="cline-any cline-yes">7x</span>
|
|
844
|
-
<span class="cline-any cline-neutral"> </span>
|
|
845
|
-
<span class="cline-any cline-neutral"> </span>
|
|
846
|
-
<span class="cline-any cline-yes">1x</span>
|
|
847
|
-
<span class="cline-any cline-yes">1x</span>
|
|
848
|
-
<span class="cline-any cline-neutral"> </span>
|
|
849
|
-
<span class="cline-any cline-no"> </span>
|
|
850
|
-
<span class="cline-any cline-neutral"> </span>
|
|
851
|
-
<span class="cline-any cline-neutral"> </span>
|
|
852
|
-
<span class="cline-any cline-yes">7x</span>
|
|
853
|
-
<span class="cline-any cline-yes">1x</span>
|
|
854
|
-
<span class="cline-any cline-yes">1x</span>
|
|
855
|
-
<span class="cline-any cline-neutral"> </span>
|
|
856
|
-
<span class="cline-any cline-neutral"> </span>
|
|
857
|
-
<span class="cline-any cline-neutral"> </span>
|
|
858
|
-
<span class="cline-any cline-neutral"> </span>
|
|
859
|
-
<span class="cline-any cline-neutral"> </span>
|
|
860
|
-
<span class="cline-any cline-neutral"> </span>
|
|
861
|
-
<span class="cline-any cline-neutral"> </span>
|
|
862
|
-
<span class="cline-any cline-neutral"> </span>
|
|
863
|
-
<span class="cline-any cline-neutral"> </span>
|
|
864
|
-
<span class="cline-any cline-yes">6x</span>
|
|
865
|
-
<span class="cline-any cline-neutral"> </span>
|
|
866
|
-
<span class="cline-any cline-neutral"> </span>
|
|
867
|
-
<span class="cline-any cline-neutral"> </span>
|
|
868
|
-
<span class="cline-any cline-neutral"> </span>
|
|
869
|
-
<span class="cline-any cline-yes">6x</span>
|
|
870
|
-
<span class="cline-any cline-no"> </span>
|
|
871
|
-
<span class="cline-any cline-neutral"> </span>
|
|
872
|
-
<span class="cline-any cline-neutral"> </span>
|
|
873
|
-
<span class="cline-any cline-neutral"> </span>
|
|
874
|
-
<span class="cline-any cline-neutral"> </span>
|
|
875
|
-
<span class="cline-any cline-neutral"> </span>
|
|
876
|
-
<span class="cline-any cline-no"> </span>
|
|
877
|
-
<span class="cline-any cline-neutral"> </span>
|
|
878
|
-
<span class="cline-any cline-neutral"> </span>
|
|
879
|
-
<span class="cline-any cline-neutral"> </span>
|
|
880
|
-
<span class="cline-any cline-neutral"> </span>
|
|
881
|
-
<span class="cline-any cline-no"> </span>
|
|
882
|
-
<span class="cline-any cline-neutral"> </span>
|
|
883
|
-
<span class="cline-any cline-neutral"> </span>
|
|
884
|
-
<span class="cline-any cline-neutral"> </span>
|
|
885
|
-
<span class="cline-any cline-neutral"> </span>
|
|
886
|
-
<span class="cline-any cline-neutral"> </span>
|
|
887
|
-
<span class="cline-any cline-neutral"> </span>
|
|
888
|
-
<span class="cline-any cline-neutral"> </span>
|
|
889
|
-
<span class="cline-any cline-neutral"> </span>
|
|
890
|
-
<span class="cline-any cline-neutral"> </span>
|
|
891
|
-
<span class="cline-any cline-yes">6x</span>
|
|
892
|
-
<span class="cline-any cline-neutral"> </span>
|
|
893
|
-
<span class="cline-any cline-yes">6x</span>
|
|
894
|
-
<span class="cline-any cline-neutral"> </span>
|
|
895
|
-
<span class="cline-any cline-yes">3x</span>
|
|
896
|
-
<span class="cline-any cline-yes">3x</span>
|
|
897
|
-
<span class="cline-any cline-neutral"> </span>
|
|
898
|
-
<span class="cline-any cline-yes">1x</span>
|
|
899
|
-
<span class="cline-any cline-yes">1x</span>
|
|
900
|
-
<span class="cline-any cline-neutral"> </span>
|
|
901
|
-
<span class="cline-any cline-yes">1x</span>
|
|
902
|
-
<span class="cline-any cline-yes">1x</span>
|
|
903
|
-
<span class="cline-any cline-neutral"> </span>
|
|
904
|
-
<span class="cline-any cline-yes">1x</span>
|
|
905
|
-
<span class="cline-any cline-yes">1x</span>
|
|
906
|
-
<span class="cline-any cline-neutral"> </span>
|
|
907
|
-
<span class="cline-any cline-neutral"> </span>
|
|
908
|
-
<span class="cline-any cline-yes">6x</span>
|
|
909
|
-
<span class="cline-any cline-no"> </span>
|
|
910
|
-
<span class="cline-any cline-neutral"> </span>
|
|
911
|
-
<span class="cline-any cline-no"> </span>
|
|
912
|
-
<span class="cline-any cline-neutral"> </span>
|
|
913
|
-
<span class="cline-any cline-neutral"> </span>
|
|
914
|
-
<span class="cline-any cline-neutral"> </span>
|
|
915
|
-
<span class="cline-any cline-neutral"> </span>
|
|
916
|
-
<span class="cline-any cline-neutral"> </span>
|
|
917
|
-
<span class="cline-any cline-neutral"> </span>
|
|
918
|
-
<span class="cline-any cline-neutral"> </span>
|
|
919
|
-
<span class="cline-any cline-neutral"> </span>
|
|
920
|
-
<span class="cline-any cline-yes">6x</span>
|
|
921
|
-
<span class="cline-any cline-yes">6x</span>
|
|
922
|
-
<span class="cline-any cline-neutral"> </span>
|
|
923
|
-
<span class="cline-any cline-neutral"> </span>
|
|
924
|
-
<span class="cline-any cline-yes">6x</span>
|
|
925
|
-
<span class="cline-any cline-neutral"> </span>
|
|
926
|
-
<span class="cline-any cline-no"> </span>
|
|
927
|
-
<span class="cline-any cline-neutral"> </span>
|
|
928
|
-
<span class="cline-any cline-no"> </span>
|
|
929
|
-
<span class="cline-any cline-no"> </span>
|
|
930
|
-
<span class="cline-any cline-neutral"> </span>
|
|
931
|
-
<span class="cline-any cline-neutral"> </span>
|
|
932
|
-
<span class="cline-any cline-neutral"> </span>
|
|
933
|
-
<span class="cline-any cline-neutral"> </span>
|
|
934
|
-
<span class="cline-any cline-no"> </span>
|
|
935
|
-
<span class="cline-any cline-no"> </span>
|
|
936
|
-
<span class="cline-any cline-neutral"> </span>
|
|
937
|
-
<span class="cline-any cline-neutral"> </span>
|
|
938
|
-
<span class="cline-any cline-neutral"> </span>
|
|
939
|
-
<span class="cline-any cline-no"> </span>
|
|
940
|
-
<span class="cline-any cline-no"> </span>
|
|
941
|
-
<span class="cline-any cline-no"> </span>
|
|
942
|
-
<span class="cline-any cline-no"> </span>
|
|
943
|
-
<span class="cline-any cline-no"> </span>
|
|
944
|
-
<span class="cline-any cline-neutral"> </span>
|
|
945
|
-
<span class="cline-any cline-no"> </span>
|
|
946
|
-
<span class="cline-any cline-no"> </span>
|
|
947
|
-
<span class="cline-any cline-neutral"> </span>
|
|
948
|
-
<span class="cline-any cline-no"> </span>
|
|
949
|
-
<span class="cline-any cline-neutral"> </span>
|
|
950
|
-
<span class="cline-any cline-neutral"> </span>
|
|
951
|
-
<span class="cline-any cline-no"> </span>
|
|
952
|
-
<span class="cline-any cline-neutral"> </span>
|
|
953
|
-
<span class="cline-any cline-neutral"> </span>
|
|
954
|
-
<span class="cline-any cline-neutral"> </span>
|
|
955
|
-
<span class="cline-any cline-neutral"> </span>
|
|
956
|
-
<span class="cline-any cline-neutral"> </span>
|
|
957
|
-
<span class="cline-any cline-neutral"> </span>
|
|
958
|
-
<span class="cline-any cline-neutral"> </span>
|
|
959
|
-
<span class="cline-any cline-neutral"> </span>
|
|
960
|
-
<span class="cline-any cline-neutral"> </span>
|
|
961
|
-
<span class="cline-any cline-neutral"> </span>
|
|
962
|
-
<span class="cline-any cline-yes">6x</span>
|
|
963
|
-
<span class="cline-any cline-neutral"> </span>
|
|
964
|
-
<span class="cline-any cline-neutral"> </span>
|
|
965
|
-
<span class="cline-any cline-neutral"> </span>
|
|
966
|
-
<span class="cline-any cline-neutral"> </span>
|
|
967
|
-
<span class="cline-any cline-neutral"> </span>
|
|
968
|
-
<span class="cline-any cline-neutral"> </span>
|
|
969
|
-
<span class="cline-any cline-neutral"> </span>
|
|
970
|
-
<span class="cline-any cline-neutral"> </span>
|
|
971
|
-
<span class="cline-any cline-neutral"> </span>
|
|
972
|
-
<span class="cline-any cline-neutral"> </span>
|
|
973
|
-
<span class="cline-any cline-no"> </span>
|
|
974
|
-
<span class="cline-any cline-neutral"> </span>
|
|
975
|
-
<span class="cline-any cline-neutral"> </span>
|
|
976
|
-
<span class="cline-any cline-no"> </span>
|
|
977
|
-
<span class="cline-any cline-neutral"> </span>
|
|
978
|
-
<span class="cline-any cline-neutral"> </span>
|
|
979
|
-
<span class="cline-any cline-neutral"> </span>
|
|
980
|
-
<span class="cline-any cline-neutral"> </span>
|
|
981
|
-
<span class="cline-any cline-neutral"> </span>
|
|
982
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
983
|
-
BadRequestException,
|
|
984
|
-
Injectable,
|
|
985
|
-
InternalServerErrorException,
|
|
986
|
-
Logger,
|
|
987
|
-
Optional,
|
|
988
|
-
} from '@nestjs/common';
|
|
989
|
-
import * as fs from 'fs/promises';
|
|
990
|
-
import * as fsSync from 'fs';
|
|
991
|
-
import * as path from 'path';
|
|
992
|
-
import * as os from 'os';
|
|
993
|
-
import { plainToClass } from 'class-transformer';
|
|
994
|
-
import { validate } from 'class-validator';
|
|
995
|
-
import { ActionHandler } from './action-handler.interface';
|
|
996
|
-
import {
|
|
997
|
-
ActionExecutionResult,
|
|
998
|
-
PlanExecutionContext,
|
|
999
|
-
ToolMetadata,
|
|
1000
|
-
} from '../llm-orchestration.interfaces';
|
|
1001
|
-
|
|
1002
|
-
import { QuickEditArgsDto } from './dto/quick-edit.args.dto';
|
|
1003
|
-
import { generateToolCall, generateToolCallJson } from '../../utils';
|
|
1004
|
-
import { HybridMatcher } from './matchers/hybrid.matcher';
|
|
1005
|
-
import { SyntaxValidationService } from '../../syntax-validation/syntax-validation.service';
|
|
1006
|
-
import { ApplicationStateService } from '../../application-state/application-state.service';
|
|
1007
|
-
|
|
1008
|
-
@Injectable()
|
|
1009
|
-
export class QuickEditHandler implements ActionHandler {
|
|
1010
|
-
readonly toolName = 'quick_edit';
|
|
1011
|
-
private readonly logger = new Logger(QuickEditHandler.name);
|
|
1012
|
-
private readonly projectRoot: string =
|
|
1013
|
-
process.env.REPOBURG_PROJECT_PATH || process.cwd();
|
|
1014
|
-
private readonly hybridMatcher = new HybridMatcher();
|
|
1015
|
-
private readonly logDir: string =
|
|
1016
|
-
process.env.QUICK_EDIT_LOG_DIR ||
|
|
1017
|
-
<span class="branch-1 cbranch-no" title="branch not covered" > path.join(os.homedir(), '.repoburg/quick-edit-logs');</span>
|
|
1018
|
-
|
|
1019
|
-
constructor(
|
|
1020
|
-
@Optional()
|
|
1021
|
-
private readonly syntaxValidator?: SyntaxValidationService,
|
|
1022
|
-
@Optional()
|
|
1023
|
-
private readonly appStateService?: ApplicationStateService,
|
|
1024
|
-
) {}
|
|
1025
|
-
|
|
1026
|
-
<span class="fstat-no" title="function not covered" > getMetadata(</span>): ToolMetadata {
|
|
1027
|
-
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
1028
|
-
name: this.toolName,
|
|
1029
|
-
description: this.getDefinition(true),
|
|
1030
|
-
arguments: [
|
|
1031
|
-
{
|
|
1032
|
-
name: 'file_path',
|
|
1033
|
-
type: 'string',
|
|
1034
|
-
description: 'The relative path to file to be modified.',
|
|
1035
|
-
required: true,
|
|
1036
|
-
},
|
|
1037
|
-
{
|
|
1038
|
-
name: 'action',
|
|
1039
|
-
type: 'string',
|
|
1040
|
-
description:
|
|
1041
|
-
"The operation to perform. Allowed values: 'insert_after', 'insert_before', 'replace', 'delete_block'. Defaults to 'replace'.",
|
|
1042
|
-
required: false,
|
|
1043
|
-
},
|
|
1044
|
-
{
|
|
1045
|
-
name: 'search_block',
|
|
1046
|
-
type: 'string',
|
|
1047
|
-
description:
|
|
1048
|
-
'A unique and exact block of code to locate the position for the edit.',
|
|
1049
|
-
required: true,
|
|
1050
|
-
},
|
|
1051
|
-
{
|
|
1052
|
-
name: 'new_content',
|
|
1053
|
-
type: 'string',
|
|
1054
|
-
description:
|
|
1055
|
-
"The new code to be added. Required for 'insert_after', 'insert_before', and 'replace'.",
|
|
1056
|
-
required: false,
|
|
1057
|
-
},
|
|
1058
|
-
],
|
|
1059
|
-
};
|
|
1060
|
-
}
|
|
1061
|
-
|
|
1062
|
-
/**
|
|
1063
|
-
* Generates a tool call example in the specified format.
|
|
1064
|
-
* @param toolCall - The tool call object to format
|
|
1065
|
-
* @param useJson - If true, uses JSON format; otherwise uses XML-style format
|
|
1066
|
-
* @returns Formatted tool call string
|
|
1067
|
-
*/
|
|
1068
|
-
private generateExample(
|
|
1069
|
-
toolCall: Record<string, any>,
|
|
1070
|
-
useJson: boolean = <span class="branch-0 cbranch-no" title="branch not covered" >false,</span>
|
|
1071
|
-
): string {
|
|
1072
|
-
return useJson
|
|
1073
|
-
? <span class="branch-0 cbranch-no" title="branch not covered" >generateToolCallJson(toolCall)</span>
|
|
1074
|
-
: generateToolCall(toolCall);
|
|
1075
|
-
}
|
|
1076
|
-
|
|
1077
|
-
getDefinition(useJsonFormat: boolean = false): string {
|
|
1078
|
-
const insertAfterExample = this.generateExample(
|
|
1079
|
-
{
|
|
1080
|
-
tool_name: this.toolName,
|
|
1081
|
-
file_path: 'src/components/Header.tsx',
|
|
1082
|
-
action: 'insert_after',
|
|
1083
|
-
search_block: `import React from 'react';`,
|
|
1084
|
-
new_content: `import { useTheme } from '@emotion/react';`,
|
|
1085
|
-
},
|
|
1086
|
-
useJsonFormat,
|
|
1087
|
-
);
|
|
1088
|
-
|
|
1089
|
-
const replaceExample = this.generateExample(
|
|
1090
|
-
{
|
|
1091
|
-
tool_name: this.toolName,
|
|
1092
|
-
file_path: 'src/config.ts',
|
|
1093
|
-
action: 'replace',
|
|
1094
|
-
search_block: `export const API_TIMEOUT = 5000;`,
|
|
1095
|
-
new_content: `export const API_TIMEOUT = 10000; // Increased timeout`,
|
|
1096
|
-
},
|
|
1097
|
-
useJsonFormat,
|
|
1098
|
-
);
|
|
1099
|
-
|
|
1100
|
-
const deleteExample = this.generateExample(
|
|
1101
|
-
{
|
|
1102
|
-
tool_name: this.toolName,
|
|
1103
|
-
file_path: 'src/utils/legacy.js',
|
|
1104
|
-
action: 'delete_block',
|
|
1105
|
-
search_block: `
|
|
1106
|
-
function oldUnusedFunction() {
|
|
1107
|
-
return 'hello';
|
|
1108
|
-
}
|
|
1109
|
-
`.trim(),
|
|
1110
|
-
},
|
|
1111
|
-
useJsonFormat,
|
|
1112
|
-
);
|
|
1113
|
-
|
|
1114
|
-
const definition = `
|
|
1115
|
-
-------------
|
|
1116
|
-
### ${this.toolName}
|
|
1117
|
-
Makes small, targeted changes to a file by finding a unique block of text and inserting, replacing, or deleting it.
|
|
1118
|
-
|
|
1119
|
-
**Best Practices:**
|
|
1120
|
-
- Include 3-5 lines surrounding code you want to edit
|
|
1121
|
-
- Use unique identifiers (variable names, function names) in your search block
|
|
1122
|
-
- Avoid selecting large blocks (>10 lines) - smaller is more reliable
|
|
1123
|
-
- Verify your search block matches the file exactly character-for-character
|
|
1124
|
-
- When code appears multiple times, include more surrounding context to disambiguate
|
|
1125
|
-
|
|
1126
|
-
**Common Pitfalls:**
|
|
1127
|
-
- Search block with trailing characters the LLM added (e.g., "value;xyz")
|
|
1128
|
-
- Extra whitespace or indentation not present in file
|
|
1129
|
-
- Selecting only common patterns (imports, exports) that appear multiple times
|
|
1130
|
-
- Including code that was already edited in a previous action
|
|
1131
|
-
|
|
1132
|
-
**When to use quick_edit vs overwrite_file:**
|
|
1133
|
-
- Use quick_edit for small, targeted changes (1-10 lines)
|
|
1134
|
-
- Use overwrite_file for large replacements, complete file rewrites, or when search block cannot be unique
|
|
1135
|
-
|
|
1136
|
-
#### Parameters
|
|
1137
|
-
- "file_path": (string) The relative path to file to be modified.
|
|
1138
|
-
- "action": (enum, optional) The operation to perform. Allowed values: 'insert_after', 'insert_before', 'replace', 'delete_block'. Defaults to 'replace'.
|
|
1139
|
-
- "search_block": (string) A unique and exact block of code to locate the position for the edit.
|
|
1140
|
-
- "new_content": (string, optional) The new code to be added. Required for 'insert_after', 'insert_before', and 'replace'.
|
|
1141
|
-
|
|
1142
|
-
#### Example: Insert After
|
|
1143
|
-
Explanation: Add an import statement after the React import.
|
|
1144
|
-
${insertAfterExample}
|
|
1145
|
-
|
|
1146
|
-
#### Example: Replace
|
|
1147
|
-
Explanation: Change the API timeout constant value.
|
|
1148
|
-
${replaceExample}
|
|
1149
|
-
|
|
1150
|
-
#### Example: Delete
|
|
1151
|
-
Explanation: Remove the old unused function.
|
|
1152
|
-
${deleteExample}
|
|
1153
|
-
-------------
|
|
1154
|
-
`;
|
|
1155
|
-
return `\n${definition.trim()}\n`;
|
|
1156
|
-
}
|
|
1157
|
-
|
|
1158
|
-
private resolveAndValidatePath(unsafePath: string): string {
|
|
1159
|
-
const normalizedPath = path.normalize(unsafePath);
|
|
1160
|
-
if (path.isAbsolute(normalizedPath)) {
|
|
1161
|
-
throw new BadRequestException(
|
|
1162
|
-
`Absolute paths are not allowed: ${unsafePath}`,
|
|
1163
|
-
);
|
|
1164
|
-
}
|
|
1165
|
-
const resolvedPath = path.resolve(this.projectRoot, normalizedPath);
|
|
1166
|
-
if (!resolvedPath.startsWith(this.projectRoot)) {
|
|
1167
|
-
throw new BadRequestException(
|
|
1168
|
-
`Path traversal is not allowed: ${unsafePath}`,
|
|
1169
|
-
);
|
|
1170
|
-
}
|
|
1171
|
-
return resolvedPath;
|
|
1172
|
-
}
|
|
1173
|
-
|
|
1174
|
-
/**
|
|
1175
|
-
* Normalizes common parameter name mistakes before validation.
|
|
1176
|
-
* Maps intuitive but incorrect names to the expected schema.
|
|
1177
|
-
* @param args - The raw arguments from the LLM
|
|
1178
|
-
* @returns Normalized arguments with correct parameter names
|
|
1179
|
-
*/
|
|
1180
|
-
private normalizeArgs(args: Record<string, any>): Record<string, any> {
|
|
1181
|
-
const normalized = { ...args };
|
|
1182
|
-
|
|
1183
|
-
// Apply default value for action if missing or undefined
|
|
1184
|
-
if (normalized.action === undefined || normalized.action === null) {
|
|
1185
|
-
normalized.action = 'replace';
|
|
1186
|
-
}
|
|
1187
|
-
|
|
1188
|
-
// Map common parameter name mistakes to correct ones
|
|
1189
|
-
const mappings: Record<string, string> = {
|
|
1190
|
-
old_content: 'search_block',
|
|
1191
|
-
search: 'search_block',
|
|
1192
|
-
target: 'search_block',
|
|
1193
|
-
replacement: 'new_content',
|
|
1194
|
-
content: 'new_content',
|
|
1195
|
-
};
|
|
1196
|
-
|
|
1197
|
-
for (const [incorrect, correct] of Object.entries(mappings)) {
|
|
1198
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (incorrect in normalized && <span class="branch-1 cbranch-no" title="branch not covered" >!(correct in normalized))</span> {
|
|
1199
|
-
<span class="cstat-no" title="statement not covered" > normalized[correct] = normalized[incorrect];</span>
|
|
1200
|
-
<span class="cstat-no" title="statement not covered" > delete normalized[incorrect];</span>
|
|
1201
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug(</span>
|
|
1202
|
-
`Auto-corrected parameter name: "${incorrect}" → "${correct}"`,
|
|
1203
|
-
);
|
|
1204
|
-
}
|
|
1205
|
-
}
|
|
1206
|
-
|
|
1207
|
-
return normalized;
|
|
1208
|
-
}
|
|
1209
|
-
|
|
1210
|
-
/**
|
|
1211
|
-
* Format error message when file is not found.
|
|
1212
|
-
*/
|
|
1213
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1214
|
-
private formatNotFoundMessage(filePath: string, searchBlock: string): string {
|
|
1215
|
-
return `File \`${filePath}\` not found. Use \`request_context\` to verify the file path and content.`;
|
|
1216
|
-
}
|
|
1217
|
-
|
|
1218
|
-
/**
|
|
1219
|
-
* Format error message with candidate matches.
|
|
1220
|
-
* Provides concise information to help the LLM choose the correct block.
|
|
1221
|
-
*/
|
|
1222
|
-
private <span class="fstat-no" title="function not covered" >formatErrorWithCandidates(</span>
|
|
1223
|
-
filePath: string,
|
|
1224
|
-
searchBlock: string,
|
|
1225
|
-
matchResult: any,
|
|
1226
|
-
): string {
|
|
1227
|
-
// No candidates at all
|
|
1228
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!matchResult.candidates || matchResult.candidates.length === 0) {</span>
|
|
1229
|
-
<span class="cstat-no" title="statement not covered" > return `Search block not found in \`${filePath}\`. Use \`request_context\` to read the file and verify content.`;</span>
|
|
1230
|
-
}
|
|
1231
|
-
|
|
1232
|
-
// Multiple candidates found - short message
|
|
1233
|
-
const count = <span class="cstat-no" title="statement not covered" >matchResult.candidates.length;</span>
|
|
1234
|
-
<span class="cstat-no" title="statement not covered" > return `Found **${count} possible matches** for your search block in \`${filePath}\`. Include more surrounding lines or use \`request_context\` to uniquely identify the correct location.`;</span>
|
|
1235
|
-
}
|
|
1236
|
-
|
|
1237
|
-
/**
|
|
1238
|
-
* Writes a detailed log file when search block matching fails.
|
|
1239
|
-
* Creates a separate log file for each failure with a timestamp-based filename.
|
|
1240
|
-
* @param action - The action being performed
|
|
1241
|
-
* @param searchBlock - The search block that failed to match
|
|
1242
|
-
* @param filePath - The relative path to the file
|
|
1243
|
-
* @param fileContent - The full content of the file before modification
|
|
1244
|
-
*/
|
|
1245
|
-
private <span class="fstat-no" title="function not covered" >async </span>writeMatchFailureLog(
|
|
1246
|
-
action: string,
|
|
1247
|
-
searchBlock: string,
|
|
1248
|
-
filePath: string,
|
|
1249
|
-
fileContent: string,
|
|
1250
|
-
): Promise<void> {
|
|
1251
|
-
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
1252
|
-
// Use fsSync.promises to avoid test mocks interfering with logging
|
|
1253
|
-
<span class="cstat-no" title="statement not covered" > await fsSync.promises.mkdir(this.logDir, { recursive: true });</span>
|
|
1254
|
-
|
|
1255
|
-
const timestamp = <span class="cstat-no" title="statement not covered" >new Date().toISOString().replace(/[:.]/g, '-');</span>
|
|
1256
|
-
const logFileName = <span class="cstat-no" title="statement not covered" >`quick-edit-failure-${timestamp}.txt`;</span>
|
|
1257
|
-
const logFilePath = <span class="cstat-no" title="statement not covered" >path.join(this.logDir, logFileName);</span>
|
|
1258
|
-
|
|
1259
|
-
const logContent = <span class="cstat-no" title="statement not covered" >`Timestamp: ${new Date().toISOString()}</span>
|
|
1260
|
-
Action: ${action}
|
|
1261
|
-
FilePath: ${filePath}
|
|
1262
|
-
|
|
1263
|
-
Search Block:
|
|
1264
|
-
${searchBlock}
|
|
1265
|
-
|
|
1266
|
-
File Content Before Modification:
|
|
1267
|
-
${fileContent}`;
|
|
1268
|
-
|
|
1269
|
-
<span class="cstat-no" title="statement not covered" > await fsSync.promises.writeFile(logFilePath, logContent, 'utf8');</span>
|
|
1270
|
-
<span class="cstat-no" title="statement not covered" > this.logger.debug(`Match failure log written to: ${logFilePath}`);</span>
|
|
1271
|
-
} catch (error) {
|
|
1272
|
-
<span class="cstat-no" title="statement not covered" > this.logger.error(`Failed to write match failure log: ${error.message}`);</span>
|
|
1273
|
-
}
|
|
1274
|
-
}
|
|
1275
|
-
|
|
1276
|
-
async execute(
|
|
1277
|
-
args: { [key: string]: any },
|
|
1278
|
-
_context: PlanExecutionContext,
|
|
1279
|
-
): Promise<ActionExecutionResult> {
|
|
1280
|
-
// Auto-correct common parameter name mistakes before validation
|
|
1281
|
-
const normalizedArgs = this.normalizeArgs(args);
|
|
1282
|
-
|
|
1283
|
-
const validatedArgs = plainToClass(QuickEditArgsDto, normalizedArgs);
|
|
1284
|
-
const errors = await validate(validatedArgs);
|
|
1285
|
-
if (errors.length > 0) {
|
|
1286
|
-
const errorMessages = errors
|
|
1287
|
-
.map((err) => Object.values(err.constraints || <span class="branch-1 cbranch-no" title="branch not covered" >{})</span>.join(', '))
|
|
1288
|
-
.join('; ');
|
|
1289
|
-
return {
|
|
1290
|
-
status: 'FAILURE',
|
|
1291
|
-
summary: `Invalid arguments for ${this.toolName}.`,
|
|
1292
|
-
error_message: errorMessages,
|
|
1293
|
-
persisted_args: args,
|
|
1294
|
-
execution_log: { output: '', error_message: errorMessages },
|
|
1295
|
-
};
|
|
1296
|
-
}
|
|
1297
|
-
|
|
1298
|
-
const { file_path, action, search_block, new_content } = validatedArgs;
|
|
1299
|
-
const safePath = this.resolveAndValidatePath(file_path);
|
|
1300
|
-
|
|
1301
|
-
const originalContent = await fs
|
|
1302
|
-
.readFile(safePath, 'utf8')
|
|
1303
|
-
.catch((error) => {
|
|
1304
|
-
if (error.code === 'ENOENT') {
|
|
1305
|
-
return null;
|
|
1306
|
-
}
|
|
1307
|
-
<span class="cstat-no" title="statement not covered" > throw error;</span>
|
|
1308
|
-
});
|
|
1309
|
-
|
|
1310
|
-
if (originalContent === null) {
|
|
1311
|
-
const errorMessage = this.formatNotFoundMessage(file_path, search_block);
|
|
1312
|
-
return {
|
|
1313
|
-
status: 'FAILURE',
|
|
1314
|
-
summary: `Quick edit on "${file_path}" failed: File not found.`,
|
|
1315
|
-
error_message: errorMessage,
|
|
1316
|
-
persisted_args: validatedArgs,
|
|
1317
|
-
execution_log: { output: '', error_message: errorMessage },
|
|
1318
|
-
};
|
|
1319
|
-
}
|
|
1320
|
-
|
|
1321
|
-
// Use hybrid matching algorithm
|
|
1322
|
-
const matchResult = this.hybridMatcher.findBestMatch(
|
|
1323
|
-
search_block,
|
|
1324
|
-
originalContent,
|
|
1325
|
-
);
|
|
1326
|
-
|
|
1327
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!matchResult.found || !matchResult.unique) {
|
|
1328
|
-
<span class="cstat-no" title="statement not covered" > await this.writeMatchFailureLog(</span>
|
|
1329
|
-
action,
|
|
1330
|
-
search_block,
|
|
1331
|
-
file_path,
|
|
1332
|
-
originalContent,
|
|
1333
|
-
);
|
|
1334
|
-
const errorMessage = <span class="cstat-no" title="statement not covered" >this.formatErrorWithCandidates(</span>
|
|
1335
|
-
file_path,
|
|
1336
|
-
search_block,
|
|
1337
|
-
matchResult,
|
|
1338
|
-
);
|
|
1339
|
-
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
1340
|
-
status: 'FAILURE',
|
|
1341
|
-
summary: `Quick edit on "${file_path}" failed: Match issue.`,
|
|
1342
|
-
error_message: errorMessage,
|
|
1343
|
-
persisted_args: validatedArgs,
|
|
1344
|
-
execution_log: { output: '', error_message: errorMessage },
|
|
1345
|
-
};
|
|
1346
|
-
}
|
|
1347
|
-
|
|
1348
|
-
let newFileContent: string;
|
|
1349
|
-
const { before, after } = matchResult;
|
|
1350
|
-
|
|
1351
|
-
switch (action) {
|
|
1352
|
-
case 'replace':
|
|
1353
|
-
newFileContent = `${before}${new_content}${after}`;
|
|
1354
|
-
break;
|
|
1355
|
-
case 'insert_after':
|
|
1356
|
-
newFileContent = `${before}${search_block}\n${new_content}${after}`;
|
|
1357
|
-
break;
|
|
1358
|
-
case 'insert_before':
|
|
1359
|
-
newFileContent = `${before}${new_content}\n${search_block}${after}`;
|
|
1360
|
-
break;
|
|
1361
|
-
case 'delete_block':
|
|
1362
|
-
newFileContent = `${before}${after}`;
|
|
1363
|
-
break;
|
|
1364
|
-
}
|
|
1365
|
-
// Check if content is identical after edit
|
|
1366
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (newFileContent === originalContent) {
|
|
1367
|
-
const noChangeMessage = <span class="cstat-no" title="statement not covered" >`The quick_edit operation on "${file_path}" resulted in no changes. The new content is identical to the original content. This typically means your edit didn't change anything (e.g., replacing with the same content, or inserting duplicate content). Please review your edit and ensure you're making the intended changes.`;</span>
|
|
1368
|
-
|
|
1369
|
-
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
1370
|
-
status: 'FAILURE',
|
|
1371
|
-
summary: `Quick edit on "${file_path}" produced no changes.`,
|
|
1372
|
-
error_message: noChangeMessage,
|
|
1373
|
-
persisted_args: validatedArgs,
|
|
1374
|
-
execution_log: { output: '', error_message: noChangeMessage },
|
|
1375
|
-
};
|
|
1376
|
-
}
|
|
1377
|
-
|
|
1378
|
-
try {
|
|
1379
|
-
await fs.writeFile(safePath, newFileContent, 'utf8');
|
|
1380
|
-
|
|
1381
|
-
// Syntax validation after quick edit
|
|
1382
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (this.syntaxValidator && <span class="branch-1 cbranch-no" title="branch not covered" >this.appStateService)</span> {
|
|
1383
|
-
const isValidationEnabled =
|
|
1384
|
-
<span class="cstat-no" title="statement not covered" > await this.appStateService.getSyntaxValidationEnabled();</span>
|
|
1385
|
-
|
|
1386
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (isValidationEnabled) {</span>
|
|
1387
|
-
const validationError = <span class="cstat-no" title="statement not covered" >await this.syntaxValidator.validate(</span>
|
|
1388
|
-
file_path,
|
|
1389
|
-
newFileContent,
|
|
1390
|
-
);
|
|
1391
|
-
|
|
1392
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (validationError) {</span>
|
|
1393
|
-
<span class="cstat-no" title="statement not covered" > this.logger.warn(</span>
|
|
1394
|
-
`Syntax validation failed for quick edit on "${file_path}"`,
|
|
1395
|
-
);
|
|
1396
|
-
let errorMessage =
|
|
1397
|
-
<span class="cstat-no" title="statement not covered" > this.syntaxValidator.formatErrors(validationError);</span>
|
|
1398
|
-
<span class="cstat-no" title="statement not covered" > errorMessage += `\n**CORRECTION:** Your \`quick_edit\` introduced syntax errors. The original file content has been restored. `;</span>
|
|
1399
|
-
<span class="cstat-no" title="statement not covered" > errorMessage += `Please ensure your edit maintains syntactically valid code. `;</span>
|
|
1400
|
-
<span class="cstat-no" title="statement not covered" > errorMessage += `Common issues: missing closing braces in inserted code, mismatched quotes, or broken imports. `;</span>
|
|
1401
|
-
<span class="cstat-no" title="statement not covered" > errorMessage += `Use \`request_context\` to verify the file state and try again with a corrected \`search_block\` or \`new_content\`.`;</span>
|
|
1402
|
-
// Restore original content to prevent corruption
|
|
1403
|
-
<span class="cstat-no" title="statement not covered" > if (originalContent !== null) {</span>
|
|
1404
|
-
<span class="cstat-no" title="statement not covered" > await fs.writeFile(safePath, originalContent, 'utf8');</span>
|
|
1405
|
-
} else {
|
|
1406
|
-
<span class="cstat-no" title="statement not covered" > await fs.unlink(safePath).catch(<span class="fstat-no" title="function not covered" >() =</span>> {});</span>
|
|
1407
|
-
}
|
|
1408
|
-
|
|
1409
|
-
<span class="cstat-no" title="statement not covered" > return {</span>
|
|
1410
|
-
status: 'FAILURE',
|
|
1411
|
-
summary: `File "${file_path}" contains syntax errors after quick_edit and was reverted.`,
|
|
1412
|
-
error_message: errorMessage,
|
|
1413
|
-
persisted_args: validatedArgs,
|
|
1414
|
-
execution_log: { output: '', error_message: errorMessage },
|
|
1415
|
-
};
|
|
1416
|
-
}
|
|
1417
|
-
}
|
|
1418
|
-
}
|
|
1419
|
-
|
|
1420
|
-
return {
|
|
1421
|
-
status: 'SUCCESS',
|
|
1422
|
-
summary: `File "${file_path}" successfully modified with quick_edit.`,
|
|
1423
|
-
persisted_args: { ...validatedArgs, content: newFileContent },
|
|
1424
|
-
original_content_for_revert: originalContent,
|
|
1425
|
-
execution_log: {
|
|
1426
|
-
output: `${file_path} has been modified.`,
|
|
1427
|
-
error_message: '',
|
|
1428
|
-
},
|
|
1429
|
-
};
|
|
1430
|
-
} catch (error) {
|
|
1431
|
-
<span class="cstat-no" title="statement not covered" > this.logger.error(</span>
|
|
1432
|
-
`Failed to write file for quick edit at ${file_path}: ${error.message}`,
|
|
1433
|
-
);
|
|
1434
|
-
<span class="cstat-no" title="statement not covered" > throw new InternalServerErrorException(</span>
|
|
1435
|
-
`Failed to quick_edit file "${file_path}": ${error.message}`,
|
|
1436
|
-
);
|
|
1437
|
-
}
|
|
1438
|
-
}
|
|
1439
|
-
}
|
|
1440
|
-
</pre></td></tr></table></pre>
|
|
1441
|
-
|
|
1442
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
1443
|
-
</div><!-- /wrapper -->
|
|
1444
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
1445
|
-
Code coverage generated by
|
|
1446
|
-
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1447
|
-
at 2026-05-09T01:03:45.353Z
|
|
1448
|
-
</div>
|
|
1449
|
-
<script src="../../../prettify.js"></script>
|
|
1450
|
-
<script>
|
|
1451
|
-
window.onload = function () {
|
|
1452
|
-
prettyPrint();
|
|
1453
|
-
};
|
|
1454
|
-
</script>
|
|
1455
|
-
<script src="../../../sorter.js"></script>
|
|
1456
|
-
<script src="../../../block-navigation.js"></script>
|
|
1457
|
-
</body>
|
|
1458
|
-
</html>
|
|
1459
|
-
|