@didim365/agent-cli-core 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +6 -2
- package/dist/docs/00_project/ai_adapter/01-overview.md +0 -172
- package/dist/docs/00_project/ai_adapter/02-architecture.md +0 -448
- package/dist/docs/00_project/ai_adapter/03-technical-design.md +0 -1470
- package/dist/docs/00_project/ai_adapter/04-integration-design.md +0 -1934
- package/dist/docs/00_project/ai_adapter/05-implementation-plan.md +0 -336
- package/dist/docs/00_project/ai_adapter/06-didiaistudio-plan.md +0 -559
- package/dist/docs/00_project/ai_adapter/README.md +0 -145
- package/dist/docs/00_project/ai_adapter/agent_service_openapi.json +0 -1
- package/dist/docs/00_project/ai_adapter/didimStudi-AISTUDIO /341/204/213/341/205/254/341/204/207/341/205/256 /341/204/211/341/205/245/341/204/207/341/205/265/341/204/211/341/205/263 /341/204/221/341/205/263/341/206/257/341/204/205/341/205/251/341/204/213/341/205/256 /341/204/213/341/205/247/341/206/253/341/204/200/341/205/247/341/206/257 /341/204/207/341/205/241/341/206/274/341/204/211/341/205/265/341/206/250-100226-093925.pdf +0 -0
- package/dist/docs/00_project/ai_adapter/event-mapping-matrix.md +0 -148
- package/dist/docs/00_project/ai_adapter/migration-plan.md +0 -205
- package/dist/docs/00_project/ai_adapter/template/00_vibecoding_workflow.md +0 -627
- package/dist/docs/00_project/ai_adapter/template/01_todolist_performance_template.md +0 -436
- package/dist/docs/00_project/ai_adapter/template/02_code_review_template.md +0 -248
- package/dist/docs/00_project/ai_adapter/template/03_work_result_report_template.md +0 -133
- package/dist/docs/00_project/ai_adapter/template/100_Python_Performance_Guide.md +0 -472
- package/dist/docs/00_project/ai_adapter/template/99_TDD_plan.md +0 -123
- package/dist/docs/00_project/ai_adapter/todolist/00_master_implementation_plan.md +0 -433
- package/dist/docs/00_project/ai_adapter/todolist/phase1_foundation_todolist.md +0 -726
- package/dist/docs/00_project/ai_adapter/todolist/phase2_core_refactoring_todolist.md +0 -974
- package/dist/docs/00_project/ai_adapter/todolist/phase3_handoff.md +0 -203
- package/dist/docs/00_project/ai_adapter/todolist/phase3_provider_extension_todolist.md +0 -1382
- package/dist/docs/00_project/ai_adapter/utility-migration.md +0 -237
- package/dist/docs/00_project/ai_adapter/working_history/.gitkeep +0 -0
- package/dist/docs/00_project/ai_adapter/working_history/Phase1_M1.0_/354/275/224/353/223/234/354/235/270/353/262/244/355/206/240/353/246/254_20260201.md +0 -197
- package/dist/docs/00_project/ai_adapter/working_history/Phase1_M1.1_/355/203/200/354/236/205/354/204/244/352/263/204_20260201.md +0 -185
- package/dist/docs/00_project/ai_adapter/working_history/Phase1_M1.2_Adapter/354/235/270/355/224/204/353/235/274_20260203.md +0 -378
- package/dist/docs/00_project/ai_adapter/working_history/Phase1_M1.3_Provider/354/204/240/355/203/235_20260206.md +0 -269
- package/dist/docs/00_project/ai_adapter/working_history/Phase1_M1.4_/354/234/240/355/213/270/353/246/254/355/213/260/353/247/210/354/235/264/352/267/270/353/240/210/354/235/264/354/205/230_20260206.md +0 -86
- package/dist/docs/00_project/ai_adapter/working_history/Phase2_ETC_/354/227/260/352/270/260/354/236/221/354/227/205/354/240/225/353/246/254_20260208.md +0 -157
- package/dist/docs/00_project/ai_adapter/working_history/Phase2_M2.0_/353/224/224/353/240/211/355/206/240/353/246/254/354/236/254/352/265/254/354/204/261_20260207.md +0 -107
- package/dist/docs/00_project/ai_adapter/working_history/Phase2_M2.1_ContentGenerator/354/235/270/355/204/260/355/216/230/354/235/264/354/212/244/354/236/254/354/240/225/354/235/230_20260207.md +0 -630
- package/dist/docs/00_project/ai_adapter/working_history/Phase2_M2.2_EventMapper/352/265/254/355/230/204_20260207.md +0 -372
- package/dist/docs/00_project/ai_adapter/working_history/Phase2_M2.3_GeminiAdapter/352/265/254/355/230/204_20260208.md +0 -205
- package/dist/docs/00_project/ai_adapter/working_history/Phase2_M2.4_ModelConfigService/355/230/270/355/231/230/353/240/210/354/235/264/354/226/264_20260208.md +0 -275
- package/dist/docs/00_project/ai_adapter/working_history/Phase2_M2.5_/354/234/240/355/213/270/353/246/254/355/213/260/353/240/210/354/235/264/354/226/264/353/246/254/355/214/251/355/206/240/353/247/201_20260208.md +0 -239
- package/dist/docs/00_project/ai_adapter/working_history/Phase2_M2.6_/353/235/274/354/232/260/355/214/205/353/240/210/354/235/264/354/226/264/355/203/200/354/236/205/353/217/205/353/246/275/355/231/224_20260208.md +0 -228
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_ETC_/352/270/260/353/263/270/354/273/250/355/205/215/354/212/244/355/212/270/355/214/214/354/235/274/353/252/205AGENTS/354/240/204/355/231/230_20260211.md +0 -470
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.0.1_Gemini/354/240/204/354/232/251/355/214/214/354/235/274/353/254/274/353/246/254/354/240/201/354/235/264/353/217/231_20260209.md +0 -271
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.0.2_messageInspectors/353/247/210/354/235/264/352/267/270/353/240/210/354/235/264/354/205/230_20260209.md +0 -330
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.0.3_/355/205/224/353/240/210/353/251/224/355/212/270/353/246/254Agent/353/217/205/353/246/275/355/231/224_20260209.md +0 -251
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.0.4_/353/263/200/355/231/230/353/270/214/353/246/277/354/247/200/354/240/225/353/246/254_20260209.md +0 -136
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.0.5_/353/237/260/355/203/200/354/236/204/354/213/244/355/226/211/352/262/275/353/241/234/354/227/260/352/262/260_20260209.md +0 -232
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.1.0_Claude/354/202/254/354/240/204/354/244/200/353/271/204_20260209.md +0 -191
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.1.1_ClaudeAdapter/352/265/254/355/230/204_20260209.md +0 -225
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.1.2_ClaudeConverter/352/263/240/353/217/204/355/231/224_20260209.md +0 -171
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.1.3_ClaudeStreamError/352/263/240/353/217/204/355/231/224_20260209.md +0 -198
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.1.4_ClaudeErrorMapping_20260209.md +0 -98
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.2.A_OpenAIAdapterCore_20260210.md +0 -264
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.2.B_OpenAIStreamConverter_20260210.md +0 -204
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.3.2_/353/252/250/353/215/270/355/205/234/355/224/214/353/246/277/355/233/205/353/263/264/354/231/204_20260211.md +0 -106
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.3_OpenAICompatibleAdapter_20260211.md +0 -251
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.4.2_E2E/355/205/214/354/212/244/355/212/270/354/213/234/353/202/230/353/246/254/354/230/244_20260210.md +0 -264
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.4.3_/354/204/261/353/212/245/355/232/214/352/267/200/355/205/214/354/212/244/355/212/270_20260211.md +0 -176
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.4.5_/354/225/210/354/240/225/355/231/224/354/236/221/354/227/205_20260211.md +0 -204
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.4.A_CLI/355/206/265/355/225/251_3Provider/355/206/265/355/225/251/355/205/214/354/212/244/355/212/270_20260210.md +0 -316
- package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.4.A_UI/354/203/201/355/203/234/353/260/224/354/210/230/354/240/225_20260210.md +0 -262
- package/dist/docs/00_project/ai_adapter/working_history/phase2_tradeoff_EventType/354/240/204/355/231/230_20260208.md +0 -286
- package/dist/docs/00_project/white_labeling/template/00_vibecoding_workflow.md +0 -627
- package/dist/docs/00_project/white_labeling/template/01_todolist_performance_template.md +0 -400
- package/dist/docs/00_project/white_labeling/template/02_code_review_template.md +0 -248
- package/dist/docs/00_project/white_labeling/template/03_work_result_report_template.md +0 -133
- package/dist/docs/00_project/white_labeling/template/100_Python_Performance_Guide.md +0 -472
- package/dist/docs/00_project/white_labeling/template/99_TDD_plan.md +0 -123
- package/dist/docs/00_project/white_labeling/todolist/Phase_CLI/355/214/250/355/202/244/354/247/200/353/252/205/353/263/200/352/262/275_todolist.md +0 -431
- package/dist/docs/00_project/white_labeling/working_history/Phase_CLI/355/214/250/355/202/244/354/247/200/353/252/205/353/263/200/352/262/275_20260214.md +0 -238
- package/dist/docs/00_project/white_labeling//354/225/261/352/265/254/354/241/260.md +0 -310
- package/dist/docs/CONTRIBUTING.md +0 -554
- package/dist/docs/ai_adapter/01-overview.md +0 -155
- package/dist/docs/ai_adapter/02-architecture.md +0 -452
- package/dist/docs/ai_adapter/03-technical-design.md +0 -1470
- package/dist/docs/ai_adapter/04-integration-design.md +0 -1904
- package/dist/docs/ai_adapter/05-implementation-plan.md +0 -312
- package/dist/docs/ai_adapter/06-didiaistudio-plan.md +0 -559
- package/dist/docs/ai_adapter/README.md +0 -118
- package/dist/docs/ai_adapter/agent_service_openapi.json +0 -1
- package/dist/docs/ai_adapter/didimStudi-AISTUDIO /341/204/213/341/205/254/341/204/207/341/205/256 /341/204/211/341/205/245/341/204/207/341/205/265/341/204/211/341/205/263 /341/204/221/341/205/263/341/206/257/341/204/205/341/205/251/341/204/213/341/205/256 /341/204/213/341/205/247/341/206/253/341/204/200/341/205/247/341/206/257 /341/204/207/341/205/241/341/206/274/341/204/211/341/205/265/341/206/250-100226-093925.pdf +0 -0
- package/dist/docs/ai_adapter/event-mapping-matrix.md +0 -140
- package/dist/docs/ai_adapter/migration-plan.md +0 -205
- package/dist/docs/ai_adapter/template/00_vibecoding_workflow.md +0 -636
- package/dist/docs/ai_adapter/template/01_todolist_performance_template.md +0 -372
- package/dist/docs/ai_adapter/template/02_code_review_template.md +0 -220
- package/dist/docs/ai_adapter/template/03_work_result_report_template.md +0 -120
- package/dist/docs/ai_adapter/template/100_Python_Performance_Guide.md +0 -453
- package/dist/docs/ai_adapter/template/99_TDD_plan.md +0 -111
- package/dist/docs/ai_adapter/todolist/00_master_implementation_plan.md +0 -433
- package/dist/docs/ai_adapter/todolist/phase1_foundation_todolist.md +0 -726
- package/dist/docs/ai_adapter/todolist/phase2_core_refactoring_todolist.md +0 -974
- package/dist/docs/ai_adapter/todolist/phase3_handoff.md +0 -203
- package/dist/docs/ai_adapter/todolist/phase3_provider_extension_todolist.md +0 -1382
- package/dist/docs/ai_adapter/utility-migration.md +0 -237
- package/dist/docs/ai_adapter/working_history/.gitkeep +0 -0
- package/dist/docs/ai_adapter/working_history/Phase1_M1.0_/354/275/224/353/223/234/354/235/270/353/262/244/355/206/240/353/246/254_20260201.md +0 -185
- package/dist/docs/ai_adapter/working_history/Phase1_M1.1_/355/203/200/354/236/205/354/204/244/352/263/204_20260201.md +0 -185
- package/dist/docs/ai_adapter/working_history/Phase1_M1.2_Adapter/354/235/270/355/224/204/353/235/274_20260203.md +0 -378
- package/dist/docs/ai_adapter/working_history/Phase1_M1.3_Provider/354/204/240/355/203/235_20260206.md +0 -269
- package/dist/docs/ai_adapter/working_history/Phase1_M1.4_/354/234/240/355/213/270/353/246/254/355/213/260/353/247/210/354/235/264/352/267/270/353/240/210/354/235/264/354/205/230_20260206.md +0 -86
- package/dist/docs/ai_adapter/working_history/Phase2_ETC_/354/227/260/352/270/260/354/236/221/354/227/205/354/240/225/353/246/254_20260208.md +0 -157
- package/dist/docs/ai_adapter/working_history/Phase2_M2.0_/353/224/224/353/240/211/355/206/240/353/246/254/354/236/254/352/265/254/354/204/261_20260207.md +0 -107
- package/dist/docs/ai_adapter/working_history/Phase2_M2.1_ContentGenerator/354/235/270/355/204/260/355/216/230/354/235/264/354/212/244/354/236/254/354/240/225/354/235/230_20260207.md +0 -630
- package/dist/docs/ai_adapter/working_history/Phase2_M2.2_EventMapper/352/265/254/355/230/204_20260207.md +0 -372
- package/dist/docs/ai_adapter/working_history/Phase2_M2.3_GeminiAdapter/352/265/254/355/230/204_20260208.md +0 -205
- package/dist/docs/ai_adapter/working_history/Phase2_M2.4_ModelConfigService/355/230/270/355/231/230/353/240/210/354/235/264/354/226/264_20260208.md +0 -275
- package/dist/docs/ai_adapter/working_history/Phase2_M2.5_/354/234/240/355/213/270/353/246/254/355/213/260/353/240/210/354/235/264/354/226/264/353/246/254/355/214/251/355/206/240/353/247/201_20260208.md +0 -239
- package/dist/docs/ai_adapter/working_history/Phase2_M2.6_/353/235/274/354/232/260/355/214/205/353/240/210/354/235/264/354/226/264/355/203/200/354/236/205/353/217/205/353/246/275/355/231/224_20260208.md +0 -228
- package/dist/docs/ai_adapter/working_history/Phase3_ETC_/352/270/260/353/263/270/354/273/250/355/205/215/354/212/244/355/212/270/355/214/214/354/235/274/353/252/205AGENTS/354/240/204/355/231/230_20260211.md +0 -367
- package/dist/docs/ai_adapter/working_history/Phase3_M3.0.1_Gemini/354/240/204/354/232/251/355/214/214/354/235/274/353/254/274/353/246/254/354/240/201/354/235/264/353/217/231_20260209.md +0 -271
- package/dist/docs/ai_adapter/working_history/Phase3_M3.0.2_messageInspectors/353/247/210/354/235/264/352/267/270/353/240/210/354/235/264/354/205/230_20260209.md +0 -330
- package/dist/docs/ai_adapter/working_history/Phase3_M3.0.3_/355/205/224/353/240/210/353/251/224/355/212/270/353/246/254Agent/353/217/205/353/246/275/355/231/224_20260209.md +0 -251
- package/dist/docs/ai_adapter/working_history/Phase3_M3.0.4_/353/263/200/355/231/230/353/270/214/353/246/277/354/247/200/354/240/225/353/246/254_20260209.md +0 -136
- package/dist/docs/ai_adapter/working_history/Phase3_M3.0.5_/353/237/260/355/203/200/354/236/204/354/213/244/355/226/211/352/262/275/353/241/234/354/227/260/352/262/260_20260209.md +0 -232
- package/dist/docs/ai_adapter/working_history/Phase3_M3.1.0_Claude/354/202/254/354/240/204/354/244/200/353/271/204_20260209.md +0 -191
- package/dist/docs/ai_adapter/working_history/Phase3_M3.1.1_ClaudeAdapter/352/265/254/355/230/204_20260209.md +0 -225
- package/dist/docs/ai_adapter/working_history/Phase3_M3.1.2_ClaudeConverter/352/263/240/353/217/204/355/231/224_20260209.md +0 -171
- package/dist/docs/ai_adapter/working_history/Phase3_M3.1.3_ClaudeStreamError/352/263/240/353/217/204/355/231/224_20260209.md +0 -198
- package/dist/docs/ai_adapter/working_history/Phase3_M3.1.4_ClaudeErrorMapping_20260209.md +0 -98
- package/dist/docs/ai_adapter/working_history/Phase3_M3.2.A_OpenAIAdapterCore_20260210.md +0 -264
- package/dist/docs/ai_adapter/working_history/Phase3_M3.2.B_OpenAIStreamConverter_20260210.md +0 -204
- package/dist/docs/ai_adapter/working_history/Phase3_M3.3.2_/353/252/250/353/215/270/355/205/234/355/224/214/353/246/277/355/233/205/353/263/264/354/231/204_20260211.md +0 -106
- package/dist/docs/ai_adapter/working_history/Phase3_M3.3_OpenAICompatibleAdapter_20260211.md +0 -251
- package/dist/docs/ai_adapter/working_history/Phase3_M3.4.2_E2E/355/205/214/354/212/244/355/212/270/354/213/234/353/202/230/353/246/254/354/230/244_20260210.md +0 -264
- package/dist/docs/ai_adapter/working_history/Phase3_M3.4.3_/354/204/261/353/212/245/355/232/214/352/267/200/355/205/214/354/212/244/355/212/270_20260211.md +0 -176
- package/dist/docs/ai_adapter/working_history/Phase3_M3.4.5_/354/225/210/354/240/225/355/231/224/354/236/221/354/227/205_20260211.md +0 -204
- package/dist/docs/ai_adapter/working_history/Phase3_M3.4.A_CLI/355/206/265/355/225/251_3Provider/355/206/265/355/225/251/355/205/214/354/212/244/355/212/270_20260210.md +0 -316
- package/dist/docs/ai_adapter/working_history/Phase3_M3.4.A_UI/354/203/201/355/203/234/353/260/224/354/210/230/354/240/225_20260210.md +0 -262
- package/dist/docs/ai_adapter/working_history/phase2_tradeoff_EventType/354/240/204/355/231/230_20260208.md +0 -286
- package/dist/docs/api/index.md +0 -5
- package/dist/docs/api/providers.md +0 -56
- package/dist/docs/architecture.md +0 -80
- package/dist/docs/assets/connected_devtools.png +0 -0
- package/dist/docs/assets/gemini-screenshot.png +0 -0
- package/dist/docs/assets/monitoring-dashboard-logs.png +0 -0
- package/dist/docs/assets/monitoring-dashboard-metrics.png +0 -0
- package/dist/docs/assets/monitoring-dashboard-overview.png +0 -0
- package/dist/docs/assets/release_patch.png +0 -0
- package/dist/docs/assets/theme-ansi-light.png +0 -0
- package/dist/docs/assets/theme-ansi.png +0 -0
- package/dist/docs/assets/theme-atom-one.png +0 -0
- package/dist/docs/assets/theme-ayu-light.png +0 -0
- package/dist/docs/assets/theme-ayu.png +0 -0
- package/dist/docs/assets/theme-custom.png +0 -0
- package/dist/docs/assets/theme-default-light.png +0 -0
- package/dist/docs/assets/theme-default.png +0 -0
- package/dist/docs/assets/theme-dracula.png +0 -0
- package/dist/docs/assets/theme-github-light.png +0 -0
- package/dist/docs/assets/theme-github.png +0 -0
- package/dist/docs/assets/theme-google-light.png +0 -0
- package/dist/docs/assets/theme-xcode-light.png +0 -0
- package/dist/docs/change_model/model_command_multi_provider_plan.md +0 -221
- package/dist/docs/change_model/model_command_multi_provider_todolist.md +0 -206
- package/dist/docs/changelogs/index.md +0 -726
- package/dist/docs/changelogs/latest.md +0 -370
- package/dist/docs/changelogs/preview.md +0 -332
- package/dist/docs/cli/authentication.md +0 -3
- package/dist/docs/cli/checkpointing.md +0 -94
- package/dist/docs/cli/commands.md +0 -375
- package/dist/docs/cli/custom-commands.md +0 -315
- package/dist/docs/cli/enterprise.md +0 -565
- package/dist/docs/cli/gemini-ignore.md +0 -71
- package/dist/docs/cli/gemini-md.md +0 -108
- package/dist/docs/cli/generation-settings.md +0 -210
- package/dist/docs/cli/headless.md +0 -388
- package/dist/docs/cli/index.md +0 -65
- package/dist/docs/cli/keyboard-shortcuts.md +0 -129
- package/dist/docs/cli/model-routing.md +0 -42
- package/dist/docs/cli/model.md +0 -62
- package/dist/docs/cli/sandbox.md +0 -171
- package/dist/docs/cli/session-management.md +0 -158
- package/dist/docs/cli/settings.md +0 -130
- package/dist/docs/cli/skills.md +0 -188
- package/dist/docs/cli/system-prompt.md +0 -125
- package/dist/docs/cli/telemetry.md +0 -826
- package/dist/docs/cli/themes.md +0 -235
- package/dist/docs/cli/token-caching.md +0 -20
- package/dist/docs/cli/trusted-folders.md +0 -95
- package/dist/docs/cli/tutorials/skills-getting-started.md +0 -124
- package/dist/docs/cli/tutorials.md +0 -87
- package/dist/docs/cli/uninstall.md +0 -65
- package/dist/docs/configuration.md +0 -108
- package/dist/docs/core/index.md +0 -105
- package/dist/docs/core/long-term-memory-design.md +0 -254
- package/dist/docs/core/long-term-memory-proposal.md +0 -112
- package/dist/docs/core/memport.md +0 -246
- package/dist/docs/core/policy-engine.md +0 -300
- package/dist/docs/core/tools-api.md +0 -131
- package/dist/docs/examples/proxy-script.md +0 -83
- package/dist/docs/extensions/best-practices.md +0 -139
- package/dist/docs/extensions/index.md +0 -44
- package/dist/docs/extensions/reference.md +0 -312
- package/dist/docs/extensions/releasing.md +0 -183
- package/dist/docs/extensions/writing-extensions.md +0 -283
- package/dist/docs/faq.md +0 -154
- package/dist/docs/get-started/authentication.md +0 -321
- package/dist/docs/get-started/configuration-v1.md +0 -888
- package/dist/docs/get-started/configuration.md +0 -1567
- package/dist/docs/get-started/examples.md +0 -219
- package/dist/docs/get-started/gemini-3.md +0 -101
- package/dist/docs/get-started/index.md +0 -71
- package/dist/docs/get-started/installation.md +0 -141
- package/dist/docs/hooks/best-practices.md +0 -677
- package/dist/docs/hooks/index.md +0 -178
- package/dist/docs/hooks/reference.md +0 -322
- package/dist/docs/hooks/writing-hooks.md +0 -450
- package/dist/docs/ide-integration/ide-companion-spec.md +0 -267
- package/dist/docs/ide-integration/index.md +0 -202
- package/dist/docs/index.md +0 -153
- package/dist/docs/integration-tests.md +0 -211
- package/dist/docs/issue-and-pr-automation.md +0 -134
- package/dist/docs/local-development.md +0 -128
- package/dist/docs/mermaid/context.mmd +0 -103
- package/dist/docs/mermaid/render-path.mmd +0 -64
- package/dist/docs/migration.md +0 -78
- package/dist/docs/npm.md +0 -62
- package/dist/docs/providers.md +0 -136
- package/dist/docs/quota-and-pricing.md +0 -158
- package/dist/docs/release-confidence.md +0 -164
- package/dist/docs/releases.md +0 -539
- package/dist/docs/sidebar.json +0 -140
- package/dist/docs/tools/file-system.md +0 -217
- package/dist/docs/tools/index.md +0 -98
- package/dist/docs/tools/mcp-server.md +0 -1068
- package/dist/docs/tools/memory.md +0 -54
- package/dist/docs/tools/shell.md +0 -260
- package/dist/docs/tools/todos.md +0 -57
- package/dist/docs/tools/web-fetch.md +0 -59
- package/dist/docs/tools/web-search.md +0 -42
- package/dist/docs/tos-privacy.md +0 -96
- package/dist/docs/troubleshooting.md +0 -173
- package/dist/src/agents/a2a-client-manager.test.d.ts +0 -6
- package/dist/src/agents/a2a-client-manager.test.js +0 -220
- package/dist/src/agents/a2a-client-manager.test.js.map +0 -1
- package/dist/src/agents/a2aUtils.test.d.ts +0 -6
- package/dist/src/agents/a2aUtils.test.js +0 -147
- package/dist/src/agents/a2aUtils.test.js.map +0 -1
- package/dist/src/agents/acknowledgedAgents.test.d.ts +0 -6
- package/dist/src/agents/acknowledgedAgents.test.js +0 -70
- package/dist/src/agents/acknowledgedAgents.test.js.map +0 -1
- package/dist/src/agents/agent-scheduler.test.d.ts +0 -6
- package/dist/src/agents/agent-scheduler.test.js +0 -56
- package/dist/src/agents/agent-scheduler.test.js.map +0 -1
- package/dist/src/agents/agentLoader.test.d.ts +0 -6
- package/dist/src/agents/agentLoader.test.js +0 -304
- package/dist/src/agents/agentLoader.test.js.map +0 -1
- package/dist/src/agents/cli-help-agent.test.d.ts +0 -6
- package/dist/src/agents/cli-help-agent.test.js +0 -67
- package/dist/src/agents/cli-help-agent.test.js.map +0 -1
- package/dist/src/agents/codebase-investigator.test.d.ts +0 -6
- package/dist/src/agents/codebase-investigator.test.js +0 -42
- package/dist/src/agents/codebase-investigator.test.js.map +0 -1
- package/dist/src/agents/generalist-agent.test.d.ts +0 -6
- package/dist/src/agents/generalist-agent.test.js +0 -31
- package/dist/src/agents/generalist-agent.test.js.map +0 -1
- package/dist/src/agents/local-executor.test.d.ts +0 -6
- package/dist/src/agents/local-executor.test.js +0 -1577
- package/dist/src/agents/local-executor.test.js.map +0 -1
- package/dist/src/agents/local-invocation.test.d.ts +0 -6
- package/dist/src/agents/local-invocation.test.js +0 -228
- package/dist/src/agents/local-invocation.test.js.map +0 -1
- package/dist/src/agents/registry.test.d.ts +0 -6
- package/dist/src/agents/registry.test.js +0 -773
- package/dist/src/agents/registry.test.js.map +0 -1
- package/dist/src/agents/registry_acknowledgement.test.d.ts +0 -6
- package/dist/src/agents/registry_acknowledgement.test.js +0 -130
- package/dist/src/agents/registry_acknowledgement.test.js.map +0 -1
- package/dist/src/agents/remote-invocation.test.d.ts +0 -6
- package/dist/src/agents/remote-invocation.test.js +0 -213
- package/dist/src/agents/remote-invocation.test.js.map +0 -1
- package/dist/src/agents/subagent-tool-wrapper.test.d.ts +0 -6
- package/dist/src/agents/subagent-tool-wrapper.test.js +0 -109
- package/dist/src/agents/subagent-tool-wrapper.test.js.map +0 -1
- package/dist/src/agents/utils.test.d.ts +0 -6
- package/dist/src/agents/utils.test.js +0 -87
- package/dist/src/agents/utils.test.js.map +0 -1
- package/dist/src/availability/fallbackIntegration.test.d.ts +0 -6
- package/dist/src/availability/fallbackIntegration.test.js +0 -58
- package/dist/src/availability/fallbackIntegration.test.js.map +0 -1
- package/dist/src/availability/modelAvailabilityService.test.d.ts +0 -6
- package/dist/src/availability/modelAvailabilityService.test.js +0 -140
- package/dist/src/availability/modelAvailabilityService.test.js.map +0 -1
- package/dist/src/availability/policyCatalog.test.d.ts +0 -6
- package/dist/src/availability/policyCatalog.test.js +0 -70
- package/dist/src/availability/policyCatalog.test.js.map +0 -1
- package/dist/src/availability/policyHelpers.test.d.ts +0 -6
- package/dist/src/availability/policyHelpers.test.js +0 -220
- package/dist/src/availability/policyHelpers.test.js.map +0 -1
- package/dist/src/code_assist/admin/admin_controls.test.d.ts +0 -6
- package/dist/src/code_assist/admin/admin_controls.test.js +0 -200
- package/dist/src/code_assist/admin/admin_controls.test.js.map +0 -1
- package/dist/src/code_assist/codeAssist.test.d.ts +0 -6
- package/dist/src/code_assist/codeAssist.test.js +0 -102
- package/dist/src/code_assist/codeAssist.test.js.map +0 -1
- package/dist/src/code_assist/converter.test.d.ts +0 -6
- package/dist/src/code_assist/converter.test.js +0 -391
- package/dist/src/code_assist/converter.test.js.map +0 -1
- package/dist/src/code_assist/experiments/client_metadata.test.d.ts +0 -6
- package/dist/src/code_assist/experiments/client_metadata.test.js +0 -96
- package/dist/src/code_assist/experiments/client_metadata.test.js.map +0 -1
- package/dist/src/code_assist/experiments/experiments.test.d.ts +0 -6
- package/dist/src/code_assist/experiments/experiments.test.js +0 -93
- package/dist/src/code_assist/experiments/experiments.test.js.map +0 -1
- package/dist/src/code_assist/experiments/experiments_local.test.d.ts +0 -6
- package/dist/src/code_assist/experiments/experiments_local.test.js +0 -115
- package/dist/src/code_assist/experiments/experiments_local.test.js.map +0 -1
- package/dist/src/code_assist/oauth-credential-storage.test.d.ts +0 -6
- package/dist/src/code_assist/oauth-credential-storage.test.js +0 -198
- package/dist/src/code_assist/oauth-credential-storage.test.js.map +0 -1
- package/dist/src/code_assist/oauth2.test.d.ts +0 -6
- package/dist/src/code_assist/oauth2.test.js +0 -1065
- package/dist/src/code_assist/oauth2.test.js.map +0 -1
- package/dist/src/code_assist/server.test.d.ts +0 -6
- package/dist/src/code_assist/server.test.js +0 -453
- package/dist/src/code_assist/server.test.js.map +0 -1
- package/dist/src/code_assist/setup.test.d.ts +0 -6
- package/dist/src/code_assist/setup.test.js +0 -517
- package/dist/src/code_assist/setup.test.js.map +0 -1
- package/dist/src/code_assist/telemetry.test.d.ts +0 -6
- package/dist/src/code_assist/telemetry.test.js +0 -301
- package/dist/src/code_assist/telemetry.test.js.map +0 -1
- package/dist/src/commands/extensions.test.d.ts +0 -6
- package/dist/src/commands/extensions.test.js +0 -19
- package/dist/src/commands/extensions.test.js.map +0 -1
- package/dist/src/commands/init.test.d.ts +0 -6
- package/dist/src/commands/init.test.js +0 -25
- package/dist/src/commands/init.test.js.map +0 -1
- package/dist/src/commands/memory.test.d.ts +0 -6
- package/dist/src/commands/memory.test.js +0 -182
- package/dist/src/commands/memory.test.js.map +0 -1
- package/dist/src/commands/restore.test.d.ts +0 -6
- package/dist/src/commands/restore.test.js +0 -137
- package/dist/src/commands/restore.test.js.map +0 -1
- package/dist/src/config/config.test.d.ts +0 -6
- package/dist/src/config/config.test.js +0 -1811
- package/dist/src/config/config.test.js.map +0 -1
- package/dist/src/config/flashFallback.test.d.ts +0 -6
- package/dist/src/config/flashFallback.test.js +0 -63
- package/dist/src/config/flashFallback.test.js.map +0 -1
- package/dist/src/config/models.test.d.ts +0 -6
- package/dist/src/config/models.test.js +0 -146
- package/dist/src/config/models.test.js.map +0 -1
- package/dist/src/config/storage.test.d.ts +0 -6
- package/dist/src/config/storage.test.js +0 -115
- package/dist/src/config/storage.test.js.map +0 -1
- package/dist/src/confirmation-bus/message-bus.test.d.ts +0 -6
- package/dist/src/confirmation-bus/message-bus.test.js +0 -170
- package/dist/src/confirmation-bus/message-bus.test.js.map +0 -1
- package/dist/src/core/apiKeyCredentialStorage.test.d.ts +0 -6
- package/dist/src/core/apiKeyCredentialStorage.test.js +0 -71
- package/dist/src/core/apiKeyCredentialStorage.test.js.map +0 -1
- package/dist/src/core/baseLlmClient.test.d.ts +0 -6
- package/dist/src/core/baseLlmClient.test.js +0 -569
- package/dist/src/core/baseLlmClient.test.js.map +0 -1
- package/dist/src/core/baseLlmClient_new_types.test.d.ts +0 -1
- package/dist/src/core/baseLlmClient_new_types.test.js +0 -387
- package/dist/src/core/baseLlmClient_new_types.test.js.map +0 -1
- package/dist/src/core/client.test.d.ts +0 -6
- package/dist/src/core/client.test.js +0 -2654
- package/dist/src/core/client.test.js.map +0 -1
- package/dist/src/core/contentGenerator.multiProvider.test.d.ts +0 -6
- package/dist/src/core/contentGenerator.multiProvider.test.js +0 -314
- package/dist/src/core/contentGenerator.multiProvider.test.js.map +0 -1
- package/dist/src/core/contentGenerator.test.d.ts +0 -6
- package/dist/src/core/contentGenerator.test.js +0 -299
- package/dist/src/core/contentGenerator.test.js.map +0 -1
- package/dist/src/core/contentGenerator_new_types.test.d.ts +0 -6
- package/dist/src/core/contentGenerator_new_types.test.js +0 -292
- package/dist/src/core/contentGenerator_new_types.test.js.map +0 -1
- package/dist/src/core/coreToolHookTriggers.test.d.ts +0 -6
- package/dist/src/core/coreToolHookTriggers.test.js +0 -159
- package/dist/src/core/coreToolHookTriggers.test.js.map +0 -1
- package/dist/src/core/coreToolScheduler.test.d.ts +0 -6
- package/dist/src/core/coreToolScheduler.test.js +0 -1684
- package/dist/src/core/coreToolScheduler.test.js.map +0 -1
- package/dist/src/core/fakeContentGenerator.test.d.ts +0 -6
- package/dist/src/core/fakeContentGenerator.test.js +0 -127
- package/dist/src/core/fakeContentGenerator.test.js.map +0 -1
- package/dist/src/core/geminiChat.test.d.ts +0 -6
- package/dist/src/core/geminiChat.test.js +0 -1773
- package/dist/src/core/geminiChat.test.js.map +0 -1
- package/dist/src/core/geminiChat_network_retry.test.d.ts +0 -6
- package/dist/src/core/geminiChat_network_retry.test.js +0 -201
- package/dist/src/core/geminiChat_network_retry.test.js.map +0 -1
- package/dist/src/core/logger.test.d.ts +0 -6
- package/dist/src/core/logger.test.js +0 -550
- package/dist/src/core/logger.test.js.map +0 -1
- package/dist/src/core/loggingContentGenerator.test.d.ts +0 -6
- package/dist/src/core/loggingContentGenerator.test.js +0 -221
- package/dist/src/core/loggingContentGenerator.test.js.map +0 -1
- package/dist/src/core/prompts-substitution.test.d.ts +0 -6
- package/dist/src/core/prompts-substitution.test.js +0 -101
- package/dist/src/core/prompts-substitution.test.js.map +0 -1
- package/dist/src/core/prompts.test.d.ts +0 -6
- package/dist/src/core/prompts.test.js +0 -391
- package/dist/src/core/prompts.test.js.map +0 -1
- package/dist/src/core/recordingContentGenerator.test.d.ts +0 -6
- package/dist/src/core/recordingContentGenerator.test.js +0 -101
- package/dist/src/core/recordingContentGenerator.test.js.map +0 -1
- package/dist/src/core/tokenLimits.test.d.ts +0 -6
- package/dist/src/core/tokenLimits.test.js +0 -30
- package/dist/src/core/tokenLimits.test.js.map +0 -1
- package/dist/src/core/turn.test.d.ts +0 -6
- package/dist/src/core/turn.test.js +0 -739
- package/dist/src/core/turn.test.js.map +0 -1
- package/dist/src/fallback/handler.test.d.ts +0 -6
- package/dist/src/fallback/handler.test.js +0 -242
- package/dist/src/fallback/handler.test.js.map +0 -1
- package/dist/src/hooks/hookAggregator.test.d.ts +0 -6
- package/dist/src/hooks/hookAggregator.test.js +0 -387
- package/dist/src/hooks/hookAggregator.test.js.map +0 -1
- package/dist/src/hooks/hookEventHandler.test.d.ts +0 -6
- package/dist/src/hooks/hookEventHandler.test.js +0 -603
- package/dist/src/hooks/hookEventHandler.test.js.map +0 -1
- package/dist/src/hooks/hookPlanner.test.d.ts +0 -6
- package/dist/src/hooks/hookPlanner.test.js +0 -315
- package/dist/src/hooks/hookPlanner.test.js.map +0 -1
- package/dist/src/hooks/hookRegistry.test.d.ts +0 -6
- package/dist/src/hooks/hookRegistry.test.js +0 -529
- package/dist/src/hooks/hookRegistry.test.js.map +0 -1
- package/dist/src/hooks/hookRunner.test.d.ts +0 -6
- package/dist/src/hooks/hookRunner.test.js +0 -606
- package/dist/src/hooks/hookRunner.test.js.map +0 -1
- package/dist/src/hooks/hookSystem.test.d.ts +0 -6
- package/dist/src/hooks/hookSystem.test.js +0 -330
- package/dist/src/hooks/hookSystem.test.js.map +0 -1
- package/dist/src/hooks/hookSystem_new_types.test.d.ts +0 -6
- package/dist/src/hooks/hookSystem_new_types.test.js +0 -243
- package/dist/src/hooks/hookSystem_new_types.test.js.map +0 -1
- package/dist/src/hooks/hookTranslator.test.d.ts +0 -6
- package/dist/src/hooks/hookTranslator.test.js +0 -192
- package/dist/src/hooks/hookTranslator.test.js.map +0 -1
- package/dist/src/hooks/trustedHooks.test.d.ts +0 -6
- package/dist/src/hooks/trustedHooks.test.js +0 -154
- package/dist/src/hooks/trustedHooks.test.js.map +0 -1
- package/dist/src/hooks/types.test.d.ts +0 -6
- package/dist/src/hooks/types.test.js +0 -278
- package/dist/src/hooks/types.test.js.map +0 -1
- package/dist/src/ide/detect-ide.test.d.ts +0 -6
- package/dist/src/ide/detect-ide.test.js +0 -195
- package/dist/src/ide/detect-ide.test.js.map +0 -1
- package/dist/src/ide/ide-client.test.d.ts +0 -6
- package/dist/src/ide/ide-client.test.js +0 -753
- package/dist/src/ide/ide-client.test.js.map +0 -1
- package/dist/src/ide/ide-installer.test.d.ts +0 -6
- package/dist/src/ide/ide-installer.test.js +0 -193
- package/dist/src/ide/ide-installer.test.js.map +0 -1
- package/dist/src/ide/ideContext.test.d.ts +0 -6
- package/dist/src/ide/ideContext.test.js +0 -393
- package/dist/src/ide/ideContext.test.js.map +0 -1
- package/dist/src/ide/process-utils.test.d.ts +0 -6
- package/dist/src/ide/process-utils.test.js +0 -151
- package/dist/src/ide/process-utils.test.js.map +0 -1
- package/dist/src/index.test.d.ts +0 -6
- package/dist/src/index.test.js +0 -53
- package/dist/src/index.test.js.map +0 -1
- package/dist/src/mcp/google-auth-provider.test.d.ts +0 -6
- package/dist/src/mcp/google-auth-provider.test.js +0 -167
- package/dist/src/mcp/google-auth-provider.test.js.map +0 -1
- package/dist/src/mcp/oauth-provider.test.d.ts +0 -6
- package/dist/src/mcp/oauth-provider.test.js +0 -1355
- package/dist/src/mcp/oauth-provider.test.js.map +0 -1
- package/dist/src/mcp/oauth-token-storage.test.d.ts +0 -6
- package/dist/src/mcp/oauth-token-storage.test.js +0 -305
- package/dist/src/mcp/oauth-token-storage.test.js.map +0 -1
- package/dist/src/mcp/oauth-utils.test.d.ts +0 -6
- package/dist/src/mcp/oauth-utils.test.js +0 -289
- package/dist/src/mcp/oauth-utils.test.js.map +0 -1
- package/dist/src/mcp/sa-impersonation-provider.test.d.ts +0 -6
- package/dist/src/mcp/sa-impersonation-provider.test.js +0 -117
- package/dist/src/mcp/sa-impersonation-provider.test.js.map +0 -1
- package/dist/src/mcp/token-storage/base-token-storage.test.d.ts +0 -6
- package/dist/src/mcp/token-storage/base-token-storage.test.js +0 -151
- package/dist/src/mcp/token-storage/base-token-storage.test.js.map +0 -1
- package/dist/src/mcp/token-storage/file-token-storage.test.d.ts +0 -6
- package/dist/src/mcp/token-storage/file-token-storage.test.js +0 -238
- package/dist/src/mcp/token-storage/file-token-storage.test.js.map +0 -1
- package/dist/src/mcp/token-storage/hybrid-token-storage.test.d.ts +0 -6
- package/dist/src/mcp/token-storage/hybrid-token-storage.test.js +0 -193
- package/dist/src/mcp/token-storage/hybrid-token-storage.test.js.map +0 -1
- package/dist/src/mcp/token-storage/keychain-token-storage.test.d.ts +0 -6
- package/dist/src/mcp/token-storage/keychain-token-storage.test.js +0 -305
- package/dist/src/mcp/token-storage/keychain-token-storage.test.js.map +0 -1
- package/dist/src/output/json-formatter.test.d.ts +0 -6
- package/dist/src/output/json-formatter.test.js +0 -294
- package/dist/src/output/json-formatter.test.js.map +0 -1
- package/dist/src/output/stream-json-formatter.test.d.ts +0 -6
- package/dist/src/output/stream-json-formatter.test.js +0 -477
- package/dist/src/output/stream-json-formatter.test.js.map +0 -1
- package/dist/src/policy/config.test.d.ts +0 -6
- package/dist/src/policy/config.test.js +0 -598
- package/dist/src/policy/config.test.js.map +0 -1
- package/dist/src/policy/persistence.test.d.ts +0 -6
- package/dist/src/policy/persistence.test.js +0 -154
- package/dist/src/policy/persistence.test.js.map +0 -1
- package/dist/src/policy/policy-engine.test.d.ts +0 -6
- package/dist/src/policy/policy-engine.test.js +0 -1299
- package/dist/src/policy/policy-engine.test.js.map +0 -1
- package/dist/src/policy/policy-updater.test.d.ts +0 -6
- package/dist/src/policy/policy-updater.test.js +0 -116
- package/dist/src/policy/policy-updater.test.js.map +0 -1
- package/dist/src/policy/shell-safety.test.d.ts +0 -6
- package/dist/src/policy/shell-safety.test.js +0 -438
- package/dist/src/policy/shell-safety.test.js.map +0 -1
- package/dist/src/policy/toml-loader.test.d.ts +0 -6
- package/dist/src/policy/toml-loader.test.js +0 -409
- package/dist/src/policy/toml-loader.test.js.map +0 -1
- package/dist/src/policy/utils.test.d.ts +0 -6
- package/dist/src/policy/utils.test.js +0 -92
- package/dist/src/policy/utils.test.js.map +0 -1
- package/dist/src/prompts/mcp-prompts.test.d.ts +0 -6
- package/dist/src/prompts/mcp-prompts.test.js +0 -39
- package/dist/src/prompts/mcp-prompts.test.js.map +0 -1
- package/dist/src/prompts/prompt-registry.test.d.ts +0 -6
- package/dist/src/prompts/prompt-registry.test.js +0 -96
- package/dist/src/prompts/prompt-registry.test.js.map +0 -1
- package/dist/src/providers/__tests__/bundleSize.test.d.ts +0 -6
- package/dist/src/providers/__tests__/bundleSize.test.js +0 -75
- package/dist/src/providers/__tests__/bundleSize.test.js.map +0 -1
- package/dist/src/providers/__tests__/errorHandling.integration.test.d.ts +0 -6
- package/dist/src/providers/__tests__/errorHandling.integration.test.js +0 -339
- package/dist/src/providers/__tests__/errorHandling.integration.test.js.map +0 -1
- package/dist/src/providers/__tests__/multiProvider.integration.test.d.ts +0 -6
- package/dist/src/providers/__tests__/multiProvider.integration.test.js +0 -419
- package/dist/src/providers/__tests__/multiProvider.integration.test.js.map +0 -1
- package/dist/src/providers/__tests__/performance.test.d.ts +0 -6
- package/dist/src/providers/__tests__/performance.test.js +0 -270
- package/dist/src/providers/__tests__/performance.test.js.map +0 -1
- package/dist/src/providers/__tests__/providerConfigIntegration.test.d.ts +0 -6
- package/dist/src/providers/__tests__/providerConfigIntegration.test.js +0 -245
- package/dist/src/providers/__tests__/providerConfigIntegration.test.js.map +0 -1
- package/dist/src/providers/baseAdapter.test.d.ts +0 -1
- package/dist/src/providers/baseAdapter.test.js +0 -142
- package/dist/src/providers/baseAdapter.test.js.map +0 -1
- package/dist/src/providers/claude/adapter.test.d.ts +0 -6
- package/dist/src/providers/claude/adapter.test.js +0 -628
- package/dist/src/providers/claude/adapter.test.js.map +0 -1
- package/dist/src/providers/claude/bootstrap.test.d.ts +0 -6
- package/dist/src/providers/claude/bootstrap.test.js +0 -74
- package/dist/src/providers/claude/bootstrap.test.js.map +0 -1
- package/dist/src/providers/claude/converter.test.d.ts +0 -6
- package/dist/src/providers/claude/converter.test.js +0 -1002
- package/dist/src/providers/claude/converter.test.js.map +0 -1
- package/dist/src/providers/claude/exports.test.d.ts +0 -6
- package/dist/src/providers/claude/exports.test.js +0 -40
- package/dist/src/providers/claude/exports.test.js.map +0 -1
- package/dist/src/providers/configAdapter.test.d.ts +0 -1
- package/dist/src/providers/configAdapter.test.js +0 -150
- package/dist/src/providers/configAdapter.test.js.map +0 -1
- package/dist/src/providers/contentResolver.test.d.ts +0 -1
- package/dist/src/providers/contentResolver.test.js +0 -89
- package/dist/src/providers/contentResolver.test.js.map +0 -1
- package/dist/src/providers/factory.test.d.ts +0 -1
- package/dist/src/providers/factory.test.js +0 -151
- package/dist/src/providers/factory.test.js.map +0 -1
- package/dist/src/providers/gemini/adapterBridge.test.d.ts +0 -6
- package/dist/src/providers/gemini/adapterBridge.test.js +0 -164
- package/dist/src/providers/gemini/adapterBridge.test.js.map +0 -1
- package/dist/src/providers/gemini/bootstrap.test.d.ts +0 -6
- package/dist/src/providers/gemini/bootstrap.test.js +0 -72
- package/dist/src/providers/gemini/bootstrap.test.js.map +0 -1
- package/dist/src/providers/gemini/configConverter.test.d.ts +0 -6
- package/dist/src/providers/gemini/configConverter.test.js +0 -218
- package/dist/src/providers/gemini/configConverter.test.js.map +0 -1
- package/dist/src/providers/gemini/errorClassifier.test.d.ts +0 -6
- package/dist/src/providers/gemini/errorClassifier.test.js +0 -83
- package/dist/src/providers/gemini/errorClassifier.test.js.map +0 -1
- package/dist/src/providers/gemini/eventMapper.test.d.ts +0 -6
- package/dist/src/providers/gemini/eventMapper.test.js +0 -502
- package/dist/src/providers/gemini/eventMapper.test.js.map +0 -1
- package/dist/src/providers/gemini/exports.test.d.ts +0 -6
- package/dist/src/providers/gemini/exports.test.js +0 -90
- package/dist/src/providers/gemini/exports.test.js.map +0 -1
- package/dist/src/providers/gemini/featureFlag.test.d.ts +0 -6
- package/dist/src/providers/gemini/featureFlag.test.js +0 -139
- package/dist/src/providers/gemini/featureFlag.test.js.map +0 -1
- package/dist/src/providers/gemini/geminiAdapter.test.d.ts +0 -6
- package/dist/src/providers/gemini/geminiAdapter.test.js +0 -279
- package/dist/src/providers/gemini/geminiAdapter.test.js.map +0 -1
- package/dist/src/providers/gemini/geminiConverter.test.d.ts +0 -6
- package/dist/src/providers/gemini/geminiConverter.test.js +0 -474
- package/dist/src/providers/gemini/geminiConverter.test.js.map +0 -1
- package/dist/src/providers/gemini/geminiParity.test.d.ts +0 -6
- package/dist/src/providers/gemini/geminiParity.test.js +0 -754
- package/dist/src/providers/gemini/geminiParity.test.js.map +0 -1
- package/dist/src/providers/gemini/geminiStream.test.d.ts +0 -6
- package/dist/src/providers/gemini/geminiStream.test.js +0 -391
- package/dist/src/providers/gemini/geminiStream.test.js.map +0 -1
- package/dist/src/providers/gemini/historyBuilder.test.d.ts +0 -6
- package/dist/src/providers/gemini/historyBuilder.test.js +0 -207
- package/dist/src/providers/gemini/historyBuilder.test.js.map +0 -1
- package/dist/src/providers/gemini/requestBuilder.test.d.ts +0 -6
- package/dist/src/providers/gemini/requestBuilder.test.js +0 -358
- package/dist/src/providers/gemini/requestBuilder.test.js.map +0 -1
- package/dist/src/providers/gemini/streamConverter.test.d.ts +0 -6
- package/dist/src/providers/gemini/streamConverter.test.js +0 -131
- package/dist/src/providers/gemini/streamConverter.test.js.map +0 -1
- package/dist/src/providers/modelSpec.test.d.ts +0 -1
- package/dist/src/providers/modelSpec.test.js +0 -119
- package/dist/src/providers/modelSpec.test.js.map +0 -1
- package/dist/src/providers/openai/adapter.test.d.ts +0 -6
- package/dist/src/providers/openai/adapter.test.js +0 -274
- package/dist/src/providers/openai/adapter.test.js.map +0 -1
- package/dist/src/providers/openai/bootstrap.test.d.ts +0 -6
- package/dist/src/providers/openai/bootstrap.test.js +0 -76
- package/dist/src/providers/openai/bootstrap.test.js.map +0 -1
- package/dist/src/providers/openai/converter.test.d.ts +0 -6
- package/dist/src/providers/openai/converter.test.js +0 -1133
- package/dist/src/providers/openai/converter.test.js.map +0 -1
- package/dist/src/providers/openai-compatible/__tests__/compatibility.test.d.ts +0 -6
- package/dist/src/providers/openai-compatible/__tests__/compatibility.test.js +0 -356
- package/dist/src/providers/openai-compatible/__tests__/compatibility.test.js.map +0 -1
- package/dist/src/providers/openai-compatible/adapter.test.d.ts +0 -6
- package/dist/src/providers/openai-compatible/adapter.test.js +0 -240
- package/dist/src/providers/openai-compatible/adapter.test.js.map +0 -1
- package/dist/src/providers/openai-compatible/bootstrap.test.d.ts +0 -6
- package/dist/src/providers/openai-compatible/bootstrap.test.js +0 -145
- package/dist/src/providers/openai-compatible/bootstrap.test.js.map +0 -1
- package/dist/src/providers/openai-compatible/promptBuilder.test.d.ts +0 -6
- package/dist/src/providers/openai-compatible/promptBuilder.test.js +0 -154
- package/dist/src/providers/openai-compatible/promptBuilder.test.js.map +0 -1
- package/dist/src/providers/providerConfig.test.d.ts +0 -1
- package/dist/src/providers/providerConfig.test.js +0 -145
- package/dist/src/providers/providerConfig.test.js.map +0 -1
- package/dist/src/providers/providerConfigIntegration.test.d.ts +0 -6
- package/dist/src/providers/providerConfigIntegration.test.js +0 -187
- package/dist/src/providers/providerConfigIntegration.test.js.map +0 -1
- package/dist/src/providers/providerSelector.test.d.ts +0 -1
- package/dist/src/providers/providerSelector.test.js +0 -199
- package/dist/src/providers/providerSelector.test.js.map +0 -1
- package/dist/src/providers/providerTypes.test.d.ts +0 -1
- package/dist/src/providers/providerTypes.test.js +0 -95
- package/dist/src/providers/providerTypes.test.js.map +0 -1
- package/dist/src/providers/registry.test.d.ts +0 -1
- package/dist/src/providers/registry.test.js +0 -207
- package/dist/src/providers/registry.test.js.map +0 -1
- package/dist/src/providers/streamAssembler.test.d.ts +0 -1
- package/dist/src/providers/streamAssembler.test.js +0 -247
- package/dist/src/providers/streamAssembler.test.js.map +0 -1
- package/dist/src/providers/telemetryBridge.test.d.ts +0 -6
- package/dist/src/providers/telemetryBridge.test.js +0 -235
- package/dist/src/providers/telemetryBridge.test.js.map +0 -1
- package/dist/src/providers/types.test.d.ts +0 -6
- package/dist/src/providers/types.test.js +0 -253
- package/dist/src/providers/types.test.js.map +0 -1
- package/dist/src/resources/resource-registry.test.d.ts +0 -6
- package/dist/src/resources/resource-registry.test.js +0 -54
- package/dist/src/resources/resource-registry.test.js.map +0 -1
- package/dist/src/routing/modelRouterService.test.d.ts +0 -6
- package/dist/src/routing/modelRouterService.test.js +0 -106
- package/dist/src/routing/modelRouterService.test.js.map +0 -1
- package/dist/src/routing/strategies/classifierStrategy.test.d.ts +0 -6
- package/dist/src/routing/strategies/classifierStrategy.test.js +0 -249
- package/dist/src/routing/strategies/classifierStrategy.test.js.map +0 -1
- package/dist/src/routing/strategies/compositeStrategy.test.d.ts +0 -6
- package/dist/src/routing/strategies/compositeStrategy.test.js +0 -124
- package/dist/src/routing/strategies/compositeStrategy.test.js.map +0 -1
- package/dist/src/routing/strategies/defaultStrategy.test.d.ts +0 -6
- package/dist/src/routing/strategies/defaultStrategy.test.js +0 -102
- package/dist/src/routing/strategies/defaultStrategy.test.js.map +0 -1
- package/dist/src/routing/strategies/fallbackStrategy.test.d.ts +0 -6
- package/dist/src/routing/strategies/fallbackStrategy.test.js +0 -96
- package/dist/src/routing/strategies/fallbackStrategy.test.js.map +0 -1
- package/dist/src/routing/strategies/numericalClassifierStrategy.test.d.ts +0 -6
- package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +0 -367
- package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +0 -1
- package/dist/src/routing/strategies/overrideStrategy.test.d.ts +0 -6
- package/dist/src/routing/strategies/overrideStrategy.test.js +0 -59
- package/dist/src/routing/strategies/overrideStrategy.test.js.map +0 -1
- package/dist/src/safety/built-in.test.d.ts +0 -6
- package/dist/src/safety/built-in.test.js +0 -199
- package/dist/src/safety/built-in.test.js.map +0 -1
- package/dist/src/safety/checker-runner.test.d.ts +0 -6
- package/dist/src/safety/checker-runner.test.js +0 -238
- package/dist/src/safety/checker-runner.test.js.map +0 -1
- package/dist/src/safety/context-builder.test.d.ts +0 -6
- package/dist/src/safety/context-builder.test.js +0 -49
- package/dist/src/safety/context-builder.test.js.map +0 -1
- package/dist/src/safety/registry.test.d.ts +0 -6
- package/dist/src/safety/registry.test.js +0 -31
- package/dist/src/safety/registry.test.js.map +0 -1
- package/dist/src/scheduler/confirmation.test.d.ts +0 -6
- package/dist/src/scheduler/confirmation.test.js +0 -325
- package/dist/src/scheduler/confirmation.test.js.map +0 -1
- package/dist/src/scheduler/policy.test.d.ts +0 -6
- package/dist/src/scheduler/policy.test.js +0 -299
- package/dist/src/scheduler/policy.test.js.map +0 -1
- package/dist/src/scheduler/scheduler.test.d.ts +0 -6
- package/dist/src/scheduler/scheduler.test.js +0 -822
- package/dist/src/scheduler/scheduler.test.js.map +0 -1
- package/dist/src/scheduler/state-manager.test.d.ts +0 -6
- package/dist/src/scheduler/state-manager.test.js +0 -429
- package/dist/src/scheduler/state-manager.test.js.map +0 -1
- package/dist/src/scheduler/tool-executor.test.d.ts +0 -6
- package/dist/src/scheduler/tool-executor.test.js +0 -232
- package/dist/src/scheduler/tool-executor.test.js.map +0 -1
- package/dist/src/scheduler/tool-modifier.test.d.ts +0 -6
- package/dist/src/scheduler/tool-modifier.test.js +0 -159
- package/dist/src/scheduler/tool-modifier.test.js.map +0 -1
- package/dist/src/services/chatCompressionService.test.d.ts +0 -6
- package/dist/src/services/chatCompressionService.test.js +0 -573
- package/dist/src/services/chatCompressionService.test.js.map +0 -1
- package/dist/src/services/chatRecordingService.test.d.ts +0 -6
- package/dist/src/services/chatRecordingService.test.js +0 -486
- package/dist/src/services/chatRecordingService.test.js.map +0 -1
- package/dist/src/services/contextManager.test.d.ts +0 -6
- package/dist/src/services/contextManager.test.js +0 -104
- package/dist/src/services/contextManager.test.js.map +0 -1
- package/dist/src/services/environmentSanitization.test.d.ts +0 -6
- package/dist/src/services/environmentSanitization.test.js +0 -284
- package/dist/src/services/environmentSanitization.test.js.map +0 -1
- package/dist/src/services/fileDiscoveryService.test.d.ts +0 -6
- package/dist/src/services/fileDiscoveryService.test.js +0 -223
- package/dist/src/services/fileDiscoveryService.test.js.map +0 -1
- package/dist/src/services/fileSystemService.test.d.ts +0 -6
- package/dist/src/services/fileSystemService.test.js +0 -41
- package/dist/src/services/fileSystemService.test.js.map +0 -1
- package/dist/src/services/gitService.test.d.ts +0 -6
- package/dist/src/services/gitService.test.js +0 -264
- package/dist/src/services/gitService.test.js.map +0 -1
- package/dist/src/services/loopDetectionService.test.d.ts +0 -6
- package/dist/src/services/loopDetectionService.test.js +0 -881
- package/dist/src/services/loopDetectionService.test.js.map +0 -1
- package/dist/src/services/modelConfig.golden.test.d.ts +0 -6
- package/dist/src/services/modelConfig.golden.test.js +0 -74
- package/dist/src/services/modelConfig.golden.test.js.map +0 -1
- package/dist/src/services/modelConfig.integration.test.d.ts +0 -6
- package/dist/src/services/modelConfig.integration.test.js +0 -247
- package/dist/src/services/modelConfig.integration.test.js.map +0 -1
- package/dist/src/services/modelConfigBridge.test.d.ts +0 -6
- package/dist/src/services/modelConfigBridge.test.js +0 -410
- package/dist/src/services/modelConfigBridge.test.js.map +0 -1
- package/dist/src/services/modelConfigService.test.d.ts +0 -6
- package/dist/src/services/modelConfigService.test.js +0 -868
- package/dist/src/services/modelConfigService.test.js.map +0 -1
- package/dist/src/services/sessionSummaryService.test.d.ts +0 -6
- package/dist/src/services/sessionSummaryService.test.js +0 -785
- package/dist/src/services/sessionSummaryService.test.js.map +0 -1
- package/dist/src/services/sessionSummaryUtils.test.d.ts +0 -6
- package/dist/src/services/sessionSummaryUtils.test.js +0 -160
- package/dist/src/services/sessionSummaryUtils.test.js.map +0 -1
- package/dist/src/services/shellExecutionService.test.d.ts +0 -6
- package/dist/src/services/shellExecutionService.test.js +0 -1080
- package/dist/src/services/shellExecutionService.test.js.map +0 -1
- package/dist/src/skills/skillLoader.test.d.ts +0 -6
- package/dist/src/skills/skillLoader.test.js +0 -185
- package/dist/src/skills/skillLoader.test.js.map +0 -1
- package/dist/src/skills/skillManager.test.d.ts +0 -6
- package/dist/src/skills/skillManager.test.js +0 -297
- package/dist/src/skills/skillManager.test.js.map +0 -1
- package/dist/src/telemetry/activity-detector.test.d.ts +0 -6
- package/dist/src/telemetry/activity-detector.test.js +0 -136
- package/dist/src/telemetry/activity-detector.test.js.map +0 -1
- package/dist/src/telemetry/activity-monitor.test.d.ts +0 -6
- package/dist/src/telemetry/activity-monitor.test.js +0 -251
- package/dist/src/telemetry/activity-monitor.test.js.map +0 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +0 -19
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +0 -964
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +0 -1
- package/dist/src/telemetry/config.test.d.ts +0 -6
- package/dist/src/telemetry/config.test.js +0 -149
- package/dist/src/telemetry/config.test.js.map +0 -1
- package/dist/src/telemetry/gcp-exporters.test.d.ts +0 -6
- package/dist/src/telemetry/gcp-exporters.test.js +0 -318
- package/dist/src/telemetry/gcp-exporters.test.js.map +0 -1
- package/dist/src/telemetry/high-water-mark-tracker.test.d.ts +0 -6
- package/dist/src/telemetry/high-water-mark-tracker.test.js +0 -152
- package/dist/src/telemetry/high-water-mark-tracker.test.js.map +0 -1
- package/dist/src/telemetry/integration.test.circular.d.ts +0 -6
- package/dist/src/telemetry/integration.test.circular.js +0 -54
- package/dist/src/telemetry/integration.test.circular.js.map +0 -1
- package/dist/src/telemetry/loggers.test.circular.d.ts +0 -6
- package/dist/src/telemetry/loggers.test.circular.js +0 -107
- package/dist/src/telemetry/loggers.test.circular.js.map +0 -1
- package/dist/src/telemetry/loggers.test.d.ts +0 -6
- package/dist/src/telemetry/loggers.test.js +0 -1618
- package/dist/src/telemetry/loggers.test.js.map +0 -1
- package/dist/src/telemetry/memory-monitor.test.d.ts +0 -6
- package/dist/src/telemetry/memory-monitor.test.js +0 -472
- package/dist/src/telemetry/memory-monitor.test.js.map +0 -1
- package/dist/src/telemetry/metrics.test.d.ts +0 -6
- package/dist/src/telemetry/metrics.test.js +0 -1176
- package/dist/src/telemetry/metrics.test.js.map +0 -1
- package/dist/src/telemetry/rate-limiter.test.d.ts +0 -6
- package/dist/src/telemetry/rate-limiter.test.js +0 -207
- package/dist/src/telemetry/rate-limiter.test.js.map +0 -1
- package/dist/src/telemetry/sanitize.test.d.ts +0 -6
- package/dist/src/telemetry/sanitize.test.js +0 -279
- package/dist/src/telemetry/sanitize.test.js.map +0 -1
- package/dist/src/telemetry/sdk.test.d.ts +0 -6
- package/dist/src/telemetry/sdk.test.js +0 -360
- package/dist/src/telemetry/sdk.test.js.map +0 -1
- package/dist/src/telemetry/semantic.test.d.ts +0 -6
- package/dist/src/telemetry/semantic.test.js +0 -387
- package/dist/src/telemetry/semantic.test.js.map +0 -1
- package/dist/src/telemetry/semantic.truncation.test.d.ts +0 -1
- package/dist/src/telemetry/semantic.truncation.test.js +0 -92
- package/dist/src/telemetry/semantic.truncation.test.js.map +0 -1
- package/dist/src/telemetry/startupProfiler.test.d.ts +0 -6
- package/dist/src/telemetry/startupProfiler.test.js +0 -285
- package/dist/src/telemetry/startupProfiler.test.js.map +0 -1
- package/dist/src/telemetry/telemetry-utils.test.d.ts +0 -6
- package/dist/src/telemetry/telemetry-utils.test.js +0 -41
- package/dist/src/telemetry/telemetry-utils.test.js.map +0 -1
- package/dist/src/telemetry/telemetry.test.d.ts +0 -6
- package/dist/src/telemetry/telemetry.test.js +0 -57
- package/dist/src/telemetry/telemetry.test.js.map +0 -1
- package/dist/src/telemetry/uiTelemetry.test.d.ts +0 -6
- package/dist/src/telemetry/uiTelemetry.test.js +0 -584
- package/dist/src/telemetry/uiTelemetry.test.js.map +0 -1
- package/dist/src/tools/activate-skill.test.d.ts +0 -6
- package/dist/src/tools/activate-skill.test.js +0 -113
- package/dist/src/tools/activate-skill.test.js.map +0 -1
- package/dist/src/tools/ask-user.test.d.ts +0 -6
- package/dist/src/tools/ask-user.test.js +0 -187
- package/dist/src/tools/ask-user.test.js.map +0 -1
- package/dist/src/tools/base-tool-invocation.test.d.ts +0 -6
- package/dist/src/tools/base-tool-invocation.test.js +0 -85
- package/dist/src/tools/base-tool-invocation.test.js.map +0 -1
- package/dist/src/tools/confirmation-policy.test.d.ts +0 -6
- package/dist/src/tools/confirmation-policy.test.js +0 -143
- package/dist/src/tools/confirmation-policy.test.js.map +0 -1
- package/dist/src/tools/diffOptions.test.d.ts +0 -6
- package/dist/src/tools/diffOptions.test.js +0 -172
- package/dist/src/tools/diffOptions.test.js.map +0 -1
- package/dist/src/tools/edit.test.d.ts +0 -6
- package/dist/src/tools/edit.test.js +0 -729
- package/dist/src/tools/edit.test.js.map +0 -1
- package/dist/src/tools/get-internal-docs.test.d.ts +0 -6
- package/dist/src/tools/get-internal-docs.test.js +0 -57
- package/dist/src/tools/get-internal-docs.test.js.map +0 -1
- package/dist/src/tools/glob.test.d.ts +0 -6
- package/dist/src/tools/glob.test.js +0 -433
- package/dist/src/tools/glob.test.js.map +0 -1
- package/dist/src/tools/grep.test.d.ts +0 -6
- package/dist/src/tools/grep.test.js +0 -328
- package/dist/src/tools/grep.test.js.map +0 -1
- package/dist/src/tools/ls.test.d.ts +0 -6
- package/dist/src/tools/ls.test.js +0 -242
- package/dist/src/tools/ls.test.js.map +0 -1
- package/dist/src/tools/mcp-client-manager.test.d.ts +0 -6
- package/dist/src/tools/mcp-client-manager.test.js +0 -251
- package/dist/src/tools/mcp-client-manager.test.js.map +0 -1
- package/dist/src/tools/mcp-client.test.d.ts +0 -6
- package/dist/src/tools/mcp-client.test.js +0 -1346
- package/dist/src/tools/mcp-client.test.js.map +0 -1
- package/dist/src/tools/mcp-tool.test.d.ts +0 -6
- package/dist/src/tools/mcp-tool.test.js +0 -657
- package/dist/src/tools/mcp-tool.test.js.map +0 -1
- package/dist/src/tools/memoryTool.test.d.ts +0 -6
- package/dist/src/tools/memoryTool.test.js +0 -302
- package/dist/src/tools/memoryTool.test.js.map +0 -1
- package/dist/src/tools/message-bus-integration.test.d.ts +0 -6
- package/dist/src/tools/message-bus-integration.test.js +0 -169
- package/dist/src/tools/message-bus-integration.test.js.map +0 -1
- package/dist/src/tools/modifiable-tool.test.d.ts +0 -6
- package/dist/src/tools/modifiable-tool.test.js +0 -237
- package/dist/src/tools/modifiable-tool.test.js.map +0 -1
- package/dist/src/tools/read-file.test.d.ts +0 -6
- package/dist/src/tools/read-file.test.js +0 -376
- package/dist/src/tools/read-file.test.js.map +0 -1
- package/dist/src/tools/read-many-files.test.d.ts +0 -6
- package/dist/src/tools/read-many-files.test.js +0 -567
- package/dist/src/tools/read-many-files.test.js.map +0 -1
- package/dist/src/tools/ripGrep.test.d.ts +0 -6
- package/dist/src/tools/ripGrep.test.js +0 -1139
- package/dist/src/tools/ripGrep.test.js.map +0 -1
- package/dist/src/tools/shell.test.d.ts +0 -6
- package/dist/src/tools/shell.test.js +0 -526
- package/dist/src/tools/shell.test.js.map +0 -1
- package/dist/src/tools/tool-names.test.d.ts +0 -6
- package/dist/src/tools/tool-names.test.js +0 -43
- package/dist/src/tools/tool-names.test.js.map +0 -1
- package/dist/src/tools/tool-registry.test.d.ts +0 -6
- package/dist/src/tools/tool-registry.test.js +0 -461
- package/dist/src/tools/tool-registry.test.js.map +0 -1
- package/dist/src/tools/tools.test.d.ts +0 -6
- package/dist/src/tools/tools.test.js +0 -207
- package/dist/src/tools/tools.test.js.map +0 -1
- package/dist/src/tools/web-fetch.test.d.ts +0 -6
- package/dist/src/tools/web-fetch.test.js +0 -442
- package/dist/src/tools/web-fetch.test.js.map +0 -1
- package/dist/src/tools/web-search.test.d.ts +0 -6
- package/dist/src/tools/web-search.test.js +0 -214
- package/dist/src/tools/web-search.test.js.map +0 -1
- package/dist/src/tools/write-file.test.d.ts +0 -6
- package/dist/src/tools/write-file.test.js +0 -681
- package/dist/src/tools/write-file.test.js.map +0 -1
- package/dist/src/tools/write-todos.test.d.ts +0 -6
- package/dist/src/tools/write-todos.test.js +0 -90
- package/dist/src/tools/write-todos.test.js.map +0 -1
- package/dist/src/utils/apiConversionUtils.test.d.ts +0 -6
- package/dist/src/utils/apiConversionUtils.test.js +0 -150
- package/dist/src/utils/apiConversionUtils.test.js.map +0 -1
- package/dist/src/utils/bfsFileSearch.test.d.ts +0 -6
- package/dist/src/utils/bfsFileSearch.test.js +0 -227
- package/dist/src/utils/bfsFileSearch.test.js.map +0 -1
- package/dist/src/utils/channel.test.d.ts +0 -6
- package/dist/src/utils/channel.test.js +0 -170
- package/dist/src/utils/channel.test.js.map +0 -1
- package/dist/src/utils/checkpointUtils.test.d.ts +0 -6
- package/dist/src/utils/checkpointUtils.test.js +0 -229
- package/dist/src/utils/checkpointUtils.test.js.map +0 -1
- package/dist/src/utils/customHeaderUtils.test.d.ts +0 -6
- package/dist/src/utils/customHeaderUtils.test.js +0 -77
- package/dist/src/utils/customHeaderUtils.test.js.map +0 -1
- package/dist/src/utils/debugLogger.test.d.ts +0 -6
- package/dist/src/utils/debugLogger.test.js +0 -69
- package/dist/src/utils/debugLogger.test.js.map +0 -1
- package/dist/src/utils/delay.test.d.ts +0 -6
- package/dist/src/utils/delay.test.js +0 -88
- package/dist/src/utils/delay.test.js.map +0 -1
- package/dist/src/utils/editCorrector.test.d.ts +0 -6
- package/dist/src/utils/editCorrector.test.js +0 -533
- package/dist/src/utils/editCorrector.test.js.map +0 -1
- package/dist/src/utils/editor.test.d.ts +0 -6
- package/dist/src/utils/editor.test.js +0 -429
- package/dist/src/utils/editor.test.js.map +0 -1
- package/dist/src/utils/environmentContext.test.d.ts +0 -6
- package/dist/src/utils/environmentContext.test.js +0 -114
- package/dist/src/utils/environmentContext.test.js.map +0 -1
- package/dist/src/utils/errorParsing.test.d.ts +0 -6
- package/dist/src/utils/errorParsing.test.js +0 -84
- package/dist/src/utils/errorParsing.test.js.map +0 -1
- package/dist/src/utils/errorReporting.test.d.ts +0 -6
- package/dist/src/utils/errorReporting.test.js +0 -133
- package/dist/src/utils/errorReporting.test.js.map +0 -1
- package/dist/src/utils/errors.test.d.ts +0 -6
- package/dist/src/utils/errors.test.js +0 -155
- package/dist/src/utils/errors.test.js.map +0 -1
- package/dist/src/utils/events.test.d.ts +0 -6
- package/dist/src/utils/events.test.js +0 -237
- package/dist/src/utils/events.test.js.map +0 -1
- package/dist/src/utils/extensionLoader.test.d.ts +0 -6
- package/dist/src/utils/extensionLoader.test.js +0 -176
- package/dist/src/utils/extensionLoader.test.js.map +0 -1
- package/dist/src/utils/fileDiffUtils.test.d.ts +0 -6
- package/dist/src/utils/fileDiffUtils.test.js +0 -84
- package/dist/src/utils/fileDiffUtils.test.js.map +0 -1
- package/dist/src/utils/fileUtils.test.d.ts +0 -6
- package/dist/src/utils/fileUtils.test.js +0 -780
- package/dist/src/utils/fileUtils.test.js.map +0 -1
- package/dist/src/utils/filesearch/crawlCache.test.d.ts +0 -6
- package/dist/src/utils/filesearch/crawlCache.test.js +0 -103
- package/dist/src/utils/filesearch/crawlCache.test.js.map +0 -1
- package/dist/src/utils/filesearch/crawler.test.d.ts +0 -6
- package/dist/src/utils/filesearch/crawler.test.js +0 -495
- package/dist/src/utils/filesearch/crawler.test.js.map +0 -1
- package/dist/src/utils/filesearch/fileSearch.test.d.ts +0 -6
- package/dist/src/utils/filesearch/fileSearch.test.js +0 -663
- package/dist/src/utils/filesearch/fileSearch.test.js.map +0 -1
- package/dist/src/utils/filesearch/ignore.test.d.ts +0 -6
- package/dist/src/utils/filesearch/ignore.test.js +0 -144
- package/dist/src/utils/filesearch/ignore.test.js.map +0 -1
- package/dist/src/utils/filesearch/result-cache.test.d.ts +0 -6
- package/dist/src/utils/filesearch/result-cache.test.js +0 -46
- package/dist/src/utils/filesearch/result-cache.test.js.map +0 -1
- package/dist/src/utils/flashFallback.test.d.ts +0 -6
- package/dist/src/utils/flashFallback.test.js +0 -103
- package/dist/src/utils/flashFallback.test.js.map +0 -1
- package/dist/src/utils/formatters.test.d.ts +0 -6
- package/dist/src/utils/formatters.test.js +0 -26
- package/dist/src/utils/formatters.test.js.map +0 -1
- package/dist/src/utils/geminiIgnoreParser.test.d.ts +0 -6
- package/dist/src/utils/geminiIgnoreParser.test.js +0 -98
- package/dist/src/utils/geminiIgnoreParser.test.js.map +0 -1
- package/dist/src/utils/geminiTypeConversion.test.d.ts +0 -6
- package/dist/src/utils/geminiTypeConversion.test.js +0 -310
- package/dist/src/utils/geminiTypeConversion.test.js.map +0 -1
- package/dist/src/utils/generateContentResponseUtilities.test.d.ts +0 -6
- package/dist/src/utils/generateContentResponseUtilities.test.js +0 -512
- package/dist/src/utils/generateContentResponseUtilities.test.js.map +0 -1
- package/dist/src/utils/getFolderStructure.test.d.ts +0 -6
- package/dist/src/utils/getFolderStructure.test.js +0 -283
- package/dist/src/utils/getFolderStructure.test.js.map +0 -1
- package/dist/src/utils/gitIgnoreParser.test.d.ts +0 -6
- package/dist/src/utils/gitIgnoreParser.test.js +0 -243
- package/dist/src/utils/gitIgnoreParser.test.js.map +0 -1
- package/dist/src/utils/googleErrors.test.d.ts +0 -6
- package/dist/src/utils/googleErrors.test.js +0 -309
- package/dist/src/utils/googleErrors.test.js.map +0 -1
- package/dist/src/utils/googleQuotaErrors.test.d.ts +0 -6
- package/dist/src/utils/googleQuotaErrors.test.js +0 -548
- package/dist/src/utils/googleQuotaErrors.test.js.map +0 -1
- package/dist/src/utils/ignorePatterns.test.d.ts +0 -6
- package/dist/src/utils/ignorePatterns.test.js +0 -246
- package/dist/src/utils/ignorePatterns.test.js.map +0 -1
- package/dist/src/utils/installationManager.test.d.ts +0 -6
- package/dist/src/utils/installationManager.test.js +0 -93
- package/dist/src/utils/installationManager.test.js.map +0 -1
- package/dist/src/utils/llm-edit-fixer.test.d.ts +0 -6
- package/dist/src/utils/llm-edit-fixer.test.js +0 -223
- package/dist/src/utils/llm-edit-fixer.test.js.map +0 -1
- package/dist/src/utils/llmUtils.test.d.ts +0 -6
- package/dist/src/utils/llmUtils.test.js +0 -196
- package/dist/src/utils/llmUtils.test.js.map +0 -1
- package/dist/src/utils/memoryDiscovery.test.d.ts +0 -6
- package/dist/src/utils/memoryDiscovery.test.js +0 -542
- package/dist/src/utils/memoryDiscovery.test.js.map +0 -1
- package/dist/src/utils/memoryImportProcessor.test.d.ts +0 -6
- package/dist/src/utils/memoryImportProcessor.test.js +0 -581
- package/dist/src/utils/memoryImportProcessor.test.js.map +0 -1
- package/dist/src/utils/nextSpeakerChecker.test.d.ts +0 -6
- package/dist/src/utils/nextSpeakerChecker.test.js +0 -191
- package/dist/src/utils/nextSpeakerChecker.test.js.map +0 -1
- package/dist/src/utils/partUtils.test.d.ts +0 -6
- package/dist/src/utils/partUtils.test.js +0 -397
- package/dist/src/utils/partUtils.test.js.map +0 -1
- package/dist/src/utils/pathCorrector.test.d.ts +0 -6
- package/dist/src/utils/pathCorrector.test.js +0 -87
- package/dist/src/utils/pathCorrector.test.js.map +0 -1
- package/dist/src/utils/pathReader.test.d.ts +0 -6
- package/dist/src/utils/pathReader.test.js +0 -406
- package/dist/src/utils/pathReader.test.js.map +0 -1
- package/dist/src/utils/paths.test.d.ts +0 -6
- package/dist/src/utils/paths.test.js +0 -402
- package/dist/src/utils/paths.test.js.map +0 -1
- package/dist/src/utils/retry.test.d.ts +0 -6
- package/dist/src/utils/retry.test.js +0 -548
- package/dist/src/utils/retry.test.js.map +0 -1
- package/dist/src/utils/retry_llm_error.test.d.ts +0 -6
- package/dist/src/utils/retry_llm_error.test.js +0 -280
- package/dist/src/utils/retry_llm_error.test.js.map +0 -1
- package/dist/src/utils/safeJsonStringify.test.d.ts +0 -6
- package/dist/src/utils/safeJsonStringify.test.js +0 -61
- package/dist/src/utils/safeJsonStringify.test.js.map +0 -1
- package/dist/src/utils/schemaValidator.test.d.ts +0 -6
- package/dist/src/utils/schemaValidator.test.js +0 -113
- package/dist/src/utils/schemaValidator.test.js.map +0 -1
- package/dist/src/utils/secure-browser-launcher.test.d.ts +0 -6
- package/dist/src/utils/secure-browser-launcher.test.js +0 -149
- package/dist/src/utils/secure-browser-launcher.test.js.map +0 -1
- package/dist/src/utils/security.test.d.ts +0 -1
- package/dist/src/utils/security.test.js +0 -121
- package/dist/src/utils/security.test.js.map +0 -1
- package/dist/src/utils/shell-utils.integration.test.d.ts +0 -1
- package/dist/src/utils/shell-utils.integration.test.js +0 -58
- package/dist/src/utils/shell-utils.integration.test.js.map +0 -1
- package/dist/src/utils/shell-utils.test.d.ts +0 -6
- package/dist/src/utils/shell-utils.test.js +0 -437
- package/dist/src/utils/shell-utils.test.js.map +0 -1
- package/dist/src/utils/stdio.test.d.ts +0 -6
- package/dist/src/utils/stdio.test.js +0 -47
- package/dist/src/utils/stdio.test.js.map +0 -1
- package/dist/src/utils/summarizer.test.d.ts +0 -6
- package/dist/src/utils/summarizer.test.js +0 -152
- package/dist/src/utils/summarizer.test.js.map +0 -1
- package/dist/src/utils/systemEncoding.test.d.ts +0 -6
- package/dist/src/utils/systemEncoding.test.js +0 -369
- package/dist/src/utils/systemEncoding.test.js.map +0 -1
- package/dist/src/utils/terminalSerializer.test.d.ts +0 -6
- package/dist/src/utils/terminalSerializer.test.js +0 -193
- package/dist/src/utils/terminalSerializer.test.js.map +0 -1
- package/dist/src/utils/textUtils.test.d.ts +0 -6
- package/dist/src/utils/textUtils.test.js +0 -76
- package/dist/src/utils/textUtils.test.js.map +0 -1
- package/dist/src/utils/thoughtUtils.test.d.ts +0 -6
- package/dist/src/utils/thoughtUtils.test.js +0 -78
- package/dist/src/utils/thoughtUtils.test.js.map +0 -1
- package/dist/src/utils/tokenCalculation.test.d.ts +0 -6
- package/dist/src/utils/tokenCalculation.test.js +0 -184
- package/dist/src/utils/tokenCalculation.test.js.map +0 -1
- package/dist/src/utils/tool-utils.test.d.ts +0 -6
- package/dist/src/utils/tool-utils.test.js +0 -84
- package/dist/src/utils/tool-utils.test.js.map +0 -1
- package/dist/src/utils/toolCallContext.test.d.ts +0 -6
- package/dist/src/utils/toolCallContext.test.js +0 -68
- package/dist/src/utils/toolCallContext.test.js.map +0 -1
- package/dist/src/utils/userAccountManager.test.d.ts +0 -6
- package/dist/src/utils/userAccountManager.test.js +0 -225
- package/dist/src/utils/userAccountManager.test.js.map +0 -1
- package/dist/src/utils/version.test.d.ts +0 -6
- package/dist/src/utils/version.test.js +0 -39
- package/dist/src/utils/version.test.js.map +0 -1
- package/dist/src/utils/workspaceContext.test.d.ts +0 -6
- package/dist/src/utils/workspaceContext.test.js +0 -374
- package/dist/src/utils/workspaceContext.test.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
# M3.1.3 작업 결과서 — Claude 스트림 에러 처리 고도화
|
|
2
|
-
|
|
3
|
-
- **작업일**: 2026-02-09
|
|
4
|
-
- **브랜치**: `DID/v0.1`
|
|
5
|
-
- **상태**: ✅ 완료
|
|
6
|
-
|
|
7
|
-
## 작업 목표
|
|
8
|
-
|
|
9
|
-
M3.1.1에서 구현한 ClaudeAdapter 스트림의 에러 처리를 고도화하고, Converter의
|
|
10
|
-
stop_reason 매핑과 스트림 cache token 지원을 확장한다:
|
|
11
|
-
|
|
12
|
-
1. Stream 에러 시 throw 대신 LlmErrorEvent yield
|
|
13
|
-
2. Anthropic SDK 에러 분류 (classifyError 메서드)
|
|
14
|
-
3. 새로운 stop_reason 매핑 (pause_turn, refusal)
|
|
15
|
-
4. Stream Finished 이벤트에 cache token 포함
|
|
16
|
-
|
|
17
|
-
## 사전 분석
|
|
18
|
-
|
|
19
|
-
### todolist 대비 현황
|
|
20
|
-
|
|
21
|
-
| todolist ID | 항목 | M3.1.1 구현 여부 |
|
|
22
|
-
| ----------- | ----------------------- | ----------------------------------------- |
|
|
23
|
-
| 3.1.3.1 | Stream error → LlmEvent | ⚠️ throw 패턴 (handleError returns never) |
|
|
24
|
-
| 3.1.3.2 | Error 타입 분류 | ❌ 미구현 (classifyError 없음) |
|
|
25
|
-
| 3.1.3.3 | stop_reason 추가 매핑 | ⚠️ 4개만 매핑 (pause_turn/refusal 미포함) |
|
|
26
|
-
| 3.1.3.4 | Stream cache tokens | ❌ Finished event에 cache 미포함 |
|
|
27
|
-
|
|
28
|
-
**결론**: 핵심 스트림 인프라는 M3.1.1 완료. M3.1.3은 에러 안전성 + 데이터 완전성
|
|
29
|
-
고도화.
|
|
30
|
-
|
|
31
|
-
### SDK 타입 검증 결과
|
|
32
|
-
|
|
33
|
-
| 항목 | SDK 확인 내용 |
|
|
34
|
-
| --------------------- | -------------------------------------------------------------------------- |
|
|
35
|
-
| StopReason | `end_turn, max_tokens, stop_sequence, tool_use, pause_turn, refusal` |
|
|
36
|
-
| APIError.status | HTTP status code (401, 429, 500+, 529 등) |
|
|
37
|
-
| RawMessageStreamEvent | error 타입 없음 — transport 계층에서 처리 |
|
|
38
|
-
| message_delta usage | `output_tokens, cache_read_input_tokens, cache_creation_input_tokens` 포함 |
|
|
39
|
-
|
|
40
|
-
### 아키텍처 결정
|
|
41
|
-
|
|
42
|
-
**Stream 에러 yield vs throw**:
|
|
43
|
-
|
|
44
|
-
- **이전**: `handleError(error)` 호출 → `BaseAdapter.handleError` returns
|
|
45
|
-
`never` (항상 throw)
|
|
46
|
-
- **문제**: AsyncGenerator에서 throw 시 `for await...of` 루프가 예외 전파 →
|
|
47
|
-
스트림 소비자가 try/catch 필수
|
|
48
|
-
- **해결**: `classifyError(error)` → `createErrorEvent()` yield → 스트림
|
|
49
|
-
소비자가 이벤트로 에러 수신
|
|
50
|
-
- **근거**: `StreamAssembler`는 `LlmErrorEvent`를 expect. yield 패턴이 스트림
|
|
51
|
-
프로토콜에 부합.
|
|
52
|
-
|
|
53
|
-
## 작업 순서 및 결과
|
|
54
|
-
|
|
55
|
-
| 순서 | Sub-task | 작업 내용 | 테스트 결과 |
|
|
56
|
-
| ---- | -------- | ------------------------------------------- | ----------------- |
|
|
57
|
-
| 1 | RED | converter.test.ts (+3) adapter.test.ts (+8) | 10 FAIL / 82 PASS |
|
|
58
|
-
| 2 | GREEN | converter.ts 2항목 + adapter.ts 2항목 | 92/92 PASS |
|
|
59
|
-
|
|
60
|
-
## 변경 파일 상세
|
|
61
|
-
|
|
62
|
-
### 수정 파일
|
|
63
|
-
|
|
64
|
-
#### `providers/claude/converter.ts`
|
|
65
|
-
|
|
66
|
-
**1. mapStopReason 확장**:
|
|
67
|
-
|
|
68
|
-
- `pause_turn` → `end_turn` (정상 종료와 동일 취급)
|
|
69
|
-
- `refusal` → `content_filter` (안전 필터와 동일 취급)
|
|
70
|
-
|
|
71
|
-
**2. Stream Finished event cache tokens**:
|
|
72
|
-
|
|
73
|
-
- `message_delta` 이벤트 처리 시 `usage` 객체에서 cache 토큰 추출
|
|
74
|
-
- `cache_read_input_tokens` → `cachedTokens`
|
|
75
|
-
- `cache_creation_input_tokens` → `cacheCreationTokens`
|
|
76
|
-
|
|
77
|
-
#### `providers/claude/adapter.ts`
|
|
78
|
-
|
|
79
|
-
**3. classifyError 메서드 추가**:
|
|
80
|
-
|
|
81
|
-
- HTTP status code 기반 분류:
|
|
82
|
-
- 401/403 → `AUTHENTICATION` (non-retryable)
|
|
83
|
-
- 429 → `RATE_LIMIT` (retryable)
|
|
84
|
-
- 529 → `MODEL_OVERLOADED` (retryable)
|
|
85
|
-
- 500+ → `SERVER_ERROR` (retryable)
|
|
86
|
-
- Message 휴리스틱 (status 없을 때):
|
|
87
|
-
- `/timeout/i` → `TIMEOUT` (retryable)
|
|
88
|
-
- 기타 → `NETWORK` (retryable)
|
|
89
|
-
- DI 유지: Anthropic SDK 타입 직접 import 하지 않음
|
|
90
|
-
|
|
91
|
-
**4. generateContentStream yield 패턴 변경**:
|
|
92
|
-
|
|
93
|
-
- 이전: `catch (error) { handleErr(error); }` → 항상 throw
|
|
94
|
-
- 이후: `catch (error) { yield createErrorEvent(classify(error), ...); }` →
|
|
95
|
-
이벤트 yield
|
|
96
|
-
|
|
97
|
-
#### `providers/claude/converter.test.ts` — 62 → 65 tests (+3)
|
|
98
|
-
|
|
99
|
-
| 카테고리 | 테스트 수 | 검증 내용 |
|
|
100
|
-
| ------------------- | --------------------- | ------------------------------------------------- |
|
|
101
|
-
| mapStopReason 확장 | 2 (기존 it.each 확장) | pause_turn→end_turn, refusal→content_filter |
|
|
102
|
-
| stream cache tokens | 1 | Finished event에 cachedTokens/cacheCreationTokens |
|
|
103
|
-
| (기존 테스트) | 62 | M3.1.2 포함 테스트 유지 |
|
|
104
|
-
|
|
105
|
-
#### `providers/claude/adapter.test.ts` — 19 → 27 tests (+8)
|
|
106
|
-
|
|
107
|
-
| 카테고리 | 테스트 수 | 검증 내용 |
|
|
108
|
-
| --------------------- | --------- | ---------------------------------------------- |
|
|
109
|
-
| stream error yield | 2 (수정) | creation/iteration error → LlmErrorEvent yield |
|
|
110
|
-
| classifyError 401 | 1 | AuthenticationError, non-retryable |
|
|
111
|
-
| classifyError 429 | 1 | RateLimitError, retryable |
|
|
112
|
-
| classifyError 500+ | 1 | ServerError, retryable |
|
|
113
|
-
| classifyError 529 | 1 | ModelOverloaded, retryable |
|
|
114
|
-
| classifyError timeout | 1 | TimeoutError (message heuristic) |
|
|
115
|
-
| classifyError network | 1 | NetworkError (no status, no keyword) |
|
|
116
|
-
| (기존 테스트) | 19 | M3.1.1 테스트 유지 |
|
|
117
|
-
|
|
118
|
-
## Quality Gate
|
|
119
|
-
|
|
120
|
-
| 항목 | 결과 |
|
|
121
|
-
| ------------- | -------------------------- |
|
|
122
|
-
| TypeCheck | ✅ PASS |
|
|
123
|
-
| ESLint | ✅ PASS |
|
|
124
|
-
| Claude 테스트 | ✅ 4 files / 104 passed |
|
|
125
|
-
| Provider 회귀 | ✅ 29 files / 547 passed |
|
|
126
|
-
| Core 전체 | ✅ 265 files / 4981 passed |
|
|
127
|
-
|
|
128
|
-
**변화**: 기준선 4974 → +7 tests (converter 3 + adapter 8 - 기존 수정 4 = 7
|
|
129
|
-
순증)
|
|
130
|
-
|
|
131
|
-
## 설계 결정
|
|
132
|
-
|
|
133
|
-
### classifyError — status code 기반 분류
|
|
134
|
-
|
|
135
|
-
- **결정**: HTTP status code 우선, 없으면 message 휴리스틱
|
|
136
|
-
- **근거**: Anthropic SDK의 `APIError` 계층은 `status` 필드를 가짐. SDK 타입을
|
|
137
|
-
직접 import하지 않고 duck typing으로 접근하여 DI 패턴 유지.
|
|
138
|
-
|
|
139
|
-
### pause_turn → end_turn
|
|
140
|
-
|
|
141
|
-
- **결정**: `pause_turn`을 `end_turn`과 동일하게 매핑
|
|
142
|
-
- **근거**: `pause_turn`은 Anthropic의 computer use 등에서 일시 중단을 의미.
|
|
143
|
-
현재 CLI에서는 정상 종료와 동일 취급이 적절.
|
|
144
|
-
|
|
145
|
-
### refusal → content_filter
|
|
146
|
-
|
|
147
|
-
- **결정**: `refusal`을 `content_filter`로 매핑
|
|
148
|
-
- **근거**: `refusal`은 모델이 요청을 거부한 경우로, 콘텐츠 필터와 의미적 유사.
|
|
149
|
-
`LlmStopReason`에 별도 `refusal` 값 추가 대신 기존 값 재활용.
|
|
150
|
-
|
|
151
|
-
### Stream yield vs throw
|
|
152
|
-
|
|
153
|
-
- **결정**: catch 블록에서 `createErrorEvent()` yield
|
|
154
|
-
- **근거**: `BaseAdapter.handleError()` returns `never` (항상 throw)는 동기
|
|
155
|
-
API(`generateContent`)에 적합하지만, 스트림에서는 소비자가 `for await...of`로
|
|
156
|
-
이벤트를 수신하므로 yield가 프로토콜에 부합. `StreamAssembler`가
|
|
157
|
-
`LlmErrorEvent`를 처리하도록 설계되어 있음.
|
|
158
|
-
|
|
159
|
-
## 리뷰 반영
|
|
160
|
-
|
|
161
|
-
### 리뷰 이슈 및 수정 결과
|
|
162
|
-
|
|
163
|
-
| # | 심각도 | 이슈 | 수정 내용 |
|
|
164
|
-
| --- | ------ | ----------------------------------------------------------------- | ------------------------------------------------------------------------- |
|
|
165
|
-
| 1 | 중간 | classifyError에 400/422→INVALID_REQUEST, 404→MODEL_NOT_FOUND 누락 | 400/422→INVALID_REQUEST (non-retryable), 404→ModelNotFoundError 분기 추가 |
|
|
166
|
-
| 2 | 중간 | generateContent가 handleError(UNKNOWN) 사용 — 스트림과 비대칭 | `this.handleError(error)` → `throw this.classifyError(error)` 로 변경 |
|
|
167
|
-
| 3 | 낮음 | classifyError가 LlmError 직접 생성 — subclass 미활용 | Auth/RateLimit/ModelNotFound/Network/TimeoutError subclass 사용 |
|
|
168
|
-
| 4 | 낮음 | stream creation error 테스트에서 error.type 검증 누락 | `expect(errorEvent.error.type).toBe(LlmErrorType.TIMEOUT)` 추가 |
|
|
169
|
-
| 5 | 중간 | classifyError가 이미 분류된 LlmError를 보존하지 않고 재분류 | `if (error instanceof LlmError) { return error; }` 선행 가드 추가 |
|
|
170
|
-
| 6 | 낮음 | LlmError passthrough 회귀 테스트 부재 | stream(ValidationError)/non-stream(RateLimitError) passthrough 테스트 2건 |
|
|
171
|
-
|
|
172
|
-
**이슈 #5 상세**: `classifyError`에 `LlmError` 인스턴스가 전달될 때, `status`
|
|
173
|
-
속성이 없으면 message 휴리스틱으로 폴백하여 `NetworkError`/`TimeoutError`로
|
|
174
|
-
재분류됨. `isRetryable` 판단이 왜곡되어 retry 로직에 영향.
|
|
175
|
-
|
|
176
|
-
### 리뷰 후 Quality Gate
|
|
177
|
-
|
|
178
|
-
| 항목 | 결과 |
|
|
179
|
-
| ------------- | -------------------------- |
|
|
180
|
-
| TypeCheck | ✅ PASS |
|
|
181
|
-
| ESLint | ✅ PASS |
|
|
182
|
-
| Claude 테스트 | ✅ 4 files / 114 passed |
|
|
183
|
-
| Provider 회귀 | ✅ 29 files / 557 passed |
|
|
184
|
-
| Core 전체 | ✅ 265 files / 4991 passed |
|
|
185
|
-
|
|
186
|
-
**변화**: 리뷰 전 104 tests → 114 tests (+10), Core 4981 → 4991 (+10)
|
|
187
|
-
|
|
188
|
-
## 향후 작업
|
|
189
|
-
|
|
190
|
-
- 향후: stream retry 로직 (retryable error 시 자동 재시도)
|
|
191
|
-
|
|
192
|
-
## 커밋
|
|
193
|
-
|
|
194
|
-
- `5c5601c7d` feat(providers): M3.1.3 — Claude 스트림 에러 처리 고도화
|
|
195
|
-
- `f47d5dc03` fix(providers): M3.1.3 리뷰 반영 — classifyError 400/404 분기,
|
|
196
|
-
subclass 활용, generateContent 에러 분류
|
|
197
|
-
- `7c371dd77` fix(providers): M3.1.3 리뷰 반영 — classifyError LlmError
|
|
198
|
-
passthrough 보존
|
package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.1.4_ClaudeErrorMapping_20260209.md
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
# M3.1.4 작업 결과서 — Claude 에러 매핑
|
|
2
|
-
|
|
3
|
-
- **작업일**: 2026-02-09
|
|
4
|
-
- **브랜치**: `DID/v0.1`
|
|
5
|
-
- **상태**: ✅ 완료 (M3.1.3에서 선행 구현됨)
|
|
6
|
-
|
|
7
|
-
## 작업 목표
|
|
8
|
-
|
|
9
|
-
Anthropic SDK 에러를 `LlmError` 계층으로 분류/매핑하는 유틸리티 구현:
|
|
10
|
-
|
|
11
|
-
1. Anthropic SDK 에러 분석
|
|
12
|
-
2. HTTP status code 기반 에러 매핑 (429, 401/403, 529 등)
|
|
13
|
-
3. 에러 변환 유틸 함수
|
|
14
|
-
|
|
15
|
-
## 사전 분석
|
|
16
|
-
|
|
17
|
-
### todolist 대비 현황
|
|
18
|
-
|
|
19
|
-
| todolist ID | 항목 | 구현 여부 |
|
|
20
|
-
| ----------- | ----------------------- | ------------------------------------------------ |
|
|
21
|
-
| 3.1.4.1 | Anthropic SDK 에러 분석 | ✅ M3.1.3 — classifyError duck typing |
|
|
22
|
-
| 3.1.4.2 | Rate limit 에러 매핑 | ✅ M3.1.3 — 429→RateLimitError |
|
|
23
|
-
| 3.1.4.3 | Auth 에러 매핑 | ✅ M3.1.3 — 401/403→AuthenticationError |
|
|
24
|
-
| 3.1.4.4 | Overloaded 에러 매핑 | ✅ M3.1.3 — 529→MODEL_OVERLOADED |
|
|
25
|
-
| 3.1.4.5 | 에러 변환 유틸 함수 | ✅ M3.1.3 — classifyError + LlmError passthrough |
|
|
26
|
-
|
|
27
|
-
**결론**: M3.1.3 (스트림 에러 처리 고도화)에서 에러 매핑 전체 범위가 구현
|
|
28
|
-
완료됨. M3.1.4는 별도 코드 변경 없이 todolist 상태 업데이트만 수행.
|
|
29
|
-
|
|
30
|
-
### 설계서 §3.3.6 대비 구현 범위
|
|
31
|
-
|
|
32
|
-
| 설계서 요구 사항 | 구현 상태 | 비고 |
|
|
33
|
-
| ------------------------ | ----------------------------- | ---------------------- |
|
|
34
|
-
| 429 → RATE_LIMIT | ✅ RateLimitError | retryable |
|
|
35
|
-
| 401/403 → AUTHENTICATION | ✅ AuthenticationError | non-retryable |
|
|
36
|
-
| 400 → INVALID_REQUEST | ✅ LlmError(INVALID_REQUEST) | 리뷰 #1 반영으로 추가 |
|
|
37
|
-
| 529 → MODEL_OVERLOADED | ✅ LlmError(MODEL_OVERLOADED) | retryable |
|
|
38
|
-
| default → UNKNOWN | ⬆️ NETWORK/TIMEOUT으로 개선 | 설계서보다 세밀한 분류 |
|
|
39
|
-
|
|
40
|
-
### 설계서 대비 추가 구현
|
|
41
|
-
|
|
42
|
-
| 추가 항목 | 구현 위치 | 근거 |
|
|
43
|
-
| ----------------------------- | ------------------ | ------------------------------ |
|
|
44
|
-
| 400/422 → INVALID_REQUEST | adapter.ts:202-206 | Gemini 어댑터 패리티 (리뷰 #1) |
|
|
45
|
-
| 404 → ModelNotFoundError | adapter.ts:211-212 | Gemini 어댑터 패리티 (리뷰 #1) |
|
|
46
|
-
| 500+ → SERVER_ERROR | adapter.ts:223-227 | 범용 서버 에러 포착 |
|
|
47
|
-
| Timeout 휴리스틱 | adapter.ts:232-233 | status 없는 timeout 에러 분류 |
|
|
48
|
-
| Network 폴백 | adapter.ts:236 | 최종 폴백 (UNKNOWN 대체) |
|
|
49
|
-
| LlmError passthrough | adapter.ts:186-188 | 재분류 방지 (리뷰 #5) |
|
|
50
|
-
| Stream error yield | adapter.ts:146-151 | throw 대신 LlmErrorEvent yield |
|
|
51
|
-
| generateContent classifyError | adapter.ts:112 | 스트림과 대칭 (리뷰 #2) |
|
|
52
|
-
|
|
53
|
-
## 테스트 현황
|
|
54
|
-
|
|
55
|
-
adapter.test.ts 에러 관련 테스트: **12건** (전체 37건 중)
|
|
56
|
-
|
|
57
|
-
| 카테고리 | 테스트 수 | 검증 내용 |
|
|
58
|
-
| --------------------- | --------- | ----------------------------------------------------- |
|
|
59
|
-
| status code 분류 | 7 | 400, 401, 404, 429, 500+, 529 + INVALID_REQUEST |
|
|
60
|
-
| message 휴리스틱 | 2 | timeout keyword, network fallback |
|
|
61
|
-
| subclass instanceof | 5 | Auth, RateLimit, ModelNotFound, Network, Timeout |
|
|
62
|
-
| LlmError passthrough | 2 | stream (ValidationError), non-stream (RateLimitError) |
|
|
63
|
-
| stream error yield | 2 | creation error, iteration error → LlmErrorEvent |
|
|
64
|
-
| generateContent error | 1 | 429 → RateLimitError throw |
|
|
65
|
-
|
|
66
|
-
## 변경 파일
|
|
67
|
-
|
|
68
|
-
### 코드 변경: 없음
|
|
69
|
-
|
|
70
|
-
M3.1.4 범위는 M3.1.3에서 전수 구현됨. 별도 코드 수정 불필요.
|
|
71
|
-
|
|
72
|
-
### 문서 변경
|
|
73
|
-
|
|
74
|
-
- `phase3_provider_extension_todolist.md`: M3.1.0~M3.1.4 전체 ⬜→✅ 상태
|
|
75
|
-
업데이트
|
|
76
|
-
|
|
77
|
-
## Quality Gate
|
|
78
|
-
|
|
79
|
-
기존 M3.1.3 Quality Gate 결과 유지:
|
|
80
|
-
|
|
81
|
-
| 항목 | 결과 |
|
|
82
|
-
| ------------- | ------------------------ |
|
|
83
|
-
| TypeCheck | ✅ PASS |
|
|
84
|
-
| ESLint | ✅ PASS |
|
|
85
|
-
| Claude 테스트 | ✅ 4 files / 114 passed |
|
|
86
|
-
| Provider 회귀 | ✅ 29 files / 557 passed |
|
|
87
|
-
|
|
88
|
-
## M3.1 마일스톤 완료 요약
|
|
89
|
-
|
|
90
|
-
| Sub-milestone | 작업 | 상태 | 커밋 |
|
|
91
|
-
| ------------- | -------------------------- | ---- | ------------------------------------- |
|
|
92
|
-
| M3.1.0 | SDK 설치 + 부트스트랩 등록 | ✅ | M3.1.1 커밋에 포함 |
|
|
93
|
-
| M3.1.1 | ClaudeAdapter 구현 | ✅ | 별도 작업 결과서 참조 |
|
|
94
|
-
| M3.1.2 | Claude 메시지 변환기 | ✅ | 별도 작업 결과서 참조 |
|
|
95
|
-
| M3.1.3 | Claude 스트림/에러 고도화 | ✅ | `5c5601c7d`, `f47d5dc03`, `7c371dd77` |
|
|
96
|
-
| M3.1.4 | Claude 에러 매핑 | ✅ | M3.1.3에서 선행 구현 — 코드 변경 없음 |
|
|
97
|
-
|
|
98
|
-
**M3.1 전체 완료**. 다음 마일스톤: M3.2 (OpenAI 어댑터/변환기 구현).
|
package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.2.A_OpenAIAdapterCore_20260210.md
DELETED
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
# M3.2.A 작업 결과서 — OpenAI 어댑터 Core (부트스트랩 + 변환기 + 어댑터)
|
|
2
|
-
|
|
3
|
-
- **작업일**: 2026-02-10
|
|
4
|
-
- **브랜치**: `DID/v0.1`
|
|
5
|
-
- **상태**: ✅ 완료
|
|
6
|
-
|
|
7
|
-
## 작업 목표
|
|
8
|
-
|
|
9
|
-
OpenAI SDK를 래핑하는 어댑터/변환기의 Core 부분(비스트림)을 TDD로 구현:
|
|
10
|
-
|
|
11
|
-
1. SDK 설치 및 부트스트랩 (`bootstrapOpenAiProvider`)
|
|
12
|
-
2. 요청/응답 변환기 (`OpenAiConverter`)
|
|
13
|
-
3. 어댑터 비스트림 동작 (`OpenAiAdapter.generateContent`)
|
|
14
|
-
4. 에러 분류 (`classifyError`)
|
|
15
|
-
5. 네임스페이스 export
|
|
16
|
-
|
|
17
|
-
## 사전 분석
|
|
18
|
-
|
|
19
|
-
### SDK 버전 차이
|
|
20
|
-
|
|
21
|
-
| 항목 | 설계서 | 실제 |
|
|
22
|
-
| ------------ | -------------------- | --------------------------------------------------------- |
|
|
23
|
-
| SDK 버전 | `^4.70.0` | `^6.18.0` |
|
|
24
|
-
| max_tokens | `max_tokens` | `max_completion_tokens` (deprecated `max_tokens`) |
|
|
25
|
-
| tool_choice | `auto\|none\|{name}` | `auto\|none\|required\|{type:'function',function:{name}}` |
|
|
26
|
-
| stream usage | N/A | `stream_options: { include_usage: true }` |
|
|
27
|
-
|
|
28
|
-
### 설계서 대비 구현 범위
|
|
29
|
-
|
|
30
|
-
| 설계서 요구 사항 | 구현 상태 | 비고 |
|
|
31
|
-
| --------------------- | --------- | ----------------------------------------------------------------- |
|
|
32
|
-
| OpenAI SDK 연동 | ✅ | `openai@^6.18.0` |
|
|
33
|
-
| BaseAdapter 상속 | ✅ | generateContent, generateContentStream(스켈레톤) |
|
|
34
|
-
| 메시지 변환 (4 roles) | ✅ | system/user/assistant/tool |
|
|
35
|
-
| 이미지 변환 | ✅ | base64→data URI, URL 직접 전달 |
|
|
36
|
-
| 도구 변환 | ✅ | function wrapping |
|
|
37
|
-
| JSON mode | ✅ | responseFormat→response_format |
|
|
38
|
-
| 에러 매핑 | ✅ | Claude 패턴과 동일 classifyError |
|
|
39
|
-
| countTokens | ✅ | `supportsTokenCount: false` → BaseAdapter UnsupportedFeatureError |
|
|
40
|
-
| 스트림 변환 | ⚠️ | 스켈레톤만 (M3.2.B 범위) |
|
|
41
|
-
|
|
42
|
-
### Claude 어댑터 대비 차이점
|
|
43
|
-
|
|
44
|
-
| 항목 | Claude | OpenAI |
|
|
45
|
-
| ---------------- | ----------------------------------------------- | ----------------------------------------- |
|
|
46
|
-
| System 메시지 | 별도 `system` 파라미터 추출 | messages 배열에 `role: 'system'`으로 포함 |
|
|
47
|
-
| Tool result 역할 | `user` role + tool_result 블록 (연속 role 병합) | `tool` role (직접 지원, 병합 불필요) |
|
|
48
|
-
| 이미지 지원 | base64만 (URL 미지원) | base64→data URI + URL 직접 전달 |
|
|
49
|
-
| max_tokens | 필수 파라미터 (default 8192) | 선택 파라미터 (`max_completion_tokens`) |
|
|
50
|
-
| Thought/Thinking | 지원 (`supportsThought: true`) | 미지원 (`supportsThought: false`) |
|
|
51
|
-
| Token counting | SDK `countTokens()` 있음 | SDK에 없음 (`supportsTokenCount: false`) |
|
|
52
|
-
| response_format | 미지원 | `json_object` 매핑 |
|
|
53
|
-
| 529 overloaded | 있음 (MODEL_OVERLOADED) | 없음 |
|
|
54
|
-
|
|
55
|
-
## 작업 순서 및 결과
|
|
56
|
-
|
|
57
|
-
| 순서 | 작업 | 테스트 수 | 결과 |
|
|
58
|
-
| ---- | -------------------------------- | --------- | ------- |
|
|
59
|
-
| 1 | RED: bootstrap.test.ts | 7 | 7 FAIL |
|
|
60
|
-
| 2 | RED: converter.test.ts | 40 | 40 FAIL |
|
|
61
|
-
| 3 | RED: adapter.test.ts | 27 | 27 FAIL |
|
|
62
|
-
| 4 | GREEN: converter.ts | 40 | 40 PASS |
|
|
63
|
-
| 5 | GREEN: adapter.ts + bootstrap.ts | 34 | 34 PASS |
|
|
64
|
-
| 6 | Fix: TypeCheck + ESLint | 74 | 74 PASS |
|
|
65
|
-
|
|
66
|
-
## 변경 파일 상세
|
|
67
|
-
|
|
68
|
-
### 신규 파일
|
|
69
|
-
|
|
70
|
-
| 파일 | 역할 | 라인 수 |
|
|
71
|
-
| ------------------------------------ | -------------------------------- | ------- |
|
|
72
|
-
| `providers/openai/converter.ts` | 요청/응답/스트림 변환기 | ~290 |
|
|
73
|
-
| `providers/openai/adapter.ts` | OpenAiAdapter (BaseAdapter 상속) | ~170 |
|
|
74
|
-
| `providers/openai/bootstrap.ts` | 팩토리 등록 + has() 가드 | ~40 |
|
|
75
|
-
| `providers/openai/index.ts` | 퍼블릭 export | ~15 |
|
|
76
|
-
| `providers/openai/converter.test.ts` | 변환기 TDD 테스트 | ~330 |
|
|
77
|
-
| `providers/openai/adapter.test.ts` | 어댑터 TDD 테스트 | ~260 |
|
|
78
|
-
| `providers/openai/bootstrap.test.ts` | 부트스트랩 TDD 테스트 | ~90 |
|
|
79
|
-
|
|
80
|
-
### 수정 파일
|
|
81
|
-
|
|
82
|
-
| 파일 | 변경 내용 |
|
|
83
|
-
| ---------------------------- | --------------------------------------------- |
|
|
84
|
-
| `providers/index.ts` | `import * as OpenAi` 네임스페이스 export 추가 |
|
|
85
|
-
| `packages/core/package.json` | `"openai": "^6.18.0"` 의존성 추가 |
|
|
86
|
-
|
|
87
|
-
## 테스트 현황
|
|
88
|
-
|
|
89
|
-
### bootstrap.test.ts — 7 tests
|
|
90
|
-
|
|
91
|
-
| 테스트 | 검증 내용 |
|
|
92
|
-
| ----------------- | -------------------------------- |
|
|
93
|
-
| register factory | `has('openai')` false→true |
|
|
94
|
-
| has() guard | 중복 호출 안전성 |
|
|
95
|
-
| createAdapter | `providerName === 'openai'` |
|
|
96
|
-
| singleton default | 인수 없이 호출 시 singleton 사용 |
|
|
97
|
-
| apiKey passing | SDK에 apiKey 전달 |
|
|
98
|
-
| baseURL passing | SDK에 baseURL 전달 |
|
|
99
|
-
| undefined apiKey | 누락 시 안전 처리 |
|
|
100
|
-
|
|
101
|
-
### converter.test.ts — 40 tests
|
|
102
|
-
|
|
103
|
-
| 카테고리 | 테스트 수 | 검증 내용 |
|
|
104
|
-
| ------------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
105
|
-
| toOpenAiRequest | 7 | model, max_completion_tokens, temperature/topP/stop, tools, tool_choice, response_format, systemInstruction |
|
|
106
|
-
| toOpenAiMessages | 12 | user/assistant/system/tool 4 role, tool_call, tool_result JSON serialize, base64→data URI, URL image, mixed content, thought skip, empty skip, assistant text+tool_calls |
|
|
107
|
-
| toOpenAiTools | 2 | function wrapping, optional required |
|
|
108
|
-
| toOpenAiToolChoice | 4 | auto/none/required/specific name |
|
|
109
|
-
| fromOpenAiResponse | 6 | text, tool_calls, text+tool_calls, invalid JSON args, fallback model, cached_tokens |
|
|
110
|
-
| mapFinishReason | 8 | stop/length/tool_calls/content_filter/function_call/null/undefined/unknown |
|
|
111
|
-
| createStreamState | 1 | fresh state creation |
|
|
112
|
-
|
|
113
|
-
### adapter.test.ts — 27 tests
|
|
114
|
-
|
|
115
|
-
| 카테고리 | 테스트 수 | 검증 내용 |
|
|
116
|
-
| -------------------- | --------- | ------------------------------------------------------------------------------------- |
|
|
117
|
-
| capabilities | 9 | 9개 capability 플래그 검증 |
|
|
118
|
-
| generateContent | 6 | SDK 호출, 응답 변환, validation (model/messages), classifyError, LlmError passthrough |
|
|
119
|
-
| countTokens | 1 | UnsupportedFeatureError throw |
|
|
120
|
-
| error classification | 10 | 8 status codes, timeout heuristic, network fallback |
|
|
121
|
-
| mapToProviderConfig | 1 | construction 성공 확인 |
|
|
122
|
-
|
|
123
|
-
## Quality Gate
|
|
124
|
-
|
|
125
|
-
| 항목 | 결과 |
|
|
126
|
-
| ------------- | ------------------------ |
|
|
127
|
-
| TypeCheck | ✅ PASS |
|
|
128
|
-
| ESLint | ✅ PASS |
|
|
129
|
-
| OpenAI 테스트 | ✅ 3 files / 74 passed |
|
|
130
|
-
| Provider 회귀 | ✅ 32 files / 631 passed |
|
|
131
|
-
|
|
132
|
-
**변화**: 기준선 29 files / 557 → 32 files / 631 (+3 files, +74 tests)
|
|
133
|
-
|
|
134
|
-
## 설계 결정
|
|
135
|
-
|
|
136
|
-
### max_completion_tokens vs max_tokens
|
|
137
|
-
|
|
138
|
-
- **결정**: `max_completion_tokens` 사용
|
|
139
|
-
- **근거**: OpenAI SDK v6.x에서 `max_tokens` 는 deprecated. 최신 SDK 규약 준수.
|
|
140
|
-
|
|
141
|
-
### supportsTokenCount: false
|
|
142
|
-
|
|
143
|
-
- **결정**: countTokens 미지원, BaseAdapter 기본 UnsupportedFeatureError 위임
|
|
144
|
-
- **근거**: OpenAI SDK에 내장 countTokens 없음. tiktoken 별도 의존성 추가는
|
|
145
|
-
YAGNI.
|
|
146
|
-
|
|
147
|
-
### supportsThought: false
|
|
148
|
-
|
|
149
|
-
- **결정**: extended thinking 미지원
|
|
150
|
-
- **근거**: 표준 Chat Completions API에 thinking 블록 없음. o-series reasoning은
|
|
151
|
-
별도 API.
|
|
152
|
-
|
|
153
|
-
### OpenAI 네이티브 role 활용
|
|
154
|
-
|
|
155
|
-
- **결정**: Claude와 달리 role 병합 로직 불필요
|
|
156
|
-
- **근거**: OpenAI API가 system/user/assistant/tool 4개 role을 네이티브로 지원.
|
|
157
|
-
tool_result는 `role: 'tool'`로 직접 매핑.
|
|
158
|
-
|
|
159
|
-
### classifyError Claude 패턴 재사용
|
|
160
|
-
|
|
161
|
-
- **결정**: Claude adapter의 classifyError와 동일 구조 사용
|
|
162
|
-
- **근거**: HTTP status code 기반 분류 로직은 프로바이더 독립적. DI 유지 (duck
|
|
163
|
-
typing).
|
|
164
|
-
|
|
165
|
-
## 리뷰 반영 사항
|
|
166
|
-
|
|
167
|
-
### Issue #1 (높음): `bootstrapOpenAiProvider()` 호출 누락
|
|
168
|
-
|
|
169
|
-
- **문제**: `contentGenerator.ts`의 multi-provider 경로에서
|
|
170
|
-
`bootstrapGeminiProvider()`와 `bootstrapClaudeProvider()`만 호출되고
|
|
171
|
-
`bootstrapOpenAiProvider()`가 누락 → OpenAI 선택 시 런타임 "Provider not
|
|
172
|
-
registered" 오류 발생
|
|
173
|
-
- **수정**:
|
|
174
|
-
- `contentGenerator.ts`: `import { bootstrapOpenAiProvider }` 추가 +
|
|
175
|
-
`bootstrapOpenAiProvider()` 호출 추가 (line 286)
|
|
176
|
-
- **검증**: multiProvider 테스트 Scenario 5b 추가로 auto-bootstrap 경로 확인
|
|
177
|
-
|
|
178
|
-
### Issue #2 (중간): `supportsStreaming: true` + stub 스트림
|
|
179
|
-
|
|
180
|
-
- **문제**: `OPENAI_CAPABILITIES.supportsStreaming: true`로 선언되었으나
|
|
181
|
-
`convertStreamEvent`가 빈 배열 `[]`을 반환하는 stub → 스트림 요청 시 이벤트
|
|
182
|
-
없이 종료
|
|
183
|
-
- **수정**:
|
|
184
|
-
- `adapter.ts`: `supportsStreaming: false`로 변경, M3.2.B 완료 시 `true`로
|
|
185
|
-
전환하는 TODO 주석 추가
|
|
186
|
-
- `adapter.test.ts`: capability 테스트를 `false` 기대값으로 업데이트
|
|
187
|
-
- **근거**: M3.2.B에서 `convertStreamEvent` 구현 전까지 스트림 기능을
|
|
188
|
-
비활성화하는 것이 안전. 호출자가 `supportsStreaming` 플래그를 확인하여 스트림
|
|
189
|
-
사용 여부를 결정하므로 false면 비스트림으로 자동 폴백.
|
|
190
|
-
|
|
191
|
-
### Issue #3 (낮음): auto-bootstrap 통합 테스트 미비
|
|
192
|
-
|
|
193
|
-
- **문제**: `contentGenerator.multiProvider.test.ts` Scenario 5에서
|
|
194
|
-
`registry.register('openai', ...)` 수동 등록만 수행 → 실제
|
|
195
|
-
`bootstrapOpenAiProvider()` 경로 미검증
|
|
196
|
-
- **수정**:
|
|
197
|
-
- `contentGenerator.multiProvider.test.ts`: `vi.mock('openai', ...)` 모듈 mock
|
|
198
|
-
추가 + Scenario 5b 테스트 추가 (수동 등록 없이 auto-bootstrap만으로 OpenAI
|
|
199
|
-
어댑터 생성 확인)
|
|
200
|
-
- **검증**: 14 tests passed (기존 13 + 1)
|
|
201
|
-
|
|
202
|
-
### 2차 리뷰 Issue #1 (높음): CLI 런타임 경로 legacy Gemini 호출 문제
|
|
203
|
-
|
|
204
|
-
- **문제**: OpenAI 선택 시 CLI 런타임에서 `GeminiChat.sendMessageStream()` →
|
|
205
|
-
`getContentGenerator().generateContentStream(legacy Gemini params)` 경로를
|
|
206
|
-
타서 `Provider "openai" does not support legacy Gemini API` 에러 발생.
|
|
207
|
-
- **분석 결과**: 이것은 **Phase 3 핸드오프 문서에 기록된 알려진 제한사항**임.
|
|
208
|
-
- "制限 2: Agent 실행 경로 Gemini 고정" — `GeminiChat`, `LocalExecutor`가
|
|
209
|
-
legacy Gemini 메서드만 호출
|
|
210
|
-
- 해결을 위해서는 provider-independent `ChatSession` 인터페이스 생성 +
|
|
211
|
-
`GeminiClient`/`Turn`/`LocalExecutor` DI 리팩토링 필요
|
|
212
|
-
- 이는 **CLI 통합 마일스톤(M3.4+)** 범위
|
|
213
|
-
- **결정**: M3.2.A 범위에서 수정하지 않음. 작업결과서에 알려진 제한사항으로
|
|
214
|
-
명시적 기록. Phase 3 후속 마일스톤에서 해결 예정.
|
|
215
|
-
|
|
216
|
-
### 2차 리뷰 Issue #2 (낮음): `generateContentStream` 스텁 방어 가드 추가
|
|
217
|
-
|
|
218
|
-
- **문제**: `supportsStreaming: false`이지만 `generateContentStream` 메서드
|
|
219
|
-
자체는 호출 가능 → 내부 `convertStreamEvent` 스텁이 `[]` 반환 → 빈 스트림 무한
|
|
220
|
-
소비 위험
|
|
221
|
-
- **수정**:
|
|
222
|
-
- `adapter.ts`: `generateContentStream` 진입부에 capability 가드 추가
|
|
223
|
-
(`!this.capabilities.supportsStreaming` → `UnsupportedFeatureError` throw)
|
|
224
|
-
- `adapter.test.ts`: 가드 테스트 2건 추가 (UnsupportedFeatureError +
|
|
225
|
-
provider명 포함 확인)
|
|
226
|
-
- **근거**: `countTokens`와 동일한 패턴. capability flag가 false인 기능은 메서드
|
|
227
|
-
레벨에서도 즉시 에러를 반환하여 빈 스트림보다 명확한 피드백 제공.
|
|
228
|
-
|
|
229
|
-
### Quality Gate (2차 리뷰 반영 후)
|
|
230
|
-
|
|
231
|
-
| 항목 | 결과 |
|
|
232
|
-
| ------------- | ------------------------ |
|
|
233
|
-
| TypeCheck | ✅ PASS |
|
|
234
|
-
| ESLint | ✅ PASS |
|
|
235
|
-
| OpenAI 테스트 | ✅ 3 files / 76 passed |
|
|
236
|
-
| MultiProvider | ✅ 1 file / 14 passed |
|
|
237
|
-
| Provider 회귀 | ✅ 33 files / 647 passed |
|
|
238
|
-
|
|
239
|
-
**변화**: 33 files / 645 → 33 files / 647 (+2 tests: generateContentStream 가드)
|
|
240
|
-
|
|
241
|
-
## 알려진 제한사항
|
|
242
|
-
|
|
243
|
-
### CLI 런타임 경로 Gemini 고정 (Phase 3 핸드오프 문서 §制限 2)
|
|
244
|
-
|
|
245
|
-
현재 CLI의 메인 채팅 루프(`GeminiClient` → `GeminiChat` → `Turn`)는 legacy
|
|
246
|
-
Gemini `generateContentStream(GenerateContentParameters)` 만 호출합니다.
|
|
247
|
-
non-Gemini provider wrapper의 provider-independent 메서드
|
|
248
|
-
(`llmGenerateContentStream`)는 아직 어디서도 호출되지 않습니다.
|
|
249
|
-
|
|
250
|
-
**영향**: `ENABLE_MULTI_PROVIDER=true` + `LLM_PROVIDER=openai` 설정 시:
|
|
251
|
-
|
|
252
|
-
- ✅ Content generator 생성, adapter 부트스트랩 정상
|
|
253
|
-
- ❌ 실제 채팅 시 `Provider "openai" does not support legacy Gemini API` 에러
|
|
254
|
-
|
|
255
|
-
**해결 계획**: CLI 통합 마일스톤(M3.4+)에서 provider-independent `ChatSession`
|
|
256
|
-
인터페이스 도입 및 `GeminiClient`/`LocalExecutor` DI 리팩토링.
|
|
257
|
-
|
|
258
|
-
## 향후 작업
|
|
259
|
-
|
|
260
|
-
- **M3.2.B**: 스트림 변환기 구현 (`convertStreamEvent`), 스트림 에러 처리 고도화
|
|
261
|
-
- text_delta, tool_call delta, finish_reason, usage 추출
|
|
262
|
-
- `stream_options: { include_usage: true }` 활용
|
|
263
|
-
- `supportsStreaming` → `true` 전환 + capability 가드 제거
|
|
264
|
-
- **M3.4+**: CLI 통합 — ChatSession 인터페이스 + DI로 non-Gemini 런타임 지원
|