assistant-runtime-sdk 1.2.1__tar.gz → 1.4.0__tar.gz

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: assistant_runtime_sdk
3
- Version: 1.2.1
3
+ Version: 1.4.0
4
4
  Summary: Python SDK for FAC Cloud - the Assistant Runtime AI assistant backend
5
5
  Keywords: frappe,ai,assistant,llm,mcp,anthropic,openai,streaming
6
6
  Author: Paul Clinton
@@ -173,6 +173,10 @@ surface. A representative selection:
173
173
  **Workflows** — `list_workflows()`, `create_workflow()`, `execute_workflow()`,
174
174
  `list_workflow_runs()`, `set_workflow_schedule()`
175
175
 
176
+ **Support & feedback** — `create_ticket()`, `list_tickets()`, `get_ticket_thread()`,
177
+ `reply_to_ticket()`, `upload_ticket_attachment()`, `submit_feedback()`,
178
+ `list_feedback(user_id)`
179
+
176
180
  **Prompts** — `list_prompts(user_id)`, `get_prompt(prompt_name, arguments=None)`
177
181
 
178
182
  See [`docs/`](docs/) for the full reference.
@@ -140,6 +140,10 @@ surface. A representative selection:
140
140
  **Workflows** — `list_workflows()`, `create_workflow()`, `execute_workflow()`,
141
141
  `list_workflow_runs()`, `set_workflow_schedule()`
142
142
 
143
+ **Support & feedback** — `create_ticket()`, `list_tickets()`, `get_ticket_thread()`,
144
+ `reply_to_ticket()`, `upload_ticket_attachment()`, `submit_feedback()`,
145
+ `list_feedback(user_id)`
146
+
143
147
  **Prompts** — `list_prompts(user_id)`, `get_prompt(prompt_name, arguments=None)`
144
148
 
145
149
  See [`docs/`](docs/) for the full reference.
@@ -53,7 +53,7 @@ Standalone Functions:
53
53
 
54
54
  """
55
55
 
56
- __version__ = "1.2.1"
56
+ __version__ = "1.4.0"
57
57
  __author__ = "Paul Clinton"
58
58
  __license__ = "AGPL-3.0"
59
59
 
@@ -461,6 +461,11 @@ class AsyncAssistantRuntimeClient(BaseAssistantRuntimeClient):
461
461
  endpoint, payload = self._prepare_accept_terms(terms_version, accepted_by)
462
462
  return await self._request_post_json(endpoint, payload)
463
463
 
464
+ async def get_terms_status(self, timeout: Optional[float] = None) -> Optional[Dict[str, Any]]:
465
+ """Async version of AssistantRuntimeClient.get_terms_status."""
466
+ endpoint, params = self._prepare_get_terms_status()
467
+ return await self._request_get(endpoint, params, timeout=timeout)
468
+
464
469
  # =========================================================================
465
470
  # Model APIs
466
471
  # =========================================================================
@@ -1685,6 +1690,11 @@ class AsyncAssistantRuntimeClient(BaseAssistantRuntimeClient):
1685
1690
  endpoint, payload = self._prepare_list_tickets(user_id, status)
1686
1691
  return await self._request_post_json(endpoint, payload)
1687
1692
 
1693
+ async def list_feedback(self, user_id: str) -> Optional[Dict[str, Any]]:
1694
+ """List the user's submitted feedback. Returns a list of summary dicts."""
1695
+ endpoint, payload = self._prepare_list_feedback(user_id)
1696
+ return await self._request_post_json(endpoint, payload)
1697
+
1688
1698
  async def get_ticket_thread(self, user_id: str, ticket_id: str) -> Optional[Dict[str, Any]]:
1689
1699
  """Get a ticket's full conversation thread. Returns {ticket, messages: [...]}."""
1690
1700
  endpoint, payload = self._prepare_get_ticket_thread(user_id, ticket_id)
@@ -1951,6 +1961,45 @@ class AsyncAssistantRuntimeClient(BaseAssistantRuntimeClient):
1951
1961
  endpoint, payload = self._prepare_dismiss_pack_recommendation(user_id)
1952
1962
  return await self._request_post_json(endpoint, payload, api_base=self.marketplace_api_base)
1953
1963
 
1964
+ async def initiate_pack_checkout(self, pack_id: str) -> Optional[Dict[str, Any]]:
1965
+ """Async version of AssistantRuntimeClient.initiate_pack_checkout."""
1966
+ endpoint, payload = self._prepare_initiate_pack_checkout(pack_id)
1967
+ return await self._request_post_json(endpoint, payload, api_base=self.billing_api_base)
1968
+
1969
+ async def verify_razorpay_pack_payment(
1970
+ self,
1971
+ razorpay_payment_id: str,
1972
+ razorpay_order_id: str,
1973
+ razorpay_signature: str,
1974
+ ) -> Optional[Dict[str, Any]]:
1975
+ """Async version of AssistantRuntimeClient.verify_razorpay_pack_payment."""
1976
+ endpoint, payload = self._prepare_verify_razorpay_pack_payment(
1977
+ razorpay_payment_id, razorpay_order_id, razorpay_signature
1978
+ )
1979
+ return await self._request_post_json(endpoint, payload, api_base=self.billing_api_base)
1980
+
1981
+ async def list_pack_purchases(self) -> Optional[Dict[str, Any]]:
1982
+ """Async version of AssistantRuntimeClient.list_pack_purchases."""
1983
+ endpoint, params = self._prepare_list_pack_purchases()
1984
+ return await self._request_get(endpoint, params, api_base=self.marketplace_api_base)
1985
+
1986
+ async def toggle_purchased_pack(self, pack_id: str, enabled: bool) -> Optional[Dict[str, Any]]:
1987
+ """Async version of AssistantRuntimeClient.toggle_purchased_pack."""
1988
+ endpoint, payload = self._prepare_toggle_purchased_pack(pack_id, enabled)
1989
+ return await self._request_post_json(endpoint, payload, api_base=self.marketplace_api_base)
1990
+
1991
+ async def grant_pack_as_admin(
1992
+ self, pack_id: str, granted_by_user: Optional[str] = None
1993
+ ) -> Optional[Dict[str, Any]]:
1994
+ """Async version of AssistantRuntimeClient.grant_pack_as_admin."""
1995
+ endpoint, payload = self._prepare_grant_pack_as_admin(pack_id, granted_by_user)
1996
+ return await self._request_post_json(endpoint, payload, api_base=self.marketplace_api_base)
1997
+
1998
+ async def enable_pack_as_free_grant(self, pack_id: str) -> Optional[Dict[str, Any]]:
1999
+ """Async version of AssistantRuntimeClient.enable_pack_as_free_grant."""
2000
+ endpoint, payload = self._prepare_enable_pack_as_free_grant(pack_id)
2001
+ return await self._request_post_json(endpoint, payload, api_base=self.marketplace_api_base)
2002
+
1954
2003
  # =========================================================================
1955
2004
  # HITL APIs
1956
2005
  # =========================================================================
@@ -1836,6 +1836,13 @@ class BaseAssistantRuntimeClient:
1836
1836
  payload["environment"] = environment
1837
1837
  return "support.submit_feedback", payload
1838
1838
 
1839
+ def _prepare_list_feedback(self, user_id: str) -> tuple:
1840
+ """Returns (endpoint, payload)."""
1841
+ return "support.list_feedback", {
1842
+ "tenant_id": self.tenant_id,
1843
+ "user_id": user_id,
1844
+ }
1845
+
1839
1846
  def _prepare_list_tickets(self, user_id: str, status: Optional[str] = None) -> tuple:
1840
1847
  """Returns (endpoint, payload)."""
1841
1848
  payload: Dict[str, Any] = {"tenant_id": self.tenant_id, "user_id": user_id}
@@ -2497,6 +2497,11 @@ class AssistantRuntimeClient(BaseAssistantRuntimeClient):
2497
2497
  endpoint, payload = self._prepare_list_tickets(user_id, status)
2498
2498
  return self._request_post_json(endpoint, payload)
2499
2499
 
2500
+ def list_feedback(self, user_id: str) -> Optional[Dict[str, Any]]:
2501
+ """List the user's submitted feedback. Returns a list of summary dicts."""
2502
+ endpoint, payload = self._prepare_list_feedback(user_id)
2503
+ return self._request_post_json(endpoint, payload)
2504
+
2500
2505
  def get_ticket_thread(self, user_id: str, ticket_id: str) -> Optional[Dict[str, Any]]:
2501
2506
  """Get a ticket's full conversation thread. Returns {ticket, messages: [...]}."""
2502
2507
  endpoint, payload = self._prepare_get_ticket_thread(user_id, ticket_id)
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "assistant_runtime_sdk"
3
- version = "1.2.1"
3
+ version = "1.4.0"
4
4
  description = "Python SDK for FAC Cloud - the Assistant Runtime AI assistant backend"
5
5
  readme = "README.md"
6
6
  license = {text = "AGPL-3.0"}