robosystems-client 0.1.10__py3-none-any.whl → 0.1.12__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.
Files changed (61) hide show
  1. robosystems_client/api/agent/query_financial_agent.py +16 -16
  2. robosystems_client/api/backup/create_backup.py +0 -4
  3. robosystems_client/api/backup/export_backup.py +0 -3
  4. robosystems_client/api/backup/get_backup_download_url.py +1 -1
  5. robosystems_client/api/backup/restore_backup.py +0 -4
  6. robosystems_client/api/connections/create_connection.py +8 -20
  7. robosystems_client/api/connections/delete_connection.py +8 -16
  8. robosystems_client/api/connections/sync_connection.py +8 -20
  9. robosystems_client/api/create/get_available_extensions.py +1 -1
  10. robosystems_client/api/graph_analytics/get_graph_metrics.py +8 -16
  11. robosystems_client/api/graph_analytics/get_graph_usage_stats.py +8 -16
  12. robosystems_client/api/mcp/call_mcp_tool.py +8 -20
  13. robosystems_client/api/query/execute_cypher_query.py +28 -31
  14. robosystems_client/api/schema/get_graph_schema_info.py +4 -19
  15. robosystems_client/api/schema/validate_schema.py +4 -16
  16. robosystems_client/api/service_offerings/get_service_offerings.py +4 -4
  17. robosystems_client/api/subgraphs/__init__.py +1 -0
  18. robosystems_client/api/subgraphs/create_subgraph.py +372 -0
  19. robosystems_client/api/subgraphs/delete_subgraph.py +317 -0
  20. robosystems_client/api/subgraphs/get_subgraph_info.py +300 -0
  21. robosystems_client/api/subgraphs/get_subgraph_quota.py +272 -0
  22. robosystems_client/api/subgraphs/list_subgraphs.py +272 -0
  23. robosystems_client/api/user/select_user_graph.py +1 -1
  24. robosystems_client/api/user_limits/get_all_shared_repository_limits.py +223 -0
  25. robosystems_client/api/user_limits/get_shared_repository_limits.py +248 -0
  26. robosystems_client/api/user_subscriptions/get_repository_credits.py +18 -18
  27. robosystems_client/extensions/README.md +2 -6
  28. robosystems_client/extensions/__init__.py +1 -1
  29. robosystems_client/extensions/auth_integration.py +2 -2
  30. robosystems_client/extensions/extensions.py +1 -1
  31. robosystems_client/extensions/tests/__init__.py +1 -1
  32. robosystems_client/extensions/tests/test_integration.py +3 -3
  33. robosystems_client/extensions/tests/test_unit.py +5 -3
  34. robosystems_client/extensions/utils.py +1 -1
  35. robosystems_client/models/__init__.py +28 -2
  36. robosystems_client/models/create_graph_request.py +5 -25
  37. robosystems_client/models/create_subgraph_request.py +185 -0
  38. robosystems_client/models/create_subgraph_request_metadata_type_0.py +44 -0
  39. robosystems_client/models/credit_summary_response.py +0 -8
  40. robosystems_client/models/database_health_response.py +1 -1
  41. robosystems_client/models/database_info_response.py +2 -2
  42. robosystems_client/models/delete_subgraph_request.py +89 -0
  43. robosystems_client/models/delete_subgraph_response.py +120 -0
  44. robosystems_client/models/get_all_shared_repository_limits_response_getallsharedrepositorylimits.py +46 -0
  45. robosystems_client/models/get_shared_repository_limits_response_getsharedrepositorylimits.py +44 -0
  46. robosystems_client/models/list_subgraphs_response.py +148 -0
  47. robosystems_client/models/repository_credits_response.py +6 -6
  48. robosystems_client/models/schema_export_response.py +2 -2
  49. robosystems_client/models/subgraph_quota_response.py +158 -0
  50. robosystems_client/models/subgraph_response.py +279 -0
  51. robosystems_client/models/{get_mcp_health_response_getmcphealth.py → subgraph_response_metadata_type_0.py} +5 -5
  52. robosystems_client/models/subgraph_summary.py +155 -0
  53. robosystems_client/models/subgraph_type.py +11 -0
  54. robosystems_client/models/subscription_info.py +0 -28
  55. robosystems_client/models/subscription_request.py +0 -9
  56. robosystems_client/models/subscription_response.py +0 -8
  57. robosystems_client/sdk-config.yaml +1 -1
  58. {robosystems_client-0.1.10.dist-info → robosystems_client-0.1.12.dist-info}/METADATA +1 -1
  59. {robosystems_client-0.1.10.dist-info → robosystems_client-0.1.12.dist-info}/RECORD +60 -42
  60. robosystems_client/api/status/get_mcp_health.py +0 -136
  61. {robosystems_client-0.1.10.dist-info → robosystems_client-0.1.12.dist-info}/WHEEL +0 -0
@@ -0,0 +1,272 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Optional, Union, cast
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.http_validation_error import HTTPValidationError
9
+ from ...models.subgraph_quota_response import SubgraphQuotaResponse
10
+ from ...types import UNSET, Response, Unset
11
+
12
+
13
+ def _get_kwargs(
14
+ graph_id: str,
15
+ *,
16
+ authorization: Union[None, Unset, str] = UNSET,
17
+ auth_token: Union[None, Unset, str] = UNSET,
18
+ ) -> dict[str, Any]:
19
+ headers: dict[str, Any] = {}
20
+ if not isinstance(authorization, Unset):
21
+ headers["authorization"] = authorization
22
+
23
+ cookies = {}
24
+ if auth_token is not UNSET:
25
+ cookies["auth-token"] = auth_token
26
+
27
+ _kwargs: dict[str, Any] = {
28
+ "method": "get",
29
+ "url": f"/v1/{graph_id}/subgraphs/quota",
30
+ "cookies": cookies,
31
+ }
32
+
33
+ _kwargs["headers"] = headers
34
+ return _kwargs
35
+
36
+
37
+ def _parse_response(
38
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
39
+ ) -> Optional[Union[Any, HTTPValidationError, SubgraphQuotaResponse]]:
40
+ if response.status_code == 200:
41
+ response_200 = SubgraphQuotaResponse.from_dict(response.json())
42
+
43
+ return response_200
44
+ if response.status_code == 401:
45
+ response_401 = cast(Any, None)
46
+ return response_401
47
+ if response.status_code == 403:
48
+ response_403 = cast(Any, None)
49
+ return response_403
50
+ if response.status_code == 404:
51
+ response_404 = cast(Any, None)
52
+ return response_404
53
+ if response.status_code == 500:
54
+ response_500 = cast(Any, None)
55
+ return response_500
56
+ if response.status_code == 422:
57
+ response_422 = HTTPValidationError.from_dict(response.json())
58
+
59
+ return response_422
60
+ if client.raise_on_unexpected_status:
61
+ raise errors.UnexpectedStatus(response.status_code, response.content)
62
+ else:
63
+ return None
64
+
65
+
66
+ def _build_response(
67
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
68
+ ) -> Response[Union[Any, HTTPValidationError, SubgraphQuotaResponse]]:
69
+ return Response(
70
+ status_code=HTTPStatus(response.status_code),
71
+ content=response.content,
72
+ headers=response.headers,
73
+ parsed=_parse_response(client=client, response=response),
74
+ )
75
+
76
+
77
+ def sync_detailed(
78
+ graph_id: str,
79
+ *,
80
+ client: AuthenticatedClient,
81
+ authorization: Union[None, Unset, str] = UNSET,
82
+ auth_token: Union[None, Unset, str] = UNSET,
83
+ ) -> Response[Union[Any, HTTPValidationError, SubgraphQuotaResponse]]:
84
+ """Get Subgraph Quota
85
+
86
+ Get subgraph quota and usage information for a parent graph.
87
+
88
+ **Shows:**
89
+ - Current subgraph count
90
+ - Maximum allowed subgraphs per tier
91
+ - Remaining capacity
92
+ - Total size usage across all subgraphs
93
+
94
+ **Tier Limits:**
95
+ - Standard: 0 subgraphs (not supported)
96
+ - Enterprise: 10 subgraphs maximum
97
+ - Premium: Unlimited subgraphs
98
+
99
+ **Size Tracking:**
100
+ Provides aggregate size metrics when available.
101
+ Individual subgraph sizes shown in list endpoint.
102
+
103
+ Args:
104
+ graph_id (str): Parent graph identifier
105
+ authorization (Union[None, Unset, str]):
106
+ auth_token (Union[None, Unset, str]):
107
+
108
+ Raises:
109
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
110
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
111
+
112
+ Returns:
113
+ Response[Union[Any, HTTPValidationError, SubgraphQuotaResponse]]
114
+ """
115
+
116
+ kwargs = _get_kwargs(
117
+ graph_id=graph_id,
118
+ authorization=authorization,
119
+ auth_token=auth_token,
120
+ )
121
+
122
+ response = client.get_httpx_client().request(
123
+ **kwargs,
124
+ )
125
+
126
+ return _build_response(client=client, response=response)
127
+
128
+
129
+ def sync(
130
+ graph_id: str,
131
+ *,
132
+ client: AuthenticatedClient,
133
+ authorization: Union[None, Unset, str] = UNSET,
134
+ auth_token: Union[None, Unset, str] = UNSET,
135
+ ) -> Optional[Union[Any, HTTPValidationError, SubgraphQuotaResponse]]:
136
+ """Get Subgraph Quota
137
+
138
+ Get subgraph quota and usage information for a parent graph.
139
+
140
+ **Shows:**
141
+ - Current subgraph count
142
+ - Maximum allowed subgraphs per tier
143
+ - Remaining capacity
144
+ - Total size usage across all subgraphs
145
+
146
+ **Tier Limits:**
147
+ - Standard: 0 subgraphs (not supported)
148
+ - Enterprise: 10 subgraphs maximum
149
+ - Premium: Unlimited subgraphs
150
+
151
+ **Size Tracking:**
152
+ Provides aggregate size metrics when available.
153
+ Individual subgraph sizes shown in list endpoint.
154
+
155
+ Args:
156
+ graph_id (str): Parent graph identifier
157
+ authorization (Union[None, Unset, str]):
158
+ auth_token (Union[None, Unset, str]):
159
+
160
+ Raises:
161
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
162
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
163
+
164
+ Returns:
165
+ Union[Any, HTTPValidationError, SubgraphQuotaResponse]
166
+ """
167
+
168
+ return sync_detailed(
169
+ graph_id=graph_id,
170
+ client=client,
171
+ authorization=authorization,
172
+ auth_token=auth_token,
173
+ ).parsed
174
+
175
+
176
+ async def asyncio_detailed(
177
+ graph_id: str,
178
+ *,
179
+ client: AuthenticatedClient,
180
+ authorization: Union[None, Unset, str] = UNSET,
181
+ auth_token: Union[None, Unset, str] = UNSET,
182
+ ) -> Response[Union[Any, HTTPValidationError, SubgraphQuotaResponse]]:
183
+ """Get Subgraph Quota
184
+
185
+ Get subgraph quota and usage information for a parent graph.
186
+
187
+ **Shows:**
188
+ - Current subgraph count
189
+ - Maximum allowed subgraphs per tier
190
+ - Remaining capacity
191
+ - Total size usage across all subgraphs
192
+
193
+ **Tier Limits:**
194
+ - Standard: 0 subgraphs (not supported)
195
+ - Enterprise: 10 subgraphs maximum
196
+ - Premium: Unlimited subgraphs
197
+
198
+ **Size Tracking:**
199
+ Provides aggregate size metrics when available.
200
+ Individual subgraph sizes shown in list endpoint.
201
+
202
+ Args:
203
+ graph_id (str): Parent graph identifier
204
+ authorization (Union[None, Unset, str]):
205
+ auth_token (Union[None, Unset, str]):
206
+
207
+ Raises:
208
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
209
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
210
+
211
+ Returns:
212
+ Response[Union[Any, HTTPValidationError, SubgraphQuotaResponse]]
213
+ """
214
+
215
+ kwargs = _get_kwargs(
216
+ graph_id=graph_id,
217
+ authorization=authorization,
218
+ auth_token=auth_token,
219
+ )
220
+
221
+ response = await client.get_async_httpx_client().request(**kwargs)
222
+
223
+ return _build_response(client=client, response=response)
224
+
225
+
226
+ async def asyncio(
227
+ graph_id: str,
228
+ *,
229
+ client: AuthenticatedClient,
230
+ authorization: Union[None, Unset, str] = UNSET,
231
+ auth_token: Union[None, Unset, str] = UNSET,
232
+ ) -> Optional[Union[Any, HTTPValidationError, SubgraphQuotaResponse]]:
233
+ """Get Subgraph Quota
234
+
235
+ Get subgraph quota and usage information for a parent graph.
236
+
237
+ **Shows:**
238
+ - Current subgraph count
239
+ - Maximum allowed subgraphs per tier
240
+ - Remaining capacity
241
+ - Total size usage across all subgraphs
242
+
243
+ **Tier Limits:**
244
+ - Standard: 0 subgraphs (not supported)
245
+ - Enterprise: 10 subgraphs maximum
246
+ - Premium: Unlimited subgraphs
247
+
248
+ **Size Tracking:**
249
+ Provides aggregate size metrics when available.
250
+ Individual subgraph sizes shown in list endpoint.
251
+
252
+ Args:
253
+ graph_id (str): Parent graph identifier
254
+ authorization (Union[None, Unset, str]):
255
+ auth_token (Union[None, Unset, str]):
256
+
257
+ Raises:
258
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
259
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
260
+
261
+ Returns:
262
+ Union[Any, HTTPValidationError, SubgraphQuotaResponse]
263
+ """
264
+
265
+ return (
266
+ await asyncio_detailed(
267
+ graph_id=graph_id,
268
+ client=client,
269
+ authorization=authorization,
270
+ auth_token=auth_token,
271
+ )
272
+ ).parsed
@@ -0,0 +1,272 @@
1
+ from http import HTTPStatus
2
+ from typing import Any, Optional, Union, cast
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.http_validation_error import HTTPValidationError
9
+ from ...models.list_subgraphs_response import ListSubgraphsResponse
10
+ from ...types import UNSET, Response, Unset
11
+
12
+
13
+ def _get_kwargs(
14
+ graph_id: str,
15
+ *,
16
+ authorization: Union[None, Unset, str] = UNSET,
17
+ auth_token: Union[None, Unset, str] = UNSET,
18
+ ) -> dict[str, Any]:
19
+ headers: dict[str, Any] = {}
20
+ if not isinstance(authorization, Unset):
21
+ headers["authorization"] = authorization
22
+
23
+ cookies = {}
24
+ if auth_token is not UNSET:
25
+ cookies["auth-token"] = auth_token
26
+
27
+ _kwargs: dict[str, Any] = {
28
+ "method": "get",
29
+ "url": f"/v1/{graph_id}/subgraphs",
30
+ "cookies": cookies,
31
+ }
32
+
33
+ _kwargs["headers"] = headers
34
+ return _kwargs
35
+
36
+
37
+ def _parse_response(
38
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
39
+ ) -> Optional[Union[Any, HTTPValidationError, ListSubgraphsResponse]]:
40
+ if response.status_code == 200:
41
+ response_200 = ListSubgraphsResponse.from_dict(response.json())
42
+
43
+ return response_200
44
+ if response.status_code == 401:
45
+ response_401 = cast(Any, None)
46
+ return response_401
47
+ if response.status_code == 403:
48
+ response_403 = cast(Any, None)
49
+ return response_403
50
+ if response.status_code == 404:
51
+ response_404 = cast(Any, None)
52
+ return response_404
53
+ if response.status_code == 500:
54
+ response_500 = cast(Any, None)
55
+ return response_500
56
+ if response.status_code == 422:
57
+ response_422 = HTTPValidationError.from_dict(response.json())
58
+
59
+ return response_422
60
+ if client.raise_on_unexpected_status:
61
+ raise errors.UnexpectedStatus(response.status_code, response.content)
62
+ else:
63
+ return None
64
+
65
+
66
+ def _build_response(
67
+ *, client: Union[AuthenticatedClient, Client], response: httpx.Response
68
+ ) -> Response[Union[Any, HTTPValidationError, ListSubgraphsResponse]]:
69
+ return Response(
70
+ status_code=HTTPStatus(response.status_code),
71
+ content=response.content,
72
+ headers=response.headers,
73
+ parsed=_parse_response(client=client, response=response),
74
+ )
75
+
76
+
77
+ def sync_detailed(
78
+ graph_id: str,
79
+ *,
80
+ client: AuthenticatedClient,
81
+ authorization: Union[None, Unset, str] = UNSET,
82
+ auth_token: Union[None, Unset, str] = UNSET,
83
+ ) -> Response[Union[Any, HTTPValidationError, ListSubgraphsResponse]]:
84
+ """List Subgraphs
85
+
86
+ List all subgraphs for a parent graph.
87
+
88
+ **Requirements:**
89
+ - User must have at least read access to parent graph
90
+
91
+ **Response includes:**
92
+ - List of all subgraphs with metadata
93
+ - Current usage vs limits
94
+ - Size and statistics per subgraph
95
+ - Creation timestamps
96
+
97
+ **Filtering:**
98
+ Currently returns all subgraphs. Future versions will support:
99
+ - Filtering by status
100
+ - Filtering by creation date
101
+ - Pagination for large lists
102
+
103
+ Args:
104
+ graph_id (str): Parent graph identifier
105
+ authorization (Union[None, Unset, str]):
106
+ auth_token (Union[None, Unset, str]):
107
+
108
+ Raises:
109
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
110
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
111
+
112
+ Returns:
113
+ Response[Union[Any, HTTPValidationError, ListSubgraphsResponse]]
114
+ """
115
+
116
+ kwargs = _get_kwargs(
117
+ graph_id=graph_id,
118
+ authorization=authorization,
119
+ auth_token=auth_token,
120
+ )
121
+
122
+ response = client.get_httpx_client().request(
123
+ **kwargs,
124
+ )
125
+
126
+ return _build_response(client=client, response=response)
127
+
128
+
129
+ def sync(
130
+ graph_id: str,
131
+ *,
132
+ client: AuthenticatedClient,
133
+ authorization: Union[None, Unset, str] = UNSET,
134
+ auth_token: Union[None, Unset, str] = UNSET,
135
+ ) -> Optional[Union[Any, HTTPValidationError, ListSubgraphsResponse]]:
136
+ """List Subgraphs
137
+
138
+ List all subgraphs for a parent graph.
139
+
140
+ **Requirements:**
141
+ - User must have at least read access to parent graph
142
+
143
+ **Response includes:**
144
+ - List of all subgraphs with metadata
145
+ - Current usage vs limits
146
+ - Size and statistics per subgraph
147
+ - Creation timestamps
148
+
149
+ **Filtering:**
150
+ Currently returns all subgraphs. Future versions will support:
151
+ - Filtering by status
152
+ - Filtering by creation date
153
+ - Pagination for large lists
154
+
155
+ Args:
156
+ graph_id (str): Parent graph identifier
157
+ authorization (Union[None, Unset, str]):
158
+ auth_token (Union[None, Unset, str]):
159
+
160
+ Raises:
161
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
162
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
163
+
164
+ Returns:
165
+ Union[Any, HTTPValidationError, ListSubgraphsResponse]
166
+ """
167
+
168
+ return sync_detailed(
169
+ graph_id=graph_id,
170
+ client=client,
171
+ authorization=authorization,
172
+ auth_token=auth_token,
173
+ ).parsed
174
+
175
+
176
+ async def asyncio_detailed(
177
+ graph_id: str,
178
+ *,
179
+ client: AuthenticatedClient,
180
+ authorization: Union[None, Unset, str] = UNSET,
181
+ auth_token: Union[None, Unset, str] = UNSET,
182
+ ) -> Response[Union[Any, HTTPValidationError, ListSubgraphsResponse]]:
183
+ """List Subgraphs
184
+
185
+ List all subgraphs for a parent graph.
186
+
187
+ **Requirements:**
188
+ - User must have at least read access to parent graph
189
+
190
+ **Response includes:**
191
+ - List of all subgraphs with metadata
192
+ - Current usage vs limits
193
+ - Size and statistics per subgraph
194
+ - Creation timestamps
195
+
196
+ **Filtering:**
197
+ Currently returns all subgraphs. Future versions will support:
198
+ - Filtering by status
199
+ - Filtering by creation date
200
+ - Pagination for large lists
201
+
202
+ Args:
203
+ graph_id (str): Parent graph identifier
204
+ authorization (Union[None, Unset, str]):
205
+ auth_token (Union[None, Unset, str]):
206
+
207
+ Raises:
208
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
209
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
210
+
211
+ Returns:
212
+ Response[Union[Any, HTTPValidationError, ListSubgraphsResponse]]
213
+ """
214
+
215
+ kwargs = _get_kwargs(
216
+ graph_id=graph_id,
217
+ authorization=authorization,
218
+ auth_token=auth_token,
219
+ )
220
+
221
+ response = await client.get_async_httpx_client().request(**kwargs)
222
+
223
+ return _build_response(client=client, response=response)
224
+
225
+
226
+ async def asyncio(
227
+ graph_id: str,
228
+ *,
229
+ client: AuthenticatedClient,
230
+ authorization: Union[None, Unset, str] = UNSET,
231
+ auth_token: Union[None, Unset, str] = UNSET,
232
+ ) -> Optional[Union[Any, HTTPValidationError, ListSubgraphsResponse]]:
233
+ """List Subgraphs
234
+
235
+ List all subgraphs for a parent graph.
236
+
237
+ **Requirements:**
238
+ - User must have at least read access to parent graph
239
+
240
+ **Response includes:**
241
+ - List of all subgraphs with metadata
242
+ - Current usage vs limits
243
+ - Size and statistics per subgraph
244
+ - Creation timestamps
245
+
246
+ **Filtering:**
247
+ Currently returns all subgraphs. Future versions will support:
248
+ - Filtering by status
249
+ - Filtering by creation date
250
+ - Pagination for large lists
251
+
252
+ Args:
253
+ graph_id (str): Parent graph identifier
254
+ authorization (Union[None, Unset, str]):
255
+ auth_token (Union[None, Unset, str]):
256
+
257
+ Raises:
258
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
259
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
260
+
261
+ Returns:
262
+ Union[Any, HTTPValidationError, ListSubgraphsResponse]
263
+ """
264
+
265
+ return (
266
+ await asyncio_detailed(
267
+ graph_id=graph_id,
268
+ client=client,
269
+ authorization=authorization,
270
+ auth_token=auth_token,
271
+ )
272
+ ).parsed
@@ -27,7 +27,7 @@ def _get_kwargs(
27
27
 
28
28
  _kwargs: dict[str, Any] = {
29
29
  "method": "post",
30
- "url": f"/v1/user/graphs/select/{graph_id}",
30
+ "url": f"/v1/user/graphs/{graph_id}/select",
31
31
  "cookies": cookies,
32
32
  }
33
33