dirigent-core 0.18.2__tar.gz → 0.18.3__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 (58) hide show
  1. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/PKG-INFO +4 -4
  2. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/pyproject.toml +4 -4
  3. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/pyproject.toml.orig +4 -4
  4. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/plugins.py +12 -2
  5. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/storage.py +5 -1
  6. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/LICENSE +0 -0
  7. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/README.md +0 -0
  8. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/__init__.py +0 -0
  9. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/alembic/env.py +0 -0
  10. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/alembic/script.py.mako +0 -0
  11. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/alembic/versions/0001_baseline_schema.py +0 -0
  12. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/alerting.py +0 -0
  13. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/artifacts.py +0 -0
  14. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/auth.py +0 -0
  15. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/blockdocs.py +0 -0
  16. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/config.py +0 -0
  17. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/configdocs.py +0 -0
  18. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/database.py +0 -0
  19. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/directory.py +0 -0
  20. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/documents.py +0 -0
  21. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/documentschema.py +0 -0
  22. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/__init__.py +0 -0
  23. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/claim.py +0 -0
  24. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/context.py +0 -0
  25. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/definition.py +0 -0
  26. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/executor.py +0 -0
  27. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/failure.py +0 -0
  28. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/recovery.py +0 -0
  29. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/references.py +0 -0
  30. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/runs.py +0 -0
  31. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/services.py +0 -0
  32. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/state.py +0 -0
  33. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/errors.py +0 -0
  34. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/examples.py +0 -0
  35. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/ids.py +0 -0
  36. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/logging.py +0 -0
  37. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/messages.py +0 -0
  38. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/migrations.py +0 -0
  39. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/models.py +0 -0
  40. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/pipelines.py +0 -0
  41. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/protocol.py +0 -0
  42. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/py.typed +0 -0
  43. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/ratelimit.py +0 -0
  44. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/registry.py +0 -0
  45. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/reporting.py +0 -0
  46. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/retention.py +0 -0
  47. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/scheduler.py +0 -0
  48. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/schemas.py +0 -0
  49. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/secrets.py +0 -0
  50. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/telemetry.py +0 -0
  51. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/trigger_documents.py +0 -0
  52. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/triggers/__init__.py +0 -0
  53. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/triggers/backfill.py +0 -0
  54. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/triggers/materialize.py +0 -0
  55. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/triggers/schedules.py +0 -0
  56. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/triggers/webhooks.py +0 -0
  57. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/types.py +0 -0
  58. {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/worker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dirigent-core
3
- Version: 0.18.2
3
+ Version: 0.18.3
4
4
  Summary: Dirigent engine core: schema, configuration, and plugin host.
5
5
  License-Expression: LicenseRef-Proprietary
6
6
  License-File: LICENSE
@@ -12,9 +12,9 @@ Requires-Dist: argon2-cffi>=25.1.0
12
12
  Requires-Dist: asyncpg>=0.31.0
13
13
  Requires-Dist: cronsim>=2.7
14
14
  Requires-Dist: cryptography>=46.0.5
15
- Requires-Dist: dirigent-client==0.18.2
16
- Requires-Dist: dirigent-common==0.18.2
17
- Requires-Dist: dirigent-plugin==0.18.2
15
+ Requires-Dist: dirigent-client==0.18.3
16
+ Requires-Dist: dirigent-common==0.18.3
17
+ Requires-Dist: dirigent-plugin==0.18.3
18
18
  Requires-Dist: jsonschema>=4.26.0
19
19
  Requires-Dist: opentelemetry-api>=1.44.0
20
20
  Requires-Dist: pydantic-settings>=2.15.0
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dirigent-core"
3
- version = "0.18.2"
3
+ version = "0.18.3"
4
4
  description = "Dirigent engine core: schema, configuration, and plugin host."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13"
@@ -17,9 +17,9 @@ dependencies = [
17
17
  "asyncpg>=0.31.0",
18
18
  "cronsim>=2.7",
19
19
  "cryptography>=46.0.5",
20
- "dirigent-client==0.18.2",
21
- "dirigent-common==0.18.2",
22
- "dirigent-plugin==0.18.2",
20
+ "dirigent-client==0.18.3",
21
+ "dirigent-common==0.18.3",
22
+ "dirigent-plugin==0.18.3",
23
23
  "jsonschema>=4.26.0",
24
24
  "opentelemetry-api>=1.44.0",
25
25
  "pydantic-settings>=2.15.0",
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dirigent-core"
3
- version = "0.18.2"
3
+ version = "0.18.3"
4
4
  description = "Dirigent engine core: schema, configuration, and plugin host."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13"
@@ -17,9 +17,9 @@ dependencies = [
17
17
  "asyncpg>=0.31.0",
18
18
  "cronsim>=2.7",
19
19
  "cryptography>=46.0.5",
20
- "dirigent-client==0.18.2",
21
- "dirigent-common==0.18.2",
22
- "dirigent-plugin==0.18.2",
20
+ "dirigent-client==0.18.3",
21
+ "dirigent-common==0.18.3",
22
+ "dirigent-plugin==0.18.3",
23
23
  "jsonschema>=4.26.0",
24
24
  "opentelemetry-api>=1.44.0",
25
25
  "pydantic-settings>=2.15.0",
@@ -281,11 +281,20 @@ class PluginHost:
281
281
  blocks=sorted(blocks, key=lambda entry: entry.id),
282
282
  storage_schemes=self._surfaces("storage scheme", self.storage_backends, lambda item: item.config_model),
283
283
  notifiers=self._surfaces("notifier", self.notifiers, lambda item: item.config_model),
284
- connection_kinds=self._surfaces("connection kind", self.connection_kinds, lambda item: item.config_model),
284
+ connection_kinds=self._surfaces(
285
+ "connection kind",
286
+ self.connection_kinds,
287
+ lambda item: item.config_model,
288
+ mark=lambda item: item.mark,
289
+ ),
285
290
  )
286
291
 
287
292
  def _surfaces[T](
288
- self, surface: str, index: Mapping[str, T], config_model: Callable[[T], type[BaseModel]]
293
+ self,
294
+ surface: str,
295
+ index: Mapping[str, T],
296
+ config_model: Callable[[T], type[BaseModel]],
297
+ mark: Callable[[T], str | None] | None = None,
289
298
  ) -> list[SurfaceEntry]:
290
299
  """Render one non-block surface's index as catalog entries."""
291
300
  return [
@@ -294,6 +303,7 @@ class PluginHost:
294
303
  plugin=self.owner_of(surface, identifier),
295
304
  config_schema=json_schema(config_model(item)),
296
305
  secret_fields=secret_fields(config_model(item)),
306
+ mark=None if mark is None else mark(item),
297
307
  )
298
308
  for identifier, item in sorted(index.items())
299
309
  ]
@@ -18,7 +18,7 @@ from pydantic import BaseModel
18
18
 
19
19
  from dirigent_core.errors import DomainError
20
20
  from dirigent_core.messages import NOT_A_URI, OUTSIDE_ROOT, UNKNOWN_SCHEME, UNKNOWN_STORAGE_CONNECTION
21
- from dirigent_plugin import ByteSink, StatResult, StorageBackend
21
+ from dirigent_plugin import ByteSink, ContainerResult, StatResult, StorageBackend
22
22
 
23
23
  CHUNK_SIZE: Final = 256 * 1024
24
24
 
@@ -330,6 +330,10 @@ class Storage:
330
330
  """Remove the object at a URI."""
331
331
  await self.backend_for(uri).delete(uri)
332
332
 
333
+ async def ensure_container(self, uri: str) -> ContainerResult:
334
+ """Create the container a URI's objects live in, for a store that has one to make."""
335
+ return await self.backend_for(uri).ensure_container(uri)
336
+
333
337
  async def delete_prefix(self, uri: str) -> int:
334
338
  """Remove every object under a prefix, and say how many went.
335
339
 
File without changes
File without changes