getstack 0.19.0__tar.gz → 0.19.1__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.
Files changed (71) hide show
  1. {getstack-0.19.0 → getstack-0.19.1}/PKG-INFO +1 -1
  2. {getstack-0.19.0 → getstack-0.19.1}/pyproject.toml +1 -1
  3. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/services.py +2 -3
  4. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/services.py +7 -5
  5. {getstack-0.19.0 → getstack-0.19.1}/.gitignore +0 -0
  6. {getstack-0.19.0 → getstack-0.19.1}/CLAUDE.md +0 -0
  7. {getstack-0.19.0 → getstack-0.19.1}/LICENSE +0 -0
  8. {getstack-0.19.0 → getstack-0.19.1}/README.md +0 -0
  9. {getstack-0.19.0 → getstack-0.19.1}/scripts/verify_sign_claim_crosslang.py +0 -0
  10. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/__init__.py +0 -0
  11. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/__init__.py +0 -0
  12. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/agents.py +0 -0
  13. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/audit.py +0 -0
  14. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/credentials.py +0 -0
  15. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/delivery_methods.py +0 -0
  16. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/detector_config.py +0 -0
  17. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/dropoffs.py +0 -0
  18. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/evidence_packs.py +0 -0
  19. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/identity.py +0 -0
  20. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/inbound_webhooks.py +0 -0
  21. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/intents.py +0 -0
  22. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/llm.py +0 -0
  23. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/missions.py +0 -0
  24. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/notifications.py +0 -0
  25. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/partner_connect.py +0 -0
  26. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/partner_tenants.py +0 -0
  27. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/passport_session.py +0 -0
  28. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/passports.py +0 -0
  29. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/proxy.py +0 -0
  30. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/reviews.py +0 -0
  31. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/scan.py +0 -0
  32. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/security_events.py +0 -0
  33. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/skills.py +0 -0
  34. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/team.py +0 -0
  35. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/_async/usage.py +0 -0
  36. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/agent_auth.py +0 -0
  37. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/agents.py +0 -0
  38. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/audit.py +0 -0
  39. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/auth.py +0 -0
  40. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/browser_bootstrap.py +0 -0
  41. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/client.py +0 -0
  42. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/credentials.py +0 -0
  43. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/delivery_methods.py +0 -0
  44. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/detector_config.py +0 -0
  45. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/dropoffs.py +0 -0
  46. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/errors.py +0 -0
  47. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/evidence_packs.py +0 -0
  48. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/identity.py +0 -0
  49. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/inbound_webhooks.py +0 -0
  50. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/intents.py +0 -0
  51. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/llm.py +0 -0
  52. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/missions.py +0 -0
  53. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/notifications.py +0 -0
  54. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/partner_connect.py +0 -0
  55. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/partner_tenants.py +0 -0
  56. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/passport_header_verify.py +0 -0
  57. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/passport_session.py +0 -0
  58. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/passports.py +0 -0
  59. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/proxy.py +0 -0
  60. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/py.typed +0 -0
  61. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/reviews.py +0 -0
  62. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/scan.py +0 -0
  63. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/security_events.py +0 -0
  64. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/sign_claim.py +0 -0
  65. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/skills.py +0 -0
  66. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/team.py +0 -0
  67. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/types.py +0 -0
  68. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/usage.py +0 -0
  69. {getstack-0.19.0 → getstack-0.19.1}/src/getstack/verify_offline.py +0 -0
  70. {getstack-0.19.0 → getstack-0.19.1}/tests/test_parity.py +0 -0
  71. {getstack-0.19.0 → getstack-0.19.1}/tests/test_sign_claim.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: getstack
3
- Version: 0.19.0
3
+ Version: 0.19.1
4
4
  Summary: Python SDK for STACK — trust infrastructure for AI agents
5
5
  Project-URL: Homepage, https://getstack.run
6
6
  Project-URL: Documentation, https://getstack.run/docs/sdk
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "getstack"
7
- version = "0.19.0"
7
+ version = "0.19.1"
8
8
  description = "Python SDK for STACK — trust infrastructure for AI agents"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -64,14 +64,13 @@ class AsyncServiceService:
64
64
  self,
65
65
  agent_id: str,
66
66
  service_connection_id: str,
67
- scopes: list[str] | None = None,
67
+ scopes: list[str],
68
68
  ) -> dict[str, Any]:
69
69
  body: dict[str, Any] = {
70
70
  "agent_id": agent_id,
71
71
  "service_connection_id": service_connection_id,
72
+ "scopes": scopes,
72
73
  }
73
- if scopes is not None:
74
- body["scopes"] = scopes
75
74
  return await self._client.post("/v1/services/grant", json=body)
76
75
 
77
76
  async def revoke_agent_access(self, agent_id: str) -> dict[str, Any]:
@@ -66,21 +66,23 @@ class ServiceService:
66
66
  self,
67
67
  agent_id: str,
68
68
  service_connection_id: str,
69
- scopes: list[str] | None = None,
69
+ scopes: list[str],
70
70
  ) -> dict[str, Any]:
71
71
  """Grant an agent access to a connected service.
72
72
 
73
73
  The GRANT is the authorization that lets an agent's passport reach
74
74
  the service (a self-declared intent can only narrow it, never grant
75
- — GET-243). ``service_connection_id`` is the ``scon_*`` id of the
76
- connection (from :meth:`list`), NOT the catalog service id.
75
+ — GET-243). ``service_connection_id`` is the id of the connection
76
+ (from :meth:`list`), NOT the catalog service id. ``scopes`` is
77
+ required by the API (min 1, subset of the connection's scopes) —
78
+ pass the connection's own ``scopes`` for full access or a narrower
79
+ subset.
77
80
  """
78
81
  body: dict[str, Any] = {
79
82
  "agent_id": agent_id,
80
83
  "service_connection_id": service_connection_id,
84
+ "scopes": scopes,
81
85
  }
82
- if scopes is not None:
83
- body["scopes"] = scopes
84
86
  return self._client.post("/v1/services/grant", json=body)
85
87
 
86
88
  def revoke_agent_access(self, agent_id: str) -> dict[str, Any]:
File without changes
File without changes
File without changes
File without changes
File without changes