Skip to content

Interface: GithubNamespace ​

Defined in: github/src/builders/github-namespace-contract.ts:15

Public DSL builder namespace for @paraharness/github (github.*).

Exposes declarative factories for GitHub Issues trackers (github.issues), webhook event streams (github.webhookStream), and pull-request domain steps (github.createOrUpdatePr).

Methods ​

createOrUpdatePr() ​

ts
createOrUpdatePr<TIn, TOut, THandle>(id, options): GithubCreateOrUpdatePrBuilder<TIn, TOut, THandle>;

Defined in: github/src/builders/github-namespace-contract.ts:61

Creates a fluent GithubCreateOrUpdatePrBuilder domain step for opening or updating a pull request.

Projects the head branch, optional base branch, title, and body from the step input payload.

Type Parameters ​

Type ParameterDefault typeDescription
TInunknownValidated step input payload type.
TOutunknownValidated step output payload type.
THandleunknownRuntime handle type of the enclosing isolation scope.

Parameters ​

ParameterTypeDescription
idstringUnique step node identifier.
optionsGithubCreateOrUpdatePrOptions<TIn, TOut>Repository, token, and PR field projections.

Returns ​

GithubCreateOrUpdatePrBuilder<TIn, TOut, THandle>

Fluent pull-request step builder.


issues() ​

ts
issues<TExternal, TExternalState>(options): GithubIssuesTrackerNode<TExternal, TExternalState>;

Defined in: github/src/builders/github-namespace-contract.ts:28

Creates a passive GithubIssuesTrackerNode polling open issues from a GitHub repository.

Supports optional label filtering and bidirectional issue state synchronization via TrackerAdapter.

Type Parameters ​

Type ParameterDefault typeDescription
TExternalGithubIssueRecordExternal issue record type (defaults to GithubIssueRecord).
TExternalState extends stringstringExternal tracker state string union.

Parameters ​

ParameterTypeDescription
optionsGithubIssuesOptionsRepository slug, token, and optional label filters.

Returns ​

GithubIssuesTrackerNode<TExternal, TExternalState>

Frozen GitHub Issues tracker AST node.


webhookStream() ​

ts
webhookStream<TEvent>(options): GithubWebhookStreamNode<TEvent>;

Defined in: github/src/builders/github-namespace-contract.ts:43

Creates a passive GithubWebhookStreamNode listening for signed GitHub webhook events.

Defaults port to 3000 and path to '/webhooks/github' when omitted in options.

Type Parameters ​

Type ParameterDefault typeDescription
TEventGithubWebhookEventWebhook event payload type (defaults to GithubWebhookEvent).

Parameters ​

ParameterTypeDescription
optionsGithubWebhookStreamOptionsWebhook listener port, path, secret, and subscribed events.

Returns ​

GithubWebhookStreamNode<TEvent>

Frozen GitHub webhook stream source AST node.

Released under the MIT License.