// Focused public test helpers for plugin runtime, registry, and setup fixtures. import { createOperationalRunInstanceRef, prepareAgentRunAdmission, } from "../agents/admitted-run-context.js"; import type { EmbeddedRunAttemptParams } from "../agents/embedded-agent-runner/run/types.js"; import { createAgentHarnessHostCapabilities } from "../agents/harness/host-capability.js"; type AgentHarnessHostTestAttempt = Omit< EmbeddedRunAttemptParams, "admittedRunContext" | "hostCapabilities" >; /** Builds the production admitted-run host boundary for plugin integration tests. */ export async function createAgentHarnessHostCapabilitiesForTest(params: { attempt: AgentHarnessHostTestAttempt; pluginId: string; }) { const admission = prepareAgentRunAdmission({ cfg: params.attempt.config ?? {}, facts: { runId: params.attempt.runId, agentId: params.attempt.agentId ?? "main", ingress: { kind: "system", boundary: "plugin-test-runtime", state: "present" }, }, operationalRunInstance: createOperationalRunInstanceRef(params.attempt.runId), }); const admittedRunContext = await admission.admit("plugin-harness", params.pluginId); const host = createAgentHarnessHostCapabilities({ attempt: { ...params.attempt, admittedRunContext }, pluginId: params.pluginId, }); return { capabilities: host.capabilities, close: () => { host.close(); admission.close(); }, }; } export { setDefaultChannelPluginRegistryForTests } from "../commands/channel-test-registry.js"; export { createEmptyPluginRegistry, createPluginRegistry, type PluginRecord, } from "../plugins/registry.js"; export { providerContractLoadError, pluginRegistrationContractRegistry, resolveProviderContractProvidersForPluginIds, resolveWebFetchProviderContractEntriesForPluginId, resolveWebSearchProviderContractEntriesForPluginId, } from "../plugins/contracts/registry.js"; export { loadPluginManifestRegistryCore } from "../plugins/manifest-registry.js"; export { emitDiagnosticEventWithTrustedTraceContext, emitInternalDiagnosticEvent as emitInternalDiagnosticEventForTest, emitTrustedSecurityEvent, } from "../infra/diagnostic-events.js"; export { registerDiagnosticTracePropagationBridge } from "../infra/diagnostic-trace-propagation.js"; export { runWithDiagnosticTraceContext } from "../infra/diagnostic-trace-context.js"; export { logMessageDispatchStarted, logMessageProcessed } from "../logging/diagnostic.js"; export { resolveBundledExplicitProviderContractsFromPublicArtifacts } from "../plugins/provider-contract-public-artifacts.js"; export { initializeGlobalHookRunner, resetGlobalHookRunner, } from "../plugins/hook-runner-global.js"; export { addTestHook } from "../plugins/hooks.test-helpers.js"; export { createPluginRecord } from "../plugins/status.test-helpers.js"; export { resolveBundledExplicitWebFetchProvidersFromPublicArtifacts, resolveBundledExplicitWebSearchProvidersFromPublicArtifacts, } from "../plugins/web-provider-public-artifacts.explicit.js"; export { getActivePluginRegistry, resetPluginRuntimeStateForTest, setActivePluginRegistry, } from "../plugins/runtime.js"; export { listImportedBundledPluginFacadeIds, resetFacadeRuntimeStateForTest, } from "./facade-runtime.js"; export { capturePluginRegistration } from "../plugins/captured-registration.js"; export { clearHealthChecksForTest } from "../flows/health-check-registry.js"; export { runProviderCatalog } from "../plugins/provider-discovery.js"; export { onTrustedInternalDiagnosticEvent } from "../infra/diagnostic-events.js"; export { buildProviderPluginMethodChoice, resolveProviderModelPickerEntries, resolveProviderWizardOptions, setProviderWizardProvidersResolverForTest, } from "../plugins/provider-wizard.js"; export { resolveProviderPluginChoice } from "../plugins/provider-auth-choice.runtime.js"; export { clearEmbeddingProviders, getRegisteredEmbeddingProvider, listRegisteredEmbeddingProviders, registerEmbeddingProvider, restoreRegisteredEmbeddingProviders, type RegisteredEmbeddingProvider, } from "../plugins/embedding-providers.js"; export { clearMemoryEmbeddingProviders, listRegisteredMemoryEmbeddingProviders, restoreRegisteredMemoryEmbeddingProviders, type RegisteredMemoryEmbeddingProvider, } from "../plugins/memory-embedding-providers.js"; export type { PluginRuntime } from "../plugins/runtime/types.js"; export type { PluginHookRegistration } from "../plugins/hook-types.js"; export type { RuntimeEnv } from "../runtime.js"; export type { MockFn } from "../test-utils/vitest-mock-fn.js"; export { createOutboundTestPlugin, createTestRegistry } from "../test-utils/channel-plugins.js"; export { readQueuedEntries as readQueuedDeliveryEntriesForTest } from "../infra/outbound/delivery-queue.test-helpers.js"; export { registerProviderPlugin, registerProviderPlugins, registerSingleProviderPlugin, requireRegisteredProvider, type RegisteredProviderCollections, } from "../test-utils/plugin-registration.js"; export { createNonExitingRuntimeEnv, createNonExitingTypedRuntimeEnv, createRuntimeEnv, createTypedRuntimeEnv, } from "../test-utils/plugin-runtime-env.js"; export { createPluginSetupWizardAdapter, createPluginSetupWizardConfigure, createPluginSetupWizardStatus, createQueuedWizardPrompter, createSetupWizardAdapter, createTestWizardPrompter, promptSetupWizardAllowFrom, resolveSetupWizardAllowFromEntries, resolveSetupWizardGroupAllowlist, runSetupWizardConfigure, runSetupWizardFinalize, runSetupWizardPrepare, selectFirstWizardOption, type WizardPrompter, } from "../test-utils/plugin-setup-wizard.js"; export { createMockPluginRegistry } from "../plugins/hooks.test-helpers.js"; export { createAdmittedHostCapabilityTestFixture } from "../agents/harness/host-capability.test-support.js"; export { buildPluginApi } from "../plugins/api-builder.js"; export { createCapturedPluginRegistration, type CapturedPluginRegistration, } from "../plugins/captured-registration.js"; export { createRuntimeTaskFlow } from "../plugins/runtime/runtime-taskflow.js"; export { createPluginRuntimeMediaMock, createPluginRuntimeMock, type PluginRuntimeMediaMock, } from "./test-helpers/plugin-runtime-mock.js";