corvix.pipeline.providers

Built-in pipeline providers (field completion and context enrichment).

Submodules

Classes

GitHubLatestCommentProvider

Enriches comment notifications with the latest comment metadata.

GitHubPRStateProvider

Enriches pull-request notifications with state metadata.

GitHubThreadSubjectProvider

Backfills subject_url from a notification thread payload.

GitHubWebUrlProvider

Hydrates notification.web_url with direct and API-based mappings.

Package Contents

class corvix.pipeline.providers.GitHubLatestCommentProvider[source][source]

Enriches comment notifications with the latest comment metadata.

timeout_seconds: float = 10.0[source]
name: str = 'github.latest_comment'[source]
enrich(notification: corvix.domain.Notification, client: corvix.pipeline.base.JsonFetchClient, ctx: corvix.pipeline.provider.PipelineContext) dict[str, object][source][source]

Return latest comment metadata under the provider namespace.

class corvix.pipeline.providers.GitHubPRStateProvider[source][source]

Enriches pull-request notifications with state metadata.

timeout_seconds: float = 10.0[source]
name: str = 'github.pr_state'[source]
enrich(notification: corvix.domain.Notification, client: corvix.pipeline.base.JsonFetchClient, ctx: corvix.pipeline.provider.PipelineContext) dict[str, object][source][source]

Return pull-request state metadata under the provider namespace.

class corvix.pipeline.providers.GitHubThreadSubjectProvider[source][source]

Backfills subject_url from a notification thread payload.

timeout_seconds: float = 10.0[source]
name: str = 'github.thread_subject'[source]
hydrate(notification: corvix.domain.Notification, client: corvix.pipeline.base.JsonFetchClient, ctx: corvix.pipeline.provider.PipelineContext) corvix.domain.Notification[source][source]
class corvix.pipeline.providers.GitHubWebUrlProvider[source][source]

Hydrates notification.web_url with direct and API-based mappings.

timeout_seconds: float = 10.0[source]
name: str = 'github.web_url'[source]
hydrate(notification: corvix.domain.Notification, client: corvix.pipeline.base.JsonFetchClient, ctx: corvix.pipeline.provider.PipelineContext) corvix.domain.Notification[source][source]
_resolve_check_suite(client: corvix.pipeline.base.JsonFetchClient, ctx: corvix.pipeline.provider.PipelineContext, notification: corvix.domain.Notification, repo_base: str) str | None[source][source]
_resolve_check_suite_from_title(client: corvix.pipeline.base.JsonFetchClient, ctx: corvix.pipeline.provider.PipelineContext, notification: corvix.domain.Notification, repo_base: str) str | None[source][source]
_resolve_check_suite_from_subject_url(client: corvix.pipeline.base.JsonFetchClient, ctx: corvix.pipeline.provider.PipelineContext, subject_url: str, repository: str) str | None[source][source]
_resolve_release(client: corvix.pipeline.base.JsonFetchClient, ctx: corvix.pipeline.provider.PipelineContext, subject_url: str) str | None[source][source]