@didim365/agent-cli-core 0.1.1 → 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.
Files changed (1076) hide show
  1. package/package.json +6 -2
  2. package/dist/docs/00_project/ai_adapter/01-overview.md +0 -172
  3. package/dist/docs/00_project/ai_adapter/02-architecture.md +0 -448
  4. package/dist/docs/00_project/ai_adapter/03-technical-design.md +0 -1470
  5. package/dist/docs/00_project/ai_adapter/04-integration-design.md +0 -1934
  6. package/dist/docs/00_project/ai_adapter/05-implementation-plan.md +0 -336
  7. package/dist/docs/00_project/ai_adapter/06-didiaistudio-plan.md +0 -559
  8. package/dist/docs/00_project/ai_adapter/README.md +0 -145
  9. package/dist/docs/00_project/ai_adapter/agent_service_openapi.json +0 -1
  10. 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
  11. package/dist/docs/00_project/ai_adapter/event-mapping-matrix.md +0 -148
  12. package/dist/docs/00_project/ai_adapter/migration-plan.md +0 -205
  13. package/dist/docs/00_project/ai_adapter/template/00_vibecoding_workflow.md +0 -627
  14. package/dist/docs/00_project/ai_adapter/template/01_todolist_performance_template.md +0 -436
  15. package/dist/docs/00_project/ai_adapter/template/02_code_review_template.md +0 -248
  16. package/dist/docs/00_project/ai_adapter/template/03_work_result_report_template.md +0 -133
  17. package/dist/docs/00_project/ai_adapter/template/100_Python_Performance_Guide.md +0 -472
  18. package/dist/docs/00_project/ai_adapter/template/99_TDD_plan.md +0 -123
  19. package/dist/docs/00_project/ai_adapter/todolist/00_master_implementation_plan.md +0 -433
  20. package/dist/docs/00_project/ai_adapter/todolist/phase1_foundation_todolist.md +0 -726
  21. package/dist/docs/00_project/ai_adapter/todolist/phase2_core_refactoring_todolist.md +0 -974
  22. package/dist/docs/00_project/ai_adapter/todolist/phase3_handoff.md +0 -203
  23. package/dist/docs/00_project/ai_adapter/todolist/phase3_provider_extension_todolist.md +0 -1382
  24. package/dist/docs/00_project/ai_adapter/utility-migration.md +0 -237
  25. package/dist/docs/00_project/ai_adapter/working_history/.gitkeep +0 -0
  26. 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
  27. 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
  28. 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
  29. package/dist/docs/00_project/ai_adapter/working_history/Phase1_M1.3_Provider/354/204/240/355/203/235_20260206.md +0 -269
  30. 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
  31. 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
  32. 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
  33. 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
  34. package/dist/docs/00_project/ai_adapter/working_history/Phase2_M2.2_EventMapper/352/265/254/355/230/204_20260207.md +0 -372
  35. package/dist/docs/00_project/ai_adapter/working_history/Phase2_M2.3_GeminiAdapter/352/265/254/355/230/204_20260208.md +0 -205
  36. 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
  37. 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
  38. 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
  39. 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
  40. 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
  41. 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
  42. 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
  43. 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
  44. 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
  45. 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
  46. package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.1.1_ClaudeAdapter/352/265/254/355/230/204_20260209.md +0 -225
  47. 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
  48. 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
  49. package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.1.4_ClaudeErrorMapping_20260209.md +0 -98
  50. package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.2.A_OpenAIAdapterCore_20260210.md +0 -264
  51. package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.2.B_OpenAIStreamConverter_20260210.md +0 -204
  52. 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
  53. package/dist/docs/00_project/ai_adapter/working_history/Phase3_M3.3_OpenAICompatibleAdapter_20260211.md +0 -251
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. package/dist/docs/00_project/ai_adapter/working_history/phase2_tradeoff_EventType/354/240/204/355/231/230_20260208.md +0 -286
  60. package/dist/docs/00_project/white_labeling/template/00_vibecoding_workflow.md +0 -627
  61. package/dist/docs/00_project/white_labeling/template/01_todolist_performance_template.md +0 -400
  62. package/dist/docs/00_project/white_labeling/template/02_code_review_template.md +0 -248
  63. package/dist/docs/00_project/white_labeling/template/03_work_result_report_template.md +0 -133
  64. package/dist/docs/00_project/white_labeling/template/100_Python_Performance_Guide.md +0 -472
  65. package/dist/docs/00_project/white_labeling/template/99_TDD_plan.md +0 -123
  66. 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
  67. 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
  68. package/dist/docs/00_project/white_labeling//354/225/261/352/265/254/354/241/260.md +0 -310
  69. package/dist/docs/CONTRIBUTING.md +0 -554
  70. package/dist/docs/ai_adapter/01-overview.md +0 -155
  71. package/dist/docs/ai_adapter/02-architecture.md +0 -452
  72. package/dist/docs/ai_adapter/03-technical-design.md +0 -1470
  73. package/dist/docs/ai_adapter/04-integration-design.md +0 -1904
  74. package/dist/docs/ai_adapter/05-implementation-plan.md +0 -312
  75. package/dist/docs/ai_adapter/06-didiaistudio-plan.md +0 -559
  76. package/dist/docs/ai_adapter/README.md +0 -118
  77. package/dist/docs/ai_adapter/agent_service_openapi.json +0 -1
  78. 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
  79. package/dist/docs/ai_adapter/event-mapping-matrix.md +0 -140
  80. package/dist/docs/ai_adapter/migration-plan.md +0 -205
  81. package/dist/docs/ai_adapter/template/00_vibecoding_workflow.md +0 -636
  82. package/dist/docs/ai_adapter/template/01_todolist_performance_template.md +0 -372
  83. package/dist/docs/ai_adapter/template/02_code_review_template.md +0 -220
  84. package/dist/docs/ai_adapter/template/03_work_result_report_template.md +0 -120
  85. package/dist/docs/ai_adapter/template/100_Python_Performance_Guide.md +0 -453
  86. package/dist/docs/ai_adapter/template/99_TDD_plan.md +0 -111
  87. package/dist/docs/ai_adapter/todolist/00_master_implementation_plan.md +0 -433
  88. package/dist/docs/ai_adapter/todolist/phase1_foundation_todolist.md +0 -726
  89. package/dist/docs/ai_adapter/todolist/phase2_core_refactoring_todolist.md +0 -974
  90. package/dist/docs/ai_adapter/todolist/phase3_handoff.md +0 -203
  91. package/dist/docs/ai_adapter/todolist/phase3_provider_extension_todolist.md +0 -1382
  92. package/dist/docs/ai_adapter/utility-migration.md +0 -237
  93. package/dist/docs/ai_adapter/working_history/.gitkeep +0 -0
  94. 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
  95. 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
  96. package/dist/docs/ai_adapter/working_history/Phase1_M1.2_Adapter/354/235/270/355/224/204/353/235/274_20260203.md +0 -378
  97. package/dist/docs/ai_adapter/working_history/Phase1_M1.3_Provider/354/204/240/355/203/235_20260206.md +0 -269
  98. 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
  99. 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
  100. 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
  101. 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
  102. package/dist/docs/ai_adapter/working_history/Phase2_M2.2_EventMapper/352/265/254/355/230/204_20260207.md +0 -372
  103. package/dist/docs/ai_adapter/working_history/Phase2_M2.3_GeminiAdapter/352/265/254/355/230/204_20260208.md +0 -205
  104. 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
  105. 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
  106. 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
  107. 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
  108. 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
  109. 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
  110. 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
  111. 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
  112. 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
  113. 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
  114. package/dist/docs/ai_adapter/working_history/Phase3_M3.1.1_ClaudeAdapter/352/265/254/355/230/204_20260209.md +0 -225
  115. 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
  116. 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
  117. package/dist/docs/ai_adapter/working_history/Phase3_M3.1.4_ClaudeErrorMapping_20260209.md +0 -98
  118. package/dist/docs/ai_adapter/working_history/Phase3_M3.2.A_OpenAIAdapterCore_20260210.md +0 -264
  119. package/dist/docs/ai_adapter/working_history/Phase3_M3.2.B_OpenAIStreamConverter_20260210.md +0 -204
  120. 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
  121. package/dist/docs/ai_adapter/working_history/Phase3_M3.3_OpenAICompatibleAdapter_20260211.md +0 -251
  122. 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
  123. 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
  124. 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
  125. 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
  126. 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
  127. package/dist/docs/ai_adapter/working_history/phase2_tradeoff_EventType/354/240/204/355/231/230_20260208.md +0 -286
  128. package/dist/docs/api/index.md +0 -5
  129. package/dist/docs/api/providers.md +0 -56
  130. package/dist/docs/architecture.md +0 -80
  131. package/dist/docs/assets/connected_devtools.png +0 -0
  132. package/dist/docs/assets/gemini-screenshot.png +0 -0
  133. package/dist/docs/assets/monitoring-dashboard-logs.png +0 -0
  134. package/dist/docs/assets/monitoring-dashboard-metrics.png +0 -0
  135. package/dist/docs/assets/monitoring-dashboard-overview.png +0 -0
  136. package/dist/docs/assets/release_patch.png +0 -0
  137. package/dist/docs/assets/theme-ansi-light.png +0 -0
  138. package/dist/docs/assets/theme-ansi.png +0 -0
  139. package/dist/docs/assets/theme-atom-one.png +0 -0
  140. package/dist/docs/assets/theme-ayu-light.png +0 -0
  141. package/dist/docs/assets/theme-ayu.png +0 -0
  142. package/dist/docs/assets/theme-custom.png +0 -0
  143. package/dist/docs/assets/theme-default-light.png +0 -0
  144. package/dist/docs/assets/theme-default.png +0 -0
  145. package/dist/docs/assets/theme-dracula.png +0 -0
  146. package/dist/docs/assets/theme-github-light.png +0 -0
  147. package/dist/docs/assets/theme-github.png +0 -0
  148. package/dist/docs/assets/theme-google-light.png +0 -0
  149. package/dist/docs/assets/theme-xcode-light.png +0 -0
  150. package/dist/docs/change_model/model_command_multi_provider_plan.md +0 -221
  151. package/dist/docs/change_model/model_command_multi_provider_todolist.md +0 -206
  152. package/dist/docs/changelogs/index.md +0 -726
  153. package/dist/docs/changelogs/latest.md +0 -370
  154. package/dist/docs/changelogs/preview.md +0 -332
  155. package/dist/docs/cli/authentication.md +0 -3
  156. package/dist/docs/cli/checkpointing.md +0 -94
  157. package/dist/docs/cli/commands.md +0 -375
  158. package/dist/docs/cli/custom-commands.md +0 -315
  159. package/dist/docs/cli/enterprise.md +0 -565
  160. package/dist/docs/cli/gemini-ignore.md +0 -71
  161. package/dist/docs/cli/gemini-md.md +0 -108
  162. package/dist/docs/cli/generation-settings.md +0 -210
  163. package/dist/docs/cli/headless.md +0 -388
  164. package/dist/docs/cli/index.md +0 -65
  165. package/dist/docs/cli/keyboard-shortcuts.md +0 -129
  166. package/dist/docs/cli/model-routing.md +0 -42
  167. package/dist/docs/cli/model.md +0 -62
  168. package/dist/docs/cli/sandbox.md +0 -171
  169. package/dist/docs/cli/session-management.md +0 -158
  170. package/dist/docs/cli/settings.md +0 -130
  171. package/dist/docs/cli/skills.md +0 -188
  172. package/dist/docs/cli/system-prompt.md +0 -125
  173. package/dist/docs/cli/telemetry.md +0 -826
  174. package/dist/docs/cli/themes.md +0 -235
  175. package/dist/docs/cli/token-caching.md +0 -20
  176. package/dist/docs/cli/trusted-folders.md +0 -95
  177. package/dist/docs/cli/tutorials/skills-getting-started.md +0 -124
  178. package/dist/docs/cli/tutorials.md +0 -87
  179. package/dist/docs/cli/uninstall.md +0 -65
  180. package/dist/docs/configuration.md +0 -108
  181. package/dist/docs/core/index.md +0 -105
  182. package/dist/docs/core/long-term-memory-design.md +0 -254
  183. package/dist/docs/core/long-term-memory-proposal.md +0 -112
  184. package/dist/docs/core/memport.md +0 -246
  185. package/dist/docs/core/policy-engine.md +0 -300
  186. package/dist/docs/core/tools-api.md +0 -131
  187. package/dist/docs/examples/proxy-script.md +0 -83
  188. package/dist/docs/extensions/best-practices.md +0 -139
  189. package/dist/docs/extensions/index.md +0 -44
  190. package/dist/docs/extensions/reference.md +0 -312
  191. package/dist/docs/extensions/releasing.md +0 -183
  192. package/dist/docs/extensions/writing-extensions.md +0 -283
  193. package/dist/docs/faq.md +0 -154
  194. package/dist/docs/get-started/authentication.md +0 -321
  195. package/dist/docs/get-started/configuration-v1.md +0 -888
  196. package/dist/docs/get-started/configuration.md +0 -1567
  197. package/dist/docs/get-started/examples.md +0 -219
  198. package/dist/docs/get-started/gemini-3.md +0 -101
  199. package/dist/docs/get-started/index.md +0 -71
  200. package/dist/docs/get-started/installation.md +0 -141
  201. package/dist/docs/hooks/best-practices.md +0 -677
  202. package/dist/docs/hooks/index.md +0 -178
  203. package/dist/docs/hooks/reference.md +0 -322
  204. package/dist/docs/hooks/writing-hooks.md +0 -450
  205. package/dist/docs/ide-integration/ide-companion-spec.md +0 -267
  206. package/dist/docs/ide-integration/index.md +0 -202
  207. package/dist/docs/index.md +0 -153
  208. package/dist/docs/integration-tests.md +0 -211
  209. package/dist/docs/issue-and-pr-automation.md +0 -134
  210. package/dist/docs/local-development.md +0 -128
  211. package/dist/docs/mermaid/context.mmd +0 -103
  212. package/dist/docs/mermaid/render-path.mmd +0 -64
  213. package/dist/docs/migration.md +0 -78
  214. package/dist/docs/npm.md +0 -62
  215. package/dist/docs/providers.md +0 -136
  216. package/dist/docs/quota-and-pricing.md +0 -158
  217. package/dist/docs/release-confidence.md +0 -164
  218. package/dist/docs/releases.md +0 -539
  219. package/dist/docs/sidebar.json +0 -140
  220. package/dist/docs/tools/file-system.md +0 -217
  221. package/dist/docs/tools/index.md +0 -98
  222. package/dist/docs/tools/mcp-server.md +0 -1068
  223. package/dist/docs/tools/memory.md +0 -54
  224. package/dist/docs/tools/shell.md +0 -260
  225. package/dist/docs/tools/todos.md +0 -57
  226. package/dist/docs/tools/web-fetch.md +0 -59
  227. package/dist/docs/tools/web-search.md +0 -42
  228. package/dist/docs/tos-privacy.md +0 -96
  229. package/dist/docs/troubleshooting.md +0 -173
  230. package/dist/src/agents/a2a-client-manager.test.d.ts +0 -6
  231. package/dist/src/agents/a2a-client-manager.test.js +0 -220
  232. package/dist/src/agents/a2a-client-manager.test.js.map +0 -1
  233. package/dist/src/agents/a2aUtils.test.d.ts +0 -6
  234. package/dist/src/agents/a2aUtils.test.js +0 -147
  235. package/dist/src/agents/a2aUtils.test.js.map +0 -1
  236. package/dist/src/agents/acknowledgedAgents.test.d.ts +0 -6
  237. package/dist/src/agents/acknowledgedAgents.test.js +0 -70
  238. package/dist/src/agents/acknowledgedAgents.test.js.map +0 -1
  239. package/dist/src/agents/agent-scheduler.test.d.ts +0 -6
  240. package/dist/src/agents/agent-scheduler.test.js +0 -56
  241. package/dist/src/agents/agent-scheduler.test.js.map +0 -1
  242. package/dist/src/agents/agentLoader.test.d.ts +0 -6
  243. package/dist/src/agents/agentLoader.test.js +0 -304
  244. package/dist/src/agents/agentLoader.test.js.map +0 -1
  245. package/dist/src/agents/cli-help-agent.test.d.ts +0 -6
  246. package/dist/src/agents/cli-help-agent.test.js +0 -67
  247. package/dist/src/agents/cli-help-agent.test.js.map +0 -1
  248. package/dist/src/agents/codebase-investigator.test.d.ts +0 -6
  249. package/dist/src/agents/codebase-investigator.test.js +0 -42
  250. package/dist/src/agents/codebase-investigator.test.js.map +0 -1
  251. package/dist/src/agents/generalist-agent.test.d.ts +0 -6
  252. package/dist/src/agents/generalist-agent.test.js +0 -31
  253. package/dist/src/agents/generalist-agent.test.js.map +0 -1
  254. package/dist/src/agents/local-executor.test.d.ts +0 -6
  255. package/dist/src/agents/local-executor.test.js +0 -1577
  256. package/dist/src/agents/local-executor.test.js.map +0 -1
  257. package/dist/src/agents/local-invocation.test.d.ts +0 -6
  258. package/dist/src/agents/local-invocation.test.js +0 -228
  259. package/dist/src/agents/local-invocation.test.js.map +0 -1
  260. package/dist/src/agents/registry.test.d.ts +0 -6
  261. package/dist/src/agents/registry.test.js +0 -773
  262. package/dist/src/agents/registry.test.js.map +0 -1
  263. package/dist/src/agents/registry_acknowledgement.test.d.ts +0 -6
  264. package/dist/src/agents/registry_acknowledgement.test.js +0 -130
  265. package/dist/src/agents/registry_acknowledgement.test.js.map +0 -1
  266. package/dist/src/agents/remote-invocation.test.d.ts +0 -6
  267. package/dist/src/agents/remote-invocation.test.js +0 -213
  268. package/dist/src/agents/remote-invocation.test.js.map +0 -1
  269. package/dist/src/agents/subagent-tool-wrapper.test.d.ts +0 -6
  270. package/dist/src/agents/subagent-tool-wrapper.test.js +0 -109
  271. package/dist/src/agents/subagent-tool-wrapper.test.js.map +0 -1
  272. package/dist/src/agents/utils.test.d.ts +0 -6
  273. package/dist/src/agents/utils.test.js +0 -87
  274. package/dist/src/agents/utils.test.js.map +0 -1
  275. package/dist/src/availability/fallbackIntegration.test.d.ts +0 -6
  276. package/dist/src/availability/fallbackIntegration.test.js +0 -58
  277. package/dist/src/availability/fallbackIntegration.test.js.map +0 -1
  278. package/dist/src/availability/modelAvailabilityService.test.d.ts +0 -6
  279. package/dist/src/availability/modelAvailabilityService.test.js +0 -140
  280. package/dist/src/availability/modelAvailabilityService.test.js.map +0 -1
  281. package/dist/src/availability/policyCatalog.test.d.ts +0 -6
  282. package/dist/src/availability/policyCatalog.test.js +0 -70
  283. package/dist/src/availability/policyCatalog.test.js.map +0 -1
  284. package/dist/src/availability/policyHelpers.test.d.ts +0 -6
  285. package/dist/src/availability/policyHelpers.test.js +0 -220
  286. package/dist/src/availability/policyHelpers.test.js.map +0 -1
  287. package/dist/src/code_assist/admin/admin_controls.test.d.ts +0 -6
  288. package/dist/src/code_assist/admin/admin_controls.test.js +0 -200
  289. package/dist/src/code_assist/admin/admin_controls.test.js.map +0 -1
  290. package/dist/src/code_assist/codeAssist.test.d.ts +0 -6
  291. package/dist/src/code_assist/codeAssist.test.js +0 -102
  292. package/dist/src/code_assist/codeAssist.test.js.map +0 -1
  293. package/dist/src/code_assist/converter.test.d.ts +0 -6
  294. package/dist/src/code_assist/converter.test.js +0 -391
  295. package/dist/src/code_assist/converter.test.js.map +0 -1
  296. package/dist/src/code_assist/experiments/client_metadata.test.d.ts +0 -6
  297. package/dist/src/code_assist/experiments/client_metadata.test.js +0 -96
  298. package/dist/src/code_assist/experiments/client_metadata.test.js.map +0 -1
  299. package/dist/src/code_assist/experiments/experiments.test.d.ts +0 -6
  300. package/dist/src/code_assist/experiments/experiments.test.js +0 -93
  301. package/dist/src/code_assist/experiments/experiments.test.js.map +0 -1
  302. package/dist/src/code_assist/experiments/experiments_local.test.d.ts +0 -6
  303. package/dist/src/code_assist/experiments/experiments_local.test.js +0 -115
  304. package/dist/src/code_assist/experiments/experiments_local.test.js.map +0 -1
  305. package/dist/src/code_assist/oauth-credential-storage.test.d.ts +0 -6
  306. package/dist/src/code_assist/oauth-credential-storage.test.js +0 -198
  307. package/dist/src/code_assist/oauth-credential-storage.test.js.map +0 -1
  308. package/dist/src/code_assist/oauth2.test.d.ts +0 -6
  309. package/dist/src/code_assist/oauth2.test.js +0 -1065
  310. package/dist/src/code_assist/oauth2.test.js.map +0 -1
  311. package/dist/src/code_assist/server.test.d.ts +0 -6
  312. package/dist/src/code_assist/server.test.js +0 -453
  313. package/dist/src/code_assist/server.test.js.map +0 -1
  314. package/dist/src/code_assist/setup.test.d.ts +0 -6
  315. package/dist/src/code_assist/setup.test.js +0 -517
  316. package/dist/src/code_assist/setup.test.js.map +0 -1
  317. package/dist/src/code_assist/telemetry.test.d.ts +0 -6
  318. package/dist/src/code_assist/telemetry.test.js +0 -301
  319. package/dist/src/code_assist/telemetry.test.js.map +0 -1
  320. package/dist/src/commands/extensions.test.d.ts +0 -6
  321. package/dist/src/commands/extensions.test.js +0 -19
  322. package/dist/src/commands/extensions.test.js.map +0 -1
  323. package/dist/src/commands/init.test.d.ts +0 -6
  324. package/dist/src/commands/init.test.js +0 -25
  325. package/dist/src/commands/init.test.js.map +0 -1
  326. package/dist/src/commands/memory.test.d.ts +0 -6
  327. package/dist/src/commands/memory.test.js +0 -182
  328. package/dist/src/commands/memory.test.js.map +0 -1
  329. package/dist/src/commands/restore.test.d.ts +0 -6
  330. package/dist/src/commands/restore.test.js +0 -137
  331. package/dist/src/commands/restore.test.js.map +0 -1
  332. package/dist/src/config/config.test.d.ts +0 -6
  333. package/dist/src/config/config.test.js +0 -1811
  334. package/dist/src/config/config.test.js.map +0 -1
  335. package/dist/src/config/flashFallback.test.d.ts +0 -6
  336. package/dist/src/config/flashFallback.test.js +0 -63
  337. package/dist/src/config/flashFallback.test.js.map +0 -1
  338. package/dist/src/config/models.test.d.ts +0 -6
  339. package/dist/src/config/models.test.js +0 -146
  340. package/dist/src/config/models.test.js.map +0 -1
  341. package/dist/src/config/storage.test.d.ts +0 -6
  342. package/dist/src/config/storage.test.js +0 -115
  343. package/dist/src/config/storage.test.js.map +0 -1
  344. package/dist/src/confirmation-bus/message-bus.test.d.ts +0 -6
  345. package/dist/src/confirmation-bus/message-bus.test.js +0 -170
  346. package/dist/src/confirmation-bus/message-bus.test.js.map +0 -1
  347. package/dist/src/core/apiKeyCredentialStorage.test.d.ts +0 -6
  348. package/dist/src/core/apiKeyCredentialStorage.test.js +0 -71
  349. package/dist/src/core/apiKeyCredentialStorage.test.js.map +0 -1
  350. package/dist/src/core/baseLlmClient.test.d.ts +0 -6
  351. package/dist/src/core/baseLlmClient.test.js +0 -569
  352. package/dist/src/core/baseLlmClient.test.js.map +0 -1
  353. package/dist/src/core/baseLlmClient_new_types.test.d.ts +0 -1
  354. package/dist/src/core/baseLlmClient_new_types.test.js +0 -387
  355. package/dist/src/core/baseLlmClient_new_types.test.js.map +0 -1
  356. package/dist/src/core/client.test.d.ts +0 -6
  357. package/dist/src/core/client.test.js +0 -2654
  358. package/dist/src/core/client.test.js.map +0 -1
  359. package/dist/src/core/contentGenerator.multiProvider.test.d.ts +0 -6
  360. package/dist/src/core/contentGenerator.multiProvider.test.js +0 -314
  361. package/dist/src/core/contentGenerator.multiProvider.test.js.map +0 -1
  362. package/dist/src/core/contentGenerator.test.d.ts +0 -6
  363. package/dist/src/core/contentGenerator.test.js +0 -299
  364. package/dist/src/core/contentGenerator.test.js.map +0 -1
  365. package/dist/src/core/contentGenerator_new_types.test.d.ts +0 -6
  366. package/dist/src/core/contentGenerator_new_types.test.js +0 -292
  367. package/dist/src/core/contentGenerator_new_types.test.js.map +0 -1
  368. package/dist/src/core/coreToolHookTriggers.test.d.ts +0 -6
  369. package/dist/src/core/coreToolHookTriggers.test.js +0 -159
  370. package/dist/src/core/coreToolHookTriggers.test.js.map +0 -1
  371. package/dist/src/core/coreToolScheduler.test.d.ts +0 -6
  372. package/dist/src/core/coreToolScheduler.test.js +0 -1684
  373. package/dist/src/core/coreToolScheduler.test.js.map +0 -1
  374. package/dist/src/core/fakeContentGenerator.test.d.ts +0 -6
  375. package/dist/src/core/fakeContentGenerator.test.js +0 -127
  376. package/dist/src/core/fakeContentGenerator.test.js.map +0 -1
  377. package/dist/src/core/geminiChat.test.d.ts +0 -6
  378. package/dist/src/core/geminiChat.test.js +0 -1773
  379. package/dist/src/core/geminiChat.test.js.map +0 -1
  380. package/dist/src/core/geminiChat_network_retry.test.d.ts +0 -6
  381. package/dist/src/core/geminiChat_network_retry.test.js +0 -201
  382. package/dist/src/core/geminiChat_network_retry.test.js.map +0 -1
  383. package/dist/src/core/logger.test.d.ts +0 -6
  384. package/dist/src/core/logger.test.js +0 -550
  385. package/dist/src/core/logger.test.js.map +0 -1
  386. package/dist/src/core/loggingContentGenerator.test.d.ts +0 -6
  387. package/dist/src/core/loggingContentGenerator.test.js +0 -221
  388. package/dist/src/core/loggingContentGenerator.test.js.map +0 -1
  389. package/dist/src/core/prompts-substitution.test.d.ts +0 -6
  390. package/dist/src/core/prompts-substitution.test.js +0 -101
  391. package/dist/src/core/prompts-substitution.test.js.map +0 -1
  392. package/dist/src/core/prompts.test.d.ts +0 -6
  393. package/dist/src/core/prompts.test.js +0 -391
  394. package/dist/src/core/prompts.test.js.map +0 -1
  395. package/dist/src/core/recordingContentGenerator.test.d.ts +0 -6
  396. package/dist/src/core/recordingContentGenerator.test.js +0 -101
  397. package/dist/src/core/recordingContentGenerator.test.js.map +0 -1
  398. package/dist/src/core/tokenLimits.test.d.ts +0 -6
  399. package/dist/src/core/tokenLimits.test.js +0 -30
  400. package/dist/src/core/tokenLimits.test.js.map +0 -1
  401. package/dist/src/core/turn.test.d.ts +0 -6
  402. package/dist/src/core/turn.test.js +0 -739
  403. package/dist/src/core/turn.test.js.map +0 -1
  404. package/dist/src/fallback/handler.test.d.ts +0 -6
  405. package/dist/src/fallback/handler.test.js +0 -242
  406. package/dist/src/fallback/handler.test.js.map +0 -1
  407. package/dist/src/hooks/hookAggregator.test.d.ts +0 -6
  408. package/dist/src/hooks/hookAggregator.test.js +0 -387
  409. package/dist/src/hooks/hookAggregator.test.js.map +0 -1
  410. package/dist/src/hooks/hookEventHandler.test.d.ts +0 -6
  411. package/dist/src/hooks/hookEventHandler.test.js +0 -603
  412. package/dist/src/hooks/hookEventHandler.test.js.map +0 -1
  413. package/dist/src/hooks/hookPlanner.test.d.ts +0 -6
  414. package/dist/src/hooks/hookPlanner.test.js +0 -315
  415. package/dist/src/hooks/hookPlanner.test.js.map +0 -1
  416. package/dist/src/hooks/hookRegistry.test.d.ts +0 -6
  417. package/dist/src/hooks/hookRegistry.test.js +0 -529
  418. package/dist/src/hooks/hookRegistry.test.js.map +0 -1
  419. package/dist/src/hooks/hookRunner.test.d.ts +0 -6
  420. package/dist/src/hooks/hookRunner.test.js +0 -606
  421. package/dist/src/hooks/hookRunner.test.js.map +0 -1
  422. package/dist/src/hooks/hookSystem.test.d.ts +0 -6
  423. package/dist/src/hooks/hookSystem.test.js +0 -330
  424. package/dist/src/hooks/hookSystem.test.js.map +0 -1
  425. package/dist/src/hooks/hookSystem_new_types.test.d.ts +0 -6
  426. package/dist/src/hooks/hookSystem_new_types.test.js +0 -243
  427. package/dist/src/hooks/hookSystem_new_types.test.js.map +0 -1
  428. package/dist/src/hooks/hookTranslator.test.d.ts +0 -6
  429. package/dist/src/hooks/hookTranslator.test.js +0 -192
  430. package/dist/src/hooks/hookTranslator.test.js.map +0 -1
  431. package/dist/src/hooks/trustedHooks.test.d.ts +0 -6
  432. package/dist/src/hooks/trustedHooks.test.js +0 -154
  433. package/dist/src/hooks/trustedHooks.test.js.map +0 -1
  434. package/dist/src/hooks/types.test.d.ts +0 -6
  435. package/dist/src/hooks/types.test.js +0 -278
  436. package/dist/src/hooks/types.test.js.map +0 -1
  437. package/dist/src/ide/detect-ide.test.d.ts +0 -6
  438. package/dist/src/ide/detect-ide.test.js +0 -195
  439. package/dist/src/ide/detect-ide.test.js.map +0 -1
  440. package/dist/src/ide/ide-client.test.d.ts +0 -6
  441. package/dist/src/ide/ide-client.test.js +0 -753
  442. package/dist/src/ide/ide-client.test.js.map +0 -1
  443. package/dist/src/ide/ide-installer.test.d.ts +0 -6
  444. package/dist/src/ide/ide-installer.test.js +0 -193
  445. package/dist/src/ide/ide-installer.test.js.map +0 -1
  446. package/dist/src/ide/ideContext.test.d.ts +0 -6
  447. package/dist/src/ide/ideContext.test.js +0 -393
  448. package/dist/src/ide/ideContext.test.js.map +0 -1
  449. package/dist/src/ide/process-utils.test.d.ts +0 -6
  450. package/dist/src/ide/process-utils.test.js +0 -151
  451. package/dist/src/ide/process-utils.test.js.map +0 -1
  452. package/dist/src/index.test.d.ts +0 -6
  453. package/dist/src/index.test.js +0 -53
  454. package/dist/src/index.test.js.map +0 -1
  455. package/dist/src/mcp/google-auth-provider.test.d.ts +0 -6
  456. package/dist/src/mcp/google-auth-provider.test.js +0 -167
  457. package/dist/src/mcp/google-auth-provider.test.js.map +0 -1
  458. package/dist/src/mcp/oauth-provider.test.d.ts +0 -6
  459. package/dist/src/mcp/oauth-provider.test.js +0 -1355
  460. package/dist/src/mcp/oauth-provider.test.js.map +0 -1
  461. package/dist/src/mcp/oauth-token-storage.test.d.ts +0 -6
  462. package/dist/src/mcp/oauth-token-storage.test.js +0 -305
  463. package/dist/src/mcp/oauth-token-storage.test.js.map +0 -1
  464. package/dist/src/mcp/oauth-utils.test.d.ts +0 -6
  465. package/dist/src/mcp/oauth-utils.test.js +0 -289
  466. package/dist/src/mcp/oauth-utils.test.js.map +0 -1
  467. package/dist/src/mcp/sa-impersonation-provider.test.d.ts +0 -6
  468. package/dist/src/mcp/sa-impersonation-provider.test.js +0 -117
  469. package/dist/src/mcp/sa-impersonation-provider.test.js.map +0 -1
  470. package/dist/src/mcp/token-storage/base-token-storage.test.d.ts +0 -6
  471. package/dist/src/mcp/token-storage/base-token-storage.test.js +0 -151
  472. package/dist/src/mcp/token-storage/base-token-storage.test.js.map +0 -1
  473. package/dist/src/mcp/token-storage/file-token-storage.test.d.ts +0 -6
  474. package/dist/src/mcp/token-storage/file-token-storage.test.js +0 -238
  475. package/dist/src/mcp/token-storage/file-token-storage.test.js.map +0 -1
  476. package/dist/src/mcp/token-storage/hybrid-token-storage.test.d.ts +0 -6
  477. package/dist/src/mcp/token-storage/hybrid-token-storage.test.js +0 -193
  478. package/dist/src/mcp/token-storage/hybrid-token-storage.test.js.map +0 -1
  479. package/dist/src/mcp/token-storage/keychain-token-storage.test.d.ts +0 -6
  480. package/dist/src/mcp/token-storage/keychain-token-storage.test.js +0 -305
  481. package/dist/src/mcp/token-storage/keychain-token-storage.test.js.map +0 -1
  482. package/dist/src/output/json-formatter.test.d.ts +0 -6
  483. package/dist/src/output/json-formatter.test.js +0 -294
  484. package/dist/src/output/json-formatter.test.js.map +0 -1
  485. package/dist/src/output/stream-json-formatter.test.d.ts +0 -6
  486. package/dist/src/output/stream-json-formatter.test.js +0 -477
  487. package/dist/src/output/stream-json-formatter.test.js.map +0 -1
  488. package/dist/src/policy/config.test.d.ts +0 -6
  489. package/dist/src/policy/config.test.js +0 -598
  490. package/dist/src/policy/config.test.js.map +0 -1
  491. package/dist/src/policy/persistence.test.d.ts +0 -6
  492. package/dist/src/policy/persistence.test.js +0 -154
  493. package/dist/src/policy/persistence.test.js.map +0 -1
  494. package/dist/src/policy/policy-engine.test.d.ts +0 -6
  495. package/dist/src/policy/policy-engine.test.js +0 -1299
  496. package/dist/src/policy/policy-engine.test.js.map +0 -1
  497. package/dist/src/policy/policy-updater.test.d.ts +0 -6
  498. package/dist/src/policy/policy-updater.test.js +0 -116
  499. package/dist/src/policy/policy-updater.test.js.map +0 -1
  500. package/dist/src/policy/shell-safety.test.d.ts +0 -6
  501. package/dist/src/policy/shell-safety.test.js +0 -438
  502. package/dist/src/policy/shell-safety.test.js.map +0 -1
  503. package/dist/src/policy/toml-loader.test.d.ts +0 -6
  504. package/dist/src/policy/toml-loader.test.js +0 -409
  505. package/dist/src/policy/toml-loader.test.js.map +0 -1
  506. package/dist/src/policy/utils.test.d.ts +0 -6
  507. package/dist/src/policy/utils.test.js +0 -92
  508. package/dist/src/policy/utils.test.js.map +0 -1
  509. package/dist/src/prompts/mcp-prompts.test.d.ts +0 -6
  510. package/dist/src/prompts/mcp-prompts.test.js +0 -39
  511. package/dist/src/prompts/mcp-prompts.test.js.map +0 -1
  512. package/dist/src/prompts/prompt-registry.test.d.ts +0 -6
  513. package/dist/src/prompts/prompt-registry.test.js +0 -96
  514. package/dist/src/prompts/prompt-registry.test.js.map +0 -1
  515. package/dist/src/providers/__tests__/bundleSize.test.d.ts +0 -6
  516. package/dist/src/providers/__tests__/bundleSize.test.js +0 -75
  517. package/dist/src/providers/__tests__/bundleSize.test.js.map +0 -1
  518. package/dist/src/providers/__tests__/errorHandling.integration.test.d.ts +0 -6
  519. package/dist/src/providers/__tests__/errorHandling.integration.test.js +0 -339
  520. package/dist/src/providers/__tests__/errorHandling.integration.test.js.map +0 -1
  521. package/dist/src/providers/__tests__/multiProvider.integration.test.d.ts +0 -6
  522. package/dist/src/providers/__tests__/multiProvider.integration.test.js +0 -419
  523. package/dist/src/providers/__tests__/multiProvider.integration.test.js.map +0 -1
  524. package/dist/src/providers/__tests__/performance.test.d.ts +0 -6
  525. package/dist/src/providers/__tests__/performance.test.js +0 -270
  526. package/dist/src/providers/__tests__/performance.test.js.map +0 -1
  527. package/dist/src/providers/__tests__/providerConfigIntegration.test.d.ts +0 -6
  528. package/dist/src/providers/__tests__/providerConfigIntegration.test.js +0 -245
  529. package/dist/src/providers/__tests__/providerConfigIntegration.test.js.map +0 -1
  530. package/dist/src/providers/baseAdapter.test.d.ts +0 -1
  531. package/dist/src/providers/baseAdapter.test.js +0 -142
  532. package/dist/src/providers/baseAdapter.test.js.map +0 -1
  533. package/dist/src/providers/claude/adapter.test.d.ts +0 -6
  534. package/dist/src/providers/claude/adapter.test.js +0 -628
  535. package/dist/src/providers/claude/adapter.test.js.map +0 -1
  536. package/dist/src/providers/claude/bootstrap.test.d.ts +0 -6
  537. package/dist/src/providers/claude/bootstrap.test.js +0 -74
  538. package/dist/src/providers/claude/bootstrap.test.js.map +0 -1
  539. package/dist/src/providers/claude/converter.test.d.ts +0 -6
  540. package/dist/src/providers/claude/converter.test.js +0 -1002
  541. package/dist/src/providers/claude/converter.test.js.map +0 -1
  542. package/dist/src/providers/claude/exports.test.d.ts +0 -6
  543. package/dist/src/providers/claude/exports.test.js +0 -40
  544. package/dist/src/providers/claude/exports.test.js.map +0 -1
  545. package/dist/src/providers/configAdapter.test.d.ts +0 -1
  546. package/dist/src/providers/configAdapter.test.js +0 -150
  547. package/dist/src/providers/configAdapter.test.js.map +0 -1
  548. package/dist/src/providers/contentResolver.test.d.ts +0 -1
  549. package/dist/src/providers/contentResolver.test.js +0 -89
  550. package/dist/src/providers/contentResolver.test.js.map +0 -1
  551. package/dist/src/providers/factory.test.d.ts +0 -1
  552. package/dist/src/providers/factory.test.js +0 -151
  553. package/dist/src/providers/factory.test.js.map +0 -1
  554. package/dist/src/providers/gemini/adapterBridge.test.d.ts +0 -6
  555. package/dist/src/providers/gemini/adapterBridge.test.js +0 -164
  556. package/dist/src/providers/gemini/adapterBridge.test.js.map +0 -1
  557. package/dist/src/providers/gemini/bootstrap.test.d.ts +0 -6
  558. package/dist/src/providers/gemini/bootstrap.test.js +0 -72
  559. package/dist/src/providers/gemini/bootstrap.test.js.map +0 -1
  560. package/dist/src/providers/gemini/configConverter.test.d.ts +0 -6
  561. package/dist/src/providers/gemini/configConverter.test.js +0 -218
  562. package/dist/src/providers/gemini/configConverter.test.js.map +0 -1
  563. package/dist/src/providers/gemini/errorClassifier.test.d.ts +0 -6
  564. package/dist/src/providers/gemini/errorClassifier.test.js +0 -83
  565. package/dist/src/providers/gemini/errorClassifier.test.js.map +0 -1
  566. package/dist/src/providers/gemini/eventMapper.test.d.ts +0 -6
  567. package/dist/src/providers/gemini/eventMapper.test.js +0 -502
  568. package/dist/src/providers/gemini/eventMapper.test.js.map +0 -1
  569. package/dist/src/providers/gemini/exports.test.d.ts +0 -6
  570. package/dist/src/providers/gemini/exports.test.js +0 -90
  571. package/dist/src/providers/gemini/exports.test.js.map +0 -1
  572. package/dist/src/providers/gemini/featureFlag.test.d.ts +0 -6
  573. package/dist/src/providers/gemini/featureFlag.test.js +0 -139
  574. package/dist/src/providers/gemini/featureFlag.test.js.map +0 -1
  575. package/dist/src/providers/gemini/geminiAdapter.test.d.ts +0 -6
  576. package/dist/src/providers/gemini/geminiAdapter.test.js +0 -279
  577. package/dist/src/providers/gemini/geminiAdapter.test.js.map +0 -1
  578. package/dist/src/providers/gemini/geminiConverter.test.d.ts +0 -6
  579. package/dist/src/providers/gemini/geminiConverter.test.js +0 -474
  580. package/dist/src/providers/gemini/geminiConverter.test.js.map +0 -1
  581. package/dist/src/providers/gemini/geminiParity.test.d.ts +0 -6
  582. package/dist/src/providers/gemini/geminiParity.test.js +0 -754
  583. package/dist/src/providers/gemini/geminiParity.test.js.map +0 -1
  584. package/dist/src/providers/gemini/geminiStream.test.d.ts +0 -6
  585. package/dist/src/providers/gemini/geminiStream.test.js +0 -391
  586. package/dist/src/providers/gemini/geminiStream.test.js.map +0 -1
  587. package/dist/src/providers/gemini/historyBuilder.test.d.ts +0 -6
  588. package/dist/src/providers/gemini/historyBuilder.test.js +0 -207
  589. package/dist/src/providers/gemini/historyBuilder.test.js.map +0 -1
  590. package/dist/src/providers/gemini/requestBuilder.test.d.ts +0 -6
  591. package/dist/src/providers/gemini/requestBuilder.test.js +0 -358
  592. package/dist/src/providers/gemini/requestBuilder.test.js.map +0 -1
  593. package/dist/src/providers/gemini/streamConverter.test.d.ts +0 -6
  594. package/dist/src/providers/gemini/streamConverter.test.js +0 -131
  595. package/dist/src/providers/gemini/streamConverter.test.js.map +0 -1
  596. package/dist/src/providers/modelSpec.test.d.ts +0 -1
  597. package/dist/src/providers/modelSpec.test.js +0 -119
  598. package/dist/src/providers/modelSpec.test.js.map +0 -1
  599. package/dist/src/providers/openai/adapter.test.d.ts +0 -6
  600. package/dist/src/providers/openai/adapter.test.js +0 -274
  601. package/dist/src/providers/openai/adapter.test.js.map +0 -1
  602. package/dist/src/providers/openai/bootstrap.test.d.ts +0 -6
  603. package/dist/src/providers/openai/bootstrap.test.js +0 -76
  604. package/dist/src/providers/openai/bootstrap.test.js.map +0 -1
  605. package/dist/src/providers/openai/converter.test.d.ts +0 -6
  606. package/dist/src/providers/openai/converter.test.js +0 -1133
  607. package/dist/src/providers/openai/converter.test.js.map +0 -1
  608. package/dist/src/providers/openai-compatible/__tests__/compatibility.test.d.ts +0 -6
  609. package/dist/src/providers/openai-compatible/__tests__/compatibility.test.js +0 -356
  610. package/dist/src/providers/openai-compatible/__tests__/compatibility.test.js.map +0 -1
  611. package/dist/src/providers/openai-compatible/adapter.test.d.ts +0 -6
  612. package/dist/src/providers/openai-compatible/adapter.test.js +0 -240
  613. package/dist/src/providers/openai-compatible/adapter.test.js.map +0 -1
  614. package/dist/src/providers/openai-compatible/bootstrap.test.d.ts +0 -6
  615. package/dist/src/providers/openai-compatible/bootstrap.test.js +0 -145
  616. package/dist/src/providers/openai-compatible/bootstrap.test.js.map +0 -1
  617. package/dist/src/providers/openai-compatible/promptBuilder.test.d.ts +0 -6
  618. package/dist/src/providers/openai-compatible/promptBuilder.test.js +0 -154
  619. package/dist/src/providers/openai-compatible/promptBuilder.test.js.map +0 -1
  620. package/dist/src/providers/providerConfig.test.d.ts +0 -1
  621. package/dist/src/providers/providerConfig.test.js +0 -145
  622. package/dist/src/providers/providerConfig.test.js.map +0 -1
  623. package/dist/src/providers/providerConfigIntegration.test.d.ts +0 -6
  624. package/dist/src/providers/providerConfigIntegration.test.js +0 -187
  625. package/dist/src/providers/providerConfigIntegration.test.js.map +0 -1
  626. package/dist/src/providers/providerSelector.test.d.ts +0 -1
  627. package/dist/src/providers/providerSelector.test.js +0 -199
  628. package/dist/src/providers/providerSelector.test.js.map +0 -1
  629. package/dist/src/providers/providerTypes.test.d.ts +0 -1
  630. package/dist/src/providers/providerTypes.test.js +0 -95
  631. package/dist/src/providers/providerTypes.test.js.map +0 -1
  632. package/dist/src/providers/registry.test.d.ts +0 -1
  633. package/dist/src/providers/registry.test.js +0 -207
  634. package/dist/src/providers/registry.test.js.map +0 -1
  635. package/dist/src/providers/streamAssembler.test.d.ts +0 -1
  636. package/dist/src/providers/streamAssembler.test.js +0 -247
  637. package/dist/src/providers/streamAssembler.test.js.map +0 -1
  638. package/dist/src/providers/telemetryBridge.test.d.ts +0 -6
  639. package/dist/src/providers/telemetryBridge.test.js +0 -235
  640. package/dist/src/providers/telemetryBridge.test.js.map +0 -1
  641. package/dist/src/providers/types.test.d.ts +0 -6
  642. package/dist/src/providers/types.test.js +0 -253
  643. package/dist/src/providers/types.test.js.map +0 -1
  644. package/dist/src/resources/resource-registry.test.d.ts +0 -6
  645. package/dist/src/resources/resource-registry.test.js +0 -54
  646. package/dist/src/resources/resource-registry.test.js.map +0 -1
  647. package/dist/src/routing/modelRouterService.test.d.ts +0 -6
  648. package/dist/src/routing/modelRouterService.test.js +0 -106
  649. package/dist/src/routing/modelRouterService.test.js.map +0 -1
  650. package/dist/src/routing/strategies/classifierStrategy.test.d.ts +0 -6
  651. package/dist/src/routing/strategies/classifierStrategy.test.js +0 -249
  652. package/dist/src/routing/strategies/classifierStrategy.test.js.map +0 -1
  653. package/dist/src/routing/strategies/compositeStrategy.test.d.ts +0 -6
  654. package/dist/src/routing/strategies/compositeStrategy.test.js +0 -124
  655. package/dist/src/routing/strategies/compositeStrategy.test.js.map +0 -1
  656. package/dist/src/routing/strategies/defaultStrategy.test.d.ts +0 -6
  657. package/dist/src/routing/strategies/defaultStrategy.test.js +0 -102
  658. package/dist/src/routing/strategies/defaultStrategy.test.js.map +0 -1
  659. package/dist/src/routing/strategies/fallbackStrategy.test.d.ts +0 -6
  660. package/dist/src/routing/strategies/fallbackStrategy.test.js +0 -96
  661. package/dist/src/routing/strategies/fallbackStrategy.test.js.map +0 -1
  662. package/dist/src/routing/strategies/numericalClassifierStrategy.test.d.ts +0 -6
  663. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +0 -367
  664. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +0 -1
  665. package/dist/src/routing/strategies/overrideStrategy.test.d.ts +0 -6
  666. package/dist/src/routing/strategies/overrideStrategy.test.js +0 -59
  667. package/dist/src/routing/strategies/overrideStrategy.test.js.map +0 -1
  668. package/dist/src/safety/built-in.test.d.ts +0 -6
  669. package/dist/src/safety/built-in.test.js +0 -199
  670. package/dist/src/safety/built-in.test.js.map +0 -1
  671. package/dist/src/safety/checker-runner.test.d.ts +0 -6
  672. package/dist/src/safety/checker-runner.test.js +0 -238
  673. package/dist/src/safety/checker-runner.test.js.map +0 -1
  674. package/dist/src/safety/context-builder.test.d.ts +0 -6
  675. package/dist/src/safety/context-builder.test.js +0 -49
  676. package/dist/src/safety/context-builder.test.js.map +0 -1
  677. package/dist/src/safety/registry.test.d.ts +0 -6
  678. package/dist/src/safety/registry.test.js +0 -31
  679. package/dist/src/safety/registry.test.js.map +0 -1
  680. package/dist/src/scheduler/confirmation.test.d.ts +0 -6
  681. package/dist/src/scheduler/confirmation.test.js +0 -325
  682. package/dist/src/scheduler/confirmation.test.js.map +0 -1
  683. package/dist/src/scheduler/policy.test.d.ts +0 -6
  684. package/dist/src/scheduler/policy.test.js +0 -299
  685. package/dist/src/scheduler/policy.test.js.map +0 -1
  686. package/dist/src/scheduler/scheduler.test.d.ts +0 -6
  687. package/dist/src/scheduler/scheduler.test.js +0 -822
  688. package/dist/src/scheduler/scheduler.test.js.map +0 -1
  689. package/dist/src/scheduler/state-manager.test.d.ts +0 -6
  690. package/dist/src/scheduler/state-manager.test.js +0 -429
  691. package/dist/src/scheduler/state-manager.test.js.map +0 -1
  692. package/dist/src/scheduler/tool-executor.test.d.ts +0 -6
  693. package/dist/src/scheduler/tool-executor.test.js +0 -232
  694. package/dist/src/scheduler/tool-executor.test.js.map +0 -1
  695. package/dist/src/scheduler/tool-modifier.test.d.ts +0 -6
  696. package/dist/src/scheduler/tool-modifier.test.js +0 -159
  697. package/dist/src/scheduler/tool-modifier.test.js.map +0 -1
  698. package/dist/src/services/chatCompressionService.test.d.ts +0 -6
  699. package/dist/src/services/chatCompressionService.test.js +0 -573
  700. package/dist/src/services/chatCompressionService.test.js.map +0 -1
  701. package/dist/src/services/chatRecordingService.test.d.ts +0 -6
  702. package/dist/src/services/chatRecordingService.test.js +0 -486
  703. package/dist/src/services/chatRecordingService.test.js.map +0 -1
  704. package/dist/src/services/contextManager.test.d.ts +0 -6
  705. package/dist/src/services/contextManager.test.js +0 -104
  706. package/dist/src/services/contextManager.test.js.map +0 -1
  707. package/dist/src/services/environmentSanitization.test.d.ts +0 -6
  708. package/dist/src/services/environmentSanitization.test.js +0 -284
  709. package/dist/src/services/environmentSanitization.test.js.map +0 -1
  710. package/dist/src/services/fileDiscoveryService.test.d.ts +0 -6
  711. package/dist/src/services/fileDiscoveryService.test.js +0 -223
  712. package/dist/src/services/fileDiscoveryService.test.js.map +0 -1
  713. package/dist/src/services/fileSystemService.test.d.ts +0 -6
  714. package/dist/src/services/fileSystemService.test.js +0 -41
  715. package/dist/src/services/fileSystemService.test.js.map +0 -1
  716. package/dist/src/services/gitService.test.d.ts +0 -6
  717. package/dist/src/services/gitService.test.js +0 -264
  718. package/dist/src/services/gitService.test.js.map +0 -1
  719. package/dist/src/services/loopDetectionService.test.d.ts +0 -6
  720. package/dist/src/services/loopDetectionService.test.js +0 -881
  721. package/dist/src/services/loopDetectionService.test.js.map +0 -1
  722. package/dist/src/services/modelConfig.golden.test.d.ts +0 -6
  723. package/dist/src/services/modelConfig.golden.test.js +0 -74
  724. package/dist/src/services/modelConfig.golden.test.js.map +0 -1
  725. package/dist/src/services/modelConfig.integration.test.d.ts +0 -6
  726. package/dist/src/services/modelConfig.integration.test.js +0 -247
  727. package/dist/src/services/modelConfig.integration.test.js.map +0 -1
  728. package/dist/src/services/modelConfigBridge.test.d.ts +0 -6
  729. package/dist/src/services/modelConfigBridge.test.js +0 -410
  730. package/dist/src/services/modelConfigBridge.test.js.map +0 -1
  731. package/dist/src/services/modelConfigService.test.d.ts +0 -6
  732. package/dist/src/services/modelConfigService.test.js +0 -868
  733. package/dist/src/services/modelConfigService.test.js.map +0 -1
  734. package/dist/src/services/sessionSummaryService.test.d.ts +0 -6
  735. package/dist/src/services/sessionSummaryService.test.js +0 -785
  736. package/dist/src/services/sessionSummaryService.test.js.map +0 -1
  737. package/dist/src/services/sessionSummaryUtils.test.d.ts +0 -6
  738. package/dist/src/services/sessionSummaryUtils.test.js +0 -160
  739. package/dist/src/services/sessionSummaryUtils.test.js.map +0 -1
  740. package/dist/src/services/shellExecutionService.test.d.ts +0 -6
  741. package/dist/src/services/shellExecutionService.test.js +0 -1080
  742. package/dist/src/services/shellExecutionService.test.js.map +0 -1
  743. package/dist/src/skills/skillLoader.test.d.ts +0 -6
  744. package/dist/src/skills/skillLoader.test.js +0 -185
  745. package/dist/src/skills/skillLoader.test.js.map +0 -1
  746. package/dist/src/skills/skillManager.test.d.ts +0 -6
  747. package/dist/src/skills/skillManager.test.js +0 -297
  748. package/dist/src/skills/skillManager.test.js.map +0 -1
  749. package/dist/src/telemetry/activity-detector.test.d.ts +0 -6
  750. package/dist/src/telemetry/activity-detector.test.js +0 -136
  751. package/dist/src/telemetry/activity-detector.test.js.map +0 -1
  752. package/dist/src/telemetry/activity-monitor.test.d.ts +0 -6
  753. package/dist/src/telemetry/activity-monitor.test.js +0 -251
  754. package/dist/src/telemetry/activity-monitor.test.js.map +0 -1
  755. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +0 -19
  756. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +0 -964
  757. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +0 -1
  758. package/dist/src/telemetry/config.test.d.ts +0 -6
  759. package/dist/src/telemetry/config.test.js +0 -149
  760. package/dist/src/telemetry/config.test.js.map +0 -1
  761. package/dist/src/telemetry/gcp-exporters.test.d.ts +0 -6
  762. package/dist/src/telemetry/gcp-exporters.test.js +0 -318
  763. package/dist/src/telemetry/gcp-exporters.test.js.map +0 -1
  764. package/dist/src/telemetry/high-water-mark-tracker.test.d.ts +0 -6
  765. package/dist/src/telemetry/high-water-mark-tracker.test.js +0 -152
  766. package/dist/src/telemetry/high-water-mark-tracker.test.js.map +0 -1
  767. package/dist/src/telemetry/integration.test.circular.d.ts +0 -6
  768. package/dist/src/telemetry/integration.test.circular.js +0 -54
  769. package/dist/src/telemetry/integration.test.circular.js.map +0 -1
  770. package/dist/src/telemetry/loggers.test.circular.d.ts +0 -6
  771. package/dist/src/telemetry/loggers.test.circular.js +0 -107
  772. package/dist/src/telemetry/loggers.test.circular.js.map +0 -1
  773. package/dist/src/telemetry/loggers.test.d.ts +0 -6
  774. package/dist/src/telemetry/loggers.test.js +0 -1618
  775. package/dist/src/telemetry/loggers.test.js.map +0 -1
  776. package/dist/src/telemetry/memory-monitor.test.d.ts +0 -6
  777. package/dist/src/telemetry/memory-monitor.test.js +0 -472
  778. package/dist/src/telemetry/memory-monitor.test.js.map +0 -1
  779. package/dist/src/telemetry/metrics.test.d.ts +0 -6
  780. package/dist/src/telemetry/metrics.test.js +0 -1176
  781. package/dist/src/telemetry/metrics.test.js.map +0 -1
  782. package/dist/src/telemetry/rate-limiter.test.d.ts +0 -6
  783. package/dist/src/telemetry/rate-limiter.test.js +0 -207
  784. package/dist/src/telemetry/rate-limiter.test.js.map +0 -1
  785. package/dist/src/telemetry/sanitize.test.d.ts +0 -6
  786. package/dist/src/telemetry/sanitize.test.js +0 -279
  787. package/dist/src/telemetry/sanitize.test.js.map +0 -1
  788. package/dist/src/telemetry/sdk.test.d.ts +0 -6
  789. package/dist/src/telemetry/sdk.test.js +0 -360
  790. package/dist/src/telemetry/sdk.test.js.map +0 -1
  791. package/dist/src/telemetry/semantic.test.d.ts +0 -6
  792. package/dist/src/telemetry/semantic.test.js +0 -387
  793. package/dist/src/telemetry/semantic.test.js.map +0 -1
  794. package/dist/src/telemetry/semantic.truncation.test.d.ts +0 -1
  795. package/dist/src/telemetry/semantic.truncation.test.js +0 -92
  796. package/dist/src/telemetry/semantic.truncation.test.js.map +0 -1
  797. package/dist/src/telemetry/startupProfiler.test.d.ts +0 -6
  798. package/dist/src/telemetry/startupProfiler.test.js +0 -285
  799. package/dist/src/telemetry/startupProfiler.test.js.map +0 -1
  800. package/dist/src/telemetry/telemetry-utils.test.d.ts +0 -6
  801. package/dist/src/telemetry/telemetry-utils.test.js +0 -41
  802. package/dist/src/telemetry/telemetry-utils.test.js.map +0 -1
  803. package/dist/src/telemetry/telemetry.test.d.ts +0 -6
  804. package/dist/src/telemetry/telemetry.test.js +0 -57
  805. package/dist/src/telemetry/telemetry.test.js.map +0 -1
  806. package/dist/src/telemetry/uiTelemetry.test.d.ts +0 -6
  807. package/dist/src/telemetry/uiTelemetry.test.js +0 -584
  808. package/dist/src/telemetry/uiTelemetry.test.js.map +0 -1
  809. package/dist/src/tools/activate-skill.test.d.ts +0 -6
  810. package/dist/src/tools/activate-skill.test.js +0 -113
  811. package/dist/src/tools/activate-skill.test.js.map +0 -1
  812. package/dist/src/tools/ask-user.test.d.ts +0 -6
  813. package/dist/src/tools/ask-user.test.js +0 -187
  814. package/dist/src/tools/ask-user.test.js.map +0 -1
  815. package/dist/src/tools/base-tool-invocation.test.d.ts +0 -6
  816. package/dist/src/tools/base-tool-invocation.test.js +0 -85
  817. package/dist/src/tools/base-tool-invocation.test.js.map +0 -1
  818. package/dist/src/tools/confirmation-policy.test.d.ts +0 -6
  819. package/dist/src/tools/confirmation-policy.test.js +0 -143
  820. package/dist/src/tools/confirmation-policy.test.js.map +0 -1
  821. package/dist/src/tools/diffOptions.test.d.ts +0 -6
  822. package/dist/src/tools/diffOptions.test.js +0 -172
  823. package/dist/src/tools/diffOptions.test.js.map +0 -1
  824. package/dist/src/tools/edit.test.d.ts +0 -6
  825. package/dist/src/tools/edit.test.js +0 -729
  826. package/dist/src/tools/edit.test.js.map +0 -1
  827. package/dist/src/tools/get-internal-docs.test.d.ts +0 -6
  828. package/dist/src/tools/get-internal-docs.test.js +0 -57
  829. package/dist/src/tools/get-internal-docs.test.js.map +0 -1
  830. package/dist/src/tools/glob.test.d.ts +0 -6
  831. package/dist/src/tools/glob.test.js +0 -433
  832. package/dist/src/tools/glob.test.js.map +0 -1
  833. package/dist/src/tools/grep.test.d.ts +0 -6
  834. package/dist/src/tools/grep.test.js +0 -328
  835. package/dist/src/tools/grep.test.js.map +0 -1
  836. package/dist/src/tools/ls.test.d.ts +0 -6
  837. package/dist/src/tools/ls.test.js +0 -242
  838. package/dist/src/tools/ls.test.js.map +0 -1
  839. package/dist/src/tools/mcp-client-manager.test.d.ts +0 -6
  840. package/dist/src/tools/mcp-client-manager.test.js +0 -251
  841. package/dist/src/tools/mcp-client-manager.test.js.map +0 -1
  842. package/dist/src/tools/mcp-client.test.d.ts +0 -6
  843. package/dist/src/tools/mcp-client.test.js +0 -1346
  844. package/dist/src/tools/mcp-client.test.js.map +0 -1
  845. package/dist/src/tools/mcp-tool.test.d.ts +0 -6
  846. package/dist/src/tools/mcp-tool.test.js +0 -657
  847. package/dist/src/tools/mcp-tool.test.js.map +0 -1
  848. package/dist/src/tools/memoryTool.test.d.ts +0 -6
  849. package/dist/src/tools/memoryTool.test.js +0 -302
  850. package/dist/src/tools/memoryTool.test.js.map +0 -1
  851. package/dist/src/tools/message-bus-integration.test.d.ts +0 -6
  852. package/dist/src/tools/message-bus-integration.test.js +0 -169
  853. package/dist/src/tools/message-bus-integration.test.js.map +0 -1
  854. package/dist/src/tools/modifiable-tool.test.d.ts +0 -6
  855. package/dist/src/tools/modifiable-tool.test.js +0 -237
  856. package/dist/src/tools/modifiable-tool.test.js.map +0 -1
  857. package/dist/src/tools/read-file.test.d.ts +0 -6
  858. package/dist/src/tools/read-file.test.js +0 -376
  859. package/dist/src/tools/read-file.test.js.map +0 -1
  860. package/dist/src/tools/read-many-files.test.d.ts +0 -6
  861. package/dist/src/tools/read-many-files.test.js +0 -567
  862. package/dist/src/tools/read-many-files.test.js.map +0 -1
  863. package/dist/src/tools/ripGrep.test.d.ts +0 -6
  864. package/dist/src/tools/ripGrep.test.js +0 -1139
  865. package/dist/src/tools/ripGrep.test.js.map +0 -1
  866. package/dist/src/tools/shell.test.d.ts +0 -6
  867. package/dist/src/tools/shell.test.js +0 -526
  868. package/dist/src/tools/shell.test.js.map +0 -1
  869. package/dist/src/tools/tool-names.test.d.ts +0 -6
  870. package/dist/src/tools/tool-names.test.js +0 -43
  871. package/dist/src/tools/tool-names.test.js.map +0 -1
  872. package/dist/src/tools/tool-registry.test.d.ts +0 -6
  873. package/dist/src/tools/tool-registry.test.js +0 -461
  874. package/dist/src/tools/tool-registry.test.js.map +0 -1
  875. package/dist/src/tools/tools.test.d.ts +0 -6
  876. package/dist/src/tools/tools.test.js +0 -207
  877. package/dist/src/tools/tools.test.js.map +0 -1
  878. package/dist/src/tools/web-fetch.test.d.ts +0 -6
  879. package/dist/src/tools/web-fetch.test.js +0 -442
  880. package/dist/src/tools/web-fetch.test.js.map +0 -1
  881. package/dist/src/tools/web-search.test.d.ts +0 -6
  882. package/dist/src/tools/web-search.test.js +0 -214
  883. package/dist/src/tools/web-search.test.js.map +0 -1
  884. package/dist/src/tools/write-file.test.d.ts +0 -6
  885. package/dist/src/tools/write-file.test.js +0 -681
  886. package/dist/src/tools/write-file.test.js.map +0 -1
  887. package/dist/src/tools/write-todos.test.d.ts +0 -6
  888. package/dist/src/tools/write-todos.test.js +0 -90
  889. package/dist/src/tools/write-todos.test.js.map +0 -1
  890. package/dist/src/utils/apiConversionUtils.test.d.ts +0 -6
  891. package/dist/src/utils/apiConversionUtils.test.js +0 -150
  892. package/dist/src/utils/apiConversionUtils.test.js.map +0 -1
  893. package/dist/src/utils/bfsFileSearch.test.d.ts +0 -6
  894. package/dist/src/utils/bfsFileSearch.test.js +0 -227
  895. package/dist/src/utils/bfsFileSearch.test.js.map +0 -1
  896. package/dist/src/utils/channel.test.d.ts +0 -6
  897. package/dist/src/utils/channel.test.js +0 -170
  898. package/dist/src/utils/channel.test.js.map +0 -1
  899. package/dist/src/utils/checkpointUtils.test.d.ts +0 -6
  900. package/dist/src/utils/checkpointUtils.test.js +0 -229
  901. package/dist/src/utils/checkpointUtils.test.js.map +0 -1
  902. package/dist/src/utils/customHeaderUtils.test.d.ts +0 -6
  903. package/dist/src/utils/customHeaderUtils.test.js +0 -77
  904. package/dist/src/utils/customHeaderUtils.test.js.map +0 -1
  905. package/dist/src/utils/debugLogger.test.d.ts +0 -6
  906. package/dist/src/utils/debugLogger.test.js +0 -69
  907. package/dist/src/utils/debugLogger.test.js.map +0 -1
  908. package/dist/src/utils/delay.test.d.ts +0 -6
  909. package/dist/src/utils/delay.test.js +0 -88
  910. package/dist/src/utils/delay.test.js.map +0 -1
  911. package/dist/src/utils/editCorrector.test.d.ts +0 -6
  912. package/dist/src/utils/editCorrector.test.js +0 -533
  913. package/dist/src/utils/editCorrector.test.js.map +0 -1
  914. package/dist/src/utils/editor.test.d.ts +0 -6
  915. package/dist/src/utils/editor.test.js +0 -429
  916. package/dist/src/utils/editor.test.js.map +0 -1
  917. package/dist/src/utils/environmentContext.test.d.ts +0 -6
  918. package/dist/src/utils/environmentContext.test.js +0 -114
  919. package/dist/src/utils/environmentContext.test.js.map +0 -1
  920. package/dist/src/utils/errorParsing.test.d.ts +0 -6
  921. package/dist/src/utils/errorParsing.test.js +0 -84
  922. package/dist/src/utils/errorParsing.test.js.map +0 -1
  923. package/dist/src/utils/errorReporting.test.d.ts +0 -6
  924. package/dist/src/utils/errorReporting.test.js +0 -133
  925. package/dist/src/utils/errorReporting.test.js.map +0 -1
  926. package/dist/src/utils/errors.test.d.ts +0 -6
  927. package/dist/src/utils/errors.test.js +0 -155
  928. package/dist/src/utils/errors.test.js.map +0 -1
  929. package/dist/src/utils/events.test.d.ts +0 -6
  930. package/dist/src/utils/events.test.js +0 -237
  931. package/dist/src/utils/events.test.js.map +0 -1
  932. package/dist/src/utils/extensionLoader.test.d.ts +0 -6
  933. package/dist/src/utils/extensionLoader.test.js +0 -176
  934. package/dist/src/utils/extensionLoader.test.js.map +0 -1
  935. package/dist/src/utils/fileDiffUtils.test.d.ts +0 -6
  936. package/dist/src/utils/fileDiffUtils.test.js +0 -84
  937. package/dist/src/utils/fileDiffUtils.test.js.map +0 -1
  938. package/dist/src/utils/fileUtils.test.d.ts +0 -6
  939. package/dist/src/utils/fileUtils.test.js +0 -780
  940. package/dist/src/utils/fileUtils.test.js.map +0 -1
  941. package/dist/src/utils/filesearch/crawlCache.test.d.ts +0 -6
  942. package/dist/src/utils/filesearch/crawlCache.test.js +0 -103
  943. package/dist/src/utils/filesearch/crawlCache.test.js.map +0 -1
  944. package/dist/src/utils/filesearch/crawler.test.d.ts +0 -6
  945. package/dist/src/utils/filesearch/crawler.test.js +0 -495
  946. package/dist/src/utils/filesearch/crawler.test.js.map +0 -1
  947. package/dist/src/utils/filesearch/fileSearch.test.d.ts +0 -6
  948. package/dist/src/utils/filesearch/fileSearch.test.js +0 -663
  949. package/dist/src/utils/filesearch/fileSearch.test.js.map +0 -1
  950. package/dist/src/utils/filesearch/ignore.test.d.ts +0 -6
  951. package/dist/src/utils/filesearch/ignore.test.js +0 -144
  952. package/dist/src/utils/filesearch/ignore.test.js.map +0 -1
  953. package/dist/src/utils/filesearch/result-cache.test.d.ts +0 -6
  954. package/dist/src/utils/filesearch/result-cache.test.js +0 -46
  955. package/dist/src/utils/filesearch/result-cache.test.js.map +0 -1
  956. package/dist/src/utils/flashFallback.test.d.ts +0 -6
  957. package/dist/src/utils/flashFallback.test.js +0 -103
  958. package/dist/src/utils/flashFallback.test.js.map +0 -1
  959. package/dist/src/utils/formatters.test.d.ts +0 -6
  960. package/dist/src/utils/formatters.test.js +0 -26
  961. package/dist/src/utils/formatters.test.js.map +0 -1
  962. package/dist/src/utils/geminiIgnoreParser.test.d.ts +0 -6
  963. package/dist/src/utils/geminiIgnoreParser.test.js +0 -98
  964. package/dist/src/utils/geminiIgnoreParser.test.js.map +0 -1
  965. package/dist/src/utils/geminiTypeConversion.test.d.ts +0 -6
  966. package/dist/src/utils/geminiTypeConversion.test.js +0 -310
  967. package/dist/src/utils/geminiTypeConversion.test.js.map +0 -1
  968. package/dist/src/utils/generateContentResponseUtilities.test.d.ts +0 -6
  969. package/dist/src/utils/generateContentResponseUtilities.test.js +0 -512
  970. package/dist/src/utils/generateContentResponseUtilities.test.js.map +0 -1
  971. package/dist/src/utils/getFolderStructure.test.d.ts +0 -6
  972. package/dist/src/utils/getFolderStructure.test.js +0 -283
  973. package/dist/src/utils/getFolderStructure.test.js.map +0 -1
  974. package/dist/src/utils/gitIgnoreParser.test.d.ts +0 -6
  975. package/dist/src/utils/gitIgnoreParser.test.js +0 -243
  976. package/dist/src/utils/gitIgnoreParser.test.js.map +0 -1
  977. package/dist/src/utils/googleErrors.test.d.ts +0 -6
  978. package/dist/src/utils/googleErrors.test.js +0 -309
  979. package/dist/src/utils/googleErrors.test.js.map +0 -1
  980. package/dist/src/utils/googleQuotaErrors.test.d.ts +0 -6
  981. package/dist/src/utils/googleQuotaErrors.test.js +0 -548
  982. package/dist/src/utils/googleQuotaErrors.test.js.map +0 -1
  983. package/dist/src/utils/ignorePatterns.test.d.ts +0 -6
  984. package/dist/src/utils/ignorePatterns.test.js +0 -246
  985. package/dist/src/utils/ignorePatterns.test.js.map +0 -1
  986. package/dist/src/utils/installationManager.test.d.ts +0 -6
  987. package/dist/src/utils/installationManager.test.js +0 -93
  988. package/dist/src/utils/installationManager.test.js.map +0 -1
  989. package/dist/src/utils/llm-edit-fixer.test.d.ts +0 -6
  990. package/dist/src/utils/llm-edit-fixer.test.js +0 -223
  991. package/dist/src/utils/llm-edit-fixer.test.js.map +0 -1
  992. package/dist/src/utils/llmUtils.test.d.ts +0 -6
  993. package/dist/src/utils/llmUtils.test.js +0 -196
  994. package/dist/src/utils/llmUtils.test.js.map +0 -1
  995. package/dist/src/utils/memoryDiscovery.test.d.ts +0 -6
  996. package/dist/src/utils/memoryDiscovery.test.js +0 -542
  997. package/dist/src/utils/memoryDiscovery.test.js.map +0 -1
  998. package/dist/src/utils/memoryImportProcessor.test.d.ts +0 -6
  999. package/dist/src/utils/memoryImportProcessor.test.js +0 -581
  1000. package/dist/src/utils/memoryImportProcessor.test.js.map +0 -1
  1001. package/dist/src/utils/nextSpeakerChecker.test.d.ts +0 -6
  1002. package/dist/src/utils/nextSpeakerChecker.test.js +0 -191
  1003. package/dist/src/utils/nextSpeakerChecker.test.js.map +0 -1
  1004. package/dist/src/utils/partUtils.test.d.ts +0 -6
  1005. package/dist/src/utils/partUtils.test.js +0 -397
  1006. package/dist/src/utils/partUtils.test.js.map +0 -1
  1007. package/dist/src/utils/pathCorrector.test.d.ts +0 -6
  1008. package/dist/src/utils/pathCorrector.test.js +0 -87
  1009. package/dist/src/utils/pathCorrector.test.js.map +0 -1
  1010. package/dist/src/utils/pathReader.test.d.ts +0 -6
  1011. package/dist/src/utils/pathReader.test.js +0 -406
  1012. package/dist/src/utils/pathReader.test.js.map +0 -1
  1013. package/dist/src/utils/paths.test.d.ts +0 -6
  1014. package/dist/src/utils/paths.test.js +0 -402
  1015. package/dist/src/utils/paths.test.js.map +0 -1
  1016. package/dist/src/utils/retry.test.d.ts +0 -6
  1017. package/dist/src/utils/retry.test.js +0 -548
  1018. package/dist/src/utils/retry.test.js.map +0 -1
  1019. package/dist/src/utils/retry_llm_error.test.d.ts +0 -6
  1020. package/dist/src/utils/retry_llm_error.test.js +0 -280
  1021. package/dist/src/utils/retry_llm_error.test.js.map +0 -1
  1022. package/dist/src/utils/safeJsonStringify.test.d.ts +0 -6
  1023. package/dist/src/utils/safeJsonStringify.test.js +0 -61
  1024. package/dist/src/utils/safeJsonStringify.test.js.map +0 -1
  1025. package/dist/src/utils/schemaValidator.test.d.ts +0 -6
  1026. package/dist/src/utils/schemaValidator.test.js +0 -113
  1027. package/dist/src/utils/schemaValidator.test.js.map +0 -1
  1028. package/dist/src/utils/secure-browser-launcher.test.d.ts +0 -6
  1029. package/dist/src/utils/secure-browser-launcher.test.js +0 -149
  1030. package/dist/src/utils/secure-browser-launcher.test.js.map +0 -1
  1031. package/dist/src/utils/security.test.d.ts +0 -1
  1032. package/dist/src/utils/security.test.js +0 -121
  1033. package/dist/src/utils/security.test.js.map +0 -1
  1034. package/dist/src/utils/shell-utils.integration.test.d.ts +0 -1
  1035. package/dist/src/utils/shell-utils.integration.test.js +0 -58
  1036. package/dist/src/utils/shell-utils.integration.test.js.map +0 -1
  1037. package/dist/src/utils/shell-utils.test.d.ts +0 -6
  1038. package/dist/src/utils/shell-utils.test.js +0 -437
  1039. package/dist/src/utils/shell-utils.test.js.map +0 -1
  1040. package/dist/src/utils/stdio.test.d.ts +0 -6
  1041. package/dist/src/utils/stdio.test.js +0 -47
  1042. package/dist/src/utils/stdio.test.js.map +0 -1
  1043. package/dist/src/utils/summarizer.test.d.ts +0 -6
  1044. package/dist/src/utils/summarizer.test.js +0 -152
  1045. package/dist/src/utils/summarizer.test.js.map +0 -1
  1046. package/dist/src/utils/systemEncoding.test.d.ts +0 -6
  1047. package/dist/src/utils/systemEncoding.test.js +0 -369
  1048. package/dist/src/utils/systemEncoding.test.js.map +0 -1
  1049. package/dist/src/utils/terminalSerializer.test.d.ts +0 -6
  1050. package/dist/src/utils/terminalSerializer.test.js +0 -193
  1051. package/dist/src/utils/terminalSerializer.test.js.map +0 -1
  1052. package/dist/src/utils/textUtils.test.d.ts +0 -6
  1053. package/dist/src/utils/textUtils.test.js +0 -76
  1054. package/dist/src/utils/textUtils.test.js.map +0 -1
  1055. package/dist/src/utils/thoughtUtils.test.d.ts +0 -6
  1056. package/dist/src/utils/thoughtUtils.test.js +0 -78
  1057. package/dist/src/utils/thoughtUtils.test.js.map +0 -1
  1058. package/dist/src/utils/tokenCalculation.test.d.ts +0 -6
  1059. package/dist/src/utils/tokenCalculation.test.js +0 -184
  1060. package/dist/src/utils/tokenCalculation.test.js.map +0 -1
  1061. package/dist/src/utils/tool-utils.test.d.ts +0 -6
  1062. package/dist/src/utils/tool-utils.test.js +0 -84
  1063. package/dist/src/utils/tool-utils.test.js.map +0 -1
  1064. package/dist/src/utils/toolCallContext.test.d.ts +0 -6
  1065. package/dist/src/utils/toolCallContext.test.js +0 -68
  1066. package/dist/src/utils/toolCallContext.test.js.map +0 -1
  1067. package/dist/src/utils/userAccountManager.test.d.ts +0 -6
  1068. package/dist/src/utils/userAccountManager.test.js +0 -225
  1069. package/dist/src/utils/userAccountManager.test.js.map +0 -1
  1070. package/dist/src/utils/version.test.d.ts +0 -6
  1071. package/dist/src/utils/version.test.js +0 -39
  1072. package/dist/src/utils/version.test.js.map +0 -1
  1073. package/dist/src/utils/workspaceContext.test.d.ts +0 -6
  1074. package/dist/src/utils/workspaceContext.test.js +0 -374
  1075. package/dist/src/utils/workspaceContext.test.js.map +0 -1
  1076. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,289 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
- import { OAuthUtils } from './oauth-utils.js';
8
- // Mock fetch globally
9
- const mockFetch = vi.fn();
10
- global.fetch = mockFetch;
11
- describe('OAuthUtils', () => {
12
- beforeEach(() => {
13
- vi.clearAllMocks();
14
- vi.spyOn(console, 'debug').mockImplementation(() => { });
15
- vi.spyOn(console, 'error').mockImplementation(() => { });
16
- vi.spyOn(console, 'log').mockImplementation(() => { });
17
- });
18
- afterEach(() => {
19
- vi.restoreAllMocks();
20
- });
21
- describe('buildWellKnownUrls', () => {
22
- it('should build RFC 9728 compliant path-based URLs by default', () => {
23
- const urls = OAuthUtils.buildWellKnownUrls('https://example.com/mcp');
24
- expect(urls.protectedResource).toBe('https://example.com/.well-known/oauth-protected-resource/mcp');
25
- expect(urls.authorizationServer).toBe('https://example.com/.well-known/oauth-authorization-server/mcp');
26
- });
27
- it('should build root-based URLs when useRootDiscovery is true', () => {
28
- const urls = OAuthUtils.buildWellKnownUrls('https://example.com/mcp', true);
29
- expect(urls.protectedResource).toBe('https://example.com/.well-known/oauth-protected-resource');
30
- expect(urls.authorizationServer).toBe('https://example.com/.well-known/oauth-authorization-server');
31
- });
32
- it('should handle root path correctly', () => {
33
- const urls = OAuthUtils.buildWellKnownUrls('https://example.com');
34
- expect(urls.protectedResource).toBe('https://example.com/.well-known/oauth-protected-resource');
35
- expect(urls.authorizationServer).toBe('https://example.com/.well-known/oauth-authorization-server');
36
- });
37
- it('should handle trailing slash in path', () => {
38
- const urls = OAuthUtils.buildWellKnownUrls('https://example.com/mcp/');
39
- expect(urls.protectedResource).toBe('https://example.com/.well-known/oauth-protected-resource/mcp');
40
- expect(urls.authorizationServer).toBe('https://example.com/.well-known/oauth-authorization-server/mcp');
41
- });
42
- it('should handle deep paths per RFC 9728', () => {
43
- const urls = OAuthUtils.buildWellKnownUrls('https://app.mintmcp.com/s/g_2lj2CNDoJdf3xnbFeeF6vx/mcp');
44
- expect(urls.protectedResource).toBe('https://app.mintmcp.com/.well-known/oauth-protected-resource/s/g_2lj2CNDoJdf3xnbFeeF6vx/mcp');
45
- expect(urls.authorizationServer).toBe('https://app.mintmcp.com/.well-known/oauth-authorization-server/s/g_2lj2CNDoJdf3xnbFeeF6vx/mcp');
46
- });
47
- });
48
- describe('fetchProtectedResourceMetadata', () => {
49
- const mockResourceMetadata = {
50
- resource: 'https://api.example.com',
51
- authorization_servers: ['https://auth.example.com'],
52
- bearer_methods_supported: ['header'],
53
- };
54
- it('should fetch protected resource metadata successfully', async () => {
55
- mockFetch.mockResolvedValueOnce({
56
- ok: true,
57
- json: () => Promise.resolve(mockResourceMetadata),
58
- });
59
- const result = await OAuthUtils.fetchProtectedResourceMetadata('https://example.com/.well-known/oauth-protected-resource');
60
- expect(result).toEqual(mockResourceMetadata);
61
- });
62
- it('should return null when fetch fails', async () => {
63
- mockFetch.mockResolvedValueOnce({
64
- ok: false,
65
- });
66
- const result = await OAuthUtils.fetchProtectedResourceMetadata('https://example.com/.well-known/oauth-protected-resource');
67
- expect(result).toBeNull();
68
- });
69
- });
70
- describe('fetchAuthorizationServerMetadata', () => {
71
- const mockAuthServerMetadata = {
72
- issuer: 'https://auth.example.com',
73
- authorization_endpoint: 'https://auth.example.com/authorize',
74
- token_endpoint: 'https://auth.example.com/token',
75
- scopes_supported: ['read', 'write'],
76
- };
77
- it('should fetch authorization server metadata successfully', async () => {
78
- mockFetch.mockResolvedValueOnce({
79
- ok: true,
80
- json: () => Promise.resolve(mockAuthServerMetadata),
81
- });
82
- const result = await OAuthUtils.fetchAuthorizationServerMetadata('https://auth.example.com/.well-known/oauth-authorization-server');
83
- expect(result).toEqual(mockAuthServerMetadata);
84
- });
85
- it('should return null when fetch fails', async () => {
86
- mockFetch.mockResolvedValueOnce({
87
- ok: false,
88
- });
89
- const result = await OAuthUtils.fetchAuthorizationServerMetadata('https://auth.example.com/.well-known/oauth-authorization-server');
90
- expect(result).toBeNull();
91
- });
92
- });
93
- describe('discoverAuthorizationServerMetadata', () => {
94
- const mockAuthServerMetadata = {
95
- issuer: 'https://auth.example.com',
96
- authorization_endpoint: 'https://auth.example.com/authorize',
97
- token_endpoint: 'https://auth.example.com/token',
98
- scopes_supported: ['read', 'write'],
99
- };
100
- it('should handle URLs without path components correctly', async () => {
101
- mockFetch
102
- .mockResolvedValueOnce({
103
- ok: false,
104
- })
105
- .mockResolvedValueOnce({
106
- ok: true,
107
- json: () => Promise.resolve(mockAuthServerMetadata),
108
- });
109
- const result = await OAuthUtils.discoverAuthorizationServerMetadata('https://auth.example.com/');
110
- expect(result).toEqual(mockAuthServerMetadata);
111
- expect(mockFetch).nthCalledWith(1, 'https://auth.example.com/.well-known/oauth-authorization-server');
112
- expect(mockFetch).nthCalledWith(2, 'https://auth.example.com/.well-known/openid-configuration');
113
- });
114
- it('should handle URLs with path components correctly', async () => {
115
- mockFetch
116
- .mockResolvedValueOnce({
117
- ok: false,
118
- })
119
- .mockResolvedValueOnce({
120
- ok: false,
121
- })
122
- .mockResolvedValueOnce({
123
- ok: true,
124
- json: () => Promise.resolve(mockAuthServerMetadata),
125
- });
126
- const result = await OAuthUtils.discoverAuthorizationServerMetadata('https://auth.example.com/mcp');
127
- expect(result).toEqual(mockAuthServerMetadata);
128
- expect(mockFetch).nthCalledWith(1, 'https://auth.example.com/.well-known/oauth-authorization-server/mcp');
129
- expect(mockFetch).nthCalledWith(2, 'https://auth.example.com/.well-known/openid-configuration/mcp');
130
- expect(mockFetch).nthCalledWith(3, 'https://auth.example.com/mcp/.well-known/openid-configuration');
131
- });
132
- });
133
- describe('discoverOAuthConfig', () => {
134
- const mockResourceMetadata = {
135
- resource: 'https://example.com/mcp',
136
- authorization_servers: ['https://auth.example.com'],
137
- bearer_methods_supported: ['header'],
138
- };
139
- const mockAuthServerMetadata = {
140
- issuer: 'https://auth.example.com',
141
- authorization_endpoint: 'https://auth.example.com/authorize',
142
- token_endpoint: 'https://auth.example.com/token',
143
- scopes_supported: ['read', 'write'],
144
- };
145
- it('should succeed when resource metadata matches server URL', async () => {
146
- mockFetch
147
- // fetchProtectedResourceMetadata
148
- .mockResolvedValueOnce({
149
- ok: true,
150
- json: () => Promise.resolve(mockResourceMetadata),
151
- })
152
- // discoverAuthorizationServerMetadata
153
- .mockResolvedValueOnce({
154
- ok: true,
155
- json: () => Promise.resolve(mockAuthServerMetadata),
156
- });
157
- const config = await OAuthUtils.discoverOAuthConfig('https://example.com/mcp');
158
- expect(config).toEqual({
159
- authorizationUrl: 'https://auth.example.com/authorize',
160
- tokenUrl: 'https://auth.example.com/token',
161
- scopes: ['read', 'write'],
162
- });
163
- });
164
- it('should throw error when resource metadata does not match server URL', async () => {
165
- mockFetch.mockResolvedValueOnce({
166
- ok: true,
167
- json: () => Promise.resolve({
168
- ...mockResourceMetadata,
169
- resource: 'https://malicious.com/mcp',
170
- }),
171
- });
172
- await expect(OAuthUtils.discoverOAuthConfig('https://example.com/mcp')).rejects.toThrow(/does not match expected/);
173
- });
174
- });
175
- describe('metadataToOAuthConfig', () => {
176
- it('should convert metadata to OAuth config', () => {
177
- const metadata = {
178
- issuer: 'https://auth.example.com',
179
- authorization_endpoint: 'https://auth.example.com/authorize',
180
- token_endpoint: 'https://auth.example.com/token',
181
- scopes_supported: ['read', 'write'],
182
- };
183
- const config = OAuthUtils.metadataToOAuthConfig(metadata);
184
- expect(config).toEqual({
185
- authorizationUrl: 'https://auth.example.com/authorize',
186
- tokenUrl: 'https://auth.example.com/token',
187
- scopes: ['read', 'write'],
188
- });
189
- });
190
- it('should handle empty scopes', () => {
191
- const metadata = {
192
- issuer: 'https://auth.example.com',
193
- authorization_endpoint: 'https://auth.example.com/authorize',
194
- token_endpoint: 'https://auth.example.com/token',
195
- };
196
- const config = OAuthUtils.metadataToOAuthConfig(metadata);
197
- expect(config.scopes).toEqual([]);
198
- });
199
- });
200
- describe('parseWWWAuthenticateHeader', () => {
201
- it('should parse resource metadata URI from WWW-Authenticate header', () => {
202
- const header = 'Bearer realm="example", resource_metadata="https://example.com/.well-known/oauth-protected-resource"';
203
- const result = OAuthUtils.parseWWWAuthenticateHeader(header);
204
- expect(result).toBe('https://example.com/.well-known/oauth-protected-resource');
205
- });
206
- it('should return null when no resource metadata URI is found', () => {
207
- const header = 'Bearer realm="example"';
208
- const result = OAuthUtils.parseWWWAuthenticateHeader(header);
209
- expect(result).toBeNull();
210
- });
211
- });
212
- describe('extractBaseUrl', () => {
213
- it('should extract base URL from MCP server URL', () => {
214
- const result = OAuthUtils.extractBaseUrl('https://example.com/mcp/v1');
215
- expect(result).toBe('https://example.com');
216
- });
217
- it('should handle URLs with ports', () => {
218
- const result = OAuthUtils.extractBaseUrl('https://example.com:8080/mcp/v1');
219
- expect(result).toBe('https://example.com:8080');
220
- });
221
- });
222
- describe('isSSEEndpoint', () => {
223
- it('should return true for SSE endpoints', () => {
224
- expect(OAuthUtils.isSSEEndpoint('https://example.com/sse')).toBe(true);
225
- expect(OAuthUtils.isSSEEndpoint('https://example.com/api/v1/sse')).toBe(true);
226
- });
227
- it('should return true for non-MCP endpoints', () => {
228
- expect(OAuthUtils.isSSEEndpoint('https://example.com/api')).toBe(true);
229
- });
230
- it('should return false for MCP endpoints', () => {
231
- expect(OAuthUtils.isSSEEndpoint('https://example.com/mcp')).toBe(false);
232
- expect(OAuthUtils.isSSEEndpoint('https://example.com/api/mcp/v1')).toBe(false);
233
- });
234
- });
235
- describe('buildResourceParameter', () => {
236
- it('should build resource parameter from endpoint URL', () => {
237
- const result = OAuthUtils.buildResourceParameter('https://example.com/oauth/token');
238
- expect(result).toBe('https://example.com/oauth/token');
239
- });
240
- it('should handle URLs with ports', () => {
241
- const result = OAuthUtils.buildResourceParameter('https://example.com:8080/oauth/token');
242
- expect(result).toBe('https://example.com:8080/oauth/token');
243
- });
244
- it('should strip query parameters from the URL', () => {
245
- const result = OAuthUtils.buildResourceParameter('https://example.com/api/v1/data?user=123&scope=read');
246
- expect(result).toBe('https://example.com/api/v1/data');
247
- });
248
- it('should strip URL fragments from the URL', () => {
249
- const result = OAuthUtils.buildResourceParameter('https://example.com/api/v1/data#section-one');
250
- expect(result).toBe('https://example.com/api/v1/data');
251
- });
252
- it('should throw an error for invalid URLs', () => {
253
- expect(() => OAuthUtils.buildResourceParameter('not-a-url')).toThrow();
254
- });
255
- });
256
- describe('parseTokenExpiry', () => {
257
- it('should return the expiry time in milliseconds for a valid token', () => {
258
- // Corresponds to a date of 2100-01-01T00:00:00Z
259
- const expiry = 4102444800;
260
- const payload = { exp: expiry };
261
- const token = `header.${Buffer.from(JSON.stringify(payload)).toString('base64')}.signature`;
262
- const result = OAuthUtils.parseTokenExpiry(token);
263
- expect(result).toBe(expiry * 1000);
264
- });
265
- it('should return undefined for a token without an expiry time', () => {
266
- const payload = { iat: 1678886400 };
267
- const token = `header.${Buffer.from(JSON.stringify(payload)).toString('base64')}.signature`;
268
- const result = OAuthUtils.parseTokenExpiry(token);
269
- expect(result).toBeUndefined();
270
- });
271
- it('should return undefined for a token with an invalid expiry time', () => {
272
- const payload = { exp: 'not-a-number' };
273
- const token = `header.${Buffer.from(JSON.stringify(payload)).toString('base64')}.signature`;
274
- const result = OAuthUtils.parseTokenExpiry(token);
275
- expect(result).toBeUndefined();
276
- });
277
- it('should return undefined for a malformed token', () => {
278
- const token = 'not-a-valid-token';
279
- const result = OAuthUtils.parseTokenExpiry(token);
280
- expect(result).toBeUndefined();
281
- });
282
- it('should return undefined for a token with invalid JSON in payload', () => {
283
- const token = `header.${Buffer.from('{ not valid json').toString('base64')}.signature`;
284
- const result = OAuthUtils.parseTokenExpiry(token);
285
- expect(result).toBeUndefined();
286
- });
287
- });
288
- });
289
- //# sourceMappingURL=oauth-utils.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-utils.test.js","sourceRoot":"","sources":["../../../src/mcp/oauth-utils.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export {};
@@ -1,117 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { describe, it, expect, vi, beforeEach } from 'vitest';
7
- import { ServiceAccountImpersonationProvider } from './sa-impersonation-provider.js';
8
- const mockRequest = vi.fn();
9
- const mockGetClient = vi.fn(() => ({
10
- request: mockRequest,
11
- }));
12
- // Mock the google-auth-library to use a shared mock function
13
- vi.mock('google-auth-library', async (importOriginal) => {
14
- const actual = await importOriginal();
15
- return {
16
- ...actual,
17
- GoogleAuth: vi.fn().mockImplementation(() => ({
18
- getClient: mockGetClient,
19
- })),
20
- };
21
- });
22
- const defaultSAConfig = {
23
- url: 'https://my-iap-service.run.app',
24
- targetAudience: 'my-audience',
25
- targetServiceAccount: 'my-sa',
26
- };
27
- describe('ServiceAccountImpersonationProvider', () => {
28
- beforeEach(() => {
29
- // Reset mocks before each test
30
- vi.clearAllMocks();
31
- });
32
- it('should throw an error if no URL is provided', () => {
33
- const config = {};
34
- expect(() => new ServiceAccountImpersonationProvider(config)).toThrow('A url or httpUrl must be provided for the Service Account Impersonation provider');
35
- });
36
- it('should throw an error if no targetAudience is provided', () => {
37
- const config = {
38
- url: 'https://my-iap-service.run.app',
39
- };
40
- expect(() => new ServiceAccountImpersonationProvider(config)).toThrow('targetAudience must be provided for the Service Account Impersonation provider');
41
- });
42
- it('should throw an error if no targetSA is provided', () => {
43
- const config = {
44
- url: 'https://my-iap-service.run.app',
45
- targetAudience: 'my-audience',
46
- };
47
- expect(() => new ServiceAccountImpersonationProvider(config)).toThrow('targetServiceAccount must be provided for the Service Account Impersonation provider');
48
- });
49
- it('should correctly get tokens for a valid config', async () => {
50
- const mockToken = 'mock-id-token-123';
51
- mockRequest.mockResolvedValue({ data: { token: mockToken } });
52
- const provider = new ServiceAccountImpersonationProvider(defaultSAConfig);
53
- const tokens = await provider.tokens();
54
- expect(tokens).toBeDefined();
55
- expect(tokens?.access_token).toBe(mockToken);
56
- expect(tokens?.token_type).toBe('Bearer');
57
- });
58
- it('should return undefined if token acquisition fails', async () => {
59
- mockRequest.mockResolvedValue({ data: { token: null } });
60
- const provider = new ServiceAccountImpersonationProvider(defaultSAConfig);
61
- const tokens = await provider.tokens();
62
- expect(tokens).toBeUndefined();
63
- });
64
- it('should make a request with the correct parameters', async () => {
65
- mockRequest.mockResolvedValue({ data: { token: 'test-token' } });
66
- const provider = new ServiceAccountImpersonationProvider(defaultSAConfig);
67
- await provider.tokens();
68
- expect(mockRequest).toHaveBeenCalledWith({
69
- url: 'https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/my-sa:generateIdToken',
70
- method: 'POST',
71
- data: {
72
- audience: 'my-audience',
73
- includeEmail: true,
74
- },
75
- });
76
- });
77
- it('should return a cached token if it is not expired', async () => {
78
- const provider = new ServiceAccountImpersonationProvider(defaultSAConfig);
79
- vi.useFakeTimers();
80
- // jwt payload with exp set to 1 hour from now
81
- const payload = { exp: Math.floor(Date.now() / 1000) + 3600 };
82
- const jwt = `header.${Buffer.from(JSON.stringify(payload)).toString('base64')}.signature`;
83
- mockRequest.mockResolvedValue({ data: { token: jwt } });
84
- const firstTokens = await provider.tokens();
85
- expect(firstTokens?.access_token).toBe(jwt);
86
- expect(mockRequest).toHaveBeenCalledTimes(1);
87
- // Advance time by 30 minutes
88
- vi.advanceTimersByTime(1800 * 1000);
89
- // Seturn cached token
90
- const secondTokens = await provider.tokens();
91
- expect(secondTokens).toBe(firstTokens);
92
- expect(mockRequest).toHaveBeenCalledTimes(1);
93
- vi.useRealTimers();
94
- });
95
- it('should fetch a new token if the cached token is expired (using fake timers)', async () => {
96
- const provider = new ServiceAccountImpersonationProvider(defaultSAConfig);
97
- vi.useFakeTimers();
98
- // Get and cache a token that expires in 1 second
99
- const expiredPayload = { exp: Math.floor(Date.now() / 1000) + 1 };
100
- const expiredJwt = `header.${Buffer.from(JSON.stringify(expiredPayload)).toString('base64')}.signature`;
101
- mockRequest.mockResolvedValue({ data: { token: expiredJwt } });
102
- const firstTokens = await provider.tokens();
103
- expect(firstTokens?.access_token).toBe(expiredJwt);
104
- expect(mockRequest).toHaveBeenCalledTimes(1);
105
- // Prepare the mock for the *next* call
106
- const newPayload = { exp: Math.floor(Date.now() / 1000) + 3600 };
107
- const newJwt = `header.${Buffer.from(JSON.stringify(newPayload)).toString('base64')}.signature`;
108
- mockRequest.mockResolvedValue({ data: { token: newJwt } });
109
- vi.advanceTimersByTime(1001);
110
- const newTokens = await provider.tokens();
111
- expect(newTokens?.access_token).toBe(newJwt);
112
- expect(newTokens?.access_token).not.toBe(expiredJwt);
113
- expect(mockRequest).toHaveBeenCalledTimes(2); // Confirms a new fetch
114
- vi.useRealTimers();
115
- });
116
- });
117
- //# sourceMappingURL=sa-impersonation-provider.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sa-impersonation-provider.test.js","sourceRoot":"","sources":["../../../src/mcp/sa-impersonation-provider.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,mCAAmC,EAAE,MAAM,gCAAgC,CAAC;AAGrF,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAC5B,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACjC,OAAO,EAAE,WAAW;CACrB,CAAC,CAAC,CAAC;AAEJ,6DAA6D;AAC7D,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IACtD,MAAM,MAAM,GAAG,MAAM,cAAc,EAAwC,CAAC;IAC5E,OAAO;QACL,GAAG,MAAM;QACT,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC;YAC5C,SAAS,EAAE,aAAa;SACzB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,eAAe,GAAoB;IACvC,GAAG,EAAE,gCAAgC;IACrC,cAAc,EAAE,aAAa;IAC7B,oBAAoB,EAAE,OAAO;CAC9B,CAAC;AAEF,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,UAAU,CAAC,GAAG,EAAE;QACd,+BAA+B;QAC/B,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,mCAAmC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CACnE,kFAAkF,CACnF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,MAAM,GAAoB;YAC9B,GAAG,EAAE,gCAAgC;SACtC,CAAC;QACF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,mCAAmC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CACnE,gFAAgF,CACjF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,MAAM,GAAoB;YAC9B,GAAG,EAAE,gCAAgC;YACrC,cAAc,EAAE,aAAa;SAC9B,CAAC;QACF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,mCAAmC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CACnE,sFAAsF,CACvF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,SAAS,GAAG,mBAAmB,CAAC;QACtC,WAAW,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAAG,IAAI,mCAAmC,CAAC,eAAe,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;QAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,WAAW,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAEzD,MAAM,QAAQ,GAAG,IAAI,mCAAmC,CAAC,eAAe,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;QAEvC,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,WAAW,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAG,IAAI,mCAAmC,CAAC,eAAe,CAAC,CAAC;QAC1E,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;QAExB,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC;YACvC,GAAG,EAAE,2FAA2F;YAChG,MAAM,EAAE,MAAM;YACd,IAAI,EAAE;gBACJ,QAAQ,EAAE,aAAa;gBACvB,YAAY,EAAE,IAAI;aACnB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,QAAQ,GAAG,IAAI,mCAAmC,CAAC,eAAe,CAAC,CAAC;QAC1E,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,8CAA8C;QAC9C,MAAM,OAAO,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;QAC9D,MAAM,GAAG,GAAG,UAAU,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC1F,WAAW,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAExD,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC5C,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAE7C,6BAA6B;QAC7B,EAAE,CAAC,mBAAmB,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAEpC,sBAAsB;QACtB,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAE7C,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,QAAQ,GAAG,IAAI,mCAAmC,CAAC,eAAe,CAAC,CAAC;QAC1E,EAAE,CAAC,aAAa,EAAE,CAAC;QAEnB,iDAAiD;QACjD,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,UAAU,GAAG,UAAU,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QAExG,WAAW,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC5C,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAE7C,uCAAuC;QACvC,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;QACjE,MAAM,MAAM,GAAG,UAAU,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;QAChG,WAAW,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAE3D,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC1C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,MAAM,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB;QAErE,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export {};
@@ -1,151 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { describe, it, expect, beforeEach } from 'vitest';
7
- import { BaseTokenStorage } from './base-token-storage.js';
8
- class TestTokenStorage extends BaseTokenStorage {
9
- storage = new Map();
10
- async getCredentials(serverName) {
11
- return this.storage.get(serverName) || null;
12
- }
13
- async setCredentials(credentials) {
14
- this.validateCredentials(credentials);
15
- this.storage.set(credentials.serverName, credentials);
16
- }
17
- async deleteCredentials(serverName) {
18
- this.storage.delete(serverName);
19
- }
20
- async listServers() {
21
- return Array.from(this.storage.keys());
22
- }
23
- async getAllCredentials() {
24
- return new Map(this.storage);
25
- }
26
- async clearAll() {
27
- this.storage.clear();
28
- }
29
- validateCredentials(credentials) {
30
- super.validateCredentials(credentials);
31
- }
32
- isTokenExpired(credentials) {
33
- return super.isTokenExpired(credentials);
34
- }
35
- sanitizeServerName(serverName) {
36
- return super.sanitizeServerName(serverName);
37
- }
38
- }
39
- describe('BaseTokenStorage', () => {
40
- let storage;
41
- beforeEach(() => {
42
- storage = new TestTokenStorage('gemini-cli-mcp-oauth');
43
- });
44
- describe('validateCredentials', () => {
45
- it('should validate valid credentials', () => {
46
- const credentials = {
47
- serverName: 'test-server',
48
- token: {
49
- accessToken: 'access-token',
50
- tokenType: 'Bearer',
51
- },
52
- updatedAt: Date.now(),
53
- };
54
- expect(() => storage.validateCredentials(credentials)).not.toThrow();
55
- });
56
- it.each([
57
- {
58
- desc: 'missing server name',
59
- credentials: {
60
- serverName: '',
61
- token: {
62
- accessToken: 'access-token',
63
- tokenType: 'Bearer',
64
- },
65
- updatedAt: Date.now(),
66
- },
67
- expectedError: 'Server name is required',
68
- },
69
- {
70
- desc: 'missing token',
71
- credentials: {
72
- serverName: 'test-server',
73
- token: null,
74
- updatedAt: Date.now(),
75
- },
76
- expectedError: 'Token is required',
77
- },
78
- {
79
- desc: 'missing access token',
80
- credentials: {
81
- serverName: 'test-server',
82
- token: {
83
- accessToken: '',
84
- tokenType: 'Bearer',
85
- },
86
- updatedAt: Date.now(),
87
- },
88
- expectedError: 'Access token is required',
89
- },
90
- {
91
- desc: 'missing token type',
92
- credentials: {
93
- serverName: 'test-server',
94
- token: {
95
- accessToken: 'access-token',
96
- tokenType: '',
97
- },
98
- updatedAt: Date.now(),
99
- },
100
- expectedError: 'Token type is required',
101
- },
102
- ])('should throw for $desc', ({ credentials, expectedError }) => {
103
- expect(() => storage.validateCredentials(credentials)).toThrow(expectedError);
104
- });
105
- });
106
- describe('isTokenExpired', () => {
107
- it.each([
108
- ['tokens without expiry', undefined, false],
109
- ['valid tokens', Date.now() + 3600000, false],
110
- ['expired tokens', Date.now() - 3600000, true],
111
- [
112
- 'tokens within 5-minute buffer (4 minutes from now)',
113
- Date.now() + 4 * 60 * 1000,
114
- true,
115
- ],
116
- ])('should return %s for %s', (_, expiresAt, expected) => {
117
- const credentials = {
118
- serverName: 'test-server',
119
- token: {
120
- accessToken: 'access-token',
121
- tokenType: 'Bearer',
122
- ...(expiresAt !== undefined && { expiresAt }),
123
- },
124
- updatedAt: Date.now(),
125
- };
126
- expect(storage.isTokenExpired(credentials)).toBe(expected);
127
- });
128
- });
129
- describe('sanitizeServerName', () => {
130
- it.each([
131
- [
132
- 'valid characters',
133
- 'test-server.example_123',
134
- 'test-server.example_123',
135
- ],
136
- [
137
- 'invalid characters with underscore replacement',
138
- 'test@server#example',
139
- 'test_server_example',
140
- ],
141
- [
142
- 'special characters',
143
- 'test server/example:123',
144
- 'test_server_example_123',
145
- ],
146
- ])('should handle %s', (_, input, expected) => {
147
- expect(storage.sanitizeServerName(input)).toBe(expected);
148
- });
149
- });
150
- });
151
- //# sourceMappingURL=base-token-storage.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-token-storage.test.js","sourceRoot":"","sources":["../../../../src/mcp/token-storage/base-token-storage.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export {};