/** * Deepline SDK — TypeScript client for the Deepline enrichment platform. * * ## Quick start * * ```typescript * import { Deepline, definePlay } from 'deepline'; * * // Connect (auto-resolves API key from env / CLI config) * const deepline = await Deepline.connect(); * * // Execute a tool * const result = await deepline.tools.execute('test_company_search', { domain: 'stripe.com' }); * const company = result.toolResponse.raw; * * // Run a named play * const job = await deepline.play('email-waterfall').run({ domain: 'stripe.com' }); * const result = await job.get(); * ``` * * ## Define a play * * ```typescript * import { definePlay } from 'deepline'; * * export default definePlay('my-play', async (ctx, input: { domain: string }) => { * ctx.log(`Looking up ${input.domain}`); * const company = await ctx.tools.execute({ * id: 'company_search', * tool: 'test_company_search', * input: { domain: input.domain }, * description: 'Look up company details by domain.', * }); * return company; * }); * ``` * * Then run with the CLI: `deepline plays run --file my-play.play.ts --watch` * Installed npm CLIs can also run saved or prebuilt plays by name. * * ## Architecture * * - {@link DeeplineClient} — Low-level REST client (1:1 with API endpoints) * - {@link DeeplineContext} / {@link Deepline} — High-level SDK with tool shortcuts and play handles * - {@link definePlay} — Define plays as typed async functions with durable execution * - {@link PlayJob} — Handle to a running play (status, logs, wait, cancel) * * ## Configuration * * The SDK auto-resolves configuration from multiple sources. See {@link resolveConfig} * for the full resolution order. For most setups, just run `deepline auth register` * once and the SDK works zero-config. * * @packageDocumentation */ // ——— Client ——— export { DeeplineClient } from './client.js'; export { RunObserveTransportUnavailableError } from './runs/observe-transport.js'; export type { BillingCreditPool, BillingInvoiceEntry, BillingInvoicesResult, BillingNamespace, DbNamespace, BillingPaymentMethodSummary, BillingSubscriptionCancelResult, BillingSubscriptionStatus, BillingTopUpResult, MonitorsNamespace, MonitorsAccessStatus, MonitorsAvailableOptions, MonitorsAvailableResult, MonitorsListOptions, MonitorsListResult, MonitorListEntry, MonitorCheckResult, MonitorDeployResult, MonitorDetail, MonitorSpec, MonitorDependents, MonitorUpdateChangeSummary, MonitorUpdateResult, MonitorDeleteResult, MonitorReactivateResult, IngestionStorageRepairResult, PlayStatus, PlaySheetRow, PlaySheetRowsResult, RunsListOptions, RunsLogsOptions, RunsLogsResult, RunsNamespace, RunsTailOptions, ToolExecution, } from './client.js'; // ——— Monitors framework ——— export { defineMonitor } from './monitors.js'; export type { MonitorDefinition, MonitorPayload, MonitorControls, } from './monitors.js'; export { SDK_API_CONTRACT, SDK_VERSION } from './version.js'; export { DEEPLINE_TOOL_CATEGORIES, PLAY_BOOTSTRAP_COMPANY_FIELDS, PLAY_BOOTSTRAP_COMPANY_PROVIDER_CATEGORY, PLAY_BOOTSTRAP_CONTACT_FIELDS, PLAY_BOOTSTRAP_FINDER_KINDS, PLAY_BOOTSTRAP_OUTPUT_FIELD_BY_FINDER, PLAY_BOOTSTRAP_PEOPLE_PROVIDER_CATEGORY, PLAY_BOOTSTRAP_PROVIDER_CATEGORY_BY_FINDER, PLAY_BOOTSTRAP_STAGE_KINDS, PLAY_BOOTSTRAP_SOURCE_KINDS, PLAY_BOOTSTRAP_TEMPLATES, formatPlayBootstrapFinderKinds, formatPlayBootstrapFinderKindsForSentence, formatPlayBootstrapTemplates, isPlayBootstrapFinderKind, isPlayBootstrapTemplate, } from '../../shared_libs/plays/bootstrap-routes.js'; // ——— Errors ——— export { DeeplineError, ProviderTransientError, ToolExecutionError, getProviderUnavailableReason, isProviderUnavailable, isProviderWaterfallUnavailableError, AuthError, RateLimitError, ToolRateLimitError, ConfigError, } from './errors.js'; export type { ProviderTransientErrorCategory, ProviderUnavailableError, ProviderUnavailableReason, ToolExecutionErrorCategory, ToolExecutionFailureV1, ToolExecutionErrorOrigin, ToolExecutionErrorOptions, ToolExecutionNetworkKind, ToolExecutionNetworkScope, } from './errors.js'; // ——— Config ——— export { resolveConfig, PROD_URL } from './config.js'; // ——— Play framework ——— export { Deepline, DeeplineContext, DEEPLINE_EXTRACTOR_TARGETS, DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, defineInput, definePlay, defineWorkflow, JOB_CHANGE_STATUS_VALUES, PHONE_STATUS_VALUES, getDefinedPlayMetadata, isDeeplineExtractorTarget, runIf, steps, } from './play.js'; // ——— Tool output processing ——— export { tryConvertToList, writeCsvOutputFile, writeJsonOutputFile, extractSummaryFields, } from './tool-output.js'; // ——— Types (re-exported for consumers) ——— export type { DeeplineClientOptions, ResolvedConfig, ToolDefinition, ToolMetadata, LiveEventEnvelope, PlayLiveEvent, PlayRunResult, PlayRunActionPackage, PlayRunDatasetActions, PlayRunPackage, PlayActivityObservation, PlayActivityState, PlayActivityTarget, PlayRunActivityProjection, PlayRunStart, ClearPlayHistoryRequest, ClearPlayHistoryResult, PlayRevisionSummary, PublishPlayVersionRequest, PublishPlayVersionResult, StartPlayRunRequest, PlayListItem, CustomerDbQueryResult, DeeplineToolCategory, PlayBootstrapFinderKind, PlayBootstrapEntityKind, StopPlayRunResult, ToolSearchOptions, ToolSearchResult, } from './types.js'; export type { DefinePlayConfig, CsvOptions, DeeplineNamedPlay, DeeplinePlaysNamespace, DeeplinePlayRuntimeContext, DeeplineToolsNamespace, DefinedPlay, ColumnMap, ColumnResolver, CsvInput, DatasetBuilder, DatasetColumnDefinition, DatasetColumnRunInput, PlayBindings, FileInput, PlayInputContract, PlayJob, SqlListenerDeclaration, SqlListenerEvent, SqlListenerOperation, SqlQuery, ConditionalStepResolver, PreviousCell, PlayDataset, PlayDatasetInput, PlayCallExecution, PlayCallOptions, PlayFetchResponse, RuntimeStepOptions, FetchOptions, PlayStepProgramStep, PrebuiltPlayRef, StepOptions, StepProgram, StepProgramResolver, StepResolver, ToolExecuteResult, ToolExecutionRequest, DeeplineEmailStatusGetterValue, DeeplineExtractorTarget, DeeplineGetterValue, DeeplineGetterValueMap, JobChangeStatus, PhoneStatus, } from './play.js';