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.
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/PKG-INFO +4 -4
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/pyproject.toml +4 -4
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/pyproject.toml.orig +4 -4
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/plugins.py +12 -2
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/storage.py +5 -1
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/LICENSE +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/README.md +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/__init__.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/alembic/env.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/alembic/script.py.mako +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/alembic/versions/0001_baseline_schema.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/alerting.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/artifacts.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/auth.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/blockdocs.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/config.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/configdocs.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/database.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/directory.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/documents.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/documentschema.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/__init__.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/claim.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/context.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/definition.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/executor.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/failure.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/recovery.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/references.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/runs.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/services.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/engine/state.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/errors.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/examples.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/ids.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/logging.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/messages.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/migrations.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/models.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/pipelines.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/protocol.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/py.typed +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/ratelimit.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/registry.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/reporting.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/retention.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/scheduler.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/schemas.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/secrets.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/telemetry.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/trigger_documents.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/triggers/__init__.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/triggers/backfill.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/triggers/materialize.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/triggers/schedules.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/triggers/webhooks.py +0 -0
- {dirigent_core-0.18.2 → dirigent_core-0.18.3}/src/dirigent_core/types.py +0 -0
- {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.
|
|
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.
|
|
16
|
-
Requires-Dist: dirigent-common==0.18.
|
|
17
|
-
Requires-Dist: dirigent-plugin==0.18.
|
|
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.
|
|
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.
|
|
21
|
-
"dirigent-common==0.18.
|
|
22
|
-
"dirigent-plugin==0.18.
|
|
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.
|
|
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.
|
|
21
|
-
"dirigent-common==0.18.
|
|
22
|
-
"dirigent-plugin==0.18.
|
|
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(
|
|
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,
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|