agenta 0.28.0__py3-none-any.whl → 0.28.0a1__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.

agenta/cli/main.py CHANGED
@@ -80,10 +80,15 @@ def cli():
80
80
  @click.command()
81
81
  @click.option("--app-name", "--app_name", default=None)
82
82
  @click.option("--backend-host", "backend_host", default=None)
83
- def init(app_name: str, backend_host: str):
84
- """Initialize a new Agenta app with the template files."""
85
-
83
+ @click.option(
84
+ "--organisation-name",
85
+ "organisation_name",
86
+ default=None,
87
+ help="The name of the organisation",
88
+ )
89
+ def init(app_name: str, backend_host: str, organisation_name: str):
86
90
  init_option = "Blank App" if backend_host != "" and app_name != "" else ""
91
+ """Initialize a new Agenta app with the template files."""
87
92
 
88
93
  api_key = os.getenv("AGENTA_API_KEY")
89
94
 
@@ -146,9 +151,51 @@ def init(app_name: str, backend_host: str):
146
151
  api_key=api_key if where_question == "On agenta cloud" else "",
147
152
  )
148
153
 
154
+ # list of user organizations
155
+ user_organizations = []
156
+
157
+ # validate the api key if it is provided
158
+ if where_question == "On agenta cloud":
159
+ try:
160
+ key_prefix = api_key.split(".")[0]
161
+ client.validate_api_key(key_prefix=key_prefix)
162
+ except Exception as ex:
163
+ click.echo(
164
+ click.style(
165
+ f"Error: Unable to validate API key.\nError: {ex}", fg="red"
166
+ )
167
+ )
168
+ sys.exit(1)
169
+ # Make request to fetch user organizations after api key validation
170
+ try:
171
+ organizations = client.list_organizations()
172
+ if len(organizations) >= 1:
173
+ user_organizations = organizations
174
+ except Exception as ex:
175
+ click.echo(click.style(f"Error: {ex}", fg="red"))
176
+ sys.exit(1)
177
+
178
+ organization = None
179
+ organization_choices = {}
180
+ if where_question == "On agenta cloud":
181
+ if not organisation_name:
182
+ organization_choices = {
183
+ f"{org.name}": org for org in user_organizations
184
+ }
185
+ which_organization = questionary.select(
186
+ "Which organization do you want to create the app for?",
187
+ choices=list(organization_choices.keys()),
188
+ ).ask()
189
+ organisation_name = which_organization
190
+
191
+ organization = organization_choices.get(organisation_name)
192
+
149
193
  # Get app_id after creating new app in the backend server
150
194
  try:
151
- app_id = client.apps.create_app(app_name=app_name).app_id
195
+ app_id = client.apps.create_app(
196
+ app_name=app_name,
197
+ organization_id=organization.id if organization else None,
198
+ ).app_id
152
199
  except Exception as ex:
153
200
  click.echo(click.style(f"Error: {ex}", fg="red"))
154
201
  sys.exit(1)
@@ -176,17 +176,19 @@ class AppsClient:
176
176
  self,
177
177
  *,
178
178
  app_name: typing.Optional[str] = None,
179
+ workspace_id: typing.Optional[str] = None,
179
180
  request_options: typing.Optional[RequestOptions] = None,
180
181
  ) -> typing.List[App]:
181
182
  """
182
- Retrieve a list of apps filtered by app_name.
183
+ Retrieve a list of apps filtered by app_name and org_id.
183
184
 
184
185
  Args:
185
186
  app_name (Optional[str]): The name of the app to filter by.
187
+ org_id (Optional[str]): The ID of the organization to filter by.
186
188
  stoken_session (SessionContainer): The session container.
187
189
 
188
190
  Returns:
189
- List[App]: A list of apps filtered by app_name.
191
+ List[App]: A list of apps filtered by app_name and org_id.
190
192
 
191
193
  Raises:
192
194
  HTTPException: If there was an error retrieving the list of apps.
@@ -195,6 +197,8 @@ class AppsClient:
195
197
  ----------
196
198
  app_name : typing.Optional[str]
197
199
 
200
+ workspace_id : typing.Optional[str]
201
+
198
202
  request_options : typing.Optional[RequestOptions]
199
203
  Request-specific configuration.
200
204
 
@@ -216,7 +220,10 @@ class AppsClient:
216
220
  _response = self._client_wrapper.httpx_client.request(
217
221
  "apps",
218
222
  method="GET",
219
- params={"app_name": app_name},
223
+ params={
224
+ "app_name": app_name,
225
+ "workspace_id": workspace_id,
226
+ },
220
227
  request_options=request_options,
221
228
  )
222
229
  try:
@@ -248,13 +255,15 @@ class AppsClient:
248
255
  *,
249
256
  app_name: str,
250
257
  project_id: typing.Optional[str] = OMIT,
258
+ workspace_id: typing.Optional[str] = OMIT,
259
+ organization_id: typing.Optional[str] = OMIT,
251
260
  request_options: typing.Optional[RequestOptions] = None,
252
261
  ) -> CreateAppOutput:
253
262
  """
254
- Create a new app for a user.
263
+ Create a new app for a user or organization.
255
264
 
256
265
  Args:
257
- payload (CreateApp): The payload containing the app name.
266
+ payload (CreateApp): The payload containing the app name and organization ID (optional).
258
267
  stoken_session (SessionContainer): The session container containing the user's session token.
259
268
 
260
269
  Returns:
@@ -269,6 +278,10 @@ class AppsClient:
269
278
 
270
279
  project_id : typing.Optional[str]
271
280
 
281
+ workspace_id : typing.Optional[str]
282
+
283
+ organization_id : typing.Optional[str]
284
+
272
285
  request_options : typing.Optional[RequestOptions]
273
286
  Request-specific configuration.
274
287
 
@@ -295,6 +308,8 @@ class AppsClient:
295
308
  json={
296
309
  "app_name": app_name,
297
310
  "project_id": project_id,
311
+ "workspace_id": workspace_id,
312
+ "organization_id": organization_id,
298
313
  },
299
314
  request_options=request_options,
300
315
  omit=OMIT,
@@ -393,7 +408,7 @@ class AppsClient:
393
408
  request_options: typing.Optional[RequestOptions] = None,
394
409
  ) -> UpdateAppOutput:
395
410
  """
396
- Update an app for a user.
411
+ Update an app for a user or organization.
397
412
 
398
413
  Args:
399
414
  app_id (str): The ID of the app.
@@ -572,6 +587,8 @@ class AppsClient:
572
587
  template_id: str,
573
588
  env_vars: typing.Dict[str, str],
574
589
  project_id: typing.Optional[str] = OMIT,
590
+ workspace_id: typing.Optional[str] = OMIT,
591
+ organization_id: typing.Optional[str] = OMIT,
575
592
  request_options: typing.Optional[RequestOptions] = None,
576
593
  ) -> AppVariantResponse:
577
594
  """
@@ -597,6 +614,10 @@ class AppsClient:
597
614
 
598
615
  project_id : typing.Optional[str]
599
616
 
617
+ workspace_id : typing.Optional[str]
618
+
619
+ organization_id : typing.Optional[str]
620
+
600
621
  request_options : typing.Optional[RequestOptions]
601
622
  Request-specific configuration.
602
623
 
@@ -626,7 +647,9 @@ class AppsClient:
626
647
  "app_name": app_name,
627
648
  "template_id": template_id,
628
649
  "project_id": project_id,
650
+ "workspace_id": workspace_id,
629
651
  "env_vars": env_vars,
652
+ "organization_id": organization_id,
630
653
  },
631
654
  request_options=request_options,
632
655
  omit=OMIT,
@@ -957,17 +980,19 @@ class AsyncAppsClient:
957
980
  self,
958
981
  *,
959
982
  app_name: typing.Optional[str] = None,
983
+ workspace_id: typing.Optional[str] = None,
960
984
  request_options: typing.Optional[RequestOptions] = None,
961
985
  ) -> typing.List[App]:
962
986
  """
963
- Retrieve a list of apps filtered by app_name.
987
+ Retrieve a list of apps filtered by app_name and org_id.
964
988
 
965
989
  Args:
966
990
  app_name (Optional[str]): The name of the app to filter by.
991
+ org_id (Optional[str]): The ID of the organization to filter by.
967
992
  stoken_session (SessionContainer): The session container.
968
993
 
969
994
  Returns:
970
- List[App]: A list of apps filtered by app_name.
995
+ List[App]: A list of apps filtered by app_name and org_id.
971
996
 
972
997
  Raises:
973
998
  HTTPException: If there was an error retrieving the list of apps.
@@ -976,6 +1001,8 @@ class AsyncAppsClient:
976
1001
  ----------
977
1002
  app_name : typing.Optional[str]
978
1003
 
1004
+ workspace_id : typing.Optional[str]
1005
+
979
1006
  request_options : typing.Optional[RequestOptions]
980
1007
  Request-specific configuration.
981
1008
 
@@ -1005,7 +1032,10 @@ class AsyncAppsClient:
1005
1032
  _response = await self._client_wrapper.httpx_client.request(
1006
1033
  "apps",
1007
1034
  method="GET",
1008
- params={"app_name": app_name},
1035
+ params={
1036
+ "app_name": app_name,
1037
+ "workspace_id": workspace_id,
1038
+ },
1009
1039
  request_options=request_options,
1010
1040
  )
1011
1041
  try:
@@ -1037,13 +1067,15 @@ class AsyncAppsClient:
1037
1067
  *,
1038
1068
  app_name: str,
1039
1069
  project_id: typing.Optional[str] = OMIT,
1070
+ workspace_id: typing.Optional[str] = OMIT,
1071
+ organization_id: typing.Optional[str] = OMIT,
1040
1072
  request_options: typing.Optional[RequestOptions] = None,
1041
1073
  ) -> CreateAppOutput:
1042
1074
  """
1043
- Create a new app for a user.
1075
+ Create a new app for a user or organization.
1044
1076
 
1045
1077
  Args:
1046
- payload (CreateApp): The payload containing the app name.
1078
+ payload (CreateApp): The payload containing the app name and organization ID (optional).
1047
1079
  stoken_session (SessionContainer): The session container containing the user's session token.
1048
1080
 
1049
1081
  Returns:
@@ -1058,6 +1090,10 @@ class AsyncAppsClient:
1058
1090
 
1059
1091
  project_id : typing.Optional[str]
1060
1092
 
1093
+ workspace_id : typing.Optional[str]
1094
+
1095
+ organization_id : typing.Optional[str]
1096
+
1061
1097
  request_options : typing.Optional[RequestOptions]
1062
1098
  Request-specific configuration.
1063
1099
 
@@ -1092,6 +1128,8 @@ class AsyncAppsClient:
1092
1128
  json={
1093
1129
  "app_name": app_name,
1094
1130
  "project_id": project_id,
1131
+ "workspace_id": workspace_id,
1132
+ "organization_id": organization_id,
1095
1133
  },
1096
1134
  request_options=request_options,
1097
1135
  omit=OMIT,
@@ -1198,7 +1236,7 @@ class AsyncAppsClient:
1198
1236
  request_options: typing.Optional[RequestOptions] = None,
1199
1237
  ) -> UpdateAppOutput:
1200
1238
  """
1201
- Update an app for a user.
1239
+ Update an app for a user or organization.
1202
1240
 
1203
1241
  Args:
1204
1242
  app_id (str): The ID of the app.
@@ -1393,6 +1431,8 @@ class AsyncAppsClient:
1393
1431
  template_id: str,
1394
1432
  env_vars: typing.Dict[str, str],
1395
1433
  project_id: typing.Optional[str] = OMIT,
1434
+ workspace_id: typing.Optional[str] = OMIT,
1435
+ organization_id: typing.Optional[str] = OMIT,
1396
1436
  request_options: typing.Optional[RequestOptions] = None,
1397
1437
  ) -> AppVariantResponse:
1398
1438
  """
@@ -1418,6 +1458,10 @@ class AsyncAppsClient:
1418
1458
 
1419
1459
  project_id : typing.Optional[str]
1420
1460
 
1461
+ workspace_id : typing.Optional[str]
1462
+
1463
+ organization_id : typing.Optional[str]
1464
+
1421
1465
  request_options : typing.Optional[RequestOptions]
1422
1466
  Request-specific configuration.
1423
1467
 
@@ -1455,7 +1499,9 @@ class AsyncAppsClient:
1455
1499
  "app_name": app_name,
1456
1500
  "template_id": template_id,
1457
1501
  "project_id": project_id,
1502
+ "workspace_id": workspace_id,
1458
1503
  "env_vars": env_vars,
1504
+ "organization_id": organization_id,
1459
1505
  },
1460
1506
  request_options=request_options,
1461
1507
  omit=OMIT,
@@ -373,19 +373,19 @@ class entrypoint:
373
373
 
374
374
  async def handle_success(self, result: Any, inline_trace: bool):
375
375
  data = None
376
- tree = None
376
+ trace = dict()
377
377
 
378
378
  with suppress():
379
379
  data = self.patch_result(result)
380
380
 
381
381
  if inline_trace:
382
- tree = await self.fetch_inline_trace(inline_trace)
382
+ trace = await self.fetch_inline_trace(inline_trace)
383
383
 
384
384
  log.info(f"----------------------------------")
385
385
  log.info(f"Agenta SDK - exiting with success: 200")
386
386
  log.info(f"----------------------------------")
387
387
 
388
- return BaseResponse(data=data, tree=tree)
388
+ return BaseResponse(data=data, tree=trace)
389
389
 
390
390
  def handle_failure(self, error: Exception):
391
391
  log.warning("--------------------------------------------------")
@@ -27,8 +27,6 @@ AGENTA_SDK_AUTH_CACHE = str(environ.get("AGENTA_SDK_AUTH_CACHE", True)).lower()
27
27
  "t",
28
28
  )
29
29
 
30
- AGENTA_SDK_AUTH_CACHE = False
31
-
32
30
  AGENTA_UNAUTHORIZED_EXECUTION_ALLOWED = str(
33
31
  environ.get("AGENTA_UNAUTHORIZED_EXECUTION_ALLOWED", False)
34
32
  ).lower() in ("true", "1", "t")
@@ -63,6 +61,7 @@ class AuthorizationMiddleware(BaseHTTPMiddleware):
63
61
  self,
64
62
  request: Request,
65
63
  call_next: Callable,
64
+ project_id: Optional[UUID] = None,
66
65
  ):
67
66
  if AGENTA_UNAUTHORIZED_EXECUTION_ALLOWED:
68
67
  return await call_next(request)
@@ -84,8 +83,6 @@ class AuthorizationMiddleware(BaseHTTPMiddleware):
84
83
  "resource_id": self.resource_id,
85
84
  }
86
85
 
87
- project_id = request.query_params.get("project_id")
88
-
89
86
  if project_id:
90
87
  params["project_id"] = project_id
91
88
 
@@ -41,6 +41,7 @@ from uuid import UUID
41
41
  class TimeDTO(BaseModel):
42
42
  start: datetime
43
43
  end: datetime
44
+ span: int
44
45
 
45
46
 
46
47
  class StatusCode(Enum):
@@ -845,9 +846,12 @@ def parse_from_otel_span_dto(
845
846
  else None
846
847
  )
847
848
 
849
+ duration = (otel_span_dto.end_time - otel_span_dto.start_time).total_seconds()
850
+
848
851
  time = TimeDTO(
849
852
  start=otel_span_dto.start_time,
850
853
  end=otel_span_dto.end_time,
854
+ span=round(duration * 1_000_000), # microseconds
851
855
  )
852
856
 
853
857
  status = StatusDTO(
@@ -859,13 +863,6 @@ def parse_from_otel_span_dto(
859
863
 
860
864
  data, metrics, meta, tags, refs = _parse_from_attributes(otel_span_dto)
861
865
 
862
- duration = (otel_span_dto.end_time - otel_span_dto.start_time).total_seconds()
863
-
864
- if metrics is None:
865
- metrics = dict()
866
-
867
- metrics["acc.duration.total"] = round(duration * 1_000, 3) # milliseconds
868
-
869
866
  root_id = str(tree_id)
870
867
  if refs is not None:
871
868
  root_id = refs.get("scenario.id", root_id)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: agenta
3
- Version: 0.28.0
3
+ Version: 0.28.0a1
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
@@ -13,8 +13,7 @@ Classifier: Programming Language :: Python :: 3
13
13
  Classifier: Programming Language :: Python :: 3.9
14
14
  Classifier: Programming Language :: Python :: 3.10
15
15
  Classifier: Programming Language :: Python :: 3.11
16
- Classifier: Programming Language :: Python :: 3.12
17
- Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Programming Language :: Python :: 3.9
18
17
  Classifier: Topic :: Software Development :: Libraries
19
18
  Requires-Dist: cachetools (>=5.3.3,<6.0.0)
20
19
  Requires-Dist: click (>=8.1.3,<9.0.0)
@@ -1,7 +1,7 @@
1
1
  agenta/__init__.py,sha256=XXPgAjzPw5CXQpuQbDNpKRuoBL5X_YoobKeebjYHiSY,2101
2
2
  agenta/cli/evaluation_commands.py,sha256=fs6492tprPId9p8eGO02Xy-NCBm2RZNJLZWcUxugwd8,474
3
3
  agenta/cli/helper.py,sha256=P97HbNb_qzOyl5CM_MjAqWEBCdgebU6M81G_4UCmF1A,6288
4
- agenta/cli/main.py,sha256=drRCn7x9-rP3zcLXEIgAqVWS68g_vXnRyo4N7DGFBW8,7946
4
+ agenta/cli/main.py,sha256=Wz0ODhoeKK3Qg_CFUhu6D909szk05tc8ZVBB6H1-w7k,9763
5
5
  agenta/cli/telemetry.py,sha256=GaFFRsE_NtrcSSJ10r2jhgFs5Sk8gf2C09Ox3gOr3eU,1317
6
6
  agenta/cli/variant_commands.py,sha256=HfKRZsajKOXwZD2OyzjSfNtSx1yI01wI1cfqpvoHETI,17400
7
7
  agenta/cli/variant_configs.py,sha256=PLiuMKadVzs6Gi2uYaT0pZzyULNHDXaTMDWboqpwWdU,1293
@@ -11,7 +11,7 @@ agenta/client/api.py,sha256=r5pwYD8DWppDrV4xaNYwUmwMLjWVNfVzxK_clIboEWg,2434
11
11
  agenta/client/api_models.py,sha256=zebfE2-0-SW1SvzyarzmSJMXqyiCLKrX2sHpzoX-RnU,623
12
12
  agenta/client/backend/__init__.py,sha256=Q7KdR_MAfYvg7LlGVXvOUZi4L_7k6pbSVc8vIaNy-Bg,5637
13
13
  agenta/client/backend/apps/__init__.py,sha256=9mUnTDeA1TxYvkj1l01A1prqsJV0ERRY2tzkY1fA4MQ,64
14
- agenta/client/backend/apps/client.py,sha256=QucGNzuxfkOH2OU4dQMd7BdOjRTw4ac31On5FED3vVI,52590
14
+ agenta/client/backend/apps/client.py,sha256=UWLU8uGURZ2apjpAdqhAHsLTR3lSbaTNfdfMnibXzlA,54436
15
15
  agenta/client/backend/bases/__init__.py,sha256=9mUnTDeA1TxYvkj1l01A1prqsJV0ERRY2tzkY1fA4MQ,64
16
16
  agenta/client/backend/bases/client.py,sha256=BZsz5eXaa2voZdJXqgd5J5hPUuYvWwIcPCWyl49w-oY,6028
17
17
  agenta/client/backend/client.py,sha256=YkeIJbq_8_TKsF-L3x6fNoRazRaM0BzhYckaeUAB4vI,103549
@@ -181,7 +181,7 @@ agenta/sdk/context/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
181
181
  agenta/sdk/context/routing.py,sha256=ycUgmJZyWhL4bHjKtUSAsTlt_0Fujr_6OpoaEH1lAN0,683
182
182
  agenta/sdk/context/tracing.py,sha256=UmmW15UFFsvxS0myS6aD9wBk5iNepNlQi4tEQ_ejfYM,96
183
183
  agenta/sdk/decorators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
184
- agenta/sdk/decorators/routing.py,sha256=eU_Sq4OmRLpGBhbHj4j4PfEIN_HM1uLsy89OkK0_6O0,36576
184
+ agenta/sdk/decorators/routing.py,sha256=v9iiL9z7ouVUCCsKDkc08q_JAQwR4mHzn4Q562FbNS8,36581
185
185
  agenta/sdk/decorators/tracing.py,sha256=vL5e6TVX6TQwO0t9raZwnzXHV3vElVT0pHS1vD-vzEo,8523
186
186
  agenta/sdk/litellm/__init__.py,sha256=Bpz1gfHQc0MN1yolWcjifLWznv6GjHggvRGQSpxpihM,37
187
187
  agenta/sdk/litellm/litellm.py,sha256=97eDU9MUTW6Wv2e7QYhCWLrRYwhaRqG6LVcedp3qNrk,7186
@@ -191,7 +191,7 @@ agenta/sdk/managers/deployment.py,sha256=SEokjZeh6n7HRKZ92Y0WncdG49hIFx-Z3B3HAl2
191
191
  agenta/sdk/managers/shared.py,sha256=e53jckQq5PIMpjdxADOonUj7o8aGfzmSvdeH5f43rGs,21497
192
192
  agenta/sdk/managers/variant.py,sha256=A5ga3mq3b0weUTXa9HO72MGaspthGcu1uK9K5OnP738,4172
193
193
  agenta/sdk/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
194
- agenta/sdk/middleware/auth.py,sha256=E7Uw0C3P7aZ9K_GYs8YComMjrKrNyE_SNJ4DXpQcf3Y,4156
194
+ agenta/sdk/middleware/auth.py,sha256=H_UwEq5QioSkHZ3ipCtE3lrl7mxs5h9ULQvZHEtV8d4,4103
195
195
  agenta/sdk/middleware/cache.py,sha256=C_LEzFbulbCBIKtcut2T4qJzh90q4369WCsApDg3Vm0,902
196
196
  agenta/sdk/router.py,sha256=mOguvtOwl2wmyAgOuWTsf98pQwpNiUILKIo67W_hR3A,119
197
197
  agenta/sdk/tracing/__init__.py,sha256=rQNe5-zT5Kt7_CDhq-lnUIi1EYTBVzVf_MbfcIxVD98,41
@@ -199,7 +199,7 @@ agenta/sdk/tracing/attributes.py,sha256=zh8JQZSeYCLBeIRSopKJx6QQ-WEgw08Cr64DS_WO
199
199
  agenta/sdk/tracing/context.py,sha256=IpNENDGRrXWjs-vti5XheqwybQs0QdD-ii4aK0enNrM,803
200
200
  agenta/sdk/tracing/conventions.py,sha256=JBtznBXZ3aRkGKkLl7cPwdMNh3w1G-H2Ta2YrAxbr38,950
201
201
  agenta/sdk/tracing/exporters.py,sha256=YvTke0RaxeOLqWOuhC5EFzYwFY39kcoBtDLfcyla3j4,1604
202
- agenta/sdk/tracing/inline.py,sha256=sYocvSWjuQaun_XaBYNDQyNw4ETS2hFMbFg6g3RCdeg,31463
202
+ agenta/sdk/tracing/inline.py,sha256=ncIvMKWpy1o-5l3i7YThj_pE3Oq6xvQfwyUfGsfUxzc,31405
203
203
  agenta/sdk/tracing/processors.py,sha256=tPf3Hx1TmnWSljvX28kYFOFrp4ImIXhlwAaR39sf5qU,2979
204
204
  agenta/sdk/tracing/spans.py,sha256=nqUOjjirBxB8Eacv8Qj4Ra_6rknGi3lbJdNyKmk5ODQ,3707
205
205
  agenta/sdk/tracing/tracing.py,sha256=RUSnQIWwfOFwhWbiyJfgC0wYtvcV1PusXTwNslV5WZo,6912
@@ -226,7 +226,7 @@ agenta/templates/simple_prompt/app.py,sha256=kODgF6lhzsaJPdgL5b21bUki6jkvqjWZzWR
226
226
  agenta/templates/simple_prompt/env.example,sha256=g9AE5bYcGPpxawXMJ96gh8oenEPCHTabsiOnfQo3c5k,70
227
227
  agenta/templates/simple_prompt/requirements.txt,sha256=ywRglRy7pPkw8bljmMEJJ4aOOQKrt9FGKULZ-DGkoBU,23
228
228
  agenta/templates/simple_prompt/template.toml,sha256=DQBtRrF4GU8LBEXOZ-GGuINXMQDKGTEG5y37tnvIUIE,60
229
- agenta-0.28.0.dist-info/METADATA,sha256=ls-DP_rlKu2AxB9H3hbou42HAnCZTNBPP9h1kq8ndWc,31617
230
- agenta-0.28.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
231
- agenta-0.28.0.dist-info/entry_points.txt,sha256=PDiu8_8AsL7ibU9v4iNoOKR1S7F2rdxjlEprjM9QOgo,46
232
- agenta-0.28.0.dist-info/RECORD,,
229
+ agenta-0.28.0a1.dist-info/METADATA,sha256=drS8_Q9TXGZVroIT5H3lYucyazlnFU8w7x9lKHer-6g,31567
230
+ agenta-0.28.0a1.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
231
+ agenta-0.28.0a1.dist-info/entry_points.txt,sha256=PDiu8_8AsL7ibU9v4iNoOKR1S7F2rdxjlEprjM9QOgo,46
232
+ agenta-0.28.0a1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.9.1
2
+ Generator: poetry-core 1.5.2
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any