interloper-api 0.70.0__tar.gz → 0.71.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.
Files changed (25) hide show
  1. {interloper_api-0.70.0 → interloper_api-0.71.0}/PKG-INFO +1 -1
  2. {interloper_api-0.70.0 → interloper_api-0.71.0}/pyproject.toml +1 -1
  3. {interloper_api-0.70.0 → interloper_api-0.71.0}/pyproject.toml.orig +1 -1
  4. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/routes/components.py +12 -1
  5. {interloper_api-0.70.0 → interloper_api-0.71.0}/README.md +0 -0
  6. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/__init__.py +0 -0
  7. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/app.py +0 -0
  8. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/dependencies/__init__.py +0 -0
  9. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/dependencies/auth.py +0 -0
  10. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/dependencies/rbac.py +0 -0
  11. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/dependencies/state.py +0 -0
  12. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/notifications/__init__.py +0 -0
  13. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/notifications/invitations.py +0 -0
  14. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/routes/__init__.py +0 -0
  15. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/routes/admin.py +0 -0
  16. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/routes/agent.py +0 -0
  17. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/routes/auth.py +0 -0
  18. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/routes/backfills.py +0 -0
  19. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/routes/catalog.py +0 -0
  20. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/routes/health.py +0 -0
  21. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/routes/oauth.py +0 -0
  22. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/routes/organisations.py +0 -0
  23. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/routes/runs.py +0 -0
  24. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/routes/tokens.py +0 -0
  25. {interloper_api-0.70.0 → interloper_api-0.71.0}/src/interloper_api/routes/websocket.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: interloper-api
3
- Version: 0.70.0
3
+ Version: 0.71.0
4
4
  Summary: Interloper FastAPI routes
5
5
  Author: Guillaume Onfroy
6
6
  Author-email: Guillaume Onfroy <guillaume@digitlcloud.com>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "interloper-api"
3
- version = "0.70.0"
3
+ version = "0.71.0"
4
4
  description = "Interloper FastAPI routes"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -3,7 +3,7 @@
3
3
  # ###############
4
4
  [project]
5
5
  name = "interloper-api"
6
- version = "0.70.0"
6
+ version = "0.71.0"
7
7
  description = "Interloper FastAPI routes"
8
8
  readme = "README.md"
9
9
  authors = [{ name = "Guillaume Onfroy", email = "guillaume@digitlcloud.com" }]
@@ -118,7 +118,12 @@ class ComponentUpdateRequest(BaseModel):
118
118
 
119
119
 
120
120
  class ComponentResponse(BaseModel):
121
- """Response body for a component of any kind."""
121
+ """Response body for a component of any kind.
122
+
123
+ ``auto_renew`` surfaces a connection's renewal toggle even in list
124
+ responses, where a secret kind's ``config`` stays undisclosed — the
125
+ toggle is operational metadata, not a credential.
126
+ """
122
127
 
123
128
  id: UUID
124
129
  org_id: UUID
@@ -129,6 +134,7 @@ class ComponentResponse(BaseModel):
129
134
  config: dict[str, Any] | None = None
130
135
  state: dict[str, Any] | None = None
131
136
  encrypted: bool = False
137
+ auto_renew: bool | None = None
132
138
  parent_id: UUID | None = None
133
139
  relations: dict[str, list[RelationRef]] = {}
134
140
  children: list[ComponentResponse] = []
@@ -167,6 +173,10 @@ class ComponentResponse(BaseModel):
167
173
  if KINDS[row.kind].sensitive:
168
174
  config = store.components.decode_config(row) if include_config else None
169
175
 
176
+ auto_renew: bool | None = None
177
+ if row.kind == "connection":
178
+ auto_renew = bool((config or store.components.decode_config(row)).get("auto_renew", True))
179
+
170
180
  return cls(
171
181
  id=row.id,
172
182
  org_id=row.org_id,
@@ -177,6 +187,7 @@ class ComponentResponse(BaseModel):
177
187
  config=config,
178
188
  state=row.state,
179
189
  encrypted=row.encrypted,
190
+ auto_renew=auto_renew,
180
191
  parent_id=row.parent_id,
181
192
  relations=_relations_of(row),
182
193
  children=[