SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
4e23b01 verified
Raw History Blame Contribute Delete
4.17 kB
/**
* The aggregated klient contract — service wire name → method → zod
* input/output schemas, across the core/session/agent scopes. The klient
* factory validates every call against this table; transports never see it.
* Event registrations live in the per-scope `events.ts` files alongside
* their payload schemas.
*/
import type { KlientContract } from './types.js';
import {
agentCommandContract,
agentContextMemoryContract,
agentFullCompactionContract,
agentLoopContract,
agentMcpContract,
agentPermissionModeContract,
agentPlanContract,
agentRuntimeBindingContract,
agentProfileContract,
agentPromptContract,
agentShellCommandContract,
agentSkillContract,
agentTaskContract,
agentTokenCountingContract,
agentUsageContract,
} from './agent/services.js';
import { authContract, authSummaryContract } from './global/auth.js';
import { capabilitiesContract } from './global/capabilities.js';
import { catalogContract } from './global/catalog.js';
import { providerDiscoveryContract } from './global/providerDiscovery.js';
import { configContract } from './global/config.js';
import { envContract } from './global/env.js';
import { filesContract } from './global/files.js';
import { flagsContract } from './global/flags.js';
import { hostFsContract } from './global/hostFs.js';
import { modelsContract } from './global/models.js';
import { mcpManagementContract } from './global/mcpManagement.js';
import { pluginsContract } from './global/plugins.js';
import { providersContract } from './global/providers.js';
import { sessionsContract } from './global/sessions.js';
import { workspacesContract } from './global/workspaces.js';
import { sessionApprovalContract } from './session/approval.js';
import { sessionActivityViewContract } from './session/activity.js';
import { sessionInteractionContract } from './session/interaction.js';
import { sessionManagerContract } from './session/lifecycle.js';
import { sessionMetadataContract } from './session/metadata.js';
import { sessionQuestionContract } from './session/question.js';
import { sessionSkillCatalogContract } from './session/skills.js';
import { sessionTitleContract } from './session/title.js';
export const globalContract: KlientContract = {
// core (app scope)
sessionIndex: sessionsContract,
workspaceService: workspacesContract,
configService: configContract,
providerService: providersContract,
modelService: modelsContract,
modelResolver: catalogContract,
providerDiscovery: providerDiscoveryContract,
oauthService: authContract,
authSummaryService: authSummaryContract,
flagService: flagsContract,
pluginService: pluginsContract,
capabilityService: capabilitiesContract,
hostFolderBrowser: hostFsContract,
bootstrapService: envContract,
fileService: filesContract,
mcpManagementService: mcpManagementContract,
sessionManager: sessionManagerContract,
// session scope
sessionMetadata: sessionMetadataContract,
sessionInteractionService: sessionInteractionContract,
sessionApprovalService: sessionApprovalContract,
sessionQuestionService: sessionQuestionContract,
sessionSkillCatalog: sessionSkillCatalogContract,
sessionTitleService: sessionTitleContract,
sessionActivityView: sessionActivityViewContract,
// agent scope
agentPromptService: agentPromptContract,
agentSkillService: agentSkillContract,
agentLoopService: agentLoopContract,
agentPermissionModeService: agentPermissionModeContract,
agentCommandService: agentCommandContract,
agentRuntimeBindingService: agentRuntimeBindingContract,
agentContextMemoryService: agentContextMemoryContract,
agentTokenCountingService: agentTokenCountingContract,
agentShellCommandService: agentShellCommandContract,
agentProfileService: agentProfileContract,
agentUsageService: agentUsageContract,
agentPlanService: agentPlanContract,
agentTaskService: agentTaskContract,
agentMcpService: agentMcpContract,
agentFullCompactionService: agentFullCompactionContract,
};
export type { KlientContract, ProcedureContract, ServiceContract, StreamingProcedureContract } from './types.js';
export { isStreamingContract } from './types.js';