deepline 0.2.48 → 0.2.50

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.
@@ -876,6 +876,16 @@ declare class ProviderTransientError extends ToolExecutionError {
876
876
  declare const SUPPORTED_PLAY_AUTHORING_CONTRACT_EDITIONS: readonly [1, 2, 3];
877
877
  type PlayAuthoringContractEdition = (typeof SUPPORTED_PLAY_AUTHORING_CONTRACT_EDITIONS)[number];
878
878
  type PlaySqlListenerOperation = 'INSERT' | 'UPDATE' | 'DELETE';
879
+ type PlayStandardWebhookHeaderFamily = 'standard' | 'svix';
880
+ type PlayStandardWebhookAuth = {
881
+ type: 'standard-webhooks';
882
+ /** `webhook-*` for Standard Webhooks, `svix-*` for Svix senders. */
883
+ headerFamily: PlayStandardWebhookHeaderFamily;
884
+ /** Deepline Secret names used for ordinary operation and rotation overlap. */
885
+ signingSecrets: string[];
886
+ /** Replay-protection window. Omitted means the Standard Webhooks 5-minute default. */
887
+ toleranceSeconds?: number;
888
+ };
879
889
  type PlaySqlListenerFilterScalar = string | number | boolean | null;
880
890
  type PlaySqlListenerFilterOperator = {
881
891
  eq?: PlaySqlListenerFilterScalar;
@@ -928,6 +938,7 @@ type PlayAuthoringAstBindings = {
928
938
  header?: string;
929
939
  secretEnv: string;
930
940
  };
941
+ auth?: PlayStandardWebhookAuth;
931
942
  };
932
943
  cron?: {
933
944
  schedule: string;
@@ -958,6 +969,7 @@ type PlayAuthoringBindings = {
958
969
  header?: string;
959
970
  secretEnv: string;
960
971
  };
972
+ auth?: PlayStandardWebhookAuth;
961
973
  };
962
974
  cron?: {
963
975
  schedule: string;
@@ -1362,6 +1374,78 @@ declare const PLAY_AUTHORING_FIELD_REGISTRY: {
1362
1374
  readonly description: "HTTP header containing the webhook signature.";
1363
1375
  readonly errorMessage: "bindings.webhook.hmac.header must be a non-empty static string.";
1364
1376
  };
1377
+ readonly 'bindings.webhook.auth.type': {
1378
+ readonly schema: _sinclair_typebox.TLiteral<"standard-webhooks">;
1379
+ readonly fixtures: {
1380
+ readonly valid: "standard-webhooks";
1381
+ readonly invalid: "svix";
1382
+ readonly absent: undefined;
1383
+ readonly unresolved: {
1384
+ readonly expression: "type";
1385
+ };
1386
+ readonly edition1: undefined;
1387
+ };
1388
+ readonly referenceType: "'standard-webhooks'";
1389
+ readonly required: false;
1390
+ readonly resolution: "static-required";
1391
+ readonly issueCode: "play_authoring_standard_webhooks_invalid";
1392
+ readonly description: "Uses the Standard Webhooks v1 symmetric signing scheme.";
1393
+ readonly errorMessage: "bindings.webhook.auth.type must be the static literal \"standard-webhooks\".";
1394
+ };
1395
+ readonly 'bindings.webhook.auth.headerFamily': {
1396
+ readonly schema: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"standard">, _sinclair_typebox.TLiteral<"svix">]>;
1397
+ readonly fixtures: {
1398
+ readonly valid: "svix";
1399
+ readonly invalid: "webhook";
1400
+ readonly absent: undefined;
1401
+ readonly unresolved: {
1402
+ readonly expression: "headerFamily";
1403
+ };
1404
+ readonly edition1: undefined;
1405
+ };
1406
+ readonly referenceType: "'standard' | 'svix'";
1407
+ readonly required: false;
1408
+ readonly resolution: "static-required";
1409
+ readonly issueCode: "play_authoring_standard_webhooks_invalid";
1410
+ readonly description: "Header namespace expected from the webhook provider.";
1411
+ readonly errorMessage: "bindings.webhook.auth.headerFamily must be the static literal \"standard\" or \"svix\".";
1412
+ };
1413
+ readonly 'bindings.webhook.auth.signingSecrets[]': {
1414
+ readonly schema: _sinclair_typebox.TString;
1415
+ readonly fixtures: {
1416
+ readonly valid: "VECTOR_WEBHOOK_SECRET";
1417
+ readonly invalid: "vector_webhook_secret";
1418
+ readonly absent: undefined;
1419
+ readonly unresolved: {
1420
+ readonly expression: "secret";
1421
+ };
1422
+ readonly edition1: undefined;
1423
+ };
1424
+ readonly referenceType: "string";
1425
+ readonly required: false;
1426
+ readonly resolution: "static-required";
1427
+ readonly issueCode: "play_authoring_standard_webhooks_invalid";
1428
+ readonly description: "Deepline Secret name used to verify Standard Webhooks.";
1429
+ readonly errorMessage: "bindings.webhook.auth.signingSecrets entries must be uppercase Deepline Secret names beginning with a letter.";
1430
+ };
1431
+ readonly 'bindings.webhook.auth.toleranceSeconds': {
1432
+ readonly schema: _sinclair_typebox.TInteger;
1433
+ readonly fixtures: {
1434
+ readonly valid: 300;
1435
+ readonly invalid: 0;
1436
+ readonly absent: undefined;
1437
+ readonly unresolved: {
1438
+ readonly expression: "toleranceSeconds";
1439
+ };
1440
+ readonly edition1: undefined;
1441
+ };
1442
+ readonly referenceType: "number";
1443
+ readonly required: false;
1444
+ readonly resolution: "static-required";
1445
+ readonly issueCode: "play_authoring_standard_webhooks_invalid";
1446
+ readonly description: "Accepted delivery timestamp skew in seconds, from 1 through 3600.";
1447
+ readonly errorMessage: "bindings.webhook.auth.toleranceSeconds must be a static whole number from 1 through 3600.";
1448
+ };
1365
1449
  readonly 'bindings.cron.schedule': {
1366
1450
  readonly schema: _sinclair_typebox.TString;
1367
1451
  readonly fixtures: {
@@ -876,6 +876,16 @@ declare class ProviderTransientError extends ToolExecutionError {
876
876
  declare const SUPPORTED_PLAY_AUTHORING_CONTRACT_EDITIONS: readonly [1, 2, 3];
877
877
  type PlayAuthoringContractEdition = (typeof SUPPORTED_PLAY_AUTHORING_CONTRACT_EDITIONS)[number];
878
878
  type PlaySqlListenerOperation = 'INSERT' | 'UPDATE' | 'DELETE';
879
+ type PlayStandardWebhookHeaderFamily = 'standard' | 'svix';
880
+ type PlayStandardWebhookAuth = {
881
+ type: 'standard-webhooks';
882
+ /** `webhook-*` for Standard Webhooks, `svix-*` for Svix senders. */
883
+ headerFamily: PlayStandardWebhookHeaderFamily;
884
+ /** Deepline Secret names used for ordinary operation and rotation overlap. */
885
+ signingSecrets: string[];
886
+ /** Replay-protection window. Omitted means the Standard Webhooks 5-minute default. */
887
+ toleranceSeconds?: number;
888
+ };
879
889
  type PlaySqlListenerFilterScalar = string | number | boolean | null;
880
890
  type PlaySqlListenerFilterOperator = {
881
891
  eq?: PlaySqlListenerFilterScalar;
@@ -928,6 +938,7 @@ type PlayAuthoringAstBindings = {
928
938
  header?: string;
929
939
  secretEnv: string;
930
940
  };
941
+ auth?: PlayStandardWebhookAuth;
931
942
  };
932
943
  cron?: {
933
944
  schedule: string;
@@ -958,6 +969,7 @@ type PlayAuthoringBindings = {
958
969
  header?: string;
959
970
  secretEnv: string;
960
971
  };
972
+ auth?: PlayStandardWebhookAuth;
961
973
  };
962
974
  cron?: {
963
975
  schedule: string;
@@ -1362,6 +1374,78 @@ declare const PLAY_AUTHORING_FIELD_REGISTRY: {
1362
1374
  readonly description: "HTTP header containing the webhook signature.";
1363
1375
  readonly errorMessage: "bindings.webhook.hmac.header must be a non-empty static string.";
1364
1376
  };
1377
+ readonly 'bindings.webhook.auth.type': {
1378
+ readonly schema: _sinclair_typebox.TLiteral<"standard-webhooks">;
1379
+ readonly fixtures: {
1380
+ readonly valid: "standard-webhooks";
1381
+ readonly invalid: "svix";
1382
+ readonly absent: undefined;
1383
+ readonly unresolved: {
1384
+ readonly expression: "type";
1385
+ };
1386
+ readonly edition1: undefined;
1387
+ };
1388
+ readonly referenceType: "'standard-webhooks'";
1389
+ readonly required: false;
1390
+ readonly resolution: "static-required";
1391
+ readonly issueCode: "play_authoring_standard_webhooks_invalid";
1392
+ readonly description: "Uses the Standard Webhooks v1 symmetric signing scheme.";
1393
+ readonly errorMessage: "bindings.webhook.auth.type must be the static literal \"standard-webhooks\".";
1394
+ };
1395
+ readonly 'bindings.webhook.auth.headerFamily': {
1396
+ readonly schema: _sinclair_typebox.TUnion<[_sinclair_typebox.TLiteral<"standard">, _sinclair_typebox.TLiteral<"svix">]>;
1397
+ readonly fixtures: {
1398
+ readonly valid: "svix";
1399
+ readonly invalid: "webhook";
1400
+ readonly absent: undefined;
1401
+ readonly unresolved: {
1402
+ readonly expression: "headerFamily";
1403
+ };
1404
+ readonly edition1: undefined;
1405
+ };
1406
+ readonly referenceType: "'standard' | 'svix'";
1407
+ readonly required: false;
1408
+ readonly resolution: "static-required";
1409
+ readonly issueCode: "play_authoring_standard_webhooks_invalid";
1410
+ readonly description: "Header namespace expected from the webhook provider.";
1411
+ readonly errorMessage: "bindings.webhook.auth.headerFamily must be the static literal \"standard\" or \"svix\".";
1412
+ };
1413
+ readonly 'bindings.webhook.auth.signingSecrets[]': {
1414
+ readonly schema: _sinclair_typebox.TString;
1415
+ readonly fixtures: {
1416
+ readonly valid: "VECTOR_WEBHOOK_SECRET";
1417
+ readonly invalid: "vector_webhook_secret";
1418
+ readonly absent: undefined;
1419
+ readonly unresolved: {
1420
+ readonly expression: "secret";
1421
+ };
1422
+ readonly edition1: undefined;
1423
+ };
1424
+ readonly referenceType: "string";
1425
+ readonly required: false;
1426
+ readonly resolution: "static-required";
1427
+ readonly issueCode: "play_authoring_standard_webhooks_invalid";
1428
+ readonly description: "Deepline Secret name used to verify Standard Webhooks.";
1429
+ readonly errorMessage: "bindings.webhook.auth.signingSecrets entries must be uppercase Deepline Secret names beginning with a letter.";
1430
+ };
1431
+ readonly 'bindings.webhook.auth.toleranceSeconds': {
1432
+ readonly schema: _sinclair_typebox.TInteger;
1433
+ readonly fixtures: {
1434
+ readonly valid: 300;
1435
+ readonly invalid: 0;
1436
+ readonly absent: undefined;
1437
+ readonly unresolved: {
1438
+ readonly expression: "toleranceSeconds";
1439
+ };
1440
+ readonly edition1: undefined;
1441
+ };
1442
+ readonly referenceType: "number";
1443
+ readonly required: false;
1444
+ readonly resolution: "static-required";
1445
+ readonly issueCode: "play_authoring_standard_webhooks_invalid";
1446
+ readonly description: "Accepted delivery timestamp skew in seconds, from 1 through 3600.";
1447
+ readonly errorMessage: "bindings.webhook.auth.toleranceSeconds must be a static whole number from 1 through 3600.";
1448
+ };
1365
1449
  readonly 'bindings.cron.schedule': {
1366
1450
  readonly schema: _sinclair_typebox.TString;
1367
1451
  readonly fixtures: {
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { e as PlayRuntimeBackendId, c as PlayCompilerManifest, D as DeeplineError, f as ToolExecutionError, g as ToolExecutionErrorOptions, h as PlayAuthoringColumnMap, i as PlayAuthoringColumnResolver, j as PlayAuthoringRuntimeContext, k as PlayAuthoringConditionalStepResolver, l as PlayAuthoringCsvInput, m as PlayAuthoringCsvOptions, n as PlayAuthoringDatasetBuilder, o as PlayAuthoringDatasetColumnDefinition, p as PlayAuthoringDatasetColumnRunInput, q as ToolExecuteResult, r as PlayAuthoringReferenceLike, s as PlayReturnObject$1, t as PlayAuthoringDefineConfig, u as PlayAuthoringDefinedPlay, v as PlayAuthoringFetchOptions, w as PlayAuthoringFileInput, x as PlayAuthoringBindings, y as PlayAuthoringCallExecution, z as PlayAuthoringCallOptions, A as PlayAuthoringFetchResponse, B as PlayAuthoringInputContract, C as PlayAuthoringStepProgramStep, E as PlayAuthoringRuntimeStepOptions, F as PlaySqlListenerDeclaration, G as PlaySqlListenerEvent, H as PlaySqlListenerOperation, I as PlaySqlQuery, J as PlayAuthoringStepOptions, K as PlayAuthoringStepProgram, L as PlayAuthoringStepProgramResolver, M as PlayAuthoringStepResolver, N as PlayToolExecutionRequest } from './compiler-manifest-CGZadg-v.mjs';
2
- export { O as DEEPLINE_EXTRACTOR_TARGETS, Q as DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, R as DeeplineEmailStatusGetterValue, S as DeeplineExtractorTarget, U as DeeplineGetterValue, V as DeeplineGetterValueMap, W as JOB_CHANGE_STATUS_VALUES, X as JobChangeStatus, Y as PHONE_STATUS_VALUES, Z as PhoneStatus, _ as PlayDataset, $ as PlayDatasetInput, a0 as PreviousCell, a1 as ProviderTransientError, a2 as ProviderTransientErrorCategory, a3 as ToolExecutionErrorCategory, a4 as ToolExecutionErrorOrigin, a5 as ToolExecutionFailureV1, a6 as ToolExecutionNetworkKind, a7 as ToolExecutionNetworkScope, a8 as isDeeplineExtractorTarget } from './compiler-manifest-CGZadg-v.mjs';
1
+ import { e as PlayRuntimeBackendId, c as PlayCompilerManifest, D as DeeplineError, f as ToolExecutionError, g as ToolExecutionErrorOptions, h as PlayAuthoringColumnMap, i as PlayAuthoringColumnResolver, j as PlayAuthoringRuntimeContext, k as PlayAuthoringConditionalStepResolver, l as PlayAuthoringCsvInput, m as PlayAuthoringCsvOptions, n as PlayAuthoringDatasetBuilder, o as PlayAuthoringDatasetColumnDefinition, p as PlayAuthoringDatasetColumnRunInput, q as ToolExecuteResult, r as PlayAuthoringReferenceLike, s as PlayReturnObject$1, t as PlayAuthoringDefineConfig, u as PlayAuthoringDefinedPlay, v as PlayAuthoringFetchOptions, w as PlayAuthoringFileInput, x as PlayAuthoringBindings, y as PlayAuthoringCallExecution, z as PlayAuthoringCallOptions, A as PlayAuthoringFetchResponse, B as PlayAuthoringInputContract, C as PlayAuthoringStepProgramStep, E as PlayAuthoringRuntimeStepOptions, F as PlaySqlListenerDeclaration, G as PlaySqlListenerEvent, H as PlaySqlListenerOperation, I as PlaySqlQuery, J as PlayAuthoringStepOptions, K as PlayAuthoringStepProgram, L as PlayAuthoringStepProgramResolver, M as PlayAuthoringStepResolver, N as PlayToolExecutionRequest } from './compiler-manifest-BPA3r-VG.mjs';
2
+ export { O as DEEPLINE_EXTRACTOR_TARGETS, Q as DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, R as DeeplineEmailStatusGetterValue, S as DeeplineExtractorTarget, U as DeeplineGetterValue, V as DeeplineGetterValueMap, W as JOB_CHANGE_STATUS_VALUES, X as JobChangeStatus, Y as PHONE_STATUS_VALUES, Z as PhoneStatus, _ as PlayDataset, $ as PlayDatasetInput, a0 as PreviousCell, a1 as ProviderTransientError, a2 as ProviderTransientErrorCategory, a3 as ToolExecutionErrorCategory, a4 as ToolExecutionErrorOrigin, a5 as ToolExecutionFailureV1, a6 as ToolExecutionNetworkKind, a7 as ToolExecutionNetworkScope, a8 as isDeeplineExtractorTarget } from './compiler-manifest-BPA3r-VG.mjs';
3
3
  import '@sinclair/typebox';
4
4
 
5
5
  declare const FIXTURE_BEHAVIOR_VERSION: 1;
@@ -2187,8 +2187,13 @@ type MonitorsNamespace = {
2187
2187
  list: (options?: MonitorsListOptions) => Promise<MonitorsListResult>;
2188
2188
  /** Fetch one deployed monitor by public key (without dependents). */
2189
2189
  get: (key: string) => Promise<MonitorDetail>;
2190
- /** Send an explicit payload through the deployed monitor's normal webhook path. */
2191
- test: (key: string, payload: Record<string, unknown>) => Promise<MonitorTestResult>;
2190
+ /**
2191
+ * Test a deployed monitor. `validationOnly` safely verifies the callback
2192
+ * envelope; omitted options preserve the historic full-ingestion behavior.
2193
+ */
2194
+ test: (key: string, payload: Record<string, unknown>, options?: {
2195
+ validationOnly?: boolean;
2196
+ }) => Promise<MonitorTestResult>;
2192
2197
  validate: (key: string) => Promise<MonitorValidateResult>;
2193
2198
  /** List the published plays depending on one monitor's output streams. */
2194
2199
  dependents: (key: string) => Promise<MonitorDependents>;
@@ -3520,7 +3525,9 @@ declare class DeeplineClient {
3520
3525
  listMonitors(options?: MonitorsListOptions): Promise<MonitorsListResult>;
3521
3526
  /** Fetch one deployed monitor by public key. Prefer `client.monitors.get(...)`. */
3522
3527
  getMonitor(key: string): Promise<MonitorDetail>;
3523
- testMonitorWebhook(key: string, payload: Record<string, unknown>): Promise<MonitorTestResult>;
3528
+ testMonitorWebhook(key: string, payload: Record<string, unknown>, options?: {
3529
+ validationOnly?: boolean;
3530
+ }): Promise<MonitorTestResult>;
3524
3531
  setupMonitor(tool: string, payload: Record<string, unknown>): Promise<Record<string, unknown>>;
3525
3532
  validateMonitor(key: string): Promise<MonitorValidateResult>;
3526
3533
  /** Published plays depending on one monitor. Prefer `client.monitors.dependents(...)`. */
@@ -3720,7 +3727,8 @@ type PlayFetchResponse = PlayAuthoringFetchResponse;
3720
3727
  *
3721
3728
  * A play can be triggered three ways, declared as the third argument to
3722
3729
  * {@link definePlay}:
3723
- * - `webhook` — an inbound HTTP call (with optional HMAC signature verification);
3730
+ * - `webhook` — an inbound HTTP call (with optional legacy HMAC or Standard
3731
+ * Webhooks signature verification);
3724
3732
  * - `cron` — a schedule; or
3725
3733
  * - `sqlListeners` — a **monitor**: the play runs whenever a monitor writes a new
3726
3734
  * row to its output stream. This is how you build a play "on top of" a monitor
@@ -3742,6 +3750,19 @@ type PlayFetchResponse = PlayAuthoringFetchResponse;
3742
3750
  * });
3743
3751
  * ```
3744
3752
  *
3753
+ * @example Svix / Standard Webhooks verification with Deepline Secrets
3754
+ * ```typescript
3755
+ * definePlay('visitor-webhook', handler, {
3756
+ * webhook: {
3757
+ * auth: {
3758
+ * type: 'standard-webhooks',
3759
+ * headerFamily: 'svix',
3760
+ * signingSecrets: ['VECTOR_WEBHOOK_SECRET'],
3761
+ * },
3762
+ * },
3763
+ * });
3764
+ * ```
3765
+ *
3745
3766
  * @example Cron schedule
3746
3767
  * ```typescript
3747
3768
  * definePlay('nightly-sync', handler, {
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { e as PlayRuntimeBackendId, c as PlayCompilerManifest, D as DeeplineError, f as ToolExecutionError, g as ToolExecutionErrorOptions, h as PlayAuthoringColumnMap, i as PlayAuthoringColumnResolver, j as PlayAuthoringRuntimeContext, k as PlayAuthoringConditionalStepResolver, l as PlayAuthoringCsvInput, m as PlayAuthoringCsvOptions, n as PlayAuthoringDatasetBuilder, o as PlayAuthoringDatasetColumnDefinition, p as PlayAuthoringDatasetColumnRunInput, q as ToolExecuteResult, r as PlayAuthoringReferenceLike, s as PlayReturnObject$1, t as PlayAuthoringDefineConfig, u as PlayAuthoringDefinedPlay, v as PlayAuthoringFetchOptions, w as PlayAuthoringFileInput, x as PlayAuthoringBindings, y as PlayAuthoringCallExecution, z as PlayAuthoringCallOptions, A as PlayAuthoringFetchResponse, B as PlayAuthoringInputContract, C as PlayAuthoringStepProgramStep, E as PlayAuthoringRuntimeStepOptions, F as PlaySqlListenerDeclaration, G as PlaySqlListenerEvent, H as PlaySqlListenerOperation, I as PlaySqlQuery, J as PlayAuthoringStepOptions, K as PlayAuthoringStepProgram, L as PlayAuthoringStepProgramResolver, M as PlayAuthoringStepResolver, N as PlayToolExecutionRequest } from './compiler-manifest-CGZadg-v.js';
2
- export { O as DEEPLINE_EXTRACTOR_TARGETS, Q as DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, R as DeeplineEmailStatusGetterValue, S as DeeplineExtractorTarget, U as DeeplineGetterValue, V as DeeplineGetterValueMap, W as JOB_CHANGE_STATUS_VALUES, X as JobChangeStatus, Y as PHONE_STATUS_VALUES, Z as PhoneStatus, _ as PlayDataset, $ as PlayDatasetInput, a0 as PreviousCell, a1 as ProviderTransientError, a2 as ProviderTransientErrorCategory, a3 as ToolExecutionErrorCategory, a4 as ToolExecutionErrorOrigin, a5 as ToolExecutionFailureV1, a6 as ToolExecutionNetworkKind, a7 as ToolExecutionNetworkScope, a8 as isDeeplineExtractorTarget } from './compiler-manifest-CGZadg-v.js';
1
+ import { e as PlayRuntimeBackendId, c as PlayCompilerManifest, D as DeeplineError, f as ToolExecutionError, g as ToolExecutionErrorOptions, h as PlayAuthoringColumnMap, i as PlayAuthoringColumnResolver, j as PlayAuthoringRuntimeContext, k as PlayAuthoringConditionalStepResolver, l as PlayAuthoringCsvInput, m as PlayAuthoringCsvOptions, n as PlayAuthoringDatasetBuilder, o as PlayAuthoringDatasetColumnDefinition, p as PlayAuthoringDatasetColumnRunInput, q as ToolExecuteResult, r as PlayAuthoringReferenceLike, s as PlayReturnObject$1, t as PlayAuthoringDefineConfig, u as PlayAuthoringDefinedPlay, v as PlayAuthoringFetchOptions, w as PlayAuthoringFileInput, x as PlayAuthoringBindings, y as PlayAuthoringCallExecution, z as PlayAuthoringCallOptions, A as PlayAuthoringFetchResponse, B as PlayAuthoringInputContract, C as PlayAuthoringStepProgramStep, E as PlayAuthoringRuntimeStepOptions, F as PlaySqlListenerDeclaration, G as PlaySqlListenerEvent, H as PlaySqlListenerOperation, I as PlaySqlQuery, J as PlayAuthoringStepOptions, K as PlayAuthoringStepProgram, L as PlayAuthoringStepProgramResolver, M as PlayAuthoringStepResolver, N as PlayToolExecutionRequest } from './compiler-manifest-BPA3r-VG.js';
2
+ export { O as DEEPLINE_EXTRACTOR_TARGETS, Q as DEEPLINE_EXTRACTOR_TARGET_DEFINITIONS, R as DeeplineEmailStatusGetterValue, S as DeeplineExtractorTarget, U as DeeplineGetterValue, V as DeeplineGetterValueMap, W as JOB_CHANGE_STATUS_VALUES, X as JobChangeStatus, Y as PHONE_STATUS_VALUES, Z as PhoneStatus, _ as PlayDataset, $ as PlayDatasetInput, a0 as PreviousCell, a1 as ProviderTransientError, a2 as ProviderTransientErrorCategory, a3 as ToolExecutionErrorCategory, a4 as ToolExecutionErrorOrigin, a5 as ToolExecutionFailureV1, a6 as ToolExecutionNetworkKind, a7 as ToolExecutionNetworkScope, a8 as isDeeplineExtractorTarget } from './compiler-manifest-BPA3r-VG.js';
3
3
  import '@sinclair/typebox';
4
4
 
5
5
  declare const FIXTURE_BEHAVIOR_VERSION: 1;
@@ -2187,8 +2187,13 @@ type MonitorsNamespace = {
2187
2187
  list: (options?: MonitorsListOptions) => Promise<MonitorsListResult>;
2188
2188
  /** Fetch one deployed monitor by public key (without dependents). */
2189
2189
  get: (key: string) => Promise<MonitorDetail>;
2190
- /** Send an explicit payload through the deployed monitor's normal webhook path. */
2191
- test: (key: string, payload: Record<string, unknown>) => Promise<MonitorTestResult>;
2190
+ /**
2191
+ * Test a deployed monitor. `validationOnly` safely verifies the callback
2192
+ * envelope; omitted options preserve the historic full-ingestion behavior.
2193
+ */
2194
+ test: (key: string, payload: Record<string, unknown>, options?: {
2195
+ validationOnly?: boolean;
2196
+ }) => Promise<MonitorTestResult>;
2192
2197
  validate: (key: string) => Promise<MonitorValidateResult>;
2193
2198
  /** List the published plays depending on one monitor's output streams. */
2194
2199
  dependents: (key: string) => Promise<MonitorDependents>;
@@ -3520,7 +3525,9 @@ declare class DeeplineClient {
3520
3525
  listMonitors(options?: MonitorsListOptions): Promise<MonitorsListResult>;
3521
3526
  /** Fetch one deployed monitor by public key. Prefer `client.monitors.get(...)`. */
3522
3527
  getMonitor(key: string): Promise<MonitorDetail>;
3523
- testMonitorWebhook(key: string, payload: Record<string, unknown>): Promise<MonitorTestResult>;
3528
+ testMonitorWebhook(key: string, payload: Record<string, unknown>, options?: {
3529
+ validationOnly?: boolean;
3530
+ }): Promise<MonitorTestResult>;
3524
3531
  setupMonitor(tool: string, payload: Record<string, unknown>): Promise<Record<string, unknown>>;
3525
3532
  validateMonitor(key: string): Promise<MonitorValidateResult>;
3526
3533
  /** Published plays depending on one monitor. Prefer `client.monitors.dependents(...)`. */
@@ -3720,7 +3727,8 @@ type PlayFetchResponse = PlayAuthoringFetchResponse;
3720
3727
  *
3721
3728
  * A play can be triggered three ways, declared as the third argument to
3722
3729
  * {@link definePlay}:
3723
- * - `webhook` — an inbound HTTP call (with optional HMAC signature verification);
3730
+ * - `webhook` — an inbound HTTP call (with optional legacy HMAC or Standard
3731
+ * Webhooks signature verification);
3724
3732
  * - `cron` — a schedule; or
3725
3733
  * - `sqlListeners` — a **monitor**: the play runs whenever a monitor writes a new
3726
3734
  * row to its output stream. This is how you build a play "on top of" a monitor
@@ -3742,6 +3750,19 @@ type PlayFetchResponse = PlayAuthoringFetchResponse;
3742
3750
  * });
3743
3751
  * ```
3744
3752
  *
3753
+ * @example Svix / Standard Webhooks verification with Deepline Secrets
3754
+ * ```typescript
3755
+ * definePlay('visitor-webhook', handler, {
3756
+ * webhook: {
3757
+ * auth: {
3758
+ * type: 'standard-webhooks',
3759
+ * headerFamily: 'svix',
3760
+ * signingSecrets: ['VECTOR_WEBHOOK_SECRET'],
3761
+ * },
3762
+ * },
3763
+ * });
3764
+ * ```
3765
+ *
3745
3766
  * @example Cron schedule
3746
3767
  * ```typescript
3747
3768
  * definePlay('nightly-sync', handler, {
package/dist/index.js CHANGED
@@ -763,7 +763,7 @@ var SDK_RELEASE = {
763
763
  // 0.2.0 makes Dataset Handles uniformly async-only after 0.1.320 briefly
764
764
  // exposed storage-dependent synchronous access. This deliberate minor
765
765
  // release keeps lazy paging semantics independent of row residency.
766
- version: "0.2.48",
766
+ version: "0.2.50",
767
767
  contracts: {
768
768
  api: {
769
769
  name: "sdk-http-api",
@@ -3598,7 +3598,7 @@ var DeeplineClient = class {
3598
3598
  deploy: (definition, options2) => this.deployMonitor(definition, options2),
3599
3599
  list: (options2) => this.listMonitors(options2),
3600
3600
  get: (key) => this.getMonitor(key),
3601
- test: (key, payload) => this.testMonitorWebhook(key, payload),
3601
+ test: (key, payload, options2) => this.testMonitorWebhook(key, payload, options2),
3602
3602
  validate: (key) => this.validateMonitor(key),
3603
3603
  dependents: (key) => this.getMonitorDependents(key),
3604
3604
  update: (key, patch) => this.updateMonitor(key, patch),
@@ -5767,10 +5767,16 @@ var DeeplineClient = class {
5767
5767
  { method: "GET" }
5768
5768
  );
5769
5769
  }
5770
- async testMonitorWebhook(key, payload) {
5770
+ async testMonitorWebhook(key, payload, options) {
5771
5771
  return this.http.request(
5772
5772
  `/api/v2/monitors/deployed/${encodeURIComponent(key)}/test`,
5773
- { method: "POST", body: { payload } }
5773
+ {
5774
+ method: "POST",
5775
+ body: {
5776
+ payload,
5777
+ ...options?.validationOnly ? { mode: "validation_only" } : {}
5778
+ }
5779
+ }
5774
5780
  );
5775
5781
  }
5776
5782
  async setupMonitor(tool, payload) {
package/dist/index.mjs CHANGED
@@ -689,7 +689,7 @@ var SDK_RELEASE = {
689
689
  // 0.2.0 makes Dataset Handles uniformly async-only after 0.1.320 briefly
690
690
  // exposed storage-dependent synchronous access. This deliberate minor
691
691
  // release keeps lazy paging semantics independent of row residency.
692
- version: "0.2.48",
692
+ version: "0.2.50",
693
693
  contracts: {
694
694
  api: {
695
695
  name: "sdk-http-api",
@@ -3524,7 +3524,7 @@ var DeeplineClient = class {
3524
3524
  deploy: (definition, options2) => this.deployMonitor(definition, options2),
3525
3525
  list: (options2) => this.listMonitors(options2),
3526
3526
  get: (key) => this.getMonitor(key),
3527
- test: (key, payload) => this.testMonitorWebhook(key, payload),
3527
+ test: (key, payload, options2) => this.testMonitorWebhook(key, payload, options2),
3528
3528
  validate: (key) => this.validateMonitor(key),
3529
3529
  dependents: (key) => this.getMonitorDependents(key),
3530
3530
  update: (key, patch) => this.updateMonitor(key, patch),
@@ -5693,10 +5693,16 @@ var DeeplineClient = class {
5693
5693
  { method: "GET" }
5694
5694
  );
5695
5695
  }
5696
- async testMonitorWebhook(key, payload) {
5696
+ async testMonitorWebhook(key, payload, options) {
5697
5697
  return this.http.request(
5698
5698
  `/api/v2/monitors/deployed/${encodeURIComponent(key)}/test`,
5699
- { method: "POST", body: { payload } }
5699
+ {
5700
+ method: "POST",
5701
+ body: {
5702
+ payload,
5703
+ ...options?.validationOnly ? { mode: "validation_only" } : {}
5704
+ }
5705
+ }
5700
5706
  );
5701
5707
  }
5702
5708
  async setupMonitor(tool, payload) {
@@ -191,6 +191,8 @@
191
191
  "dist/bundling-sources/shared_libs/plays/dataset-summary.ts",
192
192
  "dist/bundling-sources/shared_libs/plays/dataset.ts",
193
193
  "dist/bundling-sources/shared_libs/plays/definition.ts",
194
+ "dist/bundling-sources/shared_libs/plays/enrich-compat-adapter.ts",
195
+ "dist/bundling-sources/shared_libs/plays/enrich-play-compiler.ts",
194
196
  "dist/bundling-sources/shared_libs/plays/file-refs.ts",
195
197
  "dist/bundling-sources/shared_libs/plays/input-contract-definition.ts",
196
198
  "dist/bundling-sources/shared_libs/plays/input-contract.ts",
@@ -202,6 +204,7 @@
202
204
  "dist/bundling-sources/shared_libs/plays/static-pipeline.ts",
203
205
  "dist/bundling-sources/shared_libs/plays/tool-category-descriptions.ts",
204
206
  "dist/bundling-sources/shared_libs/plays/tool-codegen.ts",
207
+ "dist/bundling-sources/shared_libs/plays/user-code-safety.ts",
205
208
  "dist/bundling-sources/shared_libs/product-notifications/contract.ts",
206
209
  "dist/bundling-sources/shared_libs/runtime-env.ts",
207
210
  "dist/bundling-sources/shared_libs/security/outbound-url-policy.ts",
@@ -212,8 +215,8 @@
212
215
  "dist/cli/index.d.ts",
213
216
  "dist/cli/index.js",
214
217
  "dist/cli/index.mjs",
215
- "dist/compiler-manifest-CGZadg-v.d.mts",
216
- "dist/compiler-manifest-CGZadg-v.d.ts",
218
+ "dist/compiler-manifest-BPA3r-VG.d.mts",
219
+ "dist/compiler-manifest-BPA3r-VG.d.ts",
217
220
  "dist/helpers.d.mts",
218
221
  "dist/helpers.d.ts",
219
222
  "dist/helpers.js",
@@ -1,5 +1,5 @@
1
- import { T as ToolExecutionErrorSchemaVersion, P as PlayAuthoringContractEdition, a as PlayArtifactKind$1, b as PlaySandboxRuntimeDeclaration, c as PlayCompilerManifest } from '../compiler-manifest-CGZadg-v.mjs';
2
- export { d as PLAY_ARTIFACT_KINDS } from '../compiler-manifest-CGZadg-v.mjs';
1
+ import { T as ToolExecutionErrorSchemaVersion, P as PlayAuthoringContractEdition, a as PlayArtifactKind$1, b as PlaySandboxRuntimeDeclaration, c as PlayCompilerManifest } from '../compiler-manifest-BPA3r-VG.mjs';
2
+ export { d as PLAY_ARTIFACT_KINDS } from '../compiler-manifest-BPA3r-VG.mjs';
3
3
  import '@sinclair/typebox';
4
4
 
5
5
  type PlayPackageImport = {
@@ -65,6 +65,8 @@ type PlayLocalFileDiscoveryResult = {
65
65
  };
66
66
  type PlayBundlingAdapter = {
67
67
  projectRoot: string;
68
+ /** Optional root used only to make source-graph identity independent of temporary absolute paths. */
69
+ sourceIdentityRoot?: string;
68
70
  nodeModulesDir: string;
69
71
  cacheDir?: string;
70
72
  sdkSourceRoot: string;
@@ -1,5 +1,5 @@
1
- import { T as ToolExecutionErrorSchemaVersion, P as PlayAuthoringContractEdition, a as PlayArtifactKind$1, b as PlaySandboxRuntimeDeclaration, c as PlayCompilerManifest } from '../compiler-manifest-CGZadg-v.js';
2
- export { d as PLAY_ARTIFACT_KINDS } from '../compiler-manifest-CGZadg-v.js';
1
+ import { T as ToolExecutionErrorSchemaVersion, P as PlayAuthoringContractEdition, a as PlayArtifactKind$1, b as PlaySandboxRuntimeDeclaration, c as PlayCompilerManifest } from '../compiler-manifest-BPA3r-VG.js';
2
+ export { d as PLAY_ARTIFACT_KINDS } from '../compiler-manifest-BPA3r-VG.js';
3
3
  import '@sinclair/typebox';
4
4
 
5
5
  type PlayPackageImport = {
@@ -65,6 +65,8 @@ type PlayLocalFileDiscoveryResult = {
65
65
  };
66
66
  type PlayBundlingAdapter = {
67
67
  projectRoot: string;
68
+ /** Optional root used only to make source-graph identity independent of temporary absolute paths. */
69
+ sourceIdentityRoot?: string;
68
70
  nodeModulesDir: string;
69
71
  cacheDir?: string;
70
72
  sdkSourceRoot: string;