deepline 0.1.271 → 0.1.273

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1363,6 +1363,92 @@ interface UpdateSharePageRequest {
1363
1363
  seoIndexing?: 'index' | 'noindex';
1364
1364
  }
1365
1365
 
1366
+ /**
1367
+ * Monitor authoring and typing for the Deepline SDK.
1368
+ *
1369
+ * A **monitor** is a Deepline-native signal feed. A deployed monitor writes
1370
+ * events into a Customer DB table (one row per finding). Plays react to those
1371
+ * rows through `sqlListeners` bindings (see {@link definePlay}). This module is
1372
+ * the code-first authoring surface for monitors — the same product model the
1373
+ * `deepline monitors` CLI drives, expressed as typed SDK code.
1374
+ *
1375
+ * Use {@link defineMonitor} to author a typed monitor definition, then deploy or
1376
+ * validate it with the monitors namespace:
1377
+ *
1378
+ * ```typescript
1379
+ * import { DeeplineClient, defineMonitor } from 'deepline';
1380
+ *
1381
+ * const monitor = defineMonitor({
1382
+ * key: 'stripe-job-openings',
1383
+ * tool: 'deepline_native.company_radar',
1384
+ * name: 'Stripe job openings',
1385
+ * payload: { domain: 'stripe.com', radar_type: 'company_job_openings' },
1386
+ * });
1387
+ *
1388
+ * const client = new DeeplineClient();
1389
+ * const plan = await client.monitors.check(monitor); // validate, no spend
1390
+ * await client.monitors.deploy(monitor); // deploy for real
1391
+ * ```
1392
+ *
1393
+ * @module
1394
+ */
1395
+ /**
1396
+ * A monitor definition: the exact object accepted by
1397
+ * `client.monitors.check(...)` and `client.monitors.deploy(...)` and by the
1398
+ * `/api/v2/monitors/{check,deploy}` endpoints the CLI uses.
1399
+ *
1400
+ * @typeParam TPayload - Provider-specific monitor payload shape (defaults to a
1401
+ * loose record). Pass a concrete shape to `defineMonitor<TPayload>(...)` for
1402
+ * compile-time checking of the payload fields.
1403
+ */
1404
+ type MonitorDefinition<TPayload extends MonitorPayload = MonitorPayload> = {
1405
+ /** Stable public key for this monitor, unique within the workspace. */
1406
+ key: string;
1407
+ /** Monitor tool id, e.g. `"deepline_native.company_radar"`. */
1408
+ tool: string;
1409
+ /** Optional human-readable name shown in listings and detail views. */
1410
+ name?: string;
1411
+ /** Provider-specific monitor payload (e.g. domain + radar_type). */
1412
+ payload: TPayload;
1413
+ /** Optional Deepline lifecycle metadata (deploy/reuse controls). */
1414
+ controls?: MonitorControls;
1415
+ };
1416
+ /** Provider-specific monitor payload. Keys and value types depend on the tool. */
1417
+ type MonitorPayload = Record<string, unknown>;
1418
+ /**
1419
+ * Deepline lifecycle metadata attached to a monitor definition. These are
1420
+ * Deepline-side deploy/reuse controls, not provider payload fields. The set is
1421
+ * intentionally open (server-owned) so newer controls do not require an SDK
1422
+ * bump; known controls are typed for discoverability.
1423
+ */
1424
+ type MonitorControls = {
1425
+ [key: string]: unknown;
1426
+ };
1427
+ /**
1428
+ * Define a typed monitor definition.
1429
+ *
1430
+ * Mirrors {@link definePlay} as the code-first authoring entrypoint: it gives
1431
+ * compile-time type safety on the definition object and returns it verbatim for
1432
+ * passing to `client.monitors.check(...)` / `client.monitors.deploy(...)`. It
1433
+ * performs the same lightweight local invariants the server enforces (non-empty
1434
+ * `key` and `tool`, object `payload`) so authoring mistakes fail before a
1435
+ * network round-trip.
1436
+ *
1437
+ * @typeParam TPayload - Provider payload shape.
1438
+ * @param definition - The monitor definition.
1439
+ * @returns The validated definition object.
1440
+ *
1441
+ * @example
1442
+ * ```typescript
1443
+ * const monitor = defineMonitor({
1444
+ * key: 'job-openings',
1445
+ * tool: 'deepline_native.company_radar',
1446
+ * payload: { domain: 'stripe.com', radar_type: 'company_job_openings' },
1447
+ * });
1448
+ * ```
1449
+ */
1450
+ declare function defineMonitor<TPayload extends MonitorPayload = MonitorPayload>(definition: MonitorDefinition<TPayload>): MonitorDefinition<TPayload>;
1451
+
1366
1452
  interface PlayStagedFileRef {
1367
1453
  storageKind: 'r2';
1368
1454
  storageKey: string;
@@ -1669,6 +1755,137 @@ type DbNamespace = {
1669
1755
  maxRows?: number;
1670
1756
  }) => Promise<CustomerDbQueryResult>;
1671
1757
  };
1758
+ /**
1759
+ * Whether the current workspace can use Deepline Monitors, from
1760
+ * `GET /api/v2/monitors/access`. Reachable without monitor access (requires
1761
+ * only an authenticated session/API key); a denial is a normal 200 body, not a
1762
+ * 403.
1763
+ */
1764
+ type MonitorsAccessStatus = {
1765
+ has_access: boolean;
1766
+ reason?: string;
1767
+ };
1768
+ /**
1769
+ * The monitor tools catalog (deployable monitor TYPES), from
1770
+ * `GET /api/v2/monitors/tools`. Server-owned shape: describing one tool returns
1771
+ * the full payload/stream contract, while list mode returns the compact
1772
+ * inventory. Kept as an open record so the SDK does not have to bump when the
1773
+ * server enriches the catalog.
1774
+ */
1775
+ type MonitorsAvailableResult = {
1776
+ tools?: Array<Record<string, unknown>>;
1777
+ total?: number;
1778
+ returned?: number;
1779
+ is_truncated?: boolean;
1780
+ [key: string]: unknown;
1781
+ };
1782
+ /** Options for `client.monitors.available(...)` (list or describe mode). */
1783
+ type MonitorsAvailableOptions = {
1784
+ provider?: string;
1785
+ search?: string;
1786
+ limit?: number | string;
1787
+ /**
1788
+ * Request the full catalog contract in LIST mode (payload schemas + streams).
1789
+ * List mode is compact by default; ignored when describing a single tool.
1790
+ */
1791
+ full?: boolean;
1792
+ /** Ask the server for high-signal fields only. */
1793
+ compact?: boolean;
1794
+ };
1795
+ /** One deployed monitor row returned by `client.monitors.list(...)`. */
1796
+ type MonitorListEntry = {
1797
+ key?: string;
1798
+ monitor_key?: string;
1799
+ status?: string;
1800
+ tool?: string;
1801
+ name?: string;
1802
+ [key: string]: unknown;
1803
+ };
1804
+ /**
1805
+ * Deployed-monitor registry page from `GET /api/v2/monitors/deployed`. `total`
1806
+ * is the TRUE registry count for the status filter, not this page's size; page
1807
+ * past a truncated result with `next_cursor`.
1808
+ */
1809
+ type MonitorsListResult = {
1810
+ monitors?: MonitorListEntry[];
1811
+ total?: number;
1812
+ returned?: number;
1813
+ is_truncated?: boolean;
1814
+ next_cursor?: string | null;
1815
+ status_filter_applied?: string;
1816
+ [key: string]: unknown;
1817
+ };
1818
+ /** Options for `client.monitors.list(...)`. */
1819
+ type MonitorsListOptions = {
1820
+ /** active (default), disabled, or all. */
1821
+ status?: string;
1822
+ limit?: number | string;
1823
+ /** Page past a truncated result using a prior response's `next_cursor`. */
1824
+ cursor?: string;
1825
+ compact?: boolean;
1826
+ };
1827
+ /**
1828
+ * Server-owned monitor payload shapes returned by the deploy/check/get/mutation
1829
+ * endpoints. Kept as open records because the render layer and the endpoints
1830
+ * own the exact field set (output contracts, pricing, reuse candidates, delete
1831
+ * plans, dependents) and it must not require an SDK bump to evolve.
1832
+ */
1833
+ type MonitorCheckResult = Record<string, unknown>;
1834
+ type MonitorDeployResult = Record<string, unknown>;
1835
+ type MonitorDetail = Record<string, unknown>;
1836
+ type MonitorDependents = Record<string, unknown>;
1837
+ type MonitorUpdateResult = Record<string, unknown>;
1838
+ type MonitorDeleteResult = Record<string, unknown>;
1839
+ type MonitorReactivateResult = Record<string, unknown>;
1840
+ /**
1841
+ * Public monitors namespace exposed as `client.monitors`.
1842
+ *
1843
+ * Mirrors the /api/v2/monitors resource family so the monitors CLI and
1844
+ * programmatic callers share one product surface — every `deepline monitors`
1845
+ * verb maps to a method here. Monitors are fully expressible as SDK code: author
1846
+ * a definition with {@link defineMonitor}, then check/deploy/list/get/update/
1847
+ * delete/reactivate through this namespace.
1848
+ *
1849
+ * @sdkReference client 040 client.monitors
1850
+ */
1851
+ type MonitorsNamespace = {
1852
+ /** Whether the current workspace can use monitors (`{ has_access, reason }`). */
1853
+ status: () => Promise<MonitorsAccessStatus>;
1854
+ /**
1855
+ * The deployable monitor tools catalog. Call with no tool id for the list, or
1856
+ * with a tool id (positional or `{ tool }`) to describe one tool's full
1857
+ * payload/stream contract.
1858
+ */
1859
+ available: (toolIdOrOptions?: string | (MonitorsAvailableOptions & {
1860
+ tool?: string;
1861
+ }), options?: MonitorsAvailableOptions) => Promise<MonitorsAvailableResult>;
1862
+ /** Validate a monitor definition without deploying it (no spend). */
1863
+ check: (definition: MonitorDefinition) => Promise<MonitorCheckResult>;
1864
+ /** Deploy a monitor from a definition. May spend Deepline credits. */
1865
+ deploy: (definition: MonitorDefinition, options?: {
1866
+ dryRun?: boolean;
1867
+ }) => Promise<MonitorDeployResult>;
1868
+ /** List deployed monitors (active by default). */
1869
+ list: (options?: MonitorsListOptions) => Promise<MonitorsListResult>;
1870
+ /** Fetch one deployed monitor by public key (without dependents). */
1871
+ get: (key: string) => Promise<MonitorDetail>;
1872
+ /** List the published plays depending on one monitor's output streams. */
1873
+ dependents: (key: string) => Promise<MonitorDependents>;
1874
+ /** Update a deployed monitor by public key. */
1875
+ update: (key: string, patch: Record<string, unknown>) => Promise<MonitorUpdateResult>;
1876
+ /**
1877
+ * Delete a deployed monitor by public key. Deprovisions the upstream provider
1878
+ * resource unless `localOnly` is set. `dryRun` returns the delete plan.
1879
+ */
1880
+ delete: (key: string, options?: {
1881
+ localOnly?: boolean;
1882
+ dryRun?: boolean;
1883
+ }) => Promise<MonitorDeleteResult>;
1884
+ /** Reactivate a disabled monitor. `dryRun` returns the reactivation cost. */
1885
+ reactivate: (key: string, options?: {
1886
+ dryRun?: boolean;
1887
+ }) => Promise<MonitorReactivateResult>;
1888
+ };
1672
1889
  /** One credit grant pool reported by the billing subscription status endpoint. */
1673
1890
  type BillingCreditPool = {
1674
1891
  pool: string;
@@ -1887,6 +2104,8 @@ declare class DeeplineClient {
1887
2104
  readonly db: DbNamespace;
1888
2105
  /** Billing namespace: subscription status/cancel and invoice history. */
1889
2106
  readonly billing: BillingNamespace;
2107
+ /** Monitors namespace: access, catalog, deploy/check, and lifecycle. */
2108
+ readonly monitors: MonitorsNamespace;
1890
2109
  /**
1891
2110
  * Create a low-level SDK client.
1892
2111
  *
@@ -2747,6 +2966,54 @@ declare class DeeplineClient {
2747
2966
  listBillingInvoices(options?: {
2748
2967
  limit?: number;
2749
2968
  }): Promise<BillingInvoicesResult>;
2969
+ /**
2970
+ * Whether the current workspace can use Deepline Monitors. Reachable without
2971
+ * monitor access; a denial is a normal 200 body, not a 403. Prefer
2972
+ * `client.monitors.status()`.
2973
+ */
2974
+ getMonitorsAccess(): Promise<MonitorsAccessStatus>;
2975
+ /**
2976
+ * The deployable monitor tools catalog. Pass a tool id (positional or
2977
+ * `{ tool }`) to describe one tool's full payload/stream contract, or no tool
2978
+ * id for the compact inventory. Prefer `client.monitors.available(...)`.
2979
+ */
2980
+ getMonitorsAvailable(toolIdOrOptions?: string | (MonitorsAvailableOptions & {
2981
+ tool?: string;
2982
+ }), maybeOptions?: MonitorsAvailableOptions): Promise<MonitorsAvailableResult>;
2983
+ /** Validate a monitor definition without deploying it. Prefer `client.monitors.check(...)`. */
2984
+ checkMonitor(definition: MonitorDefinition): Promise<MonitorCheckResult>;
2985
+ /**
2986
+ * Deploy a monitor from a definition. `dryRun` validates via the check
2987
+ * endpoint and returns the plan without deploying. Prefer
2988
+ * `client.monitors.deploy(...)`.
2989
+ */
2990
+ deployMonitor(definition: MonitorDefinition, options?: {
2991
+ dryRun?: boolean;
2992
+ }): Promise<MonitorDeployResult>;
2993
+ /** List deployed monitors. Prefer `client.monitors.list(...)`. */
2994
+ listMonitors(options?: MonitorsListOptions): Promise<MonitorsListResult>;
2995
+ /** Fetch one deployed monitor by public key. Prefer `client.monitors.get(...)`. */
2996
+ getMonitor(key: string): Promise<MonitorDetail>;
2997
+ /** Published plays depending on one monitor. Prefer `client.monitors.dependents(...)`. */
2998
+ getMonitorDependents(key: string): Promise<MonitorDependents>;
2999
+ /** Update a deployed monitor by public key. Prefer `client.monitors.update(...)`. */
3000
+ updateMonitor(key: string, patch: Record<string, unknown>): Promise<MonitorUpdateResult>;
3001
+ /**
3002
+ * Delete a deployed monitor by public key. Deprovisions the upstream provider
3003
+ * resource unless `localOnly`; `dryRun` returns the delete plan. Prefer
3004
+ * `client.monitors.delete(...)`.
3005
+ */
3006
+ deleteMonitor(key: string, options?: {
3007
+ localOnly?: boolean;
3008
+ dryRun?: boolean;
3009
+ }): Promise<MonitorDeleteResult>;
3010
+ /**
3011
+ * Reactivate a disabled monitor. `dryRun` returns the reactivation cost.
3012
+ * Prefer `client.monitors.reactivate(...)`.
3013
+ */
3014
+ reactivateMonitor(key: string, options?: {
3015
+ dryRun?: boolean;
3016
+ }): Promise<MonitorReactivateResult>;
2750
3017
  /**
2751
3018
  * Check API connectivity and server health.
2752
3019
  *
@@ -3328,7 +3595,7 @@ type PreviousCell<Value = unknown> = {
3328
3595
 
3329
3596
  type PlayCallExecution = 'inline' | 'child-workflow';
3330
3597
  interface PlayCallOptions {
3331
- description?: string;
3598
+ description: string;
3332
3599
  execution?: PlayCallExecution;
3333
3600
  }
3334
3601
  /**
@@ -3964,7 +4231,7 @@ interface DeeplinePlayRuntimeContext {
3964
4231
  *
3965
4232
  * @sdkReference runtime 140 ctx.runPlay(key, playRef, input, options)
3966
4233
  */
3967
- runPlay<TOutput = unknown>(key: string, playRef: string | PlayReferenceLike, input: Record<string, unknown>, options?: PlayCallOptions): Promise<TOutput>;
4234
+ runPlay<TOutput = unknown>(key: string, playRef: string | PlayReferenceLike, input: Record<string, unknown>, options: PlayCallOptions): Promise<TOutput>;
3968
4235
  /**
3969
4236
  * Emit a log line visible in `play tail` and the play's progress logs.
3970
4237
  *
@@ -4655,4 +4922,4 @@ declare function writeCsvOutputFile(rows: Array<Record<string, unknown>>, stem:
4655
4922
  */
4656
4923
  declare function extractSummaryFields(payload: unknown): Record<string, Scalar>;
4657
4924
 
4658
- export { AuthError, type BillingCreditPool, type BillingInvoiceEntry, type BillingInvoicesResult, type BillingNamespace, type BillingPaymentMethodSummary, type BillingSubscriptionCancelResult, type BillingSubscriptionStatus, type BillingTopUpResult, type ClearPlayHistoryRequest, type ClearPlayHistoryResult, type ColumnMap, type ColumnResolver, type ConditionalStepResolver, ConfigError, type CsvInput, type CsvOptions, type CustomerDbQueryResult, DEEPLINE_EXTRACTOR_TARGETS, DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, DEEPLINE_TOOL_CATEGORIES, type DatasetBuilder, type DatasetColumnDefinition, type DatasetColumnRunInput, type DbNamespace, Deepline, DeeplineClient, type DeeplineClientOptions, DeeplineContext, type DeeplineEmailStatusGetterValue, DeeplineError, type DeeplineExtractorTarget, type DeeplineGetterValue, type DeeplineGetterValueMap, type DeeplineNamedPlay, type DeeplinePlayRuntimeContext, type DeeplinePlaysNamespace, type DeeplineToolCategory, type DeeplineToolsNamespace, type DefinePlayConfig, type DefinedPlay, type FileInput, type IngestionStorageRepairResult, JOB_CHANGE_STATUS_VALUES, type JobChangeStatus, type LiveEventEnvelope, PHONE_STATUS_VALUES, 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_SOURCE_KINDS, PLAY_BOOTSTRAP_STAGE_KINDS, PLAY_BOOTSTRAP_TEMPLATES, PROD_URL, type PhoneStatus, type PlayBindings, type PlayBootstrapEntityKind, type PlayBootstrapFinderKind, type PlayCallExecution, type PlayCallOptions, type PlayDataset, type PlayDatasetInput, type PlayInputContract, type PlayJob, type PlayListItem, type PlayLiveEvent, type PlayRevisionSummary, type PlayRunActionPackage, type PlayRunDatasetActions, type PlayRunPackage, type PlayRunResult, type PlayRunStart, type PlaySheetRow, type PlaySheetRowsResult, type PlayStatus, type PlayStepProgramStep, type PrebuiltPlayRef, type PreviousCell, type PublishPlayVersionRequest, type PublishPlayVersionResult, RateLimitError, type ResolvedConfig, RunObserveTransportUnavailableError, type RunsListOptions, type RunsLogsOptions, type RunsLogsResult, type RunsNamespace, type RunsTailOptions, SDK_API_CONTRACT, SDK_VERSION, type SqlListenerDeclaration, type SqlListenerEvent, type SqlListenerOperation, type SqlQuery, type StartPlayRunRequest, type StepOptions, type StepProgram, type StepProgramResolver, type StepResolver, type StopPlayRunResult, type ToolDefinition, type ToolExecuteResult, type ToolExecution, type ToolExecutionRequest, type ToolMetadata, type ToolSearchOptions, type ToolSearchResult, defineInput, definePlay, defineWorkflow, extractSummaryFields, formatPlayBootstrapFinderKinds, formatPlayBootstrapFinderKindsForSentence, formatPlayBootstrapTemplates, getDefinedPlayMetadata, isDeeplineExtractorTarget, isPlayBootstrapFinderKind, isPlayBootstrapTemplate, resolveConfig, runIf, steps, tryConvertToList, writeCsvOutputFile, writeJsonOutputFile };
4925
+ export { AuthError, type BillingCreditPool, type BillingInvoiceEntry, type BillingInvoicesResult, type BillingNamespace, type BillingPaymentMethodSummary, type BillingSubscriptionCancelResult, type BillingSubscriptionStatus, type BillingTopUpResult, type ClearPlayHistoryRequest, type ClearPlayHistoryResult, type ColumnMap, type ColumnResolver, type ConditionalStepResolver, ConfigError, type CsvInput, type CsvOptions, type CustomerDbQueryResult, DEEPLINE_EXTRACTOR_TARGETS, DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, DEEPLINE_TOOL_CATEGORIES, type DatasetBuilder, type DatasetColumnDefinition, type DatasetColumnRunInput, type DbNamespace, Deepline, DeeplineClient, type DeeplineClientOptions, DeeplineContext, type DeeplineEmailStatusGetterValue, DeeplineError, type DeeplineExtractorTarget, type DeeplineGetterValue, type DeeplineGetterValueMap, type DeeplineNamedPlay, type DeeplinePlayRuntimeContext, type DeeplinePlaysNamespace, type DeeplineToolCategory, type DeeplineToolsNamespace, type DefinePlayConfig, type DefinedPlay, type FileInput, type IngestionStorageRepairResult, JOB_CHANGE_STATUS_VALUES, type JobChangeStatus, type LiveEventEnvelope, type MonitorCheckResult, type MonitorControls, type MonitorDefinition, type MonitorDeleteResult, type MonitorDependents, type MonitorDeployResult, type MonitorDetail, type MonitorListEntry, type MonitorPayload, type MonitorReactivateResult, type MonitorUpdateResult, type MonitorsAccessStatus, type MonitorsAvailableOptions, type MonitorsAvailableResult, type MonitorsListOptions, type MonitorsListResult, type MonitorsNamespace, PHONE_STATUS_VALUES, 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_SOURCE_KINDS, PLAY_BOOTSTRAP_STAGE_KINDS, PLAY_BOOTSTRAP_TEMPLATES, PROD_URL, type PhoneStatus, type PlayBindings, type PlayBootstrapEntityKind, type PlayBootstrapFinderKind, type PlayCallExecution, type PlayCallOptions, type PlayDataset, type PlayDatasetInput, type PlayInputContract, type PlayJob, type PlayListItem, type PlayLiveEvent, type PlayRevisionSummary, type PlayRunActionPackage, type PlayRunDatasetActions, type PlayRunPackage, type PlayRunResult, type PlayRunStart, type PlaySheetRow, type PlaySheetRowsResult, type PlayStatus, type PlayStepProgramStep, type PrebuiltPlayRef, type PreviousCell, type PublishPlayVersionRequest, type PublishPlayVersionResult, RateLimitError, type ResolvedConfig, RunObserveTransportUnavailableError, type RunsListOptions, type RunsLogsOptions, type RunsLogsResult, type RunsNamespace, type RunsTailOptions, SDK_API_CONTRACT, SDK_VERSION, type SqlListenerDeclaration, type SqlListenerEvent, type SqlListenerOperation, type SqlQuery, type StartPlayRunRequest, type StepOptions, type StepProgram, type StepProgramResolver, type StepResolver, type StopPlayRunResult, type ToolDefinition, type ToolExecuteResult, type ToolExecution, type ToolExecutionRequest, type ToolMetadata, type ToolSearchOptions, type ToolSearchResult, defineInput, defineMonitor, definePlay, defineWorkflow, extractSummaryFields, formatPlayBootstrapFinderKinds, formatPlayBootstrapFinderKindsForSentence, formatPlayBootstrapTemplates, getDefinedPlayMetadata, isDeeplineExtractorTarget, isPlayBootstrapFinderKind, isPlayBootstrapTemplate, resolveConfig, runIf, steps, tryConvertToList, writeCsvOutputFile, writeJsonOutputFile };
package/dist/index.d.ts CHANGED
@@ -1363,6 +1363,92 @@ interface UpdateSharePageRequest {
1363
1363
  seoIndexing?: 'index' | 'noindex';
1364
1364
  }
1365
1365
 
1366
+ /**
1367
+ * Monitor authoring and typing for the Deepline SDK.
1368
+ *
1369
+ * A **monitor** is a Deepline-native signal feed. A deployed monitor writes
1370
+ * events into a Customer DB table (one row per finding). Plays react to those
1371
+ * rows through `sqlListeners` bindings (see {@link definePlay}). This module is
1372
+ * the code-first authoring surface for monitors — the same product model the
1373
+ * `deepline monitors` CLI drives, expressed as typed SDK code.
1374
+ *
1375
+ * Use {@link defineMonitor} to author a typed monitor definition, then deploy or
1376
+ * validate it with the monitors namespace:
1377
+ *
1378
+ * ```typescript
1379
+ * import { DeeplineClient, defineMonitor } from 'deepline';
1380
+ *
1381
+ * const monitor = defineMonitor({
1382
+ * key: 'stripe-job-openings',
1383
+ * tool: 'deepline_native.company_radar',
1384
+ * name: 'Stripe job openings',
1385
+ * payload: { domain: 'stripe.com', radar_type: 'company_job_openings' },
1386
+ * });
1387
+ *
1388
+ * const client = new DeeplineClient();
1389
+ * const plan = await client.monitors.check(monitor); // validate, no spend
1390
+ * await client.monitors.deploy(monitor); // deploy for real
1391
+ * ```
1392
+ *
1393
+ * @module
1394
+ */
1395
+ /**
1396
+ * A monitor definition: the exact object accepted by
1397
+ * `client.monitors.check(...)` and `client.monitors.deploy(...)` and by the
1398
+ * `/api/v2/monitors/{check,deploy}` endpoints the CLI uses.
1399
+ *
1400
+ * @typeParam TPayload - Provider-specific monitor payload shape (defaults to a
1401
+ * loose record). Pass a concrete shape to `defineMonitor<TPayload>(...)` for
1402
+ * compile-time checking of the payload fields.
1403
+ */
1404
+ type MonitorDefinition<TPayload extends MonitorPayload = MonitorPayload> = {
1405
+ /** Stable public key for this monitor, unique within the workspace. */
1406
+ key: string;
1407
+ /** Monitor tool id, e.g. `"deepline_native.company_radar"`. */
1408
+ tool: string;
1409
+ /** Optional human-readable name shown in listings and detail views. */
1410
+ name?: string;
1411
+ /** Provider-specific monitor payload (e.g. domain + radar_type). */
1412
+ payload: TPayload;
1413
+ /** Optional Deepline lifecycle metadata (deploy/reuse controls). */
1414
+ controls?: MonitorControls;
1415
+ };
1416
+ /** Provider-specific monitor payload. Keys and value types depend on the tool. */
1417
+ type MonitorPayload = Record<string, unknown>;
1418
+ /**
1419
+ * Deepline lifecycle metadata attached to a monitor definition. These are
1420
+ * Deepline-side deploy/reuse controls, not provider payload fields. The set is
1421
+ * intentionally open (server-owned) so newer controls do not require an SDK
1422
+ * bump; known controls are typed for discoverability.
1423
+ */
1424
+ type MonitorControls = {
1425
+ [key: string]: unknown;
1426
+ };
1427
+ /**
1428
+ * Define a typed monitor definition.
1429
+ *
1430
+ * Mirrors {@link definePlay} as the code-first authoring entrypoint: it gives
1431
+ * compile-time type safety on the definition object and returns it verbatim for
1432
+ * passing to `client.monitors.check(...)` / `client.monitors.deploy(...)`. It
1433
+ * performs the same lightweight local invariants the server enforces (non-empty
1434
+ * `key` and `tool`, object `payload`) so authoring mistakes fail before a
1435
+ * network round-trip.
1436
+ *
1437
+ * @typeParam TPayload - Provider payload shape.
1438
+ * @param definition - The monitor definition.
1439
+ * @returns The validated definition object.
1440
+ *
1441
+ * @example
1442
+ * ```typescript
1443
+ * const monitor = defineMonitor({
1444
+ * key: 'job-openings',
1445
+ * tool: 'deepline_native.company_radar',
1446
+ * payload: { domain: 'stripe.com', radar_type: 'company_job_openings' },
1447
+ * });
1448
+ * ```
1449
+ */
1450
+ declare function defineMonitor<TPayload extends MonitorPayload = MonitorPayload>(definition: MonitorDefinition<TPayload>): MonitorDefinition<TPayload>;
1451
+
1366
1452
  interface PlayStagedFileRef {
1367
1453
  storageKind: 'r2';
1368
1454
  storageKey: string;
@@ -1669,6 +1755,137 @@ type DbNamespace = {
1669
1755
  maxRows?: number;
1670
1756
  }) => Promise<CustomerDbQueryResult>;
1671
1757
  };
1758
+ /**
1759
+ * Whether the current workspace can use Deepline Monitors, from
1760
+ * `GET /api/v2/monitors/access`. Reachable without monitor access (requires
1761
+ * only an authenticated session/API key); a denial is a normal 200 body, not a
1762
+ * 403.
1763
+ */
1764
+ type MonitorsAccessStatus = {
1765
+ has_access: boolean;
1766
+ reason?: string;
1767
+ };
1768
+ /**
1769
+ * The monitor tools catalog (deployable monitor TYPES), from
1770
+ * `GET /api/v2/monitors/tools`. Server-owned shape: describing one tool returns
1771
+ * the full payload/stream contract, while list mode returns the compact
1772
+ * inventory. Kept as an open record so the SDK does not have to bump when the
1773
+ * server enriches the catalog.
1774
+ */
1775
+ type MonitorsAvailableResult = {
1776
+ tools?: Array<Record<string, unknown>>;
1777
+ total?: number;
1778
+ returned?: number;
1779
+ is_truncated?: boolean;
1780
+ [key: string]: unknown;
1781
+ };
1782
+ /** Options for `client.monitors.available(...)` (list or describe mode). */
1783
+ type MonitorsAvailableOptions = {
1784
+ provider?: string;
1785
+ search?: string;
1786
+ limit?: number | string;
1787
+ /**
1788
+ * Request the full catalog contract in LIST mode (payload schemas + streams).
1789
+ * List mode is compact by default; ignored when describing a single tool.
1790
+ */
1791
+ full?: boolean;
1792
+ /** Ask the server for high-signal fields only. */
1793
+ compact?: boolean;
1794
+ };
1795
+ /** One deployed monitor row returned by `client.monitors.list(...)`. */
1796
+ type MonitorListEntry = {
1797
+ key?: string;
1798
+ monitor_key?: string;
1799
+ status?: string;
1800
+ tool?: string;
1801
+ name?: string;
1802
+ [key: string]: unknown;
1803
+ };
1804
+ /**
1805
+ * Deployed-monitor registry page from `GET /api/v2/monitors/deployed`. `total`
1806
+ * is the TRUE registry count for the status filter, not this page's size; page
1807
+ * past a truncated result with `next_cursor`.
1808
+ */
1809
+ type MonitorsListResult = {
1810
+ monitors?: MonitorListEntry[];
1811
+ total?: number;
1812
+ returned?: number;
1813
+ is_truncated?: boolean;
1814
+ next_cursor?: string | null;
1815
+ status_filter_applied?: string;
1816
+ [key: string]: unknown;
1817
+ };
1818
+ /** Options for `client.monitors.list(...)`. */
1819
+ type MonitorsListOptions = {
1820
+ /** active (default), disabled, or all. */
1821
+ status?: string;
1822
+ limit?: number | string;
1823
+ /** Page past a truncated result using a prior response's `next_cursor`. */
1824
+ cursor?: string;
1825
+ compact?: boolean;
1826
+ };
1827
+ /**
1828
+ * Server-owned monitor payload shapes returned by the deploy/check/get/mutation
1829
+ * endpoints. Kept as open records because the render layer and the endpoints
1830
+ * own the exact field set (output contracts, pricing, reuse candidates, delete
1831
+ * plans, dependents) and it must not require an SDK bump to evolve.
1832
+ */
1833
+ type MonitorCheckResult = Record<string, unknown>;
1834
+ type MonitorDeployResult = Record<string, unknown>;
1835
+ type MonitorDetail = Record<string, unknown>;
1836
+ type MonitorDependents = Record<string, unknown>;
1837
+ type MonitorUpdateResult = Record<string, unknown>;
1838
+ type MonitorDeleteResult = Record<string, unknown>;
1839
+ type MonitorReactivateResult = Record<string, unknown>;
1840
+ /**
1841
+ * Public monitors namespace exposed as `client.monitors`.
1842
+ *
1843
+ * Mirrors the /api/v2/monitors resource family so the monitors CLI and
1844
+ * programmatic callers share one product surface — every `deepline monitors`
1845
+ * verb maps to a method here. Monitors are fully expressible as SDK code: author
1846
+ * a definition with {@link defineMonitor}, then check/deploy/list/get/update/
1847
+ * delete/reactivate through this namespace.
1848
+ *
1849
+ * @sdkReference client 040 client.monitors
1850
+ */
1851
+ type MonitorsNamespace = {
1852
+ /** Whether the current workspace can use monitors (`{ has_access, reason }`). */
1853
+ status: () => Promise<MonitorsAccessStatus>;
1854
+ /**
1855
+ * The deployable monitor tools catalog. Call with no tool id for the list, or
1856
+ * with a tool id (positional or `{ tool }`) to describe one tool's full
1857
+ * payload/stream contract.
1858
+ */
1859
+ available: (toolIdOrOptions?: string | (MonitorsAvailableOptions & {
1860
+ tool?: string;
1861
+ }), options?: MonitorsAvailableOptions) => Promise<MonitorsAvailableResult>;
1862
+ /** Validate a monitor definition without deploying it (no spend). */
1863
+ check: (definition: MonitorDefinition) => Promise<MonitorCheckResult>;
1864
+ /** Deploy a monitor from a definition. May spend Deepline credits. */
1865
+ deploy: (definition: MonitorDefinition, options?: {
1866
+ dryRun?: boolean;
1867
+ }) => Promise<MonitorDeployResult>;
1868
+ /** List deployed monitors (active by default). */
1869
+ list: (options?: MonitorsListOptions) => Promise<MonitorsListResult>;
1870
+ /** Fetch one deployed monitor by public key (without dependents). */
1871
+ get: (key: string) => Promise<MonitorDetail>;
1872
+ /** List the published plays depending on one monitor's output streams. */
1873
+ dependents: (key: string) => Promise<MonitorDependents>;
1874
+ /** Update a deployed monitor by public key. */
1875
+ update: (key: string, patch: Record<string, unknown>) => Promise<MonitorUpdateResult>;
1876
+ /**
1877
+ * Delete a deployed monitor by public key. Deprovisions the upstream provider
1878
+ * resource unless `localOnly` is set. `dryRun` returns the delete plan.
1879
+ */
1880
+ delete: (key: string, options?: {
1881
+ localOnly?: boolean;
1882
+ dryRun?: boolean;
1883
+ }) => Promise<MonitorDeleteResult>;
1884
+ /** Reactivate a disabled monitor. `dryRun` returns the reactivation cost. */
1885
+ reactivate: (key: string, options?: {
1886
+ dryRun?: boolean;
1887
+ }) => Promise<MonitorReactivateResult>;
1888
+ };
1672
1889
  /** One credit grant pool reported by the billing subscription status endpoint. */
1673
1890
  type BillingCreditPool = {
1674
1891
  pool: string;
@@ -1887,6 +2104,8 @@ declare class DeeplineClient {
1887
2104
  readonly db: DbNamespace;
1888
2105
  /** Billing namespace: subscription status/cancel and invoice history. */
1889
2106
  readonly billing: BillingNamespace;
2107
+ /** Monitors namespace: access, catalog, deploy/check, and lifecycle. */
2108
+ readonly monitors: MonitorsNamespace;
1890
2109
  /**
1891
2110
  * Create a low-level SDK client.
1892
2111
  *
@@ -2747,6 +2966,54 @@ declare class DeeplineClient {
2747
2966
  listBillingInvoices(options?: {
2748
2967
  limit?: number;
2749
2968
  }): Promise<BillingInvoicesResult>;
2969
+ /**
2970
+ * Whether the current workspace can use Deepline Monitors. Reachable without
2971
+ * monitor access; a denial is a normal 200 body, not a 403. Prefer
2972
+ * `client.monitors.status()`.
2973
+ */
2974
+ getMonitorsAccess(): Promise<MonitorsAccessStatus>;
2975
+ /**
2976
+ * The deployable monitor tools catalog. Pass a tool id (positional or
2977
+ * `{ tool }`) to describe one tool's full payload/stream contract, or no tool
2978
+ * id for the compact inventory. Prefer `client.monitors.available(...)`.
2979
+ */
2980
+ getMonitorsAvailable(toolIdOrOptions?: string | (MonitorsAvailableOptions & {
2981
+ tool?: string;
2982
+ }), maybeOptions?: MonitorsAvailableOptions): Promise<MonitorsAvailableResult>;
2983
+ /** Validate a monitor definition without deploying it. Prefer `client.monitors.check(...)`. */
2984
+ checkMonitor(definition: MonitorDefinition): Promise<MonitorCheckResult>;
2985
+ /**
2986
+ * Deploy a monitor from a definition. `dryRun` validates via the check
2987
+ * endpoint and returns the plan without deploying. Prefer
2988
+ * `client.monitors.deploy(...)`.
2989
+ */
2990
+ deployMonitor(definition: MonitorDefinition, options?: {
2991
+ dryRun?: boolean;
2992
+ }): Promise<MonitorDeployResult>;
2993
+ /** List deployed monitors. Prefer `client.monitors.list(...)`. */
2994
+ listMonitors(options?: MonitorsListOptions): Promise<MonitorsListResult>;
2995
+ /** Fetch one deployed monitor by public key. Prefer `client.monitors.get(...)`. */
2996
+ getMonitor(key: string): Promise<MonitorDetail>;
2997
+ /** Published plays depending on one monitor. Prefer `client.monitors.dependents(...)`. */
2998
+ getMonitorDependents(key: string): Promise<MonitorDependents>;
2999
+ /** Update a deployed monitor by public key. Prefer `client.monitors.update(...)`. */
3000
+ updateMonitor(key: string, patch: Record<string, unknown>): Promise<MonitorUpdateResult>;
3001
+ /**
3002
+ * Delete a deployed monitor by public key. Deprovisions the upstream provider
3003
+ * resource unless `localOnly`; `dryRun` returns the delete plan. Prefer
3004
+ * `client.monitors.delete(...)`.
3005
+ */
3006
+ deleteMonitor(key: string, options?: {
3007
+ localOnly?: boolean;
3008
+ dryRun?: boolean;
3009
+ }): Promise<MonitorDeleteResult>;
3010
+ /**
3011
+ * Reactivate a disabled monitor. `dryRun` returns the reactivation cost.
3012
+ * Prefer `client.monitors.reactivate(...)`.
3013
+ */
3014
+ reactivateMonitor(key: string, options?: {
3015
+ dryRun?: boolean;
3016
+ }): Promise<MonitorReactivateResult>;
2750
3017
  /**
2751
3018
  * Check API connectivity and server health.
2752
3019
  *
@@ -3328,7 +3595,7 @@ type PreviousCell<Value = unknown> = {
3328
3595
 
3329
3596
  type PlayCallExecution = 'inline' | 'child-workflow';
3330
3597
  interface PlayCallOptions {
3331
- description?: string;
3598
+ description: string;
3332
3599
  execution?: PlayCallExecution;
3333
3600
  }
3334
3601
  /**
@@ -3964,7 +4231,7 @@ interface DeeplinePlayRuntimeContext {
3964
4231
  *
3965
4232
  * @sdkReference runtime 140 ctx.runPlay(key, playRef, input, options)
3966
4233
  */
3967
- runPlay<TOutput = unknown>(key: string, playRef: string | PlayReferenceLike, input: Record<string, unknown>, options?: PlayCallOptions): Promise<TOutput>;
4234
+ runPlay<TOutput = unknown>(key: string, playRef: string | PlayReferenceLike, input: Record<string, unknown>, options: PlayCallOptions): Promise<TOutput>;
3968
4235
  /**
3969
4236
  * Emit a log line visible in `play tail` and the play's progress logs.
3970
4237
  *
@@ -4655,4 +4922,4 @@ declare function writeCsvOutputFile(rows: Array<Record<string, unknown>>, stem:
4655
4922
  */
4656
4923
  declare function extractSummaryFields(payload: unknown): Record<string, Scalar>;
4657
4924
 
4658
- export { AuthError, type BillingCreditPool, type BillingInvoiceEntry, type BillingInvoicesResult, type BillingNamespace, type BillingPaymentMethodSummary, type BillingSubscriptionCancelResult, type BillingSubscriptionStatus, type BillingTopUpResult, type ClearPlayHistoryRequest, type ClearPlayHistoryResult, type ColumnMap, type ColumnResolver, type ConditionalStepResolver, ConfigError, type CsvInput, type CsvOptions, type CustomerDbQueryResult, DEEPLINE_EXTRACTOR_TARGETS, DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, DEEPLINE_TOOL_CATEGORIES, type DatasetBuilder, type DatasetColumnDefinition, type DatasetColumnRunInput, type DbNamespace, Deepline, DeeplineClient, type DeeplineClientOptions, DeeplineContext, type DeeplineEmailStatusGetterValue, DeeplineError, type DeeplineExtractorTarget, type DeeplineGetterValue, type DeeplineGetterValueMap, type DeeplineNamedPlay, type DeeplinePlayRuntimeContext, type DeeplinePlaysNamespace, type DeeplineToolCategory, type DeeplineToolsNamespace, type DefinePlayConfig, type DefinedPlay, type FileInput, type IngestionStorageRepairResult, JOB_CHANGE_STATUS_VALUES, type JobChangeStatus, type LiveEventEnvelope, PHONE_STATUS_VALUES, 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_SOURCE_KINDS, PLAY_BOOTSTRAP_STAGE_KINDS, PLAY_BOOTSTRAP_TEMPLATES, PROD_URL, type PhoneStatus, type PlayBindings, type PlayBootstrapEntityKind, type PlayBootstrapFinderKind, type PlayCallExecution, type PlayCallOptions, type PlayDataset, type PlayDatasetInput, type PlayInputContract, type PlayJob, type PlayListItem, type PlayLiveEvent, type PlayRevisionSummary, type PlayRunActionPackage, type PlayRunDatasetActions, type PlayRunPackage, type PlayRunResult, type PlayRunStart, type PlaySheetRow, type PlaySheetRowsResult, type PlayStatus, type PlayStepProgramStep, type PrebuiltPlayRef, type PreviousCell, type PublishPlayVersionRequest, type PublishPlayVersionResult, RateLimitError, type ResolvedConfig, RunObserveTransportUnavailableError, type RunsListOptions, type RunsLogsOptions, type RunsLogsResult, type RunsNamespace, type RunsTailOptions, SDK_API_CONTRACT, SDK_VERSION, type SqlListenerDeclaration, type SqlListenerEvent, type SqlListenerOperation, type SqlQuery, type StartPlayRunRequest, type StepOptions, type StepProgram, type StepProgramResolver, type StepResolver, type StopPlayRunResult, type ToolDefinition, type ToolExecuteResult, type ToolExecution, type ToolExecutionRequest, type ToolMetadata, type ToolSearchOptions, type ToolSearchResult, defineInput, definePlay, defineWorkflow, extractSummaryFields, formatPlayBootstrapFinderKinds, formatPlayBootstrapFinderKindsForSentence, formatPlayBootstrapTemplates, getDefinedPlayMetadata, isDeeplineExtractorTarget, isPlayBootstrapFinderKind, isPlayBootstrapTemplate, resolveConfig, runIf, steps, tryConvertToList, writeCsvOutputFile, writeJsonOutputFile };
4925
+ export { AuthError, type BillingCreditPool, type BillingInvoiceEntry, type BillingInvoicesResult, type BillingNamespace, type BillingPaymentMethodSummary, type BillingSubscriptionCancelResult, type BillingSubscriptionStatus, type BillingTopUpResult, type ClearPlayHistoryRequest, type ClearPlayHistoryResult, type ColumnMap, type ColumnResolver, type ConditionalStepResolver, ConfigError, type CsvInput, type CsvOptions, type CustomerDbQueryResult, DEEPLINE_EXTRACTOR_TARGETS, DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, DEEPLINE_TOOL_CATEGORIES, type DatasetBuilder, type DatasetColumnDefinition, type DatasetColumnRunInput, type DbNamespace, Deepline, DeeplineClient, type DeeplineClientOptions, DeeplineContext, type DeeplineEmailStatusGetterValue, DeeplineError, type DeeplineExtractorTarget, type DeeplineGetterValue, type DeeplineGetterValueMap, type DeeplineNamedPlay, type DeeplinePlayRuntimeContext, type DeeplinePlaysNamespace, type DeeplineToolCategory, type DeeplineToolsNamespace, type DefinePlayConfig, type DefinedPlay, type FileInput, type IngestionStorageRepairResult, JOB_CHANGE_STATUS_VALUES, type JobChangeStatus, type LiveEventEnvelope, type MonitorCheckResult, type MonitorControls, type MonitorDefinition, type MonitorDeleteResult, type MonitorDependents, type MonitorDeployResult, type MonitorDetail, type MonitorListEntry, type MonitorPayload, type MonitorReactivateResult, type MonitorUpdateResult, type MonitorsAccessStatus, type MonitorsAvailableOptions, type MonitorsAvailableResult, type MonitorsListOptions, type MonitorsListResult, type MonitorsNamespace, PHONE_STATUS_VALUES, 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_SOURCE_KINDS, PLAY_BOOTSTRAP_STAGE_KINDS, PLAY_BOOTSTRAP_TEMPLATES, PROD_URL, type PhoneStatus, type PlayBindings, type PlayBootstrapEntityKind, type PlayBootstrapFinderKind, type PlayCallExecution, type PlayCallOptions, type PlayDataset, type PlayDatasetInput, type PlayInputContract, type PlayJob, type PlayListItem, type PlayLiveEvent, type PlayRevisionSummary, type PlayRunActionPackage, type PlayRunDatasetActions, type PlayRunPackage, type PlayRunResult, type PlayRunStart, type PlaySheetRow, type PlaySheetRowsResult, type PlayStatus, type PlayStepProgramStep, type PrebuiltPlayRef, type PreviousCell, type PublishPlayVersionRequest, type PublishPlayVersionResult, RateLimitError, type ResolvedConfig, RunObserveTransportUnavailableError, type RunsListOptions, type RunsLogsOptions, type RunsLogsResult, type RunsNamespace, type RunsTailOptions, SDK_API_CONTRACT, SDK_VERSION, type SqlListenerDeclaration, type SqlListenerEvent, type SqlListenerOperation, type SqlQuery, type StartPlayRunRequest, type StepOptions, type StepProgram, type StepProgramResolver, type StepResolver, type StopPlayRunResult, type ToolDefinition, type ToolExecuteResult, type ToolExecution, type ToolExecutionRequest, type ToolMetadata, type ToolSearchOptions, type ToolSearchResult, defineInput, defineMonitor, definePlay, defineWorkflow, extractSummaryFields, formatPlayBootstrapFinderKinds, formatPlayBootstrapFinderKindsForSentence, formatPlayBootstrapTemplates, getDefinedPlayMetadata, isDeeplineExtractorTarget, isPlayBootstrapFinderKind, isPlayBootstrapTemplate, resolveConfig, runIf, steps, tryConvertToList, writeCsvOutputFile, writeJsonOutputFile };