aiecs 1.4.2__py3-none-any.whl → 1.4.3__py3-none-any.whl

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.

Potentially problematic release.


This version of aiecs might be problematic. Click here for more details.

aiecs/__init__.py CHANGED
@@ -5,7 +5,7 @@ A powerful Python middleware framework for building AI-powered applications
5
5
  with tool orchestration, task execution, and multi-provider LLM support.
6
6
  """
7
7
 
8
- __version__ = "1.4.2"
8
+ __version__ = "1.4.3"
9
9
  __author__ = "AIECS Team"
10
10
  __email__ = "iretbl@gmail.com"
11
11
 
aiecs/main.py CHANGED
@@ -142,7 +142,7 @@ async def lifespan(app: FastAPI):
142
142
  app = FastAPI(
143
143
  title="AIECS - AI Execute Services",
144
144
  description="Middleware service for AI-powered task execution and tool orchestration",
145
- version="1.4.2",
145
+ version="1.4.3",
146
146
  lifespan=lifespan
147
147
  )
148
148
 
@@ -167,7 +167,7 @@ async def health_check():
167
167
  return {
168
168
  "status": "healthy",
169
169
  "service": "aiecs",
170
- "version": "1.4.2"
170
+ "version": "1.4.3"
171
171
  }
172
172
 
173
173
 
@@ -88,7 +88,11 @@ class DocumentParserTool(BaseTool):
88
88
 
89
89
  # Configuration schema
90
90
  class Config(BaseModel):
91
- """Configuration for the document parser tool"""
91
+ """Configuration for the document parser tool
92
+
93
+ Automatically reads from environment variables with DOC_PARSER_ prefix.
94
+ Example: DOC_PARSER_GCS_PROJECT_ID -> gcs_project_id
95
+ """
92
96
  model_config = ConfigDict(env_prefix="DOC_PARSER_")
93
97
 
94
98
  user_agent: str = Field(
@@ -133,7 +137,15 @@ class DocumentParserTool(BaseTool):
133
137
  super().__init__(config)
134
138
 
135
139
  # Parse configuration
136
- self.config = self.Config(**(config or {}))
140
+ # If config is None or empty, let Pydantic read from environment variables
141
+ # This ensures that get_tool() can properly load config from .env files
142
+ if config:
143
+ # Filter out None values to allow env vars to be used for missing keys
144
+ filtered_config = {k: v for k, v in config.items() if v is not None}
145
+ self.config = self.Config(**filtered_config)
146
+ else:
147
+ # No config provided, read entirely from environment variables
148
+ self.config = self.Config()
137
149
 
138
150
  self.logger = logging.getLogger(__name__)
139
151
  os.makedirs(self.config.temp_dir, exist_ok=True)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aiecs
3
- Version: 1.4.2
3
+ Version: 1.4.3
4
4
  Summary: AI Execute Services - A middleware framework for AI-powered task execution and tool orchestration
5
5
  Author-email: AIECS Team <iretbl@gmail.com>
6
6
  License-Expression: MIT
@@ -1,7 +1,7 @@
1
- aiecs/__init__.py,sha256=qNmbC4FbeT8jK7KfO_SMb2Vn2npwrsentzGzL0K7kCc,1859
1
+ aiecs/__init__.py,sha256=uLMpkNoSLQ3nUguXQnVSj98iI9d0TDLsOffjvhB1CRE,1859
2
2
  aiecs/__main__.py,sha256=AfQpzy3SgwWuP4DuymYcm4MISMuzqwhxxGSYo53PBvY,1035
3
3
  aiecs/aiecs_client.py,sha256=gIqecRBBH_bYIWhqiHCemdVgmGb9Jqdxf1b6RoqXWlQ,17276
4
- aiecs/main.py,sha256=ZVAnMjGV93G58Dpq9GeWMf9gjU5eebcsNTK0VxJ6lJw,10837
4
+ aiecs/main.py,sha256=4wb6vcdHJTdaLqO3Z10yKBMhpqmFmAVnfpaJpWCsIHc,10837
5
5
  aiecs/application/__init__.py,sha256=NkmrUH1DqxJ3vaVC8QwscNdlWqHfC7ZagL4k3nZ_qz4,192
6
6
  aiecs/application/executors/__init__.py,sha256=WIl7L9HBsEhNfbNtJdvBvFUJXzESvNZVaiAA6tdtJcs,191
7
7
  aiecs/application/executors/operation_executor.py,sha256=-7mFo1hUnWdehVPg0fnSiRhW3LACpIiyLSH-iu7bX4U,13818
@@ -150,7 +150,7 @@ aiecs/tools/docs/ai_document_writer_orchestrator.py,sha256=Q2P4313JQYOYjpBchQMKo
150
150
  aiecs/tools/docs/content_insertion_tool.py,sha256=iQvNDnmA4XBg7RT8o04vqhc-cZmZ_bsfYMFe9ankHZY,49351
151
151
  aiecs/tools/docs/document_creator_tool.py,sha256=QLHKEBvZjtDSgaT1a0a7SrjbPlfSJyVfKYX8u_x2smg,39413
152
152
  aiecs/tools/docs/document_layout_tool.py,sha256=L5ZyFyShNX6FW1e374m21ZpvNs8eZsmj8l85LFRq2xo,45234
153
- aiecs/tools/docs/document_parser_tool.py,sha256=TuECotyEh9lirZ2L3-lixBTTvhJtJpNTt188z8GIejw,38366
153
+ aiecs/tools/docs/document_parser_tool.py,sha256=nuHiDCHPu5laWb8UlS00CkEG7VlaIWNgaSZwiRFWfLE,39005
154
154
  aiecs/tools/docs/document_writer_tool.py,sha256=BPfBiv2D9NSdjDD_ByFTfiYTqTSexSNWBmj_gfLpA9c,69061
155
155
  aiecs/tools/search_tool/__init__.py,sha256=tn2vBakmr2tExbUtfiCjhUL_KVqkhZFEHU-t6XbG9hw,2664
156
156
  aiecs/tools/search_tool/analyzers.py,sha256=d34NT5PKNamOJtVyGkmjD3Tk3EE32vSzM-gWSw8VO9s,21266
@@ -195,9 +195,9 @@ aiecs/utils/prompt_loader.py,sha256=cBS2bZXpYQOWSiOGkhwIzyy3_bETqwIblRi_9qQT9iQ,
195
195
  aiecs/utils/token_usage_repository.py,sha256=1xjenLYwC0YT6lKZFEGO4scRCXLuWdec2MWjzih5SZY,10210
196
196
  aiecs/ws/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
197
197
  aiecs/ws/socket_server.py,sha256=j_9idVY_rWlTsF51FgmuhWCWFVt7_gAHL8vNg3IxV5g,1476
198
- aiecs-1.4.2.dist-info/licenses/LICENSE,sha256=_1YRaIS0eZu1pv6xfz245UkU0i1Va2B841hv3OWRwqg,12494
199
- aiecs-1.4.2.dist-info/METADATA,sha256=KnBhYuukPJbvvi-HJMveUfoRbfhCl_PtuiA5SjA00Z4,16635
200
- aiecs-1.4.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
201
- aiecs-1.4.2.dist-info/entry_points.txt,sha256=TfLBuwLOfgQqKvnoF1sgTS19-Hgl0aWvCZjIdblIiig,667
202
- aiecs-1.4.2.dist-info/top_level.txt,sha256=22IlUlOqh9Ni3jXlQNMNUqzbW8dcxXPeR_EQ-BJVcV8,6
203
- aiecs-1.4.2.dist-info/RECORD,,
198
+ aiecs-1.4.3.dist-info/licenses/LICENSE,sha256=_1YRaIS0eZu1pv6xfz245UkU0i1Va2B841hv3OWRwqg,12494
199
+ aiecs-1.4.3.dist-info/METADATA,sha256=aws104iKIrRPy8Lh3chFnBzMHQz9ZuqdC-vVavGLgqM,16635
200
+ aiecs-1.4.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
201
+ aiecs-1.4.3.dist-info/entry_points.txt,sha256=TfLBuwLOfgQqKvnoF1sgTS19-Hgl0aWvCZjIdblIiig,667
202
+ aiecs-1.4.3.dist-info/top_level.txt,sha256=22IlUlOqh9Ni3jXlQNMNUqzbW8dcxXPeR_EQ-BJVcV8,6
203
+ aiecs-1.4.3.dist-info/RECORD,,
File without changes