//#region src/plugin-sdk/plugin-test-api.ts
function createTestPluginApi(api = {}) {
	return {
		id: "test-plugin",
		name: "test-plugin",
		source: "test",
		registrationMode: "full",
		config: {},
		runtime: {},
		logger: {
			info() {},
			warn() {},
			error() {},
			debug() {}
		},
		registerTool() {},
		registerHook() {},
		registerHttpRoute() {},
		registerChannel() {},
		registerGatewayMethod() {},
		registerCli() {},
		registerCliBackend() {},
		registerTextTransforms() {},
		registerService() {},
		registerGatewayDiscoveryService() {},
		registerReload() {},
		registerNodeHostCommand() {},
		registerSecurityAuditCollector() {},
		registerConfigMigration() {},
		registerMigrationProvider() {},
		registerAutoEnableProbe() {},
		registerProvider() {},
		registerSpeechProvider() {},
		registerRealtimeTranscriptionProvider() {},
		registerRealtimeVoiceProvider() {},
		registerMediaUnderstandingProvider() {},
		registerImageGenerationProvider() {},
		registerMusicGenerationProvider() {},
		registerVideoGenerationProvider() {},
		registerWebFetchProvider() {},
		registerWebSearchProvider() {},
		registerInteractiveHandler() {},
		onConversationBindingResolved() {},
		registerCommand() {},
		registerContextEngine() {},
		registerCompactionProvider() {},
		registerAgentHarness() {},
		registerCodexAppServerExtensionFactory() {},
		registerAgentToolResultMiddleware() {},
		registerDetachedTaskRuntime() {},
		registerSessionExtension() {},
		enqueueNextTurnInjection: async (injection) => ({
			enqueued: false,
			id: "",
			sessionKey: injection.sessionKey
		}),
		registerTrustedToolPolicy() {},
		registerToolMetadata() {},
		registerControlUiDescriptor() {},
		registerRuntimeLifecycle() {},
		registerAgentEventSubscription() {},
		setRunContext: () => false,
		getRunContext: () => void 0,
		clearRunContext() {},
		registerSessionSchedulerJob: () => void 0,
		registerMemoryCapability() {},
		registerMemoryPromptSection() {},
		registerMemoryPromptSupplement() {},
		registerMemoryCorpusSupplement() {},
		registerMemoryFlushPlan() {},
		registerMemoryRuntime() {},
		registerMemoryEmbeddingProvider() {},
		resolvePath(input) {
			return input;
		},
		on() {},
		...api
	};
}
//#endregion
export { createTestPluginApi };
