Files
PaperClipAI/packages/shared/src/validators/index.ts
T
DottaandPaperclip d33b40a5c3 fix: recover saved work and provide reliable task Retry (#16965)
## Thinking Path

> - Paperclip is the open source app people use to manage AI agents for
work.
> - The control plane must retain work when an execution or workspace
export fails.
> - Retained-workspace holds can leave saved input waiting with no
usable Retry action.
> - Users cannot verify process ownership or repair provider
allocations.
> - This pull request gives system recovery a durable budget and gives
each deliberate Retry a durable intent.
> - Safe recovery can preserve files, settle an accepted result, or
prepare an independent workspace.
> - One task state keeps infrastructure diagnostics out of the ordinary
conversation while preserving real permission and approval gates.

## Linked Issues or Issue Description

**What happened?**

A task with a retained workspace can show recovery, failed-run and
saved-message warnings at the same time. Historical runs without native
workspace descriptors cannot use the native restore path. Old recovery
metadata can prevent a new attempt even when an independent workspace
would be safe.

**Expected behavior**

Paperclip owns bounded infrastructure retries and file preservation. A
user can request another attempt with ordinary Retry. Thinking appears
immediately. The service preserves completed effects and current user
controls. It does not claim that starting fresh recovered the old files.

**Steps to reproduce**

1. Retain a failed run and its workspace after export or process-stop
failure.
2. Save a follow-up while the recovery hold is active.
3. Open the task and try to continue without infrastructure credentials
or operator certification.

Refs #16906, #16835, #16883. This extends their recovery and receipt
contracts. Related work: #16962 and #16963.

## What Changed

- Add task-level Retry with company-scoped authorization, all-status
idempotency and durable admission before physical work. Keep exact-run
Retry compatible.
- Add typed recovery phases, finite persisted backoff, historical
adoption and durable local failure diagnostics.
- Preserve native workspaces or verified historical snapshots. Admit an
independent fresh workspace only after execution containment. Keep
old-source preservation and cleanup obligations separate.
- Carry completed publication and API receipts forward. Fence uncertain
mutation retries across replacement runs. Preserve connected-chat
identity and authorization.
- Re-enter normal dispatch for saved input. Reuse accepted results
through the existing finalizer.
- Use one task interruption projection across the thread, composer and
task list. Show optimistic Thinking, ordinary Retry and genuine user
gates.
- Add PostgreSQL, filesystem, API, browser-fixture and controlled
provider coverage. Document the behavior and update the feature/access
maps.

## Verification

- All GitHub Actions CI jobs pass on
`6d8c6d27d50586d8548b31d03b47f6d73a0ee11d`: typecheck, all
server/chat/workspace and serialized suites, Runner checks, eight
browser shards, canary and build. The required merge gate passes.
- Greptile reviewed the final commit at 5/5, with no actionable findings
or unresolved review threads. Its two earlier P1 findings are fixed.
- Full recursive typecheck and build pass locally on the final commit.
All 16 task Retry cases pass against isolated real PostgreSQL. The
unrelated-success case and both stale Retry cases fail on the previous
code and pass after the fix.
- The corrected gateway fixture passes its uncertain-mutation and
independent-read case. Four real HTTP API cases pass for definite
403/422 rejection, completed-effect reuse, and uncertain-effect fences
across deliberate and automatic retries. These focused gateway/API
checks used a temporary database lifecycle harness on an existing
healthy local PostgreSQL process. The standard repository helper is
unchanged.
- Earlier qualification covers 291 task UI cases, saved-file copyback
and ancestry, current Agent Chat ownership races, nine chat Retry API
browser cases, and six assembled browser recovery fixtures. A real
API/PostgreSQL/native-runner journey showed Thinking in 25 ms despite a
delayed response, admitted one successor in a separate workspace,
retained original files, and survived reload.
- The controlled Daytona test interrupts export, joins the controller,
restarts it in a separate process, and verifies one agent start, one
external sentinel operation, retained file contents and no premature
cleanup. It does not establish abrupt-kill or live LLM/GitHub
acceptance.
- The full local `pnpm test:run` was attempted and was not green: an
OAuth row-lock timing assertion failed, and a later suite exhausted
macOS PostgreSQL semaphores. The ten OAuth timing cases passed on rerun
against a separate database. Later embedded database initialization
failures remain recorded; the final CI matrix passes.
- Security scanning passed on production-code commit
`63953edf069b111c6becc3144dffa6deb52f68b5`. Its only successor changes
one test-fixture identity line. The final scan is neutral/inconclusive
because its pinned merge-base checkout failed or timed out. Both rerun
API requests returned 404, so no fresh successful scan is claimed.
Socket and Snyk checks pass on the final head.
- The optional Paperclip Review remains queued behind an earlier run in
workspace finalization. Its prior completed assessment was incomplete
because a comparison tool was blocked by the platform filter. It is not
counted as a completed code review. GitHub does not require this check
for merge.
- Hosted acceptance remains pending deployment. Local and CI results do
not establish recovery of a hosted task or its retained files.

## Risks

- Recovery changes span admission, physical ownership and dispatch.
Incorrect evidence could permit overlapping work. Existing physical
locks and authoritative stop requirements remain in place.
- The migration adds concurrent indexes. It requires the existing
top-level migration runner and retries incomplete index creation safely.
- A fresh attempt can complete while old-source preservation remains
unresolved. The service retains that obligation and does not report
those files as recovered.
- Unknown tool mutations remain blocked until their authoritative
receipt owner resolves them. Generic upstream tools have no universal
result-query protocol.
- Recovery and diagnostics stay inside the stack. No Cloud incident
endpoint, notification worker or new outbound reporting channel is
included.

## Model Used

OpenAI Codex, GPT-6 family. The runtime does not expose a more specific
model version or context-window size. The model used reasoning, shell
execution, source editing and browser tools. No model subagents were
used for this implementation.

## Checklist

- [x] I have included a thinking path that traces from project context
to this change
- [x] I have specified the model used (with version and capability
details)
- [x] I have checked ROADMAP.md and confirmed this PR does not duplicate
planned core work
- [x] I have searched GitHub for duplicate or related PRs and linked
them above
- [x] I have either (a) linked existing issues with `Fixes: #` / `Closes
#` / `Refs #` OR (b) described the issue in-PR following the relevant
issue template
- [x] I have not referenced internal/instance-local Paperclip issues or
links (only public GitHub `#NNN` / `github.com/paperclipai/paperclip`
URLs)
- [x] My branch name describes the change (e.g. `docs/...`, `fix/...`)
and contains no internal Paperclip ticket id or instance-derived details
- [x] I have run tests locally and they pass (focused suites; the full
local run limitation is documented above)
- [x] I have added or updated tests where applicable
- [x] I have updated relevant documentation to reflect my changes
- [x] I have considered and documented any risks above
- [x] All Paperclip CI gates are green
- [x] Greptile is 5/5 with no open P2s, recommendations, or follow-ups
- [x] I will address all Greptile and reviewer comments before
requesting merge

---------

Co-authored-by: Paperclip <noreply@paperclip.ing>
2026-10-20 19:58:53 -05:00

986 lines
29 KiB
TypeScript

export {
connectionsSearchInputSchema,
connectionRequestInputSchema,
completeConnectionIntentSchema,
declineConnectionIntentSchema,
type ConnectionsSearchInput,
type ConnectionRequestInput,
type CompleteConnectionIntent,
type DeclineConnectionIntent,
} from "./connection-intent.js";
export {
nativeFinalizationResultSchema,
nativeFinalizationResultV1Schema,
nativeReportedWorkDispositionSchema,
type NativeFinalizationResultInput,
} from "./native-finalization.js";
export {
decisionEffectStalenessSchema,
decisionOptionStyleSchema,
commentOnIssueDecisionEffectSchema,
createIssueDecisionEffectSchema,
updateIssueStatusDecisionEffectSchema,
assignIssueDecisionEffectSchema,
cancelIssueTreeDecisionEffectSchema,
resolveBlockerDecisionEffectSchema,
decisionEffectSchema,
decisionInputSchema,
decisionOptionSchema,
decisionOptionsSchema,
decisionInputsSchema,
decisionSpecSchema,
type DecisionEffectInput,
type DecisionOptionInput,
type DecisionInputInput,
type DecisionSpecInput,
} from "./decision.js";
export {
instanceSettingsSchema,
instanceGeneralSettingsSchema,
patchInstanceGeneralSettingsSchema,
type InstanceGeneralSettings,
type PatchInstanceGeneralSettings,
instanceExperimentalSettingsSchema,
instanceExperimentalSettingsWithManagedSchema,
managedSettingMetadataSchema,
patchInstanceExperimentalSettingsSchema,
patchInstanceSettingsSchema,
type InstanceExperimentalSettings,
type PatchInstanceExperimentalSettings,
type PatchInstanceSettings,
} from "./instance.js";
export {
upsertBudgetPolicySchema,
resolveBudgetIncidentSchema,
type UpsertBudgetPolicy,
type ResolveBudgetIncident,
} from "./budget.js";
export {
createSmokeRunSchema,
updateSmokeRunSchema,
recordSmokeRunStepSchema,
smokeRunStatusSchema,
smokeRunStepPathSchema,
smokeRunStepStatusSchema,
smokeRunTriggerSchema,
type CreateSmokeRun,
type UpdateSmokeRun,
type RecordSmokeRunStep,
} from "./smoke-lab.js";
export {
createCompanySchema,
interactionResolverGovernanceSchema,
updateCompanySchema,
updateCompanyBrandingSchema,
type CreateCompany,
type UpdateCompany,
type UpdateCompanyBranding,
} from "./company.js";
export {
environmentDriverSchema,
environmentStatusSchema,
environmentLeaseStatusSchema,
environmentLeaseCleanupStatusSchema,
createEnvironmentSchema,
updateEnvironmentSchema,
probeEnvironmentConfigSchema,
type CreateEnvironment,
type UpdateEnvironment,
type ProbeEnvironmentConfig,
} from "./environment.js";
export {
environmentCustomImageTemplateKindSchema,
environmentCustomImageTemplateStatusSchema,
environmentCustomImageSetupSessionStatusSchema,
environmentCustomImageSetupConnectionTypeSchema,
environmentCustomImageSetupConnectionSummarySchema,
environmentCustomImageTemplateSchema,
environmentCustomImageSetupSessionSchema,
startEnvironmentCustomImageSetupSessionSchema,
finishEnvironmentCustomImageSetupSessionSchema,
cancelEnvironmentCustomImageSetupSessionSchema,
relinkEnvironmentCustomImageTemplateSchema,
createEnvironmentCustomImageTerminalSessionTokenSchema,
environmentCustomImageTerminalSessionTokenSchema,
type EnvironmentCustomImageSetupConnectionSummary,
type EnvironmentCustomImageTemplate,
type EnvironmentCustomImageSetupSession,
type StartEnvironmentCustomImageSetupSession,
type FinishEnvironmentCustomImageSetupSession,
type CancelEnvironmentCustomImageSetupSession,
type RelinkEnvironmentCustomImageTemplate,
type CreateEnvironmentCustomImageTerminalSessionToken,
type EnvironmentCustomImageTerminalSessionToken,
} from "./environment-custom-images.js";
export {
feedbackDataSharingPreferenceSchema,
feedbackTargetTypeSchema,
feedbackTraceStatusSchema,
feedbackVoteValueSchema,
upsertIssueFeedbackVoteSchema,
type UpsertIssueFeedbackVote,
} from "./feedback.js";
export {
sidebarOrderPreferenceSchema,
upsertSidebarOrderPreferenceSchema,
type UpsertSidebarOrderPreference,
} from "./sidebar-preferences.js";
export {
resourceMembershipStateSchema,
updateDocumentResourceMembershipSchema,
updateResourceMembershipSchema,
type UpdateDocumentResourceMembership,
type UpdateResourceMembership,
} from "./resource-memberships.js";
export {
generateSummarySlotSchema,
summarySlotKeySchema,
summarySlotQuerySchema,
summarySlotScopeKindSchema,
summarySlotScopeSelectorSchema,
summarySlotStatusSchema,
writeSummarySlotSchema,
type GenerateSummarySlotInput,
type SummarySlotScopeSelectorInput,
type WriteSummarySlotInput,
} from "./summary-slot.js";
export * from "./status-card.js";
export {
externalObjectStatusCategorySchema,
externalObjectStatusToneSchema,
externalObjectLivenessStateSchema,
externalObjectMentionSourceKindSchema,
externalObjectMentionConfidenceSchema,
externalObjectProviderKeySchema,
externalObjectTypeSchema,
externalObjectCanonicalIdentitySchema,
externalObjectMentionSourceSchema,
type ExternalObjectCanonicalIdentityInput,
type ExternalObjectMentionSourceInput,
type ExternalObjectProviderKeyInput,
type ExternalObjectTypeInput,
} from "./external-object.js";
export {
companySkillSourceTypeSchema,
companySkillTrustLevelSchema,
companySkillCompatibilitySchema,
companySkillSourceBadgeSchema,
companySkillSharingScopeSchema,
companySkillListSortSchema,
companySkillListIncludeSchema,
companySkillFileInventoryEntrySchema,
companySkillVersionFileInventoryEntrySchema,
companySkillSchema,
companySkillListItemSchema,
companySkillUsageAgentSchema,
companySkillListQuerySchema,
companySkillCategoryCountSchema,
companySkillVersionSchema,
companySkillDetailSchema,
companySkillVersionCreateSchema,
companySkillStarResultSchema,
companySkillCommentSchema,
companySkillCommentCreateSchema,
companySkillCommentUpdateSchema,
companySkillForkSchema,
companySkillOriginalSummarySchema,
companySkillForkSummarySchema,
companySkillForkReassignmentSchema,
companySkillForkResultSchema,
companySkillForkPrecheckResultSchema,
companySkillRenameSchema,
companySkillRenameResultSchema,
companySkillUpdateSchema,
companySkillUpdateStatusSchema,
companySkillAuditFindingSchema,
companySkillAuditResultSchema,
companySkillImportSchema,
companySkillProjectScanRequestSchema,
companySkillProjectBrowseRequestSchema,
companySkillProjectBrowseEntrySchema,
companySkillProjectBrowseResultSchema,
companySkillProjectScanSkippedSchema,
companySkillProjectScanConflictSchema,
companySkillProjectScanResultSchema,
companySkillCreateSchema,
companySkillFileDetailSchema,
companySkillFileUpdateSchema,
companySkillFileDeleteSchema,
companySkillTestRunStatusSchema,
companySkillTestInputSchema,
companySkillTestInputCreateSchema,
companySkillTestInputUpdateSchema,
companySkillTestRunTemplateSchema,
companySkillTestRunTemplateCreateSchema,
companySkillTestRunTemplateUpdateSchema,
companySkillTestRunTemplateSnapshotSchema,
companySkillTestRunCostSummarySchema,
companySkillTestRunSchema,
companySkillTestRunCreateSchema,
companySkillTestRunListQuerySchema,
catalogSkillKindSchema,
catalogSkillFileSchema,
catalogSkillGitHubSourceSchema,
catalogSkillSourceSchema,
catalogSkillSchema,
catalogSkillListQuerySchema,
catalogSkillFileDetailSchema,
companySkillInstallCatalogSchema,
companySkillInstallCatalogResultSchema,
companySkillInstallUpdateSchema,
companySkillResetSchema,
type CompanySkillImport,
type CompanySkillListQuery,
type CompanySkillProjectScan,
type CompanySkillProjectBrowse,
type CompanySkillCreate,
type CompanySkillFileUpdate,
type CompanySkillTestInputCreate,
type CompanySkillTestInputUpdate,
type CompanySkillTestRunTemplateCreate,
type CompanySkillTestRunTemplateUpdate,
type CompanySkillTestRunCreate,
type CompanySkillTestRunListQuery,
type CompanySkillVersionCreate,
type CompanySkillCommentCreate,
type CompanySkillCommentUpdate,
type CompanySkillFork,
type CompanySkillRename,
type CatalogSkillListQuery,
type CompanySkillInstallCatalog,
type CompanySkillInstallUpdate,
type CompanySkillReset,
} from "./company-skill.js";
export {
folderKindSchema,
folderSlugSchema,
folderSchema,
folderListItemSchema,
folderListResultSchema,
createFolderSchema,
updateFolderSchema,
moveFolderSchema,
moveFolderItemSchema,
ensureMySkillFolderSchema,
type CreateFolder,
type UpdateFolder,
type MoveFolder,
type MoveFolderItem,
type EnsureMySkillFolder,
} from "./folder.js";
export {
catalogTeamKindSchema,
catalogTeamTrustLevelSchema,
catalogTeamCompatibilitySchema,
catalogTeamFileKindSchema,
catalogTeamSkillRequirementTypeSchema,
catalogTeamSkillRequirementSchema,
catalogTeamEnvInputSummarySchema,
catalogTeamSourceRefSchema,
catalogTeamFileSchema,
catalogTeamSchema,
catalogTeamListQuerySchema,
catalogTeamFileDetailSchema,
catalogTeamSourcePolicySchema,
catalogTeamPreviewSchema,
catalogTeamInstallSchema,
catalogTeamSkillPreparationSchema,
type CatalogTeamListQuery,
type CatalogTeamPreview,
type CatalogTeamInstall,
} from "./teams-catalog.js";
export {
agentSkillStateSchema,
agentSkillSyncModeSchema,
agentSkillAssignmentModeSchema,
agentDesiredSkillEntrySchema,
agentDesiredSkillSelectionSchema,
agentSkillEntrySchema,
agentSkillSnapshotSchema,
agentSkillSyncSchema,
type AgentSkillSync,
} from "./adapter-skills.js";
export {
portabilityIncludeSchema,
portabilityEnvInputSchema,
portabilityCompanyManifestEntrySchema,
portabilitySidebarOrderSchema,
portabilityAgentManifestEntrySchema,
portabilitySkillManifestEntrySchema,
portabilityManifestSchema,
portabilitySourceSchema,
portabilityTargetSchema,
portabilityAgentSelectionSchema,
portabilityCollisionStrategySchema,
companyPortabilityExportSchema,
companyPortabilityPreviewSchema,
companyPortabilityImportSchema,
type CompanyPortabilityExport,
type CompanyPortabilityPreview,
type CompanyPortabilityImport,
} from "./company-portability.js";
export {
trustPresetSchema,
lowTrustBoundarySchema,
lowTrustReviewPresetPolicySchema,
assignmentAuthorizationPolicySchema,
protectedAgentAuthorizationPolicySchema,
trustAuthorizationPolicySchema,
sourceTrustArtifactKindSchema,
sourceTrustMetadataSchema,
type TrustPresetInput,
type LowTrustBoundaryInput,
type TrustAuthorizationPolicyInput,
type SourceTrustMetadataInput,
} from "./trust-policy.js";
export {
createAgentSchema,
builtInAgentEmptyMutationSchema,
builtInAgentProvisionSchema,
builtInAgentResetSchema,
createAgentHireSchema,
updateAgentSchema,
agentRuntimeConfigSchema,
agentInstructionsBundleModeSchema,
updateAgentInstructionsBundleSchema,
upsertAgentInstructionsFileSchema,
updateAgentInstructionsPathSchema,
agentApiKeyScopeSchema,
normalizeAgentApiKeyScope,
standardAgentKeyScopeSchema,
taskBridgeAgentKeyScopeSchema,
skillTestAgentKeyScopeSchema,
createAgentKeySchema,
agentMineInboxQuerySchema,
wakeAgentSchema,
resetAgentSessionSchema,
testAdapterEnvironmentSchema,
agentPermissionsSchema,
updateAgentPermissionsSchema,
type CreateAgent,
type BuiltInAgentProvision,
type BuiltInAgentReset,
type CreateAgentHire,
type UpdateAgent,
type UpdateAgentInstructionsBundle,
type UpsertAgentInstructionsFile,
type UpdateAgentInstructionsPath,
type AgentApiKeyScope,
type TaskBridgeAgentKeyScope,
type SkillTestAgentKeyScope,
type CreateAgentKey,
type AgentMineInboxQuery,
type WakeAgent,
type ResetAgentSession,
type TestAdapterEnvironment,
type UpdateAgentPermissions,
} from "./agent.js";
export {
projectDiscoverySchema,
createProjectSchema,
updateProjectSchema,
addProjectAccessMemberSchema,
createProjectWorkspaceSchema,
updateProjectWorkspaceSchema,
projectExecutionWorkspacePolicySchema,
projectWorkspaceRuntimeConfigSchema,
type CreateProject,
type UpdateProject,
type AddProjectAccessMember,
type CreateProjectWorkspace,
type UpdateProjectWorkspace,
type ProjectExecutionWorkspacePolicy,
} from "./project.js";
export {
createDocumentAnnotationCommentSchema,
createDocumentAnnotationThreadSchema,
documentAnnotationAnchorConfidenceSchema,
documentAnnotationAnchorSelectorSchema,
documentAnnotationAnchorStateSchema,
documentAnnotationTextPositionSelectorSchema,
documentAnnotationTextQuoteSelectorSchema,
documentAnnotationThreadStatusSchema,
updateDocumentAnnotationThreadSchema,
type CreateDocumentAnnotationComment,
type CreateDocumentAnnotationThread,
type UpdateDocumentAnnotationThread,
} from "./document-annotation.js";
export {
createIssueSchema,
issueSummariesQuerySchema,
setIssueTitleSchema,
type SetIssueTitle,
createIssueInputSchema,
createChildIssueSchema,
createAcceptedPlanDecompositionSchema,
resolveCreateIssueStatusDefault,
createIssueLabelSchema,
issueBlockedInboxAttentionSchema,
issueBlockedInboxIssueRefSchema,
issueBlockedInboxReasonSchema,
issueBlockedInboxSeveritySchema,
issueBlockedInboxStateSchema,
updateIssueSchema,
stalledReviewDecisionSchema,
issueExecutionPolicySchema,
issueExecutionMonitorPolicySchema,
issueExecutionStateSchema,
issueRecoveryActionReadModelSchema,
resolveIssueRecoveryActionSchema,
isValidExistingBranchName,
retryWorkspaceExportSchema,
recoverWorkspaceSchema,
taskRetrySchema,
reconstructWorkspaceSchema,
resumeWorkspaceFinalizationSchema,
issueReviewRequestSchema,
issueExecutionWorkspaceSettingsSchema,
checkoutIssueSchema,
issueCommentAuthorTypeSchema,
issueCommentPresentationSchema,
issueCommentMetadataRowSchema,
issueCommentMetadataSectionSchema,
issueCommentMetadataSchema,
addIssueCommentSchema,
issueThreadInteractionStatusSchema,
issueThreadInteractionKindSchema,
issueThreadInteractionCanonicalResolverPolicySchema,
issueThreadInteractionResolverPolicySchema,
issueThreadInteractionResolverPolicyProvenanceSchema,
issueThreadInteractionEffectiveResolverPolicySourceSchema,
issueThreadInteractionContinuationPolicySchema,
connectionIntentPhaseSchema,
connectionIntentPayloadSchema,
connectionIntentResultSchema,
suggestedTaskDraftSchema,
suggestTasksPayloadSchema,
suggestTasksResultCreatedTaskSchema,
suggestTasksResultSchema,
askUserQuestionsQuestionOptionSchema,
askUserQuestionsQuestionSchema,
paperclipQuestionSetPayloadSchema,
askUserQuestionsPayloadSchema,
askUserQuestionsAnswerSchema,
askUserQuestionsResultSchema,
requestConfirmationIssueDocumentTargetSchema,
requestConfirmationCustomTargetSchema,
requestConfirmationTargetSchema,
requestConfirmationPayloadSchema,
requestConfirmationResumeFailureSchema,
requestConfirmationResultSchema,
requestConfirmationSecretProposalPayloadSchema,
requestConfirmationSecretProposalResultSchema,
requestCheckboxConfirmationOptionSchema,
requestCheckboxConfirmationPayloadSchema,
requestCheckboxConfirmationResultSchema,
requestItemVerdictValueSchema,
requestItemVerdictsItemSchema,
requestItemVerdictsPayloadSchema,
requestItemVerdictsResultItemSchema,
requestItemVerdictsResultSchema,
createIssueThreadInteractionSchema,
acceptIssueThreadInteractionSchema,
resolveConfirmationFromCommentSchema,
type ResolveConfirmationFromComment,
rejectIssueThreadInteractionSchema,
cancelIssueThreadInteractionSchema,
skipIssueThreadInteractionSchema,
withdrawIssueThreadInteractionSchema,
respondIssueThreadInteractionSchema,
submitIssueThreadInteractionVerdictsSchema,
linkIssueApprovalSchema,
createIssueAttachmentMetadataSchema,
issueDocumentFormatSchema,
issueDocumentKeySchema,
upsertIssueDocumentSchema,
restoreIssueDocumentRevisionSchema,
upsertIssueWatchdogSchema,
type CreateIssue,
type CreateChildIssue,
type CreateAcceptedPlanDecomposition,
type CreateIssueLabel,
type UpdateIssue,
type StalledReviewDecision,
type IssueExecutionWorkspaceSettings,
type IssueRecoveryActionReadModel,
type ResolveIssueRecoveryAction,
type CheckoutIssue,
type AddIssueComment,
type CreateIssueThreadInteraction,
type CreateIssueThreadInteractionInput,
type AcceptIssueThreadInteraction,
type RejectIssueThreadInteraction,
type CancelIssueThreadInteraction,
type SkipIssueThreadInteraction,
type WithdrawIssueThreadInteraction,
type RespondIssueThreadInteraction,
type SubmitIssueThreadInteractionVerdicts,
type LinkIssueApproval,
type CreateIssueAttachmentMetadata,
type IssueDocumentFormat,
type UpsertIssueDocument,
type RestoreIssueDocumentRevision,
type UpsertIssueWatchdog,
} from "./issue.js";
export {
COMPANY_SEARCH_EXTRACT_DEFAULT_LIMIT,
COMPANY_SEARCH_EXTRACT_DEFAULT_MATCHES_PER_ISSUE,
COMPANY_SEARCH_EXTRACT_MAX_LIMIT,
COMPANY_SEARCH_EXTRACT_MAX_MATCHES_PER_ISSUE,
COMPANY_SEARCH_EXTRACT_MAX_OFFSET,
COMPANY_SEARCH_DEFAULT_LIMIT,
COMPANY_SEARCH_MAX_LIMIT,
COMPANY_SEARCH_MAX_OFFSET,
COMPANY_SEARCH_MAX_QUERY_LENGTH,
COMPANY_SEARCH_MAX_TOKENS,
companySearchQuerySchema,
companySearchExtractQuerySchema,
type CompanySearchExtractQuery,
type CompanySearchQuery,
} from "./search.js";
export {
createIssueTreeHoldSchema,
issueTreeControlModeSchema,
issueTreeHoldReleasePolicySchema,
previewIssueTreeControlSchema,
releaseIssueTreeHoldSchema,
type CreateIssueTreeHold,
type PreviewIssueTreeControl,
type ReleaseIssueTreeHold,
} from "./issue-tree-control.js";
export {
createIssueWorkProductSchema,
issueWorkProductMetadataSchema,
updateIssueWorkProductSchema,
attachmentArtifactWorkProductMetadataSchema,
issueWorkProductTypeSchema,
issueWorkProductStatusSchema,
issueWorkProductReviewStateSchema,
type CreateIssueWorkProduct,
type IssueWorkProductMetadata,
type UpdateIssueWorkProduct,
} from "./work-product.js";
export {
COMPANY_ARTIFACTS_DEFAULT_LIMIT,
COMPANY_ARTIFACTS_MAX_LIMIT,
COMPANY_ARTIFACTS_MAX_QUERY_LENGTH,
companyArtifactGroupBySchema,
companyArtifactGroupSchema,
companyArtifactMediaKindSchema,
companyArtifactSchema,
companyArtifactSourceSchema,
companyArtifactsQuerySchema,
companyArtifactsResponseSchema,
type CompanyArtifactsQuery,
} from "./artifact.js";
export {
executionWorkspaceConfigSchema,
reconcileExecutionWorkspaceBranchSchema,
updateExecutionWorkspaceSchema,
workspaceOverviewQuerySchema,
executionWorkspaceDeliveryStateSchema,
executionWorkspaceStatusSchema,
executionWorkspaceCloseActionKindSchema,
executionWorkspaceCloseActionSchema,
executionWorkspaceCloseGitReadinessSchema,
executionWorkspaceCloseLinkedIssueSchema,
executionWorkspaceCloseReadinessSchema,
executionWorkspaceCloseReadinessStateSchema,
type ReconcileExecutionWorkspaceBranch,
type UpdateExecutionWorkspace,
type WorkspaceOverviewQuery,
} from "./execution-workspace.js";
export {
normalizedWorkspaceFileAvailabilityQuerySchema,
resolvedWorkspaceResourceSchema,
workspaceFileAvailabilityRequestSchema,
workspaceFileAvailabilityResponseSchema,
workspaceFileAvailabilityResultSchema,
workspaceFileListModeSchema,
workspaceFileListQuerySchema,
workspaceFileContentSchema,
workspaceFilePreviewKindSchema,
workspaceFileRefSchema,
workspaceFileResourceKindSchema,
workspaceFileResourceQuerySchema,
workspaceFileSelectorSchema,
workspaceFileWorkspaceKindSchema,
type WorkspaceFileAvailabilityRequestInput,
type WorkspaceFileListQuery,
type WorkspaceFileResourceQuery,
} from "./workspace-file-resource.js";
export {
createGoalSchema,
updateGoalSchema,
type CreateGoal,
type UpdateGoal,
} from "./goal.js";
export {
applyOnboardingSeedSchema,
type ApplyOnboardingSeed,
} from "./onboarding-seed.js";
export {
createApprovalSchema,
resolveApprovalSchema,
requestApprovalRevisionSchema,
resubmitApprovalSchema,
addApprovalCommentSchema,
type CreateApproval,
type ResolveApproval,
type RequestApprovalRevision,
type ResubmitApproval,
type AddApprovalComment,
} from "./approval.js";
export {
envBindingPlainSchema,
envBindingSecretRefSchema,
envBindingUserSecretRefSchema,
envBindingSchema,
envConfigSchema,
createSecretSchema,
createUserSecretDefinitionSchema,
updateUserSecretDefinitionSchema,
createUserSecretValueSchema,
updateUserSecretValueSchema,
rotateUserSecretValueSchema,
createUserSecretDeclarationSchema,
createSecretProviderConfigSchema,
updateSecretProviderConfigSchema,
secretProviderConfigDiscoveryPreviewSchema,
remoteSecretImportPreviewSchema,
remoteSecretImportSchema,
remoteSecretImportSelectionSchema,
localEncryptedProviderConfigSchema,
awsSecretsManagerProviderConfigSchema,
gcpSecretManagerProviderConfigSchema,
vaultProviderConfigSchema,
secretProviderConfigPayloadSchema,
createSecretBindingSchema,
rotateSecretSchema,
secretBindingTargetSchema,
updateSecretSchema,
type CreateSecretBinding,
type CreateSecret,
type CreateUserSecretDefinition,
type UpdateUserSecretDefinition,
type CreateUserSecretValue,
type UpdateUserSecretValue,
type CreateUserSecretDeclaration,
type CreateSecretProviderConfig,
type UpdateSecretProviderConfig,
type SecretProviderConfigDiscoveryPreview,
type RemoteSecretImportPreview,
type RemoteSecretImport,
type RemoteSecretImportSelection,
type RotateSecret,
type UpdateSecret,
} from "./secret.js";
export {
createRoutineSchema,
updateRoutineSchema,
createRoutineTriggerSchema,
updateRoutineTriggerSchema,
routineVariableSchema,
routineRevisionSnapshotRoutineV1Schema,
routineRevisionSnapshotTriggerV1Schema,
routineRevisionSnapshotV1Schema,
routineRevisionSnapshotSchema,
runRoutineSchema,
rotateRoutineTriggerSecretSchema,
type CreateRoutine,
type UpdateRoutine,
type CreateRoutineTrigger,
type UpdateRoutineTrigger,
type RunRoutine,
type RotateRoutineTriggerSecret,
} from "./routine.js";
export {
createCostEventSchema, createServiceCostEventSchema,
updateBudgetSchema,
type CreateCostEvent,
type UpdateBudget,
} from "./cost.js";
export {
createFinanceEventSchema,
type CreateFinanceEvent,
} from "./finance.js";
export {
ASSET_NAMESPACE_MAX_LENGTH,
ASSET_NAMESPACE_RULE,
createAssetImageMetadataSchema,
sanitizeAssetNamespace,
type CreateAssetImageMetadata,
} from "./asset.js";
export {
createCompanyInviteSchema,
createOpenClawInvitePromptSchema,
acceptInviteSchema,
listCompanyInvitesQuerySchema,
listJoinRequestsQuerySchema,
claimJoinRequestApiKeySchema,
boardCliAuthAccessLevelSchema,
createCliAuthChallengeSchema,
resolveCliAuthChallengeSchema,
createBoardApiKeySchema,
currentUserProfileSchema,
authSessionSchema,
updateCurrentUserProfileSchema,
updateCompanyMemberSchema,
updateCompanyMemberWithPermissionsSchema,
archiveCompanyMemberSchema,
updateMemberPermissionsSchema,
searchAdminUsersQuerySchema,
updateUserCompanyAccessSchema,
type CreateCompanyInvite,
type CreateOpenClawInvitePrompt,
type AcceptInvite,
type ListCompanyInvitesQuery,
type ListJoinRequestsQuery,
type ClaimJoinRequestApiKey,
type BoardCliAuthAccessLevel,
type CreateCliAuthChallenge,
type ResolveCliAuthChallenge,
type CreateBoardApiKey,
type CurrentUserProfile,
type AuthSession,
type UpdateCurrentUserProfile,
type UpdateCompanyMember,
type UpdateCompanyMemberWithPermissions,
type ArchiveCompanyMember,
type UpdateMemberPermissions,
type SearchAdminUsersQuery,
type UpdateUserCompanyAccess,
} from "./access.js";
export {
jsonSchemaSchema,
pluginJobDeclarationSchema,
pluginWebhookDeclarationSchema,
pluginToolDeclarationSchema,
pluginEnvironmentDriverDeclarationSchema,
sandboxProviderCapabilitiesSchema,
pluginUiSlotDeclarationSchema,
pluginLauncherActionDeclarationSchema,
pluginLauncherRenderDeclarationSchema,
pluginLauncherDeclarationSchema,
pluginDatabaseDeclarationSchema,
pluginManagedSkillFileDeclarationSchema,
pluginManagedSkillDeclarationSchema,
pluginApiRouteDeclarationSchema,
pluginManifestV1Schema,
installPluginSchema,
upsertPluginConfigSchema,
patchPluginConfigSchema,
updatePluginStatusSchema,
uninstallPluginSchema,
pluginStateScopeKeySchema,
setPluginStateSchema,
listPluginStateSchema,
type PluginJobDeclarationInput,
type PluginWebhookDeclarationInput,
type PluginToolDeclarationInput,
type PluginEnvironmentDriverDeclarationInput,
type SandboxProviderCapabilitiesInput,
type PluginUiSlotDeclarationInput,
type PluginLauncherActionDeclarationInput,
type PluginLauncherRenderDeclarationInput,
type PluginLauncherDeclarationInput,
type PluginDatabaseDeclarationInput,
type PluginManagedSkillFileDeclarationInput,
type PluginManagedSkillDeclarationInput,
type PluginApiRouteDeclarationInput,
type PluginManifestV1Input,
type InstallPlugin,
type UpsertPluginConfig,
type PatchPluginConfig,
type UpdatePluginStatus,
type UninstallPlugin,
type PluginStateScopeKey,
type SetPluginState,
type ListPluginState,
} from "./plugin.js";
export {
createToolActionRequestSchema,
toolApplicationTypeSchema,
toolApplicationStatusSchema,
toolAuditEventTypeSchema,
toolAuditOutcomeSchema,
toolCatalogEntryKindSchema,
toolCatalogEntryStatusSchema,
toolConnectionHealthStatusSchema,
toolConnectionKindSchema,
toolConnectionStatusSchema,
toolConnectionPurposeSchema,
toolConnectionTransportSchema,
toolCredentialSecretRefSchema,
toolCredentialPlacementSchema,
toolInvocationApprovalStateSchema,
toolInvocationStatusSchema,
toolMcpGatewayAuthConfigSchema,
toolMcpGatewayContextScopeTypeSchema,
toolMcpGatewayDefaultProfileModeSchema,
toolMcpGatewayHeaderPolicySchema,
toolMcpGatewayMetadataPolicySchema,
toolMcpGatewayOnDemandToolsConfigSchema,
toolMcpGatewayStatusSchema,
toolMcpGatewayTokenActionSchema,
toolMcpGatewayTokenSubjectTypeSchema,
toolPolicyDecisionSchema,
toolPolicyTypeSchema,
toolProfileBindingTargetTypeSchema,
toolProfileDefaultActionSchema,
toolProfileEntryEffectSchema,
toolProfileEntrySelectorTypeSchema,
toolProfileStatusSchema,
toolRateLimitWindowKindSchema,
toolRedactedValueSummarySchema,
toolRiskLevelSchema,
toolRuntimeKindSchema,
toolRuntimeSlotStatusSchema,
toolTransportConfigSchema,
toolAccessSelectorSchema,
toolPolicyConditionsSchema,
toolRateLimitRuleSchema,
toolTrustRuleArgumentFiltersSchema,
toolTrustRuleBatchApprovalSchema,
toolTrustRuleScopeSchema,
toolConnectionTestCallSchema,
connectionTokenIssuancePathSchema,
connectionTokenRequestSchema,
connectionTokenScopeSchema,
connectionTokenSubjectSchema,
startConnectionAuthorizationSchema,
createConnectionGrantDelegationSchema,
replaceConnectionGrantMembersSchema,
createToolTrustRuleFromActionRequestSchema,
revokeToolTrustRuleSchema,
toolPolicyTestRequestSchema,
importMcpJsonSchema,
mcpConnectionCredentialRefSchema,
createToolApplicationSchema,
connectToolAppSchema,
GENERIC_MCP_AUTH_MODES,
genericMcpAuthModeSchema,
genericMcpOAuthClientSchema,
type GenericMcpAuthMode,
type GenericMcpOAuthClient,
reconnectToolAppSchema,
finishToolAppSchema,
finalizeOAuthAccessSchema,
startToolOAuthSchema,
updateToolApplicationSchema,
createToolConnectionSchema,
createToolMcpGatewaySchema,
createToolMcpGatewayTokenSchema,
createToolStdioCommandTemplateSchema,
disableToolStdioCommandTemplateSchema,
updateToolConnectionSchema,
putToolConnectionInstallsSchema,
updateToolMcpGatewaySchema,
createToolInvocationSchema,
createToolPolicySchema,
createToolProfileBindingForProfileSchema,
createToolProfileBindingSchema,
createToolProfileEntryForProfileSchema,
createToolProfileEntrySchema,
createToolProfileSchema,
createToolProfileWithEntriesSchema,
deleteToolProfileSchema,
duplicateToolPolicySchema,
duplicateToolProfileSchema,
reorderToolPoliciesSchema,
reviewToolProfileNewToolsSchema,
unbindToolProfileBindingSchema,
updateToolPolicySchema,
updateToolProfileEntrySchema,
updateToolProfileSchema,
updateToolProfileWithEntriesSchema,
upsertToolCatalogEntrySchema,
type CreateToolActionRequest,
type ConnectToolApp,
type ReconnectToolApp,
type CreateToolApplication,
type FinishToolApp,
type FinalizeOAuthAccess,
type StartToolOAuth,
type UpdateToolApplication,
type CreateToolConnection,
type CreateToolMcpGateway,
type CreateToolMcpGatewayToken,
type CreateToolStdioCommandTemplate,
type DisableToolStdioCommandTemplate,
type UpdateToolConnection,
type PutToolConnectionInstalls,
type UpdateToolMcpGateway,
type CreateToolInvocation,
type CreateToolPolicy,
type CreateToolProfile,
type CreateToolProfileBinding,
type CreateToolProfileBindingForProfile,
type CreateToolProfileEntry,
type CreateToolProfileEntryForProfile,
type CreateToolProfileWithEntries,
type DeleteToolProfile,
type DuplicateToolPolicy,
type DuplicateToolProfile,
type ImportMcpJson,
type ReviewToolProfileNewTools,
type ReorderToolPolicies,
type UpdateToolPolicy,
type UpdateToolProfileEntry,
type UpdateToolProfile,
type UpdateToolProfileWithEntries,
type UnbindToolProfileBinding,
type UpsertToolCatalogEntry,
type ConnectionTokenRequestInput,
type CreateConnectionGrantDelegation,
type ReplaceConnectionGrantMembersInput,
type ToolPolicyTestRequestInput,
type CreateToolTrustRuleFromActionRequest,
type RevokeToolTrustRule,
} from "./tool-access.js";
export * from "./skill-policy.js";
export * from "./provider-trace.js";
export * from "./app-definition.js";
export * from "./chat-channels.js";
export * from "./chat-github.js";
export * from "./email.js";
export { restoreAgentInstructionSchema } from "./agent.js";
export * from "./skill-source.js";
export * from "./agent-commentary.js";
export * from "./task-workspace.js";
export * from "./workspace-repository.js";