@cat-factory/kernel 0.45.5 → 0.47.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.
- package/dist/domain/step-resolver-registry.d.ts +15 -13
- package/dist/domain/step-resolver-registry.d.ts.map +1 -1
- package/dist/domain/step-resolver-registry.js.map +1 -1
- package/dist/domain/types.d.ts +1 -1
- package/dist/domain/types.d.ts.map +1 -1
- package/dist/ports/binary-artifacts.d.ts +13 -2
- package/dist/ports/binary-artifacts.d.ts.map +1 -1
- package/dist/ports/binary-artifacts.js.map +1 -1
- package/dist/ports/environment-provider.d.ts +125 -0
- package/dist/ports/environment-provider.d.ts.map +1 -1
- package/dist/ports/index.d.ts +3 -2
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/ports/index.js.map +1 -1
- package/dist/ports/user-repositories.d.ts +9 -2
- package/dist/ports/user-repositories.d.ts.map +1 -1
- package/dist/ports/vcs-identity.d.ts +46 -0
- package/dist/ports/vcs-identity.d.ts.map +1 -0
- package/dist/ports/vcs-identity.js +2 -0
- package/dist/ports/vcs-identity.js.map +1 -0
- package/package.json +2 -2
|
@@ -21,19 +21,6 @@ export interface StepResolution {
|
|
|
21
21
|
* engine's `finalizeBlock` then only backstops a block the resolver left untouched.
|
|
22
22
|
*/
|
|
23
23
|
ownsTerminalStatus?: boolean;
|
|
24
|
-
/**
|
|
25
|
-
* How the engine should proceed after this resolver runs, for the few kinds whose
|
|
26
|
-
* completion is NOT a plain "finish the step and advance":
|
|
27
|
-
* - `advance` (default, also when omitted) — finish the step and advance/finalize as usual.
|
|
28
|
-
* - `park` — the resolver parked the run on a decision/approval; the engine returns the
|
|
29
|
-
* parking outcome instead of advancing (e.g. a container companion that withheld its
|
|
30
|
-
* verdict pending a human gate).
|
|
31
|
-
* - `loop` — the resolver re-queued an earlier step (e.g. a Tester that withheld its
|
|
32
|
-
* greenlight re-runs the fixer); the engine returns early WITHOUT finishing this step.
|
|
33
|
-
* Consumed from Phase 3 of the ExecutionService split; resolvers that don't set it keep
|
|
34
|
-
* today's advance-on-completion behaviour.
|
|
35
|
-
*/
|
|
36
|
-
control?: 'park' | 'loop' | 'advance';
|
|
37
24
|
}
|
|
38
25
|
/**
|
|
39
26
|
* Deterministic backend logic run after an agent step completes, keyed by `agentKind`.
|
|
@@ -43,6 +30,21 @@ export interface StepResolution {
|
|
|
43
30
|
export interface StepCompletionResolver {
|
|
44
31
|
/** Matches the step's `agentKind` (e.g. `merger`). */
|
|
45
32
|
kind: string;
|
|
33
|
+
/**
|
|
34
|
+
* WHEN in `recordStepResult` this resolver runs:
|
|
35
|
+
* - `terminal` (default, also when omitted) — at the LATE slot, just before the
|
|
36
|
+
* step finalizes/advances. The right place for a resolver that owns the block's
|
|
37
|
+
* terminal status or acts on the settled step (the `merger`'s real merge). This is
|
|
38
|
+
* where deployment-registered custom resolvers run, preserving today's behaviour.
|
|
39
|
+
* - `post-completion` — at the EARLY slot, immediately after the step's output is
|
|
40
|
+
* recorded and BEFORE the follow-up / approval gates. The right place for a resolver
|
|
41
|
+
* that reshapes the agent's structured result into domain state the gates (or the
|
|
42
|
+
* reviewable-output rendering) then read — e.g. ingesting a blueprint/spec, or
|
|
43
|
+
* persisting a task estimate and replacing the step output with its summary (so an
|
|
44
|
+
* approval proposal shows the summary, not the raw JSON). A `post-completion`
|
|
45
|
+
* resolver MUST NOT own terminal status or park/loop the run.
|
|
46
|
+
*/
|
|
47
|
+
phase?: 'post-completion' | 'terminal';
|
|
46
48
|
/**
|
|
47
49
|
* Whether this resolver applies to the finished step's result — lets a resolver no-op
|
|
48
50
|
* when its agent produced nothing to act on (e.g. the merger returned no assessment).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-resolver-registry.d.ts","sourceRoot":"","sources":["../../src/domain/step-resolver-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAuB7E,oFAAoF;AACpF,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,IAAI,EAAE,YAAY,CAAA;IAClB,qFAAqF;IACrF,MAAM,EAAE,cAAc,CAAA;IACtB,2EAA2E;IAC3E,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"step-resolver-registry.d.ts","sourceRoot":"","sources":["../../src/domain/step-resolver-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAA;AAuB7E,oFAAoF;AACpF,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,IAAI,EAAE,YAAY,CAAA;IAClB,qFAAqF;IACrF,MAAM,EAAE,cAAc,CAAA;IACtB,2EAA2E;IAC3E,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,EAAE,iBAAiB,GAAG,UAAU,CAAA;IACtC;;;;OAIG;IACH,OAAO,CAAC,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAA;IACzC,gDAAgD;IAChD,OAAO,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;CAClE;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,iBAAiB,EAAE,iBAAiB,CAAA;CACrC;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,eAAe,KAAK,sBAAsB,CAAA;AAOlF;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI,CAErF;AAED,iEAAiE;AACjE,wBAAgB,+BAA+B,IAAI;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,mBAAmB,CAAA;CAC7B,EAAE,CAEF;AAED,yFAAyF;AACzF,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,GAAE,OAAO,CAAC,eAAe,CAAM,GAAG,eAAe,CAE7F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-resolver-registry.js","sourceRoot":"","sources":["../../src/domain/step-resolver-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"step-resolver-registry.js","sourceRoot":"","sources":["../../src/domain/step-resolver-registry.ts"],"names":[],"mappings":"AAiGA,oFAAoF;AACpF,0FAA0F;AAC1F,sEAAsE;AACtE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAA;AAEvD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,OAA4B;IAC7E,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AAC7B,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,+BAA+B;IAI7C,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;AACpE,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,4BAA4B;IAC1C,QAAQ,CAAC,KAAK,EAAE,CAAA;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAS,GAA6B,EAAE;IAC1E,OAAO,EAAE,iBAAiB,EAAE,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,EAAE,CAAA;AACxE,CAAC"}
|
package/dist/domain/types.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export type { AgentKind, AgentState, AgentFailure, AgentFailureKind, AgentRunKind, Block, BlockLevel, BlockStatus, BlockType, TaskType, CreateTaskType, TaskTypeFields, DocKind, Decision, ExecutionInstance, ExecutionStatus, Pipeline, PipelineStep, Position, PromptFragment, PullRequestRef, SpendStatus, StepApproval, StepReviewComment, StepSubtasks, Workspace, WorkspaceSnapshot, FragmentOwnerKind, FragmentTier, CreatePromptFragmentInput, CreateDocumentFragmentInput, UpdatePromptFragmentInput, FragmentSource, LinkFragmentSourceInput, FragmentSyncResult, FragmentSourceStatus, ResolvedFragment, ResolvedFragmentCatalog, Account, AccountType, AccountRole, AccountMember, CreateAccountInput, AddMemberInput, Service, WorkspaceMount, MountServiceInput, UpdateMountInput, GitHubBranch, GitHubCheckRun, GitHubCommit, GitHubConnection, GitHubInstallationOption, GitHubAvailableRepo, GitHubIssue, GitHubIssueState, GitHubPullRequest, GitHubPullRequestState, GitHubRepo, RepoTreeEntry, SetRepoMonorepoInput, CommitFilesInput, LinkReposInput, OpenPullRequestInput, MergePullRequestInput, ProviderConfigFieldType, ProviderConfigField, ProviderDescriptor, ConnectionTestResult, UserSecretKind, UserSecretStatus, StoreUserSecretInput, TestUserSecretInput, UserSecretDescriptor, DocumentSourceKind, DocumentSourceDescriptor, DocumentCredentialScope, CredentialField, DocumentConnection, SourceDocument, DocumentSearchResult, DocumentBoardPlan, PlanFrame, PlanModule, PlanTask, TaskSourceKind, TaskSourceDescriptor, TaskSourceState, TaskSourceDiagnostic, TaskSourceDiagnosticStatus, TaskConnection, TaskComment, TaskDependencyLink, SourceTask, TaskSearchResult, EnvironmentSecretRef, EnvironmentAuthScheme, EnvironmentHttpMethod, EnvironmentRequestTemplate, EnvironmentStatus, EnvironmentAccessScheme, EnvironmentAccessMapping, EnvironmentResponseMapping, EnvironmentManifest, EnvironmentAccessHandle, EnvironmentHandle, EnvironmentConnection, TestEnvironmentConnectionInput, ProvisioningSubsystem, ProvisioningOperation, ProvisioningOutcome, ProvisioningLogEntry, RunnerPoolSecretRef, RunnerPoolAuthScheme, RunnerPoolRequestTemplate, RunnerJobState, RunnerPoolResponseMapping, RunnerPoolManifest, RunnerPoolConnection, TestRunnerPoolConnectionInput, ReferenceArchitecture, CreateReferenceArchitectureInput, UpdateReferenceArchitectureInput, BootstrapStatus, BootstrapFailure, BootstrapFailureKind, BootstrapJob, BootstrapRepoInput, BlueprintModule, BlueprintService, BlueprintSource, BoardScanSpawnResult, ReviewItemCategory, ReviewItemSeverity, ReviewItemStatus, RequirementReviewItem, RequirementReviewStatus, RequirementReview, KaizenGradingStatus, KaizenGrading, KaizenVerifiedCombo, KaizenOverview, KaizenRunGradings, RecommendationStatus, RequirementRecommendation, ReplyReviewItemInput, UpdateReviewItemStatusInput, IncorporateRequirementsInput, RequestRecommendationsInput, ReRequestRecommendationInput, ResolveRequirementsExceededInput, ResolveRequirementsExceededChoice, FollowUpItemKind, FollowUpItemStatus, FollowUpItem, FollowUpsStepState, AnswerFollowUpInput, StreamedFollowUp, ClarityReviewItem, ClarityReviewStatus, ClarityReview, ReplyClarityItemInput, UpdateClarityItemStatusInput, IncorporateClarityInput, ResolveClarityExceededInput, ResolveClarityExceededChoice, BrainstormStage, BrainstormItem, BrainstormStatus, BrainstormSession, ReplyBrainstormItemInput, UpdateBrainstormItemStatusInput, IncorporateBrainstormInput, ResolveBrainstormExceededInput, ResolveBrainstormExceededChoice, IterationCapChoice, ResolveIterationCapInput, RequirementPriority, RequirementKind, AcceptanceCriterion, RequirementItem, DomainRule, RequirementGroup, SpecModule, SpecDoc, CompanionAssessment, CompanionVerdict, GateStepState, GateFailingCheck, GateAttempt, HumanTestStepState, HumanTestEnvironment, HumanTestRound, RequestHumanTestFixInput, VisualConfirmStepState, VisualConfirmPair, VisualConfirmRound, MergeAssessment, MergeThresholdPreset, RequirementConcernLevel, CreateMergePresetInput, UpdateMergePresetInput, ConsensusStrategy, ConsensusParticipant, ConsensusGating, StepGating, ConsensusStepConfig, TaskEstimate, ConsensusScore, ConsensusContribution, ConsensusRound, ConsensusSessionStatus, ConsensusSession, AgentConfigOption, AgentConfigDescriptor, AgentConfigCatalog, AgentConfigValues, TestReport, TestOutcome, TestConcern, TestConcernSeverity, CloudProvider, InstanceSize, UpdateAccountInput, ModelPreset, CreateModelPresetInput, UpdateModelPresetInput, ServiceFragmentDefaults, SetServiceFragmentDefaultsInput, Notification, NotificationType, NotificationStatus, NotificationSeverity, NotificationPayload, ResolveNotificationAction, WorkspaceSettings, UpdateWorkspaceSettingsInput, TaskLimitMode, TaskLimitPerType, SlackConnection, SlackRoute, SlackNotificationSettings, SlackMemberMappingEntry, SlackMemberRole, SlackMemberMapping, SlackChannel, ConnectSlackByTokenInput, UpdateSlackSettingsInput, UpdateSlackMemberMappingInput, ScheduleTemplate, Recurrence, PipelineSchedule, ScheduleRun, CreateScheduleInput, UpdateScheduleInput, TrackerKind, TrackerSettings, PutTrackerSettingsInput, WritebackOverride, LlmCallActivity, SandboxPromptOrigin, SandboxPromptVersion, SandboxFixtureKind, SandboxRepoRef, SandboxFixtureObjective, SandboxFixture, SandboxExperimentStatus, SandboxMatrix, SandboxExperiment, SandboxRunStatus, SandboxTokenUsage, SandboxRun, SandboxGradeDimension, SandboxObjectiveResult, SandboxGrade, } from '@cat-factory/contracts';
|
|
1
|
+
export type { AgentKind, AgentState, AgentFailure, AgentFailureKind, AgentRunKind, Block, BlockLevel, BlockStatus, BlockType, TaskType, CreateTaskType, TaskTypeFields, DocKind, Decision, ExecutionInstance, ExecutionStatus, Pipeline, PipelineStep, Position, PromptFragment, PullRequestRef, SpendStatus, StepApproval, StepReviewComment, StepSubtasks, Workspace, WorkspaceSnapshot, FragmentOwnerKind, FragmentTier, CreatePromptFragmentInput, CreateDocumentFragmentInput, UpdatePromptFragmentInput, FragmentSource, LinkFragmentSourceInput, FragmentSyncResult, FragmentSourceStatus, ResolvedFragment, ResolvedFragmentCatalog, Account, AccountType, AccountRole, AccountMember, CreateAccountInput, AddMemberInput, Service, WorkspaceMount, MountServiceInput, UpdateMountInput, GitHubBranch, GitHubCheckRun, GitHubCommit, GitHubConnection, GitHubInstallationOption, GitHubAvailableRepo, GitHubIssue, GitHubIssueState, GitHubPullRequest, GitHubPullRequestState, GitHubRepo, RepoTreeEntry, SetRepoMonorepoInput, CommitFilesInput, LinkReposInput, OpenPullRequestInput, MergePullRequestInput, ProviderConfigFieldType, ProviderConfigField, ProviderDescriptor, ConnectionTestResult, UserSecretKind, UserSecretStatus, StoreUserSecretInput, TestUserSecretInput, UserSecretDescriptor, DocumentSourceKind, DocumentSourceDescriptor, DocumentCredentialScope, CredentialField, DocumentConnection, SourceDocument, DocumentSearchResult, DocumentBoardPlan, PlanFrame, PlanModule, PlanTask, TaskSourceKind, TaskSourceDescriptor, TaskSourceState, TaskSourceDiagnostic, TaskSourceDiagnosticStatus, TaskConnection, TaskComment, TaskDependencyLink, SourceTask, TaskSearchResult, EnvironmentSecretRef, EnvironmentAuthScheme, EnvironmentHttpMethod, EnvironmentRequestTemplate, EnvironmentStatus, EnvironmentAccessScheme, EnvironmentAccessMapping, EnvironmentResponseMapping, EnvironmentManifest, EnvironmentAccessHandle, EnvironmentHandle, EnvironmentConnection, TestEnvironmentConnectionInput, ValidateEnvironmentRepoInput, BootstrapEnvironmentRepoInput, BootstrapRepoResult, ProvisioningSubsystem, ProvisioningOperation, ProvisioningOutcome, ProvisioningLogEntry, RunnerPoolSecretRef, RunnerPoolAuthScheme, RunnerPoolRequestTemplate, RunnerJobState, RunnerPoolResponseMapping, RunnerPoolManifest, RunnerPoolConnection, TestRunnerPoolConnectionInput, ReferenceArchitecture, CreateReferenceArchitectureInput, UpdateReferenceArchitectureInput, BootstrapStatus, BootstrapFailure, BootstrapFailureKind, BootstrapJob, BootstrapRepoInput, BlueprintModule, BlueprintService, BlueprintSource, BoardScanSpawnResult, ReviewItemCategory, ReviewItemSeverity, ReviewItemStatus, RequirementReviewItem, RequirementReviewStatus, RequirementReview, KaizenGradingStatus, KaizenGrading, KaizenVerifiedCombo, KaizenOverview, KaizenRunGradings, RecommendationStatus, RequirementRecommendation, ReplyReviewItemInput, UpdateReviewItemStatusInput, IncorporateRequirementsInput, RequestRecommendationsInput, ReRequestRecommendationInput, ResolveRequirementsExceededInput, ResolveRequirementsExceededChoice, FollowUpItemKind, FollowUpItemStatus, FollowUpItem, FollowUpsStepState, AnswerFollowUpInput, StreamedFollowUp, ClarityReviewItem, ClarityReviewStatus, ClarityReview, ReplyClarityItemInput, UpdateClarityItemStatusInput, IncorporateClarityInput, ResolveClarityExceededInput, ResolveClarityExceededChoice, BrainstormStage, BrainstormItem, BrainstormStatus, BrainstormSession, ReplyBrainstormItemInput, UpdateBrainstormItemStatusInput, IncorporateBrainstormInput, ResolveBrainstormExceededInput, ResolveBrainstormExceededChoice, IterationCapChoice, ResolveIterationCapInput, RequirementPriority, RequirementKind, AcceptanceCriterion, RequirementItem, DomainRule, RequirementGroup, SpecModule, SpecDoc, CompanionAssessment, CompanionVerdict, GateStepState, GateFailingCheck, GateAttempt, HumanTestStepState, HumanTestEnvironment, HumanTestRound, RequestHumanTestFixInput, VisualConfirmStepState, VisualConfirmPair, VisualConfirmRound, MergeAssessment, MergeThresholdPreset, RequirementConcernLevel, CreateMergePresetInput, UpdateMergePresetInput, ConsensusStrategy, ConsensusParticipant, ConsensusGating, StepGating, ConsensusStepConfig, TaskEstimate, ConsensusScore, ConsensusContribution, ConsensusRound, ConsensusSessionStatus, ConsensusSession, AgentConfigOption, AgentConfigDescriptor, AgentConfigCatalog, AgentConfigValues, TestReport, TestOutcome, TestConcern, TestConcernSeverity, CloudProvider, InstanceSize, UpdateAccountInput, ModelPreset, CreateModelPresetInput, UpdateModelPresetInput, ServiceFragmentDefaults, SetServiceFragmentDefaultsInput, Notification, NotificationType, NotificationStatus, NotificationSeverity, NotificationPayload, ResolveNotificationAction, WorkspaceSettings, UpdateWorkspaceSettingsInput, TaskLimitMode, TaskLimitPerType, SlackConnection, SlackRoute, SlackNotificationSettings, SlackMemberMappingEntry, SlackMemberRole, SlackMemberMapping, SlackChannel, ConnectSlackByTokenInput, UpdateSlackSettingsInput, UpdateSlackMemberMappingInput, ScheduleTemplate, Recurrence, PipelineSchedule, ScheduleRun, CreateScheduleInput, UpdateScheduleInput, TrackerKind, TrackerSettings, PutTrackerSettingsInput, WritebackOverride, LlmCallActivity, SandboxPromptOrigin, SandboxPromptVersion, SandboxFixtureKind, SandboxRepoRef, SandboxFixtureObjective, SandboxFixture, SandboxExperimentStatus, SandboxMatrix, SandboxExperiment, SandboxRunStatus, SandboxTokenUsage, SandboxRun, SandboxGradeDimension, SandboxObjectiveResult, SandboxGrade, } from '@cat-factory/contracts';
|
|
2
2
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"AAIA,YAAY,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,KAAK,EACL,UAAU,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,cAAc,EACd,cAAc,EACd,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,cAAc,EACd,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,iBAAiB,EAEjB,iBAAiB,EACjB,YAAY,EACZ,yBAAyB,EACzB,2BAA2B,EAC3B,yBAAyB,EACzB,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EAEvB,OAAO,EACP,WAAW,EACX,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,cAAc,EAEd,OAAO,EACP,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAEhB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EAErB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EAEpB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EAEpB,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,QAAQ,EAER,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAEhB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,0BAA0B,EAC1B,iBAAiB,EACjB,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,8BAA8B,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/domain/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Clock, IdGenerator } from './runtime.js';
|
|
2
2
|
/** Where a blob's bytes physically live. The metadata always lives in the DB. */
|
|
3
|
-
export type BinaryArtifactStorageKind = 'db' | 'r2' | 's3' | 'memory';
|
|
3
|
+
export type BinaryArtifactStorageKind = 'db' | 'r2' | 's3' | 'fs' | 'memory';
|
|
4
4
|
/** What an artifact is — drives actual-vs-reference pairing in the gate UI. */
|
|
5
5
|
export type BinaryArtifactKind = 'screenshot' | 'reference';
|
|
6
6
|
/** Metadata describing one stored blob (the bytes live in a {@link BinaryBlobBackend}). */
|
|
@@ -83,7 +83,8 @@ export interface BinaryArtifactMetadataStore {
|
|
|
83
83
|
/**
|
|
84
84
|
* The pluggable blob backend — the "custom adapter interface". Implement this to
|
|
85
85
|
* store bytes anywhere: R2 (Cloudflare), S3 (@cat-factory/provider-s3), a
|
|
86
|
-
* Postgres `bytea` table (Node), an in-memory map
|
|
86
|
+
* Postgres `bytea` table or the local filesystem (Node/local), an in-memory map
|
|
87
|
+
* (tests), or your own store.
|
|
87
88
|
* `kind` is stamped onto the metadata `storage` column so a read knows where the
|
|
88
89
|
* bytes live.
|
|
89
90
|
*/
|
|
@@ -93,6 +94,16 @@ export interface BinaryBlobBackend {
|
|
|
93
94
|
get(key: string): Promise<Uint8Array | null>;
|
|
94
95
|
delete(key: string): Promise<void>;
|
|
95
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Resolve the {@link BinaryArtifactStore} for a workspace's owning ACCOUNT. The blob
|
|
99
|
+
* backend (filesystem / S3 / R2 / Postgres) is configured per-account in the UI, so the
|
|
100
|
+
* store is resolved at request/run time from the account's settings rather than wired once
|
|
101
|
+
* at boot. Returns `null` when the account has no storage configured (or selected `off`),
|
|
102
|
+
* which every consumer treats as "storage unavailable" — the artifact controllers 503 and
|
|
103
|
+
* the visual-confirmation gate passes through. The facade composes this from the account
|
|
104
|
+
* settings + a runtime-specific blob-backend factory + the runtime's metadata store.
|
|
105
|
+
*/
|
|
106
|
+
export type ResolveBinaryArtifactStore = (workspaceId: string) => Promise<BinaryArtifactStore | null>;
|
|
96
107
|
/**
|
|
97
108
|
* Compose a {@link BinaryArtifactStore} from a metadata store + a blob backend.
|
|
98
109
|
* The store derives the id, content hash, byte size, storage tag and key; writes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-artifacts.d.ts","sourceRoot":"","sources":["../../src/ports/binary-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"binary-artifacts.d.ts","sourceRoot":"","sources":["../../src/ports/binary-artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-artifacts.js","sourceRoot":"","sources":["../../src/ports/binary-artifacts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"binary-artifacts.js","sourceRoot":"","sources":["../../src/ports/binary-artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -67,6 +67,104 @@ export interface EnvironmentConnectionTestRequest {
|
|
|
67
67
|
config: Record<string, string>;
|
|
68
68
|
resolveSecret: SecretResolver;
|
|
69
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* A VCS-neutral, already-bound file reader handed to a provider so it can inspect a
|
|
72
|
+
* target repo WITHOUT knowing the VCS host. The engine builds it from the workspace's
|
|
73
|
+
* resolved RepoFiles (GitHub today, GitLab later); the provider only names paths.
|
|
74
|
+
* Returns null when the path is absent on the ref.
|
|
75
|
+
*/
|
|
76
|
+
export type RepoFileReader = (path: string, gitRef?: string) => Promise<{
|
|
77
|
+
content: string;
|
|
78
|
+
sha: string;
|
|
79
|
+
} | null>;
|
|
80
|
+
/** Severity of a single repo-validation finding. */
|
|
81
|
+
export type RepoValidationSeverity = 'error' | 'warning';
|
|
82
|
+
/** One finding from a repo validation (a missing/invalid file, a bad field, etc.). */
|
|
83
|
+
export interface RepoValidationIssue {
|
|
84
|
+
severity: RepoValidationSeverity;
|
|
85
|
+
/** Human-readable explanation, safe to surface to an operator. */
|
|
86
|
+
message: string;
|
|
87
|
+
/** The repo-relative path the issue concerns, when applicable (e.g. `.kargo.yml`). */
|
|
88
|
+
path?: string;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Ask a provider to mechanically verify a target repo contains the files it needs
|
|
92
|
+
* BEFORE provisioning. The engine supplies the neutral reader (already bound to the
|
|
93
|
+
* workspace's repo + connection); the provider supplies the expectations.
|
|
94
|
+
*/
|
|
95
|
+
export interface RepoValidationRequest {
|
|
96
|
+
/** VCS-neutral read of a file on `defaultGitRef` (or an explicit ref). */
|
|
97
|
+
readRepoFile: RepoFileReader;
|
|
98
|
+
/** The ref to read at when a call omits one (PR head branch / default branch). */
|
|
99
|
+
defaultGitRef?: string;
|
|
100
|
+
/** Display-only repo coordinates, for messages. NOT used to build a client. */
|
|
101
|
+
repoOwner?: string;
|
|
102
|
+
repoName?: string;
|
|
103
|
+
/** Per-workspace native config (the manifest's `providerConfig` bag), when known. */
|
|
104
|
+
config?: Record<string, string>;
|
|
105
|
+
resolveSecret: SecretResolver;
|
|
106
|
+
}
|
|
107
|
+
/** The outcome of a repo validation: ok plus structured issues. */
|
|
108
|
+
export interface RepoValidationResult {
|
|
109
|
+
ok: boolean;
|
|
110
|
+
issues: RepoValidationIssue[];
|
|
111
|
+
}
|
|
112
|
+
/** One file the bootstrap op will write into the repo (create or update). */
|
|
113
|
+
export interface BootstrapConfigFile {
|
|
114
|
+
path: string;
|
|
115
|
+
content: string;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Ask a provider to mechanically GENERATE its config file(s) for a target repo from
|
|
119
|
+
* variables collected via the UI bootstrapping form. The provider returns the file
|
|
120
|
+
* bytes; the ENGINE commits them through the VCS-neutral writer (so the provider stays
|
|
121
|
+
* side-effect-free). The provider may also read existing files (to detect/merge an
|
|
122
|
+
* existing config) via `readRepoFile`.
|
|
123
|
+
*/
|
|
124
|
+
export interface BootstrapConfigRequest {
|
|
125
|
+
/** Variables collected from the UI form (keyed by `describeBootstrapInputs` keys). */
|
|
126
|
+
inputs: Record<string, string>;
|
|
127
|
+
/** VCS-neutral read, to detect/merge an existing config. */
|
|
128
|
+
readRepoFile: RepoFileReader;
|
|
129
|
+
defaultGitRef?: string;
|
|
130
|
+
repoOwner?: string;
|
|
131
|
+
repoName?: string;
|
|
132
|
+
config?: Record<string, string>;
|
|
133
|
+
resolveSecret: SecretResolver;
|
|
134
|
+
}
|
|
135
|
+
/** The provider's mechanical-bootstrap output: files to write, or "needs an agent". */
|
|
136
|
+
export interface BootstrapConfigResult {
|
|
137
|
+
/** Files the engine should create/update. Empty ⇒ nothing to write. */
|
|
138
|
+
files: BootstrapConfigFile[];
|
|
139
|
+
/** Suggested commit message / PR title for the write. */
|
|
140
|
+
commitMessage?: string;
|
|
141
|
+
/**
|
|
142
|
+
* The provider could NOT safely produce the config mechanically (e.g. an existing
|
|
143
|
+
* config is present but malformed and merging is ambiguous). The engine falls back
|
|
144
|
+
* to the repair agent (`describeRepairAgent`) when allowed.
|
|
145
|
+
*/
|
|
146
|
+
needsAgent?: boolean;
|
|
147
|
+
/** Diagnostics explaining a `needsAgent` outcome (or non-fatal warnings). */
|
|
148
|
+
issues?: RepoValidationIssue[];
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Context for building the repair-agent prompt: the validation issues that triggered
|
|
152
|
+
* the repair, plus the bootstrap variables/coords (so the prompt can be specific).
|
|
153
|
+
*/
|
|
154
|
+
export interface RepairAgentRequest {
|
|
155
|
+
issues: RepoValidationIssue[];
|
|
156
|
+
inputs?: Record<string, string>;
|
|
157
|
+
repoOwner?: string;
|
|
158
|
+
repoName?: string;
|
|
159
|
+
config?: Record<string, string>;
|
|
160
|
+
}
|
|
161
|
+
/** The prompt a coding agent is dispatched with to fix a malformed provider config. */
|
|
162
|
+
export interface RepairAgentSpec {
|
|
163
|
+
/** The user prompt handed to the coding agent. */
|
|
164
|
+
prompt: string;
|
|
165
|
+
/** Optional extra system guidance appended to the base coding role. */
|
|
166
|
+
systemPromptAddendum?: string;
|
|
167
|
+
}
|
|
70
168
|
export interface EnvironmentProvider {
|
|
71
169
|
provision(req: ProvisionEnvironmentRequest): Promise<ProvisionedEnvironment>;
|
|
72
170
|
status(req: EnvironmentStatusRequest): Promise<ProvisionedEnvironment>;
|
|
@@ -95,5 +193,32 @@ export interface EnvironmentProvider {
|
|
|
95
193
|
describeManifestTemplate?(): EnvironmentManifest;
|
|
96
194
|
/** Probe the connection without persisting. Optional — absent ⇒ "nothing to test". */
|
|
97
195
|
testConnection?(req: EnvironmentConnectionTestRequest): Promise<ConnectionTestResult>;
|
|
196
|
+
/**
|
|
197
|
+
* Mechanically verify a target repo satisfies this provider's expectations
|
|
198
|
+
* (required files present + well-formed) BEFORE provisioning. The engine hands a
|
|
199
|
+
* VCS-neutral `readRepoFile`; the provider declares what it needs. Optional —
|
|
200
|
+
* absent ⇒ "no repo validation" (the engine skips the pre-flight gate).
|
|
201
|
+
*/
|
|
202
|
+
validateRepo?(req: RepoValidationRequest): Promise<RepoValidationResult>;
|
|
203
|
+
/**
|
|
204
|
+
* Declare the variables the UI bootstrapping form should collect to generate this
|
|
205
|
+
* provider's config file. Reuses {@link ProviderConfigField} so the SPA renders the
|
|
206
|
+
* form generically (like `describeConfig`). Optional — absent ⇒ no bootstrap form.
|
|
207
|
+
*/
|
|
208
|
+
describeBootstrapInputs?(): ProviderConfigField[];
|
|
209
|
+
/**
|
|
210
|
+
* Mechanically generate this provider's config file(s) for a target repo from the
|
|
211
|
+
* collected `inputs`. Returns the file bytes (the engine commits them) or
|
|
212
|
+
* `needsAgent: true` when it can't be done safely. Optional — absent ⇒ no mechanical
|
|
213
|
+
* bootstrap (the engine may still offer the agent-repair path).
|
|
214
|
+
*/
|
|
215
|
+
bootstrapProviderConfiguration?(req: BootstrapConfigRequest): Promise<BootstrapConfigResult>;
|
|
216
|
+
/**
|
|
217
|
+
* Supply the prompt for a coding agent to FIX a malformed/partial provider config
|
|
218
|
+
* when mechanical bootstrap can't (e.g. a config exists in the wrong form). The
|
|
219
|
+
* engine dispatches a container coding agent with this prompt against the repo.
|
|
220
|
+
* Optional — absent ⇒ no agent fallback.
|
|
221
|
+
*/
|
|
222
|
+
describeRepairAgent?(req: RepairAgentRequest): RepairAgentSpec;
|
|
98
223
|
}
|
|
99
224
|
//# sourceMappingURL=environment-provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment-provider.d.ts","sourceRoot":"","sources":["../../src/ports/environment-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,oBAAoB,CAAA;AAS3B,8EAA8E;AAC9E,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;AAEhE,gFAAgF;AAChF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEpD;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IACnC,aAAa,EAAE,cAAc,CAAA;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,0EAA0E;IAC1E,eAAe,EAAE,eAAe,CAAA;IAChC,aAAa,EAAE,cAAc,CAAA;CAC9B;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,eAAe,EAAE,eAAe,CAAA;IAChC,aAAa,EAAE,cAAc,CAAA;CAC9B;AAED,mFAAmF;AACnF,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,MAAM,EAAE,iBAAiB,CAAA;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACtC,iFAAiF;IACjF,MAAM,EAAE,eAAe,CAAA;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,aAAa,EAAE,cAAc,CAAA;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,GAAG,EAAE,2BAA2B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAC5E,MAAM,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;IACtE,QAAQ,CAAC,GAAG,EAAE,0BAA0B,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,iBAAiB,CAAA;KAAE,CAAC,CAAA;IACjF;;;;;OAKG;IACH,cAAc,CAAC,CAAC,QAAQ,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,EAAE,CAAA;IACtE;;;;;;;;;;;OAWG;IACH,wBAAwB,CAAC,IAAI,mBAAmB,CAAA;IAChD,sFAAsF;IACtF,cAAc,CAAC,CAAC,GAAG,EAAE,gCAAgC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"environment-provider.d.ts","sourceRoot":"","sources":["../../src/ports/environment-provider.ts"],"names":[],"mappings":"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"}
|
package/dist/ports/index.d.ts
CHANGED
|
@@ -28,10 +28,11 @@ export { type ExecutionEventPublisher, NoopEventPublisher } from './execution-ev
|
|
|
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
30
|
export type { VcsClient } from './vcs-client.js';
|
|
31
|
+
export type { VcsIdentity, VcsIdentityResolver, VcsIdentityEntry, VcsIdentityRegistry, } from './vcs-identity.js';
|
|
31
32
|
export type { VcsProvisioningClient } from './vcs-provisioning.js';
|
|
32
33
|
export type { RawWebhookDelivery, VcsWebhookEvent, VcsWebhookMapper, VcsWebhookSink, } from './vcs-webhook.js';
|
|
33
34
|
export type { RepoFiles, ResolveRepoFiles, RunRepoContext, ResolveRunRepoContext, } from './repo-files.js';
|
|
34
|
-
export type { BinaryArtifactKind, BinaryArtifactRecord, BinaryArtifactStorageKind, BinaryArtifactStore, BinaryArtifactMetadataStore, BinaryBlobBackend, StoreBinaryArtifactInput, } from './binary-artifacts.js';
|
|
35
|
+
export type { BinaryArtifactKind, BinaryArtifactRecord, BinaryArtifactStorageKind, BinaryArtifactStore, BinaryArtifactMetadataStore, BinaryBlobBackend, ResolveBinaryArtifactStore, StoreBinaryArtifactInput, } from './binary-artifacts.js';
|
|
35
36
|
export { createBinaryArtifactStore } from './binary-artifacts.js';
|
|
36
37
|
export type { AgentCloneSpec, AgentOutputSpec, AgentStepSpec, AgentSurface, RepoOp, RepoOpContext, } from './agent-definition.js';
|
|
37
38
|
export type { BranchProjectionRepository, CheckRunProjectionRepository, CommitProjectionRepository, GitHubInstallation, GitHubInstallationRepository, IssueProjectionRepository, PullRequestProjectionRepository, RateLimitRepository, RepoProjectionRepository, StaleRepoRef, SyncCursor, SyncCursorKind, } from './github-repositories.js';
|
|
@@ -44,7 +45,7 @@ export type { FragmentAppliesTo, PromptFragmentRecord, PromptFragmentRepository,
|
|
|
44
45
|
export type { SelectableFragment, FragmentSelectionContext, FragmentSelector, ResolvedRunFragment, FragmentResolverInput, FragmentRunSelection, FragmentResolver, } from './fragment-selector.js';
|
|
45
46
|
export type { SecretCipher } from './secret-cipher.js';
|
|
46
47
|
export type { PersonalSecretCipher } from './personal-secret-cipher.js';
|
|
47
|
-
export type { EnvironmentProvider, EnvironmentConnectionTestRequest, ProvisionContext, ProvisionEnvironmentRequest, EnvironmentStatusRequest, EnvironmentTeardownRequest, ProvisionedEnvironment, ProvisionFields, SecretResolver, } from './environment-provider.js';
|
|
48
|
+
export type { EnvironmentProvider, EnvironmentConnectionTestRequest, ProvisionContext, ProvisionEnvironmentRequest, EnvironmentStatusRequest, EnvironmentTeardownRequest, ProvisionedEnvironment, ProvisionFields, SecretResolver, RepoFileReader, RepoValidationSeverity, RepoValidationIssue, RepoValidationRequest, RepoValidationResult, BootstrapConfigFile, BootstrapConfigRequest, BootstrapConfigResult, RepairAgentRequest, RepairAgentSpec, } from './environment-provider.js';
|
|
48
49
|
export { type UrlSafetyPolicy, STRICT_URL_SAFETY_POLICY } from './url-safety-policy.js';
|
|
49
50
|
export type { EnvironmentConnectionRecord, EnvironmentConnectionRepository, EnvironmentRecord, EnvironmentRecordPatch, EnvironmentRegistryRepository, } from './environment-repositories.js';
|
|
50
51
|
export type { ProvisioningLogRecord, ProvisioningLogQuery, ProvisioningLogRepository, } from './provisioning-log-repositories.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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"}
|
package/dist/ports/index.js.map
CHANGED
|
@@ -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;
|
|
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;AA2DxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AA+FjE,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,5 +1,12 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The login providers an identity can come from. `github`/`gitlab` are sourced from a
|
|
3
|
+
* source-control account (OAuth in hosted mode, or a PAT in local mode — both resolve to
|
|
4
|
+
* the provider's stable numeric user id as the `subject`); `google` from Google OAuth;
|
|
5
|
+
* `password` is a cat-factory-generated account keyed on the email. Because the identity
|
|
6
|
+
* store keys on `(provider, subject)`, these namespaces never collide — a GitHub user, a
|
|
7
|
+
* GitLab user, and a password user are distinct rows even if their subjects coincide.
|
|
8
|
+
*/
|
|
9
|
+
export type IdentityProvider = 'github' | 'gitlab' | 'password' | 'google';
|
|
3
10
|
/** The canonical user record. */
|
|
4
11
|
export interface UserRecord {
|
|
5
12
|
/** Generated `usr_*` id — the stable identity everything else references. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-repositories.d.ts","sourceRoot":"","sources":["../../src/ports/user-repositories.ts"],"names":[],"mappings":"AAYA
|
|
1
|
+
{"version":3,"file":"user-repositories.d.ts","sourceRoot":"","sources":["../../src/ports/user-repositories.ts"],"names":[],"mappings":"AAYA;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAA;AAE1E,iCAAiC;AACjC,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,6FAA6F;IAC7F,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,gBAAgB,CAAA;IAC1B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAA;IACf,2EAA2E;IAC3E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,uFAAuF;IACvF,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;IAC3C,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC,CAAC,GAC/D,OAAO,CAAC,IAAI,CAAC,CAAA;IAChB,kDAAkD;IAClD,cAAc,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;IACvF;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAA;IACtD,kFAAkF;IAClF,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAA;IAC/C,qEAAqE;IACrE,WAAW,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAA;IAC5F,iFAAiF;IACjF,YAAY,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzD,uCAAuC;IACvC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;CAC9D"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { VcsProvider } from '../domain/vcs-types.js';
|
|
2
|
+
/** The account a {@link VcsIdentityResolver} resolved a PAT to. */
|
|
3
|
+
export interface VcsIdentity {
|
|
4
|
+
/** Which provider the token authenticates against. */
|
|
5
|
+
provider: VcsProvider;
|
|
6
|
+
/**
|
|
7
|
+
* The provider's STABLE account id, as a string — the GitHub/GitLab numeric user
|
|
8
|
+
* id. This is the collision-safe subject keyed under `(provider, subject)` in the
|
|
9
|
+
* user-identity store, identical to the OAuth path's subject, so a PAT login and a
|
|
10
|
+
* GitHub OAuth login resolve to the same canonical user.
|
|
11
|
+
*/
|
|
12
|
+
externalId: string;
|
|
13
|
+
/** The account handle/username (GitHub login, GitLab username) — display + metadata. */
|
|
14
|
+
login: string;
|
|
15
|
+
name: string | null;
|
|
16
|
+
avatarUrl: string | null;
|
|
17
|
+
/** The account's primary email, when the provider exposes it; else null. */
|
|
18
|
+
email: string | null;
|
|
19
|
+
}
|
|
20
|
+
/** Resolves a raw source-control PAT to the account it belongs to. */
|
|
21
|
+
export interface VcsIdentityResolver {
|
|
22
|
+
/**
|
|
23
|
+
* Verify `token` and return the account it authenticates as. MUST throw when the
|
|
24
|
+
* token is invalid/revoked (the caller maps that to a 401), rather than returning a
|
|
25
|
+
* partial/empty identity — a login must never succeed against a bad token.
|
|
26
|
+
*/
|
|
27
|
+
resolveIdentity(token: string): Promise<VcsIdentity>;
|
|
28
|
+
}
|
|
29
|
+
/** One provider's PAT-login capability: a resolver, plus any server-configured PAT. */
|
|
30
|
+
export interface VcsIdentityEntry {
|
|
31
|
+
/** Turns a raw PAT into a {@link VcsIdentity} for this provider. */
|
|
32
|
+
resolver: VcsIdentityResolver;
|
|
33
|
+
/**
|
|
34
|
+
* A PAT the deployment configured for this provider (env). Present ⇒ one-click login is
|
|
35
|
+
* available (the user need not paste a token); absent ⇒ enter-a-PAT only. NEVER serialized
|
|
36
|
+
* to the client — only the provider name is advertised.
|
|
37
|
+
*/
|
|
38
|
+
configuredToken?: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The per-provider PAT-login registry a facade assembles (local mode wires it; hosted
|
|
42
|
+
* facades leave it undefined and the `/auth/pat` endpoint 503s). Keyed by provider so the
|
|
43
|
+
* login layer stays branch-free across N providers.
|
|
44
|
+
*/
|
|
45
|
+
export type VcsIdentityRegistry = Partial<Record<VcsProvider, VcsIdentityEntry>>;
|
|
46
|
+
//# sourceMappingURL=vcs-identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vcs-identity.d.ts","sourceRoot":"","sources":["../../src/ports/vcs-identity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAmBzD,mEAAmE;AACnE,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,QAAQ,EAAE,WAAW,CAAA;IACrB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAA;IAClB,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,4EAA4E;IAC5E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrB;AAED,sEAAsE;AACtE,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;CACrD;AAED,uFAAuF;AACvF,MAAM,WAAW,gBAAgB;IAC/B,oEAAoE;IACpE,QAAQ,EAAE,mBAAmB,CAAA;IAC7B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vcs-identity.js","sourceRoot":"","sources":["../../src/ports/vcs-identity.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/kernel",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.47.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.
|
|
28
|
+
"@cat-factory/contracts": "0.45.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"typescript": "7.0.1-rc"
|