repoburg 1.0.55 → 1.0.58
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/.env +1 -0
- package/backend/coverage/clover.xml +2409 -2355
- package/backend/coverage/coverage-final.json +99 -96
- package/backend/coverage/lcov-report/index.html +356 -341
- package/backend/coverage/lcov-report/src/action-execution/action-execution.module.ts.html +12 -12
- package/backend/coverage/lcov-report/src/action-execution/action-execution.service.ts.html +140 -62
- package/backend/coverage/lcov-report/src/action-execution/index.html +28 -28
- package/backend/coverage/lcov-report/src/ai-actions/ai-action-batch.service.ts.html +188 -188
- package/backend/coverage/lcov-report/src/ai-actions/ai-action-creation.service.ts.html +284 -236
- package/backend/coverage/lcov-report/src/ai-actions/ai-actions.controller.ts.html +109 -109
- package/backend/coverage/lcov-report/src/ai-actions/ai-actions.module.ts.html +28 -28
- package/backend/coverage/lcov-report/src/ai-actions/ai-actions.service.ts.html +193 -193
- package/backend/coverage/lcov-report/src/ai-actions/index.html +61 -61
- package/backend/coverage/lcov-report/src/app.controller.ts.html +24 -24
- package/backend/coverage/lcov-report/src/app.module.ts.html +68 -65
- package/backend/coverage/lcov-report/src/app.service.ts.html +46 -13
- package/backend/coverage/lcov-report/src/application-state/application-state.controller.ts.html +87 -33
- package/backend/coverage/lcov-report/src/application-state/application-state.module.ts.html +18 -18
- package/backend/coverage/lcov-report/src/application-state/application-state.service.ts.html +113 -68
- package/backend/coverage/lcov-report/src/application-state/dto/index.html +42 -27
- package/backend/coverage/lcov-report/src/application-state/dto/set-auto-context-fetch-enabled.dto.ts.html +12 -12
- package/backend/coverage/lcov-report/src/application-state/dto/set-orchestration-timeout.dto.ts.html +103 -0
- package/backend/coverage/lcov-report/src/application-state/dto/set-theme.dto.ts.html +12 -12
- package/backend/coverage/lcov-report/src/application-state/dto/set-websocket-enabled.dto.ts.html +12 -12
- package/backend/coverage/lcov-report/src/application-state/index.html +37 -37
- package/backend/coverage/lcov-report/src/context-generation/context-generation.module.ts.html +16 -16
- package/backend/coverage/lcov-report/src/context-generation/context-generation.service.ts.html +222 -222
- package/backend/coverage/lcov-report/src/context-generation/index.html +28 -28
- package/backend/coverage/lcov-report/src/context-snippets/context-snippets.controller.ts.html +31 -31
- package/backend/coverage/lcov-report/src/context-snippets/context-snippets.module.ts.html +20 -20
- package/backend/coverage/lcov-report/src/context-snippets/context-snippets.service.ts.html +26 -26
- package/backend/coverage/lcov-report/src/context-snippets/dto/context-snippet.dto.ts.html +28 -28
- package/backend/coverage/lcov-report/src/context-snippets/dto/index.html +13 -13
- package/backend/coverage/lcov-report/src/context-snippets/index.html +31 -31
- package/backend/coverage/lcov-report/src/context-templates/context-templates.controller.ts.html +45 -45
- package/backend/coverage/lcov-report/src/context-templates/context-templates.module.ts.html +20 -20
- package/backend/coverage/lcov-report/src/context-templates/context-templates.service.ts.html +87 -84
- package/backend/coverage/lcov-report/src/context-templates/dto/context-template.dto.ts.html +48 -48
- package/backend/coverage/lcov-report/src/context-templates/dto/index.html +13 -13
- package/backend/coverage/lcov-report/src/context-templates/index.html +36 -36
- package/backend/coverage/lcov-report/src/core-entities/ai-action.entity.ts.html +48 -48
- package/backend/coverage/lcov-report/src/core-entities/application-state.entity.ts.html +14 -14
- package/backend/coverage/lcov-report/src/core-entities/base.entity.ts.html +22 -22
- package/backend/coverage/lcov-report/src/core-entities/context-snippet.entity.ts.html +18 -18
- package/backend/coverage/lcov-report/src/core-entities/context-template.entity.ts.html +52 -52
- package/backend/coverage/lcov-report/src/core-entities/custom-snippet.entity.ts.html +20 -20
- package/backend/coverage/lcov-report/src/core-entities/execution-log.entity.ts.html +26 -26
- package/backend/coverage/lcov-report/src/core-entities/index.html +112 -112
- package/backend/coverage/lcov-report/src/core-entities/index.ts.html +28 -28
- package/backend/coverage/lcov-report/src/core-entities/project.entity.ts.html +24 -24
- package/backend/coverage/lcov-report/src/core-entities/session-input.entity.ts.html +59 -50
- package/backend/coverage/lcov-report/src/core-entities/session.entity.ts.html +56 -56
- package/backend/coverage/lcov-report/src/core-entities/system-prompt.entity.ts.html +28 -28
- package/backend/coverage/lcov-report/src/custom-snippets/custom-snippets.controller.ts.html +30 -30
- package/backend/coverage/lcov-report/src/custom-snippets/custom-snippets.module.ts.html +18 -18
- package/backend/coverage/lcov-report/src/custom-snippets/custom-snippets.service.ts.html +20 -20
- package/backend/coverage/lcov-report/src/custom-snippets/dto/custom-snippet.dto.ts.html +28 -28
- package/backend/coverage/lcov-report/src/custom-snippets/dto/index.html +13 -13
- package/backend/coverage/lcov-report/src/custom-snippets/index.html +32 -32
- package/backend/coverage/lcov-report/src/events/events.gateway.ts.html +46 -46
- package/backend/coverage/lcov-report/src/events/events.module.ts.html +12 -12
- package/backend/coverage/lcov-report/src/events/index.html +28 -28
- package/backend/coverage/lcov-report/src/execution-logs/dto/execution-log.dto.ts.html +1 -1
- package/backend/coverage/lcov-report/src/execution-logs/dto/index.html +1 -1
- package/backend/coverage/lcov-report/src/execution-logs/execution-logs.controller.ts.html +18 -18
- package/backend/coverage/lcov-report/src/execution-logs/execution-logs.module.ts.html +18 -18
- package/backend/coverage/lcov-report/src/execution-logs/execution-logs.service.ts.html +32 -32
- package/backend/coverage/lcov-report/src/execution-logs/index.html +33 -33
- package/backend/coverage/lcov-report/src/http-exception.filter.ts.html +55 -55
- package/backend/coverage/lcov-report/src/index.html +44 -44
- package/backend/coverage/lcov-report/src/llm-response-parser/dto/ai-action.dto.ts.html +67 -67
- package/backend/coverage/lcov-report/src/llm-response-parser/dto/index.html +21 -21
- package/backend/coverage/lcov-report/src/llm-response-parser/errors/index.html +17 -17
- package/backend/coverage/lcov-report/src/llm-response-parser/errors/parsing.error.ts.html +19 -19
- package/backend/coverage/lcov-report/src/llm-response-parser/index.html +35 -35
- package/backend/coverage/lcov-report/src/llm-response-parser/llm-response-parser.module.ts.html +12 -12
- package/backend/coverage/lcov-report/src/llm-response-parser/llm-response-parser.service.ts.html +208 -208
- package/backend/coverage/lcov-report/src/llm-response-parser/parsing.constants.ts.html +38 -38
- package/backend/coverage/lcov-report/src/llm-responses/dto/index.html +21 -21
- package/backend/coverage/lcov-report/src/llm-responses/dto/submit-llm-response.dto.ts.html +28 -28
- package/backend/coverage/lcov-report/src/llm-responses/index.html +38 -38
- package/backend/coverage/lcov-report/src/llm-responses/llm-responses.controller.ts.html +24 -24
- package/backend/coverage/lcov-report/src/llm-responses/llm-responses.module.ts.html +38 -35
- package/backend/coverage/lcov-report/src/llm-responses/llm-responses.service.ts.html +107 -86
- package/backend/coverage/lcov-report/src/main.ts.html +1 -1
- package/backend/coverage/lcov-report/src/orchestration/dto/index.html +13 -13
- package/backend/coverage/lcov-report/src/orchestration/dto/orchestration.dto.ts.html +30 -45
- package/backend/coverage/lcov-report/src/orchestration/index.html +74 -74
- package/backend/coverage/lcov-report/src/orchestration/orchestration-fs.service.ts.html +245 -128
- package/backend/coverage/lcov-report/src/orchestration/orchestration-parser.service.ts.html +32 -200
- package/backend/coverage/lcov-report/src/orchestration/orchestration.controller.ts.html +72 -102
- package/backend/coverage/lcov-report/src/orchestration/orchestration.module.ts.html +35 -38
- package/backend/coverage/lcov-report/src/orchestration/orchestration.service.ts.html +317 -425
- package/backend/coverage/lcov-report/src/orchestration/orchestration.types.ts.html +41 -35
- package/backend/coverage/lcov-report/src/projects/dto/index.html +13 -13
- package/backend/coverage/lcov-report/src/projects/dto/project.dto.ts.html +20 -20
- package/backend/coverage/lcov-report/src/projects/index.html +32 -32
- package/backend/coverage/lcov-report/src/projects/projects.controller.ts.html +28 -28
- package/backend/coverage/lcov-report/src/projects/projects.module.ts.html +18 -18
- package/backend/coverage/lcov-report/src/projects/projects.service.ts.html +20 -20
- package/backend/coverage/lcov-report/src/seeding/context-template-seeding.service.ts.html +22 -22
- package/backend/coverage/lcov-report/src/seeding/custom-snippet-seeding.service.ts.html +21 -21
- package/backend/coverage/lcov-report/src/seeding/data/context-templates/default-followup_ad-hoc-focused-context.ts.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/context-templates/default-initial_condensed-project-context.ts.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/context-templates/default-initial_full-project-context.ts.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/context-templates/index.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/context-templates/pm-context.ts.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/context-templates/pr-description.ts.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/context-templates/sample_focused-tree.ts.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/default_rglob.ts.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/git-diff.ts.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/index.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/rg-exclude.ts.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/rg-search-glob.ts.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/rg-search.ts.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/run-command.ts.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/tree.ts.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/usr-adhoc-incl.ts.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/custom-snippets/usr-input-incl.ts.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/system-prompts/codebase-explorer.ts.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/system-prompts/default_multi-file-action-generator-with-requester.ts.html +8 -2
- package/backend/coverage/lcov-report/src/seeding/data/system-prompts/index.html +3 -3
- package/backend/coverage/lcov-report/src/seeding/data/system-prompts/packup.ts.html +1 -1
- package/backend/coverage/lcov-report/src/seeding/data/system-prompts/refactor-split.ts.html +244 -0
- package/backend/coverage/lcov-report/src/seeding/index.html +47 -47
- package/backend/coverage/lcov-report/src/seeding/seeding.module.ts.html +24 -24
- package/backend/coverage/lcov-report/src/seeding/seeding.service.ts.html +27 -27
- package/backend/coverage/lcov-report/src/seeding/system-prompt-seeding.service.ts.html +21 -21
- package/backend/coverage/lcov-report/src/session-followup/index.html +28 -28
- package/backend/coverage/lcov-report/src/session-followup/session-followup.module.ts.html +22 -22
- package/backend/coverage/lcov-report/src/session-followup/session-followup.service.ts.html +44 -41
- package/backend/coverage/lcov-report/src/session-inputs/dto/index.html +13 -13
- package/backend/coverage/lcov-report/src/session-inputs/dto/session-input.dto.ts.html +40 -28
- package/backend/coverage/lcov-report/src/session-inputs/index.html +50 -50
- package/backend/coverage/lcov-report/src/session-inputs/session-input-context.service.ts.html +168 -156
- package/backend/coverage/lcov-report/src/session-inputs/session-inputs.controller.ts.html +36 -36
- package/backend/coverage/lcov-report/src/session-inputs/session-inputs.module.ts.html +40 -37
- package/backend/coverage/lcov-report/src/session-inputs/session-inputs.service.ts.html +242 -236
- package/backend/coverage/lcov-report/src/session-transfer/index.html +22 -22
- package/backend/coverage/lcov-report/src/session-transfer/session-transfer.module.ts.html +16 -16
- package/backend/coverage/lcov-report/src/session-transfer/session-transfer.service.ts.html +30 -30
- package/backend/coverage/lcov-report/src/sessions/dto/index.html +21 -21
- package/backend/coverage/lcov-report/src/sessions/dto/session.dto.ts.html +54 -54
- package/backend/coverage/lcov-report/src/sessions/index.html +39 -39
- package/backend/coverage/lcov-report/src/sessions/sessions.controller.ts.html +55 -55
- package/backend/coverage/lcov-report/src/sessions/sessions.module.ts.html +30 -30
- package/backend/coverage/lcov-report/src/sessions/sessions.service.ts.html +120 -120
- package/backend/coverage/lcov-report/src/system-prompts/dto/index.html +19 -19
- package/backend/coverage/lcov-report/src/system-prompts/dto/system-prompt.dto.ts.html +38 -29
- package/backend/coverage/lcov-report/src/system-prompts/index.html +37 -37
- package/backend/coverage/lcov-report/src/system-prompts/system-prompts.controller.ts.html +34 -34
- package/backend/coverage/lcov-report/src/system-prompts/system-prompts.module.ts.html +20 -20
- package/backend/coverage/lcov-report/src/system-prompts/system-prompts.service.ts.html +62 -62
- package/backend/coverage/lcov-report/src/timeout.interceptor.ts.html +1 -1
- package/backend/coverage/lcov-report/src/utils/fuzzy-search.ts.html +310 -0
- package/backend/coverage/lcov-report/src/utils/index.html +131 -0
- package/backend/coverage/lcov-report/src/utils/index.ts.html +88 -0
- package/backend/coverage/lcov-report/src/workspace/dto/index.html +13 -13
- package/backend/coverage/lcov-report/src/workspace/dto/search-workspace.dto.ts.html +24 -24
- package/backend/coverage/lcov-report/src/workspace/index.html +37 -37
- package/backend/coverage/lcov-report/src/workspace/workspace.controller.ts.html +26 -26
- package/backend/coverage/lcov-report/src/workspace/workspace.module.ts.html +16 -16
- package/backend/coverage/lcov-report/src/workspace/workspace.service.ts.html +259 -214
- package/backend/coverage/lcov.info +3284 -3186
- package/backend/dist/action-execution/action-execution.service.d.ts +2 -0
- package/backend/dist/action-execution/action-execution.service.js +31 -13
- package/backend/dist/action-execution/action-execution.service.js.map +1 -1
- package/backend/dist/ai-actions/ai-action-batch.service.d.ts +5 -1
- package/backend/dist/ai-actions/ai-action-batch.service.js +15 -2
- package/backend/dist/ai-actions/ai-action-batch.service.js.map +1 -1
- package/backend/dist/ai-actions/ai-action-creation.service.d.ts +5 -1
- package/backend/dist/ai-actions/ai-action-creation.service.js +32 -7
- package/backend/dist/ai-actions/ai-action-creation.service.js.map +1 -1
- package/backend/dist/ai-actions/ai-actions.module.js +4 -0
- package/backend/dist/ai-actions/ai-actions.module.js.map +1 -1
- package/backend/dist/application-state/application-state.controller.d.ts +5 -0
- package/backend/dist/application-state/application-state.controller.js +22 -0
- package/backend/dist/application-state/application-state.controller.js.map +1 -1
- package/backend/dist/application-state/application-state.service.d.ts +2 -0
- package/backend/dist/application-state/application-state.service.js +11 -0
- package/backend/dist/application-state/application-state.service.js.map +1 -1
- package/backend/dist/application-state/dto/set-auto-send-to-ai-studio-enabled.dto.d.ts +3 -0
- package/backend/dist/application-state/dto/set-auto-send-to-ai-studio-enabled.dto.js +21 -0
- package/backend/dist/application-state/dto/set-auto-send-to-ai-studio-enabled.dto.js.map +1 -0
- package/backend/dist/context-generation/context-generation.service.d.ts +2 -2
- package/backend/dist/context-generation/context-generation.service.js.map +1 -1
- package/backend/dist/orchestration/orchestration.service.js +1 -0
- package/backend/dist/orchestration/orchestration.service.js.map +1 -1
- package/backend/dist/seeding/data/context-templates/default-followup_ad-hoc-focused-context.d.ts +1 -1
- package/backend/dist/seeding/data/context-templates/default-followup_ad-hoc-focused-context.js +2 -0
- package/backend/dist/seeding/data/context-templates/default-followup_ad-hoc-focused-context.js.map +1 -1
- package/backend/dist/seeding/data/custom-snippets/usr-cmd-output-incl.d.ts +3 -0
- package/backend/dist/seeding/data/custom-snippets/usr-cmd-output-incl.js +7 -0
- package/backend/dist/seeding/data/custom-snippets/usr-cmd-output-incl.js.map +1 -0
- package/backend/dist/seeding/data/system-prompts/codebase-explorer.d.ts +1 -1
- package/backend/dist/seeding/data/system-prompts/codebase-explorer.js +31 -4
- package/backend/dist/seeding/data/system-prompts/codebase-explorer.js.map +1 -1
- package/backend/dist/session-inputs/dto/session-input.dto.d.ts +1 -0
- package/backend/dist/session-inputs/dto/session-input.dto.js +5 -0
- package/backend/dist/session-inputs/dto/session-input.dto.js.map +1 -1
- package/backend/dist/session-inputs/session-input-context.service.js +13 -5
- package/backend/dist/session-inputs/session-input-context.service.js.map +1 -1
- package/backend/dist/session-inputs/session-inputs.service.js +2 -1
- package/backend/dist/session-inputs/session-inputs.service.js.map +1 -1
- package/backend/dist/tsconfig.build.tsbuildinfo +1 -1
- package/backend/dist/utils/fuzzy-search.js +13 -4
- package/backend/dist/utils/fuzzy-search.js.map +1 -1
- package/backend/dist/workspace/workspace.service.d.ts +1 -0
- package/backend/dist/workspace/workspace.service.js +14 -3
- package/backend/dist/workspace/workspace.service.js.map +1 -1
- package/package.json +1 -1
- package/orchestration-test.txt +0 -3
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">80.55% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>87/108</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">56.25% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>18/32</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>5/5</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">80.18% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>85/106</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
65
|
<pre><table class="coverage">
|
|
66
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -348,45 +348,45 @@
|
|
|
348
348
|
<a name='L283'></a><a href='#L283'>283</a>
|
|
349
349
|
<a name='L284'></a><a href='#L284'>284</a>
|
|
350
350
|
<a name='L285'></a><a href='#L285'>285</a>
|
|
351
|
-
<a name='L286'></a><a href='#L286'>286</a></td><td class="line-coverage quiet"><span class="cline-any cline-
|
|
352
|
-
<span class="cline-any cline-
|
|
353
|
-
<span class="cline-any cline-
|
|
354
|
-
<span class="cline-any cline-
|
|
355
|
-
<span class="cline-any cline-
|
|
351
|
+
<a name='L286'></a><a href='#L286'>286</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">7x</span>
|
|
352
|
+
<span class="cline-any cline-yes">7x</span>
|
|
353
|
+
<span class="cline-any cline-yes">7x</span>
|
|
354
|
+
<span class="cline-any cline-yes">7x</span>
|
|
355
|
+
<span class="cline-any cline-yes">7x</span>
|
|
356
356
|
<span class="cline-any cline-neutral"> </span>
|
|
357
357
|
<span class="cline-any cline-neutral"> </span>
|
|
358
358
|
<span class="cline-any cline-neutral"> </span>
|
|
359
359
|
<span class="cline-any cline-neutral"> </span>
|
|
360
360
|
<span class="cline-any cline-neutral"> </span>
|
|
361
361
|
<span class="cline-any cline-neutral"> </span>
|
|
362
|
-
<span class="cline-any cline-
|
|
363
|
-
<span class="cline-any cline-
|
|
362
|
+
<span class="cline-any cline-yes">7x</span>
|
|
363
|
+
<span class="cline-any cline-yes">7x</span>
|
|
364
364
|
<span class="cline-any cline-neutral"> </span>
|
|
365
365
|
<span class="cline-any cline-neutral"> </span>
|
|
366
|
-
<span class="cline-any cline-
|
|
367
|
-
<span class="cline-any cline-
|
|
366
|
+
<span class="cline-any cline-yes">7x</span>
|
|
367
|
+
<span class="cline-any cline-yes">11x</span>
|
|
368
368
|
<span class="cline-any cline-neutral"> </span>
|
|
369
369
|
<span class="cline-any cline-neutral"> </span>
|
|
370
370
|
<span class="cline-any cline-neutral"> </span>
|
|
371
|
-
<span class="cline-any cline-
|
|
371
|
+
<span class="cline-any cline-yes">11x</span>
|
|
372
372
|
<span class="cline-any cline-neutral"> </span>
|
|
373
|
-
<span class="cline-any cline-
|
|
374
|
-
<span class="cline-any cline-
|
|
375
|
-
<span class="cline-any cline-
|
|
376
|
-
<span class="cline-any cline-
|
|
373
|
+
<span class="cline-any cline-yes">11x</span>
|
|
374
|
+
<span class="cline-any cline-yes">11x</span>
|
|
375
|
+
<span class="cline-any cline-yes">11x</span>
|
|
376
|
+
<span class="cline-any cline-yes">11x</span>
|
|
377
377
|
<span class="cline-any cline-neutral"> </span>
|
|
378
378
|
<span class="cline-any cline-neutral"> </span>
|
|
379
379
|
<span class="cline-any cline-neutral"> </span>
|
|
380
|
-
<span class="cline-any cline-
|
|
380
|
+
<span class="cline-any cline-yes">6x</span>
|
|
381
381
|
<span class="cline-any cline-neutral"> </span>
|
|
382
382
|
<span class="cline-any cline-neutral"> </span>
|
|
383
|
-
<span class="cline-any cline-
|
|
384
|
-
<span class="cline-any cline-
|
|
383
|
+
<span class="cline-any cline-yes">6x</span>
|
|
384
|
+
<span class="cline-any cline-yes">1x</span>
|
|
385
385
|
<span class="cline-any cline-neutral"> </span>
|
|
386
386
|
<span class="cline-any cline-neutral"> </span>
|
|
387
387
|
<span class="cline-any cline-neutral"> </span>
|
|
388
388
|
<span class="cline-any cline-neutral"> </span>
|
|
389
|
-
<span class="cline-any cline-
|
|
389
|
+
<span class="cline-any cline-yes">5x</span>
|
|
390
390
|
<span class="cline-any cline-neutral"> </span>
|
|
391
391
|
<span class="cline-any cline-neutral"> </span>
|
|
392
392
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -394,43 +394,43 @@
|
|
|
394
394
|
<span class="cline-any cline-neutral"> </span>
|
|
395
395
|
<span class="cline-any cline-neutral"> </span>
|
|
396
396
|
<span class="cline-any cline-neutral"> </span>
|
|
397
|
-
<span class="cline-any cline-
|
|
398
|
-
<span class="cline-any cline-
|
|
397
|
+
<span class="cline-any cline-yes">5x</span>
|
|
398
|
+
<span class="cline-any cline-yes">1x</span>
|
|
399
399
|
<span class="cline-any cline-neutral"> </span>
|
|
400
400
|
<span class="cline-any cline-neutral"> </span>
|
|
401
|
-
<span class="cline-any cline-
|
|
401
|
+
<span class="cline-any cline-yes">1x</span>
|
|
402
402
|
<span class="cline-any cline-neutral"> </span>
|
|
403
403
|
<span class="cline-any cline-neutral"> </span>
|
|
404
|
-
<span class="cline-any cline-
|
|
404
|
+
<span class="cline-any cline-yes">4x</span>
|
|
405
405
|
<span class="cline-any cline-neutral"> </span>
|
|
406
|
-
<span class="cline-any cline-
|
|
407
|
-
<span class="cline-any cline-
|
|
408
|
-
<span class="cline-any cline-
|
|
409
|
-
<span class="cline-any cline-
|
|
406
|
+
<span class="cline-any cline-yes">4x</span>
|
|
407
|
+
<span class="cline-any cline-yes">7x</span>
|
|
408
|
+
<span class="cline-any cline-yes">7x</span>
|
|
409
|
+
<span class="cline-any cline-yes">7x</span>
|
|
410
410
|
<span class="cline-any cline-neutral"> </span>
|
|
411
|
-
<span class="cline-any cline-
|
|
412
|
-
<span class="cline-any cline-
|
|
411
|
+
<span class="cline-any cline-yes">7x</span>
|
|
412
|
+
<span class="cline-any cline-yes">7x</span>
|
|
413
413
|
<span class="cline-any cline-neutral"> </span>
|
|
414
414
|
<span class="cline-any cline-neutral"> </span>
|
|
415
|
-
<span class="cline-any cline-
|
|
415
|
+
<span class="cline-any cline-yes">7x</span>
|
|
416
416
|
<span class="cline-any cline-neutral"> </span>
|
|
417
|
-
<span class="cline-any cline-
|
|
417
|
+
<span class="cline-any cline-yes">5x</span>
|
|
418
418
|
<span class="cline-any cline-neutral"> </span>
|
|
419
419
|
<span class="cline-any cline-neutral"> </span>
|
|
420
420
|
<span class="cline-any cline-neutral"> </span>
|
|
421
421
|
<span class="cline-any cline-neutral"> </span>
|
|
422
|
-
<span class="cline-any cline-
|
|
422
|
+
<span class="cline-any cline-yes">1x</span>
|
|
423
423
|
<span class="cline-any cline-neutral"> </span>
|
|
424
424
|
<span class="cline-any cline-neutral"> </span>
|
|
425
425
|
<span class="cline-any cline-neutral"> </span>
|
|
426
|
-
<span class="cline-any cline-
|
|
426
|
+
<span class="cline-any cline-yes">4x</span>
|
|
427
427
|
<span class="cline-any cline-neutral"> </span>
|
|
428
428
|
<span class="cline-any cline-neutral"> </span>
|
|
429
429
|
<span class="cline-any cline-neutral"> </span>
|
|
430
|
-
<span class="cline-any cline-
|
|
431
|
-
<span class="cline-any cline-
|
|
430
|
+
<span class="cline-any cline-yes">4x</span>
|
|
431
|
+
<span class="cline-any cline-yes">4x</span>
|
|
432
432
|
<span class="cline-any cline-neutral"> </span>
|
|
433
|
-
<span class="cline-any cline-
|
|
433
|
+
<span class="cline-any cline-yes">1x</span>
|
|
434
434
|
<span class="cline-any cline-neutral"> </span>
|
|
435
435
|
<span class="cline-any cline-neutral"> </span>
|
|
436
436
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -439,17 +439,17 @@
|
|
|
439
439
|
<span class="cline-any cline-neutral"> </span>
|
|
440
440
|
<span class="cline-any cline-neutral"> </span>
|
|
441
441
|
<span class="cline-any cline-neutral"> </span>
|
|
442
|
-
<span class="cline-any cline-
|
|
442
|
+
<span class="cline-any cline-yes">1x</span>
|
|
443
443
|
<span class="cline-any cline-neutral"> </span>
|
|
444
444
|
<span class="cline-any cline-neutral"> </span>
|
|
445
445
|
<span class="cline-any cline-neutral"> </span>
|
|
446
|
-
<span class="cline-any cline-
|
|
447
|
-
<span class="cline-any cline-
|
|
446
|
+
<span class="cline-any cline-yes">1x</span>
|
|
447
|
+
<span class="cline-any cline-yes">1x</span>
|
|
448
448
|
<span class="cline-any cline-neutral"> </span>
|
|
449
|
-
<span class="cline-any cline-
|
|
449
|
+
<span class="cline-any cline-yes">1x</span>
|
|
450
450
|
<span class="cline-any cline-no"> </span>
|
|
451
451
|
<span class="cline-any cline-neutral"> </span>
|
|
452
|
-
<span class="cline-any cline-
|
|
452
|
+
<span class="cline-any cline-yes">1x</span>
|
|
453
453
|
<span class="cline-any cline-no"> </span>
|
|
454
454
|
<span class="cline-any cline-no"> </span>
|
|
455
455
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -472,50 +472,50 @@
|
|
|
472
472
|
<span class="cline-any cline-neutral"> </span>
|
|
473
473
|
<span class="cline-any cline-no"> </span>
|
|
474
474
|
<span class="cline-any cline-neutral"> </span>
|
|
475
|
-
<span class="cline-any cline-
|
|
476
|
-
<span class="cline-any cline-
|
|
477
|
-
<span class="cline-any cline-
|
|
475
|
+
<span class="cline-any cline-yes">5x</span>
|
|
476
|
+
<span class="cline-any cline-yes">5x</span>
|
|
477
|
+
<span class="cline-any cline-yes">5x</span>
|
|
478
478
|
<span class="cline-any cline-neutral"> </span>
|
|
479
|
-
<span class="cline-any cline-
|
|
479
|
+
<span class="cline-any cline-yes">2x</span>
|
|
480
480
|
<span class="cline-any cline-neutral"> </span>
|
|
481
481
|
<span class="cline-any cline-neutral"> </span>
|
|
482
482
|
<span class="cline-any cline-neutral"> </span>
|
|
483
|
-
<span class="cline-any cline-
|
|
484
|
-
<span class="cline-any cline-
|
|
485
|
-
<span class="cline-any cline-
|
|
483
|
+
<span class="cline-any cline-yes">2x</span>
|
|
484
|
+
<span class="cline-any cline-yes">2x</span>
|
|
485
|
+
<span class="cline-any cline-yes">2x</span>
|
|
486
486
|
<span class="cline-any cline-neutral"> </span>
|
|
487
487
|
<span class="cline-any cline-neutral"> </span>
|
|
488
|
-
<span class="cline-any cline-
|
|
488
|
+
<span class="cline-any cline-yes">7x</span>
|
|
489
489
|
<span class="cline-any cline-neutral"> </span>
|
|
490
490
|
<span class="cline-any cline-neutral"> </span>
|
|
491
491
|
<span class="cline-any cline-neutral"> </span>
|
|
492
492
|
<span class="cline-any cline-neutral"> </span>
|
|
493
|
-
<span class="cline-any cline-
|
|
493
|
+
<span class="cline-any cline-yes">7x</span>
|
|
494
494
|
<span class="cline-any cline-neutral"> </span>
|
|
495
|
-
<span class="cline-any cline-
|
|
495
|
+
<span class="cline-any cline-yes">7x</span>
|
|
496
496
|
<span class="cline-any cline-neutral"> </span>
|
|
497
|
-
<span class="cline-any cline-
|
|
497
|
+
<span class="cline-any cline-yes">7x</span>
|
|
498
498
|
<span class="cline-any cline-neutral"> </span>
|
|
499
499
|
<span class="cline-any cline-neutral"> </span>
|
|
500
500
|
<span class="cline-any cline-neutral"> </span>
|
|
501
501
|
<span class="cline-any cline-neutral"> </span>
|
|
502
502
|
<span class="cline-any cline-neutral"> </span>
|
|
503
|
-
<span class="cline-any cline-
|
|
503
|
+
<span class="cline-any cline-yes">4x</span>
|
|
504
504
|
<span class="cline-any cline-neutral"> </span>
|
|
505
505
|
<span class="cline-any cline-neutral"> </span>
|
|
506
506
|
<span class="cline-any cline-neutral"> </span>
|
|
507
507
|
<span class="cline-any cline-neutral"> </span>
|
|
508
508
|
<span class="cline-any cline-neutral"> </span>
|
|
509
|
-
<span class="cline-any cline-
|
|
509
|
+
<span class="cline-any cline-yes">2x</span>
|
|
510
510
|
<span class="cline-any cline-neutral"> </span>
|
|
511
511
|
<span class="cline-any cline-neutral"> </span>
|
|
512
|
-
<span class="cline-any cline-
|
|
512
|
+
<span class="cline-any cline-yes">2x</span>
|
|
513
513
|
<span class="cline-any cline-no"> </span>
|
|
514
514
|
<span class="cline-any cline-neutral"> </span>
|
|
515
515
|
<span class="cline-any cline-neutral"> </span>
|
|
516
516
|
<span class="cline-any cline-neutral"> </span>
|
|
517
517
|
<span class="cline-any cline-neutral"> </span>
|
|
518
|
-
<span class="cline-any cline-
|
|
518
|
+
<span class="cline-any cline-yes">2x</span>
|
|
519
519
|
<span class="cline-any cline-neutral"> </span>
|
|
520
520
|
<span class="cline-any cline-neutral"> </span>
|
|
521
521
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -525,83 +525,83 @@
|
|
|
525
525
|
<span class="cline-any cline-neutral"> </span>
|
|
526
526
|
<span class="cline-any cline-neutral"> </span>
|
|
527
527
|
<span class="cline-any cline-neutral"> </span>
|
|
528
|
-
<span class="cline-any cline-
|
|
528
|
+
<span class="cline-any cline-yes">2x</span>
|
|
529
529
|
<span class="cline-any cline-no"> </span>
|
|
530
530
|
<span class="cline-any cline-neutral"> </span>
|
|
531
531
|
<span class="cline-any cline-neutral"> </span>
|
|
532
532
|
<span class="cline-any cline-no"> </span>
|
|
533
533
|
<span class="cline-any cline-neutral"> </span>
|
|
534
534
|
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-
|
|
536
|
-
<span class="cline-any cline-
|
|
537
|
-
<span class="cline-any cline-
|
|
538
|
-
<span class="cline-any cline-
|
|
539
|
-
<span class="cline-any cline-
|
|
535
|
+
<span class="cline-any cline-yes">2x</span>
|
|
536
|
+
<span class="cline-any cline-yes">2x</span>
|
|
537
|
+
<span class="cline-any cline-yes">4x</span>
|
|
538
|
+
<span class="cline-any cline-yes">4x</span>
|
|
539
|
+
<span class="cline-any cline-yes">4x</span>
|
|
540
540
|
<span class="cline-any cline-neutral"> </span>
|
|
541
541
|
<span class="cline-any cline-neutral"> </span>
|
|
542
542
|
<span class="cline-any cline-neutral"> </span>
|
|
543
|
-
<span class="cline-any cline-
|
|
543
|
+
<span class="cline-any cline-yes">4x</span>
|
|
544
544
|
<span class="cline-any cline-neutral"> </span>
|
|
545
545
|
<span class="cline-any cline-neutral"> </span>
|
|
546
546
|
<span class="cline-any cline-neutral"> </span>
|
|
547
547
|
<span class="cline-any cline-neutral"> </span>
|
|
548
|
-
<span class="cline-any cline-
|
|
548
|
+
<span class="cline-any cline-yes">2x</span>
|
|
549
549
|
<span class="cline-any cline-neutral"> </span>
|
|
550
550
|
<span class="cline-any cline-neutral"> </span>
|
|
551
551
|
<span class="cline-any cline-neutral"> </span>
|
|
552
552
|
<span class="cline-any cline-neutral"> </span>
|
|
553
553
|
<span class="cline-any cline-neutral"> </span>
|
|
554
|
-
<span class="cline-any cline-
|
|
554
|
+
<span class="cline-any cline-yes">2x</span>
|
|
555
555
|
<span class="cline-any cline-neutral"> </span>
|
|
556
556
|
<span class="cline-any cline-neutral"> </span>
|
|
557
|
-
<span class="cline-any cline-
|
|
557
|
+
<span class="cline-any cline-yes">2x</span>
|
|
558
558
|
<span class="cline-any cline-no"> </span>
|
|
559
559
|
<span class="cline-any cline-neutral"> </span>
|
|
560
560
|
<span class="cline-any cline-neutral"> </span>
|
|
561
561
|
<span class="cline-any cline-neutral"> </span>
|
|
562
562
|
<span class="cline-any cline-neutral"> </span>
|
|
563
|
-
<span class="cline-any cline-
|
|
563
|
+
<span class="cline-any cline-yes">2x</span>
|
|
564
564
|
<span class="cline-any cline-neutral"> </span>
|
|
565
565
|
<span class="cline-any cline-neutral"> </span>
|
|
566
566
|
<span class="cline-any cline-neutral"> </span>
|
|
567
567
|
<span class="cline-any cline-neutral"> </span>
|
|
568
568
|
<span class="cline-any cline-neutral"> </span>
|
|
569
569
|
<span class="cline-any cline-neutral"> </span>
|
|
570
|
-
<span class="cline-any cline-
|
|
570
|
+
<span class="cline-any cline-yes">2x</span>
|
|
571
571
|
<span class="cline-any cline-no"> </span>
|
|
572
572
|
<span class="cline-any cline-neutral"> </span>
|
|
573
573
|
<span class="cline-any cline-neutral"> </span>
|
|
574
574
|
<span class="cline-any cline-no"> </span>
|
|
575
575
|
<span class="cline-any cline-neutral"> </span>
|
|
576
576
|
<span class="cline-any cline-neutral"> </span>
|
|
577
|
-
<span class="cline-any cline-
|
|
578
|
-
<span class="cline-any cline-
|
|
579
|
-
<span class="cline-any cline-
|
|
580
|
-
<span class="cline-any cline-
|
|
581
|
-
<span class="cline-any cline-
|
|
577
|
+
<span class="cline-any cline-yes">2x</span>
|
|
578
|
+
<span class="cline-any cline-yes">2x</span>
|
|
579
|
+
<span class="cline-any cline-yes">2x</span>
|
|
580
|
+
<span class="cline-any cline-yes">2x</span>
|
|
581
|
+
<span class="cline-any cline-yes">2x</span>
|
|
582
582
|
<span class="cline-any cline-neutral"> </span>
|
|
583
583
|
<span class="cline-any cline-neutral"> </span>
|
|
584
584
|
<span class="cline-any cline-neutral"> </span>
|
|
585
|
-
<span class="cline-any cline-
|
|
585
|
+
<span class="cline-any cline-yes">2x</span>
|
|
586
586
|
<span class="cline-any cline-neutral"> </span>
|
|
587
587
|
<span class="cline-any cline-neutral"> </span>
|
|
588
588
|
<span class="cline-any cline-neutral"> </span>
|
|
589
|
-
<span class="cline-any cline-
|
|
589
|
+
<span class="cline-any cline-yes">2x</span>
|
|
590
590
|
<span class="cline-any cline-neutral"> </span>
|
|
591
591
|
<span class="cline-any cline-neutral"> </span>
|
|
592
592
|
<span class="cline-any cline-neutral"> </span>
|
|
593
593
|
<span class="cline-any cline-neutral"> </span>
|
|
594
594
|
<span class="cline-any cline-neutral"> </span>
|
|
595
|
-
<span class="cline-any cline-
|
|
595
|
+
<span class="cline-any cline-yes">4x</span>
|
|
596
596
|
<span class="cline-any cline-neutral"> </span>
|
|
597
597
|
<span class="cline-any cline-neutral"> </span>
|
|
598
|
-
<span class="cline-any cline-
|
|
599
|
-
<span class="cline-any cline-
|
|
598
|
+
<span class="cline-any cline-yes">4x</span>
|
|
599
|
+
<span class="cline-any cline-yes">1x</span>
|
|
600
600
|
<span class="cline-any cline-neutral"> </span>
|
|
601
601
|
<span class="cline-any cline-neutral"> </span>
|
|
602
602
|
<span class="cline-any cline-neutral"> </span>
|
|
603
603
|
<span class="cline-any cline-neutral"> </span>
|
|
604
|
-
<span class="cline-any cline-
|
|
604
|
+
<span class="cline-any cline-yes">3x</span>
|
|
605
605
|
<span class="cline-any cline-neutral"> </span>
|
|
606
606
|
<span class="cline-any cline-neutral"> </span>
|
|
607
607
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -609,69 +609,69 @@
|
|
|
609
609
|
<span class="cline-any cline-neutral"> </span>
|
|
610
610
|
<span class="cline-any cline-neutral"> </span>
|
|
611
611
|
<span class="cline-any cline-neutral"> </span>
|
|
612
|
-
<span class="cline-any cline-
|
|
612
|
+
<span class="cline-any cline-yes">3x</span>
|
|
613
613
|
<span class="cline-any cline-no"> </span>
|
|
614
614
|
<span class="cline-any cline-neutral"> </span>
|
|
615
615
|
<span class="cline-any cline-neutral"> </span>
|
|
616
616
|
<span class="cline-any cline-no"> </span>
|
|
617
617
|
<span class="cline-any cline-neutral"> </span>
|
|
618
618
|
<span class="cline-any cline-neutral"> </span>
|
|
619
|
-
<span class="cline-any cline-
|
|
620
|
-
<span class="cline-any cline-
|
|
621
|
-
<span class="cline-any cline-
|
|
619
|
+
<span class="cline-any cline-yes">3x</span>
|
|
620
|
+
<span class="cline-any cline-yes">3x</span>
|
|
621
|
+
<span class="cline-any cline-yes">5x</span>
|
|
622
622
|
<span class="cline-any cline-neutral"> </span>
|
|
623
623
|
<span class="cline-any cline-neutral"> </span>
|
|
624
|
-
<span class="cline-any cline-
|
|
624
|
+
<span class="cline-any cline-yes">5x</span>
|
|
625
625
|
<span class="cline-any cline-neutral"> </span>
|
|
626
626
|
<span class="cline-any cline-neutral"> </span>
|
|
627
627
|
<span class="cline-any cline-neutral"> </span>
|
|
628
628
|
<span class="cline-any cline-neutral"> </span>
|
|
629
629
|
<span class="cline-any cline-neutral"> </span>
|
|
630
|
-
<span class="cline-any cline-
|
|
630
|
+
<span class="cline-any cline-yes">3x</span>
|
|
631
631
|
<span class="cline-any cline-neutral"> </span>
|
|
632
632
|
<span class="cline-any cline-neutral"> </span>
|
|
633
|
-
<span class="cline-any cline-
|
|
633
|
+
<span class="cline-any cline-yes">3x</span>
|
|
634
634
|
<span class="cline-any cline-neutral"> </span>
|
|
635
635
|
<span class="cline-any cline-neutral"> </span>
|
|
636
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js"
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
636
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { Injectable, Logger, NotFoundException } from '@nestjs/common';
|
|
637
|
+
import { InjectRepository } from '@nestjs/typeorm';
|
|
638
|
+
import { In, Repository } from 'typeorm';
|
|
639
|
+
import { AIAction, SessionInput } from '../core-entities';
|
|
640
|
+
import {
|
|
641
641
|
AIActionsService,
|
|
642
642
|
AIActionStatus,
|
|
643
643
|
ActionResult,
|
|
644
644
|
ConfirmedActionInfo,
|
|
645
645
|
DiscardedActionInfo,
|
|
646
646
|
} from './ai-actions.service';
|
|
647
|
-
|
|
648
|
-
|
|
647
|
+
import { ExecutionLogsService } from '../execution-logs/execution-logs.service';
|
|
648
|
+
import { ActionExecutionService } from '../action-execution/action-execution.service';
|
|
649
649
|
|
|
650
650
|
@Injectable()
|
|
651
|
-
export class
|
|
652
|
-
private readonly
|
|
651
|
+
export class AIActionBatchService {
|
|
652
|
+
private readonly logger = new Logger(AIActionBatchService.name);
|
|
653
653
|
|
|
654
|
-
|
|
654
|
+
constructor(
|
|
655
655
|
@InjectRepository(AIAction)
|
|
656
|
-
private
|
|
656
|
+
private aiActionsRepository: Repository<AIAction>,
|
|
657
657
|
@InjectRepository(SessionInput)
|
|
658
|
-
private
|
|
659
|
-
private readonly
|
|
660
|
-
private readonly
|
|
661
|
-
private readonly
|
|
658
|
+
private sessionInputsRepository: Repository<SessionInput>,
|
|
659
|
+
private readonly aiActionsService: AIActionsService,
|
|
660
|
+
private readonly executionLogsService: ExecutionLogsService,
|
|
661
|
+
private readonly actionExecutionService: ActionExecutionService,
|
|
662
662
|
) {}
|
|
663
663
|
|
|
664
|
-
|
|
665
|
-
const sessionInput =
|
|
664
|
+
async applyApprovedActions(inputId: string): Promise<ActionResult[]> {
|
|
665
|
+
const sessionInput = await this.sessionInputsRepository.findOneBy({
|
|
666
666
|
id: inputId,
|
|
667
667
|
});
|
|
668
|
-
|
|
669
|
-
|
|
668
|
+
if (!sessionInput) {
|
|
669
|
+
throw new NotFoundException(
|
|
670
670
|
`SessionInput with ID "${inputId}" not found.`,
|
|
671
671
|
);
|
|
672
672
|
}
|
|
673
673
|
|
|
674
|
-
const actionsToApply =
|
|
674
|
+
const actionsToApply = await this.aiActionsRepository.find({
|
|
675
675
|
where: {
|
|
676
676
|
input_id: inputId,
|
|
677
677
|
status: AIActionStatus.APPROVED_FOR_APPLY,
|
|
@@ -679,43 +679,43 @@ export class <span class="cstat-no" title="statement not covered" ><span class="
|
|
|
679
679
|
order: { order_of_execution: 'ASC', created_at: 'ASC' },
|
|
680
680
|
});
|
|
681
681
|
|
|
682
|
-
|
|
683
|
-
|
|
682
|
+
if (actionsToApply.length === 0) {
|
|
683
|
+
this.logger.log(
|
|
684
684
|
`No actions in "approved_for_apply" state for input ID "${inputId}".`,
|
|
685
685
|
);
|
|
686
|
-
|
|
686
|
+
return [];
|
|
687
687
|
}
|
|
688
688
|
|
|
689
|
-
const results: ActionResult[] =
|
|
689
|
+
const results: ActionResult[] = [];
|
|
690
690
|
|
|
691
|
-
|
|
692
|
-
let outcomeMessage =
|
|
693
|
-
let errorMessage: string | undefined =
|
|
694
|
-
let actionSucceeded =
|
|
691
|
+
for (const action of actionsToApply) {
|
|
692
|
+
let outcomeMessage = '';
|
|
693
|
+
let errorMessage: string | undefined = undefined;
|
|
694
|
+
let actionSucceeded = false;
|
|
695
695
|
|
|
696
|
-
|
|
697
|
-
|
|
696
|
+
try {
|
|
697
|
+
this.logger.log(
|
|
698
698
|
`Attempting to apply action ID ${action.id}, type ${action.action_type}`,
|
|
699
699
|
);
|
|
700
|
-
|
|
700
|
+
switch (action.action_type) {
|
|
701
701
|
case 'create_file':
|
|
702
|
-
|
|
702
|
+
if (
|
|
703
703
|
!action.file_path ||
|
|
704
704
|
action.content === null ||
|
|
705
705
|
action.content === undefined
|
|
706
706
|
) {
|
|
707
|
-
|
|
707
|
+
throw new Error(
|
|
708
708
|
'Missing file_path or content for create_file action.',
|
|
709
709
|
);
|
|
710
710
|
}
|
|
711
|
-
|
|
711
|
+
await this.actionExecutionService.createFile(
|
|
712
712
|
action.file_path,
|
|
713
713
|
action.content,
|
|
714
714
|
);
|
|
715
|
-
|
|
716
|
-
|
|
715
|
+
outcomeMessage = `File "${action.file_path}" created successfully.`;
|
|
716
|
+
break;
|
|
717
717
|
case 'edit_file':
|
|
718
|
-
|
|
718
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (
|
|
719
719
|
!action.file_path ||
|
|
720
720
|
action.content === null ||
|
|
721
721
|
action.content === undefined
|
|
@@ -724,20 +724,20 @@ export class <span class="cstat-no" title="statement not covered" ><span class="
|
|
|
724
724
|
'Missing file_path or content for edit_file action.',
|
|
725
725
|
);
|
|
726
726
|
}
|
|
727
|
-
|
|
727
|
+
await this.actionExecutionService.editFile(
|
|
728
728
|
action.file_path,
|
|
729
729
|
action.content,
|
|
730
730
|
);
|
|
731
|
-
|
|
732
|
-
|
|
731
|
+
outcomeMessage = `File "${action.file_path}" edited successfully.`;
|
|
732
|
+
break;
|
|
733
733
|
case 'delete_file':
|
|
734
|
-
|
|
734
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!action.file_path) {
|
|
735
735
|
<span class="cstat-no" title="statement not covered" > throw new Error('Missing file_path for delete_file action.');</span>
|
|
736
736
|
}
|
|
737
|
-
|
|
737
|
+
await this.actionExecutionService.deleteFile(action.file_path);
|
|
738
738
|
<span class="cstat-no" title="statement not covered" > outcomeMessage = `File "${action.file_path}" deleted successfully.`;</span>
|
|
739
739
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
740
|
-
case 'run_command'
|
|
740
|
+
<span class="branch-3 cbranch-no" title="branch not covered" > case 'run_command':</span>
|
|
741
741
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!action.command_string) {</span>
|
|
742
742
|
<span class="cstat-no" title="statement not covered" > throw new Error('Missing command_string for run_command action.');</span>
|
|
743
743
|
}
|
|
@@ -754,53 +754,53 @@ export class <span class="cstat-no" title="statement not covered" ><span class="
|
|
|
754
754
|
<span class="cstat-no" title="statement not covered" > outcomeMessage += `\nStderr: ${cmdResult.stderr}`;</span>
|
|
755
755
|
}
|
|
756
756
|
<span class="cstat-no" title="statement not covered" > break;</span>
|
|
757
|
-
default
|
|
757
|
+
<span class="branch-4 cbranch-no" title="branch not covered" > default:</span>
|
|
758
758
|
<span class="cstat-no" title="statement not covered" > throw new Error(`Unsupported action_type: "${action.action_type}"`);</span>
|
|
759
759
|
}
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
760
|
+
action.status = AIActionStatus.CONFIRMED_KEPT;
|
|
761
|
+
actionSucceeded = true;
|
|
762
|
+
this.logger.log(`Action ID ${action.id} applied successfully.`);
|
|
763
763
|
} catch (error) {
|
|
764
|
-
|
|
764
|
+
this.logger.error(
|
|
765
765
|
`Failed to apply action ID ${action.id}: ${error.message}`,
|
|
766
766
|
error.stack,
|
|
767
767
|
);
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
768
|
+
action.status = AIActionStatus.EXECUTION_FAILED;
|
|
769
|
+
errorMessage = error.message;
|
|
770
|
+
outcomeMessage = `Failed to apply action: ${error.message}`;
|
|
771
771
|
}
|
|
772
772
|
|
|
773
|
-
const log =
|
|
773
|
+
const log = await this.executionLogsService.createLog({
|
|
774
774
|
action_id: action.id,
|
|
775
775
|
output: actionSucceeded ? outcomeMessage : undefined,
|
|
776
776
|
error_message: errorMessage,
|
|
777
777
|
});
|
|
778
|
-
|
|
778
|
+
await this.aiActionsRepository.save(action);
|
|
779
779
|
|
|
780
|
-
const reloadedAction =
|
|
780
|
+
const reloadedAction = await this.aiActionsService.findOne(action.id);
|
|
781
781
|
|
|
782
|
-
|
|
782
|
+
results.push({
|
|
783
783
|
action_id: action.id,
|
|
784
784
|
status: reloadedAction.status,
|
|
785
|
-
logs: reloadedAction.executionLogs || [log]
|
|
785
|
+
logs: reloadedAction.executionLogs || <span class="branch-1 cbranch-no" title="branch not covered" >[log],</span>
|
|
786
786
|
});
|
|
787
787
|
}
|
|
788
|
-
|
|
788
|
+
return results;
|
|
789
789
|
}
|
|
790
790
|
|
|
791
|
-
|
|
791
|
+
async discardAllActionsForInput(
|
|
792
792
|
inputId: string,
|
|
793
793
|
): Promise<DiscardedActionInfo[]> {
|
|
794
|
-
const sessionInput =
|
|
794
|
+
const sessionInput = await this.sessionInputsRepository.findOneBy({
|
|
795
795
|
id: inputId,
|
|
796
796
|
});
|
|
797
|
-
|
|
797
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!sessionInput) {
|
|
798
798
|
<span class="cstat-no" title="statement not covered" > throw new NotFoundException(</span>
|
|
799
799
|
`SessionInput with ID "${inputId}" not found.`,
|
|
800
800
|
);
|
|
801
801
|
}
|
|
802
802
|
|
|
803
|
-
const actionsToDiscard =
|
|
803
|
+
const actionsToDiscard = await this.aiActionsRepository.find({
|
|
804
804
|
where: {
|
|
805
805
|
input_id: inputId,
|
|
806
806
|
status: In([
|
|
@@ -810,83 +810,83 @@ export class <span class="cstat-no" title="statement not covered" ><span class="
|
|
|
810
810
|
},
|
|
811
811
|
});
|
|
812
812
|
|
|
813
|
-
|
|
813
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (actionsToDiscard.length === 0) {
|
|
814
814
|
<span class="cstat-no" title="statement not covered" > this.logger.log(</span>
|
|
815
815
|
`No actions in "proposed" or "approved_for_apply" state for input ID "${inputId}" to discard.`,
|
|
816
816
|
);
|
|
817
817
|
<span class="cstat-no" title="statement not covered" > return [];</span>
|
|
818
818
|
}
|
|
819
819
|
|
|
820
|
-
const results: DiscardedActionInfo[] =
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
820
|
+
const results: DiscardedActionInfo[] = [];
|
|
821
|
+
for (const action of actionsToDiscard) {
|
|
822
|
+
action.status = AIActionStatus.REJECTED_BEFORE_APPLY;
|
|
823
|
+
await this.aiActionsRepository.save(action);
|
|
824
|
+
results.push({
|
|
825
825
|
action_id: action.id,
|
|
826
826
|
status: action.status,
|
|
827
827
|
});
|
|
828
|
-
|
|
828
|
+
this.logger.log(
|
|
829
829
|
`Action ID ${action.id} for input ${inputId} discarded, status set to ${action.status}.`,
|
|
830
830
|
);
|
|
831
831
|
}
|
|
832
832
|
|
|
833
|
-
|
|
833
|
+
return results;
|
|
834
834
|
}
|
|
835
835
|
|
|
836
|
-
|
|
836
|
+
async confirmAllAppliedActionsForInput(
|
|
837
837
|
inputId: string,
|
|
838
838
|
): Promise<ConfirmedActionInfo[]> {
|
|
839
|
-
const sessionInput =
|
|
839
|
+
const sessionInput = await this.sessionInputsRepository.findOneBy({
|
|
840
840
|
id: inputId,
|
|
841
841
|
});
|
|
842
|
-
|
|
842
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!sessionInput) {
|
|
843
843
|
<span class="cstat-no" title="statement not covered" > throw new NotFoundException(</span>
|
|
844
844
|
`SessionInput with ID "${inputId}" not found.`,
|
|
845
845
|
);
|
|
846
846
|
}
|
|
847
847
|
|
|
848
|
-
const actionsToConfirm =
|
|
848
|
+
const actionsToConfirm = await this.aiActionsRepository.find({
|
|
849
849
|
where: {
|
|
850
850
|
input_id: inputId,
|
|
851
851
|
status: AIActionStatus.APPLIED_PENDING_REVIEW,
|
|
852
852
|
},
|
|
853
853
|
});
|
|
854
854
|
|
|
855
|
-
|
|
855
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (actionsToConfirm.length === 0) {
|
|
856
856
|
<span class="cstat-no" title="statement not covered" > this.logger.log(</span>
|
|
857
857
|
`No actions in "${AIActionStatus.APPLIED_PENDING_REVIEW}" state for input ID "${inputId}" to confirm.`,
|
|
858
858
|
);
|
|
859
859
|
<span class="cstat-no" title="statement not covered" > return [];</span>
|
|
860
860
|
}
|
|
861
861
|
|
|
862
|
-
const results: ConfirmedActionInfo[] =
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
862
|
+
const results: ConfirmedActionInfo[] = [];
|
|
863
|
+
for (const action of actionsToConfirm) {
|
|
864
|
+
action.status = AIActionStatus.CONFIRMED_KEPT;
|
|
865
|
+
await this.aiActionsRepository.save(action);
|
|
866
|
+
results.push({
|
|
867
867
|
action_id: action.id,
|
|
868
868
|
status: action.status,
|
|
869
869
|
});
|
|
870
|
-
|
|
870
|
+
this.logger.log(
|
|
871
871
|
`Action ID ${action.id} for input ${inputId} confirmed kept, status set to ${action.status}.`,
|
|
872
872
|
);
|
|
873
873
|
}
|
|
874
|
-
|
|
874
|
+
return results;
|
|
875
875
|
}
|
|
876
876
|
|
|
877
|
-
|
|
877
|
+
async revertAllAppliedActionsForInput(
|
|
878
878
|
inputId: string,
|
|
879
879
|
): Promise<ActionResult[]> {
|
|
880
|
-
const sessionInput =
|
|
880
|
+
const sessionInput = await this.sessionInputsRepository.findOneBy({
|
|
881
881
|
id: inputId,
|
|
882
882
|
});
|
|
883
|
-
|
|
884
|
-
|
|
883
|
+
if (!sessionInput) {
|
|
884
|
+
throw new NotFoundException(
|
|
885
885
|
`SessionInput with ID "${inputId}" not found. Cannot revert actions.`,
|
|
886
886
|
);
|
|
887
887
|
}
|
|
888
888
|
|
|
889
|
-
const actionsToRevert =
|
|
889
|
+
const actionsToRevert = await this.aiActionsRepository.find({
|
|
890
890
|
where: {
|
|
891
891
|
input_id: inputId,
|
|
892
892
|
status: AIActionStatus.APPLIED_PENDING_REVIEW,
|
|
@@ -894,28 +894,28 @@ export class <span class="cstat-no" title="statement not covered" ><span class="
|
|
|
894
894
|
order: { order_of_execution: 'DESC', created_at: 'DESC' }, // Revert in reverse order
|
|
895
895
|
});
|
|
896
896
|
|
|
897
|
-
|
|
897
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (actionsToRevert.length === 0) {
|
|
898
898
|
<span class="cstat-no" title="statement not covered" > this.logger.log(</span>
|
|
899
899
|
`No actions in "${AIActionStatus.APPLIED_PENDING_REVIEW}" state for input ID "${inputId}" to revert.`,
|
|
900
900
|
);
|
|
901
901
|
<span class="cstat-no" title="statement not covered" > return [];</span>
|
|
902
902
|
}
|
|
903
903
|
|
|
904
|
-
const results: ActionResult[] =
|
|
905
|
-
|
|
906
|
-
const revertedAction =
|
|
904
|
+
const results: ActionResult[] = [];
|
|
905
|
+
for (const action of actionsToRevert) {
|
|
906
|
+
const revertedAction = await this.aiActionsService.revertAction(
|
|
907
907
|
action.id,
|
|
908
908
|
);
|
|
909
|
-
|
|
909
|
+
results.push({
|
|
910
910
|
action_id: revertedAction.id,
|
|
911
911
|
status: revertedAction.status,
|
|
912
912
|
logs: revertedAction.executionLogs || [],
|
|
913
913
|
});
|
|
914
914
|
}
|
|
915
|
-
|
|
915
|
+
this.logger.log(
|
|
916
916
|
`Attempted to revert ${actionsToRevert.length} actions for input ID "${inputId}".`,
|
|
917
917
|
);
|
|
918
|
-
|
|
918
|
+
return results;
|
|
919
919
|
}
|
|
920
920
|
}
|
|
921
921
|
</pre></td></tr></table></pre>
|
|
@@ -925,7 +925,7 @@ export class <span class="cstat-no" title="statement not covered" ><span class="
|
|
|
925
925
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
926
926
|
Code coverage generated by
|
|
927
927
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
928
|
-
at 2025-
|
|
928
|
+
at 2025-09-12T19:21:55.945Z
|
|
929
929
|
</div>
|
|
930
930
|
<script src="../../prettify.js"></script>
|
|
931
931
|
<script>
|