import type { CapabilityPolicy, EmbeddingProvider, FabricPrincipal, FilesystemSource, ModelProvider, SecretProvider, SessionStore, ToolDef } from "@fabric-harness/sdk"; import { DatabricksAgentEndpointClient } from "./agent-endpoints.js"; import type { DatabricksManagedAgentToolOptions } from "./agent-endpoints.js"; import type { DatabricksAgentServices, DatabricksAgentServicesOptions } from "./agent-services.js"; import type { DatabricksModelService, DatabricksModelServiceDiscoveryOptions } from "./ai-gateway.js"; import type { DatabricksAiSearchAdminPolicy } from "./ai-search-admin.js"; import type { DatabricksAiQueryPolicy } from "./ai.js"; import { type DatabricksAssetBundleLifecycle } from "./asset-bundles.js"; import type { DatabricksConsumption } from "./consumption.js"; import { type DatabricksGenieAgentModeClient } from "./genie-agent-mode.js"; import { type DatabricksGenieAdmin } from "./genie-authoring.js"; import type { DatabricksLineageRecord } from "./governance.js"; import type { DatabricksPrincipal, DatabricksTokenProvider } from "./identity.js"; import type { DatabricksComputePolicy } from "./jobs-authoring.js"; import type { LakebaseClient, LakebasePoolFactory } from "./lakebase.js"; import type { DatabricksPipelineRunPolicy } from "./lakeflow.js"; import type { DatabricksManagedMemoryClient, DatabricksManagedMemoryOptions } from "./managed-memory.js"; import { connectDatabricksManagedMcpServer } from "./mcp.js"; import type { DatabricksManagedMcpServerConfig } from "./mcp.js"; import type { MlflowTraceExporter } from "./mlflow-tracing.js"; import type { DatabricksModelOptions } from "./model.js"; import type { DatabricksSdkClients } from "./native-sdk.js"; import type { DatabricksSupervisorAgents, DatabricksSupervisorAgentsOptions } from "./supervisor-agents.js"; import type { DatabricksWorkspaceSourceOptions } from "./tools.js"; import type { DatabricksAiSearchRetriever } from "./vector-search.js"; export { connectDatabricksManagedMcpServer, databricksManagedMcpUrl, } from "./mcp.js"; export type { ConnectDatabricksManagedMcpOptions, DatabricksManagedMcpEndpoint, DatabricksManagedMcpServerConfig, } from "./mcp.js"; export { deployDatabricksAppArtifact, destroyDatabricksAppArtifact, runDatabricksCommand, validateDatabricksAppArtifact, } from "./app-deployment.js"; export { DatabricksAgentEndpointClient, databricksManagedAgentTool, databricksResponsesText, } from "./agent-endpoints.js"; export type { DatabricksAgentEndpointInvocation, DatabricksAgentEndpointResponse, DatabricksManagedAgentKind, DatabricksManagedAgentToolOptions, DatabricksManagedAgentToolResult, DatabricksResponsesContent, DatabricksResponsesOutputItem, } from "./agent-endpoints.js"; export { DatabricksManagedMemoryClient, databricksManagedMemory } from "./managed-memory.js"; export type { DatabricksManagedMemoryOptions, DatabricksMemoryEntry, DatabricksMemoryEntryEdit, DatabricksMemoryEntryPage, DatabricksMemoryStore, DatabricksMemoryStorePage, } from "./managed-memory.js"; export { DatabricksSupervisorAgents, databricksSupervisorAgents } from "./supervisor-agents.js"; export type { DatabricksSupervisorAgentListOptions, DatabricksSupervisorAgentsOptions, } from "./supervisor-agents.js"; export type { DatabricksCommandResult, DatabricksCommandRunner, DestroyDatabricksAppArtifactOptions, DestroyDatabricksAppArtifactResult, DeployDatabricksAppArtifactOptions, DeployDatabricksAppArtifactResult, ValidateDatabricksAppArtifactOptions, ValidateDatabricksAppArtifactResult, } from "./app-deployment.js"; export { DatabricksAssetBundleLifecycle, databricksAssetBundleLifecycle, databricksAssetBundleLifecycles, databricksAssetBundleTools, } from "./asset-bundles.js"; export type { DatabricksAssetBundleMapOptions, DatabricksAssetBundleOptions, } from "./asset-bundles.js"; export { digestDatabricksArtifact } from "./artifact-digest.js"; export { databricksWorkspaceOrigin } from "./workspace-origin.js"; export { databricksSdk } from "./native-sdk.js"; export type { DatabricksSdkClients, DatabricksSdkOptions } from "./native-sdk.js"; export { DatabricksManagedResourceConflictError, DatabricksUnmanagedResourceError, LakebaseDatabricksManagedResourceStore, MemoryDatabricksManagedResourceStore, databricksResourceFingerprint, requireDatabricksManagedResource, } from "./managed-resource.js"; export type { DatabricksManagedResourceRecord, DatabricksManagedResourceStore, LakebaseDatabricksManagedResourceStoreOptions, } from "./managed-resource.js"; export { normalizeDatabricksGenieAgentSpec, serializeDatabricksGenieAgentSpec, validateDatabricksGenieSqlReferences, } from "./genie-authoring.js"; export { DatabricksGenieAgentModeProtocolError, DatabricksGenieAgentModeResponseError, DatabricksGenieAgentModeTimeoutError, databricksGenieAgentModeTool, } from "./genie-agent-mode.js"; export type { DatabricksGenieAgentModeClient, DatabricksGenieAgentModeClientOptions, DatabricksGenieAgentModeCompletedEvent, DatabricksGenieAgentModeCreatedEvent, DatabricksGenieAgentModeErrorInfo, DatabricksGenieAgentModeEvent, DatabricksGenieAgentModeFailedEvent, DatabricksGenieAgentModeItemPage, DatabricksGenieAgentModeOutputEvent, DatabricksGenieAgentModeResponse, DatabricksGenieAgentModeToolOptions, DatabricksGenieAgentModeUnknownEvent, } from "./genie-agent-mode.js"; export type { DatabricksGenieAdmin, DatabricksGenieAdminOptions, DatabricksGenieAuthoringToolOptions, DatabricksGenieAgent, DatabricksGenieAgentPage, DatabricksGenieAgentSpecV2, DatabricksGenieAgentUpdate, DatabricksGenieColumnSpec, DatabricksGenieDataSource, DatabricksGenieExport, DatabricksGenieOwnershipContext, DatabricksGeniePermissionChange, DatabricksGenieSqlExample, DatabricksGenieSqlFunction, DatabricksGenieJoinSide, DatabricksGenieJoinSpec, DatabricksGenieSqlSnippet, DatabricksGenieSqlSnippets, DatabricksGenieBenchmark, DatabricksGenieSqlPolicy, DatabricksGenieSqlPolicyInput, DatabricksGenieSqlPolicyResult, DatabricksGeniePermissionLevel, DatabricksGeniePermissions, DatabricksGenieAccessControl, } from "./genie-authoring.js"; export { DATABRICKS_AGENT_SERVICES_API, DATABRICKS_AGENT_SERVICE_SECURABLE, } from "./agent-services.js"; export type { DatabricksAgentServices, DatabricksAgentService, DatabricksAgentServiceConfig, DatabricksAgentServiceConnection, DatabricksAgentServiceCreateOptions, DatabricksAgentServiceGrantChange, DatabricksAgentServiceList, DatabricksAgentServicePermission, DatabricksAgentServicePermissions, DatabricksAgentServicePrivilege, DatabricksAgentServicesOptions, DatabricksAgentServiceUpdateOptions, } from "./agent-services.js"; export { databricksSqlReadTool, databricksSqlTool, databricksRunJobTool, databricksNotebookTool, databricksMlflowLogMetricTool, databricksMlflowLogParamTool, unityCatalogTablesTool, databricksTableInfoTool, } from "./tools.js"; export type { DatabricksMlflowRunPolicy, DatabricksSqlClient, DatabricksSqlExecutionPolicy, DatabricksSqlReadToolOptions, DatabricksSqlStatementInput, DatabricksSqlToolOptions, DatabricksWorkspaceSourceOptions, } from "./tools.js"; export { DatabricksResourceNotAllowedError } from "./resource-policy.js"; export { DatabricksJobsAuthoring, databricksJobsAuthoring, databricksJobsAuthoringTools, validateDatabricksComputePolicy, validateJobSpec, } from "./jobs-authoring.js"; export type { DatabricksComputePolicy, DatabricksCreateJobOptions, DatabricksCreatedJob, DatabricksDbtTaskSpec, DatabricksJobField, DatabricksJobSchedule, DatabricksJobSpec, DatabricksJobTask, DatabricksJobUpdate, DatabricksNewClusterSpec, DatabricksNotebookTaskSpec, DatabricksPythonWheelTaskSpec, DatabricksSparkJarTaskSpec, DatabricksSqlTaskSpec, } from "./jobs-authoring.js"; export { DatabricksLakeflowAuthoring, databricksLakeflowAuthoringTools, } from "./lakeflow-authoring.js"; export type { DatabricksPipelineLibrary, DatabricksPipelineSpec } from "./lakeflow-authoring.js"; export { DatabricksAiSearchAdmin, databricksAiSearchAdminTools } from "./ai-search-admin.js"; export type { DatabricksAiSearchAdminClient, DatabricksAiSearchAdminOperation, DatabricksAiSearchAdminPolicy, DatabricksSearchIndexSpec, } from "./ai-search-admin.js"; export { DatabricksServingAdmin, databricksServingAdminTools } from "./serving-admin.js"; export type { DatabricksAgentEntity, DatabricksAiGatewayUpdate, DatabricksCustomModelEntity, DatabricksExternalModelEntity, DatabricksProvisionedThroughputEntity, DatabricksServingEndpointSpec, } from "./serving-admin.js"; export { DatabricksUnityCatalogAdmin, databricksUnityCatalogAdminTools, } from "./unity-catalog-admin.js"; export type { DatabricksPermissionChange, DatabricksSecurableType } from "./unity-catalog-admin.js"; export type { DatabricksNotebookImport } from "./workspace-authoring.js"; export { DatabricksSecretsAuthoring, databricksSecretsAuthoringTools, } from "./secrets-authoring.js"; export { DatabricksJobs, DatabricksRunNotAllowedError, DatabricksRunTimeoutError, databricksJobs, validateDatabricksJobRunPolicy, validateDatabricksNotebookRunPolicy, } from "./jobs.js"; export type { DatabricksJobRunPolicy, DatabricksJobsClient, DatabricksJobsOptions, DatabricksJobsWaitOptions, DatabricksNotebookRunPolicy, DatabricksRunLifeCycleState, DatabricksRunOutput, DatabricksRunReceipt, DatabricksRunResultState, DatabricksRunState, RunDatabricksJobInput, SubmitDatabricksNotebookInput, } from "./jobs.js"; export { databricksFoundationModelProvider, registerDatabricksModelProvider } from "./model.js"; export { databricksModelBaseUrl, isDatabricksModelService } from "./model.js"; export type { DatabricksInferenceMode, DatabricksModelOptions, DatabricksRequestTags, } from "./model.js"; export type { DatabricksModelService, DatabricksModelServiceDiscoveryOptions, DatabricksModelProviderService, } from "./ai-gateway.js"; export { databricksModelProviderSupportsAnthropic } from "./ai-gateway.js"; export { createDatabricksAuthenticatedFetch, databricksAnthropicGatewayBaseUrl, } from "./authenticated-fetch.js"; export type { DatabricksAuthenticatedFetchOptions } from "./authenticated-fetch.js"; export { runStatement, parseStatementRows } from "./sql-exec.js"; export type { DatabricksStatementClient, SqlParameter, StatementPoll } from "./sql-exec.js"; export type { DatabricksSqlWarehouse } from "./sql-warehouses.js"; export { chooseDatabricksSqlWarehouse } from "./sql-warehouses.js"; export { appServicePrincipalFromEnv, databricksHostFromCliProfile, databricksIdentity, databricksPrincipalFromEnv, fabricPrincipalFor, onBehalfOfFromHeaders, } from "./identity.js"; export type { DatabricksPrincipal, DatabricksPrincipalEnvOptions, DatabricksTokenProvider, FabricPrincipalOverrides, } from "./identity.js"; export { analyticsCopilotGovernance, withGovernance, withGovernanceTools, databricksApprovalRules, databricksGovernancePolicy, } from "./governance.js"; export type { AnalyticsCopilotGovernance, AnalyticsCopilotGovernanceOptions, DatabricksGovernanceOptions, DatabricksLineageRecord, DatabricksApprovalRuleOptions, DatabricksGovernancePolicyOptions, DatabricksGovernanceMetadata, DatabricksGovernanceResourceDescriptor, DatabricksGovernedResource, } from "./governance.js"; export { extractDatabricksGovernedResources, governanceMetadata, validateDatabricksGovernanceDescriptor, } from "./governance.js"; export { lakebaseClient, lakebaseCredentialProvider } from "./lakebase.js"; export { databricksPersistence } from "./persistence.js"; export { databricksTelemetry, ensureDatabricksTelemetryTables, queryDatabricksLineageEvidence, } from "./telemetry-sink.js"; export { databricksApp } from "./app.js"; export type { DatabricksAppOptions, DatabricksAppRuntime } from "./app.js"; export { createDatabricksAppUserAuthenticator, DATABRICKS_APP_USER_PERMISSIONS, inspectDatabricksAppUserAuthorization, } from "./app-user-authorization.js"; export type { DatabricksAppAuthenticatedPrincipal, DatabricksAppUserAuthenticatorOptions, DatabricksAppUserAuthorizationInspection, } from "./app-user-authorization.js"; export type { DatabricksLineageEvidenceRow, DatabricksTelemetry, DatabricksTelemetryOptions, } from "./telemetry-sink.js"; export type { DatabricksPersistence, DatabricksPersistenceOptions, DatabricksPersistenceStoreModule, } from "./persistence.js"; export type { LakebaseClient, LakebaseClientOptions, LakebaseCredentialProviderOptions, LakebasePoolConfig, LakebasePoolFactory, } from "./lakebase.js"; export { UcVolumesAttachmentStore } from "./volumes-attachment-store.js"; export type { UcVolumesAttachmentStoreOptions } from "./volumes-attachment-store.js"; export { buildMlflowTrace } from "./mlflow-tracing.js"; export type { MlflowTraceExporter, MlflowTraceInput, MlflowTracePayload, } from "./mlflow-tracing.js"; export { inferenceTableUsageQuery, servingUsageCapture } from "./serving-usage.js"; export type { InferenceTableUsageQueryOptions, ServingUsageCaptureOptions, } from "./serving-usage.js"; export { databricksEmbeddings } from "./embeddings.js"; export type { DatabricksEmbeddingsOptions } from "./embeddings.js"; export { databricksAiSearch } from "./vector-search.js"; export type { DatabricksAiSearchInputMode, DatabricksAiSearchOptions, DatabricksAiSearchQueryOptions, DatabricksAiSearchQueryResult, DatabricksAiSearchRetriever, DatabricksAiSearchStrategy, } from "./vector-search.js"; export { databricksAiQueryTool } from "./ai.js"; export type { DatabricksAiQueryPolicy, DatabricksAiQueryToolOptions } from "./ai.js"; export { DatabricksGenieClient, DatabricksGenieMessageError, DatabricksGenieProtocolError, DatabricksGenieResponseLimitError, DatabricksGenieTimeoutError, databricksGenie, databricksGenieTool, } from "./genie.js"; export type { DatabricksGenieAgentReference, DatabricksGenieAskInput, DatabricksGenieAttachment, DatabricksGenieClientOptions, DatabricksGenieCommentPage, DatabricksGenieConversationPage, DatabricksGenieConversationSummary, DatabricksGenieMessageComment, DatabricksGenieMessagePage, DatabricksGenieMessageStatus, DatabricksGenieMessageSummary, DatabricksGenieQueryAttachment, DatabricksGenieQueryResult, DatabricksGenieResponse, DatabricksGenieSuggestedQuestionsAttachment, DatabricksGenieTextAttachment, DatabricksGenieToolOptions, DatabricksGenieUnknownAttachment, DatabricksGenieVisualizationAttachment, } from "./genie.js"; export { databricksLakeflowTools, databricksPipelineListTool, databricksPipelineStatusTool, databricksPipelineStartTool, databricksPipelineStopTool, } from "./lakeflow.js"; export type { DatabricksPipelineRunPolicy, DatabricksPipelinesClient } from "./lakeflow.js"; export { databricksConsumption, databricksConsumptionTool } from "./consumption.js"; export type { ConsumptionGroupBy, ConsumptionSummary, ConsumptionSummaryOptions, DatabricksConsumption, DatabricksConsumptionOptions, DatabricksConsumptionToolOptions, } from "./consumption.js"; export { databricksActualCostSource, databricksTenantCostLimit, reconcileDatabricksCost, } from "./cost-budget-actuals.js"; export type { DatabricksActualCostSourceOptions, DatabricksCostReconciliationOptions, DatabricksCostReconciliationResult, } from "./cost-budget-actuals.js"; export { databricksFeatureLookupTool } from "./feature-serving.js"; export type { DatabricksFeatureLookupToolOptions } from "./feature-serving.js"; export { DATABRICKS_AUTHORING_CERTIFICATION_CHECKS, DATABRICKS_OPTIONAL_CERTIFICATION_CHECKS, DATABRICKS_RELEASE_CERTIFICATION_CHECKS, DatabricksCertificationCleanupLedger, databricksCertificationTier, defaultDatabricksCertificationChecks, runDatabricksAuthoringLifecycle, runDatabricksCertification, } from "./certification.js"; export type { DatabricksAuthoringLifecycle, DatabricksAuthoringLifecycleEvidence, DatabricksCertificationCheck, DatabricksCertificationBlockingTier, DatabricksCertificationEvidence, DatabricksCertificationResult, DatabricksCleanupResource, DatabricksCertificationStatus, DatabricksCertificationTier, RunDatabricksCertificationOptions, } from "./certification.js"; export { validateDatabricksAppRecoveryEvidence, validateDatabricksAppUserIsolationEvidence, validateDatabricksDynamicAgentEvidence, validateDatabricksCrossTierEvidence, validateDatabricksReleaseEvidence, validateDatabricksRollingEvidence, } from "./release-evidence.js"; export type { DatabricksAppRecoveryEvidence, DatabricksAppUserIsolationEvidence, DatabricksDynamicAgentEvidence, DatabricksCrossTierEvidenceManifest, DatabricksReleaseEvidenceValidation, DatabricksRollingEvidenceReport, ValidateDatabricksCrossTierEvidenceOptions, ValidateDatabricksReleaseEvidenceOptions, ValidateDatabricksRollingEvidenceOptions, } from "./release-evidence.js"; export { resolveDatabricksRequiredChecks, validateDatabricksCertificationEnvironment, } from "./certification-environment.js"; export type { DatabricksCertificationEnvironmentIssue } from "./certification-environment.js"; export { createDatabricksAuthoringCertificationChecks } from "./authoring-certification.js"; export type { DatabricksAuthoringCertificationFixtures } from "./authoring-certification.js"; export { DATABRICKS_CERTIFICATION_RESOURCE_PREFIX, sweepDatabricksAuthoringCertification, sweepDatabricksAuthoringCertificationWorkspace, } from "./certification-sweeper.js"; export type { DatabricksCertificationSweepClients, DatabricksCertificationSweepOptions, DatabricksCertificationSweepResult, DatabricksCertificationWorkspaceSweepOptions, } from "./certification-sweeper.js"; export { DATABRICKS_API_VERSIONS, DATABRICKS_AUTH_MODES, DATABRICKS_PACKAGE_COMPATIBILITY, DATABRICKS_SDK_VERSION, databricksCompatibilityRecord, } from "./compatibility.js"; export type { DatabricksCloud, DatabricksWorkspaceCompatibilityRecord } from "./compatibility.js"; export { DATABRICKS_CAPABILITIES, DATABRICKS_CAPABILITY_EVIDENCE, DATABRICKS_PLATFORM_DOMAINS, getDatabricksCapability, listDatabricksCapabilities, missingDatabricksCapabilityEvidence, } from "./capabilities.js"; export type { DatabricksCapability, DatabricksApiFidelity, DatabricksCapabilityEvidenceReference, DatabricksLifecycleOperation, DatabricksPlatformDomain, DatabricksPlatformDomainId, DatabricksCapabilityStatus, DatabricksCertificationLevel, DatabricksSupportTier, DatabricksUpstreamMaturity, } from "./capabilities.js"; export { databricksSecretsProvider } from "./secrets.js"; export type { DatabricksSecretsProviderOptions } from "./secrets.js"; export { databricksWorkspaceApi } from "./workspace-api.js"; export type { DatabricksWorkspaceApi, DatabricksWorkspaceApiMethod, DatabricksWorkspaceApiOptions, DatabricksWorkspaceApiRequestOptions, } from "./workspace-api.js"; type DatabricksGenieConversationConfig = { agentId: string; enableVisualization?: boolean; }; export interface DatabricksGenieManagementConfig { /** Durable ownership manifest for untaggable Databricks artifacts such as Genie Agents. */ resourceStore: import("./managed-resource.js").DatabricksManagedResourceStore; /** Server-side parser/policy required before SQL-bearing config becomes model-facing. */ sqlPolicy?: import("./genie-authoring.js").DatabricksGenieSqlPolicy; /** Deletion remains limited to exact Harness-managed resources. */ delete?: false | "managed-only"; } export interface DatabricksGenieConfig { /** Governed conversations with an existing Genie Agent. */ conversations?: DatabricksGenieConversationConfig; /** Approval-gated lifecycle management. Supplying this object is the explicit write opt-in. */ manage?: DatabricksGenieManagementConfig; /** Explicit Beta Agent Mode streaming configuration. */ agentMode?: import("./genie-agent-mode.js").DatabricksGenieAgentModeClientOptions & { modelTool?: boolean | import("./genie-agent-mode.js").DatabricksGenieAgentModeToolOptions; }; } export { defineDatabricksAgent, resolveToolRefs } from "./agent.js"; export { databricksSqlSandbox, registerDatabricksSqlSandboxBackend, unregisterDatabricksSqlSandboxBackend, } from "./sql-sandbox.js"; export type { DatabricksSqlSandboxOptions, DatabricksSqlSandboxRefData, DatabricksSqlSandboxRegistrationOptions, } from "./sql-sandbox.js"; export type { DefineDatabricksAgentOptions } from "./agent.js"; export { MockDatabricksModelProvider } from "./mock-provider.js"; export type { MockDatabricksModelProviderOptions } from "./mock-provider.js"; import { createDatabricksRagChain } from "./rag-chain.js"; export { createDatabricksRagChain }; export type { DatabricksRagChain, DatabricksRagInput, DatabricksRagChainResolvedOptions, DatabricksRagRetrievalOptions, RagChainPostProcessOptions, RagChainPromptOptions, RagPreprocess, RagStreamEvent, RagTurn, } from "./rag-chain.js"; export { exportAgentEvaluationJsonl, exportMlflow3EvaluationJsonl, ragTurnCitationsScorer, ragTurnContainsScorer, scoreRagTurn, toAgentEvaluationRecord, toMlflow3EvaluationRecord, } from "./rag-eval.js"; export type { LegacyAgentEvaluationRecord, Mlflow3RagEvaluationRecord, RagEvalExpected, RagTurnScore, } from "./rag-eval.js"; /** One checked-in Asset Bundle as configured on `databricks({ assetBundles })`. */ export interface DatabricksAssetBundleEntry { /** Directory containing the bundle's `databricks.yml`. */ bundleDir: string; /** Bundle target (dev/prod) passed through to the Databricks CLI. */ target?: string; /** Fingerprint manifest; defaults to an in-memory store. */ store?: import("./managed-resource.js").DatabricksManagedResourceStore; } export interface DatabricksBundleConfig { /** Workspace host, e.g. https://adb-1234567890.0.cloud.databricks.com */ host: string; /** Acting identity — UC enforces this principal's grants on every call. */ principal: DatabricksPrincipal; /** Default serving-endpoint name for the returned model provider. */ model?: string; /** AI Gateway or custom Model Serving routing controls. */ inference?: Omit; /** SQL Warehouse id. It does not expose a model tool by itself. */ warehouseId?: string; /** Add a separately enforced SELECT-only `sql_read` tool. Requires `warehouseId`. */ sqlRead?: boolean; /** Add arbitrary/model-selected SQL under an explicit runtime execution policy. */ sqlExecute?: import("./tools.js").DatabricksSqlExecutionPolicy; /** Extra Databricks tools to include; governed alongside the defaults. */ tools?: ToolDef[]; governance?: { /** When set, sensitive (write/execute) tools route to this approval audience. */ stewardAudience?: string; approvalServices?: string[]; /** Belt-and-suspenders catalog allowlist enforced before tool execution (UC stays source of truth). */ catalogs?: string[]; approvalTtlSeconds?: number; /** Label recorded in lineage for the acting principal (never a token). */ principalLabel?: string; /** Sink for audit/lineage records; wire to OTel / onEvent at the app layer. */ onLineage?: (record: DatabricksLineageRecord) => void; }; /** Explicitly bypass fail-closed model authoring approval. Intended only for local development. */ allowUnapprovedAuthoring?: boolean; jobAuthoring?: boolean; /** * Governed lifecycle for checked-in Databricks Asset Bundles: adds validate/deploy/run/destroy * tools. One entry (`{ bundleDir, target }`) keeps the single-bundle contract and exposes * `bundle.assetBundle` with bundle-free tool schemas. A name-keyed map * (`{ jobs: { bundleDir }, pipelines: { bundleDir } }`) exposes `bundle.assetBundles` and adds a * required `bundle` selector to every tool schema. */ assetBundles?: DatabricksAssetBundleEntry | Record; oneOffCompute?: boolean; computePolicy?: DatabricksComputePolicy; lakeflowAuthoring?: boolean; lakeflowEvents?: boolean; /** * Governed AI Search endpoint/index administration. `allowedOperations` decides which of the six * tools are registered, and the index/endpoint allowlists are pinned into their schemas and * re-checked at call time. `{ allowAnyAiSearchAdmin: true }` is the explicit unbounded opt-out. */ aiSearchAdmin?: DatabricksAiSearchAdminPolicy | false; servingAdmin?: boolean; ucAdmin?: boolean; ucDestructiveAdmin?: boolean; workspaceWrite?: boolean; secretsWrite?: boolean; /** Server-side resolver required by the secret-reference write tool. */ secretProvider?: SecretProvider; /** Lakebase (managed Postgres) connection for durable session/journal state. */ lakebase?: { host: string; database: string; user: string; /** Lakebase endpoint resource name used for database credential exchange. */ endpoint: string; port?: number; ssl?: boolean | { rejectUnauthorized?: boolean; }; poolFactory?: LakebasePoolFactory; }; /** * Builds a SessionStore from the Lakebase client. Injected so this package stays decoupled from * `@fabric-harness/node` — e.g. `(client) => new PostgresSessionStore({ client })`. */ sessionStoreFactory?: (client: LakebaseClient) => SessionStore; /** Databricks AI Search for RAG. Adds a governed `search` tool and exposes `retriever`. */ aiSearch?: { /** Full index name `catalog.schema.index`. */ index: string; /** Column holding the chunk text. */ textColumn: string; columns?: string[]; idColumn?: string; /** Query representation. Defaults to `text`. */ inputMode?: import("./vector-search.js").DatabricksAiSearchInputMode; /** Native Databricks retrieval algorithm. Text input defaults to `hybrid`. */ strategy?: import("./vector-search.js").DatabricksAiSearchStrategy; /** Serving-endpoint name for query embeddings used by vector input. */ embeddingEndpoint?: string; scoreThreshold?: number; queryColumns?: string[]; sortColumns?: string[]; facets?: string[]; reranker?: import("@databricks/sdk-vectorsearch/v1").RerankerConfig; columnsToRerank?: string[]; /** Override the search tool name (default `search`). */ searchToolName?: string; }; /** Add bounded `ai_query` inference. Requires `warehouseId` and an endpoint policy. */ aiFunctions?: DatabricksAiQueryPolicy; /** Add the governed Genie tool for natural-language analytics over an existing Genie Agent. */ genie?: DatabricksGenieConfig; /** Expose the typed Unity Catalog Agent Services Beta lifecycle client. */ agentServices?: DatabricksAgentServicesOptions; /** Expose typed Supervisor Agent discovery, lifecycle, and Responses invocation. */ supervisorAgents?: DatabricksSupervisorAgentsOptions; /** Expose Databricks-managed long-term memory without merging it into Harness session state. */ managedMemory?: DatabricksManagedMemoryOptions; /** * Add Lakeflow pipeline tools. `true` is read-only list/status; supplying `runPolicy` explicitly * adds bounded start/stop tools. */ lakeflow?: boolean | { runPolicy: DatabricksPipelineRunPolicy; }; /** Add the System-Tables consumption tool + expose `bundle.consumption`. Requires `warehouseId`. */ consumption?: boolean; /** Add a governed low-latency feature-lookup tool against a Feature Serving endpoint. */ featureServing?: { endpoint: string; }; /** Databricks managed MCP or registered MCP Services. Requires `databricksWithManagedMcp()`. */ mcp?: DatabricksManagedMcpServerConfig[]; fetchImpl?: typeof fetch; } export interface DatabricksBundle { /** Rotating token provider shared by model inference and native Databricks SDK clients. */ identity: DatabricksTokenProvider; /** Official generated Databricks service clients bound to the bundle principal. */ sdk: DatabricksSdkClients; modelProvider: ModelProvider; /** Governed Databricks tools (lineage-stamped, catalog-allowlisted). */ tools: ToolDef[]; /** Approval routing + egress allowlist for the tool set. Merge into the agent's policy. */ policy: CapabilityPolicy; lakebase?: LakebaseClient; store?: SessionStore; /** Mount Databricks workspace files as a read-only context source. */ workspaceSource: (rootPath: string, options?: DatabricksWorkspaceSourceOptions) => FilesystemSource; /** AI Search retriever, when `aiSearch` is configured. */ retriever?: DatabricksAiSearchRetriever; /** Query-embedding provider, when `aiSearch.embeddingEndpoint` is configured. */ embeddings?: EmbeddingProvider; /** System-Tables consumption reporter, when `consumption` is enabled (needs `warehouseId`). */ consumption?: DatabricksConsumption; /** Typed Genie management client when `genie.manage` is configured. */ genieAdmin?: DatabricksGenieAdmin; /** Typed Beta Agent Mode streaming client when `genie.agentMode` is configured. */ genieAgentMode?: DatabricksGenieAgentModeClient; /** Typed Unity Catalog Agent Services client when `agentServices` is configured. */ agentServices?: DatabricksAgentServices; /** Existing Databricks agent endpoints as governed tools/subagents. */ agentEndpoints: { client: DatabricksAgentEndpointClient; tool(options: DatabricksManagedAgentToolOptions): ToolDef; }; /** Typed Beta Supervisor Agent composition when explicitly acknowledged. */ supervisorAgents?: DatabricksSupervisorAgents; /** Explicit Databricks-managed long-term memory; never silently used as Harness session state. */ managedMemory?: DatabricksManagedMemoryClient; /** * Governed Asset Bundle lifecycle when exactly one bundle is configured — the single-bundle * `assetBundles` shape, or a named map holding one entry. */ assetBundle?: DatabricksAssetBundleLifecycle; /** Governed Asset Bundle lifecycles by name, when `assetBundles` uses the named-map shape. */ assetBundles?: Readonly>; /** SDK-gap discovery methods kept behind the bundle rather than exposing raw transport. */ aiGateway: { ensure(): Promise; listModelServices(options?: DatabricksModelServiceDiscoveryOptions): Promise; listModelProviderServices(): Promise; }; sqlWarehouses: { list(): Promise; }; /** Build an MLflow trace exporter without exposing the raw protocol transport. */ mlflowTraceExporter(options: { experimentId: string; onError?: (context: string, error: unknown) => void; }): MlflowTraceExporter; /** Create an immutable request-scoped bundle from an already verified principal. */ forPrincipal(input: { tokenProvider: DatabricksTokenProvider; principal: FabricPrincipal; }): DatabricksBundle; } export interface DatabricksManagedMcpBundle extends DatabricksBundle { managedMcp: { connections: Awaited>[]; reconnect(): Promise; close(): Promise; }; /** Rebuild every remote connection under a verified request-scoped principal. */ forPrincipalWithManagedMcp(input: { tokenProvider: DatabricksTokenProvider; principal: FabricPrincipal; }): Promise; } /** * One-call wiring for a Databricks-native agent: model serving, a UC principal threaded through * model + data + state, governed tools, an approval/egress policy, and (optionally) Lakebase-backed * durable state. Also registers `databricks/*` model refs. Everything is layered on * Unity Catalog — never a replacement for it. */ export declare function databricks(config: DatabricksBundleConfig): DatabricksBundle; /** Build a Databricks bundle after discovering and classifying managed MCP tools. */ export declare function databricksWithManagedMcp(config: DatabricksBundleConfig, scope?: { tokenProvider: DatabricksTokenProvider; principal: FabricPrincipal; }): Promise; export interface DatabricksRagChainOptions { /** Existing bundle from `databricks({ aiSearch: ... })`. */ bundle?: DatabricksBundle; /** Or pass the same config shape as `databricks()` (must include `aiSearch`). */ databricks?: DatabricksBundleConfig; modelProvider?: import("@fabric-harness/sdk").ModelProvider; retriever?: import("@fabric-harness/sdk").Retriever; model?: string; topK?: number; filter?: import("@fabric-harness/sdk").RetrieveOptions["filter"]; /** Native AI Search defaults for every turn. */ retrieval?: import("./rag-chain.js").DatabricksRagRetrievalOptions; preprocess?: import("./rag-chain.js").RagPreprocess; prompt?: import("./rag-chain.js").RagChainPromptOptions; postProcess?: import("./rag-chain.js").RagChainPostProcessOptions; } /** * Cookbook-style online RAG chain over **native** Databricks AI Search + Model Serving. * * ```ts * const chain = databricksRagChain({ * databricks: { host, principal, model, aiSearch: { index, textColumn, idColumn } }, * }); * const turn = await chain.invoke({ question: 'How do I reset my password?' }); * // Export for Mosaic Agent Evaluation: * // writeFileSync('eval.jsonl', exportAgentEvaluationJsonl([toAgentEvaluationRecord(turn)])); * ``` */ export declare function databricksRagChain(options: DatabricksRagChainOptions): import("./rag-chain.js").DatabricksRagChain; //# sourceMappingURL=index.d.ts.map