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.
Files changed (69) hide show
  1. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/PKG-INFO +4 -4
  2. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/pyproject.toml +4 -4
  3. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/pyproject.toml.orig +4 -4
  4. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/context.py +9 -2
  5. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/LICENSE +0 -0
  6. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/README.md +0 -0
  7. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/__init__.py +0 -0
  8. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/alembic/env.py +0 -0
  9. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/alembic/script.py.mako +0 -0
  10. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/alembic/versions/0001_baseline_schema.py +0 -0
  11. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/alerting.py +0 -0
  12. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/artifacts.py +0 -0
  13. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/auth.py +0 -0
  14. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/blockdocs.py +0 -0
  15. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/config.py +0 -0
  16. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/configdocs.py +0 -0
  17. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/database.py +0 -0
  18. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/directory.py +0 -0
  19. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/documents.py +0 -0
  20. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/documentschema.py +0 -0
  21. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/__init__.py +0 -0
  22. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/claim.py +0 -0
  23. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/definition.py +0 -0
  24. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/executor.py +0 -0
  25. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/expansion.py +0 -0
  26. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/failure.py +0 -0
  27. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/recovery.py +0 -0
  28. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/references.py +0 -0
  29. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/replies.py +0 -0
  30. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/runs.py +0 -0
  31. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/services.py +0 -0
  32. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/engine/state.py +0 -0
  33. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/errors.py +0 -0
  34. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/examples.py +0 -0
  35. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/ids.py +0 -0
  36. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/logging.py +0 -0
  37. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/messages.py +0 -0
  38. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/migrations.py +0 -0
  39. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/models.py +0 -0
  40. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/pipelines.py +0 -0
  41. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/plugins.py +0 -0
  42. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/protocol.py +0 -0
  43. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/py.typed +0 -0
  44. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/ratelimit.py +0 -0
  45. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/registry.py +0 -0
  46. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/reporting.py +0 -0
  47. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/retention.py +0 -0
  48. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/scheduler.py +0 -0
  49. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/schemas.py +0 -0
  50. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/secrets.py +0 -0
  51. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/sources/__init__.py +0 -0
  52. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/sources/endpoint.py +0 -0
  53. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/sources/entries.py +0 -0
  54. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/sources/intake.py +0 -0
  55. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/sources/kinds.py +0 -0
  56. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/sources/rows.py +0 -0
  57. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/sources/rules.py +0 -0
  58. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/storage.py +0 -0
  59. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/telemetry.py +0 -0
  60. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/trigger_documents.py +0 -0
  61. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/triggers/__init__.py +0 -0
  62. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/triggers/backfill.py +0 -0
  63. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/triggers/materialize.py +0 -0
  64. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/triggers/schedules.py +0 -0
  65. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/triggers/watches.py +0 -0
  66. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/triggers/webhooks.py +0 -0
  67. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/types.py +0 -0
  68. {dirigent_core-0.25.0 → dirigent_core-0.25.2}/src/dirigent_core/wakeups.py +0 -0
  69. {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.0
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.0
16
- Requires-Dist: dirigent-common==0.25.0
17
- Requires-Dist: dirigent-plugin==0.25.0
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.0"
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.0",
21
- "dirigent-common==0.25.0",
22
- "dirigent-plugin==0.25.0",
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.0"
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.0",
21
- "dirigent-common==0.25.0",
22
- "dirigent-plugin==0.25.0",
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