@cat-factory/kernel 0.42.1 → 0.43.0

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.
@@ -0,0 +1,46 @@
1
+ import type { VcsConnectionRef, VcsProvider } from './vcs-types.js';
2
+ import type { VcsClient } from '../ports/vcs-client.js';
3
+ import type { VcsProvisioningClient } from '../ports/vcs-provisioning.js';
4
+ import type { WebhookVerifier } from '../ports/webhook-verifier.js';
5
+ import type { VcsWebhookMapper } from '../ports/vcs-webhook.js';
6
+ /**
7
+ * The concrete per-provider differentiators the rest of the platform resolves through a
8
+ * {@link VcsConnectionRef}. Each adapter package supplies one bundle. Members beyond
9
+ * `client` are optional so a provider can be registered incrementally (e.g. a read-only
10
+ * provider with no webhook ingest or no repo provisioning).
11
+ */
12
+ export interface VcsProviderBundle {
13
+ /** Which provider this bundle serves (matches the registry key). */
14
+ readonly provider: VcsProvider;
15
+ /** The repo/PR/issue/CI client — the neutral slice of the provider's API. */
16
+ readonly client: VcsClient;
17
+ /** Verifies inbound webhook signatures (GitHub HMAC / GitLab token), if supported. */
18
+ readonly webhookVerifier?: WebhookVerifier;
19
+ /** Normalises a raw webhook delivery into a neutral {@link VcsWebhookEvent}, if supported. */
20
+ readonly webhookMapper?: VcsWebhookMapper;
21
+ /** Privileged repo creation, if supported. */
22
+ readonly provisioning?: VcsProvisioningClient;
23
+ }
24
+ /**
25
+ * Register a VCS provider bundle. A later registration of the same provider replaces the
26
+ * earlier one (so a deployment can override a built-in adapter). Register at startup,
27
+ * before serving.
28
+ */
29
+ export declare function registerVcsProvider(bundle: VcsProviderBundle): void;
30
+ /** The registered bundle for a provider, or `undefined` when nothing is registered. */
31
+ export declare function getVcsProvider(provider: VcsProvider): VcsProviderBundle | undefined;
32
+ /** Whether a bundle is registered for a provider. */
33
+ export declare function isVcsProviderRegistered(provider: VcsProvider): boolean;
34
+ /**
35
+ * The registered bundle for a provider, or throw. Use when a {@link VcsConnectionRef} in
36
+ * hand means a provider MUST be wired (a connection can only exist for a registered
37
+ * provider) — the throw then surfaces a wiring bug rather than failing deep in a call.
38
+ */
39
+ export declare function requireVcsProvider(provider: VcsProvider): VcsProviderBundle;
40
+ /** Convenience: resolve the bundle for a connection ref (throws if unregistered). */
41
+ export declare function resolveVcsProvider(connection: VcsConnectionRef): VcsProviderBundle;
42
+ /** Every registered provider discriminator (registration order). */
43
+ export declare function registeredVcsProviders(): VcsProvider[];
44
+ /** Drop all registered providers. Intended for tests that exercise registration. */
45
+ export declare function clearVcsProviders(): void;
46
+ //# sourceMappingURL=vcs-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcs-registry.d.ts","sourceRoot":"","sources":["../../src/domain/vcs-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAgB/D;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAA;IAC9B,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;IAC1B,sFAAsF;IACtF,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAA;IAC1C,8FAA8F;IAC9F,QAAQ,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAA;IACzC,8CAA8C;IAC9C,QAAQ,CAAC,YAAY,CAAC,EAAE,qBAAqB,CAAA;CAC9C;AAMD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAEnE;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,iBAAiB,GAAG,SAAS,CAEnF;AAED,qDAAqD;AACrD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAEtE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,WAAW,GAAG,iBAAiB,CAM3E;AAED,qFAAqF;AACrF,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,GAAG,iBAAiB,CAElF;AAED,oEAAoE;AACpE,wBAAgB,sBAAsB,IAAI,WAAW,EAAE,CAEtD;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
@@ -0,0 +1,44 @@
1
+ // Process-wide map, keyed by provider discriminator. Registration is a startup side
2
+ // effect, read whenever a caller resolves a provider from a connection ref.
3
+ const registry = new Map();
4
+ /**
5
+ * Register a VCS provider bundle. A later registration of the same provider replaces the
6
+ * earlier one (so a deployment can override a built-in adapter). Register at startup,
7
+ * before serving.
8
+ */
9
+ export function registerVcsProvider(bundle) {
10
+ registry.set(bundle.provider, bundle);
11
+ }
12
+ /** The registered bundle for a provider, or `undefined` when nothing is registered. */
13
+ export function getVcsProvider(provider) {
14
+ return registry.get(provider);
15
+ }
16
+ /** Whether a bundle is registered for a provider. */
17
+ export function isVcsProviderRegistered(provider) {
18
+ return registry.has(provider);
19
+ }
20
+ /**
21
+ * The registered bundle for a provider, or throw. Use when a {@link VcsConnectionRef} in
22
+ * hand means a provider MUST be wired (a connection can only exist for a registered
23
+ * provider) — the throw then surfaces a wiring bug rather than failing deep in a call.
24
+ */
25
+ export function requireVcsProvider(provider) {
26
+ const bundle = registry.get(provider);
27
+ if (!bundle) {
28
+ throw new Error(`VCS provider "${provider}" is not registered.`);
29
+ }
30
+ return bundle;
31
+ }
32
+ /** Convenience: resolve the bundle for a connection ref (throws if unregistered). */
33
+ export function resolveVcsProvider(connection) {
34
+ return requireVcsProvider(connection.provider);
35
+ }
36
+ /** Every registered provider discriminator (registration order). */
37
+ export function registeredVcsProviders() {
38
+ return [...registry.keys()];
39
+ }
40
+ /** Drop all registered providers. Intended for tests that exercise registration. */
41
+ export function clearVcsProviders() {
42
+ registry.clear();
43
+ }
44
+ //# sourceMappingURL=vcs-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcs-registry.js","sourceRoot":"","sources":["../../src/domain/vcs-registry.ts"],"names":[],"mappings":"AAuCA,oFAAoF;AACpF,4EAA4E;AAC5E,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkC,CAAA;AAE1D;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAyB;IAC3D,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;AACvC,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,cAAc,CAAC,QAAqB;IAClD,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC/B,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,uBAAuB,CAAC,QAAqB;IAC3D,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAqB;IACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACrC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,sBAAsB,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,kBAAkB,CAAC,UAA4B;IAC7D,OAAO,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;AAChD,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,sBAAsB;IACpC,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;AAC7B,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,iBAAiB;IAC/B,QAAQ,CAAC,KAAK,EAAE,CAAA;AAClB,CAAC"}
@@ -0,0 +1,46 @@
1
+ /** The VCS systems the platform can talk to. Extend as adapters are added. */
2
+ export type VcsProvider = 'github' | 'gitlab';
3
+ /** Every supported provider, in a stable order (UI pickers, validation, tests). */
4
+ export declare const VCS_PROVIDERS: readonly VcsProvider[];
5
+ /** Type guard: is `value` one of the known {@link VcsProvider}s? */
6
+ export declare function isVcsProvider(value: unknown): value is VcsProvider;
7
+ /**
8
+ * Which credentials/connection a VCS call should use. Replaces the bare
9
+ * `installationId: number` that every GitHub port method used to take.
10
+ *
11
+ * - `provider` — selects the concrete adapter via the VCS registry.
12
+ * - `connectionId` — the provider's stored connection identity, as a string
13
+ * (GitHub: the installation id stringified; GitLab: the
14
+ * `vcs_connections` row id holding the token).
15
+ */
16
+ export interface VcsConnectionRef {
17
+ provider: VcsProvider;
18
+ connectionId: string;
19
+ }
20
+ /**
21
+ * A repository, addressed provider-neutrally.
22
+ *
23
+ * - `repoId` — the provider's canonical repo identity, as a string (GitHub numeric
24
+ * id stringified; GitLab project id or full path). DB id columns are
25
+ * TEXT so both shapes round-trip.
26
+ * - `owner` / `repo` — the human-readable namespace + name (GitHub `owner/repo`;
27
+ * GitLab group + project), used for clone URLs and display.
28
+ */
29
+ export interface VcsRepoRef {
30
+ repoId: string;
31
+ owner: string;
32
+ repo: string;
33
+ }
34
+ /**
35
+ * Build a {@link VcsConnectionRef} for GitHub from a numeric installation id. Centralises
36
+ * the `installationId → connectionId` mapping so the GitHub adapter is the only place that
37
+ * knows the connection id is a stringified installation id.
38
+ */
39
+ export declare function githubConnectionRef(installationId: number): VcsConnectionRef;
40
+ /**
41
+ * Recover a numeric GitHub installation id from a {@link VcsConnectionRef}. GitHub-adapter
42
+ * internal helper — throws if handed a non-GitHub connection (a wiring bug) or an
43
+ * unparseable id.
44
+ */
45
+ export declare function githubInstallationId(connection: VcsConnectionRef): number;
46
+ //# sourceMappingURL=vcs-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcs-types.d.ts","sourceRoot":"","sources":["../../src/domain/vcs-types.ts"],"names":[],"mappings":"AAgBA,8EAA8E;AAC9E,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE7C,mFAAmF;AACnF,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAAkC,CAAA;AAElF,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,WAAW,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,gBAAgB,GAAG,MAAM,CASzE"}
@@ -0,0 +1,45 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Provider-neutral VCS identity vocabulary.
3
+ //
4
+ // The platform was originally hard-wired to GitHub: every port keyed on a numeric
5
+ // `installationId` (the GitHub-App installation), entity ids were GitHub numeric ids,
6
+ // and the persisted tables were `github_*`. To support other systems (GitLab first)
7
+ // the GitHub-specific identity is replaced by these neutral refs, and a concrete
8
+ // provider (github / gitlab) is selected through the {@link VcsProvider} discriminator
9
+ // on the connection — see `vcs-registry.ts`.
10
+ //
11
+ // GitHub maps onto this with `connectionId = String(installationId)`; the GitHub
12
+ // adapter parses it back internally, so no GitHub concept leaks through the neutral
13
+ // port surface. GitLab's `connectionId` is the id of a stored connection row that
14
+ // holds a group/OAuth/PAT token.
15
+ // ---------------------------------------------------------------------------
16
+ /** Every supported provider, in a stable order (UI pickers, validation, tests). */
17
+ export const VCS_PROVIDERS = ['github', 'gitlab'];
18
+ /** Type guard: is `value` one of the known {@link VcsProvider}s? */
19
+ export function isVcsProvider(value) {
20
+ return typeof value === 'string' && VCS_PROVIDERS.includes(value);
21
+ }
22
+ /**
23
+ * Build a {@link VcsConnectionRef} for GitHub from a numeric installation id. Centralises
24
+ * the `installationId → connectionId` mapping so the GitHub adapter is the only place that
25
+ * knows the connection id is a stringified installation id.
26
+ */
27
+ export function githubConnectionRef(installationId) {
28
+ return { provider: 'github', connectionId: String(installationId) };
29
+ }
30
+ /**
31
+ * Recover a numeric GitHub installation id from a {@link VcsConnectionRef}. GitHub-adapter
32
+ * internal helper — throws if handed a non-GitHub connection (a wiring bug) or an
33
+ * unparseable id.
34
+ */
35
+ export function githubInstallationId(connection) {
36
+ if (connection.provider !== 'github') {
37
+ throw new Error(`Expected a github connection, got "${connection.provider}".`);
38
+ }
39
+ const id = Number(connection.connectionId);
40
+ if (!Number.isInteger(id)) {
41
+ throw new Error(`Invalid github installation id "${connection.connectionId}".`);
42
+ }
43
+ return id;
44
+ }
45
+ //# sourceMappingURL=vcs-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcs-types.js","sourceRoot":"","sources":["../../src/domain/vcs-types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4CAA4C;AAC5C,EAAE;AACF,kFAAkF;AAClF,sFAAsF;AACtF,oFAAoF;AACpF,iFAAiF;AACjF,uFAAuF;AACvF,6CAA6C;AAC7C,EAAE;AACF,iFAAiF;AACjF,oFAAoF;AACpF,kFAAkF;AAClF,iCAAiC;AACjC,8EAA8E;AAK9E,mFAAmF;AACnF,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,QAAQ,EAAE,QAAQ,CAAU,CAAA;AAElF,oEAAoE;AACpE,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,aAAmC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC1F,CAAC;AA+BD;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,cAAsB;IACxD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,CAAA;AACrE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAA4B;IAC/D,IAAI,UAAU,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,sCAAsC,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAA;IAChF,CAAC;IACD,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAA;IAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,UAAU,CAAC,YAAY,IAAI,CAAC,CAAA;IACjF,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC"}
package/dist/index.d.ts CHANGED
@@ -11,6 +11,8 @@ export { registerPipeline, registerPipelines, registeredPipelines, clearRegister
11
11
  export { type GateProbe, type GateHelperOutcome, type GateHelperJobResult, type GateHelperCompletionArgs, type GateExhaustedArgs, type GateDefinition, type GateContext, type GateFactory, recordGateAttempt, registerGate, registeredGateFactories, clearRegisteredGates, stubGateContext, } from './domain/gate-registry.js';
12
12
  export { type StepResolverContext, type StepResolution, type StepCompletionResolver, type ResolverContext, type StepResolverFactory, registerStepResolver, registeredStepResolverFactories, clearRegisteredStepResolvers, stubResolverContext, } from './domain/step-resolver-registry.js';
13
13
  export { type ProviderToken, defineProviderToken, wireProvider, getProvider, isProviderWired, requireProvider, clearProviders, } from './domain/provider-registry.js';
14
+ export { type VcsProvider, type VcsConnectionRef, type VcsRepoRef, VCS_PROVIDERS, isVcsProvider, githubConnectionRef, githubInstallationId, } from './domain/vcs-types.js';
15
+ export { type VcsProviderBundle, registerVcsProvider, getVcsProvider, isVcsProviderRegistered, requireVcsProvider, resolveVcsProvider, registeredVcsProviders, clearVcsProviders, } from './domain/vcs-registry.js';
14
16
  export { CI_AGENT_KIND, CI_FIXER_AGENT_KIND, CONFLICTS_AGENT_KIND, CONFLICT_RESOLVER_AGENT_KIND, POST_RELEASE_HEALTH_AGENT_KIND, ON_CALL_AGENT_KIND, HUMAN_REVIEW_AGENT_KIND, FIXER_AGENT_KIND, type CiVerdict, type ReleaseGateVerdict, aggregateCi, isCiGreen, listFailingChecks, describeFailingChecks, classifyReleaseHealth, describeRegressedSignals, renderReleaseEvidence, } from './domain/gate-logic.js';
15
17
  export * from './ports/index.js';
16
18
  export { type ServiceRegistrationDeps, registerServiceForFrame, } from './domain/service-registration.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -23,6 +23,12 @@ export { registerStepResolver, registeredStepResolverFactories, clearRegisteredS
23
23
  // extension) probes, keyed by an opaque {@link ProviderToken}. Replaces the per-provider
24
24
  // module-global wire/get boilerplate. See `domain/provider-registry.ts`.
25
25
  export { defineProviderToken, wireProvider, getProvider, isProviderWired, requireProvider, clearProviders, } from './domain/provider-registry.js';
26
+ // Provider-neutral VCS identity vocabulary + the per-provider adapter registry. The
27
+ // neutral successor to GitHub's `installationId`-keyed surface, selecting a concrete
28
+ // adapter (`github` / `gitlab`) via the {@link VcsProvider} discriminator on the
29
+ // connection. See `domain/vcs-types.ts` / `domain/vcs-registry.ts`.
30
+ export { VCS_PROVIDERS, isVcsProvider, githubConnectionRef, githubInstallationId, } from './domain/vcs-types.js';
31
+ export { registerVcsProvider, getVcsProvider, isVcsProviderRegistered, requireVcsProvider, resolveVcsProvider, registeredVcsProviders, clearVcsProviders, } from './domain/vcs-registry.js';
26
32
  // Pure gate logic + gate/helper agent-kind constants, shared by the built-in gate suite
27
33
  // (`@cat-factory/gates`) and the engine. See `domain/gate-logic.ts`.
28
34
  export { CI_AGENT_KIND, CI_FIXER_AGENT_KIND, CONFLICTS_AGENT_KIND, CONFLICT_RESOLVER_AGENT_KIND, POST_RELEASE_HEALTH_AGENT_KIND, ON_CALL_AGENT_KIND, HUMAN_REVIEW_AGENT_KIND, FIXER_AGENT_KIND, aggregateCi, isCiGreen, listFailingChecks, describeFailingChecks, classifyReleaseHealth, describeRegressedSignals, renderReleaseEvidence, } from './domain/gate-logic.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,9 @@ export { type WorkRunner, NoopWorkRunner } from './work-runner.js';
27
27
  export { type ExecutionEventPublisher, NoopEventPublisher } from './execution-events.js';
28
28
  export type { CommitFilesResult, GitHubClient, GitHubCodeSearchHit, GitHubIssueComment, GitHubIssueDetail, GitHubIssueSearchHit, GitHubPullRequestReview, GitHubReviewThread, GitHubReviewThreadComment, GitHubPullRequestComment, GitHubSubIssue, GitHubRepoRef, InstallationMeta, InstallationSummary, ListOptions, Paged, RateLimitSnapshot, RepoContentEntry, RepoEntry, RepoFileContent, } from './github-client.js';
29
29
  export type { CreateRepoInput, GitHubProvisioningClient, InstallationPermissions, ProvisionedRepo, } from './github-provisioning.js';
30
+ export type { VcsClient } from './vcs-client.js';
31
+ export type { VcsProvisioningClient } from './vcs-provisioning.js';
32
+ export type { RawWebhookDelivery, VcsWebhookEvent, VcsWebhookMapper, VcsWebhookSink, } from './vcs-webhook.js';
30
33
  export type { RepoFiles, ResolveRepoFiles, RunRepoContext, ResolveRunRepoContext, } from './repo-files.js';
31
34
  export type { BinaryArtifactKind, BinaryArtifactRecord, BinaryArtifactStorageKind, BinaryArtifactStore, BinaryArtifactMetadataStore, BinaryBlobBackend, StoreBinaryArtifactInput, } from './binary-artifacts.js';
32
35
  export { createBinaryArtifactStore } from './binary-artifacts.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"AA+DA,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAQhF,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAgB7D,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAA;AAW5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAmB,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAgC,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AA4CxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AAmFjE,OAAO,EAAwB,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AA4BvF,OAAO,EAAwB,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AA4EjF,OAAO,EAAE,mCAAmC,EAAE,MAAM,0BAA0B,CAAA;AA8C9E,OAAO,EAGL,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"AA+DA,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAQhF,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAA;AAgB7D,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,8BAA8B,GAC/B,MAAM,qBAAqB,CAAA;AAW5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAmB,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAgC,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAoDxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AAmFjE,OAAO,EAAwB,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AA4BvF,OAAO,EAAwB,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AA4EjF,OAAO,EAAE,mCAAmC,EAAE,MAAM,0BAA0B,CAAA;AA8C9E,OAAO,EAGL,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,2BAA2B,CAAA"}
@@ -0,0 +1,87 @@
1
+ import type { CommitFilesInput, GitHubBranch, GitHubCheckRun, GitHubCommit, GitHubIssue, GitHubPullRequest, GitHubRepo, MergePullRequestInput, OpenPullRequestInput } from '../domain/types.js';
2
+ import type { VcsConnectionRef, VcsRepoRef } from '../domain/vcs-types.js';
3
+ import type { CommitFilesResult, GitHubCodeSearchHit, GitHubIssueComment, GitHubIssueDetail, GitHubIssueSearchHit, GitHubPullRequestComment, GitHubPullRequestReview, GitHubReviewThread, GitHubSubIssue, ListOptions, Paged, RepoContentEntry, RepoEntry, RepoFileContent } from './github-client.js';
4
+ export type { CommitFilesResult, GitHubCodeSearchHit, GitHubIssueComment, GitHubIssueDetail, GitHubIssueSearchHit, GitHubPullRequestComment, GitHubPullRequestReview, GitHubReviewThread, GitHubSubIssue, ListOptions, Paged, RepoContentEntry, RepoEntry, RepoFileContent, };
5
+ export interface VcsClient {
6
+ /** List every repository the connection can access (for backfill/reconcile). */
7
+ listRepos(connection: VcsConnectionRef): Promise<Paged<GitHubRepo>>;
8
+ getRepo(connection: VcsConnectionRef, ref: VcsRepoRef): Promise<GitHubRepo>;
9
+ /** Whether the connection actually has push (write) access to a repo. */
10
+ canPush(connection: VcsConnectionRef, ref: VcsRepoRef): Promise<boolean>;
11
+ listBranches(connection: VcsConnectionRef, ref: VcsRepoRef, etag?: string): Promise<Paged<GitHubBranch>>;
12
+ /** Resolve a single branch's head commit sha, or null when the branch does not exist. */
13
+ branchHeadSha(connection: VcsConnectionRef, ref: VcsRepoRef, branch: string): Promise<string | null>;
14
+ /** List a repository's root-level entries (empty array for an empty repository). */
15
+ listRootEntries(connection: VcsConnectionRef, ref: VcsRepoRef): Promise<RepoEntry[]>;
16
+ /** List a directory's entries on a ref, each with its blob/tree sha. */
17
+ listDirectory(connection: VcsConnectionRef, ref: VcsRepoRef, path: string, gitRef?: string): Promise<RepoContentEntry[]>;
18
+ /** Read a file's decoded UTF-8 content + blob sha on a ref, or null if absent. */
19
+ getFileContent(connection: VcsConnectionRef, ref: VcsRepoRef, path: string, gitRef?: string): Promise<RepoFileContent | null>;
20
+ listPullRequests(connection: VcsConnectionRef, ref: VcsRepoRef, opts?: ListOptions): Promise<Paged<GitHubPullRequest>>;
21
+ listIssues(connection: VcsConnectionRef, ref: VcsRepoRef, opts?: ListOptions): Promise<Paged<GitHubIssue>>;
22
+ /** Fetch a single issue's full content (body + comments) for linking it to a block. */
23
+ getIssue(connection: VcsConnectionRef, ref: VcsRepoRef, issueNumber: number): Promise<GitHubIssueDetail>;
24
+ /** List an issue's native sub-issues (parent→child). Optional. */
25
+ listSubIssues?(connection: VcsConnectionRef, ref: VcsRepoRef, issueNumber: number): Promise<GitHubSubIssue[]>;
26
+ /** Search issues visible to the connection by free text. */
27
+ searchIssues(connection: VcsConnectionRef, query: string, limit?: number): Promise<GitHubIssueSearchHit[]>;
28
+ /** Code-search files visible to the connection. */
29
+ searchCode(connection: VcsConnectionRef, query: string, limit?: number): Promise<GitHubCodeSearchHit[]>;
30
+ listCommits(connection: VcsConnectionRef, ref: VcsRepoRef, opts?: ListOptions & {
31
+ sha?: string;
32
+ }): Promise<Paged<GitHubCommit>>;
33
+ listCheckRuns(connection: VcsConnectionRef, ref: VcsRepoRef, sha: string): Promise<Paged<GitHubCheckRun>>;
34
+ /** List the logins of a PR's currently-requested reviewers. Optional. */
35
+ listRequestedReviewers?(connection: VcsConnectionRef, ref: VcsRepoRef, number: number): Promise<string[]>;
36
+ /** List a PR's submitted reviews, oldest→newest. Optional. */
37
+ listPullRequestReviews?(connection: VcsConnectionRef, ref: VcsRepoRef, number: number): Promise<GitHubPullRequestReview[]>;
38
+ /** List a PR's general conversation comments, oldest→newest. Optional. */
39
+ listIssueComments?(connection: VcsConnectionRef, ref: VcsRepoRef, number: number): Promise<GitHubPullRequestComment[]>;
40
+ /** The number of approving reviews branch protection requires on `branch`. Optional. */
41
+ getRequiredApprovingReviewCount?(connection: VcsConnectionRef, ref: VcsRepoRef, branch: string): Promise<number>;
42
+ /** The branch a PR actually targets, or null when the PR can't be read. Optional. */
43
+ getPullRequestBaseRef?(connection: VcsConnectionRef, ref: VcsRepoRef, number: number): Promise<string | null>;
44
+ /** List a PR's review threads with resolved state + anchor + comments. Optional. */
45
+ listReviewThreads?(connection: VcsConnectionRef, ref: VcsRepoRef, number: number): Promise<GitHubReviewThread[]>;
46
+ /** Post a reply on a review thread. Optional. */
47
+ replyToReviewThread?(connection: VcsConnectionRef, ref: VcsRepoRef, threadId: string, body: string): Promise<void>;
48
+ /** Resolve a review thread. Optional. */
49
+ resolveReviewThread?(connection: VcsConnectionRef, ref: VcsRepoRef, threadId: string): Promise<void>;
50
+ createBranch(connection: VcsConnectionRef, ref: VcsRepoRef, name: string, fromSha: string): Promise<void>;
51
+ /** Create a commit on a branch (blob → tree → commit → ref). */
52
+ commitFiles(connection: VcsConnectionRef, ref: VcsRepoRef, input: CommitFilesInput): Promise<CommitFilesResult>;
53
+ /** Create an issue; returns the new issue's number + canonical web URL. */
54
+ createIssue(connection: VcsConnectionRef, ref: VcsRepoRef, input: {
55
+ title: string;
56
+ body: string;
57
+ }): Promise<{
58
+ number: number;
59
+ url: string;
60
+ }>;
61
+ /** Close an issue as resolved (idempotent from the caller's view). */
62
+ closeIssue(connection: VcsConnectionRef, ref: VcsRepoRef, number: number): Promise<void>;
63
+ openPullRequest(connection: VcsConnectionRef, ref: VcsRepoRef, input: OpenPullRequestInput): Promise<GitHubPullRequest>;
64
+ updatePullRequest(connection: VcsConnectionRef, ref: VcsRepoRef, number: number, patch: {
65
+ title?: string;
66
+ body?: string;
67
+ state?: 'open' | 'closed';
68
+ base?: string;
69
+ }): Promise<GitHubPullRequest>;
70
+ /** Read a PR's lazily-computed mergeability (the gate normalises the result). */
71
+ getPullRequestMergeability(connection: VcsConnectionRef, ref: VcsRepoRef, number: number): Promise<{
72
+ mergeable: boolean | null;
73
+ mergeableState: string;
74
+ headSha: string | null;
75
+ }>;
76
+ mergePullRequest(connection: VcsConnectionRef, ref: VcsRepoRef, number: number, input?: MergePullRequestInput): Promise<void>;
77
+ /** Delete a branch (idempotent: a missing branch is not an error). */
78
+ deleteBranch(connection: VcsConnectionRef, ref: VcsRepoRef, branch: string): Promise<void>;
79
+ /** Add a comment to an issue or pull request. */
80
+ comment(connection: VcsConnectionRef, ref: VcsRepoRef, issueOrPrNumber: number, body: string): Promise<void>;
81
+ /** Merge one branch into another server-side; maps to a verdict. */
82
+ mergeBranch(connection: VcsConnectionRef, ref: VcsRepoRef, input: {
83
+ base: string;
84
+ head: string;
85
+ }): Promise<'merged' | 'noop' | 'conflict'>;
86
+ }
87
+ //# sourceMappingURL=vcs-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcs-client.d.ts","sourceRoot":"","sources":["../../src/ports/vcs-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,UAAU,EACV,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAM1E,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,KAAK,EACL,gBAAgB,EAChB,SAAS,EACT,eAAe,EAChB,MAAM,oBAAoB,CAAA;AAE3B,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,KAAK,EACL,gBAAgB,EAChB,SAAS,EACT,eAAe,GAChB,CAAA;AAgBD,MAAM,WAAW,SAAS;IAExB,gFAAgF;IAChF,SAAS,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAA;IACnE,OAAO,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAC3E,yEAAyE;IACzE,OAAO,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACxE,YAAY,CACV,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;IAC/B,yFAAyF;IACzF,aAAa,CACX,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACzB,oFAAoF;IACpF,eAAe,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IACpF,wEAAwE;IACxE,aAAa,CACX,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;IAC9B,kFAAkF;IAClF,cAAc,CACZ,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAA;IAClC,gBAAgB,CACd,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAA;IACpC,UAAU,CACR,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,IAAI,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAA;IAC9B,uFAAuF;IACvF,QAAQ,CACN,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC7B,kEAAkE;IAClE,aAAa,CAAC,CACZ,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,cAAc,EAAE,CAAC,CAAA;IAC5B,4DAA4D;IAC5D,YAAY,CACV,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAA;IAClC,mDAAmD;IACnD,UAAU,CACR,UAAU,EAAE,gBAAgB,EAC5B,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAA;IACjC,WAAW,CACT,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,IAAI,CAAC,EAAE,WAAW,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GACpC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;IAC/B,aAAa,CACX,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAA;IACjC,yEAAyE;IACzE,sBAAsB,CAAC,CACrB,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACpB,8DAA8D;IAC9D,sBAAsB,CAAC,CACrB,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAA;IACrC,0EAA0E;IAC1E,iBAAiB,CAAC,CAChB,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAAA;IACtC,wFAAwF;IACxF,+BAA+B,CAAC,CAC9B,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAAA;IAClB,qFAAqF;IACrF,qBAAqB,CAAC,CACpB,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACzB,oFAAoF;IACpF,iBAAiB,CAAC,CAChB,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;IAChC,iDAAiD;IACjD,mBAAmB,CAAC,CAClB,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAAA;IAChB,yCAAyC;IACzC,mBAAmB,CAAC,CAClB,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAAA;IAGhB,YAAY,CACV,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAAA;IAChB,gEAAgE;IAChE,WAAW,CACT,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC7B,2EAA2E;IAC3E,WAAW,CACT,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACrC,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC3C,sEAAsE;IACtE,UAAU,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxF,eAAe,CACb,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC7B,iBAAiB,CACf,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACjF,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC7B,iFAAiF;IACjF,0BAA0B,CACxB,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAA;IACzF,gBAAgB,CACd,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,qBAAqB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAAA;IAChB,sEAAsE;IACtE,YAAY,CAAC,UAAU,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1F,iDAAiD;IACjD,OAAO,CACL,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAAA;IAChB,oEAAoE;IACpE,WAAW,CACT,UAAU,EAAE,gBAAgB,EAC5B,GAAG,EAAE,UAAU,EACf,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GACpC,OAAO,CAAC,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC,CAAA;CAC3C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=vcs-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcs-client.js","sourceRoot":"","sources":["../../src/ports/vcs-client.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import type { ProvisionedRepo } from '@cat-factory/contracts';
2
+ import type { VcsConnectionRef } from '../domain/vcs-types.js';
3
+ import type { CreateRepoInput, InstallationPermissions } from './github-provisioning.js';
4
+ export type { ProvisionedRepo, CreateRepoInput, InstallationPermissions };
5
+ export interface VcsProvisioningClient {
6
+ /**
7
+ * The permissions the connection's token actually carries. Read this before a
8
+ * privileged action so the caller can choose a path (or refuse) without provoking
9
+ * a guaranteed 403.
10
+ */
11
+ getGrantedPermissions(connection: VcsConnectionRef): Promise<InstallationPermissions>;
12
+ /**
13
+ * Create a repository under an organization/group. Requires the connection to hold
14
+ * the elevated administration grant; otherwise the host answers 403.
15
+ */
16
+ createRepoInOrg(connection: VcsConnectionRef, input: CreateRepoInput): Promise<ProvisionedRepo>;
17
+ }
18
+ //# sourceMappingURL=vcs-provisioning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcs-provisioning.d.ts","sourceRoot":"","sources":["../../src/ports/vcs-provisioning.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAExF,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,uBAAuB,EAAE,CAAA;AAEzE,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,qBAAqB,CAAC,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACrF;;;OAGG;IACH,eAAe,CAAC,UAAU,EAAE,gBAAgB,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;CAChG"}
@@ -0,0 +1,15 @@
1
+ // ---------------------------------------------------------------------------
2
+ // VcsProvisioningClient port: the *privileged* slice of a VCS host's API used to
3
+ // create repositories and to introspect what a connection may actually do. The
4
+ // neutral successor to `GitHubProvisioningClient`, keyed by a {@link VcsConnectionRef}
5
+ // instead of a numeric installation id.
6
+ //
7
+ // Deliberately separate from `VcsClient` (the read/write slice every workspace uses)
8
+ // because repo creation needs an elevated grant that only a privileged credential
9
+ // carries (on GitHub, the `Administration: write` App tier — see ADR 0005). Splitting
10
+ // the port keeps the common client implementable without the elevated grant, and lets
11
+ // the provisioner reason about capability *before* it acts rather than discovering a
12
+ // 403 mid-flight.
13
+ // ---------------------------------------------------------------------------
14
+ export {};
15
+ //# sourceMappingURL=vcs-provisioning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcs-provisioning.js","sourceRoot":"","sources":["../../src/ports/vcs-provisioning.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iFAAiF;AACjF,+EAA+E;AAC/E,uFAAuF;AACvF,wCAAwC;AACxC,EAAE;AACF,qFAAqF;AACrF,kFAAkF;AAClF,sFAAsF;AACtF,sFAAsF;AACtF,qFAAqF;AACrF,kBAAkB;AAClB,8EAA8E"}
@@ -0,0 +1,72 @@
1
+ import type { GitHubCheckRun, GitHubCommit, GitHubIssue, GitHubPullRequest } from '../domain/types.js';
2
+ import type { VcsConnectionRef, VcsRepoRef } from '../domain/vcs-types.js';
3
+ /** A normalised inbound webhook event, ready for the shared projector to apply. */
4
+ export type VcsWebhookEvent = {
5
+ kind: 'pull-request';
6
+ connection: VcsConnectionRef;
7
+ repo: VcsRepoRef;
8
+ pullRequest: GitHubPullRequest;
9
+ } | {
10
+ kind: 'issue';
11
+ connection: VcsConnectionRef;
12
+ repo: VcsRepoRef;
13
+ issue: GitHubIssue;
14
+ } | {
15
+ kind: 'push';
16
+ connection: VcsConnectionRef;
17
+ repo: VcsRepoRef;
18
+ /** The pushed branch head, when the push targeted a branch. */
19
+ branch?: {
20
+ name: string;
21
+ headSha: string;
22
+ };
23
+ commits: GitHubCommit[];
24
+ } | {
25
+ kind: 'ci-status';
26
+ connection: VcsConnectionRef;
27
+ repo: VcsRepoRef;
28
+ checkRun: GitHubCheckRun;
29
+ } | {
30
+ /** A connection-wide lifecycle change (install removed/suspended/revived). */
31
+ kind: 'connection-lifecycle';
32
+ connection: VcsConnectionRef;
33
+ action: 'removed' | 'suspended' | 'revived';
34
+ /** Repo ids that became inaccessible (to tombstone), when the host reports them. */
35
+ removedRepoIds?: string[];
36
+ } | {
37
+ /** Heavy/ambiguous delivery: ask the pull side to resync the repo. */
38
+ kind: 'repo-resync';
39
+ connection: VcsConnectionRef;
40
+ repo: VcsRepoRef;
41
+ };
42
+ /** The raw, already-signature-verified delivery handed to a {@link VcsWebhookMapper}. */
43
+ export interface RawWebhookDelivery {
44
+ /** The provider's event-name header (`X-GitHub-Event` / `X-Gitlab-Event`). */
45
+ eventName: string;
46
+ /** The parsed JSON payload. */
47
+ payload: unknown;
48
+ /** All request headers, lower-cased, for providers that key off more than the event name. */
49
+ headers?: Record<string, string>;
50
+ }
51
+ /**
52
+ * Normalise a raw webhook delivery into a neutral {@link VcsWebhookEvent}, or `null` when
53
+ * the delivery carries nothing to project. Provider-specific; one per adapter.
54
+ *
55
+ * The `connection` is resolved by the receiver BEFORE mapping (GitHub derives it from the
56
+ * payload's `installation.id`; GitLab from the project/secret → connection lookup), so the
57
+ * mapper only stamps it onto the event rather than having to discover it from the payload.
58
+ */
59
+ export interface VcsWebhookMapper {
60
+ map(connection: VcsConnectionRef, delivery: RawWebhookDelivery): VcsWebhookEvent | null;
61
+ }
62
+ /**
63
+ * Consumer of a normalised {@link VcsWebhookEvent}, wired by a facade. The neutral webhook
64
+ * ingest route verifies + maps a delivery and hands the result here. Optional: when no sink
65
+ * is wired the route still verifies + maps (acks fast) but drops the event — projecting a
66
+ * neutral event into a provider's projection tables is the follow-up that generalises the
67
+ * GitHub-keyed `github_*` persistence onto the neutral identity.
68
+ */
69
+ export interface VcsWebhookSink {
70
+ handle(event: VcsWebhookEvent): Promise<void>;
71
+ }
72
+ //# sourceMappingURL=vcs-webhook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcs-webhook.d.ts","sourceRoot":"","sources":["../../src/ports/vcs-webhook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,WAAW,EACX,iBAAiB,EAClB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAc1E,mFAAmF;AACnF,MAAM,MAAM,eAAe,GACvB;IACE,IAAI,EAAE,cAAc,CAAA;IACpB,UAAU,EAAE,gBAAgB,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,EAAE,iBAAiB,CAAA;CAC/B,GACD;IACE,IAAI,EAAE,OAAO,CAAA;IACb,UAAU,EAAE,gBAAgB,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAA;IAChB,KAAK,EAAE,WAAW,CAAA;CACnB,GACD;IACE,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,gBAAgB,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAA;IAChB,+DAA+D;IAC/D,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1C,OAAO,EAAE,YAAY,EAAE,CAAA;CACxB,GACD;IACE,IAAI,EAAE,WAAW,CAAA;IACjB,UAAU,EAAE,gBAAgB,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,cAAc,CAAA;CACzB,GACD;IACE,8EAA8E;IAC9E,IAAI,EAAE,sBAAsB,CAAA;IAC5B,UAAU,EAAE,gBAAgB,CAAA;IAC5B,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAA;IAC3C,oFAAoF;IACpF,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC1B,GACD;IACE,sEAAsE;IACtE,IAAI,EAAE,aAAa,CAAA;IACnB,UAAU,EAAE,gBAAgB,CAAA;IAC5B,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAEL,yFAAyF;AACzF,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAA;IACjB,+BAA+B;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,kBAAkB,GAAG,eAAe,GAAG,IAAI,CAAA;CACxF;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=vcs-webhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vcs-webhook.js","sourceRoot":"","sources":["../../src/ports/vcs-webhook.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/kernel",
3
- "version": "0.42.1",
3
+ "version": "0.43.0",
4
4
  "description": "Shared vocabulary, pure logic, and port interfaces for the Agent Architecture Board.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "ai": "^6.0.209",
28
- "@cat-factory/contracts": "0.40.1"
28
+ "@cat-factory/contracts": "0.41.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "typescript": "7.0.1-rc"