agenta 0.20.0a3__py3-none-any.whl → 0.20.0a6__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 agenta might be problematic. Click here for more details.

@@ -772,14 +772,6 @@ class AsyncObservabilityClient:
772
772
  ],
773
773
  )
774
774
  """
775
-
776
- logging.debug("----")
777
- logging.debug(
778
- urllib.parse.urljoin(
779
- f"{self._client_wrapper.get_base_url()}/", "observability/trace/"
780
- ),
781
- )
782
- logging.debug(self._client_wrapper.get_headers())
783
775
  _response = await self._client_wrapper.httpx_client.request(
784
776
  "POST",
785
777
  urllib.parse.urljoin(
@@ -26,7 +26,9 @@ class Span(pydantic.BaseModel):
26
26
  spankind: str
27
27
  status: SpanStatusCode
28
28
  metadata: typing.Dict[str, typing.Any]
29
+ trace_id: str
29
30
  user_id: typing.Optional[str]
31
+ content: typing.Dict[str, typing.Any]
30
32
  children: typing.Optional[typing.List[Span]]
31
33
 
32
34
  def json(self, **kwargs: typing.Any) -> str:
agenta/sdk/agenta_init.py CHANGED
@@ -68,12 +68,6 @@ class AgentaSingleton:
68
68
  api_key or config.get("api_key") or os.environ.get("AGENTA_API_KEY")
69
69
  )
70
70
 
71
- print(api_key)
72
- print(config.get("api_key"))
73
- print(os.environ.get("AGENTA_API_KEY"))
74
- print(self.api_key)
75
- print(os.environ)
76
-
77
71
  if not self.app_id:
78
72
  raise ValueError(
79
73
  "App ID must be specified. You can provide it in one of the following ways:\n"
@@ -161,7 +161,7 @@ class entrypoint(BaseDecorator):
161
161
  entrypoint.routes.append(
162
162
  {
163
163
  "func": func.__name__,
164
- "endpoint": DEFAULT_PATH,
164
+ "endpoint": route,
165
165
  "params": {**config_params, **func_signature.parameters},
166
166
  }
167
167
  )
@@ -171,7 +171,7 @@ class entrypoint(BaseDecorator):
171
171
  entrypoint.routes.append(
172
172
  {
173
173
  "func": func.__name__,
174
- "endpoint": route[1:].replace("/", "_"),
174
+ "endpoint": route,
175
175
  "params": {**config_params, **func_signature.parameters},
176
176
  }
177
177
  )
@@ -331,32 +331,31 @@ class entrypoint(BaseDecorator):
331
331
  if isinstance(result, Context):
332
332
  save_context(result)
333
333
 
334
- DEFAULT_KEY = "message"
334
+ data = result
335
335
 
336
- if isinstance(result, Dict):
336
+ # PATCH : if result is not a dict, make it a dict
337
+ if not isinstance(result, dict):
337
338
  data = result
338
-
339
- # EVENTUALLY THIS PATCH SHOULD BE REMOVED
340
- # PATCH: if message in result then only keep message key/value
341
- # DEFAULT_KEY = "message"
342
-
343
- if "message" in result.keys():
344
- data = {DEFAULT_KEY: result["message"]}
345
- # END OF PATCH
346
-
347
- elif isinstance(result, str):
348
- data = {DEFAULT_KEY: result}
349
- elif isinstance(result, int) or isinstance(result, float):
350
- data = {DEFAULT_KEY: str(result)}
339
+ else:
340
+ # PATCH : if result is a legacy dict, clean it up
341
+ if (
342
+ "message" in result.keys()
343
+ and "cost" in result.keys()
344
+ and "usage" in result.keys()
345
+ ):
346
+ data = {"message": result["message"]}
347
+ # END OF PATH
351
348
 
352
349
  if data is None:
353
- warning = (
350
+ data = (
354
351
  "Function executed successfully, but did return None. \n Are you sure you did not forget to return a value?",
355
352
  )
356
353
 
357
- data = {"message": warning}
354
+ response = BaseResponse(data=data, trace=trace)
358
355
 
359
- return BaseResponse(data=data, trace=trace)
356
+ logging.debug(response)
357
+
358
+ return response
360
359
 
361
360
  except Exception as e:
362
361
  self.handle_exception(e)
@@ -565,7 +564,7 @@ class entrypoint(BaseDecorator):
565
564
  print("-> data")
566
565
  print(json.dumps(result.data, indent=2))
567
566
  print("-> trace")
568
- # print(json.dumps(result.trace, indent=2))
567
+ print(json.dumps(result.trace, indent=2))
569
568
 
570
569
  def override_schema(
571
570
  self, openapi_schema: dict, func: str, endpoint: str, params: dict
@@ -636,6 +635,9 @@ class entrypoint(BaseDecorator):
636
635
 
637
636
  return param_type
638
637
 
638
+ # Goes from '/some/path' to 'some_path'
639
+ endpoint = endpoint[1:].replace("/", "_")
640
+
639
641
  schema_to_override = openapi_schema["components"]["schemas"][
640
642
  f"Body_{func}_{endpoint}_post"
641
643
  ]["properties"]
@@ -65,19 +65,24 @@ class instrument(BaseDecorator):
65
65
  ):
66
66
  result = await func(*args, **kwargs)
67
67
 
68
- outputs = result
68
+ TRACE_DEFAULT_KEY = "__default__"
69
69
 
70
- # EVENTUALLY THIS PATCH SHOULD BE REMOVED
71
- # PATCH : if result is not a dict, make it a dict, in span
72
- DEFAULT_KEY = "default"
70
+ outputs = result
73
71
 
72
+ # PATCH : if result is not a dict, make it a dict
74
73
  if not isinstance(result, dict):
75
- value = result
76
-
77
- if result.__class__.__module__ != "__builtin__":
78
- value = repr(value)
79
-
80
- outputs = {DEFAULT_KEY: result}
74
+ outputs = {TRACE_DEFAULT_KEY: result}
75
+ else:
76
+ # PATCH : if result is a legacy dict, clean it up
77
+ if (
78
+ "message" in result.keys()
79
+ and "cost" in result.keys()
80
+ and "usage" in result.keys()
81
+ ):
82
+ outputs = {"message": result["message"]}
83
+
84
+ ag.tracing.store_cost(result["cost"])
85
+ ag.tracing.store_usage(result["usage"])
81
86
  # END OF PATH
82
87
 
83
88
  ag.tracing.store_outputs(outputs)
@@ -97,19 +102,24 @@ class instrument(BaseDecorator):
97
102
  ):
98
103
  result = func(*args, **kwargs)
99
104
 
100
- outputs = result
105
+ TRACE_DEFAULT_KEY = "__default__"
101
106
 
102
- # EVENTUALLY THIS PATCH SHOULD BE REMOVED
103
- # PATCH : if result is not a dict, make it a dict, in span
104
- DEFAULT_KEY = "default"
107
+ outputs = result
105
108
 
109
+ # PATCH : if result is not a dict, make it a dict
106
110
  if not isinstance(result, dict):
107
- value = result
108
-
109
- if result.__class__.__module__ != "__builtin__":
110
- value = repr(value)
111
-
112
- outputs = {DEFAULT_KEY: result}
111
+ outputs = {TRACE_DEFAULT_KEY: result}
112
+ else:
113
+ # PATCH : if result is a legacy dict, clean it up
114
+ if (
115
+ "message" in result.keys()
116
+ and "cost" in result.keys()
117
+ and "usage" in result.keys()
118
+ ):
119
+ outputs = {"message": result["message"]}
120
+
121
+ ag.tracing.store_cost(result["cost"])
122
+ ag.tracing.store_usage(result["usage"])
113
123
  # END OF PATH
114
124
 
115
125
  ag.tracing.store_outputs(outputs)
@@ -59,51 +59,30 @@ def litellm_handler():
59
59
  )
60
60
 
61
61
  @debug()
62
- def log_stream_event(self, kwargs, response_obj, start_time, end_time):
62
+ def log_stream_event(self, kwargs, res: ModelResponse, start_time, end_time):
63
63
  ag.tracing.set_status(status="OK", span_id=self.span.id)
64
+ ag.tracing.store_cost(kwargs.get("response_cost"))
65
+ ag.tracing.store_usage(res.usage.dict() if hasattr(res, "usage") else None)
64
66
  ag.tracing.store_outputs(
65
- outputs={
66
- "message": kwargs.get(
67
- "complete_streaming_response"
68
- ), # the complete streamed response (only set if `completion(..stream=True)`)
69
- "usage": (
70
- response_obj.usage.dict()
71
- if hasattr(response_obj, "usage")
72
- else None
73
- ), # litellm calculates usage
74
- "cost": kwargs.get(
75
- "response_cost"
76
- ), # litellm calculates response cost
77
- },
67
+ # the complete streamed response (only set if `completion(..stream=True)`
68
+ outputs={"message": kwargs.get("complete_streaming_response")},
78
69
  span_id=self.span.id,
79
70
  )
80
71
  ag.tracing.close_span(span_id=self.span.id)
81
72
 
82
73
  @debug()
83
- def log_success_event(
84
- self, kwargs, response_obj: ModelResponse, start_time, end_time
85
- ):
74
+ def log_success_event(self, kwargs, res: ModelResponse, start_time, end_time):
86
75
  ag.tracing.set_status(status="OK", span_id=self.span.id)
76
+ ag.tracing.store_cost(kwargs.get("response_cost"))
77
+ ag.tracing.store_usage(res.usage.dict() if hasattr(res, "usage") else None)
87
78
  ag.tracing.store_outputs(
88
- outputs={
89
- "message": response_obj.choices[0].message.content,
90
- "usage": (
91
- response_obj.usage.dict()
92
- if hasattr(response_obj, "usage")
93
- else None
94
- ), # litellm calculates usage
95
- "cost": kwargs.get(
96
- "response_cost"
97
- ), # litellm calculates response cost
98
- },
79
+ outputs={"message": res.choices[0].message.content},
99
80
  span_id=self.span.id,
100
81
  )
101
82
  ag.tracing.close_span(span_id=self.span.id)
102
83
 
103
84
  @debug()
104
- def log_failure_event(
105
- self, kwargs, response_obj: ModelResponse, start_time, end_time
106
- ):
85
+ def log_failure_event(self, kwargs, res: ModelResponse, start_time, end_time):
107
86
  ag.tracing.set_status(status="ERROR", span_id=self.span.id)
108
87
  ag.tracing.set_attributes(
109
88
  {
@@ -116,69 +95,45 @@ def litellm_handler():
116
95
  },
117
96
  span_id=self.span.id,
118
97
  )
98
+ ag.tracing.store_cost(kwargs.get("response_cost"))
99
+ ag.tracing.store_usage(res.usage.dict() if hasattr(res, "usage") else None)
119
100
  ag.tracing.store_outputs(
120
- outputs={
121
- "message": repr(kwargs["exception"]), # the Exception raised
122
- "usage": (
123
- response_obj.usage.dict()
124
- if hasattr(response_obj, "usage")
125
- else None
126
- ), # litellm calculates usage
127
- "cost": kwargs.get(
128
- "response_cost"
129
- ), # litellm calculates response cost
130
- },
101
+ # the Exception raised
102
+ outputs={"message": repr(kwargs["exception"])},
131
103
  span_id=self.span.id,
132
104
  )
133
105
  ag.tracing.close_span(span_id=self.span.id)
134
106
 
135
107
  @debug()
136
108
  async def async_log_stream_event(
137
- self, kwargs, response_obj, start_time, end_time
109
+ self, kwargs, res: ModelResponse, start_time, end_time
138
110
  ):
139
111
  ag.tracing.set_status(status="OK", span_id=self.span.id)
112
+ ag.tracing.store_cost(kwargs.get("response_cost"))
113
+ ag.tracing.store_usage(res.usage.dict() if hasattr(res, "usage") else None)
140
114
  ag.tracing.store_outputs(
141
- outputs={
142
- "message": kwargs.get(
143
- "complete_streaming_response"
144
- ), # the complete streamed response (only set if `completion(..stream=True)`)
145
- "usage": (
146
- response_obj.usage.dict()
147
- if hasattr(response_obj, "usage")
148
- else None
149
- ), # litellm calculates usage
150
- "cost": kwargs.get(
151
- "response_cost"
152
- ), # litellm calculates response cost
153
- },
115
+ # the complete streamed response (only set if `completion(..stream=True)`)
116
+ outputs={"message": kwargs.get("complete_streaming_response")},
154
117
  span_id=self.span.id,
155
118
  )
156
119
  ag.tracing.close_span(span_id=self.span.id)
157
120
 
158
121
  @debug()
159
122
  async def async_log_success_event(
160
- self, kwargs, response_obj, start_time, end_time
123
+ self, kwargs, res: ModelResponse, start_time, end_time
161
124
  ):
162
125
  ag.tracing.set_status(status="OK", span_id=self.span.id)
126
+ ag.tracing.store_cost(kwargs.get("response_cost"))
127
+ ag.tracing.store_usage(res.usage.dict() if hasattr(res, "usage") else None)
163
128
  ag.tracing.store_outputs(
164
- outputs={
165
- "message": response_obj.choices[0].message.content,
166
- "usage": (
167
- response_obj.usage.dict()
168
- if hasattr(response_obj, "usage")
169
- else None
170
- ), # litellm calculates usage
171
- "cost": kwargs.get(
172
- "response_cost"
173
- ), # litellm calculates response cost
174
- },
129
+ outputs={"message": res.choices[0].message.content},
175
130
  span_id=self.span.id,
176
131
  )
177
132
  ag.tracing.close_span(span_id=self.span.id)
178
133
 
179
134
  @debug()
180
135
  async def async_log_failure_event(
181
- self, kwargs, response_obj, start_time, end_time
136
+ self, kwargs, res: ModelResponse, start_time, end_time
182
137
  ):
183
138
  ag.tracing.set_status(status="ERROR", span_id=self.span.id)
184
139
  ag.tracing.set_attributes(
@@ -192,18 +147,11 @@ def litellm_handler():
192
147
  },
193
148
  span_id=self.span.id,
194
149
  )
150
+ ag.tracing.store_cost(kwargs.get("response_cost"))
151
+ ag.tracing.store_usage(res.usage.dict() if hasattr(res, "usage") else None)
195
152
  ag.tracing.store_outputs(
196
- outputs={
197
- "message": repr(kwargs["exception"]), # the Exception raised
198
- "usage": (
199
- response_obj.usage.dict()
200
- if hasattr(response_obj, "usage")
201
- else None
202
- ), # litellm calculates usage
203
- "cost": kwargs.get(
204
- "response_cost"
205
- ), # litellm calculates response cost
206
- },
153
+ # the Exception raised
154
+ outputs={"message": repr(kwargs["exception"])},
207
155
  span_id=self.span.id,
208
156
  )
209
157
  ag.tracing.close_span(span_id=self.span.id)
@@ -414,6 +414,30 @@ class Tracing(metaclass=SingletonMeta):
414
414
 
415
415
  span.outputs = outputs
416
416
 
417
+ @debug()
418
+ def store_cost(self, cost: float = 0.0, span_id: Optional[str] = None) -> None:
419
+ """
420
+ ...
421
+ """
422
+ span = self._get_target_span(span_id)
423
+
424
+ logging.info(f"Setting span {span.id} {span.spankind.upper()} cost={cost}")
425
+
426
+ self._update_span_cost(span, cost)
427
+
428
+ @debug()
429
+ def store_usage(self, tokens: dict = {}, span_id: Optional[str] = None) -> None:
430
+ """
431
+ ...
432
+ """
433
+ span = self._get_target_span(span_id)
434
+
435
+ logging.info(
436
+ f"Setting span {span.id} {span.spankind.upper()} tokens={repr(tokens)}"
437
+ )
438
+
439
+ self._update_span_tokens(span, tokens)
440
+
417
441
  @debug()
418
442
  def dump_trace(self):
419
443
  """
agenta/sdk/types.py CHANGED
@@ -1,5 +1,5 @@
1
1
  import json
2
- from typing import Dict, List, Optional, Any
2
+ from typing import Dict, List, Optional, Any, Union
3
3
 
4
4
  from pydantic import ConfigDict, BaseModel, HttpUrl
5
5
 
@@ -18,7 +18,7 @@ class LLMTokenUsage(BaseModel):
18
18
 
19
19
  class BaseResponse(BaseModel):
20
20
  version: Optional[str] = "2.0"
21
- data: Optional[Dict[str, Any]]
21
+ data: Optional[Union[str, Dict[str, Any]]]
22
22
  trace: Optional[Dict[str, Any]]
23
23
 
24
24
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: agenta
3
- Version: 0.20.0a3
3
+ Version: 0.20.0a6
4
4
  Summary: The SDK for agenta is an open-source LLMOps platform.
5
5
  Home-page: https://agenta.ai
6
6
  Keywords: LLMOps,LLM,evaluation,prompt engineering
@@ -37,7 +37,7 @@ agenta/client/backend/resources/evaluations/client.py,sha256=T8ETcdUdAMzSA3TGu-C
37
37
  agenta/client/backend/resources/evaluators/__init__.py,sha256=9mUnTDeA1TxYvkj1l01A1prqsJV0ERRY2tzkY1fA4MQ,64
38
38
  agenta/client/backend/resources/evaluators/client.py,sha256=xaafddTNiiPpcxbiUFqimaN3tE6fiemYNOpt1wRLci0,21753
39
39
  agenta/client/backend/resources/observability/__init__.py,sha256=9mUnTDeA1TxYvkj1l01A1prqsJV0ERRY2tzkY1fA4MQ,64
40
- agenta/client/backend/resources/observability/client.py,sha256=4kTC18reOl0SBdHP7iVLunVPyqOsXq2FFWZYLe5mbU0,43239
40
+ agenta/client/backend/resources/observability/client.py,sha256=sQuDHooWEFbTAnejYKK1tjFwcSMwH9cSrytvecH_9Rw,42986
41
41
  agenta/client/backend/resources/testsets/__init__.py,sha256=9mUnTDeA1TxYvkj1l01A1prqsJV0ERRY2tzkY1fA4MQ,64
42
42
  agenta/client/backend/resources/testsets/client.py,sha256=jVRwbUAPPgXoApClHjoDQNeVQTxZWq4c7-CT1YZ7DRA,25010
43
43
  agenta/client/backend/resources/variants/__init__.py,sha256=BMR4SvsrqXC9FU8nPVzY8M9xGrBEhEGrmbgvy3iM1aE,171
@@ -94,7 +94,7 @@ agenta/client/backend/types/permission.py,sha256=MwGwNvKhH8W4I0uJZG_mUydJgwE5CF1
94
94
  agenta/client/backend/types/result.py,sha256=XEUcohx29Rl8P9KfnygbdbeNcgvPgO6WOZv9bebCVsg,1055
95
95
  agenta/client/backend/types/score.py,sha256=OAur_nJtRQmpboZfzFi2l1-zmNxFfETcl13C7OAvpMw,111
96
96
  agenta/client/backend/types/simple_evaluation_output.py,sha256=gRLOCps1hhXPgioADjD2DfabNJf9WgmmhPI6lJY00q4,1117
97
- agenta/client/backend/types/span.py,sha256=-TrMb3pnTjcbEeD4NA3STGl6V-VyXQ4de7VOjrjwxf4,1450
97
+ agenta/client/backend/types/span.py,sha256=hHn5kCD-4iNdGhJTa2HoKWcuBFTInHFqshneOg1D9CY,1510
98
98
  agenta/client/backend/types/span_detail.py,sha256=6x0qsMdFRDRvBQuLo7kdHyoR_vqFtxiVYWvKo4FZLYQ,1514
99
99
  agenta/client/backend/types/span_kind.py,sha256=3i1C1U-NzDgFpgw8QL0c7CwHHhejCUpSmq5FD1YHiJI,1324
100
100
  agenta/client/backend/types/span_status_code.py,sha256=uxcUEsPLQa2r2eIgYw8LRmMj5GQaE98UnL1JgUsdyuM,643
@@ -127,21 +127,21 @@ agenta/docker/docker-assets/lambda_function.py,sha256=h4UZSSfqwpfsCgERv6frqwm_4J
127
127
  agenta/docker/docker-assets/main.py,sha256=7MI-21n81U7N7A0GxebNi0cmGWtJKcR2sPB6FcH2QfA,251
128
128
  agenta/docker/docker_utils.py,sha256=5uHMCzXkCvIsDdEiwbnnn97KkzsFbBvyMwogCsv_Z5U,3509
129
129
  agenta/sdk/__init__.py,sha256=ewYNjm6AHlqkIrPfX2D_pXZMwShOdhEUcWXb7xGA2bk,769
130
- agenta/sdk/agenta_init.py,sha256=WXsT266BLSr7LeNoYPEmDLNj8qoxPsggge-dto7f_9w,9953
130
+ agenta/sdk/agenta_init.py,sha256=8MfDuypxohd0qRTdtGjX7L17KW-1UGmzNVdiqF15_ak,9790
131
131
  agenta/sdk/client.py,sha256=trKyBOYFZRk0v5Eptxvh87yPf50Y9CqY6Qgv4Fy-VH4,2142
132
132
  agenta/sdk/context.py,sha256=q-PxL05-I84puunUAs9LGsffEXcYhDxhQxjuOz2vK90,901
133
133
  agenta/sdk/decorators/base.py,sha256=9aNdX5h8a2mFweuhdO-BQPwXGKY9ONPIdLRhSGAGMfY,217
134
- agenta/sdk/decorators/llm_entrypoint.py,sha256=-oVl2sBH8tIjFD_6q6l0LmEPrPlfRT9Iy8KqEYxJvwk,28099
135
- agenta/sdk/decorators/tracing.py,sha256=jjHD6VY5YSSHLfC3C2Xl7-6psBq8ycczMB0kj1rYwl4,3749
134
+ agenta/sdk/decorators/llm_entrypoint.py,sha256=eqULCHRjWGCL3fRHdi57jj6FYRyJbyG-F2Yc89OljRI,28069
135
+ agenta/sdk/decorators/tracing.py,sha256=TwzhG3ZoyvmS1hCy3Z4S_6ZJGu1J_WHHgZm8Lc9Vkes,4371
136
136
  agenta/sdk/router.py,sha256=0sbajvn5C7t18anH6yNo7-oYxldHnYfwcbmQnIXBePw,269
137
137
  agenta/sdk/tracing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
138
- agenta/sdk/tracing/callbacks.py,sha256=xWP3RRtmj3ogXeqYI6zdj6gF5QGu70UlQ17WNwdXIx8,8063
138
+ agenta/sdk/tracing/callbacks.py,sha256=jaxTH7TIAzwechvo1lc4R1daKo938Us5mjW4a1ZIjgQ,6468
139
139
  agenta/sdk/tracing/context_manager.py,sha256=HskDaiORoOhjeN375gm05wYnieQzh5UnoIsnSAHkAyc,252
140
- agenta/sdk/tracing/llm_tracing.py,sha256=A7_-Xx3Rioh_nfT7OjZvDPbKUvxEqruKhYRfdGwyo4w,17312
140
+ agenta/sdk/tracing/llm_tracing.py,sha256=2rDNCfZ4i3Y8Rqrt4-QgnnWvp8CcLPEztVMTXviSgbk,17969
141
141
  agenta/sdk/tracing/logger.py,sha256=GfH7V-jBHcn7h5dbdrnkDMe_ml3wkXFBeoQiqR4KVRc,474
142
142
  agenta/sdk/tracing/tasks_manager.py,sha256=FBSFOWIKBycyA4ShB2ZVMzrzYQ8pWGWWBClFX8nlZFA,3726
143
143
  agenta/sdk/tracing/tracing_context.py,sha256=nt3ewa-TK9BRJviGIZYazsAQUiG4daWxjtsbjeaDprs,789
144
- agenta/sdk/types.py,sha256=1rVy8ob-rTOrIFcSSseXrt0JQtqqhlJfVgVxCB2ErCk,5754
144
+ agenta/sdk/types.py,sha256=DSsKtoYh1ka_ketfkN10F0v8Oe2O4BB0WfnTkdIEyxE,5773
145
145
  agenta/sdk/utils/debug.py,sha256=QyuPsSoN0425UD13x_msPxSF_VT6YwHiQunZUibI-jg,2149
146
146
  agenta/sdk/utils/globals.py,sha256=JmhJcCOSbwvjQ6GDyUc2_SYR27DZk7YcrRH80ktHHOM,435
147
147
  agenta/sdk/utils/helper/openai_cost.py,sha256=1VkgvucDnNZm1pTfcVLz9icWunntp1d7zwMmnviy3Uw,5877
@@ -161,7 +161,7 @@ agenta/templates/simple_prompt/app.py,sha256=kODgF6lhzsaJPdgL5b21bUki6jkvqjWZzWR
161
161
  agenta/templates/simple_prompt/env.example,sha256=g9AE5bYcGPpxawXMJ96gh8oenEPCHTabsiOnfQo3c5k,70
162
162
  agenta/templates/simple_prompt/requirements.txt,sha256=ywRglRy7pPkw8bljmMEJJ4aOOQKrt9FGKULZ-DGkoBU,23
163
163
  agenta/templates/simple_prompt/template.toml,sha256=DQBtRrF4GU8LBEXOZ-GGuINXMQDKGTEG5y37tnvIUIE,60
164
- agenta-0.20.0a3.dist-info/METADATA,sha256=ejs-P0QRRYTn33Pukab6fxUj8olSqlXVYy0kdsBsTRk,26462
165
- agenta-0.20.0a3.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
166
- agenta-0.20.0a3.dist-info/entry_points.txt,sha256=PDiu8_8AsL7ibU9v4iNoOKR1S7F2rdxjlEprjM9QOgo,46
167
- agenta-0.20.0a3.dist-info/RECORD,,
164
+ agenta-0.20.0a6.dist-info/METADATA,sha256=jBR7yXq32FFCBphVVKQeGXHMoxWptrqIRfPq5oiL5Zg,26462
165
+ agenta-0.20.0a6.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
166
+ agenta-0.20.0a6.dist-info/entry_points.txt,sha256=PDiu8_8AsL7ibU9v4iNoOKR1S7F2rdxjlEprjM9QOgo,46
167
+ agenta-0.20.0a6.dist-info/RECORD,,