dirigent-core 0.25.0__tar.gz → 0.25.2__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.25.0 → dirigent_core-0.25.2}/PKG-INFO +4 -4
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/pyproject.toml +4 -4
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/pyproject.toml.orig +4 -4
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/context.py +9 -2
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/LICENSE +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/README.md +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/__init__.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/alembic/env.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/alembic/script.py.mako +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/alembic/versions/0001_baseline_schema.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/alerting.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/artifacts.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/auth.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/blockdocs.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/config.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/configdocs.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/database.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/directory.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/documents.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/documentschema.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/__init__.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/claim.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/definition.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/executor.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/expansion.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/failure.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/recovery.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/references.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/replies.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/runs.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/services.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/state.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/errors.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/examples.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/ids.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/logging.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/messages.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/migrations.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/models.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/pipelines.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/plugins.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/protocol.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/py.typed +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/ratelimit.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/registry.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/reporting.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/retention.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/scheduler.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/schemas.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/secrets.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/sources/__init__.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/sources/endpoint.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/sources/entries.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/sources/intake.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/sources/kinds.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/sources/rows.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/sources/rules.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/storage.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/telemetry.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/trigger_documents.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/triggers/__init__.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/triggers/backfill.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/triggers/materialize.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/triggers/schedules.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/triggers/watches.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/triggers/webhooks.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/types.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/wakeups.py +0 -0
- {dirigent_core-0.25.0 → dirigent_core-0.25.2}/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.25.
|
|
3
|
+
Version: 0.25.2
|
|
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.25.
|
|
16
|
-
Requires-Dist: dirigent-common==0.25.
|
|
17
|
-
Requires-Dist: dirigent-plugin==0.25.
|
|
15
|
+
Requires-Dist: dirigent-client==0.25.2
|
|
16
|
+
Requires-Dist: dirigent-common==0.25.2
|
|
17
|
+
Requires-Dist: dirigent-plugin==0.25.2
|
|
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.25.
|
|
3
|
+
version = "0.25.2"
|
|
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.25.
|
|
21
|
-
"dirigent-common==0.25.
|
|
22
|
-
"dirigent-plugin==0.25.
|
|
20
|
+
"dirigent-client==0.25.2",
|
|
21
|
+
"dirigent-common==0.25.2",
|
|
22
|
+
"dirigent-plugin==0.25.2",
|
|
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.25.
|
|
3
|
+
version = "0.25.2"
|
|
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.25.
|
|
21
|
-
"dirigent-common==0.25.
|
|
22
|
-
"dirigent-plugin==0.25.
|
|
20
|
+
"dirigent-client==0.25.2",
|
|
21
|
+
"dirigent-common==0.25.2",
|
|
22
|
+
"dirigent-plugin==0.25.2",
|
|
23
23
|
"jsonschema>=4.26.0",
|
|
24
24
|
"opentelemetry-api>=1.44.0",
|
|
25
25
|
"pydantic-settings>=2.15.0",
|
|
@@ -6,7 +6,7 @@ long step is visible working and its last lines still land with the outcome.
|
|
|
6
6
|
"""
|
|
7
7
|
|
|
8
8
|
import asyncio
|
|
9
|
-
from collections.abc import AsyncGenerator, Mapping
|
|
9
|
+
from collections.abc import AsyncGenerator, Callable, Mapping
|
|
10
10
|
from contextlib import AbstractAsyncContextManager, asynccontextmanager
|
|
11
11
|
from datetime import UTC, datetime, timedelta
|
|
12
12
|
from fnmatch import fnmatch
|
|
@@ -21,7 +21,7 @@ from pydantic import BaseModel, ConfigDict, Field, JsonValue, SecretStr
|
|
|
21
21
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
22
22
|
|
|
23
23
|
from dirigent_client.enums import LogLevel
|
|
24
|
-
from dirigent_common import JsonMap
|
|
24
|
+
from dirigent_common import BaseRedirect, JsonMap
|
|
25
25
|
from dirigent_core.logging import debug_kept, get_logger
|
|
26
26
|
from dirigent_core.messages import RUN_UNKNOWN_CONNECTION, RUN_UNKNOWN_SCHEMA, UNKNOWN_CONNECTION_KIND
|
|
27
27
|
from dirigent_core.models import Connection
|
|
@@ -33,6 +33,7 @@ from dirigent_plugin import BlockFailure, ByteSink, Capture, ConnectionRef, Erro
|
|
|
33
33
|
#: any connection kind without importing the package that contributed it.
|
|
34
34
|
BASE_URL_FIELD = "base_url"
|
|
35
35
|
VERIFY_TLS_FIELD = "verify_tls"
|
|
36
|
+
FOLLOW_REDIRECTS_WITH_AUTH_FIELD = "follow_redirects_with_auth"
|
|
36
37
|
TIMEOUT_FIELD = "timeout"
|
|
37
38
|
BEARER_FIELD = "bearer_token"
|
|
38
39
|
API_TOKEN_FIELD = "api_token"
|
|
@@ -422,12 +423,18 @@ def build_http_client(config: BaseModel) -> httpx2.AsyncClient:
|
|
|
422
423
|
password = _text(config, BASIC_PASSWORD_FIELD)
|
|
423
424
|
if user:
|
|
424
425
|
auth = httpx2.BasicAuth(user, password or "")
|
|
426
|
+
hooks: dict[str, list[Callable[..., Any]]] | None = (
|
|
427
|
+
{"request": [BaseRedirect(base_url, verify=bool(verify))]}
|
|
428
|
+
if base_url and getattr(config, FOLLOW_REDIRECTS_WITH_AUTH_FIELD, False) is True
|
|
429
|
+
else None
|
|
430
|
+
)
|
|
425
431
|
return httpx2.AsyncClient(
|
|
426
432
|
base_url=base_url,
|
|
427
433
|
headers=headers,
|
|
428
434
|
auth=auth,
|
|
429
435
|
verify=bool(verify),
|
|
430
436
|
timeout=timeout,
|
|
437
|
+
event_hooks=hooks,
|
|
431
438
|
)
|
|
432
439
|
|
|
433
440
|
|
|
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
|
|
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
|