@@ -3,7 +3,7 @@ requires = ["setuptools>=61.0", "setuptools-scm>=8.0"]
33build-backend = " setuptools.build_meta"
44
55[tool .setuptools_scm ]
6- fallback_version = " 1.1.4.dev0 "
6+ fallback_version = " 1.2.0 "
77
88[tool .uv ]
99required-version = " >=0.7.0"
@@ -23,7 +23,7 @@ constraint-dependencies = [
2323 " msgpack>=1.2.1" ,
2424 " pillow>=12.3.0" , # CVE-2026-42311: PSD RCE; CVE-2026-55379/55380/54060: font/GD DoS
2525 " protobuf>=5.29.6" , # CVE-2025-4565 + CVE-2026-0994: parsing vulnerabilities
26- " pyasn1>=0.6.3 " , # CVE-2026-30922: DoS via unbounded recursion
26+ " pyasn1>=0.6.4 " , # CVE-2026-30922: DoS via unbounded recursion
2727 " pydantic-settings>=2.14.2" ,
2828 " python-engineio>=4.13.2" ,
2929 " python-multipart>=0.0.31" , # CVE-2026-40347: header injection; CVE-2026-42561: DoS via oversized headers
@@ -87,7 +87,7 @@ dependencies = [
8787
8888[project .optional-dependencies ]
8989client = [
90- " ogx-client>=1.1.3 " , # Optional for library-only usage
90+ " ogx-client==1.2.0 " , # Optional for library-only usage
9191]
9292openclient = [
9393 " ogx-open-client>=1.0.2" ,
@@ -112,7 +112,6 @@ starter = [
112112 " markitdown[all]" ,
113113 " matplotlib" ,
114114 " nltk>=3.10.0" , # CVE-2026-54293/CVE-2026-12243: path traversal in nltk.data.load()
115- " neo4j" ,
116115 " numpy" ,
117116 " ollama" ,
118117 " pandas" ,
@@ -192,7 +191,6 @@ type_checking = [
192191 " faiss-cpu" ,
193192 " lm-format-enforcer" ,
194193 " mcp>=1.23.0,<2.0" ,
195- " neo4j" ,
196194 " ollama" ,
197195 " langchain-openai>=1.2.2" ,
198196 " langchain-core>=0.3.85" , # CVE-2026-44843: insecure deserialization
@@ -205,7 +203,6 @@ test-common = [
205203 " asyncpg>=0.29.0" ,
206204 " chardet" ,
207205 " mcp>=1.23.0,<2.0" ,
208- " neo4j" ,
209206 " pgvector>=0.3.0" ,
210207 " psycopg2-binary>=2.9.0" ,
211208 " pypdf>=6.13.3" ,
@@ -369,8 +366,10 @@ convention = "google"
369366# Security rule suppressions for known false positives
370367"src/ogx/core/datatypes.py" = [" S105" ] # Enum values like OAUTH2_TOKEN are not hardcoded secrets
371368"src/ogx/distributions/**/*.py" = [" S106" ] # Env var template defaults (e.g. ${env.PGVECTOR_PASSWORD:=})
372- "src/ogx/providers/remote/vector_io/neo4j/config.py" = [" S107" ] # Env var template defaults in sample_run_config
369+ "src/ogx/providers/remote/inference/databricks/config.py" = [" S107" ] # Env var template defaults in sample_run_config
370+ "src/ogx/providers/remote/inference/gemini/config.py" = [" S107" ] # Env var template defaults in sample_run_config
373371"src/ogx/providers/remote/vector_io/pgvector/config.py" = [" S107" ] # Env var template defaults in sample_run_config
372+ "src/ogx/providers/remote/inference/oci/auth.py" = [" S106" ] # pass_phrase="none" placeholder
374373"src/ogx/cli/**/*.py" = [" S603" , " S607" ] # CLI tools legitimately invoke subprocesses
375374"src/ogx/core/utils/exec.py" = [" S603" ] # Command execution utility
376375"src/ogx/core/storage/**/*.py" = [" S608" ] # Table name interpolation covered by custom SQL injection hook
@@ -405,6 +404,10 @@ exclude = [
405404 # These files have some type hints but fail strict type checking due to
406405 # incomplete annotations, Any usage, or other strict mode violations.
407406 #
407+ # Core files (3 files)
408+ " ^src/ogx/core/server/routes\\ .py$" ,
409+ " ^src/ogx/core/server/server\\ .py$" ,
410+ " ^src/ogx/core/store/registry\\ .py$" ,
408411 # CLI files (7 files)
409412 " ^src/ogx/cli/stack/_list_deps\\ .py$" ,
410413 " ^src/ogx/cli/stack/list_apis\\ .py$" ,
@@ -420,6 +423,12 @@ exclude = [
420423 " ^src/ogx/providers/inline/file_processor/pypdf/adapter\\ .py$" ,
421424 " ^src/ogx/providers/inline/file_processor/pypdf/pypdf\\ .py$" ,
422425 " ^src/ogx/providers/inline/files/localfs/__init__\\ .py$" ,
426+ " ^src/ogx/providers/inline/inference/sentence_transformers/__init__\\ .py$" ,
427+ " ^src/ogx/providers/inline/inference/sentence_transformers/config\\ .py$" ,
428+ " ^src/ogx/providers/inline/inference/sentence_transformers/sentence_transformers\\ .py$" ,
429+ " ^src/ogx/providers/inline/inference/transformers/__init__\\ .py$" ,
430+ " ^src/ogx/providers/inline/inference/transformers/config\\ .py$" ,
431+ " ^src/ogx/providers/inline/inference/transformers/transformers\\ .py$" ,
423432 " ^src/ogx/providers/inline/tool_runtime/file_search/__init__\\ .py$" ,
424433 " ^src/ogx/providers/inline/tool_runtime/file_search/context_retriever\\ .py$" ,
425434 " ^src/ogx/providers/inline/tool_runtime/file_search/file_search\\ .py$" ,
@@ -430,21 +439,58 @@ exclude = [
430439 " ^src/ogx/providers/inline/vector_io/qdrant/__init__\\ .py$" ,
431440 " ^src/ogx/providers/inline/vector_io/sqlite_vec/__init__\\ .py$" ,
432441 " ^src/ogx/providers/inline/vector_io/sqlite_vec/sqlite_vec\\ .py$" ,
433- # Providers - Remote
442+ # Providers - Remote (40 files)
434443 " ^src/ogx/providers/remote/files/openai/__init__\\ .py$" ,
435444 " ^src/ogx/providers/remote/files/s3/__init__\\ .py$" ,
445+ " ^src/ogx/providers/remote/inference/anthropic/__init__\\ .py$" ,
446+ " ^src/ogx/providers/remote/inference/anthropic/anthropic\\ .py$" ,
447+ " ^src/ogx/providers/remote/inference/anthropic/config\\ .py$" ,
448+ " ^src/ogx/providers/remote/inference/azure/__init__\\ .py$" ,
449+ " ^src/ogx/providers/remote/inference/azure/config\\ .py$" ,
450+ " ^src/ogx/providers/remote/inference/cerebras/__init__\\ .py$" ,
451+ " ^src/ogx/providers/remote/inference/cerebras/config\\ .py$" ,
452+ " ^src/ogx/providers/remote/inference/databricks/__init__\\ .py$" ,
453+ " ^src/ogx/providers/remote/inference/fireworks/__init__\\ .py$" ,
454+ " ^src/ogx/providers/remote/inference/fireworks/config\\ .py$" ,
455+ " ^src/ogx/providers/remote/inference/gemini/__init__\\ .py$" ,
456+ " ^src/ogx/providers/remote/inference/gemini/config\\ .py$" ,
457+ " ^src/ogx/providers/remote/inference/gemini/gemini\\ .py$" ,
458+ " ^src/ogx/providers/remote/inference/groq/__init__\\ .py$" ,
459+ " ^src/ogx/providers/remote/inference/groq/config\\ .py$" ,
460+ " ^src/ogx/providers/remote/inference/llama_cpp_server/__init__\\ .py$" ,
461+ " ^src/ogx/providers/remote/inference/llama_cpp_server/config\\ .py$" ,
462+ " ^src/ogx/providers/remote/inference/llama_openai_compat/__init__\\ .py$" ,
463+ " ^src/ogx/providers/remote/inference/llama_openai_compat/config\\ .py$" ,
464+ " ^src/ogx/providers/remote/inference/ollama/__init__\\ .py$" ,
465+ " ^src/ogx/providers/remote/inference/ollama/config\\ .py$" ,
436466 " ^src/ogx/providers/remote/inference/ollama/ollama\\ .py$" ,
467+ " ^src/ogx/providers/remote/inference/openai/__init__\\ .py$" ,
468+ " ^src/ogx/providers/remote/inference/openai/config\\ .py$" ,
469+ " ^src/ogx/providers/remote/inference/sambanova/__init__\\ .py$" ,
470+ " ^src/ogx/providers/remote/inference/sambanova/config\\ .py$" ,
471+ " ^src/ogx/providers/remote/inference/together/__init__\\ .py$" ,
472+ " ^src/ogx/providers/remote/inference/together/config\\ .py$" ,
473+ " ^src/ogx/providers/remote/inference/together/together\\ .py$" ,
474+ " ^src/ogx/providers/remote/inference/vertexai/__init__\\ .py$" ,
475+ " ^src/ogx/providers/remote/inference/vertexai/config\\ .py$" ,
476+ " ^src/ogx/providers/remote/inference/vertexai/vertexai\\ .py$" ,
477+ " ^src/ogx/providers/remote/inference/vllm/__init__\\ .py$" ,
478+ " ^src/ogx/providers/remote/inference/vllm/config\\ .py$" ,
437479 " ^src/ogx/providers/remote/vector_io/infinispan/__init__\\ .py$" ,
438480 " ^src/ogx/providers/remote/vector_io/infinispan/infinispan\\ .py$" ,
439481 " ^src/ogx/providers/remote/vector_io/oci/__init__\\ .py$" ,
440482 " ^src/ogx/providers/remote/vector_io/oci/oci26ai\\ .py$" ,
441- # Providers - Utils
483+ # Providers - Utils (15 files)
442484 " ^src/ogx/providers/utils/bedrock/client\\ .py$" ,
443485 " ^src/ogx/providers/utils/bedrock/config\\ .py$" ,
444486 " ^src/ogx/providers/utils/bedrock/refreshable_boto_session\\ .py$" ,
445487 " ^src/ogx/providers/utils/common/data_url\\ .py$" ,
488+ " ^src/ogx/providers/utils/inference/embedding_mixin\\ .py$" ,
446489 " ^src/ogx/providers/utils/inference/inference_store\\ .py$" ,
447490 " ^src/ogx/providers/utils/inference/model_registry\\ .py$" ,
491+ " ^src/ogx/providers/utils/inference/openai_compat\\ .py$" ,
492+ " ^src/ogx/providers/utils/inference/openai_mixin\\ .py$" ,
493+ " ^src/ogx/providers/utils/inference/prompt_adapter\\ .py$" ,
448494 " ^src/ogx/providers/utils/memory/vector_store\\ .py$" ,
449495 " ^src/ogx/providers/utils/responses/responses_store\\ .py$" ,
450496 " ^src/ogx/providers/utils/tools/mcp\\ .py$" ,
@@ -469,7 +515,10 @@ exclude = [
469515 " ^src/ogx/core/routing_tables/" ,
470516 # Provider directories - Remote
471517 " ^src/ogx/providers/remote/inference/bedrock/" ,
518+ " ^src/ogx/providers/remote/inference/nvidia/" ,
472519 " ^src/ogx/providers/remote/inference/oci/" ,
520+ " ^src/ogx/providers/remote/inference/passthrough/" ,
521+ " ^src/ogx/providers/remote/inference/runpod/" ,
473522 " ^src/ogx/providers/remote/inference/watsonx/" ,
474523 " ^src/ogx/providers/remote/tool_runtime/bing_search/" ,
475524 " ^src/ogx/providers/remote/tool_runtime/brave_search/" ,
0 commit comments