repoburg 1.3.9 → 1.3.11
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/backend/dist/bin/grammar/tree-sitter-bash.wasm +0 -0
- package/backend/dist/bin/grammar/tree-sitter-css.wasm +0 -0
- package/backend/dist/bin/grammar/tree-sitter-html.wasm +0 -0
- package/backend/dist/bin/grammar/tree-sitter-javascript.wasm +0 -0
- package/backend/dist/bin/grammar/tree-sitter-json.wasm +0 -0
- package/backend/dist/bin/grammar/tree-sitter-python.wasm +0 -0
- package/backend/dist/bin/grammar/tree-sitter-rust.wasm +0 -0
- package/backend/dist/bin/grammar/tree-sitter-toml.wasm +0 -0
- package/backend/dist/bin/grammar/tree-sitter-tsx.wasm +0 -0
- package/backend/dist/bin/grammar/tree-sitter-typescript.wasm +0 -0
- package/backend/dist/bin/grammar/tree-sitter-yaml.wasm +0 -0
- package/backend/dist/packages/tokenpatch/index.d.ts +1 -0
- package/backend/dist/packages/tokenpatch/index.js +52 -0
- package/backend/dist/packages/tokenpatch/index.js.map +1 -0
- package/backend/dist/packages/tokenpatch/parser.d.ts +2 -0
- package/backend/dist/packages/tokenpatch/parser.js +17 -0
- package/backend/dist/packages/tokenpatch/parser.js.map +1 -0
- package/backend/dist/packages/tokenpatch/patcher.d.ts +11 -0
- package/backend/dist/packages/tokenpatch/patcher.js +189 -0
- package/backend/dist/packages/tokenpatch/patcher.js.map +1 -0
- package/backend/dist/packages/tokenpatch/tokens.d.ts +6 -0
- package/backend/dist/packages/tokenpatch/tokens.js +49 -0
- package/backend/dist/packages/tokenpatch/tokens.js.map +1 -0
- package/backend/dist/packages/tokenpatch/types.d.ts +8 -0
- package/backend/dist/packages/tokenpatch/types.js +3 -0
- package/backend/dist/packages/tokenpatch/types.js.map +1 -0
- package/backend/dist/src/ai-actions/ai-actions.service.d.ts +1 -0
- package/backend/dist/src/ai-actions/ai-actions.service.js +2 -0
- package/backend/dist/src/ai-actions/ai-actions.service.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/action-handler.interface.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/apply-diff.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/apply-diff.handler.js +35 -0
- package/backend/dist/src/llm-orchestration/action-handlers/apply-diff.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/create-file.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/create-file.handler.js +48 -0
- package/backend/dist/src/llm-orchestration/action-handlers/create-file.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/delete-file.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/delete-file.handler.js +21 -0
- package/backend/dist/src/llm-orchestration/action-handlers/delete-file.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/dto/howto.args.dto.d.ts +2 -0
- package/backend/dist/src/llm-orchestration/action-handlers/dto/howto.args.dto.js +7 -0
- package/backend/dist/src/llm-orchestration/action-handlers/dto/howto.args.dto.js.map +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/dto/patch.args.dto.d.ts +4 -0
- package/backend/dist/src/llm-orchestration/action-handlers/dto/patch.args.dto.js +29 -0
- package/backend/dist/src/llm-orchestration/action-handlers/dto/patch.args.dto.js.map +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/edit-file.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/edit-file.handler.js +55 -0
- package/backend/dist/src/llm-orchestration/action-handlers/edit-file.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/final.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/final.handler.js +20 -0
- package/backend/dist/src/llm-orchestration/action-handlers/final.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/howto.handler.d.ts +9 -0
- package/backend/dist/src/llm-orchestration/action-handlers/howto.handler.js +85 -0
- package/backend/dist/src/llm-orchestration/action-handlers/howto.handler.js.map +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/new-session.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/new-session.handler.js +21 -0
- package/backend/dist/src/llm-orchestration/action-handlers/new-session.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/patch.handler.d.ts +13 -0
- package/backend/dist/src/llm-orchestration/action-handlers/patch.handler.js +247 -0
- package/backend/dist/src/llm-orchestration/action-handlers/patch.handler.js.map +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/quick-edit.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/quick-edit.handler.js +53 -0
- package/backend/dist/src/llm-orchestration/action-handlers/quick-edit.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/request-context.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/request-context.handler.js +30 -0
- package/backend/dist/src/llm-orchestration/action-handlers/request-context.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/run-command.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/run-command.handler.js +45 -0
- package/backend/dist/src/llm-orchestration/action-handlers/run-command.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/action-handlers/use-mcp-tool.handler.d.ts +1 -0
- package/backend/dist/src/llm-orchestration/action-handlers/use-mcp-tool.handler.js +29 -0
- package/backend/dist/src/llm-orchestration/action-handlers/use-mcp-tool.handler.js.map +1 -1
- package/backend/dist/src/llm-orchestration/llm-orchestration.module.js +6 -2
- package/backend/dist/src/llm-orchestration/llm-orchestration.module.js.map +1 -1
- package/backend/dist/src/llm-orchestration/llm-turn-processor.service.js +1 -0
- package/backend/dist/src/llm-orchestration/llm-turn-processor.service.js.map +1 -1
- package/backend/dist/src/seeding/data/custom-snippets/eta-for.d.ts +4 -0
- package/backend/dist/src/seeding/data/custom-snippets/eta-for.js +8 -0
- package/backend/dist/src/seeding/data/custom-snippets/eta-for.js.map +1 -0
- package/backend/dist/src/seeding/data/custom-snippets/eta-if.d.ts +4 -0
- package/backend/dist/src/seeding/data/custom-snippets/eta-if.js +8 -0
- package/backend/dist/src/seeding/data/custom-snippets/eta-if.js.map +1 -0
- package/backend/dist/src/seeding/data/custom-snippets/eta-ifelse.d.ts +4 -0
- package/backend/dist/src/seeding/data/custom-snippets/eta-ifelse.js +8 -0
- package/backend/dist/src/seeding/data/custom-snippets/eta-ifelse.js.map +1 -0
- package/backend/dist/src/seeding/data/custom-snippets/it-mcp.d.ts +4 -0
- package/backend/dist/src/seeding/data/custom-snippets/it-mcp.js +8 -0
- package/backend/dist/src/seeding/data/custom-snippets/it-mcp.js.map +1 -0
- package/backend/dist/src/seeding/data/custom-snippets/it-tools.d.ts +4 -0
- package/backend/dist/src/seeding/data/custom-snippets/it-tools.js +8 -0
- package/backend/dist/src/seeding/data/custom-snippets/it-tools.js.map +1 -0
- package/backend/dist/src/seeding/data/system-prompts/default_master-agent.d.ts +1 -1
- package/backend/dist/src/seeding/data/system-prompts/default_master-agent.js +1 -1
- package/backend/dist/src/seeding/data/system-prompts/experimental_eta_master-agent.d.ts +2 -0
- package/backend/dist/src/seeding/data/system-prompts/experimental_eta_master-agent.js +62 -0
- package/backend/dist/src/seeding/data/system-prompts/experimental_eta_master-agent.js.map +1 -0
- package/backend/dist/src/seeding/data/system-prompts/experimental_patch_master-agent.d.ts +2 -0
- package/backend/dist/src/seeding/data/system-prompts/experimental_patch_master-agent.js +463 -0
- package/backend/dist/src/seeding/data/system-prompts/experimental_patch_master-agent.js.map +1 -0
- package/backend/dist/src/system-prompts/dto/system-prompt.dto.d.ts +6 -0
- package/backend/dist/src/system-prompts/dto/system-prompt.dto.js +12 -1
- package/backend/dist/src/system-prompts/dto/system-prompt.dto.js.map +1 -1
- package/backend/dist/src/system-prompts/system-prompts.controller.d.ts +3 -1
- package/backend/dist/src/system-prompts/system-prompts.controller.js +20 -0
- package/backend/dist/src/system-prompts/system-prompts.controller.js.map +1 -1
- package/backend/dist/src/system-prompts/system-prompts.module.js +11 -1
- package/backend/dist/src/system-prompts/system-prompts.module.js.map +1 -1
- package/backend/dist/src/system-prompts/system-prompts.service.d.ts +11 -3
- package/backend/dist/src/system-prompts/system-prompts.service.js +39 -12
- package/backend/dist/src/system-prompts/system-prompts.service.js.map +1 -1
- package/backend/dist/src/utils/ai-format-generator.d.ts +1 -0
- package/backend/dist/src/utils/ai-format-generator.js +23 -0
- package/backend/dist/src/utils/ai-format-generator.js.map +1 -0
- package/backend/dist/src/utils/index.d.ts +1 -0
- package/backend/dist/src/utils/index.js +1 -0
- package/backend/dist/src/utils/index.js.map +1 -1
- package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
- package/backend/package.json +6 -3
- package/backend/packages/tokenpatch/grammar/tree-sitter-tsx.wasm +0 -0
- package/backend/packages/tokenpatch/grammar/tree-sitter-typescript.wasm +0 -0
- package/backend/packages/tokenpatch/index.spec.ts +579 -0
- package/backend/packages/tokenpatch/index.ts +80 -0
- package/backend/packages/tokenpatch/parser.ts +18 -0
- package/backend/packages/tokenpatch/patcher.spec.ts +194 -0
- package/backend/packages/tokenpatch/patcher.ts +300 -0
- package/backend/packages/tokenpatch/tokens.spec.ts +84 -0
- package/backend/packages/tokenpatch/tokens.ts +50 -0
- package/backend/packages/tokenpatch/types.ts +9 -0
- package/package.json +13 -12
- package/backend/coverage/clover.xml +0 -3434
- package/backend/coverage/coverage-final.json +0 -120
- 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 -701
- 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 -196
- package/backend/coverage/lcov-report/src/action-execution/action-execution.module.ts.html +0 -109
- package/backend/coverage/lcov-report/src/action-execution/action-execution.service.ts.html +0 -448
- package/backend/coverage/lcov-report/src/action-execution/index.html +0 -131
- package/backend/coverage/lcov-report/src/ai-actions/ai-action-batch.service.ts.html +0 -940
- package/backend/coverage/lcov-report/src/ai-actions/ai-action-creation.service.ts.html +0 -1243
- package/backend/coverage/lcov-report/src/ai-actions/ai-actions.controller.ts.html +0 -664
- package/backend/coverage/lcov-report/src/ai-actions/ai-actions.module.ts.html +0 -154
- package/backend/coverage/lcov-report/src/ai-actions/ai-actions.service.ts.html +0 -859
- package/backend/coverage/lcov-report/src/ai-actions/index.html +0 -176
- package/backend/coverage/lcov-report/src/app.controller.ts.html +0 -151
- package/backend/coverage/lcov-report/src/app.module.ts.html +0 -373
- package/backend/coverage/lcov-report/src/app.service.ts.html +0 -196
- package/backend/coverage/lcov-report/src/application-state/application-state.controller.ts.html +0 -319
- package/backend/coverage/lcov-report/src/application-state/application-state.module.ts.html +0 -124
- package/backend/coverage/lcov-report/src/application-state/application-state.service.ts.html +0 -439
- package/backend/coverage/lcov-report/src/application-state/dto/index.html +0 -161
- package/backend/coverage/lcov-report/src/application-state/dto/set-auto-context-fetch-enabled.dto.ts.html +0 -103
- package/backend/coverage/lcov-report/src/application-state/dto/set-orchestration-timeout.dto.ts.html +0 -103
- package/backend/coverage/lcov-report/src/application-state/dto/set-theme.dto.ts.html +0 -106
- package/backend/coverage/lcov-report/src/application-state/dto/set-websocket-enabled.dto.ts.html +0 -103
- package/backend/coverage/lcov-report/src/application-state/index.html +0 -146
- 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 -1348
- 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 -289
- package/backend/coverage/lcov-report/src/context-snippets/context-snippets.module.ts.html +0 -136
- package/backend/coverage/lcov-report/src/context-snippets/context-snippets.service.ts.html +0 -400
- 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 -397
- package/backend/coverage/lcov-report/src/context-templates/context-templates.module.ts.html +0 -136
- package/backend/coverage/lcov-report/src/context-templates/context-templates.service.ts.html +0 -835
- package/backend/coverage/lcov-report/src/context-templates/dto/context-template.dto.ts.html +0 -358
- 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 -241
- package/backend/coverage/lcov-report/src/core-entities/application-state.entity.ts.html +0 -115
- package/backend/coverage/lcov-report/src/core-entities/base.entity.ts.html +0 -145
- package/backend/coverage/lcov-report/src/core-entities/context-snippet.entity.ts.html +0 -130
- package/backend/coverage/lcov-report/src/core-entities/context-template.entity.ts.html +0 -223
- package/backend/coverage/lcov-report/src/core-entities/custom-snippet.entity.ts.html +0 -136
- package/backend/coverage/lcov-report/src/core-entities/execution-log.entity.ts.html +0 -157
- package/backend/coverage/lcov-report/src/core-entities/index.html +0 -281
- package/backend/coverage/lcov-report/src/core-entities/index.ts.html +0 -118
- package/backend/coverage/lcov-report/src/core-entities/project.entity.ts.html +0 -130
- package/backend/coverage/lcov-report/src/core-entities/session-input.entity.ts.html +0 -289
- package/backend/coverage/lcov-report/src/core-entities/session.entity.ts.html +0 -280
- package/backend/coverage/lcov-report/src/core-entities/system-prompt.entity.ts.html +0 -148
- package/backend/coverage/lcov-report/src/custom-snippets/custom-snippets.controller.ts.html +0 -277
- 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/events/events.gateway.ts.html +0 -292
- package/backend/coverage/lcov-report/src/events/events.module.ts.html +0 -109
- package/backend/coverage/lcov-report/src/events/index.html +0 -131
- 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/http-exception.filter.ts.html +0 -340
- package/backend/coverage/lcov-report/src/index.html +0 -191
- package/backend/coverage/lcov-report/src/llm-response-parser/dto/ai-action.dto.ts.html +0 -400
- package/backend/coverage/lcov-report/src/llm-response-parser/dto/index.html +0 -116
- package/backend/coverage/lcov-report/src/llm-response-parser/errors/index.html +0 -116
- package/backend/coverage/lcov-report/src/llm-response-parser/errors/parsing.error.ts.html +0 -118
- package/backend/coverage/lcov-report/src/llm-response-parser/index.html +0 -146
- package/backend/coverage/lcov-report/src/llm-response-parser/llm-response-parser.module.ts.html +0 -109
- package/backend/coverage/lcov-report/src/llm-response-parser/llm-response-parser.service.ts.html +0 -808
- package/backend/coverage/lcov-report/src/llm-response-parser/parsing.constants.ts.html +0 -139
- package/backend/coverage/lcov-report/src/llm-responses/dto/index.html +0 -116
- package/backend/coverage/lcov-report/src/llm-responses/dto/submit-llm-response.dto.ts.html +0 -172
- 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 -154
- package/backend/coverage/lcov-report/src/llm-responses/llm-responses.module.ts.html +0 -166
- package/backend/coverage/lcov-report/src/llm-responses/llm-responses.service.ts.html +0 -787
- package/backend/coverage/lcov-report/src/main.ts.html +0 -382
- package/backend/coverage/lcov-report/src/orchestration/dto/index.html +0 -116
- package/backend/coverage/lcov-report/src/orchestration/dto/orchestration.dto.ts.html +0 -169
- package/backend/coverage/lcov-report/src/orchestration/index.html +0 -191
- package/backend/coverage/lcov-report/src/orchestration/orchestration-fs.service.ts.html +0 -595
- package/backend/coverage/lcov-report/src/orchestration/orchestration-parser.service.ts.html +0 -142
- package/backend/coverage/lcov-report/src/orchestration/orchestration.controller.ts.html +0 -406
- package/backend/coverage/lcov-report/src/orchestration/orchestration.module.ts.html +0 -169
- package/backend/coverage/lcov-report/src/orchestration/orchestration.service.ts.html +0 -1093
- package/backend/coverage/lcov-report/src/orchestration/orchestration.types.ts.html +0 -175
- 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 -154
- package/backend/coverage/lcov-report/src/projects/index.html +0 -146
- package/backend/coverage/lcov-report/src/projects/projects.controller.ts.html +0 -232
- 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 -223
- package/backend/coverage/lcov-report/src/seeding/context-template-seeding.service.ts.html +0 -355
- package/backend/coverage/lcov-report/src/seeding/custom-snippet-seeding.service.ts.html +0 -271
- package/backend/coverage/lcov-report/src/seeding/data/context-templates/default-followup_ad-hoc-focused-context.ts.html +0 -136
- 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 -247
- package/backend/coverage/lcov-report/src/seeding/data/context-templates/index.html +0 -190
- package/backend/coverage/lcov-report/src/seeding/data/context-templates/pm-context.ts.html +0 -250
- package/backend/coverage/lcov-report/src/seeding/data/context-templates/pr-description.ts.html +0 -186
- package/backend/coverage/lcov-report/src/seeding/data/context-templates/sample_focused-tree.ts.html +0 -124
- 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/git-diff.ts.html +0 -94
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/index.html +0 -236
- 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-input-incl.ts.html +0 -94
- package/backend/coverage/lcov-report/src/seeding/data/system-prompts/codebase-explorer.ts.html +0 -331
- package/backend/coverage/lcov-report/src/seeding/data/system-prompts/default_multi-file-action-generator-with-requester.ts.html +0 -675
- package/backend/coverage/lcov-report/src/seeding/data/system-prompts/index.html +0 -160
- package/backend/coverage/lcov-report/src/seeding/data/system-prompts/multi-file-action-generator.ts.html +0 -550
- package/backend/coverage/lcov-report/src/seeding/data/system-prompts/packup.ts.html +0 -184
- package/backend/coverage/lcov-report/src/seeding/data/system-prompts/refactor-split.ts.html +0 -244
- package/backend/coverage/lcov-report/src/seeding/index.html +0 -176
- package/backend/coverage/lcov-report/src/seeding/seeding.module.ts.html +0 -145
- package/backend/coverage/lcov-report/src/seeding/seeding.service.ts.html +0 -151
- package/backend/coverage/lcov-report/src/seeding/system-prompt-seeding.service.ts.html +0 -289
- 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 -670
- 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 -247
- package/backend/coverage/lcov-report/src/session-inputs/index.html +0 -161
- package/backend/coverage/lcov-report/src/session-inputs/session-input-context.service.ts.html +0 -763
- package/backend/coverage/lcov-report/src/session-inputs/session-inputs.controller.ts.html +0 -337
- package/backend/coverage/lcov-report/src/session-inputs/session-inputs.module.ts.html +0 -205
- package/backend/coverage/lcov-report/src/session-inputs/session-inputs.service.ts.html +0 -1621
- 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 -172
- package/backend/coverage/lcov-report/src/session-transfer/session-transfer.service.ts.html +0 -574
- 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 -340
- package/backend/coverage/lcov-report/src/sessions/index.html +0 -146
- package/backend/coverage/lcov-report/src/sessions/sessions.controller.ts.html +0 -457
- package/backend/coverage/lcov-report/src/sessions/sessions.module.ts.html +0 -214
- package/backend/coverage/lcov-report/src/sessions/sessions.service.ts.html +0 -844
- package/backend/coverage/lcov-report/src/system-prompts/dto/index.html +0 -116
- package/backend/coverage/lcov-report/src/system-prompts/dto/system-prompt.dto.ts.html +0 -217
- 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 -298
- package/backend/coverage/lcov-report/src/system-prompts/system-prompts.module.ts.html +0 -127
- package/backend/coverage/lcov-report/src/system-prompts/system-prompts.service.ts.html +0 -352
- package/backend/coverage/lcov-report/src/timeout.interceptor.ts.html +0 -178
- package/backend/coverage/lcov-report/src/utils/fuzzy-search.ts.html +0 -310
- package/backend/coverage/lcov-report/src/utils/index.html +0 -131
- package/backend/coverage/lcov-report/src/utils/index.ts.html +0 -88
- package/backend/coverage/lcov-report/src/workspace/dto/index.html +0 -116
- 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 -247
- 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 -745
- package/backend/coverage/lcov.info +0 -5590
|
@@ -1,1621 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<!doctype html>
|
|
3
|
-
<html lang="en">
|
|
4
|
-
|
|
5
|
-
<head>
|
|
6
|
-
<title>Code coverage report for src/session-inputs/session-inputs.service.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/session-inputs</a> session-inputs.service.ts</h1>
|
|
23
|
-
<div class='clearfix'>
|
|
24
|
-
|
|
25
|
-
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">72.84% </span>
|
|
27
|
-
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>110/151</span>
|
|
29
|
-
</div>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">68.96% </span>
|
|
34
|
-
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>40/58</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">72.48% </span>
|
|
48
|
-
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>108/149</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>
|
|
525
|
-
<a name='L460'></a><a href='#L460'>460</a>
|
|
526
|
-
<a name='L461'></a><a href='#L461'>461</a>
|
|
527
|
-
<a name='L462'></a><a href='#L462'>462</a>
|
|
528
|
-
<a name='L463'></a><a href='#L463'>463</a>
|
|
529
|
-
<a name='L464'></a><a href='#L464'>464</a>
|
|
530
|
-
<a name='L465'></a><a href='#L465'>465</a>
|
|
531
|
-
<a name='L466'></a><a href='#L466'>466</a>
|
|
532
|
-
<a name='L467'></a><a href='#L467'>467</a>
|
|
533
|
-
<a name='L468'></a><a href='#L468'>468</a>
|
|
534
|
-
<a name='L469'></a><a href='#L469'>469</a>
|
|
535
|
-
<a name='L470'></a><a href='#L470'>470</a>
|
|
536
|
-
<a name='L471'></a><a href='#L471'>471</a>
|
|
537
|
-
<a name='L472'></a><a href='#L472'>472</a>
|
|
538
|
-
<a name='L473'></a><a href='#L473'>473</a>
|
|
539
|
-
<a name='L474'></a><a href='#L474'>474</a>
|
|
540
|
-
<a name='L475'></a><a href='#L475'>475</a>
|
|
541
|
-
<a name='L476'></a><a href='#L476'>476</a>
|
|
542
|
-
<a name='L477'></a><a href='#L477'>477</a>
|
|
543
|
-
<a name='L478'></a><a href='#L478'>478</a>
|
|
544
|
-
<a name='L479'></a><a href='#L479'>479</a>
|
|
545
|
-
<a name='L480'></a><a href='#L480'>480</a>
|
|
546
|
-
<a name='L481'></a><a href='#L481'>481</a>
|
|
547
|
-
<a name='L482'></a><a href='#L482'>482</a>
|
|
548
|
-
<a name='L483'></a><a href='#L483'>483</a>
|
|
549
|
-
<a name='L484'></a><a href='#L484'>484</a>
|
|
550
|
-
<a name='L485'></a><a href='#L485'>485</a>
|
|
551
|
-
<a name='L486'></a><a href='#L486'>486</a>
|
|
552
|
-
<a name='L487'></a><a href='#L487'>487</a>
|
|
553
|
-
<a name='L488'></a><a href='#L488'>488</a>
|
|
554
|
-
<a name='L489'></a><a href='#L489'>489</a>
|
|
555
|
-
<a name='L490'></a><a href='#L490'>490</a>
|
|
556
|
-
<a name='L491'></a><a href='#L491'>491</a>
|
|
557
|
-
<a name='L492'></a><a href='#L492'>492</a>
|
|
558
|
-
<a name='L493'></a><a href='#L493'>493</a>
|
|
559
|
-
<a name='L494'></a><a href='#L494'>494</a>
|
|
560
|
-
<a name='L495'></a><a href='#L495'>495</a>
|
|
561
|
-
<a name='L496'></a><a href='#L496'>496</a>
|
|
562
|
-
<a name='L497'></a><a href='#L497'>497</a>
|
|
563
|
-
<a name='L498'></a><a href='#L498'>498</a>
|
|
564
|
-
<a name='L499'></a><a href='#L499'>499</a>
|
|
565
|
-
<a name='L500'></a><a href='#L500'>500</a>
|
|
566
|
-
<a name='L501'></a><a href='#L501'>501</a>
|
|
567
|
-
<a name='L502'></a><a href='#L502'>502</a>
|
|
568
|
-
<a name='L503'></a><a href='#L503'>503</a>
|
|
569
|
-
<a name='L504'></a><a href='#L504'>504</a>
|
|
570
|
-
<a name='L505'></a><a href='#L505'>505</a>
|
|
571
|
-
<a name='L506'></a><a href='#L506'>506</a>
|
|
572
|
-
<a name='L507'></a><a href='#L507'>507</a>
|
|
573
|
-
<a name='L508'></a><a href='#L508'>508</a>
|
|
574
|
-
<a name='L509'></a><a href='#L509'>509</a>
|
|
575
|
-
<a name='L510'></a><a href='#L510'>510</a>
|
|
576
|
-
<a name='L511'></a><a href='#L511'>511</a>
|
|
577
|
-
<a name='L512'></a><a href='#L512'>512</a>
|
|
578
|
-
<a name='L513'></a><a href='#L513'>513</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">8x</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-yes">8x</span>
|
|
587
|
-
<span class="cline-any cline-yes">8x</span>
|
|
588
|
-
<span class="cline-any cline-yes">8x</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-yes">8x</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-yes">8x</span>
|
|
604
|
-
<span class="cline-any cline-yes">8x</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-yes">8x</span>
|
|
609
|
-
<span class="cline-any cline-yes">8x</span>
|
|
610
|
-
<span class="cline-any cline-yes">8x</span>
|
|
611
|
-
<span class="cline-any cline-yes">8x</span>
|
|
612
|
-
<span class="cline-any cline-neutral"> </span>
|
|
613
|
-
<span class="cline-any cline-neutral"> </span>
|
|
614
|
-
<span class="cline-any cline-yes">8x</span>
|
|
615
|
-
<span class="cline-any cline-yes">16x</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-yes">16x</span>
|
|
620
|
-
<span class="cline-any cline-neutral"> </span>
|
|
621
|
-
<span class="cline-any cline-yes">16x</span>
|
|
622
|
-
<span class="cline-any cline-neutral"> </span>
|
|
623
|
-
<span class="cline-any cline-yes">16x</span>
|
|
624
|
-
<span class="cline-any cline-yes">16x</span>
|
|
625
|
-
<span class="cline-any cline-yes">16x</span>
|
|
626
|
-
<span class="cline-any cline-yes">16x</span>
|
|
627
|
-
<span class="cline-any cline-yes">16x</span>
|
|
628
|
-
<span class="cline-any cline-yes">16x</span>
|
|
629
|
-
<span class="cline-any cline-yes">16x</span>
|
|
630
|
-
<span class="cline-any cline-yes">16x</span>
|
|
631
|
-
<span class="cline-any cline-neutral"> </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-yes">9x</span>
|
|
638
|
-
<span class="cline-any cline-yes">9x</span>
|
|
639
|
-
<span class="cline-any cline-neutral"> </span>
|
|
640
|
-
<span class="cline-any cline-yes">9x</span>
|
|
641
|
-
<span class="cline-any cline-yes">1x</span>
|
|
642
|
-
<span class="cline-any cline-neutral"> </span>
|
|
643
|
-
<span class="cline-any cline-neutral"> </span>
|
|
644
|
-
<span class="cline-any cline-neutral"> </span>
|
|
645
|
-
<span class="cline-any cline-yes">1x</span>
|
|
646
|
-
<span class="cline-any cline-yes">1x</span>
|
|
647
|
-
<span class="cline-any cline-neutral"> </span>
|
|
648
|
-
<span class="cline-any cline-neutral"> </span>
|
|
649
|
-
<span class="cline-any cline-yes">1x</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-yes">1x</span>
|
|
656
|
-
<span class="cline-any cline-neutral"> </span>
|
|
657
|
-
<span class="cline-any cline-yes">1x</span>
|
|
658
|
-
<span class="cline-any cline-neutral"> </span>
|
|
659
|
-
<span class="cline-any cline-neutral"> </span>
|
|
660
|
-
<span class="cline-any cline-yes">8x</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-yes">19x</span>
|
|
665
|
-
<span class="cline-any cline-yes">17x</span>
|
|
666
|
-
<span class="cline-any cline-neutral"> </span>
|
|
667
|
-
<span class="cline-any cline-neutral"> </span>
|
|
668
|
-
<span class="cline-any cline-yes">2x</span>
|
|
669
|
-
<span class="cline-any cline-yes">2x</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-no"> </span>
|
|
675
|
-
<span class="cline-any cline-neutral"> </span>
|
|
676
|
-
<span class="cline-any cline-neutral"> </span>
|
|
677
|
-
<span class="cline-any cline-yes">2x</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-yes">2x</span>
|
|
686
|
-
<span class="cline-any cline-yes">2x</span>
|
|
687
|
-
<span class="cline-any cline-neutral"> </span>
|
|
688
|
-
<span class="cline-any cline-neutral"> </span>
|
|
689
|
-
<span class="cline-any cline-yes">2x</span>
|
|
690
|
-
<span class="cline-any cline-no"> </span>
|
|
691
|
-
<span class="cline-any cline-neutral"> </span>
|
|
692
|
-
<span class="cline-any cline-neutral"> </span>
|
|
693
|
-
<span class="cline-any cline-yes">2x</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-neutral"> </span>
|
|
698
|
-
<span class="cline-any cline-yes">2x</span>
|
|
699
|
-
<span class="cline-any cline-neutral"> </span>
|
|
700
|
-
<span class="cline-any cline-neutral"> </span>
|
|
701
|
-
<span class="cline-any cline-neutral"> </span>
|
|
702
|
-
<span class="cline-any cline-neutral"> </span>
|
|
703
|
-
<span class="cline-any cline-neutral"> </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-neutral"> </span>
|
|
708
|
-
<span class="cline-any cline-neutral"> </span>
|
|
709
|
-
<span class="cline-any cline-neutral"> </span>
|
|
710
|
-
<span class="cline-any cline-yes">10x</span>
|
|
711
|
-
<span class="cline-any cline-neutral"> </span>
|
|
712
|
-
<span class="cline-any cline-neutral"> </span>
|
|
713
|
-
<span class="cline-any cline-neutral"> </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-yes">10x</span>
|
|
723
|
-
<span class="cline-any cline-yes">1x</span>
|
|
724
|
-
<span class="cline-any cline-neutral"> </span>
|
|
725
|
-
<span class="cline-any cline-neutral"> </span>
|
|
726
|
-
<span class="cline-any cline-yes">9x</span>
|
|
727
|
-
<span class="cline-any cline-yes">9x</span>
|
|
728
|
-
<span class="cline-any cline-yes">9x</span>
|
|
729
|
-
<span class="cline-any cline-neutral"> </span>
|
|
730
|
-
<span class="cline-any cline-yes">9x</span>
|
|
731
|
-
<span class="cline-any cline-neutral"> </span>
|
|
732
|
-
<span class="cline-any cline-neutral"> </span>
|
|
733
|
-
<span class="cline-any cline-neutral"> </span>
|
|
734
|
-
<span class="cline-any cline-yes">9x</span>
|
|
735
|
-
<span class="cline-any cline-yes">9x</span>
|
|
736
|
-
<span class="cline-any cline-no"> </span>
|
|
737
|
-
<span class="cline-any cline-neutral"> </span>
|
|
738
|
-
<span class="cline-any cline-neutral"> </span>
|
|
739
|
-
<span class="cline-any cline-no"> </span>
|
|
740
|
-
<span class="cline-any cline-no"> </span>
|
|
741
|
-
<span class="cline-any cline-neutral"> </span>
|
|
742
|
-
<span class="cline-any cline-neutral"> </span>
|
|
743
|
-
<span class="cline-any cline-neutral"> </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-yes">9x</span>
|
|
748
|
-
<span class="cline-any cline-neutral"> </span>
|
|
749
|
-
<span class="cline-any cline-neutral"> </span>
|
|
750
|
-
<span class="cline-any cline-yes">9x</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">9x</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-yes">9x</span>
|
|
768
|
-
<span class="cline-any cline-neutral"> </span>
|
|
769
|
-
<span class="cline-any cline-neutral"> </span>
|
|
770
|
-
<span class="cline-any cline-yes">9x</span>
|
|
771
|
-
<span class="cline-any cline-neutral"> </span>
|
|
772
|
-
<span class="cline-any cline-neutral"> </span>
|
|
773
|
-
<span class="cline-any cline-yes">9x</span>
|
|
774
|
-
<span class="cline-any cline-yes">5x</span>
|
|
775
|
-
<span class="cline-any cline-neutral"> </span>
|
|
776
|
-
<span class="cline-any cline-neutral"> </span>
|
|
777
|
-
<span class="cline-any cline-neutral"> </span>
|
|
778
|
-
<span class="cline-any cline-yes">4x</span>
|
|
779
|
-
<span class="cline-any cline-yes">2x</span>
|
|
780
|
-
<span class="cline-any cline-neutral"> </span>
|
|
781
|
-
<span class="cline-any cline-neutral"> </span>
|
|
782
|
-
<span class="cline-any cline-yes">2x</span>
|
|
783
|
-
<span class="cline-any cline-neutral"> </span>
|
|
784
|
-
<span class="cline-any cline-yes">1x</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-yes">1x</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-yes">7x</span>
|
|
794
|
-
<span class="cline-any cline-neutral"> </span>
|
|
795
|
-
<span class="cline-any cline-neutral"> </span>
|
|
796
|
-
<span class="cline-any cline-neutral"> </span>
|
|
797
|
-
<span class="cline-any cline-neutral"> </span>
|
|
798
|
-
<span class="cline-any cline-neutral"> </span>
|
|
799
|
-
<span class="cline-any cline-neutral"> </span>
|
|
800
|
-
<span class="cline-any cline-neutral"> </span>
|
|
801
|
-
<span class="cline-any cline-neutral"> </span>
|
|
802
|
-
<span class="cline-any cline-neutral"> </span>
|
|
803
|
-
<span class="cline-any cline-yes">7x</span>
|
|
804
|
-
<span class="cline-any cline-no"> </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-yes">7x</span>
|
|
810
|
-
<span class="cline-any cline-neutral"> </span>
|
|
811
|
-
<span class="cline-any cline-neutral"> </span>
|
|
812
|
-
<span class="cline-any cline-neutral"> </span>
|
|
813
|
-
<span class="cline-any cline-neutral"> </span>
|
|
814
|
-
<span class="cline-any cline-neutral"> </span>
|
|
815
|
-
<span class="cline-any cline-neutral"> </span>
|
|
816
|
-
<span class="cline-any cline-yes">12x</span>
|
|
817
|
-
<span class="cline-any cline-neutral"> </span>
|
|
818
|
-
<span class="cline-any cline-neutral"> </span>
|
|
819
|
-
<span class="cline-any cline-yes">12x</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-neutral"> </span>
|
|
824
|
-
<span class="cline-any cline-neutral"> </span>
|
|
825
|
-
<span class="cline-any cline-neutral"> </span>
|
|
826
|
-
<span class="cline-any cline-neutral"> </span>
|
|
827
|
-
<span class="cline-any cline-neutral"> </span>
|
|
828
|
-
<span class="cline-any cline-neutral"> </span>
|
|
829
|
-
<span class="cline-any cline-neutral"> </span>
|
|
830
|
-
<span class="cline-any cline-neutral"> </span>
|
|
831
|
-
<span class="cline-any cline-yes">12x</span>
|
|
832
|
-
<span class="cline-any cline-yes">1x</span>
|
|
833
|
-
<span class="cline-any cline-neutral"> </span>
|
|
834
|
-
<span class="cline-any cline-neutral"> </span>
|
|
835
|
-
<span class="cline-any cline-yes">11x</span>
|
|
836
|
-
<span class="cline-any cline-yes">11x</span>
|
|
837
|
-
<span class="cline-any cline-yes">11x</span>
|
|
838
|
-
<span class="cline-any cline-neutral"> </span>
|
|
839
|
-
<span class="cline-any cline-yes">11x</span>
|
|
840
|
-
<span class="cline-any cline-neutral"> </span>
|
|
841
|
-
<span class="cline-any cline-neutral"> </span>
|
|
842
|
-
<span class="cline-any cline-neutral"> </span>
|
|
843
|
-
<span class="cline-any cline-yes">11x</span>
|
|
844
|
-
<span class="cline-any cline-yes">11x</span>
|
|
845
|
-
<span class="cline-any cline-yes">4x</span>
|
|
846
|
-
<span class="cline-any cline-neutral"> </span>
|
|
847
|
-
<span class="cline-any cline-neutral"> </span>
|
|
848
|
-
<span class="cline-any cline-yes">4x</span>
|
|
849
|
-
<span class="cline-any cline-yes">1x</span>
|
|
850
|
-
<span class="cline-any cline-neutral"> </span>
|
|
851
|
-
<span class="cline-any cline-neutral"> </span>
|
|
852
|
-
<span class="cline-any cline-neutral"> </span>
|
|
853
|
-
<span class="cline-any cline-neutral"> </span>
|
|
854
|
-
<span class="cline-any cline-neutral"> </span>
|
|
855
|
-
<span class="cline-any cline-neutral"> </span>
|
|
856
|
-
<span class="cline-any cline-yes">10x</span>
|
|
857
|
-
<span class="cline-any cline-neutral"> </span>
|
|
858
|
-
<span class="cline-any cline-neutral"> </span>
|
|
859
|
-
<span class="cline-any cline-yes">10x</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-neutral"> </span>
|
|
865
|
-
<span class="cline-any cline-neutral"> </span>
|
|
866
|
-
<span class="cline-any cline-yes">10x</span>
|
|
867
|
-
<span class="cline-any cline-neutral"> </span>
|
|
868
|
-
<span class="cline-any cline-neutral"> </span>
|
|
869
|
-
<span class="cline-any cline-neutral"> </span>
|
|
870
|
-
<span class="cline-any cline-neutral"> </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-neutral"> </span>
|
|
877
|
-
<span class="cline-any cline-neutral"> </span>
|
|
878
|
-
<span class="cline-any cline-yes">10x</span>
|
|
879
|
-
<span class="cline-any cline-yes">10x</span>
|
|
880
|
-
<span class="cline-any cline-neutral"> </span>
|
|
881
|
-
<span class="cline-any cline-neutral"> </span>
|
|
882
|
-
<span class="cline-any cline-neutral"> </span>
|
|
883
|
-
<span class="cline-any cline-yes">10x</span>
|
|
884
|
-
<span class="cline-any cline-neutral"> </span>
|
|
885
|
-
<span class="cline-any cline-neutral"> </span>
|
|
886
|
-
<span class="cline-any cline-yes">10x</span>
|
|
887
|
-
<span class="cline-any cline-neutral"> </span>
|
|
888
|
-
<span class="cline-any cline-yes">10x</span>
|
|
889
|
-
<span class="cline-any cline-neutral"> </span>
|
|
890
|
-
<span class="cline-any cline-neutral"> </span>
|
|
891
|
-
<span class="cline-any cline-neutral"> </span>
|
|
892
|
-
<span class="cline-any cline-neutral"> </span>
|
|
893
|
-
<span class="cline-any cline-neutral"> </span>
|
|
894
|
-
<span class="cline-any cline-neutral"> </span>
|
|
895
|
-
<span class="cline-any cline-neutral"> </span>
|
|
896
|
-
<span class="cline-any cline-neutral"> </span>
|
|
897
|
-
<span class="cline-any cline-neutral"> </span>
|
|
898
|
-
<span class="cline-any cline-neutral"> </span>
|
|
899
|
-
<span class="cline-any cline-yes">11x</span>
|
|
900
|
-
<span class="cline-any cline-neutral"> </span>
|
|
901
|
-
<span class="cline-any cline-neutral"> </span>
|
|
902
|
-
<span class="cline-any cline-neutral"> </span>
|
|
903
|
-
<span class="cline-any cline-yes">11x</span>
|
|
904
|
-
<span class="cline-any cline-neutral"> </span>
|
|
905
|
-
<span class="cline-any cline-neutral"> </span>
|
|
906
|
-
<span class="cline-any cline-neutral"> </span>
|
|
907
|
-
<span class="cline-any cline-yes">11x</span>
|
|
908
|
-
<span class="cline-any cline-yes">2x</span>
|
|
909
|
-
<span class="cline-any cline-neutral"> </span>
|
|
910
|
-
<span class="cline-any cline-neutral"> </span>
|
|
911
|
-
<span class="cline-any cline-neutral"> </span>
|
|
912
|
-
<span class="cline-any cline-yes">9x</span>
|
|
913
|
-
<span class="cline-any cline-neutral"> </span>
|
|
914
|
-
<span class="cline-any cline-yes">9x</span>
|
|
915
|
-
<span class="cline-any cline-neutral"> </span>
|
|
916
|
-
<span class="cline-any cline-yes">9x</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">9x</span>
|
|
921
|
-
<span class="cline-any cline-neutral"> </span>
|
|
922
|
-
<span class="cline-any cline-yes">9x</span>
|
|
923
|
-
<span class="cline-any cline-yes">9x</span>
|
|
924
|
-
<span class="cline-any cline-neutral"> </span>
|
|
925
|
-
<span class="cline-any cline-neutral"> </span>
|
|
926
|
-
<span class="cline-any cline-neutral"> </span>
|
|
927
|
-
<span class="cline-any cline-yes">9x</span>
|
|
928
|
-
<span class="cline-any cline-yes">4x</span>
|
|
929
|
-
<span class="cline-any cline-neutral"> </span>
|
|
930
|
-
<span class="cline-any cline-neutral"> </span>
|
|
931
|
-
<span class="cline-any cline-neutral"> </span>
|
|
932
|
-
<span class="cline-any cline-yes">5x</span>
|
|
933
|
-
<span class="cline-any cline-yes">2x</span>
|
|
934
|
-
<span class="cline-any cline-neutral"> </span>
|
|
935
|
-
<span class="cline-any cline-neutral"> </span>
|
|
936
|
-
<span class="cline-any cline-yes">3x</span>
|
|
937
|
-
<span class="cline-any cline-yes">3x</span>
|
|
938
|
-
<span class="cline-any cline-neutral"> </span>
|
|
939
|
-
<span class="cline-any cline-neutral"> </span>
|
|
940
|
-
<span class="cline-any cline-neutral"> </span>
|
|
941
|
-
<span class="cline-any cline-no"> </span>
|
|
942
|
-
<span class="cline-any cline-neutral"> </span>
|
|
943
|
-
<span class="cline-any cline-neutral"> </span>
|
|
944
|
-
<span class="cline-any cline-neutral"> </span>
|
|
945
|
-
<span class="cline-any cline-neutral"> </span>
|
|
946
|
-
<span class="cline-any cline-yes">8x</span>
|
|
947
|
-
<span class="cline-any cline-neutral"> </span>
|
|
948
|
-
<span class="cline-any cline-neutral"> </span>
|
|
949
|
-
<span class="cline-any cline-neutral"> </span>
|
|
950
|
-
<span class="cline-any cline-neutral"> </span>
|
|
951
|
-
<span class="cline-any cline-neutral"> </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-yes">8x</span>
|
|
957
|
-
<span class="cline-any cline-no"> </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-yes">8x</span>
|
|
962
|
-
<span class="cline-any cline-neutral"> </span>
|
|
963
|
-
<span class="cline-any cline-neutral"> </span>
|
|
964
|
-
<span class="cline-any cline-yes">8x</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-neutral"> </span>
|
|
974
|
-
<span class="cline-any cline-neutral"> </span>
|
|
975
|
-
<span class="cline-any cline-no"> </span>
|
|
976
|
-
<span class="cline-any cline-neutral"> </span>
|
|
977
|
-
<span class="cline-any cline-neutral"> </span>
|
|
978
|
-
<span class="cline-any cline-no"> </span>
|
|
979
|
-
<span class="cline-any cline-no"> </span>
|
|
980
|
-
<span class="cline-any cline-no"> </span>
|
|
981
|
-
<span class="cline-any cline-neutral"> </span>
|
|
982
|
-
<span class="cline-any cline-no"> </span>
|
|
983
|
-
<span class="cline-any cline-neutral"> </span>
|
|
984
|
-
<span class="cline-any cline-neutral"> </span>
|
|
985
|
-
<span class="cline-any cline-no"> </span>
|
|
986
|
-
<span class="cline-any cline-neutral"> </span>
|
|
987
|
-
<span class="cline-any cline-neutral"> </span>
|
|
988
|
-
<span class="cline-any cline-neutral"> </span>
|
|
989
|
-
<span class="cline-any cline-neutral"> </span>
|
|
990
|
-
<span class="cline-any cline-neutral"> </span>
|
|
991
|
-
<span class="cline-any cline-neutral"> </span>
|
|
992
|
-
<span class="cline-any cline-neutral"> </span>
|
|
993
|
-
<span class="cline-any cline-neutral"> </span>
|
|
994
|
-
<span class="cline-any cline-neutral"> </span>
|
|
995
|
-
<span class="cline-any cline-no"> </span>
|
|
996
|
-
<span class="cline-any cline-neutral"> </span>
|
|
997
|
-
<span class="cline-any cline-no"> </span>
|
|
998
|
-
<span class="cline-any cline-neutral"> </span>
|
|
999
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1000
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1001
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1002
|
-
<span class="cline-any cline-no"> </span>
|
|
1003
|
-
<span class="cline-any cline-no"> </span>
|
|
1004
|
-
<span class="cline-any cline-no"> </span>
|
|
1005
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1006
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1007
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1008
|
-
<span class="cline-any cline-no"> </span>
|
|
1009
|
-
<span class="cline-any cline-no"> </span>
|
|
1010
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1011
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1012
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1013
|
-
<span class="cline-any cline-no"> </span>
|
|
1014
|
-
<span class="cline-any cline-no"> </span>
|
|
1015
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1016
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1017
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1018
|
-
<span class="cline-any cline-no"> </span>
|
|
1019
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1020
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1021
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1022
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1023
|
-
<span class="cline-any cline-no"> </span>
|
|
1024
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1025
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1026
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1027
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1028
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1029
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1030
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1031
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1032
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1033
|
-
<span class="cline-any cline-no"> </span>
|
|
1034
|
-
<span class="cline-any cline-no"> </span>
|
|
1035
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1036
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1037
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1038
|
-
<span class="cline-any cline-no"> </span>
|
|
1039
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1040
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1041
|
-
<span class="cline-any cline-no"> </span>
|
|
1042
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1043
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1044
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1045
|
-
<span class="cline-any cline-no"> </span>
|
|
1046
|
-
<span class="cline-any cline-no"> </span>
|
|
1047
|
-
<span class="cline-any cline-no"> </span>
|
|
1048
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1049
|
-
<span class="cline-any cline-no"> </span>
|
|
1050
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1051
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1052
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1053
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1054
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1055
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1056
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1057
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1058
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1059
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1060
|
-
<span class="cline-any cline-no"> </span>
|
|
1061
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1062
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1063
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1064
|
-
<span class="cline-any cline-no"> </span>
|
|
1065
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1066
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1067
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1068
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1069
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1070
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1071
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1072
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1073
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1074
|
-
<span class="cline-any cline-no"> </span>
|
|
1075
|
-
<span class="cline-any cline-no"> </span>
|
|
1076
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1077
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1078
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1079
|
-
<span class="cline-any cline-no"> </span>
|
|
1080
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1081
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1082
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1083
|
-
<span class="cline-any cline-no"> </span>
|
|
1084
|
-
<span class="cline-any cline-no"> </span>
|
|
1085
|
-
<span class="cline-any cline-no"> </span>
|
|
1086
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1087
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1088
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1089
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1090
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {
|
|
1091
|
-
Injectable,
|
|
1092
|
-
NotFoundException,
|
|
1093
|
-
BadRequestException,
|
|
1094
|
-
Logger,
|
|
1095
|
-
forwardRef,
|
|
1096
|
-
Inject,
|
|
1097
|
-
} from '@nestjs/common';
|
|
1098
|
-
import { InjectRepository } from '@nestjs/typeorm';
|
|
1099
|
-
import { Repository } from 'typeorm';
|
|
1100
|
-
import {
|
|
1101
|
-
Session,
|
|
1102
|
-
SessionInput,
|
|
1103
|
-
ContextTemplate,
|
|
1104
|
-
AIAction,
|
|
1105
|
-
} from '../core-entities';
|
|
1106
|
-
import {
|
|
1107
|
-
CreateSessionInputDto,
|
|
1108
|
-
PrepareLlmInputResponseDto,
|
|
1109
|
-
SubmitLlmOutputDto,
|
|
1110
|
-
} from './dto/session-input.dto';
|
|
1111
|
-
import {
|
|
1112
|
-
AIActionsService,
|
|
1113
|
-
AIActionStatus,
|
|
1114
|
-
} from '../ai-actions/ai-actions.service';
|
|
1115
|
-
import { SystemPromptsService } from '../system-prompts/system-prompts.service';
|
|
1116
|
-
import {
|
|
1117
|
-
TITLE_END_TAG,
|
|
1118
|
-
TITLE_START_TAG,
|
|
1119
|
-
} from '../llm-response-parser/parsing.constants';
|
|
1120
|
-
import { AIActionCreationService } from '../ai-actions/ai-action-creation.service';
|
|
1121
|
-
import { SessionInputContextService } from './session-input-context.service';
|
|
1122
|
-
import { ApplicationStateService } from '../application-state/application-state.service';
|
|
1123
|
-
import { OrchestrationService } from '../orchestration/orchestration.service';
|
|
1124
|
-
|
|
1125
|
-
@Injectable()
|
|
1126
|
-
export class SessionInputsService {
|
|
1127
|
-
private readonly logger = new Logger(SessionInputsService.name);
|
|
1128
|
-
|
|
1129
|
-
constructor(
|
|
1130
|
-
@InjectRepository(Session)
|
|
1131
|
-
private sessionsRepository: Repository<Session>,
|
|
1132
|
-
@InjectRepository(SessionInput)
|
|
1133
|
-
private sessionInputsRepository: Repository<SessionInput>,
|
|
1134
|
-
@InjectRepository(ContextTemplate)
|
|
1135
|
-
private contextTemplatesRepository: Repository<ContextTemplate>,
|
|
1136
|
-
private readonly aiActionsService: AIActionsService,
|
|
1137
|
-
private readonly aiActionCreationService: AIActionCreationService,
|
|
1138
|
-
private readonly systemPromptsService: SystemPromptsService,
|
|
1139
|
-
private readonly sessionInputContextService: SessionInputContextService,
|
|
1140
|
-
private readonly applicationStateService: ApplicationStateService,
|
|
1141
|
-
@Inject(forwardRef(() => OrchestrationService))
|
|
1142
|
-
private readonly orchestrationService: OrchestrationService,
|
|
1143
|
-
) {}
|
|
1144
|
-
|
|
1145
|
-
private async extractAndUpdateSessionTitle(
|
|
1146
|
-
sessionId: string,
|
|
1147
|
-
rawResponse: string,
|
|
1148
|
-
): Promise<string> {
|
|
1149
|
-
const startIndex = rawResponse.indexOf(TITLE_START_TAG);
|
|
1150
|
-
const endIndex = rawResponse.indexOf(TITLE_END_TAG);
|
|
1151
|
-
|
|
1152
|
-
if (startIndex !== -1 && endIndex !== -1 && endIndex > startIndex) {
|
|
1153
|
-
const title = rawResponse
|
|
1154
|
-
.substring(startIndex + TITLE_START_TAG.length, endIndex)
|
|
1155
|
-
.trim();
|
|
1156
|
-
|
|
1157
|
-
if (title) {
|
|
1158
|
-
this.logger.log(
|
|
1159
|
-
`Extracted session title: "${title}" for session ID ${sessionId}`,
|
|
1160
|
-
);
|
|
1161
|
-
await this.sessionsRepository.update(sessionId, {
|
|
1162
|
-
session_title: title,
|
|
1163
|
-
});
|
|
1164
|
-
}
|
|
1165
|
-
|
|
1166
|
-
const cleanedResponse =
|
|
1167
|
-
rawResponse.substring(0, startIndex) +
|
|
1168
|
-
rawResponse.substring(endIndex + TITLE_END_TAG.length);
|
|
1169
|
-
return cleanedResponse.trim();
|
|
1170
|
-
}
|
|
1171
|
-
|
|
1172
|
-
return rawResponse;
|
|
1173
|
-
}
|
|
1174
|
-
|
|
1175
|
-
private generatePreviousActionsSummary(session: Session): string {
|
|
1176
|
-
if (!session.sessionInputs || session.sessionInputs.length === 0) {
|
|
1177
|
-
return '';
|
|
1178
|
-
}
|
|
1179
|
-
|
|
1180
|
-
const lastInput = session.sessionInputs[session.sessionInputs.length - 1];
|
|
1181
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (
|
|
1182
|
-
!lastInput ||
|
|
1183
|
-
!lastInput.aiActions ||
|
|
1184
|
-
lastInput.aiActions.length === 0
|
|
1185
|
-
) {
|
|
1186
|
-
<span class="cstat-no" title="statement not covered" > return '';</span>
|
|
1187
|
-
}
|
|
1188
|
-
|
|
1189
|
-
const finalStatuses: string[] = [
|
|
1190
|
-
AIActionStatus.REJECTED_BEFORE_APPLY,
|
|
1191
|
-
AIActionStatus.CONFIRMED_KEPT,
|
|
1192
|
-
AIActionStatus.CONFIRMED_REVERTED,
|
|
1193
|
-
AIActionStatus.EXECUTION_FAILED,
|
|
1194
|
-
AIActionStatus.REVERT_FAILED,
|
|
1195
|
-
];
|
|
1196
|
-
|
|
1197
|
-
const finalActions = lastInput.aiActions.filter((action: AIAction) =>
|
|
1198
|
-
finalStatuses.includes(action.status),
|
|
1199
|
-
);
|
|
1200
|
-
|
|
1201
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (finalActions.length === 0) {
|
|
1202
|
-
<span class="cstat-no" title="statement not covered" > return '';</span>
|
|
1203
|
-
}
|
|
1204
|
-
|
|
1205
|
-
return (
|
|
1206
|
-
'Summary of previous actions:\n' +
|
|
1207
|
-
finalActions
|
|
1208
|
-
.map(
|
|
1209
|
-
(action) =>
|
|
1210
|
-
`- ${action.action_type}(${
|
|
1211
|
-
action.file_path || <span class="branch-1 cbranch-no" title="branch not covered" >action.command_string </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >'N/A'</span>
|
|
1212
|
-
}): ${action.status}`,
|
|
1213
|
-
)
|
|
1214
|
-
.join('\n')
|
|
1215
|
-
);
|
|
1216
|
-
}
|
|
1217
|
-
|
|
1218
|
-
async create(
|
|
1219
|
-
sessionId: string,
|
|
1220
|
-
createSessionInputDto: CreateSessionInputDto,
|
|
1221
|
-
): Promise<SessionInput> {
|
|
1222
|
-
const session = await this.sessionsRepository.findOne({
|
|
1223
|
-
where: { id: sessionId },
|
|
1224
|
-
relations: ['systemPrompt', 'sessionInputs', 'sessionInputs.aiActions'],
|
|
1225
|
-
order: {
|
|
1226
|
-
sessionInputs: {
|
|
1227
|
-
created_at: 'ASC',
|
|
1228
|
-
aiActions: {
|
|
1229
|
-
order_of_execution: 'ASC',
|
|
1230
|
-
},
|
|
1231
|
-
},
|
|
1232
|
-
},
|
|
1233
|
-
});
|
|
1234
|
-
if (!session) {
|
|
1235
|
-
throw new NotFoundException(`Session with ID "${sessionId}" not found`);
|
|
1236
|
-
}
|
|
1237
|
-
|
|
1238
|
-
let activeSystemPrompt = session.systemPrompt;
|
|
1239
|
-
if (!activeSystemPrompt) {
|
|
1240
|
-
activeSystemPrompt = await this.systemPromptsService.findDefault();
|
|
1241
|
-
}
|
|
1242
|
-
const systemPromptContent = activeSystemPrompt
|
|
1243
|
-
? activeSystemPrompt.prompt_content
|
|
1244
|
-
: '';
|
|
1245
|
-
|
|
1246
|
-
let contextTemplate: ContextTemplate | null = null;
|
|
1247
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (createSessionInputDto.context_template_id) {
|
|
1248
|
-
<span class="cstat-no" title="statement not covered" > contextTemplate = await this.contextTemplatesRepository.findOneBy({</span>
|
|
1249
|
-
id: createSessionInputDto.context_template_id,
|
|
1250
|
-
});
|
|
1251
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!contextTemplate) {</span>
|
|
1252
|
-
<span class="cstat-no" title="statement not covered" > throw new NotFoundException(</span>
|
|
1253
|
-
`ContextTemplate with ID "${createSessionInputDto.context_template_id}" not found`,
|
|
1254
|
-
);
|
|
1255
|
-
}
|
|
1256
|
-
}
|
|
1257
|
-
|
|
1258
|
-
const previous_actions_summary =
|
|
1259
|
-
this.generatePreviousActionsSummary(session);
|
|
1260
|
-
|
|
1261
|
-
const generated_context_string =
|
|
1262
|
-
await this.sessionInputContextService.generateContext(
|
|
1263
|
-
createSessionInputDto,
|
|
1264
|
-
contextTemplate,
|
|
1265
|
-
systemPromptContent,
|
|
1266
|
-
previous_actions_summary,
|
|
1267
|
-
);
|
|
1268
|
-
|
|
1269
|
-
const newSessionInputEntity = this.sessionInputsRepository.create({
|
|
1270
|
-
...createSessionInputDto,
|
|
1271
|
-
session: session,
|
|
1272
|
-
contextTemplate: contextTemplate,
|
|
1273
|
-
generated_context_string: generated_context_string,
|
|
1274
|
-
raw_llm_response:
|
|
1275
|
-
createSessionInputDto.raw_llm_response ||
|
|
1276
|
-
'This response is generated for a non-manual flow and is not intended to be user-facing.',
|
|
1277
|
-
});
|
|
1278
|
-
|
|
1279
|
-
const savedSessionInput = await this.sessionInputsRepository.save(
|
|
1280
|
-
newSessionInputEntity,
|
|
1281
|
-
);
|
|
1282
|
-
await this.applicationStateService.setActiveSessionId(sessionId);
|
|
1283
|
-
|
|
1284
|
-
// Process AI Actions based on execution strategy
|
|
1285
|
-
if (createSessionInputDto.execution_strategy === 'review_first') {
|
|
1286
|
-
await this.aiActionCreationService.createActionsFromLlmResponse(
|
|
1287
|
-
savedSessionInput,
|
|
1288
|
-
AIActionStatus.PROPOSED,
|
|
1289
|
-
);
|
|
1290
|
-
} else if (createSessionInputDto.execution_strategy === 'apply_revert') {
|
|
1291
|
-
await this.aiActionCreationService.createAndTentativelyApplyActions(
|
|
1292
|
-
savedSessionInput,
|
|
1293
|
-
);
|
|
1294
|
-
} else if (createSessionInputDto.execution_strategy === 'auto_apply') {
|
|
1295
|
-
// This path is used by the orchestration engine. It will throw on failure.
|
|
1296
|
-
await this.aiActionCreationService.createAndAutoApplyActions(
|
|
1297
|
-
savedSessionInput,
|
|
1298
|
-
);
|
|
1299
|
-
} else {
|
|
1300
|
-
throw new BadRequestException(
|
|
1301
|
-
`Unsupported execution_strategy: ${createSessionInputDto.execution_strategy}`,
|
|
1302
|
-
);
|
|
1303
|
-
}
|
|
1304
|
-
|
|
1305
|
-
const populatedSessionInput = await this.sessionInputsRepository.findOne({
|
|
1306
|
-
where: { id: savedSessionInput.id },
|
|
1307
|
-
relations: ['contextTemplate', 'aiActions', 'aiActions.executionLogs'],
|
|
1308
|
-
order: {
|
|
1309
|
-
aiActions: {
|
|
1310
|
-
order_of_execution: 'ASC',
|
|
1311
|
-
},
|
|
1312
|
-
},
|
|
1313
|
-
});
|
|
1314
|
-
|
|
1315
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!populatedSessionInput) {
|
|
1316
|
-
<span class="cstat-no" title="statement not covered" > throw new NotFoundException(</span>
|
|
1317
|
-
`Failed to retrieve session input with ID "${savedSessionInput.id}" after creating/processing actions.`,
|
|
1318
|
-
);
|
|
1319
|
-
}
|
|
1320
|
-
|
|
1321
|
-
return populatedSessionInput;
|
|
1322
|
-
}
|
|
1323
|
-
|
|
1324
|
-
async prepareLlmInput(
|
|
1325
|
-
sessionId: string,
|
|
1326
|
-
createDto: CreateSessionInputDto,
|
|
1327
|
-
): Promise<PrepareLlmInputResponseDto> {
|
|
1328
|
-
this.logger.log(
|
|
1329
|
-
`Preparing LLM input for session ${sessionId} with strategy ${createDto.execution_strategy}`,
|
|
1330
|
-
);
|
|
1331
|
-
const session = await this.sessionsRepository.findOne({
|
|
1332
|
-
where: { id: sessionId },
|
|
1333
|
-
relations: ['systemPrompt', 'sessionInputs', 'sessionInputs.aiActions'],
|
|
1334
|
-
order: {
|
|
1335
|
-
sessionInputs: {
|
|
1336
|
-
created_at: 'ASC',
|
|
1337
|
-
aiActions: {
|
|
1338
|
-
order_of_execution: 'ASC',
|
|
1339
|
-
},
|
|
1340
|
-
},
|
|
1341
|
-
},
|
|
1342
|
-
});
|
|
1343
|
-
if (!session) {
|
|
1344
|
-
throw new NotFoundException(`Session with ID "${sessionId}" not found`);
|
|
1345
|
-
}
|
|
1346
|
-
|
|
1347
|
-
let activeSystemPrompt = session.systemPrompt;
|
|
1348
|
-
if (!activeSystemPrompt) {
|
|
1349
|
-
activeSystemPrompt = await this.systemPromptsService.findDefault();
|
|
1350
|
-
}
|
|
1351
|
-
const systemPromptContent = activeSystemPrompt
|
|
1352
|
-
? activeSystemPrompt.prompt_content
|
|
1353
|
-
: '';
|
|
1354
|
-
|
|
1355
|
-
let contextTemplate: ContextTemplate | null = null;
|
|
1356
|
-
if (createDto.context_template_id) {
|
|
1357
|
-
contextTemplate = await this.contextTemplatesRepository.findOneBy({
|
|
1358
|
-
id: createDto.context_template_id,
|
|
1359
|
-
});
|
|
1360
|
-
if (!contextTemplate) {
|
|
1361
|
-
throw new NotFoundException(
|
|
1362
|
-
`ContextTemplate with ID "${createDto.context_template_id}" not found`,
|
|
1363
|
-
);
|
|
1364
|
-
}
|
|
1365
|
-
}
|
|
1366
|
-
|
|
1367
|
-
const previous_actions_summary =
|
|
1368
|
-
this.generatePreviousActionsSummary(session);
|
|
1369
|
-
|
|
1370
|
-
const generated_context_string =
|
|
1371
|
-
await this.sessionInputContextService.generateContext(
|
|
1372
|
-
createDto,
|
|
1373
|
-
contextTemplate,
|
|
1374
|
-
systemPromptContent,
|
|
1375
|
-
previous_actions_summary,
|
|
1376
|
-
);
|
|
1377
|
-
|
|
1378
|
-
const newSessionInput = this.sessionInputsRepository.create({
|
|
1379
|
-
session: { id: sessionId },
|
|
1380
|
-
user_prompt: createDto.user_prompt,
|
|
1381
|
-
context_template_id: createDto.context_template_id || null,
|
|
1382
|
-
contextTemplate: contextTemplate,
|
|
1383
|
-
ad_hoc_context_definition: createDto.ad_hoc_context_definition || null,
|
|
1384
|
-
execution_strategy: createDto.execution_strategy,
|
|
1385
|
-
generated_context_string: generated_context_string,
|
|
1386
|
-
raw_llm_response: null,
|
|
1387
|
-
});
|
|
1388
|
-
|
|
1389
|
-
const savedSessionInput =
|
|
1390
|
-
await this.sessionInputsRepository.save(newSessionInput);
|
|
1391
|
-
this.logger.log(
|
|
1392
|
-
`Created SessionInput ${savedSessionInput.id} for manual LLM flow preparation.`,
|
|
1393
|
-
);
|
|
1394
|
-
|
|
1395
|
-
await this.applicationStateService.setActiveSessionId(sessionId);
|
|
1396
|
-
|
|
1397
|
-
// If an orchestration is running, update its state.
|
|
1398
|
-
this.orchestrationService.onPromptPrepared(savedSessionInput.id);
|
|
1399
|
-
|
|
1400
|
-
return {
|
|
1401
|
-
input_id: savedSessionInput.id,
|
|
1402
|
-
llm_input_string: generated_context_string,
|
|
1403
|
-
};
|
|
1404
|
-
}
|
|
1405
|
-
|
|
1406
|
-
async submitLlmOutput(
|
|
1407
|
-
sessionId: string,
|
|
1408
|
-
inputId: string,
|
|
1409
|
-
submitDto: SubmitLlmOutputDto,
|
|
1410
|
-
): Promise<SessionInput> {
|
|
1411
|
-
this.logger.log(
|
|
1412
|
-
`Submitting LLM output for SessionInput ${inputId} in Session ${sessionId}.`,
|
|
1413
|
-
);
|
|
1414
|
-
|
|
1415
|
-
const sessionInput = await this.sessionInputsRepository.findOne({
|
|
1416
|
-
where: { id: inputId, session_id: sessionId },
|
|
1417
|
-
});
|
|
1418
|
-
|
|
1419
|
-
if (!sessionInput) {
|
|
1420
|
-
throw new NotFoundException(
|
|
1421
|
-
`SessionInput with ID "${inputId}" not found in Session "${sessionId}".`,
|
|
1422
|
-
);
|
|
1423
|
-
}
|
|
1424
|
-
await this.applicationStateService.setActiveSessionId(sessionId);
|
|
1425
|
-
|
|
1426
|
-
await this.aiActionsService.deleteAllByInputId(inputId);
|
|
1427
|
-
|
|
1428
|
-
const cleanedLlmResponse = await this.extractAndUpdateSessionTitle(
|
|
1429
|
-
sessionId,
|
|
1430
|
-
submitDto.raw_llm_response,
|
|
1431
|
-
);
|
|
1432
|
-
sessionInput.raw_llm_response = cleanedLlmResponse;
|
|
1433
|
-
const updatedSessionInput =
|
|
1434
|
-
await this.sessionInputsRepository.save(sessionInput);
|
|
1435
|
-
this.logger.log(
|
|
1436
|
-
`Updated SessionInput ${updatedSessionInput.id} with raw_llm_response.`,
|
|
1437
|
-
);
|
|
1438
|
-
|
|
1439
|
-
if (updatedSessionInput.execution_strategy === 'review_first') {
|
|
1440
|
-
await this.aiActionCreationService.createActionsFromLlmResponse(
|
|
1441
|
-
updatedSessionInput,
|
|
1442
|
-
AIActionStatus.PROPOSED,
|
|
1443
|
-
);
|
|
1444
|
-
} else if (updatedSessionInput.execution_strategy === 'apply_revert') {
|
|
1445
|
-
await this.aiActionCreationService.createAndTentativelyApplyActions(
|
|
1446
|
-
updatedSessionInput,
|
|
1447
|
-
);
|
|
1448
|
-
} else if (updatedSessionInput.execution_strategy === 'auto_apply') {
|
|
1449
|
-
await this.aiActionCreationService.createAndAutoApplyActions(
|
|
1450
|
-
updatedSessionInput,
|
|
1451
|
-
);
|
|
1452
|
-
} else <span class="missing-if-branch" title="else path not taken" >E</span>{
|
|
1453
|
-
<span class="cstat-no" title="statement not covered" > throw new BadRequestException(</span>
|
|
1454
|
-
`Unsupported execution_strategy: ${updatedSessionInput.execution_strategy}`,
|
|
1455
|
-
);
|
|
1456
|
-
}
|
|
1457
|
-
|
|
1458
|
-
const populatedSessionInput = await this.sessionInputsRepository.findOne({
|
|
1459
|
-
where: { id: updatedSessionInput.id },
|
|
1460
|
-
relations: ['contextTemplate', 'aiActions', 'aiActions.executionLogs'],
|
|
1461
|
-
order: {
|
|
1462
|
-
aiActions: {
|
|
1463
|
-
order_of_execution: 'ASC',
|
|
1464
|
-
},
|
|
1465
|
-
},
|
|
1466
|
-
});
|
|
1467
|
-
|
|
1468
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (!populatedSessionInput) {
|
|
1469
|
-
<span class="cstat-no" title="statement not covered" > throw new NotFoundException(</span>
|
|
1470
|
-
`Failed to retrieve session input with ID "${updatedSessionInput.id}" after processing LLM output.`,
|
|
1471
|
-
);
|
|
1472
|
-
}
|
|
1473
|
-
this.logger.log(
|
|
1474
|
-
`LLM output processed for SessionInput ${populatedSessionInput.id}, ${populatedSessionInput.aiActions.length} actions generated/processed.`,
|
|
1475
|
-
);
|
|
1476
|
-
return populatedSessionInput;
|
|
1477
|
-
}
|
|
1478
|
-
|
|
1479
|
-
<span class="fstat-no" title="function not covered" > async </span>createFromRawLlmResponse(
|
|
1480
|
-
sessionId: string,
|
|
1481
|
-
dto: {
|
|
1482
|
-
raw_llm_response: string;
|
|
1483
|
-
execution_strategy: string;
|
|
1484
|
-
idempotency_key?: string;
|
|
1485
|
-
},
|
|
1486
|
-
): Promise<SessionInput> {
|
|
1487
|
-
<span class="cstat-no" title="statement not covered" > this.logger.log(</span>
|
|
1488
|
-
`Creating new input from raw LLM response for session ${sessionId}`,
|
|
1489
|
-
);
|
|
1490
|
-
const session = <span class="cstat-no" title="statement not covered" >await this.sessionsRepository.findOneBy({ id: sessionId });</span>
|
|
1491
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!session) {</span>
|
|
1492
|
-
<span class="cstat-no" title="statement not covered" > throw new NotFoundException(`Session with ID "${sessionId}" not found`);</span>
|
|
1493
|
-
}
|
|
1494
|
-
<span class="cstat-no" title="statement not covered" > await this.applicationStateService.setActiveSessionId(sessionId);</span>
|
|
1495
|
-
|
|
1496
|
-
// Create a minimal SessionInput
|
|
1497
|
-
const newSessionInput = <span class="cstat-no" title="statement not covered" >this.sessionInputsRepository.create({</span>
|
|
1498
|
-
session: { id: sessionId },
|
|
1499
|
-
user_prompt: 'Pasted LLM response directly.',
|
|
1500
|
-
execution_strategy: dto.execution_strategy,
|
|
1501
|
-
generated_context_string: '', // No context generated
|
|
1502
|
-
raw_llm_response: dto.raw_llm_response,
|
|
1503
|
-
idempotency_key: dto.idempotency_key,
|
|
1504
|
-
});
|
|
1505
|
-
|
|
1506
|
-
let savedSessionInput =
|
|
1507
|
-
<span class="cstat-no" title="statement not covered" > await this.sessionInputsRepository.save(newSessionInput);</span>
|
|
1508
|
-
|
|
1509
|
-
const cleanedLlmResponse = <span class="cstat-no" title="statement not covered" >await this.extractAndUpdateSessionTitle(</span>
|
|
1510
|
-
sessionId,
|
|
1511
|
-
savedSessionInput.raw_llm_response,
|
|
1512
|
-
);
|
|
1513
|
-
|
|
1514
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (cleanedLlmResponse !== savedSessionInput.raw_llm_response) {</span>
|
|
1515
|
-
<span class="cstat-no" title="statement not covered" > savedSessionInput.raw_llm_response = cleanedLlmResponse;</span>
|
|
1516
|
-
<span class="cstat-no" title="statement not covered" > savedSessionInput =</span>
|
|
1517
|
-
await this.sessionInputsRepository.save(savedSessionInput);
|
|
1518
|
-
}
|
|
1519
|
-
|
|
1520
|
-
<span class="cstat-no" title="statement not covered" > if (savedSessionInput.execution_strategy === 'review_first') {</span>
|
|
1521
|
-
<span class="cstat-no" title="statement not covered" > await this.aiActionCreationService.createActionsFromLlmResponse(</span>
|
|
1522
|
-
savedSessionInput,
|
|
1523
|
-
AIActionStatus.PROPOSED,
|
|
1524
|
-
);
|
|
1525
|
-
} else <span class="cstat-no" title="statement not covered" >if (savedSessionInput.execution_strategy === 'apply_revert') {</span>
|
|
1526
|
-
<span class="cstat-no" title="statement not covered" > await this.aiActionCreationService.createAndTentativelyApplyActions(</span>
|
|
1527
|
-
savedSessionInput,
|
|
1528
|
-
);
|
|
1529
|
-
} else {
|
|
1530
|
-
<span class="cstat-no" title="statement not covered" > throw new BadRequestException(</span>
|
|
1531
|
-
`Unsupported execution_strategy: ${savedSessionInput.execution_strategy}`,
|
|
1532
|
-
);
|
|
1533
|
-
}
|
|
1534
|
-
|
|
1535
|
-
const populatedSessionInput = <span class="cstat-no" title="statement not covered" >await this.sessionInputsRepository.findOne({</span>
|
|
1536
|
-
where: { id: savedSessionInput.id },
|
|
1537
|
-
relations: ['contextTemplate', 'aiActions', 'aiActions.executionLogs'],
|
|
1538
|
-
order: {
|
|
1539
|
-
aiActions: {
|
|
1540
|
-
order_of_execution: 'ASC',
|
|
1541
|
-
},
|
|
1542
|
-
},
|
|
1543
|
-
});
|
|
1544
|
-
|
|
1545
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!populatedSessionInput) {</span>
|
|
1546
|
-
<span class="cstat-no" title="statement not covered" > throw new NotFoundException(</span>
|
|
1547
|
-
`Failed to retrieve session input with ID "${savedSessionInput.id}" after processing LLM output.`,
|
|
1548
|
-
);
|
|
1549
|
-
}
|
|
1550
|
-
<span class="cstat-no" title="statement not covered" > this.logger.log(</span>
|
|
1551
|
-
`LLM output processed for SessionInput ${populatedSessionInput.id}, ${populatedSessionInput.aiActions.length} actions generated/processed.`,
|
|
1552
|
-
);
|
|
1553
|
-
<span class="cstat-no" title="statement not covered" > return populatedSessionInput;</span>
|
|
1554
|
-
}
|
|
1555
|
-
|
|
1556
|
-
<span class="fstat-no" title="function not covered" > async </span>findAllBySessionId(sessionId: string): Promise<SessionInput[]> {
|
|
1557
|
-
const session = <span class="cstat-no" title="statement not covered" >await this.sessionsRepository.findOneBy({ id: sessionId });</span>
|
|
1558
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!session) {</span>
|
|
1559
|
-
<span class="cstat-no" title="statement not covered" > throw new NotFoundException(`Session with ID "${sessionId}" not found`);</span>
|
|
1560
|
-
}
|
|
1561
|
-
const inputs = <span class="cstat-no" title="statement not covered" >await this.sessionInputsRepository.find({</span>
|
|
1562
|
-
where: { session: { id: sessionId } },
|
|
1563
|
-
relations: ['contextTemplate', 'aiActions', 'aiActions.executionLogs'],
|
|
1564
|
-
order: {
|
|
1565
|
-
created_at: 'ASC',
|
|
1566
|
-
aiActions: {
|
|
1567
|
-
order_of_execution: 'ASC',
|
|
1568
|
-
},
|
|
1569
|
-
},
|
|
1570
|
-
});
|
|
1571
|
-
|
|
1572
|
-
<span class="cstat-no" title="statement not covered" > return inputs;</span>
|
|
1573
|
-
}
|
|
1574
|
-
|
|
1575
|
-
<span class="fstat-no" title="function not covered" > async </span>findOne(sessionId: string, inputId: string): Promise<SessionInput> {
|
|
1576
|
-
const sessionInput = <span class="cstat-no" title="statement not covered" >await this.sessionInputsRepository.findOne({</span>
|
|
1577
|
-
where: { id: inputId, session: { id: sessionId } },
|
|
1578
|
-
relations: ['contextTemplate', 'aiActions', 'aiActions.executionLogs'],
|
|
1579
|
-
order: {
|
|
1580
|
-
aiActions: {
|
|
1581
|
-
order_of_execution: 'ASC',
|
|
1582
|
-
},
|
|
1583
|
-
},
|
|
1584
|
-
});
|
|
1585
|
-
|
|
1586
|
-
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!sessionInput) {</span>
|
|
1587
|
-
<span class="cstat-no" title="statement not covered" > throw new NotFoundException(</span>
|
|
1588
|
-
`SessionInput with ID "${inputId}" not found in Session "${sessionId}"`,
|
|
1589
|
-
);
|
|
1590
|
-
}
|
|
1591
|
-
<span class="cstat-no" title="statement not covered" > return sessionInput;</span>
|
|
1592
|
-
}
|
|
1593
|
-
|
|
1594
|
-
<span class="fstat-no" title="function not covered" > async </span>remove(sessionId: string, inputId: string): Promise<void> {
|
|
1595
|
-
const sessionInput = <span class="cstat-no" title="statement not covered" >await this.findOne(sessionId, inputId);</span>
|
|
1596
|
-
<span class="cstat-no" title="statement not covered" > await this.sessionInputsRepository.remove(sessionInput);</span>
|
|
1597
|
-
<span class="cstat-no" title="statement not covered" > this.logger.log(</span>
|
|
1598
|
-
`Deleted SessionInput ${inputId} from Session ${sessionId}.`,
|
|
1599
|
-
);
|
|
1600
|
-
}
|
|
1601
|
-
}
|
|
1602
|
-
</pre></td></tr></table></pre>
|
|
1603
|
-
|
|
1604
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
1605
|
-
</div><!-- /wrapper -->
|
|
1606
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
1607
|
-
Code coverage generated by
|
|
1608
|
-
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1609
|
-
at 2025-09-12T19:21:55.945Z
|
|
1610
|
-
</div>
|
|
1611
|
-
<script src="../../prettify.js"></script>
|
|
1612
|
-
<script>
|
|
1613
|
-
window.onload = function () {
|
|
1614
|
-
prettyPrint();
|
|
1615
|
-
};
|
|
1616
|
-
</script>
|
|
1617
|
-
<script src="../../sorter.js"></script>
|
|
1618
|
-
<script src="../../block-navigation.js"></script>
|
|
1619
|
-
</body>
|
|
1620
|
-
</html>
|
|
1621
|
-
|