From 735a0011b057e876d36832de1eeaadc38a6c905a Mon Sep 17 00:00:00 2001 From: huanghuoguoguo <60681390+huanghuoguoguo@users.noreply.github.com> Date: Sat, 13 Jun 2026 17:52:25 +0800 Subject: [PATCH] fix(agent-runner): reconcile master rebase --- .../versions/0005_migrate_runner_config.py | 4 +- .../unit_tests/provider/test_model_service.py | 70 ------------------- 2 files changed, 2 insertions(+), 72 deletions(-) diff --git a/src/langbot/pkg/persistence/alembic/versions/0005_migrate_runner_config.py b/src/langbot/pkg/persistence/alembic/versions/0005_migrate_runner_config.py index 98442277b..aa47bdb08 100644 --- a/src/langbot/pkg/persistence/alembic/versions/0005_migrate_runner_config.py +++ b/src/langbot/pkg/persistence/alembic/versions/0005_migrate_runner_config.py @@ -1,7 +1,7 @@ """Normalize AgentRunner config containers Revision ID: 0005_migrate_runner_config -Revises: 0004_add_mcp_readme +Revises: 0005_add_llm_context_length Create Date: 2026-05-10 """ @@ -12,7 +12,7 @@ from alembic import op from langbot.pkg.agent.runner.config_migration import ConfigMigration revision = '0005_migrate_runner_config' -down_revision = '0004_add_mcp_readme' +down_revision = '0005_add_llm_context_length' branch_labels = None depends_on = None diff --git a/tests/unit_tests/provider/test_model_service.py b/tests/unit_tests/provider/test_model_service.py index 472207aad..c5cfd118a 100644 --- a/tests/unit_tests/provider/test_model_service.py +++ b/tests/unit_tests/provider/test_model_service.py @@ -18,8 +18,6 @@ from langbot.pkg.entity.persistence import model as persistence_model from langbot.pkg.pipeline.preproc.preproc import PreProcessor from langbot.pkg.provider.modelmgr import requester from langbot.pkg.provider.modelmgr.modelmgr import ModelManager -from langbot.pkg.provider.modelmgr.requesters.chatcmpl import OpenAIChatCompletions -from langbot.pkg.provider.modelmgr.requesters.modelscopechatcmpl import ModelScopeChatCompletions from langbot.pkg.provider.modelmgr.token import TokenManager @@ -117,74 +115,6 @@ def test_token_manager_next_token_ignores_empty_token_list(): assert token_mgr.using_token_index == 0 -@pytest.mark.asyncio -async def test_openai_requester_initialize_uses_placeholder_api_key(monkeypatch): - captured_kwargs = {} - - def fake_client(**kwargs): - captured_kwargs.update(kwargs) - return SimpleNamespace(**kwargs) - - monkeypatch.setattr('langbot.pkg.provider.modelmgr.requesters.chatcmpl.openai.AsyncClient', fake_client) - monkeypatch.setattr('langbot.pkg.provider.modelmgr.requesters.chatcmpl.httpx.AsyncClient', fake_client) - - requester_inst = OpenAIChatCompletions(ap=SimpleNamespace(), config={}) - await requester_inst.initialize() - - assert captured_kwargs['api_key'] == OpenAIChatCompletions.init_api_key - - -@pytest.mark.asyncio -async def test_modelscope_requester_initialize_uses_placeholder_api_key(monkeypatch): - captured_kwargs = {} - - def fake_client(**kwargs): - captured_kwargs.update(kwargs) - return SimpleNamespace(**kwargs) - - monkeypatch.setattr('langbot.pkg.provider.modelmgr.requesters.modelscopechatcmpl.openai.AsyncClient', fake_client) - monkeypatch.setattr('langbot.pkg.provider.modelmgr.requesters.modelscopechatcmpl.httpx.AsyncClient', fake_client) - - requester_inst = ModelScopeChatCompletions(ap=SimpleNamespace(), config={}) - await requester_inst.initialize() - - assert captured_kwargs['api_key'] == ModelScopeChatCompletions.init_api_key - - -@pytest.mark.asyncio -async def test_openai_embedding_call_overrides_placeholder_api_key(): - captured_request = {} - - async def fake_create(**kwargs): - captured_request['api_key'] = fake_client.api_key - captured_request['kwargs'] = kwargs - return SimpleNamespace( - data=[SimpleNamespace(embedding=[0.1, 0.2])], - usage=SimpleNamespace(prompt_tokens=3, total_tokens=3), - ) - - fake_client = SimpleNamespace( - api_key=OpenAIChatCompletions.init_api_key, - embeddings=SimpleNamespace(create=fake_create), - ) - - requester_inst = OpenAIChatCompletions(ap=SimpleNamespace(), config={}) - requester_inst.client = fake_client - - embeddings, usage_info = await requester_inst.invoke_embedding( - model=requester.RuntimeEmbeddingModel( - model_entity=SimpleNamespace(name='text-embedding-3-small', extra_args={}), - provider=SimpleNamespace(token_mgr=TokenManager('provider-uuid', [' runtime-key ', '', 'runtime-key'])), - ), - input_text=['hello'], - ) - - assert captured_request['api_key'] == 'runtime-key' - assert captured_request['kwargs']['model'] == 'text-embedding-3-small' - assert embeddings == [[0.1, 0.2]] - assert usage_info == {'prompt_tokens': 3, 'total_tokens': 3} - - @pytest.mark.asyncio async def test_model_manager_initialize_skips_space_sync_after_timeout(): ap = SimpleNamespace()