@amigo-ai/platform-sdk 0.47.1 → 0.48.1

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.
@@ -1746,26 +1746,6 @@ export interface paths {
1746
1746
  patch?: never;
1747
1747
  trace?: never;
1748
1748
  };
1749
- "/v1/{workspace_id}/causal/drivers": {
1750
- parameters: {
1751
- query?: never;
1752
- header?: never;
1753
- path?: never;
1754
- cookie?: never;
1755
- };
1756
- /**
1757
- * List Drivers
1758
- * @description Ranked SPR drivers for one (outcome_family, outcome_key). Byar 1978 95% CI. SPR > 1 = feature value over-indexes for this outcome vs. the workspace baseline. Filter by feature_family (demographic|comorbidity) or feature_arity (1=univariate, 2=pairwise). min_support_only=true (default) hides observed < 5 rows. This is DESCRIPTIVE attribution — v2 causal (ITS + synthetic control) lands via the analytics.public.causal_attribution pipeline in Phase 5.
1759
- */
1760
- get: operations["list_drivers_v1__workspace_id__causal_drivers_get"];
1761
- put?: never;
1762
- post?: never;
1763
- delete?: never;
1764
- options?: never;
1765
- head?: never;
1766
- patch?: never;
1767
- trace?: never;
1768
- };
1769
1749
  "/v1/{workspace_id}/channels/ses-setup": {
1770
1750
  parameters: {
1771
1751
  query?: never;
@@ -2476,70 +2456,6 @@ export interface paths {
2476
2456
  patch?: never;
2477
2457
  trace?: never;
2478
2458
  };
2479
- "/v1/{workspace_id}/demo-pulse/start": {
2480
- parameters: {
2481
- query?: never;
2482
- header?: never;
2483
- path?: never;
2484
- cookie?: never;
2485
- };
2486
- get?: never;
2487
- put?: never;
2488
- /**
2489
- * Start synthetic event emission for an internal demo workspace
2490
- * @description Start a synthetic pulse on the workspace.
2491
- *
2492
- * Guardrails: admin/owner role + workspace must be in the allowlist env.
2493
- * Replaces any currently-running pulse on the same workspace.
2494
- */
2495
- post: operations["start-demo-pulse"];
2496
- delete?: never;
2497
- options?: never;
2498
- head?: never;
2499
- patch?: never;
2500
- trace?: never;
2501
- };
2502
- "/v1/{workspace_id}/demo-pulse/status": {
2503
- parameters: {
2504
- query?: never;
2505
- header?: never;
2506
- path?: never;
2507
- cookie?: never;
2508
- };
2509
- /** Inspect the active pulse on a workspace */
2510
- get: operations["get-demo-pulse-status"];
2511
- put?: never;
2512
- post?: never;
2513
- delete?: never;
2514
- options?: never;
2515
- head?: never;
2516
- patch?: never;
2517
- trace?: never;
2518
- };
2519
- "/v1/{workspace_id}/demo-pulse/stop": {
2520
- parameters: {
2521
- query?: never;
2522
- header?: never;
2523
- path?: never;
2524
- cookie?: never;
2525
- };
2526
- get?: never;
2527
- put?: never;
2528
- /**
2529
- * Stop the synthetic pulse on a workspace
2530
- * @description Stop the pulse on this workspace.
2531
- *
2532
- * ``body.task_id`` is optional; if provided, only that task is stopped (useful
2533
- * for idempotence after a background race). Otherwise the workspace's
2534
- * current task (if any) is stopped.
2535
- */
2536
- post: operations["stop-demo-pulse"];
2537
- delete?: never;
2538
- options?: never;
2539
- head?: never;
2540
- patch?: never;
2541
- trace?: never;
2542
- };
2543
2459
  "/v1/{workspace_id}/desktop-sessions": {
2544
2460
  parameters: {
2545
2461
  query?: never;
@@ -7986,7 +7902,7 @@ export interface paths {
7986
7902
  post?: never;
7987
7903
  /**
7988
7904
  * Delete a channel use case
7989
- * @description Delete a use case. Refuses (409) while any workspace has the use case bound — call DELETE `/use-cases/{id}/bindings` first. Also refuses if a Twilio use case still has phone-number assignments. Requires Channel.delete permission.
7905
+ * @description Delete a use case. Refuses (409) while any service still binds the use case — call DELETE `/use-cases/{id}/service-binding` first. Also refuses if a Twilio use case still has phone-number assignments. Requires Channel.delete permission.
7990
7906
  */
7991
7907
  delete: operations["delete-use-case"];
7992
7908
  options?: never;
@@ -7994,25 +7910,29 @@ export interface paths {
7994
7910
  patch?: never;
7995
7911
  trace?: never;
7996
7912
  };
7997
- "/v1/{workspace_id}/use-cases/{use_case_id}/bindings": {
7913
+ "/v1/{workspace_id}/use-cases/{use_case_id}/service-binding": {
7998
7914
  parameters: {
7999
7915
  query?: never;
8000
7916
  header?: never;
8001
7917
  path?: never;
8002
7918
  cookie?: never;
8003
7919
  };
8004
- get?: never;
8005
- put?: never;
8006
7920
  /**
8007
- * Bind a use case to this workspace
8008
- * @description Claim a use case for this workspace. Inbound webhook events for the use case will resolve to this workspace. Idempotent for the same workspace; 409 if another workspace owns the binding; revives a soft-deleted binding (after a prior unbind) and re-points it at this workspace. Requires Channel.create permission.
7921
+ * Get the service binding for a use case
7922
+ * @description Return the platform service this use case is bound to in this workspace, or 404 if unbound. Requires Channel.view permission.
8009
7923
  */
8010
- post: operations["bind-use-case"];
7924
+ get: operations["get-use-case-service-binding"];
8011
7925
  /**
8012
- * Unbind a use case from this workspace
8013
- * @description Release a use case from this workspace. Soft-delete on the binding row. 404 if the use case is not currently bound to this workspace (covers both 'never bound' and 'already unbound'). Requires Channel.delete permission.
7926
+ * Bind a use case to a platform service
7927
+ * @description Bind this use case to a platform service in the current workspace. PUT semantics — rebinding to a different service replaces the prior binding. Inbound webhook events for the use case will resolve to this workspace; outbound dispatch from the service will route through this use case for its channel. 409 if a different use case already binds the same (service, channel) pair. 404 if the service or use case is missing or belongs to another workspace. Requires Channel.create permission.
8014
7928
  */
8015
- delete: operations["unbind-use-case"];
7929
+ put: operations["bind-use-case-to-service"];
7930
+ post?: never;
7931
+ /**
7932
+ * Unbind a use case from its platform service
7933
+ * @description Release a use case from its bound service in this workspace. Soft-delete on the binding row. 404 if the use case is not currently bound (covers both 'never bound' and 'already unbound'). Requires Channel.delete permission.
7934
+ */
7935
+ delete: operations["unbind-use-case-from-service"];
8016
7936
  options?: never;
8017
7937
  head?: never;
8018
7938
  patch?: never;
@@ -8077,15 +7997,7 @@ export interface paths {
8077
7997
  };
8078
7998
  get?: never;
8079
7999
  put?: never;
8080
- /**
8081
- * Verify Voiceprint
8082
- * @description Verify a speaker against their enrolled voiceprint.
8083
- *
8084
- * Loads the enrolled embedding from world events, sends audio + embedding
8085
- * to emotion-engine for cosine similarity comparison.
8086
- *
8087
- * Permissions: authenticated (any role).
8088
- */
8000
+ /** Verify Voiceprint */
8089
8001
  post: operations["verify-voiceprint"];
8090
8002
  delete?: never;
8091
8003
  options?: never;
@@ -8100,17 +8012,7 @@ export interface paths {
8100
8012
  path?: never;
8101
8013
  cookie?: never;
8102
8014
  };
8103
- /**
8104
- * Get Voiceprint Status
8105
- * @description Check voiceprint enrollment status for any entity.
8106
- *
8107
- * Queries world.entities for voiceprint enrollment status.
8108
- * This works for both world entities (patients/practitioners) and identity
8109
- * entities (developer console users) — the entity state projection is the
8110
- * read surface (world.events table has been dropped).
8111
- *
8112
- * Permissions: authenticated (any role).
8113
- */
8015
+ /** Get Voiceprint Status */
8114
8016
  get: operations["get-voiceprint-status"];
8115
8017
  put?: never;
8116
8018
  post?: never;
@@ -10051,18 +9953,6 @@ export interface components {
10051
9953
  */
10052
9954
  setup_id: string;
10053
9955
  };
10054
- /** BindingResponse */
10055
- BindingResponse: {
10056
- /**
10057
- * Channel
10058
- * @enum {string}
10059
- */
10060
- channel: "voice" | "voicemail" | "email";
10061
- /** Use Case Id */
10062
- use_case_id: string;
10063
- /** Workspace Id */
10064
- workspace_id: string;
10065
- };
10066
9956
  /** Body_enroll-voiceprint */
10067
9957
  "Body_enroll-voiceprint": {
10068
9958
  /** Audio */
@@ -10479,7 +10369,7 @@ export interface components {
10479
10369
  /** Service Id */
10480
10370
  service_id?: string | null;
10481
10371
  /** Source */
10482
- source?: string | null;
10372
+ source?: ("real" | "simulation" | "playground" | "scribe") | null;
10483
10373
  /**
10484
10374
  * States Visited
10485
10375
  * @default []
@@ -10783,7 +10673,7 @@ export interface components {
10783
10673
  quality_score?: number | null;
10784
10674
  /**
10785
10675
  * Run Id
10786
- * @description Simulation run ID (simulated calls only)
10676
+ * @description Simulation run ID (simulation calls only)
10787
10677
  */
10788
10678
  run_id?: string | null;
10789
10679
  /**
@@ -10793,9 +10683,9 @@ export interface components {
10793
10683
  service_id?: string | null;
10794
10684
  /**
10795
10685
  * Source
10796
- * @description Whether this is a real or simulated call
10686
+ * @description Call source real, simulation, playground, or scribe
10797
10687
  */
10798
- source?: ("real" | "simulated" | "playground" | "scribe") | null;
10688
+ source?: ("real" | "simulation" | "playground" | "scribe") | null;
10799
10689
  /**
10800
10690
  * Started At
10801
10691
  * @description When the call started
@@ -12207,6 +12097,11 @@ export interface components {
12207
12097
  ConversationToolCallDetail: {
12208
12098
  /** Call Id */
12209
12099
  call_id: string;
12100
+ /**
12101
+ * Duration Ms
12102
+ * @description Wall-clock tool execution time in milliseconds, measured at the engage_step call site. Omitted (null) on legacy turns that did not capture timing.
12103
+ */
12104
+ duration_ms?: number | null;
12210
12105
  /** Input */
12211
12106
  input?: {
12212
12107
  [key: string]: unknown;
@@ -12541,7 +12436,7 @@ export interface components {
12541
12436
  * Source Type
12542
12437
  * @enum {string}
12543
12438
  */
12544
- source_type: "rest_api" | "webhook" | "file_drop" | "fhir" | "fhir_store" | "ehr" | "crm" | "database" | "custom" | "smart_fhir";
12439
+ source_type: "rest_api" | "webhook" | "file_drop" | "fhir" | "fhir_store" | "ehr" | "crm" | "database" | "custom" | "smart_fhir" | "customer_intake";
12545
12440
  /** Sync Schedule */
12546
12441
  sync_schedule?: string | null;
12547
12442
  /**
@@ -14014,7 +13909,7 @@ export interface components {
14014
13909
  * Source Type
14015
13910
  * @enum {string}
14016
13911
  */
14017
- source_type: "rest_api" | "webhook" | "file_drop" | "fhir" | "fhir_store" | "ehr" | "crm" | "database" | "custom" | "smart_fhir";
13912
+ source_type: "rest_api" | "webhook" | "file_drop" | "fhir" | "fhir_store" | "ehr" | "crm" | "database" | "custom" | "smart_fhir" | "customer_intake";
14018
13913
  /** Sync Schedule */
14019
13914
  sync_schedule: string | null;
14020
13915
  /**
@@ -14305,66 +14200,6 @@ export interface components {
14305
14200
  /** Event Type */
14306
14201
  event_type: string;
14307
14202
  };
14308
- /** DemoPulseStartRequest */
14309
- DemoPulseStartRequest: {
14310
- /**
14311
- * Duration Seconds
14312
- * @description How long to emit events before auto-terminating (max 3600).
14313
- * @default 600
14314
- */
14315
- duration_seconds?: number;
14316
- /**
14317
- * Events Per Minute
14318
- * @description Emission rate per minute, 1 to 120.
14319
- * @default 30
14320
- */
14321
- events_per_minute?: number;
14322
- };
14323
- /** DemoPulseStatusResponse */
14324
- DemoPulseStatusResponse: {
14325
- /** Tasks */
14326
- tasks: components["schemas"]["DemoPulseTaskResponse"][];
14327
- };
14328
- /** DemoPulseStopRequest */
14329
- DemoPulseStopRequest: {
14330
- /**
14331
- * Task Id
14332
- * @description Optional task_id to stop. When set, only a matching active task is stopped — useful for idempotent retries after a background race. Omit to stop whatever pulse is currently active on the workspace.
14333
- */
14334
- task_id?: string | null;
14335
- };
14336
- /** DemoPulseStopResponse */
14337
- DemoPulseStopResponse: {
14338
- /** Stopped */
14339
- stopped: boolean;
14340
- task?: components["schemas"]["DemoPulseTaskResponse"] | null;
14341
- };
14342
- /** DemoPulseTaskResponse */
14343
- DemoPulseTaskResponse: {
14344
- /** Active */
14345
- active: boolean;
14346
- /** Events Attempted */
14347
- events_attempted: number;
14348
- /** Events Per Minute */
14349
- events_per_minute: number;
14350
- /**
14351
- * Expires At
14352
- * Format: date-time
14353
- */
14354
- expires_at: string;
14355
- /**
14356
- * Started At
14357
- * Format: date-time
14358
- */
14359
- started_at: string;
14360
- /** Task Id */
14361
- task_id: string;
14362
- /**
14363
- * Workspace Id
14364
- * Format: uuid
14365
- */
14366
- workspace_id: string;
14367
- };
14368
14203
  DescriptionString: string;
14369
14204
  /** DestroySessionResponse */
14370
14205
  DestroySessionResponse: {
@@ -14517,75 +14352,6 @@ export interface components {
14517
14352
  */
14518
14353
  verified: boolean;
14519
14354
  };
14520
- /**
14521
- * DriverRow
14522
- * @description One SPR row — generic (outcome, feature-tuple) grain.
14523
- */
14524
- DriverRow: {
14525
- /** As Of Date */
14526
- as_of_date?: string | null;
14527
- /** Expected */
14528
- expected?: number | null;
14529
- /** Feature Arity */
14530
- feature_arity: number;
14531
- /** Feature Family 1 */
14532
- feature_family_1: string;
14533
- /** Feature Family 2 */
14534
- feature_family_2?: string | null;
14535
- /** Feature Name 1 */
14536
- feature_name_1: string;
14537
- /** Feature Name 2 */
14538
- feature_name_2?: string | null;
14539
- /** Feature Population */
14540
- feature_population?: number | null;
14541
- /** Feature Value 1 */
14542
- feature_value_1: string;
14543
- /** Feature Value 2 */
14544
- feature_value_2?: string | null;
14545
- /** Min Support Met */
14546
- min_support_met: boolean;
14547
- /** Observed */
14548
- observed: number;
14549
- /** Outcome Code System */
14550
- outcome_code_system?: string | null;
14551
- /** Outcome Display */
14552
- outcome_display?: string | null;
14553
- /** Outcome Family */
14554
- outcome_family: string;
14555
- /** Outcome Key */
14556
- outcome_key: string;
14557
- /** Spr */
14558
- spr?: number | null;
14559
- /** Spr Ci Lower */
14560
- spr_ci_lower?: number | null;
14561
- /** Spr Ci Upper */
14562
- spr_ci_upper?: number | null;
14563
- /** Window Days */
14564
- window_days?: number | null;
14565
- /**
14566
- * Workspace Id
14567
- * Format: uuid
14568
- */
14569
- workspace_id: string;
14570
- };
14571
- /** DriversResponse */
14572
- DriversResponse: {
14573
- /** Count */
14574
- count: number;
14575
- /** Items */
14576
- items: components["schemas"]["DriverRow"][];
14577
- /** Outcome Family */
14578
- outcome_family: string;
14579
- /** Outcome Key */
14580
- outcome_key: string;
14581
- /** Sort By */
14582
- sort_by: string;
14583
- /**
14584
- * Workspace Id
14585
- * Format: uuid
14586
- */
14587
- workspace_id: string;
14588
- };
14589
14355
  /** EditSoapRequest */
14590
14356
  EditSoapRequest: {
14591
14357
  /** Content */
@@ -16251,6 +16017,12 @@ export interface components {
16251
16017
  };
16252
16018
  /** Data Source Id */
16253
16019
  data_source_id?: string | null;
16020
+ /**
16021
+ * Dedup
16022
+ * @description When true, identical re-uploads of the same FHIR resource are skipped via content-hash dedup. Set to false to force emission regardless of content changes.
16023
+ * @default true
16024
+ */
16025
+ dedup?: boolean;
16254
16026
  /**
16255
16027
  * Source
16256
16028
  * @default fhir_import
@@ -20401,13 +20173,18 @@ export interface components {
20401
20173
  };
20402
20174
  /**
20403
20175
  * Parameter
20404
- * @description Typed declaration of one SQL bind parameter.
20176
+ * @description Typed declaration of one input parameter.
20405
20177
  *
20406
- * The ``name`` becomes the ``:name`` placeholder in the SQL template.
20407
- * The ``description`` propagates into the LLM tool spec (this is what
20408
- * Databricks' Agent Framework reads, and what Anthropic's tool-use
20409
- * spec exposes to the model). Missing descriptions silently break
20410
- * tool selection — the registration layer rejects empty strings.
20178
+ * For SQL function types, ``name`` becomes the ``:name`` placeholder
20179
+ * in the SQL template. For Python function types, ``name`` becomes
20180
+ * the positional argument name in ``def main(...)`` and the input
20181
+ * column name on the UC UDF signature.
20182
+ *
20183
+ * The ``description`` propagates into the LLM tool spec (this is
20184
+ * what Databricks' Agent Framework reads, and what Anthropic's
20185
+ * tool-use spec exposes to the model). Missing descriptions
20186
+ * silently break tool selection — the registration layer rejects
20187
+ * empty strings.
20411
20188
  */
20412
20189
  Parameter: {
20413
20190
  /** Default */
@@ -21994,9 +21771,14 @@ export interface components {
21994
21771
  * repo or POSTed to ``/v1/{ws}/functions/deploy``. The deploy
21995
21772
  * pipeline validates this, derives the JSON Schema for the LLM tool
21996
21773
  * spec, and INSERTs a row into ``platform.functions`` with the next
21997
- * monotonic ``version`` per ``(workspace_id, name)``.
21774
+ * monotonic ``version`` per ``(workspace_id, name)``. For
21775
+ * ``python`` / ``udtf`` rows, deploy ALSO issues
21776
+ * ``CREATE OR REPLACE FUNCTION`` against the warehouse to materialize
21777
+ * the UC UDF.
21998
21778
  */
21999
21779
  RegisteredFunction: {
21780
+ /** Body */
21781
+ body: string;
22000
21782
  /** Description */
22001
21783
  description: string;
22002
21784
  /** Examples */
@@ -22017,8 +21799,14 @@ export interface components {
22017
21799
  * @enum {string}
22018
21800
  */
22019
21801
  returns?: "table" | "scalar";
22020
- /** Sql */
22021
- sql: string;
21802
+ /** Returns Columns */
21803
+ returns_columns?: components["schemas"]["ReturnColumn"][];
21804
+ /**
21805
+ * Returns Type
21806
+ * @default string
21807
+ * @enum {string}
21808
+ */
21809
+ returns_type?: "string" | "integer" | "number" | "boolean";
22022
21810
  /**
22023
21811
  * Timeout Ms
22024
21812
  * @default 30000
@@ -22193,6 +21981,30 @@ export interface components {
22193
21981
  */
22194
21982
  retry_on_status?: number[];
22195
21983
  };
21984
+ /**
21985
+ * ReturnColumn
21986
+ * @description One column in a UDTF's output schema.
21987
+ *
21988
+ * UC ``RETURNS TABLE(<col1> <type1>, <col2> <type2>, ...)`` requires
21989
+ * declaring the schema at deploy time. This list anchors that
21990
+ * schema for ``function_type=udtf`` rows. ``name`` becomes the
21991
+ * column name in the result rows; ``type`` maps to a Databricks
21992
+ * SQL type via the same ``ParameterType`` Literal we use for inputs.
21993
+ */
21994
+ ReturnColumn: {
21995
+ /**
21996
+ * Description
21997
+ * @default
21998
+ */
21999
+ description?: string;
22000
+ /** Name */
22001
+ name: string;
22002
+ /**
22003
+ * Type
22004
+ * @enum {string}
22005
+ */
22006
+ type: "string" | "integer" | "number" | "boolean";
22007
+ };
22196
22008
  /** ReviewActionResponse */
22197
22009
  ReviewActionResponse: {
22198
22010
  /**
@@ -23161,6 +22973,47 @@ export interface components {
23161
22973
  };
23162
22974
  voice_config?: components["schemas"]["ServiceVoiceConfig"] | null;
23163
22975
  };
22976
+ /** ServiceBindingRequest */
22977
+ ServiceBindingRequest: {
22978
+ /**
22979
+ * Service Id
22980
+ * Format: uuid
22981
+ */
22982
+ service_id: string;
22983
+ };
22984
+ /** ServiceBindingResponse */
22985
+ ServiceBindingResponse: {
22986
+ /**
22987
+ * Channel
22988
+ * @enum {string}
22989
+ */
22990
+ channel: "inbound_voice" | "outbound_voice" | "ringless_voicemail" | "email";
22991
+ /**
22992
+ * Created At
22993
+ * Format: date-time
22994
+ */
22995
+ created_at: string;
22996
+ /**
22997
+ * Service Id
22998
+ * Format: uuid
22999
+ */
23000
+ service_id: string;
23001
+ /**
23002
+ * Updated At
23003
+ * Format: date-time
23004
+ */
23005
+ updated_at: string;
23006
+ /**
23007
+ * Use Case Id
23008
+ * Format: uuid
23009
+ */
23010
+ use_case_id: string;
23011
+ /**
23012
+ * Workspace Id
23013
+ * Format: uuid
23014
+ */
23015
+ workspace_id: string;
23016
+ };
23164
23017
  /** ServiceResponse */
23165
23018
  ServiceResponse: {
23166
23019
  /**
@@ -24415,7 +24268,7 @@ export interface components {
24415
24268
  * Source Type
24416
24269
  * @enum {string}
24417
24270
  */
24418
- source_type: "rest_api" | "webhook" | "file_drop" | "fhir" | "fhir_store" | "ehr" | "crm" | "database" | "custom" | "smart_fhir";
24271
+ source_type: "rest_api" | "webhook" | "file_drop" | "fhir" | "fhir_store" | "ehr" | "crm" | "database" | "custom" | "smart_fhir" | "customer_intake";
24419
24272
  };
24420
24273
  /** SourceOverviewResponse */
24421
24274
  SourceOverviewResponse: {
@@ -24475,7 +24328,7 @@ export interface components {
24475
24328
  * Source Type
24476
24329
  * @enum {string}
24477
24330
  */
24478
- source_type: "rest_api" | "webhook" | "file_drop" | "fhir" | "fhir_store" | "ehr" | "crm" | "database" | "custom" | "smart_fhir";
24331
+ source_type: "rest_api" | "webhook" | "file_drop" | "fhir" | "fhir_store" | "ehr" | "crm" | "database" | "custom" | "smart_fhir" | "customer_intake";
24479
24332
  };
24480
24333
  /** SourceStatus */
24481
24334
  SourceStatus: {
@@ -24514,7 +24367,7 @@ export interface components {
24514
24367
  * Source Type
24515
24368
  * @enum {string}
24516
24369
  */
24517
- source_type: "rest_api" | "webhook" | "file_drop" | "fhir" | "fhir_store" | "ehr" | "crm" | "database" | "custom" | "smart_fhir";
24370
+ source_type: "rest_api" | "webhook" | "file_drop" | "fhir" | "fhir_store" | "ehr" | "crm" | "database" | "custom" | "smart_fhir" | "customer_intake";
24518
24371
  /** Status */
24519
24372
  status: string;
24520
24373
  /**
@@ -27227,6 +27080,12 @@ export interface components {
27227
27080
  TurnToolCallCompletedEvent: {
27228
27081
  /** Call Id */
27229
27082
  call_id: string;
27083
+ /**
27084
+ * Duration Ms
27085
+ * @description Wall-clock tool execution time in milliseconds, measured at the engage_step call site. Null when the upstream did not report timing (legacy/test paths).
27086
+ * @default null
27087
+ */
27088
+ duration_ms?: number | null;
27230
27089
  /**
27231
27090
  * @description discriminator enum property added by openapi-typescript
27232
27091
  * @enum {string}
@@ -33438,45 +33297,6 @@ export interface operations {
33438
33297
  };
33439
33298
  };
33440
33299
  };
33441
- list_drivers_v1__workspace_id__causal_drivers_get: {
33442
- parameters: {
33443
- query: {
33444
- outcome_family: "disease_incidence";
33445
- outcome_key: string;
33446
- feature_family?: ("demographic" | "comorbidity") | null;
33447
- feature_arity?: (1 | 2) | null;
33448
- min_support_only?: boolean;
33449
- sort_by?: "spr" | "observed" | "feature_population";
33450
- limit?: number;
33451
- };
33452
- header?: never;
33453
- path: {
33454
- workspace_id: string;
33455
- };
33456
- cookie?: never;
33457
- };
33458
- requestBody?: never;
33459
- responses: {
33460
- /** @description Successful Response */
33461
- 200: {
33462
- headers: {
33463
- [name: string]: unknown;
33464
- };
33465
- content: {
33466
- "application/json": components["schemas"]["DriversResponse"];
33467
- };
33468
- };
33469
- /** @description Validation Error */
33470
- 422: {
33471
- headers: {
33472
- [name: string]: unknown;
33473
- };
33474
- content: {
33475
- "application/json": components["schemas"]["HTTPValidationError"];
33476
- };
33477
- };
33478
- };
33479
- };
33480
33300
  "list-ses-setups": {
33481
33301
  parameters: {
33482
33302
  query?: {
@@ -35505,98 +35325,6 @@ export interface operations {
35505
35325
  };
35506
35326
  };
35507
35327
  };
35508
- "start-demo-pulse": {
35509
- parameters: {
35510
- query?: never;
35511
- header?: never;
35512
- path: {
35513
- workspace_id: string;
35514
- };
35515
- cookie?: never;
35516
- };
35517
- requestBody: {
35518
- content: {
35519
- "application/json": components["schemas"]["DemoPulseStartRequest"];
35520
- };
35521
- };
35522
- responses: {
35523
- /** @description Successful Response */
35524
- 200: {
35525
- headers: {
35526
- [name: string]: unknown;
35527
- };
35528
- content: {
35529
- "application/json": components["schemas"]["DemoPulseTaskResponse"];
35530
- };
35531
- };
35532
- /** @description Validation Error */
35533
- 422: {
35534
- headers: {
35535
- [name: string]: unknown;
35536
- };
35537
- content: {
35538
- "application/json": components["schemas"]["HTTPValidationError"];
35539
- };
35540
- };
35541
- };
35542
- };
35543
- "get-demo-pulse-status": {
35544
- parameters: {
35545
- query?: never;
35546
- header?: never;
35547
- path: {
35548
- workspace_id: string;
35549
- };
35550
- cookie?: never;
35551
- };
35552
- requestBody?: never;
35553
- responses: {
35554
- /** @description Successful Response */
35555
- 200: {
35556
- headers: {
35557
- [name: string]: unknown;
35558
- };
35559
- content: {
35560
- "application/json": components["schemas"]["DemoPulseStatusResponse"];
35561
- };
35562
- };
35563
- };
35564
- };
35565
- "stop-demo-pulse": {
35566
- parameters: {
35567
- query?: never;
35568
- header?: never;
35569
- path: {
35570
- workspace_id: string;
35571
- };
35572
- cookie?: never;
35573
- };
35574
- requestBody: {
35575
- content: {
35576
- "application/json": components["schemas"]["DemoPulseStopRequest"];
35577
- };
35578
- };
35579
- responses: {
35580
- /** @description Successful Response */
35581
- 200: {
35582
- headers: {
35583
- [name: string]: unknown;
35584
- };
35585
- content: {
35586
- "application/json": components["schemas"]["DemoPulseStopResponse"];
35587
- };
35588
- };
35589
- /** @description Validation Error */
35590
- 422: {
35591
- headers: {
35592
- [name: string]: unknown;
35593
- };
35594
- content: {
35595
- "application/json": components["schemas"]["HTTPValidationError"];
35596
- };
35597
- };
35598
- };
35599
- };
35600
35328
  create_desktop_session_v1__workspace_id__desktop_sessions_post: {
35601
35329
  parameters: {
35602
35330
  query?: never;
@@ -36130,6 +35858,8 @@ export interface operations {
36130
35858
  source?: string;
36131
35859
  source_system?: string | null;
36132
35860
  data_source_id?: string | null;
35861
+ /** @description Skip identical re-uploads via content-hash dedup */
35862
+ dedup?: boolean;
36133
35863
  };
36134
35864
  header?: never;
36135
35865
  path: {
@@ -48462,7 +48192,7 @@ export interface operations {
48462
48192
  };
48463
48193
  content?: never;
48464
48194
  };
48465
- /** @description Use case is bound to a workspace, or still has active phone assignments. */
48195
+ /** @description Use case is bound to a service, or still has active phone assignments. */
48466
48196
  409: {
48467
48197
  headers: {
48468
48198
  [name: string]: unknown;
@@ -48494,7 +48224,7 @@ export interface operations {
48494
48224
  };
48495
48225
  };
48496
48226
  };
48497
- "bind-use-case": {
48227
+ "get-use-case-service-binding": {
48498
48228
  parameters: {
48499
48229
  query?: never;
48500
48230
  header?: never;
@@ -48507,12 +48237,12 @@ export interface operations {
48507
48237
  requestBody?: never;
48508
48238
  responses: {
48509
48239
  /** @description Successful Response */
48510
- 201: {
48240
+ 200: {
48511
48241
  headers: {
48512
48242
  [name: string]: unknown;
48513
48243
  };
48514
48244
  content: {
48515
- "application/json": components["schemas"]["BindingResponse"];
48245
+ "application/json": components["schemas"]["ServiceBindingResponse"];
48516
48246
  };
48517
48247
  };
48518
48248
  /** @description Insufficient permissions. */
@@ -48522,28 +48252,76 @@ export interface operations {
48522
48252
  };
48523
48253
  content?: never;
48524
48254
  };
48525
- /** @description Use case not found. */
48255
+ /** @description Use case is not bound to a service in this workspace. */
48526
48256
  404: {
48527
48257
  headers: {
48528
48258
  [name: string]: unknown;
48529
48259
  };
48530
48260
  content?: never;
48531
48261
  };
48532
- /** @description Use case is already bound to a different workspace. */
48262
+ /** @description Validation Error */
48263
+ 422: {
48264
+ headers: {
48265
+ [name: string]: unknown;
48266
+ };
48267
+ content: {
48268
+ "application/json": components["schemas"]["HTTPValidationError"];
48269
+ };
48270
+ };
48271
+ };
48272
+ };
48273
+ "bind-use-case-to-service": {
48274
+ parameters: {
48275
+ query?: never;
48276
+ header?: never;
48277
+ path: {
48278
+ workspace_id: string;
48279
+ use_case_id: string;
48280
+ };
48281
+ cookie?: never;
48282
+ };
48283
+ requestBody: {
48284
+ content: {
48285
+ "application/json": components["schemas"]["ServiceBindingRequest"];
48286
+ };
48287
+ };
48288
+ responses: {
48289
+ /** @description Successful Response */
48290
+ 200: {
48291
+ headers: {
48292
+ [name: string]: unknown;
48293
+ };
48294
+ content: {
48295
+ "application/json": components["schemas"]["ServiceBindingResponse"];
48296
+ };
48297
+ };
48298
+ /** @description Insufficient permissions. */
48299
+ 403: {
48300
+ headers: {
48301
+ [name: string]: unknown;
48302
+ };
48303
+ content?: never;
48304
+ };
48305
+ /** @description Use case or service not found. */
48306
+ 404: {
48307
+ headers: {
48308
+ [name: string]: unknown;
48309
+ };
48310
+ content?: never;
48311
+ };
48312
+ /** @description Service already has a different use case bound for this channel. */
48533
48313
  409: {
48534
48314
  headers: {
48535
48315
  [name: string]: unknown;
48536
48316
  };
48537
48317
  content?: never;
48538
48318
  };
48539
- /** @description Validation Error */
48319
+ /** @description Unsupported use case channel. */
48540
48320
  422: {
48541
48321
  headers: {
48542
48322
  [name: string]: unknown;
48543
48323
  };
48544
- content: {
48545
- "application/json": components["schemas"]["HTTPValidationError"];
48546
- };
48324
+ content?: never;
48547
48325
  };
48548
48326
  /** @description Channel manager unavailable. */
48549
48327
  502: {
@@ -48561,7 +48339,7 @@ export interface operations {
48561
48339
  };
48562
48340
  };
48563
48341
  };
48564
- "unbind-use-case": {
48342
+ "unbind-use-case-from-service": {
48565
48343
  parameters: {
48566
48344
  query?: never;
48567
48345
  header?: never;
@@ -48587,7 +48365,7 @@ export interface operations {
48587
48365
  };
48588
48366
  content?: never;
48589
48367
  };
48590
- /** @description Use case is not bound to this workspace. */
48368
+ /** @description Use case is not bound to a service in this workspace. */
48591
48369
  404: {
48592
48370
  headers: {
48593
48371
  [name: string]: unknown;
@@ -49488,10 +49266,8 @@ export interface operations {
49488
49266
  source?: string | null;
49489
49267
  /** @description Filter by source system name (e.g. hubspot, revolution) */
49490
49268
  source_system?: string | null;
49491
- /** @description Semantic search via pgvector cosine similarity on entity embeddings. Entity embeddings encode the full projected state — clinical conditions, demographics, relationships. Example: 'diabetes patients in Abu Dhabi'. */
49492
- semantic?: string | null;
49493
- /** @description Filter by entity tags (array overlap) */
49494
- tags?: string[] | null;
49269
+ /** @description Filter by FHIR resource type (e.g. Patient, Practitioner) */
49270
+ fhir_resource_type?: string | null;
49495
49271
  };
49496
49272
  header?: never;
49497
49273
  path: {