@kortexya/reasoninglayer 1.18.0 → 1.20.0

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.ts CHANGED
@@ -109,7 +109,7 @@ type JsonValue$1 = string | number | boolean | null | JsonValue$1[] | object;
109
109
  * This is the single source of truth for the version constant.
110
110
  * The `scripts/release.sh` script updates this value alongside `package.json`.
111
111
  */
112
- declare const SDK_VERSION = "1.18.0";
112
+ declare const SDK_VERSION = "1.20.0";
113
113
  /**
114
114
  * Authentication mode for the SDK.
115
115
  *
@@ -253,13 +253,7 @@ interface HttpResponse<D extends unknown, E extends unknown = unknown> extends R
253
253
  error: E;
254
254
  }
255
255
  type CancelToken = Symbol | string | number;
256
- declare enum ContentType {
257
- Json = "application/json",
258
- JsonApi = "application/vnd.api+json",
259
- FormData = "multipart/form-data",
260
- UrlEncoded = "application/x-www-form-urlencoded",
261
- Text = "text/plain"
262
- }
256
+ type ContentType = "application/json" | "application/vnd.api+json" | "multipart/form-data" | "application/x-www-form-urlencoded" | "text/plain";
263
257
  declare class HttpClient<SecurityDataType = unknown> {
264
258
  baseUrl: string;
265
259
  private securityData;
@@ -401,9 +395,9 @@ type ActionReviewStatusDto$1 = "pending" | "approved" | "rejected" | "modified"
401
395
  /** Summary statistics for pending action reviews */
402
396
  interface ActionReviewSummaryDto$1 {
403
397
  /** Breakdown by action sort */
404
- by_action_sort: Record<string, number>;
398
+ by_action_sort: Partial<Record<string, number>>;
405
399
  /** Breakdown by review reason */
406
- by_reason: Record<string, number>;
400
+ by_reason: Partial<Record<string, number>>;
407
401
  /**
408
402
  * Reviews expiring soon (< 15 minutes)
409
403
  * @min 0
@@ -620,14 +614,14 @@ interface AddConnectorResponse$1 {
620
614
  }
621
615
  /** Request to add constraints to an existing session */
622
616
  interface AddConstraintsRequest$1 {
623
- bindings?: object | null;
617
+ bindings?: Partial<Record<string, number>> | null;
624
618
  constraints: GeneralConstraintDto$1[];
625
619
  }
626
620
  /** Response from adding constraints */
627
621
  interface AddConstraintsResponse$1 {
628
622
  /** @min 0 */
629
623
  added_count: number;
630
- current_bindings: Record<string, number>;
624
+ current_bindings: Partial<Record<string, number>>;
631
625
  message?: string | null;
632
626
  /** @min 0 */
633
627
  satisfied_count: number;
@@ -731,7 +725,7 @@ interface AddPendingReviewRequest$1 {
731
725
  /** @format double */
732
726
  confidence: number;
733
727
  entity_id: string;
734
- features: Record<string, any>;
728
+ features: Partial<Record<string, any>>;
735
729
  /** @format uuid */
736
730
  owner_id: string;
737
731
  /** Reason why an entity requires review */
@@ -807,6 +801,13 @@ interface AgUiContextItem {
807
801
  /** The value. */
808
802
  value?: string;
809
803
  }
804
+ /** A function invocation inside a tool call. */
805
+ interface AgUiFunctionCall {
806
+ /** JSON-encoded arguments. */
807
+ arguments?: string;
808
+ /** Function name. */
809
+ name: string;
810
+ }
810
811
  /** A conversation message. */
811
812
  interface AgUiMessage {
812
813
  /** Text content. */
@@ -818,7 +819,7 @@ interface AgUiMessage {
818
819
  /** For `tool` messages: the call this message answers. */
819
820
  toolCallId?: string | null;
820
821
  /** Tool calls issued by an assistant message. */
821
- toolCalls?: any[] | null;
822
+ toolCalls?: AgUiToolCall[] | null;
822
823
  }
823
824
  /** A frontend tool definition offered by the client. */
824
825
  interface AgUiTool {
@@ -829,6 +830,15 @@ interface AgUiTool {
829
830
  /** JSON Schema of the tool parameters. */
830
831
  parameters?: any;
831
832
  }
833
+ /** A tool call embedded in an assistant message. */
834
+ interface AgUiToolCall {
835
+ /** The function invocation. */
836
+ function: AgUiFunctionCall;
837
+ /** Tool call id. */
838
+ id: string;
839
+ /** Call type (`function`). */
840
+ type?: string;
841
+ }
832
842
  /** Belief state DTO. */
833
843
  interface AgentBeliefDto$1 {
834
844
  /**
@@ -837,7 +847,7 @@ interface AgentBeliefDto$1 {
837
847
  */
838
848
  confidence: number;
839
849
  /** Features as key-value pairs (excluding confidence and source) */
840
- features?: Record<string, JsonValue>;
850
+ features?: Partial<Record<string, JsonValue>>;
841
851
  /** Sort name of the belief */
842
852
  sort_name: string;
843
853
  /** Source */
@@ -882,7 +892,7 @@ interface AgentGoalDto$1 {
882
892
  */
883
893
  attempts: number;
884
894
  /** User-facing features (excluding internal: agent_id, status, priority, attempts, goal_sort, confidence, source, when) */
885
- features?: Record<string, JsonValue>;
895
+ features?: Partial<Record<string, JsonValue>>;
886
896
  /** Sort name of the goal (e.g. "tech_conference_plan") */
887
897
  goal_sort?: string | null;
888
898
  /**
@@ -1229,7 +1239,7 @@ type AnonymizationMode$1 = {
1229
1239
  * Quasi-identifier field definitions. At least one entry required.
1230
1240
  * Key = field name; value = generalisation strategy.
1231
1241
  */
1232
- quasi_identifiers: Record<string, object>;
1242
+ quasi_identifiers: Partial<Record<string, object>>;
1233
1243
  type: "k_anonymity";
1234
1244
  } | {
1235
1245
  /**
@@ -1238,7 +1248,7 @@ type AnonymizationMode$1 = {
1238
1248
  * heuristics). Providing explicit mappings is more reliable for
1239
1249
  * domain-specific schemas.
1240
1250
  */
1241
- field_identifiers?: Record<string, object>;
1251
+ field_identifiers?: Partial<Record<string, object>>;
1242
1252
  type: "safe_harbor";
1243
1253
  };
1244
1254
  /** Request body for `POST /api/v1/anonymize`. */
@@ -1256,7 +1266,7 @@ interface AnonymizeRequest$1 {
1256
1266
  * caller (e.g. `"42"`) to remain format-agnostic at the API boundary.
1257
1267
  * Maximum 10 000 records per request.
1258
1268
  */
1259
- records: Record<string, string>[];
1269
+ records: Partial<Record<string, string>>[];
1260
1270
  }
1261
1271
  /** Response body for `POST /api/v1/anonymize`. */
1262
1272
  interface AnonymizeResponse$1 {
@@ -1272,7 +1282,7 @@ interface AnonymizeResponse$1 {
1272
1282
  * Harbor, PHI fields within each record are replaced with
1273
1283
  * `"[SUPPRESSED]"` — no records are removed.
1274
1284
  */
1275
- output_records: Record<string, string>[];
1285
+ output_records: Partial<Record<string, string>>[];
1276
1286
  /**
1277
1287
  * Safe Harbor de-identification summary. Present when mode is
1278
1288
  * `safe_harbor`; null otherwise.
@@ -1364,8 +1374,8 @@ interface AntiUnifyResponse$1 {
1364
1374
  lgg_term_id: string;
1365
1375
  }
1366
1376
  interface AppendRequest$1 {
1367
- data_versions?: Record<string, string>;
1368
- extra?: Record<string, any>;
1377
+ data_versions?: Partial<Record<string, string>>;
1378
+ extra?: Partial<Record<string, any>>;
1369
1379
  request_hash: string;
1370
1380
  request_path: string;
1371
1381
  response_hash: string;
@@ -1393,7 +1403,7 @@ interface ApplyActionRequest$1 {
1393
1403
  /** Multi-term edits to commit atomically when the action is `Ready`. */
1394
1404
  edits?: TermEditDto[];
1395
1405
  /** Bound input features (`feature → JSON value`). */
1396
- inputs?: Record<string, any>;
1406
+ inputs?: Partial<Record<string, any>>;
1397
1407
  }
1398
1408
  /** Outcome of applying an action (the `outcome` field discriminates). */
1399
1409
  type ApplyActionResponse$1 = {
@@ -1612,7 +1622,7 @@ interface AssembleContextResponseDto {
1612
1622
  }
1613
1623
  /** Assembled concept DTO */
1614
1624
  interface AssembledConceptDto$1 {
1615
- features: Record<string, string>;
1625
+ features: Partial<Record<string, string>>;
1616
1626
  name: string;
1617
1627
  /** @format double */
1618
1628
  relevance: number;
@@ -1949,8 +1959,8 @@ interface AuditPage$1 {
1949
1959
  */
1950
1960
  interface AuditRecord$1 {
1951
1961
  actor?: null | UserId;
1952
- data_versions: Record<string, string>;
1953
- extra: Record<string, object>;
1962
+ data_versions: Partial<Record<string, string>>;
1963
+ extra: Partial<Record<string, object>>;
1954
1964
  git_revision: string;
1955
1965
  id: AuditRecordId;
1956
1966
  prev_hash: string;
@@ -2022,7 +2032,7 @@ interface AugmentationTargetDto$1 {
2022
2032
  * `ontology/generate` question contract so frontends reuse one form).
2023
2033
  */
2024
2034
  interface AuthoringClarificationQuestionDto$1 {
2025
- choices?: any[] | null;
2035
+ choices?: string[] | null;
2026
2036
  default?: string | null;
2027
2037
  field: string;
2028
2038
  id: string;
@@ -2047,7 +2057,7 @@ interface AuthzDryRunRequest$1 {
2047
2057
  * sort lattice (an unknown sort name resolves to no ancestors, matching
2048
2058
  * the contract's "empty if unknown").
2049
2059
  */
2050
- sortAncestors?: any[] | null;
2060
+ sortAncestors?: string[] | null;
2051
2061
  /**
2052
2062
  * Term features for row-level evaluation, as a plain JSON object
2053
2063
  * (string / number / boolean / array values). Omit (or `null`) for a
@@ -2381,7 +2391,7 @@ type BayesianEffectDto$1 = {
2381
2391
  d: number;
2382
2392
  shape: "pi_shape";
2383
2393
  } | {
2384
- points: any[][];
2394
+ points: [number, number][];
2385
2395
  shape: "piecewise_linear";
2386
2396
  };
2387
2397
  /**
@@ -2472,7 +2482,7 @@ interface BayesianPredictResponse$1 {
2472
2482
  */
2473
2483
  interface BeliefDto$1 {
2474
2484
  /** Features as key-value pairs (raw JSON values) */
2475
- features?: Record<string, JsonValue>;
2485
+ features?: Partial<Record<string, JsonValue>>;
2476
2486
  /**
2477
2487
  * Sort name for the belief (for human-friendly input)
2478
2488
  * Kept as "sort" for backward compatibility with existing clients
@@ -2543,12 +2553,12 @@ interface BindVariableResponse$1 {
2543
2553
  }
2544
2554
  /** Request to bind variables in a session */
2545
2555
  interface BindVariablesRequest$1 {
2546
- bindings: Record<string, number>;
2556
+ bindings: Partial<Record<string, number>>;
2547
2557
  }
2548
2558
  /** Response from binding variables */
2549
2559
  interface BindVariablesResponse$1 {
2550
2560
  all_satisfied: boolean;
2551
- current_bindings: Record<string, number>;
2561
+ current_bindings: Partial<Record<string, number>>;
2552
2562
  message?: string | null;
2553
2563
  /** @min 0 */
2554
2564
  newly_satisfied: number;
@@ -2590,6 +2600,15 @@ interface BindingSummaryDto$1 {
2590
2600
  feature_count: number;
2591
2601
  /** Primary key column names. */
2592
2602
  key_columns: string[];
2603
+ /**
2604
+ * Where those key columns came from, and what that implies for the
2605
+ * durability of ids derived from them (#131).
2606
+ *
2607
+ * The column names cannot say it: `["title"]` looks identical whether a
2608
+ * uniqueness constraint backs it or an operator ticked it, and those two
2609
+ * have opposite durability.
2610
+ */
2611
+ key_provenance: KeyProvenanceDto;
2593
2612
  /** Sort ID (UUID string). */
2594
2613
  sort_id: string;
2595
2614
  /**
@@ -2991,7 +3010,7 @@ interface BulkCreateSortsResponse$1 {
2991
3010
  /** Any errors encountered (sort name -> error message) */
2992
3011
  errors?: BulkSortError$1[];
2993
3012
  /** Mapping of sort name -> sort ID */
2994
- sort_ids: Record<string, string>;
3013
+ sort_ids: Partial<Record<string, string>>;
2995
3014
  }
2996
3015
  /**
2997
3016
  * Request for bulk fuzzy inference - multiple goals in one HTTP request.
@@ -3005,7 +3024,7 @@ interface BulkFuzzyProveRequest$1 {
3005
3024
  * Array of saved goal IDs to load and prove.
3006
3025
  * Either `goals` or `goal_ids` must be provided, but not both.
3007
3026
  */
3008
- goal_ids?: any[] | null;
3027
+ goal_ids?: string[] | null;
3009
3028
  /**
3010
3029
  * Array of goals to prove (each goal is a TermInputDto).
3011
3030
  * Either `goals` or `goal_ids` must be provided, but not both.
@@ -3046,7 +3065,7 @@ interface BulkFuzzyProveResponse$1 {
3046
3065
  * TRUE HOMOICONICITY: Goal IDs if goals were saved (when save_goals=true).
3047
3066
  * In the same order as the request goals.
3048
3067
  */
3049
- goal_ids?: any[] | null;
3068
+ goal_ids?: string[] | null;
3050
3069
  /** Results for each goal, in the same order as the request */
3051
3070
  results: FuzzyProveResponse$1[];
3052
3071
  /**
@@ -3148,7 +3167,7 @@ interface BulkRetractTermsResponse {
3148
3167
  /** Response from bulk review actions */
3149
3168
  interface BulkReviewResponse {
3150
3169
  /** Review IDs that failed with reasons */
3151
- failed_ids: any[][];
3170
+ failed_ids: [string, string][];
3152
3171
  /**
3153
3172
  * Number of reviews that failed
3154
3173
  * @min 0
@@ -3200,7 +3219,7 @@ interface CalibrateRequest$1 {
3200
3219
  /** Extraction predictions with confidence and correctness. */
3201
3220
  predictions: ExtractionPredictionDto$1[];
3202
3221
  /** Sort ID to name mapping. */
3203
- sort_names: Record<string, string>;
3222
+ sort_names: Partial<Record<string, string>>;
3204
3223
  }
3205
3224
  /** ECE calibration report. */
3206
3225
  interface CalibrationReportDto$1 {
@@ -3233,7 +3252,7 @@ interface CalibrationSampleDto {
3233
3252
  * Per-class predicted probabilities / scores produced by the classifier.
3234
3253
  * The `true_label` key must be present. Each value must be in `[0, 1]`.
3235
3254
  */
3236
- class_scores: Record<string, number>;
3255
+ class_scores: Partial<Record<string, number>>;
3237
3256
  /** Caller-assigned identifier for this sample. */
3238
3257
  input_id: string;
3239
3258
  /** Ground-truth class label for this sample. */
@@ -3271,7 +3290,7 @@ interface CandidateEntityDto {
3271
3290
  */
3272
3291
  confidence?: number;
3273
3292
  /** Extracted features, by name. */
3274
- features?: Record<string, CandidateValueDto>;
3293
+ features?: Partial<Record<string, CandidateValueDto>>;
3275
3294
  /** Batch-local id, used to attach relations to this entity. */
3276
3295
  local_id: string;
3277
3296
  /** Sort name this entity claims. */
@@ -3402,7 +3421,7 @@ interface CausalActionSpecDto$1 {
3402
3421
  }
3403
3422
  interface CausalAnalyzeAssumptionsDto$1 {
3404
3423
  /** Discovery method allow-list. Defaults to all supported discovery methods. */
3405
- allowed_methods?: any[] | null;
3424
+ allowed_methods?: string[] | null;
3406
3425
  /** Assignment mechanism for effect/decision questions. Default: observed. */
3407
3426
  assignment?: null | AssignmentMechanismDto;
3408
3427
  /** ANM independence-test config. */
@@ -4032,7 +4051,7 @@ type ClaimVerdictDto = {
4032
4051
  };
4033
4052
  /** Clarification question DTO (reused from ontology_generate pattern). */
4034
4053
  interface ClarificationQuestionDto$1 {
4035
- choices?: any[] | null;
4054
+ choices?: string[] | null;
4036
4055
  default?: string | null;
4037
4056
  field: string;
4038
4057
  id: string;
@@ -4082,7 +4101,7 @@ interface ClassifyProblemRequest$1 {
4082
4101
  * Variables to classify. Omit (or send empty) to classify every
4083
4102
  * binary variable.
4084
4103
  */
4085
- variables_of_interest?: any[] | null;
4104
+ variables_of_interest?: string[] | null;
4086
4105
  }
4087
4106
  /** Response body for `POST /api/v1/solver/classify`. */
4088
4107
  interface ClassifyProblemResponse$1 {
@@ -4090,12 +4109,12 @@ interface ClassifyProblemResponse$1 {
4090
4109
  * Variable-name → baseline solve value. Useful for displaying a
4091
4110
  * concrete witness alongside the classification.
4092
4111
  */
4093
- baseline_values: Record<string, number>;
4112
+ baseline_values: Partial<Record<string, number>>;
4094
4113
  /**
4095
4114
  * Variable-name → classification. Empty when baseline is
4096
4115
  * infeasible.
4097
4116
  */
4098
- classifications: Record<string, VariableClassification$1>;
4117
+ classifications: Partial<Record<string, VariableClassification$1>>;
4099
4118
  message?: string | null;
4100
4119
  /** @format double */
4101
4120
  solve_time_ms: number;
@@ -4116,7 +4135,7 @@ interface ClassifySafetyRequest$1 {
4116
4135
  /** Response for safety classification. */
4117
4136
  interface ClassifySafetyResponse$1 {
4118
4137
  /** Per-category activations. */
4119
- category_activations: Record<string, number>;
4138
+ category_activations: Partial<Record<string, number>>;
4120
4139
  /**
4121
4140
  * Elapsed time in milliseconds.
4122
4141
  * @format int64
@@ -4126,9 +4145,9 @@ interface ClassifySafetyResponse$1 {
4126
4145
  /** Model architecture info. */
4127
4146
  model_info: SafetyModelInfoDto$1;
4128
4147
  /** Per-question binary decisions. */
4129
- question_decisions: Record<string, boolean>;
4148
+ question_decisions: Partial<Record<string, boolean>>;
4130
4149
  /** Per-question probabilities. */
4131
- question_probabilities: Record<string, number>;
4150
+ question_probabilities: Partial<Record<string, number>>;
4132
4151
  }
4133
4152
  /** Response for cleanup operations */
4134
4153
  interface CleanupResponse$1 {
@@ -4307,7 +4326,7 @@ interface ClusteredObservationDto$1 {
4307
4326
  */
4308
4327
  interface CognitiveTermInput$1 {
4309
4328
  /** Features as key-value pairs (raw JSON values) */
4310
- features?: Record<string, JsonValue>;
4329
+ features?: Partial<Record<string, JsonValue>>;
4311
4330
  /**
4312
4331
  * Sort name (for human-friendly input)
4313
4332
  * Kept as "sort" for backward compatibility with existing clients
@@ -4340,7 +4359,7 @@ interface CoherenceAnalyzeRequestDto {
4340
4359
  */
4341
4360
  rules_osfql?: string | null;
4342
4361
  /** Explicit claim term ids, in reading order (highest precedence). */
4343
- term_ids?: any[] | null;
4362
+ term_ids?: string[] | null;
4344
4363
  /**
4345
4364
  * Consult the tenant KB's homoiconic rules in the derivation layer.
4346
4365
  * Default true (rules ARE the tenant's declared constraints; an empty
@@ -4833,11 +4852,11 @@ interface ComputeLubResponse$1 {
4833
4852
  interface ConceptMatchDto$1 {
4834
4853
  canonical_name: string;
4835
4854
  concept_id: string;
4836
- features: Record<string, any>;
4855
+ features: Partial<Record<string, any>>;
4837
4856
  /** @format double */
4838
4857
  match_degree: number;
4839
4858
  match_reason: string;
4840
- name_variants?: object | null;
4859
+ name_variants?: Partial<Record<string, string>> | null;
4841
4860
  source_ids: string[];
4842
4861
  }
4843
4862
  /** Request for conditional execution */
@@ -5356,10 +5375,10 @@ interface ConstraintSessionStatusResponse {
5356
5375
  constraint_count: number;
5357
5376
  /** @format date-time */
5358
5377
  created_at: string;
5359
- current_bindings: Record<string, number>;
5378
+ current_bindings: Partial<Record<string, number>>;
5360
5379
  /** @format date-time */
5361
5380
  last_accessed: string;
5362
- metadata: Record<string, string>;
5381
+ metadata: Partial<Record<string, string>>;
5363
5382
  /** @min 0 */
5364
5383
  satisfied_count: number;
5365
5384
  /** @format uuid */
@@ -5440,6 +5459,72 @@ interface ContinuousTreatmentObservationDto$1 {
5440
5459
  */
5441
5460
  y: number;
5442
5461
  }
5462
+ /** A detected contradiction between two claims. */
5463
+ interface Contradiction {
5464
+ /** OSFKB term ID of the first claim. */
5465
+ claim_a_id: string;
5466
+ /**
5467
+ * Papers the first claim was extracted from.
5468
+ *
5469
+ * Without it "these two claims disagree" is unactionable — a reader cannot
5470
+ * tell which literature each side comes from.
5471
+ * Defaulted so sessions persisted before attribution existed still load.
5472
+ */
5473
+ claim_a_sources?: PaperRef[];
5474
+ /** OSFKB term ID of the second claim. */
5475
+ claim_b_id: string;
5476
+ /**
5477
+ * Papers the second claim was extracted from.
5478
+ *
5479
+ * Defaulted so sessions persisted before attribution existed still load.
5480
+ */
5481
+ claim_b_sources?: PaperRef[];
5482
+ /**
5483
+ * Disentailment confidence score.
5484
+ * @format double
5485
+ */
5486
+ confidence: number;
5487
+ /** Explanation of the contradiction. */
5488
+ explanation: string;
5489
+ /** Resolution of the contradiction, if resolved via evidence comparison. */
5490
+ resolution?: null | ContradictionResolution;
5491
+ /** Statement of the first claim. */
5492
+ statement_a: string;
5493
+ /** Statement of the second claim. */
5494
+ statement_b: string;
5495
+ }
5496
+ /**
5497
+ * Resolution of a detected contradiction based on evidence strength comparison.
5498
+ *
5499
+ * When two claims contradict each other, we compare their evidence assessment
5500
+ * scores to determine which claim is better supported. The claim with stronger
5501
+ * evidence is preferred; the weaker one is dismissed.
5502
+ */
5503
+ interface ContradictionResolution {
5504
+ /**
5505
+ * Confidence in the resolution (0.0-1.0).
5506
+ * @format double
5507
+ */
5508
+ confidence: number;
5509
+ /** ID of the dismissed claim (weaker evidence). */
5510
+ dismissed_claim_id: string;
5511
+ /**
5512
+ * Truthfulness score of the dismissed claim.
5513
+ * @format double
5514
+ */
5515
+ dismissed_truthfulness: number;
5516
+ /** Human-readable explanation of the resolution. */
5517
+ explanation: string;
5518
+ /** ID of the preferred claim (stronger evidence). */
5519
+ preferred_claim_id: string;
5520
+ /**
5521
+ * Truthfulness score of the preferred claim.
5522
+ * @format double
5523
+ */
5524
+ preferred_truthfulness: number;
5525
+ /** Strategy used to resolve the contradiction. */
5526
+ strategy: ResolutionStrategy;
5527
+ }
5443
5528
  /**
5444
5529
  * Configuration for training on conversation data.
5445
5530
  *
@@ -5491,6 +5576,11 @@ interface ConversationTrainingConfigDto$1 {
5491
5576
  */
5492
5577
  use_real_conversations?: boolean;
5493
5578
  }
5579
+ /** Conversation turn in request format */
5580
+ interface ConversationTurnDto$1 {
5581
+ content: string;
5582
+ role: string;
5583
+ }
5494
5584
  /** A single coordinated resource set (N resources matched together) */
5495
5585
  interface CoordinatedResourceSet$1 {
5496
5586
  /**
@@ -5572,7 +5662,7 @@ interface CorpusScopeDto {
5572
5662
  /** Collection path (exact match) to scope to. */
5573
5663
  collection?: string | null;
5574
5664
  /** Explicit document ids (overrides `collection` when present). */
5575
- document_ids?: any[] | null;
5665
+ document_ids?: string[] | null;
5576
5666
  /**
5577
5667
  * Max documents in scope (default 200, hard cap 1000).
5578
5668
  * @min 0
@@ -5582,7 +5672,7 @@ interface CorpusScopeDto {
5582
5672
  /** Request to correct an entity before approval */
5583
5673
  interface CorrectEntityRequest$1 {
5584
5674
  /** Corrected features */
5585
- features?: object | null;
5675
+ features?: Partial<Record<string, any>> | null;
5586
5676
  /** Correction notes */
5587
5677
  notes?: string | null;
5588
5678
  /**
@@ -5644,13 +5734,13 @@ interface CorrelationResponse$1 {
5644
5734
  */
5645
5735
  interface CounterExampleDto {
5646
5736
  /** Present for `"lasso"`: the repeating cycle (re-enters at its first state). */
5647
- cycle?: any[] | null;
5737
+ cycle?: number[] | null;
5648
5738
  /** Discriminator: `"finite_path"` or `"lasso"`. */
5649
5739
  kind: string;
5650
5740
  /** Present for `"lasso"`: finite prefix before the cycle begins. */
5651
- prefix?: any[] | null;
5741
+ prefix?: number[] | null;
5652
5742
  /** Present for `"finite_path"`: sequence of state IDs showing the failure. */
5653
- trace?: any[] | null;
5743
+ trace?: number[] | null;
5654
5744
  }
5655
5745
  /** Request to evaluate a counterfactual query */
5656
5746
  interface CounterfactualRequest$1 {
@@ -5661,7 +5751,7 @@ interface CounterfactualRequest$1 {
5661
5751
  /** Consequent: the variable we're querying in the counterfactual world */
5662
5752
  consequent_variable: string;
5663
5753
  /** Factual evidence (observed values in the actual world) */
5664
- evidence: Record<string, any>;
5754
+ evidence: Partial<Record<string, any>>;
5665
5755
  }
5666
5756
  /** Response for counterfactual query */
5667
5757
  interface CounterfactualResponse$1 {
@@ -5814,7 +5904,7 @@ interface CreateCollectionRequest$1 {
5814
5904
  */
5815
5905
  interface CreateConstraintSessionRequest$1 {
5816
5906
  description?: string | null;
5817
- metadata?: object | null;
5907
+ metadata?: Partial<Record<string, string>> | null;
5818
5908
  name?: string | null;
5819
5909
  }
5820
5910
  /** Request to create a curried function */
@@ -5923,6 +6013,40 @@ interface CreateModuleResponse$1 {
5923
6013
  module_name: string;
5924
6014
  success: boolean;
5925
6015
  }
6016
+ /** Request to create a new research session. */
6017
+ interface CreateResearchSessionRequest$1 {
6018
+ /**
6019
+ * Maximum number of research cycles (overrides config default).
6020
+ * @min 0
6021
+ */
6022
+ max_cycles?: number | null;
6023
+ /**
6024
+ * Maximum number of papers to ingest (overrides config default).
6025
+ * @min 0
6026
+ */
6027
+ max_papers?: number | null;
6028
+ /** Restrict paper search to specific sources. */
6029
+ paper_sources?: string[] | null;
6030
+ /** The research question to investigate. */
6031
+ question: string;
6032
+ }
6033
+ /** Response after creating a research session (matches SDK's `CreateResearchSessionResponse`). */
6034
+ interface CreateResearchSessionResponse$1 {
6035
+ /** When the session was created (ISO 8601). */
6036
+ created_at: string;
6037
+ /** The research question. */
6038
+ question: string;
6039
+ /**
6040
+ * The assigned session ID.
6041
+ * @format uuid
6042
+ */
6043
+ session_id: string;
6044
+ /**
6045
+ * Current session status — the phase name alone; see
6046
+ * [`ResearchSessionStatusLabel`].
6047
+ */
6048
+ status: ResearchSessionStatusLabel;
6049
+ }
5926
6050
  /**
5927
6051
  * Request to create a root namespace
5928
6052
  *
@@ -5945,7 +6069,7 @@ interface CreateScenarioRequest$1 {
5945
6069
  /** Optional custom agent name. */
5946
6070
  agent_name?: string | null;
5947
6071
  /** Answers to clarification questions (2nd call in multi-turn flow). */
5948
- answers?: object | null;
6072
+ answers?: Partial<Record<string, string>> | null;
5949
6073
  /** Whether to create a cognitive agent from the scenario. */
5950
6074
  create_agent?: boolean;
5951
6075
  /** Whether to generate curriculum stages. */
@@ -6061,7 +6185,7 @@ interface CreateSpaceRequest$1 {
6061
6185
  /** Request to create a term in the term store */
6062
6186
  interface CreateStoreTermRequest$1 {
6063
6187
  /** Optional features to set on the term */
6064
- features?: Record<string, object>;
6188
+ features?: Partial<Record<string, object>>;
6065
6189
  sort_id: string;
6066
6190
  }
6067
6191
  /**
@@ -6107,7 +6231,7 @@ interface CreateTermInCollectionRequest$1 {
6107
6231
  */
6108
6232
  collection_id: string;
6109
6233
  /** Term features */
6110
- features: Record<string, ValueDto$1>;
6234
+ features: Partial<Record<string, ValueDto$1>>;
6111
6235
  /**
6112
6236
  * Namespace ID
6113
6237
  * @format uuid
@@ -6132,7 +6256,7 @@ interface CreateTermInCollectionRequest$1 {
6132
6256
  */
6133
6257
  interface CreateTermRequest$1 {
6134
6258
  /** Features map */
6135
- features: Record<string, ValueDto$1>;
6259
+ features: Partial<Record<string, ValueDto$1>>;
6136
6260
  /**
6137
6261
  * Optional client-supplied TermId. When present, the term is created
6138
6262
  * with that id; if a term with that id already exists in the tenant,
@@ -6328,7 +6452,7 @@ interface DataMixingStatsDto$1 {
6328
6452
  */
6329
6453
  real_ratio: number;
6330
6454
  /** Per-sort coverage counts. */
6331
- sort_coverage: Record<string, number>;
6455
+ sort_coverage: Partial<Record<string, number>>;
6332
6456
  /**
6333
6457
  * Number of synthetic examples.
6334
6458
  * @min 0
@@ -6345,6 +6469,17 @@ interface DataMixingStatsDto$1 {
6345
6469
  */
6346
6470
  total_count: number;
6347
6471
  }
6472
+ interface DataNeededDto {
6473
+ /**
6474
+ * Additional samples needed
6475
+ * @min 0
6476
+ */
6477
+ samples_needed: number;
6478
+ /** First variable */
6479
+ var_x: string;
6480
+ /** Second variable */
6481
+ var_y: string;
6482
+ }
6348
6483
  /** A single data point in the time series. */
6349
6484
  interface DataPointDto$1 {
6350
6485
  /**
@@ -6353,16 +6488,16 @@ interface DataPointDto$1 {
6353
6488
  */
6354
6489
  timestamp: string;
6355
6490
  /** Feature values. */
6356
- values: Record<string, number>;
6491
+ values: Partial<Record<string, number>>;
6357
6492
  }
6358
6493
  /** Statistics for an enhanced training dataset. */
6359
6494
  interface DatasetStatisticsDto$1 {
6360
6495
  /** Examples by format (Extraction, QA, FillBlank, etc.). */
6361
- by_format: Record<string, number>;
6496
+ by_format: Partial<Record<string, number>>;
6362
6497
  /** Examples by sort name. */
6363
- by_sort: Record<string, number>;
6498
+ by_sort: Partial<Record<string, number>>;
6364
6499
  /** Examples by source type (real, synthetic, verbalized, enhanced_negative). */
6365
- by_source: Record<string, number>;
6500
+ by_source: Partial<Record<string, number>>;
6366
6501
  /** Diversity analysis summary (if computed). */
6367
6502
  diversity_summary?: null | DiversityAnalysisDto$1;
6368
6503
  /**
@@ -6565,14 +6700,14 @@ interface DegreeDistributionDto$1 {
6565
6700
  */
6566
6701
  avg_node_degree: number;
6567
6702
  /** Hyperedge size histogram (size -> count) */
6568
- hyperedge_sizes: Record<number, number>;
6703
+ hyperedge_sizes: Partial<Record<number, number>>;
6569
6704
  /**
6570
6705
  * Maximum node degree
6571
6706
  * @min 0
6572
6707
  */
6573
6708
  max_node_degree: number;
6574
6709
  /** Node degree histogram (degree -> count) */
6575
- node_degrees: Record<number, number>;
6710
+ node_degrees: Partial<Record<number, number>>;
6576
6711
  }
6577
6712
  /** Response from deleting a cognitive agent. */
6578
6713
  interface DeleteAgentResponse$1 {
@@ -6732,7 +6867,7 @@ interface DerivedInferenceResultDto$1 {
6732
6867
  /** @format float */
6733
6868
  match_score: number;
6734
6869
  proceed: boolean;
6735
- sort_predictions: Record<string, number>;
6870
+ sort_predictions: Partial<Record<string, number>>;
6736
6871
  }
6737
6872
  /** Request to detect communities from existing terms */
6738
6873
  interface DetectCommunitiesRequest$1 {
@@ -6843,7 +6978,7 @@ interface DiscoverCausalRequest$1 {
6843
6978
  }
6844
6979
  interface DiscoverCausalResponse$1 {
6845
6980
  /** Data still needed (if discovery incomplete) */
6846
- data_needed?: any[] | null;
6981
+ data_needed?: DataNeededDto[] | null;
6847
6982
  /** Message explaining the result */
6848
6983
  message: string;
6849
6984
  /** Discovered causal relationships */
@@ -6897,7 +7032,7 @@ interface DiscoverEffectsResponse$1 {
6897
7032
  */
6898
7033
  root_sort_id: string;
6899
7034
  /** Created sort IDs (regime -> sort). */
6900
- sort_ids: Record<string, string>;
7035
+ sort_ids: Partial<Record<string, string>>;
6901
7036
  /** Whether discovery succeeded. */
6902
7037
  success: boolean;
6903
7038
  /**
@@ -6963,7 +7098,7 @@ interface DiscoverSchemaRequest$1 {
6963
7098
  * Conjoins with the source config's `exclude_tables`; an exclusion always
6964
7099
  * wins over an inclusion.
6965
7100
  */
6966
- exclude_types?: any[] | null;
7101
+ exclude_types?: string[] | null;
6967
7102
  /** Whether to include sample data in response (default: true) */
6968
7103
  include_sample_data?: boolean;
6969
7104
  /**
@@ -6983,7 +7118,7 @@ interface DiscoverSchemaRequest$1 {
6983
7118
  * `GET /api/v1/sources/{id}/tables` **without re-registering the source**
6984
7119
  * (#66, Gap 2).
6985
7120
  */
6986
- type_filter?: any[] | null;
7121
+ type_filter?: string[] | null;
6987
7122
  }
6988
7123
  /** Response from schema discovery. */
6989
7124
  interface DiscoverSchemaResponse$1 {
@@ -7032,6 +7167,16 @@ interface DiscoveredFeatureDto$1 {
7032
7167
  constraints?: string[];
7033
7168
  /** Human-readable description */
7034
7169
  description?: string | null;
7170
+ /**
7171
+ * Which authority made this field the identifier, and what that key
7172
+ * therefore guarantees (#131). Present exactly when `is_identifier`.
7173
+ *
7174
+ * `is_identifier` alone says a field earned the role without saying why,
7175
+ * and the why is what decides whether ids derived from it survive a
7176
+ * rebuild of the source: a uniqueness constraint does, a graph's internal
7177
+ * record id does not.
7178
+ */
7179
+ identifier_provenance?: null | KeyProvenanceDto;
7035
7180
  /** Whether the field is a primary key/identifier */
7036
7181
  is_identifier: boolean;
7037
7182
  /** Whether the field is a relation */
@@ -7257,7 +7402,7 @@ interface DisentailmentResponse$1 {
7257
7402
  /** Diversity analysis summary. */
7258
7403
  interface DiversityAnalysisDto$1 {
7259
7404
  /** Distribution of examples across buckets (near, medium, far, unrelated). */
7260
- bucket_counts: Record<string, number>;
7405
+ bucket_counts: Partial<Record<string, number>>;
7261
7406
  /** Whether diversity is balanced (no bucket has >60% of pairs). */
7262
7407
  is_balanced: boolean;
7263
7408
  /**
@@ -7982,7 +8127,7 @@ interface DoseResponseResponse$1 {
7982
8127
  /** Request an AI draft of a function from a natural-language description. */
7983
8128
  interface DraftFunctionRequest$1 {
7984
8129
  /** Answers to clarification questions (2nd call). */
7985
- answers?: object | null;
8130
+ answers?: Partial<Record<string, string>> | null;
7986
8131
  /** A prior draft to revise (refine loop) — the model treats it as the base. */
7987
8132
  current_draft?: null | FunctionDraftDto$1;
7988
8133
  /** What the function should do, in plain language. */
@@ -8016,7 +8161,7 @@ type DraftFunctionResponse$1 = {
8016
8161
  /** Request an AI draft of one or more inference rules. */
8017
8162
  interface DraftRulesRequest$1 {
8018
8163
  /** Answers to clarification questions (2nd call). */
8019
- answers?: object | null;
8164
+ answers?: Partial<Record<string, string>> | null;
8020
8165
  /** The desired rule(s), in plain language. */
8021
8166
  description: string;
8022
8167
  /** Session ID for multi-turn clarification (client-echoed; stateless server). */
@@ -8182,7 +8327,7 @@ interface DynamicDiscoveryRequest$1 {
8182
8327
  * Tiers are ordered from past to future (tier 0 = earliest).
8183
8328
  * Reference: Andrews et al. (2024) Int. J. Epidemiol.
8184
8329
  */
8185
- temporal_tiers?: any[] | null;
8330
+ temporal_tiers?: string[][] | null;
8186
8331
  /** Enable active learning recommendations (default: true) */
8187
8332
  use_active_learning?: boolean | null;
8188
8333
  /** Enable GES refinement (default: true) */
@@ -8193,7 +8338,7 @@ interface DynamicDiscoveryResponse$1 {
8193
8338
  * Edge posteriors (for Hybrid/MCMC strategies)
8194
8339
  * Maps (from, to) -> probability
8195
8340
  */
8196
- edge_posteriors?: any[] | null;
8341
+ edge_posteriors?: EdgePosteriorDto[] | null;
8197
8342
  /** GES refinement result */
8198
8343
  ges_result?: null | GESResultDto$1;
8199
8344
  /** Proof tree for audit trail */
@@ -8206,7 +8351,7 @@ interface DynamicDiscoveryResponse$1 {
8206
8351
  * Skeleton edges (for Hybrid strategy)
8207
8352
  * These are edges discovered by PC that passed CI tests
8208
8353
  */
8209
- skeleton?: any[] | null;
8354
+ skeleton?: [string, string][] | null;
8210
8355
  /** Current state of discovery */
8211
8356
  state: DiscoveryStateDto$1;
8212
8357
  /** Strategy used for discovery */
@@ -8233,7 +8378,7 @@ interface DynamicQueryGroupDto$1 {
8233
8378
  /** Entities in this group */
8234
8379
  entities: DynamicQueryResultDto$1[];
8235
8380
  /** Group key values */
8236
- key: Record<string, any>;
8381
+ key: Partial<Record<string, any>>;
8237
8382
  }
8238
8383
  /**
8239
8384
  * Request for dynamic query building
@@ -8281,9 +8426,9 @@ interface DynamicQueryResponse$1 {
8281
8426
  /** A result from dynamic query */
8282
8427
  interface DynamicQueryResultDto$1 {
8283
8428
  /** Variable bindings (from Bind patterns) */
8284
- bindings?: Record<string, any>;
8429
+ bindings?: Partial<Record<string, any>>;
8285
8430
  /** Matched/projected features */
8286
- features: Record<string, any>;
8431
+ features: Partial<Record<string, any>>;
8287
8432
  /**
8288
8433
  * Entity ID
8289
8434
  * @format uuid
@@ -8356,6 +8501,19 @@ interface EdgeCapacityUpdateDto {
8356
8501
  /** Edge label declared at construction or via a prior commit. */
8357
8502
  label: string;
8358
8503
  }
8504
+ /** Edge feasibility class. */
8505
+ type EdgeClassDto = "always_used" | "never_used" | "sometimes_used";
8506
+ /** Per-edge classification. */
8507
+ interface EdgeClassificationDto {
8508
+ /** Class string: `"always_used"`, `"never_used"`, `"sometimes_used"`. */
8509
+ class: EdgeClassDto;
8510
+ /** Source node name. */
8511
+ from: string;
8512
+ /** Caller-supplied label, if any. */
8513
+ label?: string | null;
8514
+ /** Destination node name. */
8515
+ to: string;
8516
+ }
8359
8517
  /** Flow snapshot for a single forward edge. */
8360
8518
  interface EdgeFlowDto {
8361
8519
  /**
@@ -8375,6 +8533,17 @@ interface EdgeFlowDto {
8375
8533
  /** Destination node name. */
8376
8534
  to: string;
8377
8535
  }
8536
+ interface EdgePosteriorDto {
8537
+ /** Source variable */
8538
+ from: string;
8539
+ /**
8540
+ * Posterior probability of this edge direction
8541
+ * @format double
8542
+ */
8543
+ probability: number;
8544
+ /** Target variable */
8545
+ to: string;
8546
+ }
8378
8547
  /** Edge type in the graph */
8379
8548
  type EdgeTypeDto$1 = "subtype" | "multiple_inheritance" | "glb_path" | "lub_path" | "constraint_dependency" | "propagation" | "feature" | "coreference" | "trigger_dependency" | "relation_source" | "relation_target" | "identity" | "derivation" | {
8380
8549
  custom: string;
@@ -8504,7 +8673,7 @@ type EffectDto$1 = {
8504
8673
  };
8505
8674
  } | {
8506
8675
  piecewise_linear: {
8507
- points: any[][];
8676
+ points: [number, number][];
8508
8677
  };
8509
8678
  };
8510
8679
  interface EffectPredictionDto$1 {
@@ -8559,7 +8728,7 @@ interface EmbeddingVerificationResponse$1 {
8559
8728
  /** A single training sample. */
8560
8729
  interface EmlSampleDto {
8561
8730
  /** Variable name → value (e.g. `{"x": 1.5}`). */
8562
- inputs: Record<string, number>;
8731
+ inputs: Partial<Record<string, number>>;
8563
8732
  /**
8564
8733
  * Target output value.
8565
8734
  * @format double
@@ -8776,7 +8945,7 @@ interface EntailmentResponse$1 {
8776
8945
  /** A lightweight entity representation for verification requests. */
8777
8946
  interface EntityDto$1 {
8778
8947
  /** Feature name-value pairs. */
8779
- features: Record<string, any>;
8948
+ features: Partial<Record<string, any>>;
8780
8949
  /**
8781
8950
  * Sort ID this entity belongs to.
8782
8951
  * @format uuid
@@ -9213,7 +9382,7 @@ interface EvidenceDerivationConfigDto$1 {
9213
9382
  * Relations whose polarity depends on the target entity's sort.
9214
9383
  * Maps relation name → list of target sort names that make it negative.
9215
9384
  */
9216
- context_dependent_relations?: Record<string, string[]>;
9385
+ context_dependent_relations?: Partial<Record<string, string[]>>;
9217
9386
  /**
9218
9387
  * Default quality weight for NER-derived evidence (0.0-1.0).
9219
9388
  * @format double
@@ -9260,6 +9429,40 @@ interface EvidenceItemDto$1 {
9260
9429
  */
9261
9430
  term_id: string;
9262
9431
  }
9432
+ /** Summary of a single evidence item. */
9433
+ interface EvidenceItemSummary {
9434
+ /**
9435
+ * Contribution to the overall assessment.
9436
+ * @format double
9437
+ */
9438
+ contribution: number;
9439
+ /** Description of the evidence. */
9440
+ description: string;
9441
+ /** DOI of the paper providing this evidence. */
9442
+ paper_doi?: string | null;
9443
+ /**
9444
+ * Stable key of the paper providing this evidence.
9445
+ *
9446
+ * Present even when the paper has no DOI, which `paper_doi` cannot cover.
9447
+ * Defaulted so sessions persisted before attribution existed still load.
9448
+ */
9449
+ paper_key?: string | null;
9450
+ /**
9451
+ * Title of the paper providing this evidence, for display.
9452
+ *
9453
+ * Defaulted so sessions persisted before attribution existed still load.
9454
+ */
9455
+ paper_title?: string | null;
9456
+ /**
9457
+ * Quality weight (0.0-1.0).
9458
+ * @format double
9459
+ */
9460
+ quality_weight: number;
9461
+ /** Whether this evidence supports the claim. */
9462
+ supports: boolean;
9463
+ /** OSFKB term ID of the evidence. */
9464
+ term_id: string;
9465
+ }
9263
9466
  /** Evidence source DTO */
9264
9467
  type EvidenceSourceDto$1 = {
9265
9468
  relation_term_id?: string | null;
@@ -9552,7 +9755,7 @@ interface ExtractEntitiesRequest$1 {
9552
9755
  * Optional list of specific labels (sort names) to use for extraction.
9553
9756
  * If not provided, all tenant sort names are used as labels.
9554
9757
  */
9555
- labels?: any[] | null;
9758
+ labels?: string[] | null;
9556
9759
  /** The text to extract entities from */
9557
9760
  text: string;
9558
9761
  }
@@ -9980,7 +10183,7 @@ type FeatureConstraintDto = {
9980
10183
  /** API representation of a feature descriptor */
9981
10184
  interface FeatureDescriptorDto$1 {
9982
10185
  /** Custom OWL annotations for this feature (e.g., isIdentifier, unit, enumValues) */
9983
- annotations?: Record<string, string>;
10186
+ annotations?: Partial<Record<string, string>>;
9984
10187
  /**
9985
10188
  * Optional constraint on the feature value. Defaults to `None`
9986
10189
  * when absent so callers needn't send an explicit null.
@@ -10124,7 +10327,7 @@ interface FindBySortRequest$1 {
10124
10327
  * expected string value. Only terms whose features match ALL entries are
10125
10328
  * returned. Omit or pass an empty map to disable filtering.
10126
10329
  */
10127
- filter?: object | null;
10330
+ filter?: Partial<Record<string, string>> | null;
10128
10331
  /**
10129
10332
  * Optional cap on the number of returned terms. When set, the handler
10130
10333
  * truncates the post-filter result list to this many terms. Useful for
@@ -10358,7 +10561,7 @@ interface ForecastRequestDto {
10358
10561
  * Decimal odds aligned to `entities`; enables the grouped-rank odds blend
10359
10562
  * when the model carries one.
10360
10563
  */
10361
- odds?: any[] | null;
10564
+ odds?: number[] | null;
10362
10565
  /**
10363
10566
  * Grouped-rank: ordered combinations to return (default 5).
10364
10567
  * @min 0
@@ -10417,7 +10620,7 @@ interface FormalJudgeRequest$1 {
10417
10620
  * Risk categories from the benchmark dataset (e.g., ["Lead to property loss", "Violate laws"])
10418
10621
  * Used by the 3-agent per-task decomposition pipeline to generate task-specific atomic conditions.
10419
10622
  */
10420
- risk_categories?: any[] | null;
10623
+ risk_categories?: string[] | null;
10421
10624
  /**
10422
10625
  * Agent execution trajectory (ordered list of tool calls + results)
10423
10626
  * Paper Table 5: `trajectory.tool_calls`
@@ -10445,7 +10648,7 @@ interface FormalJudgeResponse$1 {
10445
10648
  * Keys are fact type names (e.g., "ToolCallAttempted", "FabricatedContent"),
10446
10649
  * values are true/false for each atomic fact.
10447
10650
  */
10448
- deception_fact_map?: object | null;
10651
+ deception_fact_map?: Partial<Record<string, boolean>> | null;
10449
10652
  /** Deception predicates that triggered (paper §B.6: φ1-φ4) */
10450
10653
  detected_deception_predicates?: string[];
10451
10654
  /**
@@ -10884,6 +11087,24 @@ interface FunctionsVisualizationResponse {
10884
11087
  */
10885
11088
  graph: VisualizationGraphDto$1;
10886
11089
  }
11090
+ /** Summary of fuzzy concept enumeration at one alpha-cut level. */
11091
+ interface FuzzyConceptLevelDto {
11092
+ /**
11093
+ * Alpha threshold for this level
11094
+ * @format double
11095
+ */
11096
+ alpha: number;
11097
+ /**
11098
+ * Number of concepts discovered at this threshold
11099
+ * @min 0
11100
+ */
11101
+ concept_count: number;
11102
+ /**
11103
+ * Number of concepts novel at this level (not found at higher alpha)
11104
+ * @min 0
11105
+ */
11106
+ novel_at_this_level: number;
11107
+ }
10887
11108
  /** Request for fuzzy merge operation */
10888
11109
  interface FuzzyMergeRequest$1 {
10889
11110
  /**
@@ -10961,7 +11182,7 @@ interface FuzzyProveRequest$1 {
10961
11182
  * a diagnosis — another patient's fact of the same sort never does. A fact lacking the
10962
11183
  * feature is unconstrained (open world). Empty/absent ⇒ tenant-wide (legacy) behavior.
10963
11184
  */
10964
- scope?: Record<string, string>;
11185
+ scope?: Partial<Record<string, string>>;
10965
11186
  /**
10966
11187
  * T-norm strategy: "min", "product", or "lukasiewicz"
10967
11188
  * @default "min"
@@ -11128,7 +11349,7 @@ type FuzzyShapeDto$1 = {
11128
11349
  kind: "PiShape";
11129
11350
  } | {
11130
11351
  kind: "PiecewiseLinear";
11131
- points: any[][];
11352
+ points: [number, number][];
11132
11353
  };
11133
11354
  /** Request for fuzzy subsumption check */
11134
11355
  interface FuzzySubsumptionRequest$1 {
@@ -11337,7 +11558,7 @@ type GeneralConstraintDto$1 = object;
11337
11558
  /** Request body for `POST /api/v1/generate`. */
11338
11559
  interface GenerateDocumentRequest$1 {
11339
11560
  /** Additional metadata to guide generation (passed through to the backend). */
11340
- metadata?: Record<string, string>;
11561
+ metadata?: Partial<Record<string, string>>;
11341
11562
  /**
11342
11563
  * Target modality for the output artifact.
11343
11564
  * Currently only `"text"` is supported.
@@ -11401,7 +11622,7 @@ interface GenerateNegativesResponse$1 {
11401
11622
  /** Request body for ontology generation. */
11402
11623
  interface GenerateOntologyRequest$1 {
11403
11624
  /** Answers to clarification questions (2nd call). */
11404
- answers?: object | null;
11625
+ answers?: Partial<Record<string, string>> | null;
11405
11626
  /** The user's task description. */
11406
11627
  prompt: string;
11407
11628
  /** Session ID for multi-turn clarification. */
@@ -11550,7 +11771,7 @@ interface GenerationPromptResponse$1 {
11550
11771
  /** Generation statistics report. */
11551
11772
  interface GenerationReportDto$1 {
11552
11773
  /** Counts per generation method. */
11553
- by_method: Record<string, number>;
11774
+ by_method: Partial<Record<string, number>>;
11554
11775
  /**
11555
11776
  * Number of forward-chained derived facts.
11556
11777
  * @min 0
@@ -11907,6 +12128,68 @@ interface GetScenarioResponse$1 {
11907
12128
  */
11908
12129
  webhook_actions_created: number;
11909
12130
  }
12131
+ /**
12132
+ * Full research session state (matches SDK's `ResearchSessionResponse`).
12133
+ *
12134
+ * Returned by GET /research/sessions/{id}.
12135
+ */
12136
+ interface GetSessionResponse {
12137
+ /** When the session was created (ISO 8601). */
12138
+ created_at: string;
12139
+ /** Results from each completed cycle. */
12140
+ cycles: ResearchCycleResultDto$1[];
12141
+ /** Error message if status is Failed. */
12142
+ error?: string | null;
12143
+ /** Papers ingested so far (full metadata including title, authors, DOI, URL). */
12144
+ papers: PaperMetadataDto$1[];
12145
+ /** The research question. */
12146
+ question: string;
12147
+ /**
12148
+ * Session ID.
12149
+ * @format uuid
12150
+ */
12151
+ session_id: string;
12152
+ /**
12153
+ * Current session status — the phase name alone; see
12154
+ * [`ResearchSessionStatusLabel`].
12155
+ */
12156
+ status: ResearchSessionStatusLabel;
12157
+ /**
12158
+ * Total contradictions.
12159
+ * @min 0
12160
+ */
12161
+ total_contradictions: number;
12162
+ /**
12163
+ * Total findings.
12164
+ * @min 0
12165
+ */
12166
+ total_findings: number;
12167
+ /**
12168
+ * Total knowledge gaps.
12169
+ * @min 0
12170
+ */
12171
+ total_gaps: number;
12172
+ /**
12173
+ * Total papers ingested.
12174
+ * @min 0
12175
+ */
12176
+ total_papers_ingested: number;
12177
+ /**
12178
+ * Total papers retrieved from external APIs, including by the cycle
12179
+ * currently running.
12180
+ *
12181
+ * Live throughout a run, like every other counter here. `cycles` reports a
12182
+ * cycle's retrieval only once that cycle completes — minutes after the
12183
+ * papers arrived — so a consumer deriving the figure from `cycles` alone
12184
+ * renders `0` over a visibly growing paper list for most of a session
12185
+ * (#143). This is the field to read for "how many papers has this run
12186
+ * found"; `cycles[].papers_retrieved` remains the per-cycle breakdown.
12187
+ * @min 0
12188
+ */
12189
+ total_papers_retrieved: number;
12190
+ /** When the session was last updated (ISO 8601). */
12191
+ updated_at: string;
12192
+ }
11910
12193
  /** Request to get direct sort similarity */
11911
12194
  interface GetSortSimilarityRequest$1 {
11912
12195
  /**
@@ -11945,7 +12228,7 @@ interface GetStoreTermRequest$1 {
11945
12228
  /** Response with term details */
11946
12229
  interface GetStoreTermResponse$1 {
11947
12230
  bound_to?: string | null;
11948
- features: Record<string, object>;
12231
+ features: Partial<Record<string, object>>;
11949
12232
  is_variable: boolean;
11950
12233
  sort_id: string;
11951
12234
  term_id: string;
@@ -12047,7 +12330,7 @@ interface GlobalIncrementResponse$1 {
12047
12330
  */
12048
12331
  interface GoalDto$1 {
12049
12332
  /** Features as key-value pairs (raw JSON values) */
12050
- features?: Record<string, JsonValue>;
12333
+ features?: Partial<Record<string, JsonValue>>;
12051
12334
  /**
12052
12335
  * Sort name for the goal (for human-friendly input)
12053
12336
  * Kept as "sort" for backward compatibility with existing clients
@@ -12230,7 +12513,7 @@ interface GraphEdgeDto$1 {
12230
12513
  /** Optional edge label */
12231
12514
  label?: string | null;
12232
12515
  /** Additional properties */
12233
- properties?: Record<string, string>;
12516
+ properties?: Partial<Record<string, string>>;
12234
12517
  /** Source node ID */
12235
12518
  source: string;
12236
12519
  /** Target node ID */
@@ -12251,7 +12534,7 @@ interface GraphMetadataDto$1 {
12251
12534
  */
12252
12535
  edge_count: number;
12253
12536
  /** Additional metadata */
12254
- extra?: Record<string, string>;
12537
+ extra?: Partial<Record<string, string>>;
12255
12538
  /**
12256
12539
  * Total number of hyperedges
12257
12540
  * @min 0
@@ -12289,7 +12572,7 @@ interface GraphNodeDto$1 {
12289
12572
  /** Type of node */
12290
12573
  node_type: NodeTypeDto$1;
12291
12574
  /** Additional properties */
12292
- properties?: Record<string, string>;
12575
+ properties?: Partial<Record<string, string>>;
12293
12576
  /**
12294
12577
  * Size of the node (for rendering)
12295
12578
  * @format double
@@ -12662,7 +12945,7 @@ interface HyperedgeDto$1 {
12662
12945
  /** Whether the nodes are ordered */
12663
12946
  ordered: boolean;
12664
12947
  /** Additional properties */
12665
- properties?: Record<string, string>;
12948
+ properties?: Partial<Record<string, string>>;
12666
12949
  /**
12667
12950
  * Optional source term ID
12668
12951
  * @format uuid
@@ -12740,7 +13023,7 @@ interface HypergraphResponse$1 {
12740
13023
  * to `1.0`. Renderers are expected to map this to polygon fill
12741
13024
  * opacity so audit-ability is visually obvious.
12742
13025
  */
12743
- provenance_tags?: Record<string, number>;
13026
+ provenance_tags?: Partial<Record<string, number>>;
12744
13027
  /** Statistics */
12745
13028
  stats: HypergraphStats$1;
12746
13029
  }
@@ -12807,7 +13090,7 @@ interface IdentifyEffectRequest$1 {
12807
13090
  /** Response for effect identification */
12808
13091
  interface IdentifyEffectResponse$1 {
12809
13092
  /** The adjustment set, when the estimand is an adjustment form */
12810
- adjustment_set?: any[] | null;
13093
+ adjustment_set?: string[] | null;
12811
13094
  /** Every assumption the result consumes */
12812
13095
  assumptions: CausalAssumptionDto$1[];
12813
13096
  /** Ψ-term id of the persisted identification certificate */
@@ -12832,7 +13115,7 @@ interface IdentifyEffectResponse$1 {
12832
13115
  * criterion. Prefer these covariates when your data has them:
12833
13116
  * the estimation gate accepts either certified set.
12834
13117
  */
12835
- optimal_adjustment_set?: any[] | null;
13118
+ optimal_adjustment_set?: string[] | null;
12836
13119
  /** Outcome variable */
12837
13120
  outcome: string;
12838
13121
  /** Refusal reason, when not identifiable */
@@ -12888,7 +13171,7 @@ interface ImageExtractedEntityDto$1 {
12888
13171
  */
12889
13172
  confidence: number;
12890
13173
  /** Features extracted for this entity (key → value) */
12891
- features: Record<string, any>;
13174
+ features: Partial<Record<string, any>>;
12892
13175
  /** Local ID within the extraction (e.g., "e1", "e2") */
12893
13176
  local_id: string;
12894
13177
  /** Text mentions/labels found in the image for this entity */
@@ -12938,6 +13221,15 @@ interface ImageExtractionStatsDto$1 {
12938
13221
  */
12939
13222
  sorts_reused: number;
12940
13223
  }
13224
+ /** Image input for multimodal TRIZ analysis */
13225
+ interface ImageInputDto {
13226
+ /** Base64-encoded image data */
13227
+ data: string;
13228
+ /** Optional description of the image */
13229
+ description?: string;
13230
+ /** MIME type (e.g., "image/png", "image/jpeg") */
13231
+ mime: string;
13232
+ }
12941
13233
  /** A new sort (type) suggested by the vision LLM based on visual patterns. */
12942
13234
  interface ImageSuggestedSortDto$1 {
12943
13235
  /** Feature names suggested for this sort */
@@ -13225,7 +13517,7 @@ interface IngestFromSourceRequest$1 {
13225
13517
  */
13226
13518
  records_per_document?: number;
13227
13519
  /** Which types/tables to ingest (None = all) */
13228
- type_filter?: any[] | null;
13520
+ type_filter?: string[] | null;
13229
13521
  }
13230
13522
  /** Response from structured data ingestion. */
13231
13523
  interface IngestFromSourceResponse$1 {
@@ -13282,7 +13574,7 @@ interface IngestKifRequest$1 {
13282
13574
  * `[relation, arg1, arg2, …]` of constant names. When present, the response's
13283
13575
  * `provable` field reports whether the goal is entailed by the imported axioms.
13284
13576
  */
13285
- query?: any[] | null;
13577
+ query?: string[] | null;
13286
13578
  }
13287
13579
  /** Response body for `POST /api/v1/ingest/kif`. */
13288
13580
  interface IngestKifResponse$1 {
@@ -13337,9 +13629,9 @@ interface IngestKifResponse$1 {
13337
13629
  * The non-firing residue broken down by *why* it does not fire (shape tag → count) — the
13338
13630
  * higher-order / modal tail that no first-order rule engine reduces, made auditable.
13339
13631
  */
13340
- residue_by_shape: Record<string, number>;
13632
+ residue_by_shape: Partial<Record<string, number>>;
13341
13633
  /** A few concrete example forms per residue shape, for auditing the irreducible tail. */
13342
- residue_examples: Record<string, string[]>;
13634
+ residue_examples: Partial<Record<string, string[]>>;
13343
13635
  /**
13344
13636
  * All `=>` / `<=>` implications imported.
13345
13637
  * @min 0
@@ -13398,6 +13690,39 @@ interface IngestMarkdownRequest$1 {
13398
13690
  */
13399
13691
  owner_id: string;
13400
13692
  }
13693
+ /** Request to ingest a paper (matches SDK's `IngestPaperRequest`). */
13694
+ interface IngestPaperRequest$1 {
13695
+ /** Paper identifier (DOI, PMID, arXiv ID, or URL). */
13696
+ identifier: string;
13697
+ /** Type of identifier: "doi", "pmid", "arxiv_id", or "url". */
13698
+ identifier_type: string;
13699
+ /**
13700
+ * Session ID to associate ingestion with (optional).
13701
+ * @format uuid
13702
+ */
13703
+ session_id?: string | null;
13704
+ }
13705
+ /** Response after ingesting a paper (matches SDK's `IngestPaperResponse`). */
13706
+ interface IngestPaperResponse$1 {
13707
+ /**
13708
+ * Number of claims extracted.
13709
+ * @format int32
13710
+ * @min 0
13711
+ */
13712
+ claims_extracted: number;
13713
+ /**
13714
+ * Number of entities extracted.
13715
+ * @format int32
13716
+ * @min 0
13717
+ */
13718
+ entities_extracted: number;
13719
+ /** Error message if ingestion failed. */
13720
+ error?: string | null;
13721
+ /** Paper metadata (if resolved). */
13722
+ metadata?: null | PaperMetadataDto$1;
13723
+ /** Whether ingestion succeeded. */
13724
+ success: boolean;
13725
+ }
13401
13726
  /** Request to ingest RDF/OWL data */
13402
13727
  interface IngestRdfRequest$1 {
13403
13728
  /**
@@ -13810,7 +14135,7 @@ interface InlineDocumentDto {
13810
14135
  /** Inline Ψ-term feature payload for a single prediction. */
13811
14136
  interface InlineInferenceTermDto {
13812
14137
  /** Per-antecedent flat feature vectors. */
13813
- antecedent_features: Record<string, number[]>;
14138
+ antecedent_features: Partial<Record<string, number[]>>;
13814
14139
  /** Temporal feature sequence for the conclusion gate. */
13815
14140
  temporal_features: TemporalSequenceDto;
13816
14141
  }
@@ -14099,14 +14424,14 @@ interface IntegrationGroupDto$1 {
14099
14424
  */
14100
14425
  group_similarity: number;
14101
14426
  /** Matching feature values (the "join key" values) */
14102
- match_key: Record<string, any>;
14427
+ match_key: Partial<Record<string, any>>;
14103
14428
  /**
14104
14429
  * ID of newly created merged entity (if create_merged was true)
14105
14430
  * @format uuid
14106
14431
  */
14107
14432
  merged_entity_id?: string | null;
14108
14433
  /** Merged features (if create_merged was true) */
14109
- merged_features?: object | null;
14434
+ merged_features?: Partial<Record<string, any>> | null;
14110
14435
  }
14111
14436
  /** BDI Intention DTO. */
14112
14437
  interface IntentionDto$1 {
@@ -14182,7 +14507,7 @@ interface InterventionObservationResponse$1 {
14182
14507
  */
14183
14508
  remaining_uncertain_count: number;
14184
14509
  /** Edges that were resolved by this intervention */
14185
- resolved_edges: any[][];
14510
+ resolved_edges: [string, string][];
14186
14511
  /** Success flag */
14187
14512
  success: boolean;
14188
14513
  }
@@ -14239,7 +14564,7 @@ interface InvokeActionRequest$1 {
14239
14564
  /** Name of the action to invoke */
14240
14565
  action_name: string;
14241
14566
  /** Input values for the action */
14242
- inputs?: Record<string, any>;
14567
+ inputs?: Partial<Record<string, any>>;
14243
14568
  /**
14244
14569
  * Tenant context
14245
14570
  * @format uuid
@@ -14344,6 +14669,68 @@ type KbChangeDto$1 = {
14344
14669
  term2: string;
14345
14670
  type: "Coreference";
14346
14671
  };
14672
+ /**
14673
+ * Where a key came from, and what it therefore guarantees (#131).
14674
+ *
14675
+ * Emitted on a binding listing and beside a discovered identifier, so the two
14676
+ * answers an operator needs before ingesting — *is this key guaranteed?* and
14677
+ * *do the term ids survive a rebuild of the source?* — are readable without
14678
+ * inferring anything from a column's name.
14679
+ */
14680
+ interface KeyProvenanceDto {
14681
+ /**
14682
+ * Which side settled the key: `discovery`, `client`, `nobody` (a keyless
14683
+ * binding), or `unrecorded`.
14684
+ */
14685
+ chosen_by: string;
14686
+ /**
14687
+ * Whether term ids built from this key survive a rebuild of the source:
14688
+ * `survives_source_rebuild` or `lifetime_scoped`.
14689
+ *
14690
+ * Absent for a client-supplied key, where it depends on which column was
14691
+ * nominated and nothing declares that — and for a keyless or unrecorded
14692
+ * binding, where there is nothing to answer about.
14693
+ */
14694
+ durability?: string | null;
14695
+ /**
14696
+ * One sentence stating what this key source means, for an operator who
14697
+ * does not know the vocabulary.
14698
+ */
14699
+ explanation: string;
14700
+ /**
14701
+ * Whether some authority guarantees the key identifies exactly one
14702
+ * record. Absent where the question has no answer — a keyless binding, or
14703
+ * a provenance that was never recorded.
14704
+ */
14705
+ guaranteed_unique?: boolean | null;
14706
+ /**
14707
+ * Which authority chose the key. One of `source_constraint`,
14708
+ * `synthetic_record_id`, `sequence_default`, `schema_declared_identifier`,
14709
+ * `naming_convention`, `sampled_uniqueness`, `client_supplied`, `keyless`,
14710
+ * `unrecorded`.
14711
+ *
14712
+ * The six discovery levels are reported directly rather than nested
14713
+ * under a "discovered" wrapper, so one field answers "which of the key
14714
+ * sources is this".
14715
+ */
14716
+ source: string;
14717
+ }
14718
+ /** A knowledge gap identified by goal residuation analysis. */
14719
+ interface KnowledgeGap {
14720
+ /**
14721
+ * Information gain score (higher = more valuable to fill).
14722
+ * @format double
14723
+ */
14724
+ info_gain: number;
14725
+ /** Rule head names that need this sort. */
14726
+ needed_by: string[];
14727
+ /** The sort name that is missing. */
14728
+ sort_name: string;
14729
+ /** Auto-generated search query to fill the gap. */
14730
+ suggested_search_query?: string | null;
14731
+ /** What would resolve this gap. */
14732
+ wake_trigger: string;
14733
+ }
14347
14734
  /** One state in the Kripke model. */
14348
14735
  interface KripkeStateDto {
14349
14736
  /**
@@ -14373,7 +14760,7 @@ interface KripkeTransitionDto {
14373
14760
  /** One labelled training Ψ-term. */
14374
14761
  interface LabelledTermDto {
14375
14762
  /** Per-antecedent flat feature vectors. */
14376
- antecedent_features: Record<string, number[]>;
14763
+ antecedent_features: Partial<Record<string, number[]>>;
14377
14764
  /** Ground-truth label for the conclusion sort. */
14378
14765
  label: MortalityLabelDto;
14379
14766
  /** Temporal feature sequence for the conclusion gate. */
@@ -14617,7 +15004,7 @@ interface LayoutHintsDto$1 {
14617
15004
  /** Preferred layout algorithm */
14618
15005
  algorithm: LayoutAlgorithmDto$1;
14619
15006
  /** Cluster definitions */
14620
- clusters?: Record<string, string[]>;
15007
+ clusters?: Partial<Record<string, string[]>>;
14621
15008
  /** Direction for hierarchical layouts */
14622
15009
  direction?: null | LayoutDirectionDto$1;
14623
15010
  /**
@@ -14694,7 +15081,7 @@ interface LearnFromCorrectionRequest$1 {
14694
15081
  */
14695
15082
  agent_id: string;
14696
15083
  /** The correct answer pattern (as Ψ-term features, raw JSON values) */
14697
- correct_pattern: Record<string, JsonValue>;
15084
+ correct_pattern: Partial<Record<string, JsonValue>>;
14698
15085
  /** Optional: The sort of the correct answer */
14699
15086
  correct_sort?: string | null;
14700
15087
  /**
@@ -14970,7 +15357,7 @@ interface LinTermDto {
14970
15357
  */
14971
15358
  interface LinearConstraint$2 {
14972
15359
  /** Variable-name → coefficient. */
14973
- coefficients: Record<string, number>;
15360
+ coefficients: Partial<Record<string, number>>;
14974
15361
  /** Optional caller-supplied label, returned in error reports. */
14975
15362
  name?: string | null;
14976
15363
  /**
@@ -15226,6 +15613,11 @@ interface ListPendingReviewsResponse {
15226
15613
  interface ListPreferencesResponseDto {
15227
15614
  preferences: PreferenceDto$1[];
15228
15615
  }
15616
+ /** Returned by GET /research/sessions — the tenant's sessions, newest first. */
15617
+ interface ListResearchSessionsResponse$1 {
15618
+ /** Session summaries. */
15619
+ sessions: ResearchSessionSummaryDto$1[];
15620
+ }
15229
15621
  /** Response for GET /api/v1/scenarios — list all scenarios. */
15230
15622
  interface ListScenariosResponse$1 {
15231
15623
  /** List of scenario summaries, sorted by most recent first. */
@@ -15302,7 +15694,7 @@ interface ListTenantsResponse$1 {
15302
15694
  /** Response listing a tenant's cloned voices and the available preset voices. */
15303
15695
  interface ListVoicesResponse$1 {
15304
15696
  /** Preset speaker names per engine, from the loaded checkpoints. */
15305
- presets: Record<string, string[]>;
15697
+ presets: Partial<Record<string, string[]>>;
15306
15698
  /** Voices this tenant has enrolled. */
15307
15699
  voices: VoiceProfileDto[];
15308
15700
  }
@@ -15383,26 +15775,58 @@ interface LtnQueryRequest$1 {
15383
15775
  * Ψ-term feature text to embed into the input vector when `features` is
15384
15776
  * absent and an embedding backend is configured (`ground`).
15385
15777
  */
15386
- feature_text?: any[] | null;
15778
+ feature_text?: {
15779
+ /** Feature name. */
15780
+ name: string;
15781
+ /** Feature value (free text). */
15782
+ value: string;
15783
+ }[] | null;
15387
15784
  /** An explicit input feature vector for the queried individual (`ground`). */
15388
- features?: any[] | null;
15785
+ features?: number[] | null;
15389
15786
  /** The unseen instances to score (`generalisation`). */
15390
- instances?: any[] | null;
15787
+ instances?: {
15788
+ /** The individual to score. */
15789
+ individual: string;
15790
+ /**
15791
+ * Its membership degree in the formula's sort, in `[0, 1]`.
15792
+ * @format double
15793
+ */
15794
+ membership: number;
15795
+ }[] | null;
15391
15796
  /** `"ground"`, `"truth"`, `"value"`, or `"generalisation"`. */
15392
15797
  kind: string;
15393
15798
  /** The neural predicate name (`ground`). */
15394
15799
  predicate?: string | null;
15395
15800
  /** The formula's rules (`truth`, `value`). */
15396
- rules?: any[] | null;
15801
+ rules?: {
15802
+ /**
15803
+ * The rule's initial homoiconic certainty in `[0, 1]` (default `1.0`).
15804
+ * @format double
15805
+ */
15806
+ certainty?: number | null;
15807
+ /** The individual bound to the clause's variable. */
15808
+ individual: string;
15809
+ /**
15810
+ * `individual`'s fuzzy membership degree in `sort`, in `[0, 1]`.
15811
+ * @format double
15812
+ */
15813
+ membership: number;
15814
+ /**
15815
+ * The sort the clause constrains, by name. Minted as a child of the
15816
+ * root sort within this request's self-contained theory. Absent ⇒ the
15817
+ * root sort (`thing`) is used.
15818
+ */
15819
+ sort?: string | null;
15820
+ }[] | null;
15397
15821
  /** The formula's sort, by name (`generalisation`). Absent ⇒ the root sort. */
15398
15822
  sort?: string | null;
15399
15823
  }
15400
15824
  /** The tagged-union query result. The populated fields depend on `kind`. */
15401
15825
  interface LtnQueryResponse$1 {
15402
15826
  /** The per-rule learned certainties (`value`). */
15403
- certainties?: any[] | null;
15827
+ certainties?: number[] | null;
15404
15828
  /** Per-instance truth degrees, in request order (`generalisation`). */
15405
- generalisation?: any[] | null;
15829
+ generalisation?: number[] | null;
15406
15830
  /**
15407
15831
  * The grounded truth degree (`ground`, when not residuated).
15408
15832
  * @format double
@@ -15420,7 +15844,7 @@ interface LtnQueryResponse$1 {
15420
15844
  * the grounding is waiting on (an unembedded individual, an unregistered
15421
15845
  * predicate).
15422
15846
  */
15423
- residuation_triggers?: any[] | null;
15847
+ residuation_triggers?: string[] | null;
15424
15848
  /**
15425
15849
  * The formula's truth degree (`truth`).
15426
15850
  * @format double
@@ -15529,7 +15953,15 @@ interface LtnRefuteResponse$1 {
15529
15953
  * The counter-example certainty assignment over the KB rules
15530
15954
  * (`refuted`).
15531
15955
  */
15532
- witness?: any[] | null;
15956
+ witness?: {
15957
+ /**
15958
+ * The certainty value at the counter-example grounding.
15959
+ * @format double
15960
+ */
15961
+ certainty: number;
15962
+ /** The KB rule's bound individual (echoes the request KB rule). */
15963
+ individual: string;
15964
+ }[] | null;
15533
15965
  }
15534
15966
  /** Request to train rule certainties (and, optionally, a neural predicate). */
15535
15967
  interface LtnTrainRequest$1 {
@@ -16980,7 +17412,7 @@ interface MissingInfoDto$1 {
16980
17412
  /** Request to modify and approve an action */
16981
17413
  interface ModifyActionRequest$1 {
16982
17414
  /** Modified input parameters (will override suggested params) */
16983
- modified_params: Record<string, any>;
17415
+ modified_params: Partial<Record<string, any>>;
16984
17416
  /** Optional notes about the modification */
16985
17417
  notes?: string | null;
16986
17418
  /**
@@ -17239,16 +17671,16 @@ interface NlQueryRequest$1 {
17239
17671
  /** Optional: confirm a TRIZ session (triggers invention pipeline) */
17240
17672
  confirm_session?: boolean | null;
17241
17673
  /** Optional conversation history for context (llm mode only) */
17242
- conversation_history?: any[] | null;
17674
+ conversation_history?: ConversationTurnDto$1[] | null;
17243
17675
  /** Optional: domain names to exclude from results */
17244
- exclude_domains?: any[] | null;
17676
+ exclude_domains?: string[] | null;
17245
17677
  /**
17246
17678
  * Optional: focus on a specific proposal index (0-based) for refinement
17247
17679
  * @min 0
17248
17680
  */
17249
17681
  focus_proposal?: number | null;
17250
17682
  /** Optional images for multimodal TRIZ analysis (base64-encoded) */
17251
- images?: any[] | null;
17683
+ images?: ImageInputDto[] | null;
17252
17684
  /** Translation mode: "llm" (default), "constraint", or "cognitive" */
17253
17685
  mode?: NlQueryMode$1;
17254
17686
  /** The natural language question */
@@ -17306,7 +17738,7 @@ interface NlQueryResponse$1 {
17306
17738
  /** Result item from NL query */
17307
17739
  interface NlQueryResultItem$1 {
17308
17740
  /** Features as key-value pairs */
17309
- features: Record<string, any>;
17741
+ features: Partial<Record<string, any>>;
17310
17742
  /**
17311
17743
  * Term ID
17312
17744
  * @format uuid
@@ -17395,7 +17827,7 @@ interface ObjectTypeListResponse$1 {
17395
17827
  }
17396
17828
  /** Linear objective. Omit to run feasibility-only. */
17397
17829
  interface Objective$1 {
17398
- coefficients?: Record<string, number>;
17830
+ coefficients?: Partial<Record<string, number>>;
17399
17831
  /** @format double */
17400
17832
  constant?: number;
17401
17833
  /** Direction of the objective function. */
@@ -17439,7 +17871,7 @@ interface ObservationalProbabilitiesDto$1 {
17439
17871
  }
17440
17872
  interface ObserveMultiRequest$1 {
17441
17873
  /** Map of variable name to value */
17442
- observations: Record<string, number>;
17874
+ observations: Partial<Record<string, number>>;
17443
17875
  }
17444
17876
  interface ObserveMultiResponse$1 {
17445
17877
  /** Success flag */
@@ -17509,7 +17941,7 @@ interface OcrConfigDto$1 {
17509
17941
  }
17510
17942
  /** Clarification question DTO for the API response. */
17511
17943
  interface OntologyClarificationQuestionDto$1 {
17512
- choices?: any[] | null;
17944
+ choices?: string[] | null;
17513
17945
  default?: string | null;
17514
17946
  field: string;
17515
17947
  id: string;
@@ -17527,7 +17959,7 @@ interface OntologyRagRequestDto {
17527
17959
  * Optional: Map of concept_id → numeric value (e.g., mastery, score, confidence)
17528
17960
  * The interpretation of these values is domain-specific
17529
17961
  */
17530
- concept_values?: object | null;
17962
+ concept_values?: Partial<Record<string, number>> | null;
17531
17963
  /**
17532
17964
  * Feature configuration - allows caller to specify feature names
17533
17965
  * If not provided, uses defaults (requires, teaches, related, etc.)
@@ -18159,7 +18591,7 @@ interface OsfqlRequest$1 {
18159
18591
  /** Response from executing an OSFQL program. */
18160
18592
  interface OsfqlResponse$1 {
18161
18593
  /** Variable bindings from MATCH queries. */
18162
- bindings: Record<string, OsfqlValueDto>[];
18594
+ bindings: Partial<Record<string, OsfqlValueDto>>[];
18163
18595
  /** IDs of newly defined sorts (from DEFINE statements). */
18164
18596
  defined_sort_ids?: string[];
18165
18597
  /** Diagnostic messages from the execution pipeline. */
@@ -18169,7 +18601,7 @@ interface OsfqlResponse$1 {
18169
18601
  * resolved to a nested Ψ-term (`OsfqlValueDto::Term`, coreference inlined). A document IS a
18170
18602
  * Ψ-term — there is no separate document type. Omitted when the program has no `FETCH`.
18171
18603
  */
18172
- fetched?: Record<string, OsfqlValueDto>[];
18604
+ fetched?: Partial<Record<string, OsfqlValueDto>>[];
18173
18605
  /** IDs of produced/modified terms (from INSERT, DERIVE, etc.). */
18174
18606
  produced_term_ids: string[];
18175
18607
  /**
@@ -18260,6 +18692,79 @@ interface OversightAlertDto$1 {
18260
18692
  */
18261
18693
  step_index: number;
18262
18694
  }
18695
+ /** Metadata about a scientific paper (matches SDK's `PaperMetadataDto`). */
18696
+ interface PaperMetadataDto$1 {
18697
+ /** Abstract text. */
18698
+ abstract_text?: string | null;
18699
+ /** arXiv ID. */
18700
+ arxiv_id?: string | null;
18701
+ /** Author names. */
18702
+ authors: string[];
18703
+ /**
18704
+ * Citation count.
18705
+ * @format int32
18706
+ * @min 0
18707
+ */
18708
+ citation_count?: number | null;
18709
+ /** Digital Object Identifier. */
18710
+ doi?: string | null;
18711
+ /** URL to full text. */
18712
+ full_text_url?: string | null;
18713
+ /** Journal or venue name. */
18714
+ journal?: string | null;
18715
+ /**
18716
+ * Stable paper identity (`doi:…`, `pmid:…`, `arxiv:…` or `title:…`).
18717
+ *
18718
+ * The one field on this DTO that is guaranteed present for every paper —
18719
+ * `doi`, `pmid` and `arxiv_id` are each optional. It is the join key
18720
+ * between a paper listed here and the `paper_key` carried by findings,
18721
+ * evidence items and contradiction sides, which is what lets a client
18722
+ * render "this claim comes from that paper" without a second lookup.
18723
+ */
18724
+ paper_key: string;
18725
+ /** PubMed ID. */
18726
+ pmid?: string | null;
18727
+ /** Source database. */
18728
+ source: PaperSource$1;
18729
+ /** Paper title. */
18730
+ title: string;
18731
+ /**
18732
+ * Publication year.
18733
+ * @format int32
18734
+ * @min 0
18735
+ */
18736
+ year?: number | null;
18737
+ }
18738
+ /**
18739
+ * A citable reference to the paper a statement came from.
18740
+ *
18741
+ * Everything the pipeline produces is keyed internally by OSFKB term UUIDs,
18742
+ * which no consumer can resolve back to a document. `PaperRef` is the
18743
+ * human- and machine-resolvable counterpart: `paper_key` is the stable
18744
+ * identity produced by `PaperMetadata::paper_key`, and `doi`/`title` are
18745
+ * carried alongside so a reader never has to make a second lookup to render
18746
+ * the citation.
18747
+ */
18748
+ interface PaperRef {
18749
+ /** DOI of the paper, when it has one. */
18750
+ doi?: string | null;
18751
+ /** Stable paper identity (`doi:…`, `pmid:…`, `arxiv:…` or `title:…`). */
18752
+ paper_key: string;
18753
+ /** Paper title, for display. */
18754
+ title: string;
18755
+ }
18756
+ /** A search result with relevance score (matches SDK's `PaperSearchResultDto`). */
18757
+ interface PaperSearchResultDto$1 {
18758
+ /** Paper metadata. */
18759
+ metadata: PaperMetadataDto$1;
18760
+ /**
18761
+ * Relevance score (0.0-1.0).
18762
+ * @format double
18763
+ */
18764
+ relevance_score?: number | null;
18765
+ }
18766
+ /** Source of paper metadata. */
18767
+ type PaperSource$1 = "PubMed" | "SemanticScholar" | "CrossRef" | "ArXiv";
18263
18768
  /** A typed action parameter (named feature with an appropriateness type). */
18264
18769
  interface ParamSpecDto {
18265
18770
  /** Feature name. */
@@ -18342,7 +18847,7 @@ interface PathResponse$1 {
18342
18847
  */
18343
18848
  component_count: number;
18344
18849
  /** The shortest path as a node sequence (source..=target), if reachable. */
18345
- path?: any[] | null;
18850
+ path?: string[] | null;
18346
18851
  }
18347
18852
  /** Pattern for matching function arguments */
18348
18853
  type PatternDto$1 = {
@@ -18435,14 +18940,14 @@ interface PendingActionReviewDto$1 {
18435
18940
  /** Current status */
18436
18941
  status: ActionReviewStatusDto$1;
18437
18942
  /** Suggested input parameters for the action */
18438
- suggested_params: Record<string, any>;
18943
+ suggested_params: Partial<Record<string, any>>;
18439
18944
  }
18440
18945
  /** Summary of a pending invocation. */
18441
18946
  interface PendingInvocationDto$1 {
18442
18947
  /** Action name */
18443
18948
  action_name: string;
18444
18949
  /** Input values */
18445
- inputs: Record<string, any>;
18950
+ inputs: Partial<Record<string, any>>;
18446
18951
  /** Invocation ID */
18447
18952
  invocation_id: string;
18448
18953
  /** When invoked (ISO 8601) */
@@ -18475,7 +18980,7 @@ interface PendingReviewEntityDto {
18475
18980
  /** Candidate matches for deduplication */
18476
18981
  candidates: ReviewCandidateMatchDto$1[];
18477
18982
  /** Character interval in source text where entity was found (start, end) */
18478
- char_interval?: any[] | null;
18983
+ char_interval?: number[] | null;
18479
18984
  /**
18480
18985
  * Extraction confidence score (0.0 - 1.0)
18481
18986
  * @format double
@@ -18486,7 +18991,7 @@ interface PendingReviewEntityDto {
18486
18991
  /** Entity local ID (from extraction) */
18487
18992
  entity_id: string;
18488
18993
  /** Extracted features as key-value pairs */
18489
- features: Record<string, any>;
18994
+ features: Partial<Record<string, any>>;
18490
18995
  /** Why this entity needs review */
18491
18996
  reason: ReviewReason$1;
18492
18997
  /**
@@ -18844,7 +19349,7 @@ interface PredictEffectResponse$1 {
18844
19349
  * ALL effects as FuzzyNumbers (multi-parameter drug design)
18845
19350
  * Keys: effect_potency, effect_lipophilicity, effect_metabolic_stability, etc.
18846
19351
  */
18847
- all_effects?: Record<string, EffectDto$1>;
19352
+ all_effects?: Partial<Record<string, EffectDto$1>>;
18848
19353
  /**
18849
19354
  * Combined confidence/degree from Bayesian merging
18850
19355
  * @format double
@@ -18874,7 +19379,7 @@ interface PredictEffectResponse$1 {
18874
19379
  /** Request to predict effect for a query point. */
18875
19380
  interface PredictFromDiscoveryRequest$1 {
18876
19381
  /** Current feature values. */
18877
- current_values: Record<string, number>;
19382
+ current_values: Partial<Record<string, number>>;
18878
19383
  /**
18879
19384
  * The root sort ID from discovery.
18880
19385
  * @format uuid
@@ -18899,7 +19404,7 @@ interface PredictFromDiscoveryResponse$1 {
18899
19404
  */
18900
19405
  avg_similarity: number;
18901
19406
  /** Predicted effects by horizon. */
18902
- predictions: Record<string, EffectPredictionDto$1>;
19407
+ predictions: Partial<Record<string, EffectPredictionDto$1>>;
18903
19408
  /**
18904
19409
  * Query time in milliseconds.
18905
19410
  * @min 0
@@ -19243,7 +19748,7 @@ interface PropertyGraphErrorResponse$1 {
19243
19748
  /** Execution response for a GQL/Cypher/Gremlin query after lowering to OSFQL. */
19244
19749
  interface PropertyGraphExecuteResponse$1 {
19245
19750
  /** Variable bindings returned by OSFQL `MATCH`. */
19246
- bindings: Record<string, OsfqlValueDto>[];
19751
+ bindings: Partial<Record<string, OsfqlValueDto>>[];
19247
19752
  /** Sort ids produced by `DEFINE`; normally empty for property-graph compatibility. */
19248
19753
  defined_sort_ids: string[];
19249
19754
  /** Diagnostics emitted by the OSFQL executor. */
@@ -19294,6 +19799,17 @@ interface ProvenanceDto {
19294
19799
  */
19295
19800
  source_fact_id: string;
19296
19801
  }
19802
+ /** A step in the provenance chain linking a finding to its sources. */
19803
+ interface ProvenanceStep {
19804
+ /** Description of what happened at this step. */
19805
+ description: string;
19806
+ /** OSFKB entity ID involved in this step. */
19807
+ entity_id?: string | null;
19808
+ /** Type of step: "extraction", "inference", "assessment". */
19809
+ step_type: string;
19810
+ /** Timestamp of this step (ISO 8601). */
19811
+ timestamp?: string | null;
19812
+ }
19297
19813
  /**
19298
19814
  * Provenance tag for a derived fact from tagged forward chaining.
19299
19815
  * Maps a derived fact (by index) to its probabilistic confidence score.
@@ -19384,7 +19900,7 @@ interface PsiTermDto$1 {
19384
19900
  * - constraint.sort: `{var: Uuid, sort_id: Uuid}`
19385
19901
  * - variable: `{_name?: String}`
19386
19902
  */
19387
- features: Record<string, FeatureValueDto$1>;
19903
+ features: Partial<Record<string, FeatureValueDto$1>>;
19388
19904
  /**
19389
19905
  * Sort ID (for programmatic use)
19390
19906
  * @format uuid
@@ -19486,7 +20002,7 @@ type QueryTerm$1 = {
19486
20002
  term_id: string;
19487
20003
  type: "by_id";
19488
20004
  } | {
19489
- features: Record<string, ValueDto$1>;
20005
+ features: Partial<Record<string, ValueDto$1>>;
19490
20006
  /** @format uuid */
19491
20007
  sort_id: string;
19492
20008
  type: "inline";
@@ -19568,7 +20084,7 @@ interface ReExtractRequest$1 {
19568
20084
  /** Use different extraction strategy */
19569
20085
  extraction_strategy?: string | null;
19570
20086
  /** Focus on specific sorts */
19571
- focus_sorts?: any[] | null;
20087
+ focus_sorts?: string[] | null;
19572
20088
  /** Specific prompt/instructions for extraction */
19573
20089
  instructions?: string | null;
19574
20090
  /**
@@ -19918,7 +20434,7 @@ interface RegisterExternalActionRequest$1 {
19918
20434
  /** Unique name for this action (becomes the sort name) */
19919
20435
  name: string;
19920
20436
  /** Optional input features with default values */
19921
- optional_inputs?: Record<string, any>;
20437
+ optional_inputs?: Partial<Record<string, any>>;
19922
20438
  /** Output feature names (bound after callback) */
19923
20439
  outputs?: string[];
19924
20440
  /** Required input feature names */
@@ -20200,6 +20716,22 @@ interface RepairHintDto {
20200
20716
  /** The feature or predicate the hint applies to. */
20201
20717
  target: string;
20202
20718
  }
20719
+ /** Oversight verification result for the report. */
20720
+ interface ReportVerification {
20721
+ /**
20722
+ * Computation time in milliseconds.
20723
+ * @format int64
20724
+ * @min 0
20725
+ */
20726
+ computation_time_ms: number;
20727
+ /**
20728
+ * Overall verification score (0.0-1.0).
20729
+ * @format double
20730
+ */
20731
+ score: number;
20732
+ /** Overall verdict: "safe", "unsafe", "undetermined". */
20733
+ verdict: string;
20734
+ }
20203
20735
  /** Request to reprocess failed documents */
20204
20736
  interface ReprocessFailedRequest {
20205
20737
  /**
@@ -20221,10 +20753,320 @@ interface ReprocessFailedResponse {
20221
20753
  /** @min 0 */
20222
20754
  requeued_count: number;
20223
20755
  }
20756
+ /** Response with contradictions. */
20757
+ interface ResearchContradictionsResponse$1 {
20758
+ /** All detected contradictions. */
20759
+ contradictions: Contradiction[];
20760
+ /**
20761
+ * Session ID.
20762
+ * @format uuid
20763
+ */
20764
+ session_id: string;
20765
+ /**
20766
+ * Total number of contradictions.
20767
+ * @min 0
20768
+ */
20769
+ total: number;
20770
+ }
20771
+ /** Results from a single research cycle (matches SDK's `ResearchCycleResultDto`). */
20772
+ interface ResearchCycleResultDto$1 {
20773
+ /**
20774
+ * Claims merged via entailment detection.
20775
+ * @min 0
20776
+ */
20777
+ claims_merged?: number;
20778
+ /**
20779
+ * Claims verified.
20780
+ * @min 0
20781
+ */
20782
+ claims_verified: number;
20783
+ /**
20784
+ * Contradictions detected.
20785
+ * @min 0
20786
+ */
20787
+ contradictions_detected: number;
20788
+ /**
20789
+ * Contradictions resolved via evidence comparison.
20790
+ * @min 0
20791
+ */
20792
+ contradictions_resolved?: number;
20793
+ /**
20794
+ * Cycle number (1-indexed).
20795
+ * @format int32
20796
+ * @min 0
20797
+ */
20798
+ cycle_number: number;
20799
+ /**
20800
+ * Knowledge gaps detected at start of cycle.
20801
+ * @min 0
20802
+ */
20803
+ gaps_detected: number;
20804
+ /**
20805
+ * Gaps resolved during this cycle.
20806
+ * @min 0
20807
+ */
20808
+ gaps_resolved: number;
20809
+ /**
20810
+ * Papers successfully ingested.
20811
+ * @min 0
20812
+ */
20813
+ papers_ingested: number;
20814
+ /**
20815
+ * Papers retrieved from external APIs.
20816
+ * @min 0
20817
+ */
20818
+ papers_retrieved: number;
20819
+ /**
20820
+ * Processing time for this cycle in milliseconds.
20821
+ * @format int64
20822
+ * @min 0
20823
+ */
20824
+ processing_time_ms: number;
20825
+ /** Search queries used. */
20826
+ search_queries: string[];
20827
+ }
20828
+ /**
20829
+ * Error response body.
20830
+ *
20831
+ * Registered in the workspace OpenAPI document as `ResearchErrorResponse`.
20832
+ * `osfkb-api` already publishes a component named `ErrorResponse`, and
20833
+ * `utoipa`'s merge takes only what the target does not already have — an
20834
+ * unrenamed component here would be dropped silently and every research error
20835
+ * response would `$ref` the api crate's type instead. The two happen to have
20836
+ * the same shape today; nothing keeps them that way.
20837
+ */
20838
+ interface ResearchErrorResponse {
20839
+ /** Error message. */
20840
+ error: string;
20841
+ }
20842
+ /** A verified research finding. */
20843
+ interface ResearchFinding {
20844
+ /** OSFKB term ID of the claim. */
20845
+ claim_id: string;
20846
+ /** Evidence items contradicting the claim. */
20847
+ contradicting_evidence: EvidenceItemSummary[];
20848
+ /** Assessment label ("Strongly Supported", "Contradicted", etc.). */
20849
+ label: string;
20850
+ /** Full provenance chain from source to finding. */
20851
+ provenance_chain: ProvenanceStep[];
20852
+ /** Whether the assessment was residuated (suspended due to insufficient evidence). */
20853
+ residuated: boolean;
20854
+ /** Specific features that are residuated, enabling targeted gap filling. */
20855
+ residuated_features?: ResiduatedFeature[];
20856
+ /** Reason for residuation if applicable. */
20857
+ residuation_reason?: string | null;
20858
+ /**
20859
+ * Papers the claim was extracted from.
20860
+ *
20861
+ * `claim_id` is an OSFKB term UUID and is not resolvable by a consumer;
20862
+ * this is what makes the finding citable. Resolved by walking the claim's
20863
+ * term id through the session's paper→term links, so a claim drawn from
20864
+ * several papers carries several refs, in link order.
20865
+ * Defaulted so sessions persisted before attribution existed still load.
20866
+ */
20867
+ sources?: PaperRef[];
20868
+ /** The claim statement. */
20869
+ statement: string;
20870
+ /** Evidence items supporting the claim. */
20871
+ supporting_evidence: EvidenceItemSummary[];
20872
+ /**
20873
+ * Evidence assessment truthfulness score (0.0-1.0).
20874
+ * @format double
20875
+ */
20876
+ truthfulness: number;
20877
+ }
20878
+ /** Response with research findings. */
20879
+ interface ResearchFindingsResponse$1 {
20880
+ /** All verified findings. */
20881
+ findings: ResearchFinding[];
20882
+ /**
20883
+ * Session ID.
20884
+ * @format uuid
20885
+ */
20886
+ session_id: string;
20887
+ /**
20888
+ * Total number of findings.
20889
+ * @min 0
20890
+ */
20891
+ total: number;
20892
+ }
20893
+ /** Response with knowledge gaps. */
20894
+ interface ResearchGapsResponse$1 {
20895
+ /** All detected knowledge gaps. */
20896
+ gaps: KnowledgeGap[];
20897
+ /**
20898
+ * Session ID.
20899
+ * @format uuid
20900
+ */
20901
+ session_id: string;
20902
+ /**
20903
+ * Total number of gaps.
20904
+ * @min 0
20905
+ */
20906
+ total: number;
20907
+ }
20908
+ /** Response with the research report (matches SDK's `ResearchReportResponse`). */
20909
+ interface ResearchReportResponse$1 {
20910
+ /** Detected contradictions. */
20911
+ contradictions: Contradiction[];
20912
+ /** Findings with provenance. */
20913
+ findings: ResearchFinding[];
20914
+ /** Generated report content (markdown). */
20915
+ generated_content?: string | null;
20916
+ /** Unresolved knowledge gaps. */
20917
+ knowledge_gaps: KnowledgeGap[];
20918
+ /** The research question. */
20919
+ question: string;
20920
+ /**
20921
+ * Session ID.
20922
+ * @format uuid
20923
+ */
20924
+ session_id: string;
20925
+ /** Research statistics. */
20926
+ statistics: ResearchStatisticsDto$1;
20927
+ /** Executive summary. */
20928
+ summary: string;
20929
+ /** Oversight verification result. */
20930
+ verification?: null | ReportVerification;
20931
+ }
20932
+ /**
20933
+ * The wire spelling of a session's status: the phase name alone, without the
20934
+ * payload [`ResearchSessionStatus::Failed`] carries.
20935
+ *
20936
+ * The domain status is an externally-tagged enum with data on one variant, so
20937
+ * it serializes as `{"Failed":{"error":"…"}}` — a shape no consumer wants on a
20938
+ * field named `status`, and one that changes shape between variants. This is
20939
+ * the flat projection the API has always sent (`"Created"`, `"Failed"`, …);
20940
+ * a `Failed` session's message travels separately, in
20941
+ * [`GetSessionResponse::error`].
20942
+ *
20943
+ * **It is a type, not a `String`, so that it reaches the OpenAPI document as a
20944
+ * closed enum.** As a `String` the spec said "any string", and every generated
20945
+ * client had to hand-maintain the list of eight — a list with nothing checking
20946
+ * it against this match. The TypeScript SDK's `ResearchSessionStatusDto` union
20947
+ * is now generated from this declaration, so adding a variant here propagates
20948
+ * instead of drifting (#144).
20949
+ */
20950
+ type ResearchSessionStatusLabel = "Created" | "Bootstrapping" | "Retrieving" | "Ingesting" | "Verifying" | "Reporting" | "Completed" | "Failed";
20951
+ /** One row in the session list (GET /research/sessions). */
20952
+ interface ResearchSessionSummaryDto$1 {
20953
+ /** When the session was created (ISO 8601). */
20954
+ created_at: string;
20955
+ /** The research question. */
20956
+ question: string;
20957
+ /**
20958
+ * Session ID.
20959
+ * @format uuid
20960
+ */
20961
+ session_id: string;
20962
+ /**
20963
+ * Current session status — the phase name alone; see
20964
+ * [`ResearchSessionStatusLabel`].
20965
+ */
20966
+ status: ResearchSessionStatusLabel;
20967
+ /**
20968
+ * Total contradictions.
20969
+ * @min 0
20970
+ */
20971
+ total_contradictions: number;
20972
+ /**
20973
+ * Total findings.
20974
+ * @min 0
20975
+ */
20976
+ total_findings: number;
20977
+ /**
20978
+ * Total knowledge gaps.
20979
+ * @min 0
20980
+ */
20981
+ total_gaps: number;
20982
+ /**
20983
+ * Total papers ingested.
20984
+ * @min 0
20985
+ */
20986
+ total_papers_ingested: number;
20987
+ /**
20988
+ * Total papers retrieved from external APIs, including by the cycle
20989
+ * currently running — the list view's half of the same live progress
20990
+ * [`GetSessionResponse::total_papers_retrieved`] carries.
20991
+ * @min 0
20992
+ */
20993
+ total_papers_retrieved: number;
20994
+ /** When the session was last updated (ISO 8601). */
20995
+ updated_at: string;
20996
+ }
20997
+ /** Statistics DTO for API responses (matches SDK's `ResearchStatisticsDto`). */
20998
+ interface ResearchStatisticsDto$1 {
20999
+ /**
21000
+ * Claims merged via entailment detection.
21001
+ * @format int32
21002
+ * @min 0
21003
+ */
21004
+ claims_merged?: number;
21005
+ /**
21006
+ * Contradictions resolved via evidence comparison.
21007
+ * @format int32
21008
+ * @min 0
21009
+ */
21010
+ contradictions_resolved?: number;
21011
+ /**
21012
+ * Knowledge gaps remaining.
21013
+ * @format int32
21014
+ * @min 0
21015
+ */
21016
+ gaps_remaining: number;
21017
+ /**
21018
+ * Knowledge gaps resolved.
21019
+ * @format int32
21020
+ * @min 0
21021
+ */
21022
+ gaps_resolved: number;
21023
+ /**
21024
+ * Total claims extracted.
21025
+ * @format int32
21026
+ * @min 0
21027
+ */
21028
+ total_claims_extracted: number;
21029
+ /**
21030
+ * Total claims verified.
21031
+ * @format int32
21032
+ * @min 0
21033
+ */
21034
+ total_claims_verified: number;
21035
+ /**
21036
+ * Total contradictions detected.
21037
+ * @format int32
21038
+ * @min 0
21039
+ */
21040
+ total_contradictions: number;
21041
+ /**
21042
+ * Total number of research cycles.
21043
+ * @format int32
21044
+ * @min 0
21045
+ */
21046
+ total_cycles: number;
21047
+ /**
21048
+ * Total papers successfully ingested.
21049
+ * @format int32
21050
+ * @min 0
21051
+ */
21052
+ total_papers_ingested: number;
21053
+ /**
21054
+ * Total papers retrieved from external APIs.
21055
+ * @format int32
21056
+ * @min 0
21057
+ */
21058
+ total_papers_retrieved: number;
21059
+ /**
21060
+ * Total processing time in milliseconds.
21061
+ * @format int64
21062
+ * @min 0
21063
+ */
21064
+ total_processing_time_ms: number;
21065
+ }
20224
21066
  /** Residuated witness waiting for information */
20225
21067
  interface ResidualWitnessDto$1 {
20226
21068
  /** Partial bindings found so far */
20227
- partial_bindings: Record<string, string>;
21069
+ partial_bindings: Partial<Record<string, string>>;
20228
21070
  /** What would trigger re-evaluation */
20229
21071
  trigger: string;
20230
21072
  /** ID of the witness that couldn't be satisfied yet */
@@ -20261,6 +21103,24 @@ interface ResiduatedEntry {
20261
21103
  /** What would resolve this: "Provide a fact with sort <name>" */
20262
21104
  wake_trigger: string;
20263
21105
  }
21106
+ /**
21107
+ * A feature that is residuated (suspended due to missing data).
21108
+ *
21109
+ * Tracks per-feature residuation rather than binary residuation at the claim level.
21110
+ * Each residuated feature represents a specific piece of missing information that,
21111
+ * if resolved, would strengthen or change the claim assessment.
21112
+ */
21113
+ interface ResiduatedFeature {
21114
+ /** Feature name that is missing or incomplete. */
21115
+ feature_name: string;
21116
+ /**
21117
+ * Information gain from resolving this feature (0.0-1.0).
21118
+ * @format double
21119
+ */
21120
+ info_gain: number;
21121
+ /** What sort/type would satisfy this feature. */
21122
+ needed_sort?: string | null;
21123
+ }
20264
21124
  /** A residuated term */
20265
21125
  interface ResiduatedTermDto$1 {
20266
21126
  /**
@@ -20296,7 +21156,7 @@ interface ResiduationDetailDto$1 {
20296
21156
  /** A residuation (witness that couldn't be satisfied yet) */
20297
21157
  interface ResiduationDto$1 {
20298
21158
  /** Partial bindings found so far */
20299
- partial_bindings: Record<string, string>;
21159
+ partial_bindings: Partial<Record<string, string>>;
20300
21160
  /** What would trigger re-evaluation */
20301
21161
  trigger: string;
20302
21162
  /** ID of the witness that residuated */
@@ -20392,6 +21252,8 @@ interface ResiduationStats$1 {
20392
21252
  */
20393
21253
  total: number;
20394
21254
  }
21255
+ /** Strategy used to resolve a contradiction between two claims. */
21256
+ type ResolutionStrategy = "EvidenceStrength" | "EvidenceCount" | "Unresolvable";
20395
21257
  /** Request to resolve a qualified name */
20396
21258
  interface ResolveSymbolRequest$1 {
20397
21259
  /** Qualified name (e.g., "module#symbol" or just "symbol") */
@@ -20623,7 +21485,7 @@ interface ReviewCandidateMatchDto$1 {
20623
21485
  /** Display name for the candidate */
20624
21486
  display_name: string;
20625
21487
  /** Key features for comparison */
20626
- features: Record<string, any>;
21488
+ features: Partial<Record<string, any>>;
20627
21489
  /**
20628
21490
  * Similarity score (0.0 - 1.0)
20629
21491
  * @format double
@@ -20644,9 +21506,9 @@ type ReviewStatus = "pending" | "approved" | "rejected" | "corrected" | "merged"
20644
21506
  /** Summary statistics for pending reviews */
20645
21507
  interface ReviewSummaryDto {
20646
21508
  /** Breakdown by reason */
20647
- by_reason: Record<string, number>;
21509
+ by_reason: Partial<Record<string, number>>;
20648
21510
  /** Breakdown by sort */
20649
- by_sort: Record<string, number>;
21511
+ by_sort: Partial<Record<string, number>>;
20650
21512
  /**
20651
21513
  * Entities with high confidence (>0.8)
20652
21514
  * @min 0
@@ -20669,7 +21531,7 @@ interface ReviewSummaryDto {
20669
21531
  */
20670
21532
  interface RewardScoreRequest$1 {
20671
21533
  /** Feature → value constraints, as `[["maker","Tesla"], ...]`. Optional. */
20672
- constraints?: any[][];
21534
+ constraints?: [string, string][];
20673
21535
  /**
20674
21536
  * Bounded sample size used the first time this tenant's model is mined. Optional.
20675
21537
  * @min 0
@@ -20947,7 +21809,7 @@ interface RlTrainResponse$1 {
20947
21809
  /** Contrastive losses from encoder training (empty if no encoder) */
20948
21810
  contrastive_losses?: number[];
20949
21811
  /** Conversation-specific metrics when training on conversation environment */
20950
- conversation_decisions?: Record<string, number>;
21812
+ conversation_decisions?: Partial<Record<string, number>>;
20951
21813
  /**
20952
21814
  * Auto-curriculum adjustments
20953
21815
  * @min 0
@@ -20985,14 +21847,14 @@ interface RlTrainResponse$1 {
20985
21847
  */
20986
21848
  expert_avg_entropy?: number;
20987
21849
  /** Average expert weights (empty map if gating disabled) */
20988
- expert_avg_weights?: Record<string, number>;
21850
+ expert_avg_weights?: Partial<Record<string, number>>;
20989
21851
  /**
20990
21852
  * Expert collapse recoveries count
20991
21853
  * @min 0
20992
21854
  */
20993
21855
  expert_collapse_recoveries?: number;
20994
21856
  /** Final expert weights at end of training */
20995
- expert_final_weights?: Record<string, number>;
21857
+ expert_final_weights?: Partial<Record<string, number>>;
20996
21858
  /**
20997
21859
  * Final contrastive temperature after feedback adaptation
20998
21860
  * @format float
@@ -21014,14 +21876,14 @@ interface RlTrainResponse$1 {
21014
21876
  */
21015
21877
  imagination_transitions?: number;
21016
21878
  /** Mode distribution (how often each cognitive mode was selected) */
21017
- mode_distribution?: Record<string, number>;
21879
+ mode_distribution?: Partial<Record<string, number>>;
21018
21880
  /**
21019
21881
  * Number of peer demonstrations consumed from self-play trajectory exchange
21020
21882
  * @min 0
21021
21883
  */
21022
21884
  peer_demonstrations_consumed?: number;
21023
21885
  /** Plasticity phase transitions observed (episode, phase) */
21024
- plasticity_phase_transitions?: any[][];
21886
+ plasticity_phase_transitions?: [number, number][];
21025
21887
  /**
21026
21888
  * Number of reactive decisions from deliberation scaling
21027
21889
  * @min 0
@@ -21158,7 +22020,7 @@ interface RowIntegrateResponse$1 {
21158
22020
  /** A matched entity from row search */
21159
22021
  interface RowMatchDto$1 {
21160
22022
  /** All features of the entity */
21161
- features: Record<string, any>;
22023
+ features: Partial<Record<string, any>>;
21162
22024
  /**
21163
22025
  * Entity ID
21164
22026
  * @format uuid
@@ -21472,6 +22334,23 @@ interface RunIntegratedCycleResponse$1 {
21472
22334
  /** Outcome of the integrated cycle */
21473
22335
  outcome: IntegratedCycleOutcomeDto$1;
21474
22336
  }
22337
+ /** Response from running a research cycle (matches SDK's `ResearchCycleResponse`). */
22338
+ interface RunResearchCycleResponse {
22339
+ /** Whether the session has converged (no more cycles needed). */
22340
+ converged: boolean;
22341
+ /** Results from this cycle. */
22342
+ cycle: ResearchCycleResultDto$1;
22343
+ /**
22344
+ * Session ID.
22345
+ * @format uuid
22346
+ */
22347
+ session_id: string;
22348
+ /**
22349
+ * Current session status — the phase name alone; see
22350
+ * [`ResearchSessionStatusLabel`].
22351
+ */
22352
+ status: ResearchSessionStatusLabel;
22353
+ }
21475
22354
  /** Aggregated Safe Harbor result across the record batch. */
21476
22355
  interface SafeHarborSummary$1 {
21477
22356
  /**
@@ -21544,7 +22423,7 @@ interface SatSolveResponse$1 {
21544
22423
  * When `result` is `"satisfiable"`: the Boolean assignment for each variable
21545
22424
  * (index 0 = `model[0]`, etc.). Absent otherwise.
21546
22425
  */
21547
- model?: any[] | null;
22426
+ model?: boolean[] | null;
21548
22427
  /** Satisfiability verdict. */
21549
22428
  result: SatVerdict$1;
21550
22429
  /** Solver statistics (decisions, conflicts, propagations, restarts). */
@@ -21723,11 +22602,11 @@ interface ScmCounterfactualRequest$1 {
21723
22602
  /** Deterministic structural assignments */
21724
22603
  assignments: StructuralAssignmentDto$1[];
21725
22604
  /** The FACTUAL evidence (what was actually observed) */
21726
- evidence: Record<string, number>;
22605
+ evidence: Partial<Record<string, number>>;
21727
22606
  /** Exogenous noise variables with their distributions */
21728
22607
  exogenous: ExogenousNoiseDto$1[];
21729
22608
  /** The hypothetical interventions do(V = v) */
21730
- interventions: Record<string, number>;
22609
+ interventions: Partial<Record<string, number>>;
21731
22610
  /** The variable whose counterfactual distribution is queried */
21732
22611
  query: string;
21733
22612
  }
@@ -21817,6 +22696,28 @@ interface SearchCommunitiesResponse$1 {
21817
22696
  * that do not send a `mode` field.
21818
22697
  */
21819
22698
  type SearchModeDto$1 = "solutions" | "feasibility";
22699
+ /** Request to search for papers. */
22700
+ interface SearchPapersRequest$1 {
22701
+ /**
22702
+ * Maximum number of results.
22703
+ * @min 0
22704
+ */
22705
+ max_results?: number | null;
22706
+ /** Search query string. */
22707
+ query: string;
22708
+ /** Restrict to specific sources (e.g., ["PubMed", "SemanticScholar"]). */
22709
+ sources?: string[] | null;
22710
+ }
22711
+ /** Response from paper search (matches SDK's `SearchPapersResponse`). */
22712
+ interface SearchPapersResponse$1 {
22713
+ /** Search results. */
22714
+ results: PaperSearchResultDto$1[];
22715
+ /**
22716
+ * Total results found (may exceed returned count).
22717
+ * @min 0
22718
+ */
22719
+ total_found: number;
22720
+ }
21820
22721
  /** Request to search for solutions */
21821
22722
  interface SearchRequest {
21822
22723
  /**
@@ -21872,7 +22773,7 @@ type SearchResponse = {
21872
22773
  * Per-variable feasibility. Key is the variable name as registered
21873
22774
  * in the space's choice points.
21874
22775
  */
21875
- variables: Record<string, VariableFeasibilityDto$1>;
22776
+ variables: Partial<Record<string, VariableFeasibilityDto$1>>;
21876
22777
  };
21877
22778
  /**
21878
22779
  * PG-direct name search across the tenant's sorts. Used by the
@@ -22078,7 +22979,7 @@ interface SessionStatusResponse {
22078
22979
  */
22079
22980
  interface SetActionReviewConfigRequest$1 {
22080
22981
  /** Action sorts that always require approval */
22081
- always_require_approval?: any[] | null;
22982
+ always_require_approval?: string[] | null;
22082
22983
  /**
22083
22984
  * Default timeout for reviews, in seconds
22084
22985
  * @format int64
@@ -22098,7 +22999,7 @@ interface SetActionReviewConfigRequest$1 {
22098
22999
  */
22099
23000
  max_pending_reviews?: number | null;
22100
23001
  /** Action sorts that never require approval (override) */
22101
- never_require_approval?: any[] | null;
23002
+ never_require_approval?: string[] | null;
22102
23003
  }
22103
23004
  /** Response after applying the action-review configuration. */
22104
23005
  interface SetActionReviewConfigResponse$1 {
@@ -22228,7 +23129,7 @@ interface ShiftDemandInput {
22228
23129
  * by any eligible agent. Role names must match tags used in
22229
23130
  * [`AgentInput::roles`].
22230
23131
  */
22231
- role_minimums?: Record<string, number>;
23132
+ role_minimums?: Partial<Record<string, number>>;
22232
23133
  /** @min 0 */
22233
23134
  shift: number;
22234
23135
  /**
@@ -22458,7 +23359,7 @@ interface SmtCheckResponse$1 {
22458
23359
  *
22459
23360
  * `true` → this equality holds in the model; `false` → it does not hold.
22460
23361
  */
22461
- assignments?: object | null;
23362
+ assignments?: Partial<Record<number, boolean>> | null;
22462
23363
  /** Satisfiability verdict. */
22463
23364
  result: SmtVerdict$1;
22464
23365
  /** Reason string for `"unknown"` results. Absent otherwise. */
@@ -22578,11 +23479,11 @@ type SolutionStatus$1 = "optimal" | "feasible" | "infeasible" | "unbounded" | "u
22578
23479
  /** Request to solve a constraint problem */
22579
23480
  interface SolveConstraintRequest$1 {
22580
23481
  constraints: ArithmeticConstraintDto$1[];
22581
- initial_bindings?: object | null;
23482
+ initial_bindings?: Partial<Record<string, number>> | null;
22582
23483
  }
22583
23484
  /** Response from solving a constraint problem */
22584
23485
  interface SolveConstraintResponse$1 {
22585
- bindings: Record<string, number>;
23486
+ bindings: Partial<Record<string, number>>;
22586
23487
  message?: string | null;
22587
23488
  success: boolean;
22588
23489
  suspended_constraints: string[];
@@ -22600,7 +23501,7 @@ interface SolveFlowNetworkResponse$1 {
22600
23501
  /** Echo of the algorithm dispatched. */
22601
23502
  algorithm: FlowAlgorithmDto;
22602
23503
  /** Per-edge classification (classify_* algorithms only). */
22603
- classifications?: any[] | null;
23504
+ classifications?: EdgeClassificationDto[] | null;
22604
23505
  /** Per-edge flow snapshot. */
22605
23506
  edge_flows: EdgeFlowDto[];
22606
23507
  /** Min-cut partition (min_cut algorithm only). */
@@ -22656,7 +23557,7 @@ interface SolveProblemResponse$1 {
22656
23557
  /** Status reported by the solver. */
22657
23558
  status: SolutionStatus$1;
22658
23559
  /** Variable-name → optimal value. Empty for infeasible/unbounded. */
22659
- values: Record<string, number>;
23560
+ values: Partial<Record<string, number>>;
22660
23561
  }
22661
23562
  /**
22662
23563
  * Response body for `GET /api/v1/solver/health`. Typed so the OpenAPI
@@ -22742,9 +23643,9 @@ interface SortBoxResponse$1 {
22742
23643
  */
22743
23644
  log_volume?: number | null;
22744
23645
  /** Maximum coordinates of the box. */
22745
- max_coords?: any[] | null;
23646
+ max_coords?: number[] | null;
22746
23647
  /** Minimum coordinates of the box. */
22747
- min_coords?: any[] | null;
23648
+ min_coords?: number[] | null;
22748
23649
  /** The sort name that was looked up. */
22749
23650
  sort_name: string;
22750
23651
  }
@@ -22761,7 +23662,7 @@ interface SortCalibrationDto$1 {
22761
23662
  */
22762
23663
  ece: number;
22763
23664
  /** Feature-level ECE (if computed). */
22764
- feature_ece: Record<string, number>;
23665
+ feature_ece: Partial<Record<string, number>>;
22765
23666
  /** Whether the sort is overconfident. */
22766
23667
  is_overconfident: boolean;
22767
23668
  /** Whether the sort is underconfident. */
@@ -22880,7 +23781,7 @@ interface SortDiscoveryResponseDto {
22880
23781
  */
22881
23782
  concepts_matching_existing: number;
22882
23783
  /** Fuzzy concept levels (only present when fuzzy_thresholds was non-empty) */
22883
- fuzzy_levels?: any[] | null;
23784
+ fuzzy_levels?: FuzzyConceptLevelDto[] | null;
22884
23785
  /**
22885
23786
  * Novel concepts discovered (potential new sorts)
22886
23787
  * @min 0
@@ -22911,7 +23812,7 @@ interface SortDiscoveryResponseDto {
22911
23812
  /** API representation of a sort with full OSF schema */
22912
23813
  interface SortDto$1 {
22913
23814
  /** Custom OWL annotations (e.g., icon, color) */
22914
- annotations?: Record<string, string>;
23815
+ annotations?: Partial<Record<string, string>>;
22915
23816
  /** Bound constraints on feature values */
22916
23817
  bound_constraints?: BoundConstraintDto$1[];
22917
23818
  /** Human-readable description for semantic search */
@@ -23565,7 +24466,7 @@ interface SpaceSolutionDto$1 {
23565
24466
  /** The choices made at each choice point */
23566
24467
  choices: ChoiceSelection$1[];
23567
24468
  /** Trace events (e.g., LIFE feature creation) */
23568
- events?: any[] | null;
24469
+ events?: TraceEventDto$1[] | null;
23569
24470
  /** ID of the space containing this solution */
23570
24471
  space_id: string;
23571
24472
  /** Status (should be Succeeded) */
@@ -24073,8 +24974,8 @@ interface SummaryResponse$1 {
24073
24974
  * @min 0
24074
24975
  */
24075
24976
  n_records: number;
24076
- per_actor: Record<string, number>;
24077
- per_request_path: Record<string, number>;
24977
+ per_actor: Partial<Record<string, number>>;
24978
+ per_request_path: Partial<Record<string, number>>;
24078
24979
  tenant_id: string;
24079
24980
  ts_first?: string | null;
24080
24981
  ts_last?: string | null;
@@ -24530,7 +25431,7 @@ interface TemporalPlanRequest$1 {
24530
25431
  * Optional fields that must have unique values across selections (e.g., ["cuisine"])
24531
25432
  * When None or empty, allows same term to be selected multiple times
24532
25433
  */
24533
- no_repeat_fields?: any[] | null;
25434
+ no_repeat_fields?: string[] | null;
24534
25435
  /**
24535
25436
  * Number of terms to select (e.g., 7 for weekly plan)
24536
25437
  * @min 0
@@ -24555,7 +25456,7 @@ interface TemporalPlanRequest$1 {
24555
25456
  * Optional quality scores for top-k selection (term_id -> score)
24556
25457
  * When provided, selects highest-quality diverse candidates
24557
25458
  */
24558
- top_k?: object | null;
25459
+ top_k?: Partial<Record<string, number>> | null;
24559
25460
  }
24560
25461
  /** Response from temporal planning */
24561
25462
  interface TemporalPlanResponse$1 {
@@ -24691,7 +25592,7 @@ interface TermDto$1 {
24691
25592
  */
24692
25593
  display_name?: string | null;
24693
25594
  /** Features map */
24694
- features: Record<string, ValueDto$1>;
25595
+ features: Partial<Record<string, ValueDto$1>>;
24695
25596
  /**
24696
25597
  * Term ID
24697
25598
  * @format uuid
@@ -24706,7 +25607,7 @@ interface TermDto$1 {
24706
25607
  * Summaries of referenced terms — maps UUID string to display info.
24707
25608
  * Enriched at API layer via DomainTermStore lookups, zero extra I/O.
24708
25609
  */
24709
- referenced_terms?: Record<string, ReferencedTermSummary$1>;
25610
+ referenced_terms?: Partial<Record<string, ReferencedTermSummary$1>>;
24710
25611
  /**
24711
25612
  * Sort ID
24712
25613
  * @format uuid
@@ -24784,7 +25685,7 @@ interface TermListResponse$1 {
24784
25685
  /** Term pattern for unification queries */
24785
25686
  interface TermPatternDto$1 {
24786
25687
  /** Features to match */
24787
- features: Record<string, ValueDto$1>;
25688
+ features: Partial<Record<string, ValueDto$1>>;
24788
25689
  /**
24789
25690
  * Sort ID of the pattern
24790
25691
  * @format uuid
@@ -24830,7 +25731,7 @@ interface TerminationDto {
24830
25731
  * When termination could not be established and an obstruction was found, the
24831
25732
  * human-readable cycle of interacting positions that can grow without bound.
24832
25733
  */
24833
- diverging_cycle?: any[] | null;
25734
+ diverging_cycle?: string[] | null;
24834
25735
  /**
24835
25736
  * The deepest chain of freshly-created values any reasoning step can produce
24836
25737
  * (the ranking-function bound). `0` means the rules never invent new values
@@ -24856,7 +25757,7 @@ interface TestInputDto {
24856
25757
  * calibration. Each value must be in `[0, 1]`. At least one
24857
25758
  * class entry required.
24858
25759
  */
24859
- class_scores: Record<string, number>;
25760
+ class_scores: Partial<Record<string, number>>;
24860
25761
  /** Caller-assigned identifier echoed in the response. */
24861
25762
  input_id: string;
24862
25763
  }
@@ -24966,6 +25867,17 @@ interface ToolCallInfo$1 {
24966
25867
  /** Tool name that was invoked */
24967
25868
  name: string;
24968
25869
  }
25870
+ /** Trace event payload */
25871
+ interface TraceEventDto$1 {
25872
+ assignment: string;
25873
+ /** 'feature_created' | 'feature_verified' | 'feature_conflict' */
25874
+ event_type: string;
25875
+ /** @format int64 */
25876
+ id: number;
25877
+ /** @format int64 */
25878
+ value_label: number;
25879
+ variable?: string | null;
25880
+ }
24969
25881
  /** Trail entry DTO */
24970
25882
  type TrailEntryDto$1 = {
24971
25883
  feature_name: string;
@@ -25174,7 +26086,7 @@ interface TranslateRdfRequest$1 {
25174
26086
  */
25175
26087
  interface TranslateRdfResponse$1 {
25176
26088
  /** The document's `@prefix` declarations (`prefix → namespace IRI`). */
25177
- prefixes: Record<string, string>;
26089
+ prefixes: Partial<Record<string, string>>;
25178
26090
  /** Distinct sort names referenced by the produced terms. */
25179
26091
  sorts: string[];
25180
26092
  /**
@@ -25385,7 +26297,7 @@ type TypedConstraintDto = {
25385
26297
  * the new `RunOsfql` variant, since the tier is fixed by kind for the others).
25386
26298
  */
25387
26299
  type UIActionDto$1 = {
25388
- field_types: Record<string, string>;
26300
+ field_types: Partial<Record<string, string>>;
25389
26301
  osfql_template: string;
25390
26302
  /**
25391
26303
  * Safety tier assigned per entry — a coarse pre-filter. The security boundary
@@ -25431,7 +26343,7 @@ type UIActionDto$1 = {
25431
26343
  statement_id?: string | null;
25432
26344
  type: "load_data";
25433
26345
  } | {
25434
- field_types: Record<string, string>;
26346
+ field_types: Partial<Record<string, string>>;
25435
26347
  osfql_template: string;
25436
26348
  /**
25437
26349
  * Safety tier assigned per entry — a coarse pre-filter. The security boundary
@@ -25545,7 +26457,7 @@ type UIActionDto$1 = {
25545
26457
  statement_id?: string | null;
25546
26458
  type: "refresh";
25547
26459
  } | {
25548
- field_types: Record<string, string>;
26460
+ field_types: Partial<Record<string, string>>;
25549
26461
  osfql_template: string;
25550
26462
  /**
25551
26463
  * Safety tier assigned per entry — a coarse pre-filter. The security boundary
@@ -25591,9 +26503,9 @@ interface UIActionRequest$1 {
25591
26503
  */
25592
26504
  dry_run?: boolean;
25593
26505
  /** Field type metadata (field_name → type hint like "string", "integer", "boolean") */
25594
- field_types?: object | null;
26506
+ field_types?: Partial<Record<string, string>> | null;
25595
26507
  /** Original field values for update operations (used for RETRACT to identify the term) */
25596
- original_values?: object | null;
26508
+ original_values?: Partial<Record<string, any>> | null;
25597
26509
  /**
25598
26510
  * Raw OSFQL override (if provided, used directly instead of building from
25599
26511
  * values). Gated: rejected with 400 unless `OSFKB_UI_RAW_OSFQL=1`.
@@ -25612,14 +26524,14 @@ interface UIActionRequest$1 {
25612
26524
  /** Term ID for update/delete operations */
25613
26525
  term_id?: string | null;
25614
26526
  /** Field values for submit/update (field_name → JSON value) */
25615
- values?: object | null;
26527
+ values?: Partial<Record<string, any>> | null;
25616
26528
  }
25617
26529
  /** Response from executing a UI action */
25618
26530
  interface UIActionResponse$1 {
25619
26531
  /** Present on dry-run of RETRACT/UPDATE: the rows the statement would hit. */
25620
26532
  affected_preview?: null | AffectedPreviewDto$1;
25621
26533
  /** Read-back rows for `run_osfql` reads (GOALS/GET GLOBAL/HIERARCHY/AGGREGATE). */
25622
- bindings?: any[] | null;
26534
+ bindings?: object[] | null;
25623
26535
  /** Diagnostics from OSFQL execution */
25624
26536
  diagnostics?: string[];
25625
26537
  /** Echo: true means this was a dry-run preview and nothing was mutated. */
@@ -25684,10 +26596,33 @@ interface UICatalogResponse$1 {
25684
26596
  */
25685
26597
  count: number;
25686
26598
  }
26599
+ /**
26600
+ * A single UI customization instruction from the frontend.
26601
+ *
26602
+ * Customizations are accumulated across chat turns and sent alongside
26603
+ * the describe request. The assembly service applies them as patches
26604
+ * on top of the base descriptor generated from the sort definition.
26605
+ */
26606
+ interface UICustomizationDto$2 {
26607
+ /** Component descriptor for add_component / add_tab */
26608
+ component?: null | UIDescriptorDto$1;
26609
+ /** Type of customization */
26610
+ customization_type: string;
26611
+ /** Layout mode for change_layout */
26612
+ layout_mode?: null | LayoutModeDto$1;
26613
+ /** Additional params (label, column name, style values, etc.) */
26614
+ params?: Partial<Record<string, any>> | null;
26615
+ /** Props to override on an existing component */
26616
+ props_override?: Partial<Record<string, any>> | null;
26617
+ /** JSONPath-style target for modifications (e.g., "children[0].props") */
26618
+ target_path?: string | null;
26619
+ /** Target slot for component additions/removals */
26620
+ target_slot?: string | null;
26621
+ }
25687
26622
  /** Request to generate a UI descriptor for a sort. */
25688
26623
  interface UIDescribeRequest$1 {
25689
26624
  /** Accumulated UI customizations from multi-turn conversation */
25690
- customizations?: any[] | null;
26625
+ customizations?: UICustomizationDto$2[] | null;
25691
26626
  /** Whether to load data via OSFQL (Table/Detail views, default: true) */
25692
26627
  load_data?: boolean;
25693
26628
  /**
@@ -25842,7 +26777,7 @@ interface UIGenerateResponse$1 {
25842
26777
  type UiSort$1 = "app" | "page" | "dashboard" | "grid" | "flex" | "stack" | "box" | "card" | "divider" | "spacer" | "navbar" | "sidebar" | "tabs" | "tab_panel" | "breadcrumbs" | "menu" | "menu_item" | "link" | "router" | "route" | "data_table" | "column" | "list" | "list_item" | "tree" | "tree_node" | "chart" | "stat" | "badge" | "avatar" | "icon" | "image" | "video" | "text" | "heading" | "paragraph" | "code" | "markdown" | "label" | "form" | "form_field" | "input" | "textarea" | "select" | "option" | "checkbox" | "radio" | "radio_group" | "toggle" | "slider" | "date_picker" | "time_picker" | "date_range_picker" | "file_upload" | "color_picker" | "autocomplete" | "search_input" | "button" | "button_group" | "icon_button" | "fab" | "dropdown_button" | "modal" | "dialog" | "drawer" | "popover" | "tooltip" | "toast" | "alert" | "progress" | "spinner" | "skeleton" | "accordion" | "accordion_item" | "collapsible" | "carousel" | "drag_drop_zone" | "draggable" | "drop_target" | "resizable" | "sortable_list" | "command_palette" | "wizard" | "wizard_step" | "timeline" | "timeline_item" | "kanban_board" | "kanban_column" | "kanban_card" | "calendar" | "rich_text_editor" | "conditional" | "for_each" | "show" | "suspense" | "error_boundary" | "portal" | "data_source" | "computed" | "state" | "effect" | "on_event" | "on_click" | "on_submit" | "on_change" | "sequence" | "navigate" | "api_call" | "set_state" | "show_toast" | "open_modal" | "close_modal" | "animate" | "transition" | "keyframes" | "auth_provider" | "protected_route" | "login_form" | "logout_button" | "user_profile" | "permission_gate" | "session_timeout" | "i18n_provider" | "trans" | "language_switcher" | "locale_date" | "locale_number" | "locale_currency" | "bidi" | "responsive" | "show_on_breakpoint" | "hide_on_breakpoint" | "container_query" | "aspect_ratio" | "theme_provider" | "theme_toggle" | "css_var" | "styled" | "color_scheme" | "screen_reader_only" | "skip_link" | "focus_trap" | "live_region" | "keyboard_nav" | "accessible_label" | "focus_ring" | "virtual_list" | "virtual_grid" | "virtual_table" | "infinite_scroll" | "lazy_load" | "code_split" | "prefetch" | "offline_indicator" | "sync_status" | "cache_control" | "background_sync" | "install_prompt" | "update_available" | "undo_provider" | "undo_button" | "redo_button" | "history_browser" | "snapshot" | "restore_point" | "hotkey" | "shortcut_hint" | "key_combo" | "shortcut_scope" | "global_search" | "search_results" | "search_highlight" | "search_filters" | "recent_searches" | "copy_button" | "paste_handler" | "share_button" | "qr_code" | "export_button" | "print_button" | "print_only" | "screen_only" | "pdf_preview" | "presence_indicator" | "cursor_overlay" | "typing_indicator" | "conflict_resolver" | "realtime_diff" | "notification_center" | "push_notification" | "inbox" | "unread_badge" | "notification_settings" | "debug_panel" | "state_inspector" | "perf_monitor" | "network_inspector" | "error_reporter" | "position" | "layer" | "overlay" | "fixed" | "sticky" | "form_state_provider" | "field_error" | "validation_schema" | "async_validator" | "cross_field_validation" | "pagination" | "cursor_pagination" | "load_more" | "page_size_selector" | "search_params" | "route_params" | "deep_link" | "url_state" | "query_binding" | "scroll_container" | "scroll_snap" | "scroll_lock" | "scroll_restore" | "scroll_to" | "scroll_spy" | "selection_provider" | "selectable" | "selection_actions" | "range_selection" | "gesture_handler" | "swipe_action" | "pinch_zoom" | "long_press" | "pan_gesture" | "multi_touch" | "file_download" | "file_preview" | "file_progress" | "file_browser" | "drop_zone" | "image_cropper" | "animation_controller" | "animation_timeline" | "spring" | "motion_value" | "animate_presence" | "stagger" | "focus_scope" | "focus_manager" | "auto_focus" | "restore_focus" | "merge_conflict" | "conflict_resolution" | "version_indicator" | "tenant_provider" | "tenant_switcher" | "tenant_branding" | "audit_log" | "activity_feed" | "change_history" | "feature_gate" | "feature_provider" | "beta_badge" | "experiment" | "variant" | "experiment_provider" | "analytics" | "page_view" | "click_tracker" | "event_tracker" | "rate_limit_indicator" | "maintenance_mode" | "system_status" | "scheduled_downtime" | "document_head" | "meta_tag" | "document_title" | "open_graph" | "structured_data" | "video_call" | "audio_call" | "screen_share" | "media_stream" | "camera_capture" | "audio_recorder" | "canvas2_d" | "web_g_l" | "drawing_canvas" | "signature_pad" | "geolocation" | "device_orientation" | "camera" | "barcode_scanner" | "local_storage_binding" | "session_storage_binding" | "indexed_db_binding";
25843
26778
  interface UncertainEdgeDto$1 {
25844
26779
  /** Possible directions */
25845
- possible_directions: any[][];
26780
+ possible_directions: [string, string][];
25846
26781
  /**
25847
26782
  * Uncertainty score (0 = certain, 1 = completely uncertain)
25848
26783
  * @format double
@@ -26101,7 +27036,7 @@ interface UpdateSortReviewRequest {
26101
27036
  /** Request to update a term */
26102
27037
  interface UpdateTermRequest$1 {
26103
27038
  /** Features to update */
26104
- features: Record<string, ValueDto$1>;
27039
+ features: Partial<Record<string, ValueDto$1>>;
26105
27040
  }
26106
27041
  /** Request to update namespace visibility */
26107
27042
  interface UpdateVisibilityRequest$1 {
@@ -26529,10 +27464,55 @@ interface VerificationStepDto$1 {
26529
27464
  /** Whether this step passed verification. */
26530
27465
  passed: boolean;
26531
27466
  }
27467
+ /** Request to verify a specific claim (matches SDK's `VerifyClaimRequest`). */
27468
+ interface VerifyClaimRequest$1 {
27469
+ /** Claim term ID (UUID). */
27470
+ claim_term_id: string;
27471
+ /** Evidence sort ID (UUID). */
27472
+ evidence_sort_id: string;
27473
+ /**
27474
+ * Session whose knowledge base holds the claim, if any.
27475
+ *
27476
+ * A session's terms live under a tenant of its own (the session id), so a
27477
+ * claim minted by a research run is invisible to a lookup against the
27478
+ * configured tenant — without this the route could not reach any session's
27479
+ * claims at all (#137). Absent, the claim is looked up under the configured
27480
+ * tenant, which is where a caller working outside a session put it.
27481
+ *
27482
+ * The session must belong to the caller's tenant; a session id from another
27483
+ * tenant is refused exactly as it is on every other by-id route.
27484
+ * @format uuid
27485
+ */
27486
+ session_id?: string | null;
27487
+ }
27488
+ /** Response from claim verification (matches SDK's `VerifyClaimResponse`). */
27489
+ interface VerifyClaimResponse$1 {
27490
+ /**
27491
+ * Number of contradicting evidence items.
27492
+ * @min 0
27493
+ */
27494
+ contradicting_count: number;
27495
+ /** Assessment label. */
27496
+ label: string;
27497
+ /** Whether assessment was residuated. */
27498
+ residuated: boolean;
27499
+ /** Reason for residuation. */
27500
+ residuation_reason?: string | null;
27501
+ /**
27502
+ * Number of supporting evidence items.
27503
+ * @min 0
27504
+ */
27505
+ supporting_count: number;
27506
+ /**
27507
+ * Truthfulness score (0.0-1.0).
27508
+ * @format double
27509
+ */
27510
+ truthfulness: number;
27511
+ }
26532
27512
  /** Request to verify faithfulness of generated text against source entities. */
26533
27513
  interface VerifyFaithfulnessRequest$1 {
26534
27514
  /** Extracted entity features (from generated text). */
26535
- extracted: Record<string, string>;
27515
+ extracted: Partial<Record<string, string>>;
26536
27516
  /**
26537
27517
  * Minimum entity recovery rate (default: 0.5).
26538
27518
  * @format double
@@ -26544,7 +27524,7 @@ interface VerifyFaithfulnessRequest$1 {
26544
27524
  */
26545
27525
  min_score?: number | null;
26546
27526
  /** Original entity features (source of truth). */
26547
- original: Record<string, string>;
27527
+ original: Partial<Record<string, string>>;
26548
27528
  }
26549
27529
  /** Response from faithfulness verification. */
26550
27530
  interface VerifyFaithfulnessResponse$1 {
@@ -26830,7 +27810,7 @@ interface WebhookCallbackRequest$1 {
26830
27810
  */
26831
27811
  notify_tenant_id?: string | null;
26832
27812
  /** Output values to bind to the Ψ-term features */
26833
- outputs?: Record<string, any>;
27813
+ outputs?: Partial<Record<string, any>>;
26834
27814
  /** Status of the action: "success", "failed", or "cancelled" */
26835
27815
  status: string;
26836
27816
  }
@@ -26868,7 +27848,7 @@ interface WitnessInstantiationDto$1 {
26868
27848
  * The bindings that satisfy the witness
26869
27849
  * e.g., {"?Y": "bob"} for grandparent witness ∃Y. parent(X,Y) ∧ parent(Y,Z)
26870
27850
  */
26871
- bindings: Record<string, string>;
27851
+ bindings: Partial<Record<string, string>>;
26872
27852
  /**
26873
27853
  * Confidence in the witness (1.0 = certain)
26874
27854
  * @format double
@@ -26882,7 +27862,7 @@ interface WitnessInstantiationDto$1 {
26882
27862
  /** Witness proof for a term */
26883
27863
  interface WitnessProofDto$1 {
26884
27864
  /** Variable bindings that satisfy the witness */
26885
- bindings: Record<string, string>;
27865
+ bindings: Partial<Record<string, string>>;
26886
27866
  /**
26887
27867
  * Confidence/certainty of the proof
26888
27868
  * @format double
@@ -29086,6 +30066,18 @@ declare namespace terms {
29086
30066
  export type { terms_BulkAddTermsRequest as BulkAddTermsRequest, terms_BulkAddTermsResponse as BulkAddTermsResponse, terms_ClearTermsResponse as ClearTermsResponse, terms_CreateTermRequest as CreateTermRequest, terms_ReferencedTermSummary as ReferencedTermSummary, terms_ResidualWitnessDto as ResidualWitnessDto, terms_ResiduationDto as ResiduationDto, terms_TermDto as TermDto, terms_TermResponse as TermResponse, terms_TermState as TermState, terms_UpdateTermRequest as UpdateTermRequest, terms_ValidatedTermResponse as ValidatedTermResponse, terms_ValidatedUnifyResponse as ValidatedUnifyResponse, terms_WitnessInstantiationDto as WitnessInstantiationDto, terms_WitnessProofDto as WitnessProofDto };
29087
30067
  }
29088
30068
 
30069
+ /**
30070
+ * One prior turn of a conversation, passed as context to an `llm`-mode query.
30071
+ *
30072
+ * Both fields are single words on the wire, so this is the same shape in both
30073
+ * directions. It was typed `unknown` until the backend described the surface.
30074
+ */
30075
+ interface ConversationTurnDto {
30076
+ /** Who produced the turn — `"user"` or `"assistant"`. */
30077
+ role: string;
30078
+ /** The turn's text. */
30079
+ content: string;
30080
+ }
29089
30081
  /** Translation mode for natural language queries. */
29090
30082
  type NlQueryMode = 'llm' | 'constraint' | 'cognitive' | 'triz' | 'grounded_sql';
29091
30083
  /** A result item from a natural language query. */
@@ -29339,7 +30331,7 @@ interface NlQueryRequest {
29339
30331
  /** Tenant ID for the query. */
29340
30332
  tenantId: string;
29341
30333
  /** Optional conversation history for context (llm mode only). */
29342
- conversationHistory?: unknown[] | null;
30334
+ conversationHistory?: ConversationTurnDto[] | null;
29343
30335
  /** Optional session ID for cognitive mode (persists agent learning across queries). */
29344
30336
  sessionId?: string | null;
29345
30337
  }
@@ -29368,6 +30360,7 @@ interface NlQueryResponse {
29368
30360
  }
29369
30361
 
29370
30362
  type query_BySortQueryRequest = BySortQueryRequest;
30363
+ type query_ConversationTurnDto = ConversationTurnDto;
29371
30364
  type query_DiscoveredRelationDto = DiscoveredRelationDto;
29372
30365
  type query_FindBySortRequest = FindBySortRequest;
29373
30366
  type query_MissingInfoDto = MissingInfoDto;
@@ -29388,7 +30381,7 @@ type query_UnificationQueryResponse = UnificationQueryResponse;
29388
30381
  type query_ValidateTermRequest = ValidateTermRequest;
29389
30382
  type query_ValidatedUnifyRequest = ValidatedUnifyRequest;
29390
30383
  declare namespace query {
29391
- export type { query_BySortQueryRequest as BySortQueryRequest, query_DiscoveredRelationDto as DiscoveredRelationDto, query_FindBySortRequest as FindBySortRequest, MatchedEntityDto$1 as MatchedEntityDto, query_MissingInfoDto as MissingInfoDto, query_NlQueryMode as NlQueryMode, query_NlQueryRequest as NlQueryRequest, query_NlQueryResponse as NlQueryResponse, query_NlQueryResultItem as NlQueryResultItem, query_OsfSearchRequest as OsfSearchRequest, query_OsfSearchResponse as OsfSearchResponse, query_OsfSearchStatsDto as OsfSearchStatsDto, query_ResumptionOptionDto as ResumptionOptionDto, query_SuspendedQueryDto as SuspendedQueryDto, query_TermListResponse as TermListResponse, query_TermPatternDto as TermPatternDto, query_ToolCallInfo as ToolCallInfo, query_UnifiableQueryRequest as UnifiableQueryRequest, query_UnificationQueryResponse as UnificationQueryResponse, query_ValidateTermRequest as ValidateTermRequest, query_ValidatedUnifyRequest as ValidatedUnifyRequest };
30384
+ export type { query_BySortQueryRequest as BySortQueryRequest, query_ConversationTurnDto as ConversationTurnDto, query_DiscoveredRelationDto as DiscoveredRelationDto, query_FindBySortRequest as FindBySortRequest, MatchedEntityDto$1 as MatchedEntityDto, query_MissingInfoDto as MissingInfoDto, query_NlQueryMode as NlQueryMode, query_NlQueryRequest as NlQueryRequest, query_NlQueryResponse as NlQueryResponse, query_NlQueryResultItem as NlQueryResultItem, query_OsfSearchRequest as OsfSearchRequest, query_OsfSearchResponse as OsfSearchResponse, query_OsfSearchStatsDto as OsfSearchStatsDto, query_ResumptionOptionDto as ResumptionOptionDto, query_SuspendedQueryDto as SuspendedQueryDto, query_TermListResponse as TermListResponse, query_TermPatternDto as TermPatternDto, query_ToolCallInfo as ToolCallInfo, query_UnifiableQueryRequest as UnifiableQueryRequest, query_UnificationQueryResponse as UnificationQueryResponse, query_ValidateTermRequest as ValidateTermRequest, query_ValidatedUnifyRequest as ValidatedUnifyRequest };
29392
30385
  }
29393
30386
 
29394
30387
  /**
@@ -31446,7 +32439,7 @@ declare class Query<SecurityDataType = unknown> {
31446
32439
  http: HttpClient<SecurityDataType>;
31447
32440
  constructor(http: HttpClient<SecurityDataType>);
31448
32441
  /**
31449
- * @description Returns all terms with the specified sort OR any of its subtypes. This implements proper OSF polymorphic query semantics where querying a parent sort returns all instances of that sort and its descendants. ## Resolving `sort_name` A name can denote more than one id (see `sort_name_candidates`), and no cheap probe tells which of them the query can actually answer from: on the production adapter `get_sort` and `get_sort_ids_by_names` are bare reads of an in-memory cache with no persistence fallback, while the query's own `get_compatible_sorts` does fall back to Postgres. Confirming a candidate with `get_sort` would therefore 404 every tenant sort created before the last restart — a guard strictly stricter than the thing it guards. So the candidates are **tried** against the real query, in order, and the first that answers wins; only `SortNotFound` moves on to the next, every other failure is returned as-is. When the first candidate answers — the common case — the route runs exactly one term query, as it always did. A phantom id (minted into the tenant lattice by ingestion and never persisted, #138) cannot be returned: the query authority refuses it and the loop skips past it. When no candidate answers, the sort is not queryable and the honest reply is 404 naming the sort the CALLER asked for — never a 400 leaking an internal `SortId` the caller never supplied.
32442
+ * @description Returns all terms with the specified sort OR any of its subtypes. This implements proper OSF polymorphic query semantics where querying a parent sort returns all instances of that sort and its descendants. ## Resolving `sort_name` A name can denote more than one id (see `sort_name_candidates`), and no cheap probe tells which of them the query can actually answer from: on the production adapter `get_sort` and `get_sort_ids_by_names` are bare reads of an in-memory cache with no persistence fallback, while the query's own `get_compatible_sorts` does fall back to Postgres. Confirming a candidate with `get_sort` would therefore 404 every tenant sort created before the last restart — a guard strictly stricter than the thing it guards. So the candidates are **tried** against the real query; only `SortNotFound` moves on to the next, every other failure is returned as-is. A phantom id (minted into the tenant lattice by ingestion and never persisted, #138) cannot be returned: the query authority refuses it and the loop skips past it. When no candidate answers, the sort is not queryable and the honest reply is 404 naming the sort the CALLER asked for — never a 400 leaking an internal `SortId` the caller never supplied. Every candidate that answers **contributes**; the answer is their union, deduplicated by term id. Registration now keeps a tenant to one sort per name (#139), so two answering candidates mean rows a pre-fix engine left behind: one name, two sorts, and the tenant's terms of that type divided between them. Stopping at the first — what this route did — returned one half and reported nothing about the other, because an id the caller never supplied going unqueried raises no error. In the ordinary case exactly one candidate answers and the route runs exactly one term query, as it always did.
31450
32443
  *
31451
32444
  * @tags query
31452
32445
  * @name FindBySort
@@ -32024,11 +33017,11 @@ declare class CognitiveAgentsMessaging<SecurityDataType = unknown> {
32024
33017
  * No description
32025
33018
  *
32026
33019
  * @tags Cognitive Agents - Messaging
32027
- * @name SendMessage
33020
+ * @name SendAgentMessage
32028
33021
  * @summary Send a message to another agent.
32029
33022
  * @request POST:/api/v1/cognitive/agents/messages
32030
33023
  */
32031
- sendMessage: (data: SendMessageRequest$1, params?: RequestParams) => Promise<HttpResponse<SendMessageResponse$1, void>>;
33024
+ sendAgentMessage: (data: SendMessageRequest$1, params?: RequestParams) => Promise<HttpResponse<SendMessageResponse$1, void>>;
32032
33025
  }
32033
33026
 
32034
33027
  declare class CognitiveAgentsPlanLibrary<SecurityDataType = unknown> {
@@ -32184,6 +33177,28 @@ declare class WebSocketClient {
32184
33177
  * Reason why an entity requires human review.
32185
33178
  */
32186
33179
  type ReviewReason = 'ambiguous_sort' | 'low_confidence' | 'multiple_candidates' | 'unknown_sort' | 'conflicting_features' | 'missing_required_features' | 'manual_request';
33180
+ /**
33181
+ * Filters and pagination for `GET /api/v1/reviews/pending`.
33182
+ *
33183
+ * @remarks
33184
+ * Every field is optional; omit the argument entirely to list the first page
33185
+ * of every pending review.
33186
+ *
33187
+ * There is deliberately no `tenantId` field. The route accepts a `tenant_id`
33188
+ * query parameter for wire-compatibility but ignores it: the tenant is always
33189
+ * the authenticated principal's, taken from the `X-Tenant-Id` header the SDK
33190
+ * sends on every request. Trusting the query parameter was a cross-tenant IDOR.
33191
+ */
33192
+ interface ListPendingReviewsOptions {
33193
+ /** Return only reviews whose entity carries this sort name. */
33194
+ sort?: string;
33195
+ /** Return only reviews raised for this reason. */
33196
+ reason?: ReviewReason;
33197
+ /** Zero-indexed page number. Defaults to 0 server-side. */
33198
+ page?: number;
33199
+ /** Entries per page. Defaults to 50 server-side. */
33200
+ pageSize?: number;
33201
+ }
32187
33202
  /**
32188
33203
  * How to resolve feature conflicts when merging an entity with an existing term.
32189
33204
  */
@@ -32359,6 +33374,7 @@ type reviews_BulkMergeRequest = BulkMergeRequest;
32359
33374
  type reviews_BulkRejectRequest = BulkRejectRequest;
32360
33375
  type reviews_ConflictResolution = ConflictResolution;
32361
33376
  type reviews_CorrectEntityRequest = CorrectEntityRequest;
33377
+ type reviews_ListPendingReviewsOptions = ListPendingReviewsOptions;
32362
33378
  type reviews_MergeEntityRequest = MergeEntityRequest;
32363
33379
  type reviews_ReExtractRequest = ReExtractRequest;
32364
33380
  type reviews_RejectEntityRequest = RejectEntityRequest;
@@ -32366,7 +33382,7 @@ type reviews_ReviewCandidateMatchDto = ReviewCandidateMatchDto;
32366
33382
  type reviews_ReviewReason = ReviewReason;
32367
33383
  type reviews_SortSuggestionDto = SortSuggestionDto;
32368
33384
  declare namespace reviews {
32369
- export type { reviews_AddPendingReviewRequest as AddPendingReviewRequest, reviews_ApproveEntityRequest as ApproveEntityRequest, reviews_BulkApproveRequest as BulkApproveRequest, reviews_BulkMergeRequest as BulkMergeRequest, reviews_BulkRejectRequest as BulkRejectRequest, reviews_ConflictResolution as ConflictResolution, reviews_CorrectEntityRequest as CorrectEntityRequest, reviews_MergeEntityRequest as MergeEntityRequest, PendingReviewDto$1 as PendingReviewDto, reviews_ReExtractRequest as ReExtractRequest, reviews_RejectEntityRequest as RejectEntityRequest, reviews_ReviewCandidateMatchDto as ReviewCandidateMatchDto, reviews_ReviewReason as ReviewReason, reviews_SortSuggestionDto as SortSuggestionDto };
33385
+ export type { reviews_AddPendingReviewRequest as AddPendingReviewRequest, reviews_ApproveEntityRequest as ApproveEntityRequest, reviews_BulkApproveRequest as BulkApproveRequest, reviews_BulkMergeRequest as BulkMergeRequest, reviews_BulkRejectRequest as BulkRejectRequest, reviews_ConflictResolution as ConflictResolution, reviews_CorrectEntityRequest as CorrectEntityRequest, reviews_ListPendingReviewsOptions as ListPendingReviewsOptions, reviews_MergeEntityRequest as MergeEntityRequest, PendingReviewDto$1 as PendingReviewDto, reviews_ReExtractRequest as ReExtractRequest, reviews_RejectEntityRequest as RejectEntityRequest, reviews_ReviewCandidateMatchDto as ReviewCandidateMatchDto, reviews_ReviewReason as ReviewReason, reviews_SortSuggestionDto as SortSuggestionDto };
32370
33386
  }
32371
33387
 
32372
33388
  /**
@@ -34768,12 +35784,12 @@ declare class Constraints<SecurityDataType = unknown> {
34768
35784
  * No description
34769
35785
  *
34770
35786
  * @tags constraints
34771
- * @name CreateSession
35787
+ * @name CreateConstraintSession
34772
35788
  * @summary Create a new constraint session
34773
35789
  * @request POST:/api/v1/constraint-sessions
34774
35790
  * @secure
34775
35791
  */
34776
- createSession: (data: CreateConstraintSessionRequest$1, params?: RequestParams) => Promise<HttpResponse<CreateSessionResponse, void>>;
35792
+ createConstraintSession: (data: CreateConstraintSessionRequest$1, params?: RequestParams) => Promise<HttpResponse<CreateSessionResponse, void>>;
34777
35793
  /**
34778
35794
  * No description
34779
35795
  *
@@ -34788,12 +35804,12 @@ declare class Constraints<SecurityDataType = unknown> {
34788
35804
  * No description
34789
35805
  *
34790
35806
  * @tags constraints
34791
- * @name GetSessionStatus
35807
+ * @name GetConstraintSessionStatus
34792
35808
  * @summary Get status of a constraint session
34793
35809
  * @request GET:/api/v1/constraint-sessions/{session_id}
34794
35810
  * @secure
34795
35811
  */
34796
- getSessionStatus: (sessionId: string, params?: RequestParams) => Promise<HttpResponse<ConstraintSessionStatusResponse, void>>;
35812
+ getConstraintSessionStatus: (sessionId: string, params?: RequestParams) => Promise<HttpResponse<ConstraintSessionStatusResponse, void>>;
34797
35813
  /**
34798
35814
  * No description
34799
35815
  *
@@ -35527,8 +36543,14 @@ interface ConstraintSessionStatus {
35527
36543
  interface AddConstraintsRequest {
35528
36544
  /** Constraints to add. */
35529
36545
  constraints: GeneralConstraintDto[];
35530
- /** Optional variable bindings. */
35531
- bindings?: Record<string, unknown> | null;
36546
+ /**
36547
+ * Optional variable bindings.
36548
+ *
36549
+ * Values are the integers a finite-domain variable takes. Typed `unknown`
36550
+ * until the generated contract said otherwise, so nothing checked what a
36551
+ * caller put here.
36552
+ */
36553
+ bindings?: Record<string, number> | null;
35532
36554
  }
35533
36555
  /**
35534
36556
  * Response from adding constraints to a session.
@@ -42404,7 +43426,30 @@ declare class Reviews<SecurityDataType = unknown> {
42404
43426
  * @request GET:/api/v1/reviews/pending
42405
43427
  * @secure
42406
43428
  */
42407
- listPendingReviews: (params?: RequestParams) => Promise<HttpResponse<ListPendingReviewsResponse, void>>;
43429
+ listPendingReviews: (query?: {
43430
+ /**
43431
+ * Page number (0-indexed)
43432
+ * @min 0
43433
+ */
43434
+ page?: number;
43435
+ /**
43436
+ * Page size (default: 50)
43437
+ * @min 0
43438
+ */
43439
+ page_size?: number;
43440
+ /** Filter by review reason */
43441
+ reason?: null | ReviewReason$1;
43442
+ /** Filter by specific sort */
43443
+ sort?: string | null;
43444
+ /**
43445
+ * Filter by tenant ID. Optional and ignored: the tenant is always the
43446
+ * authenticated principal's, resolved from the `X-Tenant-Id` header (the
43447
+ * app-wide header-trust auth model). Kept for wire-compatibility with
43448
+ * clients that still send it.
43449
+ * @format uuid
43450
+ */
43451
+ tenant_id?: string | null;
43452
+ }, params?: RequestParams) => Promise<HttpResponse<ListPendingReviewsResponse, void>>;
42408
43453
  /**
42409
43454
  * @description POST /api/v1/reviews/merge Merges the entity's features into an existing term.
42410
43455
  *
@@ -42502,22 +43547,38 @@ declare class ReviewsClient {
42502
43547
  */
42503
43548
  mergeEntity(request: MergeEntityRequest): Promise<unknown>;
42504
43549
  /**
42505
- * List all pending reviews for the authenticated tenant.
43550
+ * List pending reviews for the authenticated tenant.
42506
43551
  *
43552
+ * @param options - Optional filters and pagination. Omit to list the first
43553
+ * page of every pending review.
42507
43554
  * @returns List of pending review entries.
42508
43555
  * @throws {ApiError} If the request fails.
42509
43556
  *
42510
43557
  * @remarks
42511
- * `GET /api/v1/reviews/pending` no longer accepts a `tenant_id` query parameter:
42512
- * the tenant is taken from the authenticated principal (the `X-Tenant-Id` header the
42513
- * SDK already sends on every request), never from the caller.
43558
+ * The tenant is taken from the authenticated principal (the `X-Tenant-Id`
43559
+ * header the SDK sends on every request), never from the caller. The route
43560
+ * still accepts a `tenant_id` query parameter for wire-compatibility but
43561
+ * ignores it, so {@link ListPendingReviewsOptions} does not expose one.
42514
43562
  *
42515
- * @example
43563
+ * Filters are sent as query parameters in wire `snake_case`; any option left
43564
+ * `undefined` is omitted from the query string entirely, letting the backend
43565
+ * apply its own default.
43566
+ *
43567
+ * @example List everything pending
42516
43568
  * ```typescript
42517
43569
  * const pending = await client.reviews.listPending();
42518
43570
  * ```
43571
+ *
43572
+ * @example Second page of low-confidence reviews
43573
+ * ```typescript
43574
+ * const page = await client.reviews.listPending({
43575
+ * reason: 'low_confidence',
43576
+ * page: 1,
43577
+ * pageSize: 25,
43578
+ * });
43579
+ * ```
42519
43580
  */
42520
- listPending(): Promise<unknown>;
43581
+ listPending(options?: ListPendingReviewsOptions): Promise<unknown>;
42521
43582
  /**
42522
43583
  * Re-extract entities from a document.
42523
43584
  *
@@ -46746,7 +47807,7 @@ declare class Communities<SecurityDataType = unknown> {
46746
47807
  */
46747
47808
  detectCommunities: (data: DetectCommunitiesRequest$1, params?: RequestParams) => Promise<HttpResponse<DetectCommunitiesResponse$1, void>>;
46748
47809
  /**
46749
- * @description `GET /api/v1/graph/export?tenant_id=…&format=graphml|gexf|csv-nodes|csv-edges|dot` Read-only: returns the serialized graph as raw text with the matching content type. The graph is the same `Value::Reference` projection the analytics use, labelled by each term's `name` feature.
47810
+ * @description `GET /api/v1/graph/export?format=graphml|gexf|csv-nodes|csv-edges|dot` Read-only: returns the serialized graph as raw text with the matching content type. The graph is the same `Value::Reference` projection the analytics use, labelled by each term's `name` feature.
46750
47811
  *
46751
47812
  * @tags communities
46752
47813
  * @name ExportGraph
@@ -46754,7 +47815,17 @@ declare class Communities<SecurityDataType = unknown> {
46754
47815
  * @request GET:/api/v1/graph/export
46755
47816
  * @secure
46756
47817
  */
46757
- exportGraph: (params?: RequestParams) => Promise<HttpResponse<void, void>>;
47818
+ exportGraph: (query: {
47819
+ /** Output format: `graphml` | `gexf` | `csv-nodes` | `csv-edges` | `dot`. */
47820
+ format: string;
47821
+ /**
47822
+ * Tenant whose terms form the graph. Optional and ignored: the tenant is
47823
+ * always the authenticated principal's, resolved from the `X-Tenant-Id`
47824
+ * header. Kept for wire-compatibility with clients that still send it.
47825
+ * @format uuid
47826
+ */
47827
+ tenant_id?: string | null;
47828
+ }, params?: RequestParams) => Promise<HttpResponse<void, void>>;
46758
47829
  /**
46759
47830
  * @description POST /api/v1/communities/memberships Returns all communities that a term belongs to, with membership degrees.
46760
47831
  *
@@ -47060,6 +48131,15 @@ interface LinkPredictionResponse {
47060
48131
  /** The source node. */
47061
48132
  source: string;
47062
48133
  }
48134
+ /**
48135
+ * Interchange format for `GET /api/v1/graph/export`.
48136
+ *
48137
+ * @remarks
48138
+ * The route rejects any other value with 400. Each format returns raw text
48139
+ * under its own content type: `graphml` and `gexf` as XML, `csv-nodes` and
48140
+ * `csv-edges` as CSV, `dot` as Graphviz source.
48141
+ */
48142
+ type GraphExportFormat = 'graphml' | 'gexf' | 'csv-nodes' | 'csv-edges' | 'dot';
47063
48143
 
47064
48144
  type communities_CentralityRequest = CentralityRequest;
47065
48145
  type communities_CentralityResponse = CentralityResponse;
@@ -47077,6 +48157,7 @@ type communities_DetectCommunitiesRequest = DetectCommunitiesRequest;
47077
48157
  type communities_DetectCommunitiesResponse = DetectCommunitiesResponse;
47078
48158
  type communities_GetMembershipsRequest = GetMembershipsRequest;
47079
48159
  type communities_GetMembershipsResponse = GetMembershipsResponse;
48160
+ type communities_GraphExportFormat = GraphExportFormat;
47080
48161
  type communities_LinkPredictionRequest = LinkPredictionRequest;
47081
48162
  type communities_LinkPredictionResponse = LinkPredictionResponse;
47082
48163
  type communities_MembershipDto = MembershipDto;
@@ -47086,7 +48167,7 @@ type communities_PathResponse = PathResponse;
47086
48167
  type communities_SearchCommunitiesRequest = SearchCommunitiesRequest;
47087
48168
  type communities_SearchCommunitiesResponse = SearchCommunitiesResponse;
47088
48169
  declare namespace communities {
47089
- export type { communities_CentralityRequest as CentralityRequest, communities_CentralityResponse as CentralityResponse, communities_CohesionRequest as CohesionRequest, communities_CohesionResponse as CohesionResponse, communities_CommunityDetectionConfigDto as CommunityDetectionConfigDto, communities_CommunityDetectionStatsDto as CommunityDetectionStatsDto, communities_CommunityDto as CommunityDto, communities_CommunityMatchDto as CommunityMatchDto, communities_CommunityReportDto as CommunityReportDto, communities_CommunityReportSummaryDto as CommunityReportSummaryDto, communities_CommunitySearchModeDto as CommunitySearchModeDto, communities_CommunitySearchStatsDto as CommunitySearchStatsDto, communities_DetectCommunitiesRequest as DetectCommunitiesRequest, communities_DetectCommunitiesResponse as DetectCommunitiesResponse, communities_GetMembershipsRequest as GetMembershipsRequest, communities_GetMembershipsResponse as GetMembershipsResponse, communities_LinkPredictionRequest as LinkPredictionRequest, communities_LinkPredictionResponse as LinkPredictionResponse, communities_MembershipDto as MembershipDto, communities_NodeScore as NodeScore, communities_PathRequest as PathRequest, communities_PathResponse as PathResponse, communities_SearchCommunitiesRequest as SearchCommunitiesRequest, communities_SearchCommunitiesResponse as SearchCommunitiesResponse };
48170
+ export type { communities_CentralityRequest as CentralityRequest, communities_CentralityResponse as CentralityResponse, communities_CohesionRequest as CohesionRequest, communities_CohesionResponse as CohesionResponse, communities_CommunityDetectionConfigDto as CommunityDetectionConfigDto, communities_CommunityDetectionStatsDto as CommunityDetectionStatsDto, communities_CommunityDto as CommunityDto, communities_CommunityMatchDto as CommunityMatchDto, communities_CommunityReportDto as CommunityReportDto, communities_CommunityReportSummaryDto as CommunityReportSummaryDto, communities_CommunitySearchModeDto as CommunitySearchModeDto, communities_CommunitySearchStatsDto as CommunitySearchStatsDto, communities_DetectCommunitiesRequest as DetectCommunitiesRequest, communities_DetectCommunitiesResponse as DetectCommunitiesResponse, communities_GetMembershipsRequest as GetMembershipsRequest, communities_GetMembershipsResponse as GetMembershipsResponse, communities_GraphExportFormat as GraphExportFormat, communities_LinkPredictionRequest as LinkPredictionRequest, communities_LinkPredictionResponse as LinkPredictionResponse, communities_MembershipDto as MembershipDto, communities_NodeScore as NodeScore, communities_PathRequest as PathRequest, communities_PathResponse as PathResponse, communities_SearchCommunitiesRequest as SearchCommunitiesRequest, communities_SearchCommunitiesResponse as SearchCommunitiesResponse };
47090
48171
  }
47091
48172
 
47092
48173
  /**
@@ -47153,6 +48234,32 @@ declare class CommunitiesClient {
47153
48234
  * @returns Candidate targets with positive score, sorted descending.
47154
48235
  */
47155
48236
  predictLinks(request: LinkPredictionRequest): Promise<LinkPredictionResponse>;
48237
+ /**
48238
+ * Export the tenant's reference graph to a graph-interchange format.
48239
+ *
48240
+ * @param format - The interchange format to serialize to.
48241
+ * @returns The serialized graph as raw text.
48242
+ * @throws {ApiError} If the format is unknown (the backend answers 400).
48243
+ *
48244
+ * @remarks
48245
+ * `format` is mandatory on the wire — a request without it is rejected with
48246
+ * 400. Only the tenant of the authenticated principal is exported; the route
48247
+ * accepts a `tenant_id` query parameter for wire-compatibility but ignores
48248
+ * it, because trusting it allowed one tenant to export another's graph.
48249
+ *
48250
+ * The response is raw text, not JSON, and its content type varies by format
48251
+ * (XML for `graphml` and `gexf`, CSV for the `csv-*` pair, Graphviz source
48252
+ * for `dot`). The generated route class declares `void` because the OpenAPI
48253
+ * spec omits the response schema, so this calls `http.request` directly with
48254
+ * `format: 'text'` to read the body.
48255
+ *
48256
+ * @example
48257
+ * ```typescript
48258
+ * const dot = await client.communities.exportGraph('dot');
48259
+ * const graphml = await client.communities.exportGraph('graphml');
48260
+ * ```
48261
+ */
48262
+ exportGraph(format: GraphExportFormat): Promise<string>;
47156
48263
  }
47157
48264
 
47158
48265
  declare class Strings<SecurityDataType = unknown> {
@@ -48321,12 +49428,12 @@ declare class ActionReviews<SecurityDataType = unknown> {
48321
49428
  * @request GET:/api/v1/action-reviews/summary
48322
49429
  * @secure
48323
49430
  */
48324
- getActionReviewSummary: (query: {
49431
+ getActionReviewSummary: (query?: {
48325
49432
  /**
48326
- * Tenant ID to get summary for
49433
+ * Ignored. The tenant is the authenticated principal's, resolved from the `X-Tenant-Id` header. Declared optional so a generated client is not forced to send a value the handler discards (issue #146).
48327
49434
  * @format uuid
48328
49435
  */
48329
- tenant_id: string;
49436
+ tenant_id?: string;
48330
49437
  }, params?: RequestParams) => Promise<HttpResponse<ActionReviewSummaryDto$1, void>>;
48331
49438
  /**
48332
49439
  * @description GET /api/v1/action-reviews/pending Returns paginated list of actions requiring human review.
@@ -48337,7 +49444,36 @@ declare class ActionReviews<SecurityDataType = unknown> {
48337
49444
  * @request GET:/api/v1/action-reviews/pending
48338
49445
  * @secure
48339
49446
  */
48340
- listPendingActionReviews: (params?: RequestParams) => Promise<HttpResponse<ListActionReviewsResponse$1, void>>;
49447
+ listPendingActionReviews: (query?: {
49448
+ /** Filter by action sort (e.g., "llm_generate", "file_write") */
49449
+ action_sort?: string | null;
49450
+ /**
49451
+ * Filter by agent ID
49452
+ * @format uuid
49453
+ */
49454
+ agent_id?: string | null;
49455
+ /**
49456
+ * Page number (0-indexed)
49457
+ * @min 0
49458
+ */
49459
+ page?: number;
49460
+ /**
49461
+ * Page size (default: 50)
49462
+ * @min 0
49463
+ */
49464
+ page_size?: number;
49465
+ /** Only include pending reviews (default: true) */
49466
+ pending_only?: boolean;
49467
+ /** Filter by review reason */
49468
+ reason?: null | ActionReviewReasonDto$1;
49469
+ /**
49470
+ * Filter by tenant ID. Optional: when omitted, the tenant is resolved from
49471
+ * the `X-Tenant-Id` header (the app-wide header-trust auth model), so
49472
+ * clients need not duplicate it in the query string.
49473
+ * @format uuid
49474
+ */
49475
+ tenant_id?: string | null;
49476
+ }, params?: RequestParams) => Promise<HttpResponse<ListActionReviewsResponse$1, void>>;
48341
49477
  /**
48342
49478
  * @description POST /api/v1/action-reviews/modify Modifies the action parameters and approves for execution.
48343
49479
  *
@@ -48370,6 +49506,41 @@ type ActionReviewStatusDto = 'pending' | 'approved' | 'rejected' | 'modified' |
48370
49506
  type ActionReviewReasonDto = 'requires_approval' | 'high_risk' | 'external_side_effect' | 'low_confidence' | 'first_use' | {
48371
49507
  custom: string;
48372
49508
  };
49509
+ /**
49510
+ * The subset of {@link ActionReviewReasonDto} usable as a query filter.
49511
+ *
49512
+ * @remarks
49513
+ * `GET /api/v1/action-reviews/pending` reads `reason` from the query string,
49514
+ * which carries flat scalars only. The `{ custom }` variant of
49515
+ * {@link ActionReviewReasonDto} serializes as an object and cannot survive a
49516
+ * query string, so it is excluded here rather than failing at request time.
49517
+ */
49518
+ type ActionReviewReasonFilter = 'requires_approval' | 'high_risk' | 'external_side_effect' | 'low_confidence' | 'first_use';
49519
+ /**
49520
+ * Filters and pagination for `GET /api/v1/action-reviews/pending`.
49521
+ *
49522
+ * @remarks
49523
+ * Every field is optional; omit the argument entirely to list the first page
49524
+ * of pending action reviews.
49525
+ *
49526
+ * There is deliberately no `tenantId` field. The route accepts a `tenant_id`
49527
+ * query parameter for wire-compatibility but ignores it: the tenant is always
49528
+ * the authenticated principal's, taken from the `X-Tenant-Id` header.
49529
+ */
49530
+ interface ListActionReviewsOptions {
49531
+ /** Return only actions proposed by this agent (UUID). */
49532
+ agentId?: string;
49533
+ /** Return only actions of this sort (e.g. `"llm_generate"`, `"file_write"`). */
49534
+ actionSort?: string;
49535
+ /** Return only actions held for this reason. */
49536
+ reason?: ActionReviewReasonFilter;
49537
+ /** Restrict to reviews still pending a decision. Defaults to `true` server-side. */
49538
+ pendingOnly?: boolean;
49539
+ /** Zero-indexed page number. Defaults to 0 server-side. */
49540
+ page?: number;
49541
+ /** Entries per page. Defaults to 50 server-side. */
49542
+ pageSize?: number;
49543
+ }
48373
49544
  /**
48374
49545
  * Request to approve an autonomous action.
48375
49546
  */
@@ -48521,6 +49692,7 @@ interface ActionReviewSummaryDto {
48521
49692
  }
48522
49693
 
48523
49694
  type actionReviews_ActionReviewReasonDto = ActionReviewReasonDto;
49695
+ type actionReviews_ActionReviewReasonFilter = ActionReviewReasonFilter;
48524
49696
  type actionReviews_ActionReviewResponse = ActionReviewResponse;
48525
49697
  type actionReviews_ActionReviewStatusDto = ActionReviewStatusDto;
48526
49698
  type actionReviews_ActionReviewSummaryDto = ActionReviewSummaryDto;
@@ -48529,12 +49701,13 @@ type actionReviews_BulkActionReviewResponse = BulkActionReviewResponse;
48529
49701
  type actionReviews_BulkApproveActionsRequest = BulkApproveActionsRequest;
48530
49702
  type actionReviews_BulkRejectActionsRequest = BulkRejectActionsRequest;
48531
49703
  type actionReviews_FailedReviewDto = FailedReviewDto;
49704
+ type actionReviews_ListActionReviewsOptions = ListActionReviewsOptions;
48532
49705
  type actionReviews_ListActionReviewsResponse = ListActionReviewsResponse;
48533
49706
  type actionReviews_ModifyActionRequest = ModifyActionRequest;
48534
49707
  type actionReviews_PendingActionReviewDto = PendingActionReviewDto;
48535
49708
  type actionReviews_RejectActionRequest = RejectActionRequest;
48536
49709
  declare namespace actionReviews {
48537
- export type { actionReviews_ActionReviewReasonDto as ActionReviewReasonDto, actionReviews_ActionReviewResponse as ActionReviewResponse, actionReviews_ActionReviewStatusDto as ActionReviewStatusDto, actionReviews_ActionReviewSummaryDto as ActionReviewSummaryDto, actionReviews_ApproveActionRequest as ApproveActionRequest, actionReviews_BulkActionReviewResponse as BulkActionReviewResponse, actionReviews_BulkApproveActionsRequest as BulkApproveActionsRequest, actionReviews_BulkRejectActionsRequest as BulkRejectActionsRequest, actionReviews_FailedReviewDto as FailedReviewDto, actionReviews_ListActionReviewsResponse as ListActionReviewsResponse, actionReviews_ModifyActionRequest as ModifyActionRequest, actionReviews_PendingActionReviewDto as PendingActionReviewDto, actionReviews_RejectActionRequest as RejectActionRequest };
49710
+ export type { actionReviews_ActionReviewReasonDto as ActionReviewReasonDto, actionReviews_ActionReviewReasonFilter as ActionReviewReasonFilter, actionReviews_ActionReviewResponse as ActionReviewResponse, actionReviews_ActionReviewStatusDto as ActionReviewStatusDto, actionReviews_ActionReviewSummaryDto as ActionReviewSummaryDto, actionReviews_ApproveActionRequest as ApproveActionRequest, actionReviews_BulkActionReviewResponse as BulkActionReviewResponse, actionReviews_BulkApproveActionsRequest as BulkApproveActionsRequest, actionReviews_BulkRejectActionsRequest as BulkRejectActionsRequest, actionReviews_FailedReviewDto as FailedReviewDto, actionReviews_ListActionReviewsOptions as ListActionReviewsOptions, actionReviews_ListActionReviewsResponse as ListActionReviewsResponse, actionReviews_ModifyActionRequest as ModifyActionRequest, actionReviews_PendingActionReviewDto as PendingActionReviewDto, actionReviews_RejectActionRequest as RejectActionRequest };
48538
49711
  }
48539
49712
 
48540
49713
  /**
@@ -48591,9 +49764,27 @@ declare class ActionReviewsClient {
48591
49764
  /**
48592
49765
  * List pending action reviews.
48593
49766
  *
49767
+ * @param options - Optional filters and pagination. Omit to list the first
49768
+ * page of pending action reviews.
48594
49769
  * @returns Paginated list of pending reviews.
49770
+ * @throws {ApiError} If the request fails.
49771
+ *
49772
+ * @remarks
49773
+ * The tenant is taken from the authenticated principal (the `X-Tenant-Id`
49774
+ * header), never from the caller, so {@link ListActionReviewsOptions} exposes
49775
+ * no `tenantId`. Filters are sent as query parameters in wire `snake_case`;
49776
+ * any option left `undefined` is omitted, letting the backend default apply
49777
+ * (`pendingOnly` defaults to `true`, `pageSize` to 50).
49778
+ *
49779
+ * @example Highest-risk actions awaiting a decision
49780
+ * ```typescript
49781
+ * const pending = await client.actionReviews.listPending({
49782
+ * reason: 'high_risk',
49783
+ * pageSize: 20,
49784
+ * });
49785
+ * ```
48595
49786
  */
48596
- listPending(): Promise<ListActionReviewsResponse>;
49787
+ listPending(options?: ListActionReviewsOptions): Promise<ListActionReviewsResponse>;
48597
49788
  /**
48598
49789
  * Get action review summary statistics.
48599
49790
  *
@@ -49501,11 +50692,11 @@ declare class Oversight<SecurityDataType = unknown> {
49501
50692
  * @description Create a new live oversight session.
49502
50693
  *
49503
50694
  * @tags oversight
49504
- * @name CreateSession
50695
+ * @name CreateOversightSession
49505
50696
  * @summary POST /api/v1/oversight/sessions
49506
50697
  * @request POST:/api/v1/oversight/sessions
49507
50698
  */
49508
- createSession: (data: CreateSessionRequest, params?: RequestParams) => Promise<HttpResponse<CreateSessionResponse, void>>;
50699
+ createOversightSession: (data: CreateSessionRequest, params?: RequestParams) => Promise<HttpResponse<CreateSessionResponse, void>>;
49509
50700
  /**
49510
50701
  * @description Finalize a live oversight session, running full verification and returning the final verdict.
49511
50702
  *
@@ -49519,11 +50710,11 @@ declare class Oversight<SecurityDataType = unknown> {
49519
50710
  * @description Get the current status of a live oversight session.
49520
50711
  *
49521
50712
  * @tags oversight
49522
- * @name GetSessionStatus
50713
+ * @name GetOversightSessionStatus
49523
50714
  * @summary GET /api/v1/oversight/sessions/:session_id/status
49524
50715
  * @request GET:/api/v1/oversight/sessions/{session_id}/status
49525
50716
  */
49526
- getSessionStatus: (sessionId: string, params?: RequestParams) => Promise<HttpResponse<SessionStatusResponse, void>>;
50717
+ getOversightSessionStatus: (sessionId: string, params?: RequestParams) => Promise<HttpResponse<SessionStatusResponse, void>>;
49527
50718
  /**
49528
50719
  * @description Ingest a single trajectory step and return incremental verification result.
49529
50720
  *
@@ -51548,12 +52739,12 @@ declare class WebhookActions<SecurityDataType = unknown> {
51548
52739
  * @summary List all registered external actions for a tenant.
51549
52740
  * @request GET:/api/v1/external-actions
51550
52741
  */
51551
- listExternalActions: (query: {
52742
+ listExternalActions: (query?: {
51552
52743
  /**
51553
- * Tenant ID
52744
+ * Ignored. The tenant is the authenticated principal's, resolved from the `X-Tenant-Id` header. Declared optional so a generated client is not forced to send a value the handler discards (issue #146).
51554
52745
  * @format uuid
51555
52746
  */
51556
- tenant_id: string;
52747
+ tenant_id?: string;
51557
52748
  }, params?: RequestParams) => Promise<HttpResponse<ListExternalActionsResponse$1, any>>;
51558
52749
  /**
51559
52750
  * No description
@@ -51563,12 +52754,12 @@ declare class WebhookActions<SecurityDataType = unknown> {
51563
52754
  * @summary List pending invocations for a tenant.
51564
52755
  * @request GET:/api/v1/invocations
51565
52756
  */
51566
- listPendingInvocations: (query: {
52757
+ listPendingInvocations: (query?: {
51567
52758
  /**
51568
- * Tenant ID
52759
+ * Ignored. The tenant is the authenticated principal's, resolved from the `X-Tenant-Id` header. Declared optional so a generated client is not forced to send a value the handler discards (issue #146).
51569
52760
  * @format uuid
51570
52761
  */
51571
- tenant_id: string;
52762
+ tenant_id?: string;
51572
52763
  }, params?: RequestParams) => Promise<HttpResponse<ListPendingInvocationsResponse$1, any>>;
51573
52764
  /**
51574
52765
  * @description Creates a sort inheriting from `effect` in the sort hierarchy.
@@ -51844,12 +53035,12 @@ declare class Synthetic<SecurityDataType = unknown> {
51844
53035
  * @description Computes per-sort and per-feature Expected Calibration Error, identifies augmentation targets, and allocates exponential budgets for targeted synthetic data generation.
51845
53036
  *
51846
53037
  * @tags synthetic
51847
- * @name Calibrate
53038
+ * @name CalibrateSynthetic
51848
53039
  * @summary Run ECE calibration on extraction predictions.
51849
53040
  * @request POST:/api/v1/synthetic/calibrate
51850
53041
  * @secure
51851
53042
  */
51852
- calibrate: (data: CalibrateRequest$1, params?: RequestParams) => Promise<HttpResponse<CalibrationReportDto$1, void>>;
53043
+ calibrateSynthetic: (data: CalibrateRequest$1, params?: RequestParams) => Promise<HttpResponse<CalibrationReportDto$1, void>>;
51853
53044
  /**
51854
53045
  * @description Computes structural similarity using Wu-Palmer sort distance and Jaccard feature overlap. Returns novelty score and closest match. # Authorization Requires X-Tenant-Id header for tenant-scoped operations.
51855
53046
  *
@@ -54784,7 +55975,7 @@ interface OntologyRagRequest {
54784
55975
  * Optional map of concept_id to numeric value (e.g., mastery, score, confidence).
54785
55976
  * The interpretation of these values is domain-specific.
54786
55977
  */
54787
- conceptValues?: Record<string, unknown> | null;
55978
+ conceptValues?: Record<string, number> | null;
54788
55979
  /**
54789
55980
  * Feature configuration -- allows caller to specify feature names.
54790
55981
  * If not provided, uses defaults.
@@ -56553,7 +57744,7 @@ interface ReasoningTraceDto {
56553
57744
  /**
56554
57745
  * UI customization detected from a conversation response.
56555
57746
  */
56556
- interface UICustomizationDto {
57747
+ interface UICustomizationDto$1 {
56557
57748
  /** Type of customization. */
56558
57749
  customizationType: string;
56559
57750
  /** JSONPath-style target for modifications. */
@@ -56606,7 +57797,7 @@ interface ConversationMessageResponse {
56606
57797
  /** Proof tree for this response (populated when PROVE / backward chaining was used). */
56607
57798
  proofTrace?: ProofTraceNodeDto | null;
56608
57799
  /** UI customizations detected in this response (for multi-turn UI evolution). */
56609
- uiCustomizations?: UICustomizationDto[] | null;
57800
+ uiCustomizations?: UICustomizationDto$1[] | null;
56610
57801
  /**
56611
57802
  * Cognitive strategy used for this response (when RL training is active and a
56612
57803
  * cognitive agent exists for the tenant). Absent on plain conversation turns.
@@ -56808,9 +57999,8 @@ type conversation_RecordTurnResponse = RecordTurnResponse;
56808
57999
  type conversation_ResolvedCoreferenceDto = ResolvedCoreferenceDto;
56809
58000
  type conversation_SessionGraphDto = SessionGraphDto;
56810
58001
  type conversation_TurnDto = TurnDto;
56811
- type conversation_UICustomizationDto = UICustomizationDto;
56812
58002
  declare namespace conversation {
56813
- export type { conversation_ClaimAnnotationDto as ClaimAnnotationDto, conversation_CognitiveStrategyDto as CognitiveStrategyDto, conversation_CompareModelDto as CompareModelDto, conversation_ConversationMessageRequest as ConversationMessageRequest, conversation_ConversationMessageResponse as ConversationMessageResponse, conversation_ConversationSummaryDto as ConversationSummaryDto, conversation_ConversationTurnsResponse as ConversationTurnsResponse, conversation_DerivationSummaryDto as DerivationSummaryDto, conversation_FocusEntryDto as FocusEntryDto, conversation_ListConversationsResponse as ListConversationsResponse, conversation_MatchedEntityDto as MatchedEntityDto, conversation_ProofTraceNodeDto as ProofTraceNodeDto, conversation_ReasoningStageDto as ReasoningStageDto, conversation_ReasoningTraceDto as ReasoningTraceDto, conversation_RecordTurnRequest as RecordTurnRequest, conversation_RecordTurnResponse as RecordTurnResponse, conversation_ResolvedCoreferenceDto as ResolvedCoreferenceDto, conversation_SessionGraphDto as SessionGraphDto, SourceExcerptDto$1 as SourceExcerptDto, conversation_TurnDto as TurnDto, conversation_UICustomizationDto as UICustomizationDto };
58003
+ export type { conversation_ClaimAnnotationDto as ClaimAnnotationDto, conversation_CognitiveStrategyDto as CognitiveStrategyDto, conversation_CompareModelDto as CompareModelDto, conversation_ConversationMessageRequest as ConversationMessageRequest, conversation_ConversationMessageResponse as ConversationMessageResponse, conversation_ConversationSummaryDto as ConversationSummaryDto, conversation_ConversationTurnsResponse as ConversationTurnsResponse, conversation_DerivationSummaryDto as DerivationSummaryDto, conversation_FocusEntryDto as FocusEntryDto, conversation_ListConversationsResponse as ListConversationsResponse, conversation_MatchedEntityDto as MatchedEntityDto, conversation_ProofTraceNodeDto as ProofTraceNodeDto, conversation_ReasoningStageDto as ReasoningStageDto, conversation_ReasoningTraceDto as ReasoningTraceDto, conversation_RecordTurnRequest as RecordTurnRequest, conversation_RecordTurnResponse as RecordTurnResponse, conversation_ResolvedCoreferenceDto as ResolvedCoreferenceDto, conversation_SessionGraphDto as SessionGraphDto, SourceExcerptDto$1 as SourceExcerptDto, conversation_TurnDto as TurnDto, UICustomizationDto$1 as UICustomizationDto };
56814
58004
  }
56815
58005
 
56816
58006
  /**
@@ -57075,6 +58265,151 @@ declare class VerificationClient {
57075
58265
  getCertificate(certificateId: string): Promise<CertificateDetail>;
57076
58266
  }
57077
58267
 
58268
+ declare class Research<SecurityDataType = unknown> {
58269
+ http: HttpClient<SecurityDataType>;
58270
+ constructor(http: HttpClient<SecurityDataType>);
58271
+ /**
58272
+ * No description
58273
+ *
58274
+ * @tags research
58275
+ * @name ResearchCreateSession
58276
+ * @summary POST /research/sessions -- Create a new research session.
58277
+ * @request POST:/api/v1/research/sessions
58278
+ * @secure
58279
+ */
58280
+ researchCreateSession: (data: CreateResearchSessionRequest$1, params?: RequestParams) => Promise<HttpResponse<CreateResearchSessionResponse$1, ResearchErrorResponse>>;
58281
+ /**
58282
+ * No description
58283
+ *
58284
+ * @tags research
58285
+ * @name ResearchDeleteSession
58286
+ * @summary DELETE /research/sessions/{id} -- Delete a session.
58287
+ * @request DELETE:/api/v1/research/sessions/{id}
58288
+ * @secure
58289
+ */
58290
+ researchDeleteSession: (id: string, params?: RequestParams) => Promise<HttpResponse<void, ResearchErrorResponse>>;
58291
+ /**
58292
+ * No description
58293
+ *
58294
+ * @tags research
58295
+ * @name ResearchGetContradictions
58296
+ * @summary GET /research/sessions/{id}/contradictions -- Get contradictions.
58297
+ * @request GET:/api/v1/research/sessions/{id}/contradictions
58298
+ * @secure
58299
+ */
58300
+ researchGetContradictions: (id: string, params?: RequestParams) => Promise<HttpResponse<ResearchContradictionsResponse$1, ResearchErrorResponse>>;
58301
+ /**
58302
+ * No description
58303
+ *
58304
+ * @tags research
58305
+ * @name ResearchGetFindings
58306
+ * @summary GET /research/sessions/{id}/findings -- Get findings.
58307
+ * @request GET:/api/v1/research/sessions/{id}/findings
58308
+ * @secure
58309
+ */
58310
+ researchGetFindings: (id: string, params?: RequestParams) => Promise<HttpResponse<ResearchFindingsResponse$1, ResearchErrorResponse>>;
58311
+ /**
58312
+ * No description
58313
+ *
58314
+ * @tags research
58315
+ * @name ResearchGetGaps
58316
+ * @summary GET /research/sessions/{id}/gaps -- Get knowledge gaps.
58317
+ * @request GET:/api/v1/research/sessions/{id}/gaps
58318
+ * @secure
58319
+ */
58320
+ researchGetGaps: (id: string, params?: RequestParams) => Promise<HttpResponse<ResearchGapsResponse$1, ResearchErrorResponse>>;
58321
+ /**
58322
+ * @description Returns the cached report if already assembled (e.g., from run_to_completion). Otherwise assembles a fresh report from the session's current state.
58323
+ *
58324
+ * @tags research
58325
+ * @name ResearchGetReport
58326
+ * @summary GET /research/sessions/{id}/report -- Get research report.
58327
+ * @request GET:/api/v1/research/sessions/{id}/report
58328
+ * @secure
58329
+ */
58330
+ researchGetReport: (id: string, params?: RequestParams) => Promise<HttpResponse<ResearchReportResponse$1, ResearchErrorResponse>>;
58331
+ /**
58332
+ * No description
58333
+ *
58334
+ * @tags research
58335
+ * @name ResearchGetSession
58336
+ * @summary GET /research/sessions/{id} -- Get session status.
58337
+ * @request GET:/api/v1/research/sessions/{id}
58338
+ * @secure
58339
+ */
58340
+ researchGetSession: (id: string, params?: RequestParams) => Promise<HttpResponse<GetSessionResponse, ResearchErrorResponse>>;
58341
+ /**
58342
+ * @description With a `session_id`, a successful ingest is RECORDED on that session — see [`record_ingest_on_session`] — so the paper appears in `GET /sessions/{id}`'s `papers` and every term the ingestion touched resolves back to it. Without one, the paper is ingested under the configured owner and nothing is recorded: there is no session to attribute it to, and picking one would be a guess. The markdown itself is `paper_to_markdown`'s — the same function a cycle ingests through — over the same `fetch_full_text` lane, gated on the same `full_text_ingestion` switch. A paper ingested by hand is therefore the same document in the KB as one the pipeline found, which is the only way the two can be reasoned over together. **Which knowledge base it lands in follows the session.** With a `session_id` the paper is ingested through that session's own client (the `SessionScope` tenanted by the session id) — the KB `/run` and `/complete` drive and the one the session's own discovery reads. Without a `session_id` there is no session tenant to adopt and the configured one stands: the paper is ingested for the deployment, not for any session, and nothing is recorded either. This route used to ingest into the configured tenant unconditionally. The recorded `PaperTermLink` then named term ids in a KB the session never searches, so it resolved nothing — attribution that exists on the session row and nowhere the reasoning can reach.
58343
+ *
58344
+ * @tags research
58345
+ * @name ResearchIngestPaper
58346
+ * @summary POST /research/papers/ingest -- Ingest a paper.
58347
+ * @request POST:/api/v1/research/papers/ingest
58348
+ * @secure
58349
+ */
58350
+ researchIngestPaper: (data: IngestPaperRequest$1, params?: RequestParams) => Promise<HttpResponse<IngestPaperResponse$1, ResearchErrorResponse>>;
58351
+ /**
58352
+ * @description Tenant-scoped via the `X-Tenant-Id` header (matching how chat conversations are listed). Returns lightweight summaries, newest first.
58353
+ *
58354
+ * @tags research
58355
+ * @name ResearchListSessions
58356
+ * @summary GET /research/sessions -- List the requesting tenant's research sessions.
58357
+ * @request GET:/api/v1/research/sessions
58358
+ * @secure
58359
+ */
58360
+ researchListSessions: (params?: RequestParams) => Promise<HttpResponse<ListResearchSessionsResponse$1, ResearchErrorResponse>>;
58361
+ /**
58362
+ * @description A session interrupted (e.g. swept to `Failed` after a server restart killed its in-process pipeline) is otherwise stuck — this re-runs the SAME pipeline, continuing from its persisted partial progress (papers ingested, findings, cycles). Rejects an already-`Completed` session with 409.
58363
+ *
58364
+ * @tags research
58365
+ * @name ResearchResumeSession
58366
+ * @summary POST /research/sessions/{id}/resume -- Resume an interrupted/failed session.
58367
+ * @request POST:/api/v1/research/sessions/{id}/resume
58368
+ * @secure
58369
+ */
58370
+ researchResumeSession: (id: string, params?: RequestParams) => Promise<HttpResponse<ResearchReportResponse$1, ResearchErrorResponse>>;
58371
+ /**
58372
+ * @description The cycle runs against the SESSION's knowledge base — the tenant named by the session id, built by the one `session_scope` helper — which is the same KB `POST /sessions/{id}/complete` drives and the same one this session's own discovery reads. **This route used to run on the app-state orchestrator**, i.e. the deployment's `OSFKB_TENANT_ID`, so a cycle here and a cycle under `/complete` built two different knowledge bases for one session: entities the cycle ingested were unreachable from the session's own `find_by_sort`, and they merged instead with every other session's and with the chat data sharing the config tenant — the exact outcome the per-session tenant exists to prevent. Nothing in this repository, its SDKs or the two frontends calls `/run`; it is an operator-driven single-step route, so no client depended on the old destination. **Consequence for a session that ran `/run` before this fix:** those cycles' terms are in the config tenant and are NOT migrated. The session row itself is unaffected — cycles, findings, contradictions and gaps live on the session, not in the KB, so every `GET` on it reads back exactly what it did — but the term ids those older cycles recorded resolve in the config tenant only. A further `/run` (or `/complete`) on such a session ingests into the session's own KB, which starts out without that earlier work; re-running it there is the only way to bring it across.
58373
+ *
58374
+ * @tags research
58375
+ * @name ResearchRunCycle
58376
+ * @summary POST /research/sessions/{id}/run -- Run one research cycle.
58377
+ * @request POST:/api/v1/research/sessions/{id}/run
58378
+ * @secure
58379
+ */
58380
+ researchRunCycle: (id: string, params?: RequestParams) => Promise<HttpResponse<RunResearchCycleResponse, ResearchErrorResponse>>;
58381
+ /**
58382
+ * @description The research pipeline is long-running (multiple cycles, each ingesting papers through the LLM — minutes, sometimes longer than any reasonable HTTP client/proxy timeout). It runs in a DETACHED [`tokio::spawn`] task so that a client disconnect or timeout on THIS request does not cancel the run: tokio tasks are not aborted when their `JoinHandle` is dropped, so the work continues and keeps syncing status into `state.sessions` for `GET /sessions/{id}` pollers (the UI fires this fire-and-forget, then polls). If the client stays connected we still await the task and return the full report, preserving the synchronous response contract. `run_pipeline` releases the write lock between expensive operations so that `GET /sessions/{id}` can read the current status while the pipeline runs.
58383
+ *
58384
+ * @tags research
58385
+ * @name ResearchRunToCompletion
58386
+ * @summary POST /research/sessions/{id}/complete -- Run to completion.
58387
+ * @request POST:/api/v1/research/sessions/{id}/complete
58388
+ * @secure
58389
+ */
58390
+ researchRunToCompletion: (id: string, params?: RequestParams) => Promise<HttpResponse<ResearchReportResponse$1, ResearchErrorResponse>>;
58391
+ /**
58392
+ * No description
58393
+ *
58394
+ * @tags research
58395
+ * @name ResearchSearchPapers
58396
+ * @summary POST /research/papers/search -- Search for papers.
58397
+ * @request POST:/api/v1/research/papers/search
58398
+ * @secure
58399
+ */
58400
+ researchSearchPapers: (data: SearchPapersRequest$1, params?: RequestParams) => Promise<HttpResponse<SearchPapersResponse$1, any>>;
58401
+ /**
58402
+ * No description
58403
+ *
58404
+ * @tags research
58405
+ * @name ResearchVerifyClaim
58406
+ * @summary POST /research/claims/verify -- Verify a claim.
58407
+ * @request POST:/api/v1/research/claims/verify
58408
+ * @secure
58409
+ */
58410
+ researchVerifyClaim: (data: VerifyClaimRequest$1, params?: RequestParams) => Promise<HttpResponse<VerifyClaimResponse$1, ResearchErrorResponse>>;
58411
+ }
58412
+
57078
58413
  /** Source of paper metadata. */
57079
58414
  type PaperSource = 'PubMed' | 'SemanticScholar' | 'CrossRef' | 'ArXiv';
57080
58415
  /** Request to search for papers across external sources. */
@@ -57116,8 +58451,10 @@ interface PaperMetadataDto {
57116
58451
  * The join key between a paper listed on a session and the `paperKey`
57117
58452
  * carried by findings, evidence items and contradiction sides — `doi`,
57118
58453
  * `pmid` and `arxivId` are each individually optional, so this is the only
57119
- * identifier guaranteed for every paper. `null` only when talking to a
57120
- * backend that predates paper attribution.
58454
+ * identifier guaranteed for every paper. The backend derives it for every
58455
+ * one, and the spec marks it required; it is optional here only so the SDK
58456
+ * keeps working against a deployment that predates paper attribution, where
58457
+ * it arrives as `null`.
57121
58458
  */
57122
58459
  paperKey?: string | null;
57123
58460
  }
@@ -57195,6 +58532,17 @@ interface ResearchSessionResponse {
57195
58532
  * length. Empty against a backend that does not send it.
57196
58533
  */
57197
58534
  papers: PaperMetadataDto[];
58535
+ /**
58536
+ * Total papers retrieved from external sources, including by the cycle
58537
+ * currently running.
58538
+ *
58539
+ * Live throughout a run, unlike `cycles[].papersRetrieved`, which a cycle
58540
+ * only publishes once it completes — minutes after the papers arrived.
58541
+ * Deriving the figure from `cycles` alone therefore renders `0` over a
58542
+ * visibly growing paper list for most of a session; read this instead, and
58543
+ * keep `cycles[].papersRetrieved` for the per-cycle breakdown.
58544
+ */
58545
+ totalPapersRetrieved: number;
57198
58546
  /** Total papers ingested. */
57199
58547
  totalPapersIngested: number;
57200
58548
  /** Total findings. */
@@ -57216,6 +58564,12 @@ interface ResearchSessionSummaryDto {
57216
58564
  question: string;
57217
58565
  /** Current session status. */
57218
58566
  status: ResearchSessionStatusDto;
58567
+ /**
58568
+ * Total papers retrieved from external sources, including by the cycle
58569
+ * currently running — the list view's half of the same live progress
58570
+ * {@link ResearchSessionResponse.totalPapersRetrieved} carries.
58571
+ */
58572
+ totalPapersRetrieved: number;
57219
58573
  /** Total papers ingested. */
57220
58574
  totalPapersIngested: number;
57221
58575
  /** Total findings. */
@@ -57259,13 +58613,6 @@ interface ResearchCycleResultDto {
57259
58613
  /** Search queries used. */
57260
58614
  searchQueries: string[];
57261
58615
  }
57262
- /** Optional parameters for running a research cycle. */
57263
- interface RunResearchCycleRequest {
57264
- /** Additional search queries to include. */
57265
- additionalQueries?: string[];
57266
- /** Override maximum papers for this cycle. */
57267
- maxPapersThisCycle?: number;
57268
- }
57269
58616
  /** Response from running a research cycle. */
57270
58617
  interface ResearchCycleResponse {
57271
58618
  /** Session ID. */
@@ -57588,13 +58935,12 @@ type research_ResearchSessionSummaryDto = ResearchSessionSummaryDto;
57588
58935
  type research_ResearchStatisticsDto = ResearchStatisticsDto;
57589
58936
  type research_ResiduatedFeatureDto = ResiduatedFeatureDto;
57590
58937
  type research_ResolutionStrategyDto = ResolutionStrategyDto;
57591
- type research_RunResearchCycleRequest = RunResearchCycleRequest;
57592
58938
  type research_SearchPapersRequest = SearchPapersRequest;
57593
58939
  type research_SearchPapersResponse = SearchPapersResponse;
57594
58940
  type research_VerifyClaimRequest = VerifyClaimRequest;
57595
58941
  type research_VerifyClaimResponse = VerifyClaimResponse;
57596
58942
  declare namespace research {
57597
- export type { research_ContradictionDto as ContradictionDto, research_ContradictionResolutionDto as ContradictionResolutionDto, research_CreateResearchSessionRequest as CreateResearchSessionRequest, research_CreateResearchSessionResponse as CreateResearchSessionResponse, research_EvidenceItemSummaryDto as EvidenceItemSummaryDto, research_IngestPaperRequest as IngestPaperRequest, research_IngestPaperResponse as IngestPaperResponse, research_KnowledgeGapDto as KnowledgeGapDto, research_ListResearchSessionsResponse as ListResearchSessionsResponse, research_PaperMetadataDto as PaperMetadataDto, research_PaperRefDto as PaperRefDto, research_PaperSearchResultDto as PaperSearchResultDto, research_PaperSource as PaperSource, research_ProvenanceStepDto as ProvenanceStepDto, research_ReportVerificationDto as ReportVerificationDto, research_ResearchContradictionsResponse as ResearchContradictionsResponse, research_ResearchCycleResponse as ResearchCycleResponse, research_ResearchCycleResultDto as ResearchCycleResultDto, research_ResearchFindingDto as ResearchFindingDto, research_ResearchFindingsResponse as ResearchFindingsResponse, research_ResearchGapsResponse as ResearchGapsResponse, research_ResearchReportResponse as ResearchReportResponse, research_ResearchSessionResponse as ResearchSessionResponse, research_ResearchSessionStatusDto as ResearchSessionStatusDto, research_ResearchSessionSummaryDto as ResearchSessionSummaryDto, research_ResearchStatisticsDto as ResearchStatisticsDto, research_ResiduatedFeatureDto as ResiduatedFeatureDto, research_ResolutionStrategyDto as ResolutionStrategyDto, research_RunResearchCycleRequest as RunResearchCycleRequest, research_SearchPapersRequest as SearchPapersRequest, research_SearchPapersResponse as SearchPapersResponse, research_VerifyClaimRequest as VerifyClaimRequest, research_VerifyClaimResponse as VerifyClaimResponse };
58943
+ export type { research_ContradictionDto as ContradictionDto, research_ContradictionResolutionDto as ContradictionResolutionDto, research_CreateResearchSessionRequest as CreateResearchSessionRequest, research_CreateResearchSessionResponse as CreateResearchSessionResponse, research_EvidenceItemSummaryDto as EvidenceItemSummaryDto, research_IngestPaperRequest as IngestPaperRequest, research_IngestPaperResponse as IngestPaperResponse, research_KnowledgeGapDto as KnowledgeGapDto, research_ListResearchSessionsResponse as ListResearchSessionsResponse, research_PaperMetadataDto as PaperMetadataDto, research_PaperRefDto as PaperRefDto, research_PaperSearchResultDto as PaperSearchResultDto, research_PaperSource as PaperSource, research_ProvenanceStepDto as ProvenanceStepDto, research_ReportVerificationDto as ReportVerificationDto, research_ResearchContradictionsResponse as ResearchContradictionsResponse, research_ResearchCycleResponse as ResearchCycleResponse, research_ResearchCycleResultDto as ResearchCycleResultDto, research_ResearchFindingDto as ResearchFindingDto, research_ResearchFindingsResponse as ResearchFindingsResponse, research_ResearchGapsResponse as ResearchGapsResponse, research_ResearchReportResponse as ResearchReportResponse, research_ResearchSessionResponse as ResearchSessionResponse, research_ResearchSessionStatusDto as ResearchSessionStatusDto, research_ResearchSessionSummaryDto as ResearchSessionSummaryDto, research_ResearchStatisticsDto as ResearchStatisticsDto, research_ResiduatedFeatureDto as ResiduatedFeatureDto, research_ResolutionStrategyDto as ResolutionStrategyDto, research_SearchPapersRequest as SearchPapersRequest, research_SearchPapersResponse as SearchPapersResponse, research_VerifyClaimRequest as VerifyClaimRequest, research_VerifyClaimResponse as VerifyClaimResponse };
57598
58944
  }
57599
58945
 
57600
58946
  /**
@@ -57610,14 +58956,14 @@ declare namespace research {
57610
58956
  * Research sessions progress through states: Created -> Bootstrapping ->
57611
58957
  * Retrieving -> Ingesting -> Verifying -> Reporting -> Completed (or Failed).
57612
58958
  *
57613
- * Delegates to the generated HTTP client for type-safe transport with
57614
- * automatic serialization, authentication, retry, and timeout behavior.
58959
+ * Delegates to the generated `Research` route class for type-safe transport
58960
+ * with automatic serialization, authentication, retry, and timeout behavior.
57615
58961
  */
57616
58962
  declare class ResearchClient {
57617
58963
  /** @internal */
57618
- private readonly http;
58964
+ private readonly api;
57619
58965
  /** @internal */
57620
- constructor(http: HttpClient);
58966
+ constructor(api: Research);
57621
58967
  /**
57622
58968
  * Create a new research session for a given research question.
57623
58969
  *
@@ -57685,7 +59031,6 @@ declare class ResearchClient {
57685
59031
  * Run a single research cycle within a session.
57686
59032
  *
57687
59033
  * @param sessionId - The session ID (UUID).
57688
- * @param request - Optional parameters for the cycle (additional queries, paper limit).
57689
59034
  * @returns Cycle results and whether the session has converged.
57690
59035
  * @throws {ApiError} If the session does not exist or the request fails.
57691
59036
  *
@@ -57695,39 +59040,52 @@ declare class ResearchClient {
57695
59040
  * claims, and detect contradictions. The `converged` field indicates
57696
59041
  * whether further cycles are needed.
57697
59042
  *
59043
+ * The endpoint takes no body: the cycle's budget and queries come from the
59044
+ * session, which fixed them when it was created. This method used to accept
59045
+ * `additionalQueries` and `maxPapersThisCycle` and send them as one; the
59046
+ * handler has no body extractor, so they were read by nothing and silently
59047
+ * changed nothing. Set the budget through `maxPapers` on
59048
+ * {@link createSession} instead.
59049
+ *
57698
59050
  * @example
57699
59051
  * ```typescript
57700
- * const result = await client.research.runCycle('session-uuid', {
57701
- * additionalQueries: ['beta-lactamase gene transfer'],
57702
- * maxPapersThisCycle: 10,
57703
- * });
59052
+ * const result = await client.research.runCycle('session-uuid');
57704
59053
  * console.log(result.cycle.papersIngested); // 8
57705
59054
  * console.log(result.cycle.contradictionsDetected); // 1
57706
59055
  * console.log(result.converged); // false
57707
59056
  * ```
57708
59057
  */
57709
- runCycle(sessionId: string, request?: RunResearchCycleRequest): Promise<ResearchCycleResponse>;
59058
+ runCycle(sessionId: string): Promise<ResearchCycleResponse>;
57710
59059
  /**
57711
59060
  * Run the research session to completion (all remaining cycles).
57712
59061
  *
57713
59062
  * @param sessionId - The session ID (UUID).
57714
- * @returns Final session state after all cycles have completed.
57715
- * @throws {ApiError} If the session does not exist or the request fails.
59063
+ * @returns The assembled report the same body {@link getReport} serves.
59064
+ * @throws {ApiError} 404 if the session does not exist, 409 if a pipeline is
59065
+ * already running for it.
57716
59066
  *
57717
59067
  * @remarks
57718
59068
  * Runs cycles until convergence (no new knowledge gaps) or the maximum
57719
59069
  * cycle count is reached. This may take significant time depending on
57720
- * the research question complexity and paper availability.
59070
+ * the research question complexity and paper availability, so the run is
59071
+ * detached server-side: a client that disconnects does not cancel it. Poll
59072
+ * {@link getSession} for progress.
59073
+ *
59074
+ * **This returns a report, not a session.** It was typed as
59075
+ * {@link ResearchSessionResponse} and normalized as one, so every field a
59076
+ * session has and a report does not — `cycles`, `papers`, `status`, the
59077
+ * totals — came back `undefined` while typed as present. The endpoint has
59078
+ * always answered with the report.
57721
59079
  *
57722
59080
  * @example
57723
59081
  * ```typescript
57724
- * const session = await client.research.runToCompletion('session-uuid');
57725
- * console.log(session.status); // "Completed"
57726
- * console.log(session.totalPapersIngested); // 47
57727
- * console.log(session.cycles.length); // 4
59082
+ * const report = await client.research.runToCompletion('session-uuid');
59083
+ * console.log(report.summary);
59084
+ * console.log(report.statistics.totalPapersIngested); // 47
59085
+ * console.log(report.statistics.totalCycles); // 4
57728
59086
  * ```
57729
59087
  */
57730
- runToCompletion(sessionId: string): Promise<ResearchSessionResponse>;
59088
+ runToCompletion(sessionId: string): Promise<ResearchReportResponse>;
57731
59089
  /**
57732
59090
  * Resume an interrupted or failed research session.
57733
59091
  *
@@ -57739,14 +59097,17 @@ declare class ResearchClient {
57739
59097
  * typically calls this fire-and-forget and polls {@link getSession}.
57740
59098
  *
57741
59099
  * @param sessionId - The session ID (UUID) to resume.
57742
- * @throws {ApiError} 409 if the session is already `Completed`, 404 if unknown.
59100
+ * @returns The assembled report, on the same terms as {@link runToCompletion}
59101
+ * — a report, not a session.
59102
+ * @throws {ApiError} 409 if the session is already `Completed` or a pipeline
59103
+ * is already running for it, 404 if unknown.
57743
59104
  *
57744
59105
  * @example
57745
59106
  * ```ts
57746
59107
  * await client.research.resumeSession('session-uuid');
57747
59108
  * ```
57748
59109
  */
57749
- resumeSession(sessionId: string): Promise<ResearchSessionResponse>;
59110
+ resumeSession(sessionId: string): Promise<ResearchReportResponse>;
57750
59111
  /**
57751
59112
  * Delete a research session and all associated data.
57752
59113
  *
@@ -58431,6 +59792,15 @@ declare class Ui<SecurityDataType = unknown> {
58431
59792
 
58432
59793
  /** Layout mode for the UI surface. Re-exported from generated types (no camelCase diff). */
58433
59794
  type LayoutModeDto = LayoutModeDto$1;
59795
+ /**
59796
+ * One accumulated UI customization from a multi-turn conversation.
59797
+ *
59798
+ * Re-exported from the generated types: the wire shape is already snake_case
59799
+ * throughout (`customization_type`, `props_override`), so there is no camelCase
59800
+ * counterpart to hand-write. Typed as `unknown[]` until the backend described
59801
+ * this surface, which is why nothing checked what a caller put here.
59802
+ */
59803
+ type UICustomizationDto = UICustomizationDto$2;
58434
59804
  /**
58435
59805
  * Safety tier the server assigns to an OSFQL statement carried by a UI action.
58436
59806
  *
@@ -58576,7 +59946,7 @@ interface UIAssemblyStatsDto {
58576
59946
  }
58577
59947
  /** Request to describe a UI for a sort. */
58578
59948
  interface UIDescribeRequest {
58579
- customizations?: unknown[] | null;
59949
+ customizations?: UICustomizationDto[] | null;
58580
59950
  loadData?: boolean;
58581
59951
  maxComponents?: number;
58582
59952
  maxDepth?: number;
@@ -58761,6 +60131,7 @@ type ui_UIActionResponse = UIActionResponse;
58761
60131
  type ui_UIAssemblyStatsDto = UIAssemblyStatsDto;
58762
60132
  type ui_UICatalogEntry = UICatalogEntry;
58763
60133
  type ui_UICatalogResponse = UICatalogResponse;
60134
+ type ui_UICustomizationDto = UICustomizationDto;
58764
60135
  type ui_UIDescribeRequest = UIDescribeRequest;
58765
60136
  type ui_UIDescribeResponse = UIDescribeResponse;
58766
60137
  type ui_UIDescriptorDto = UIDescriptorDto;
@@ -58770,7 +60141,7 @@ type ui_UiSort = UiSort;
58770
60141
  type ui_ValidationRuleDto = ValidationRuleDto;
58771
60142
  type ui_ValidationTypeDto = ValidationTypeDto;
58772
60143
  declare namespace ui {
58773
- export type { ui_AffectedPreviewDto as AffectedPreviewDto, ui_LayoutModeDto as LayoutModeDto, ui_LayoutSlotDto as LayoutSlotDto, ui_LayoutSurfaceDto as LayoutSurfaceDto, ui_RiskTier as RiskTier, ui_UIActionDto as UIActionDto, ui_UIActionRequest as UIActionRequest, ui_UIActionResponse as UIActionResponse, ui_UIAssemblyStatsDto as UIAssemblyStatsDto, ui_UICatalogEntry as UICatalogEntry, ui_UICatalogResponse as UICatalogResponse, ui_UIDescribeRequest as UIDescribeRequest, ui_UIDescribeResponse as UIDescribeResponse, ui_UIDescriptorDto as UIDescriptorDto, ui_UIGenerateRequest as UIGenerateRequest, ui_UIGenerateResponse as UIGenerateResponse, ui_UiSort as UiSort, ui_ValidationRuleDto as ValidationRuleDto, ui_ValidationTypeDto as ValidationTypeDto };
60144
+ export type { ui_AffectedPreviewDto as AffectedPreviewDto, ui_LayoutModeDto as LayoutModeDto, ui_LayoutSlotDto as LayoutSlotDto, ui_LayoutSurfaceDto as LayoutSurfaceDto, ui_RiskTier as RiskTier, ui_UIActionDto as UIActionDto, ui_UIActionRequest as UIActionRequest, ui_UIActionResponse as UIActionResponse, ui_UIAssemblyStatsDto as UIAssemblyStatsDto, ui_UICatalogEntry as UICatalogEntry, ui_UICatalogResponse as UICatalogResponse, ui_UICustomizationDto as UICustomizationDto, ui_UIDescribeRequest as UIDescribeRequest, ui_UIDescribeResponse as UIDescribeResponse, ui_UIDescriptorDto as UIDescriptorDto, ui_UIGenerateRequest as UIGenerateRequest, ui_UIGenerateResponse as UIGenerateResponse, ui_UiSort as UiSort, ui_ValidationRuleDto as ValidationRuleDto, ui_ValidationTypeDto as ValidationTypeDto };
58774
60145
  }
58775
60146
 
58776
60147
  /**
@@ -58910,22 +60281,22 @@ declare class Compliance<SecurityDataType = unknown> {
58910
60281
  * No description
58911
60282
  *
58912
60283
  * @tags compliance
58913
- * @name GetSnapshot
60284
+ * @name GetPredictionSnapshot
58914
60285
  * @summary `GET /api/v1/predictions/snapshot/{id}`
58915
60286
  * @request GET:/api/v1/predictions/snapshot/{id}
58916
60287
  * @secure
58917
60288
  */
58918
- getSnapshot: (id: string, params?: RequestParams) => Promise<HttpResponse<PredictionSnapshot$1, any>>;
60289
+ getPredictionSnapshot: (id: string, params?: RequestParams) => Promise<HttpResponse<PredictionSnapshot$1, any>>;
58919
60290
  /**
58920
60291
  * No description
58921
60292
  *
58922
60293
  * @tags compliance
58923
- * @name List
60294
+ * @name ListAuditReceipts
58924
60295
  * @summary `GET /api/v1/compliance/audit/list`
58925
60296
  * @request GET:/api/v1/compliance/audit/list
58926
60297
  * @secure
58927
60298
  */
58928
- list: (query?: {
60299
+ listAuditReceipts: (query?: {
58929
60300
  /**
58930
60301
  * Return the full filtered set (export use case), bypassing the
58931
60302
  * bounded `limit`/`offset` window.
@@ -69870,11 +71241,11 @@ declare class Conformal<SecurityDataType = unknown> {
69870
71241
  * @description Compute a split-conformal non-conformity threshold from a labeled calibration set. Returns the threshold `τ` and a coverage certificate. The returned `threshold` should be passed verbatim to `POST /api/v1/conformal/predict`.
69871
71242
  *
69872
71243
  * @tags conformal
69873
- * @name Calibrate
71244
+ * @name CalibrateConformal
69874
71245
  * @summary `POST /api/v1/conformal/calibrate`
69875
71246
  * @request POST:/api/v1/conformal/calibrate
69876
71247
  */
69877
- calibrate: (data: ConformalCalibrateRequest$1, params?: RequestParams) => Promise<HttpResponse<ConformalCalibrateResponse$1, void>>;
71248
+ calibrateConformal: (data: ConformalCalibrateRequest$1, params?: RequestParams) => Promise<HttpResponse<ConformalCalibrateResponse$1, void>>;
69878
71249
  /**
69879
71250
  * @description Apply a pre-computed conformal threshold to unlabeled test inputs and return prediction sets with coverage certificates. A class `y` is included in an input's prediction set iff `1 − class_scores[y] ≤ threshold` (equivalently, `class_scores[y] ≥ 1 − threshold`). When no class meets this criterion the prediction set is empty and `abstains = true` is set on that input's result.
69880
71251
  *
@@ -70685,7 +72056,7 @@ declare class Speech<SecurityDataType = unknown> {
70685
72056
  * @request POST:/api/v1/speech/synthesize
70686
72057
  * @secure
70687
72058
  */
70688
- synthesizeSpeech: (data: SynthesizeSpeechRequest$1, params?: RequestParams) => Promise<HttpResponse<void, void>>;
72059
+ synthesizeSpeech: (data: SynthesizeSpeechRequest$1, params?: RequestParams) => Promise<HttpResponse<Blob, void>>;
70689
72060
  /**
70690
72061
  * @description POST /api/v1/speech/transcribe
70691
72062
  *
@@ -71002,12 +72373,12 @@ declare class Connectors<SecurityDataType = unknown> {
71002
72373
  * @description GET /api/v1/connectors/manage
71003
72374
  *
71004
72375
  * @tags connectors
71005
- * @name List
72376
+ * @name ListConnectors
71006
72377
  * @summary List tenant's connectors.
71007
72378
  * @request GET:/api/v1/connectors/manage
71008
72379
  * @secure
71009
72380
  */
71010
- list: (params?: RequestParams) => Promise<HttpResponse<ConnectorInstanceDto[], void>>;
72381
+ listConnectors: (params?: RequestParams) => Promise<HttpResponse<ConnectorInstanceDto[], void>>;
71011
72382
  /**
71012
72383
  * @description GET /api/v1/connector-types
71013
72384
  *
@@ -73124,4 +74495,4 @@ declare function toUntaggedFeatures(features: PlainFeatureMap): Record<string, F
73124
74495
  */
73125
74496
  declare function toTermInputDto(input: PsiTermInput | TermInputDto): TermInputDto;
73126
74497
 
73127
- export { ANY_ROLE, actionReviews as ActionReviews, actions as Actions, type AddFactRequest, type AddFactResponse, type AddRuleRequest, type AddRuleResponse, admin as Admin, agui as Agui, type AguiContextItem, type AguiEvent, type AguiFunctionCall, type AguiMessage, type AguiRole, type AguiRunOptions, type AguiTool, type AguiToolCall, type AiGroup, type AlcConcept, analysis as Analysis, type AnalysisGroup, anonymization as Anonymization, ApiError, type ApiResponse, type ArithmeticOp, type AuthConfig, AuthenticationError, authz as Authz, type AuthzAction, type AuthzDryRunRequest, type AuthzDryRunResponse, type AuthzEffect, type BackwardChainRequest, type BackwardChainResponse, BadRequestError, type BulkAddTermsRequest, type BulkAddTermsResponse, type BulkCreateSortsRequest, type BulkCreateSortsResponse, cdl as CDL, type CascadeOptions, type CatalogPage, causal as Causal, type CertificateDetail, chase as Chase, type ChaseArgDto, type ChaseAtomDto, type ChaseRunRequest, type ChaseRunResponse, type CheckDocumentRequest, type CheckDocumentResponse, type CheckFinding, type CheckSummary, type ClaimAssessment, type ClaimCitation, type ClaimSubtype, type ClaimVerdict, type ClassifyEdgesInput, type ClassifyEdgesVars, type ClearTermsResponse, type ClientConfig, cognitive as Cognitive, type CognitiveStrategyDto, coherence as Coherence, type CoherenceAnalyzeRequest, type CoherenceAnalyzeResponse, collections as Collections, communities as Communities, type CompareDocumentsRequest, type ComparisonOp, compliance as Compliance, complianceMarkings as ComplianceMarkings, conformal as Conformal, conformance as Conformance, type ConformanceCheckResponse, type ConformanceRepairResponse, type ConformanceRequest, connectors as Connectors, type ConstrainedPlainVar, Constraint, ConstraintViolationError, constraints as Constraints, control as Control, conversation as Conversation, type ConversationMessageRequest, type ConversationMessageResponse, type ConversationSummaryDto, type ConversationTurnsResponse, type CoreGroup, corpus as Corpus, type CorpusBridgesRequest, type CorpusBridgesResponse, type CorpusCommunitiesRequest, type CorpusCommunitiesResponse, type CorpusCrossCuttingRequest, type CorpusCrossCuttingResponse, type CorpusScope, type CreateResearchSessionRequest, type CreateResearchSessionResponse, type CreateSortRequest, type CreateTermRequest, type CtlFormula, dl as DL, type DataGroup, demo as Demo, discovery as Discovery, type DlSatisfiableRequest, type DlSatisfiableResponse, type DlSubsumesRequest, type DlSubsumesResponse, documentCheck as DocumentCheck, documents as Documents, embeddings as Embeddings, type EqLiteralDto, type EqualityAtomDto, type ErrorResponse$1 as ErrorResponse, execution as Execution, extract as Extract, feasibility as Feasibility, type FeatureInputValueDto, type FeatureValueDto, type FindingKind, type FindingSeverity, Flow, type FlowProblem as FlowBuilderProblem, type FlowEdgeInput, type FlowEdgeOptions, flowNetworks as FlowNetworks, type FlowNode, type FlowProblemInputBase, type FocusEntryDto, ForbiddenError, forecast as Forecast, type ForecastDomain, type ForecastDomainsResponse, type ForecastEntityInput, type ForecastRequest, type ForecastResponse, type ForwardChainRequest, type ForwardChainResponse, functions as Functions, fuzzy as Fuzzy, FuzzyShape, type FuzzyShapeDto, generation as Generation, type GlbRequest, type GlbResponse, type GraphSparqlQueryRequest, type GraphSparqlResults, guardrail as Guardrail, type GuardrailReport, type GuardrailRequest, type GuardrailSummary, health as Health, homoiconic as Homoiconic, ilp as ILP, imageExtraction as ImageExtraction, inference as Inference, type IngestPaperRequest, type IngestPaperResponse, ingestion as Ingestion, IngestionFailedError, IngestionSession, type IngestionSyncOptions, type InlineDocument, type InstallList, type InstallPluginRequest, type InstallPluginResponse, type InstallState, type InstallSummary, type Interceptor, InternalServerError, type JsonValue$1 as JsonValue, type KripkeState, type KripkeTransition, LP, ltn as LTN, type ListCatalogParams, type ListConversationsResponse, type ListInstallsParams, type ListResearchSessionsResponse, type LtnInstance, type LtnQueryRequest, type LtnQueryResponse, type LtnRefuteRequest, type LtnRefuteResponse, type LtnRule, type LtnTrainRequest, type LtnTrainResponse, type LubRequest, type LubResponse, marketplace as Marketplace, type MarketplaceScope, type MaxFlowInput, type MaxFlowVars, type MinCostMaxFlowInput, type MinCostMaxFlowVars, type MinCutInput, type MinCutVars, namespaces as Namespaces, NetworkError, neuroSymbolic as NeuroSymbolic, NotFoundError, ontology as Ontology, ontologyAlignment as OntologyAlignment, ontologyBridge as OntologyBridge, ontologyExport as OntologyExport, type OntologyExportDocument, type OntologyExportFormat, type OntologyExportOptions, ontologyFacade as OntologyFacade, type Operand, operations as Operations, optimize as Optimize, osfDiff as OsfDiff, type OsfDiffReport, type OsfDiffRequest, type OsfDiffResponse, type OsfDiffSelector, type OsfDiffSequenceReport, type OsfDiffSequenceRequest, type OsfDiffSequenceResponse, type OsfDiffTemporalRequest, type OsfSearchRequest, type OsfSearchResponse, osfql as Osfql, type OsfqlRequest, type OsfqlResponse, type OsfqlValue, oversight as Oversight, type PaginationParams, type PaperMetadataDto, type PaperSource, type PlainFeatureMap, type PlainFeatureValue, plainValues as PlainValues, type PluginDependency, type PluginDetail, type PluginManifest, type PluginSummary, type PluginVersion, preferences as Preferences, proofEngine as ProofEngine, propertyGraph as PropertyGraph, type PropertyGraphErrorResponse, type PropertyGraphExecuteResponse, type PropertyGraphQueryRequest, type PropertyGraphTranslateResponse, type PropertyGraphValue, type PsiTermDto, type PsiTermInput, type PublishPluginRequest, type PublishPluginResponse, query as Query, rag as RAG, RateLimitError, type RateLimitInfo, reasoning as Reasoning, type ReasoningGroup, ReasoningLayerClient, ReasoningLayerError, type ReasoningStageDto, type ReasoningTraceDto, type RequestOptions, research as Research, type ResearchContradictionsResponse, type ResearchCycleResponse, type ResearchFindingsResponse, type ResearchGapsResponse, type ResearchReportResponse, type ResearchSessionResponse, type ResearchSessionSummaryDto, type ResolvedCoreferenceDto, reviews as Reviews, reward as Reward, row as Row, type RuleAggregatorDto, type RunAgentRequest, SDK_VERSION, sat as Sat, type SatLiteralDto, type SatSolveRequest, type SatSolveResponse, type SatVerdict, scenarios as Scenarios, scheduling as Scheduling, type SearchCatalogRequest, type SearchCatalogResponse, type SearchPapersRequest, type SearchPapersResponse, type SessionGraphDto, type SimpleTgdDto, smt as Smt, type SmtCheckRequest, type SmtCheckResponse, type SmtFunctionApplicationDto, type SmtVerdict, solver as Solver, SortBuilder, type SortDto, type SortInfoDto, sorts as Sorts, sources as Sources, spaces as Spaces, sparql as Sparql, type SparqlAskResults, type SparqlBindingSet, type SparqlEntailmentRegime, type SparqlQueryRequest, type SparqlQueryResults, type SparqlRdfTerm, type SparqlSelectResults, type SparqlTranslation, type SparqlUpdateRequest, type SparqlUpdateTranslation, speakers as Speakers, speech as Speech, statistical as Statistical, streaming as Streaming, synthetic as Synthetic, type SystemGroup, temporal as Temporal, type TemporalModelCheckRequest, type TemporalModelCheckResponse, type TemporalSeriesRequest, type TemporalSeriesResponse, type TemporalSeriesSpec, type TermDto, type TermInputArg, type TermInputDto, type TermListResponse, type TermPatternDto, type TermResponse, type TermSetSelector, terms as Terms, TimeoutError, translation as Translation, type TurnDto, ui as UI, type UpdateTermRequest, type UpgradeInstallRequest, utilities as Utilities, ValidationError, Value, type ValueDto, values as Values, verification as Verification, type VerifyClaimRequest, type VerifyClaimResponse, vision as Vision, visualization as Visualization, WebSocketClient, WebSocketConnection, webhookActions as WebhookActions, type WorkflowGroup, type YankPluginRequest, type YankPluginResponse, allen, constrained, discriminateFeatureValue, guard, isConstrainedPlainVar, isPsiTermInput, isTaggedValueDto, isUuid, psi, toTaggedFeatures, toTaggedValue, toTermInputDto, toUntaggedFeatures, toUntaggedValue };
74498
+ export { ANY_ROLE, type ActionReviewReasonFilter, actionReviews as ActionReviews, actions as Actions, type AddFactRequest, type AddFactResponse, type AddRuleRequest, type AddRuleResponse, admin as Admin, agui as Agui, type AguiContextItem, type AguiEvent, type AguiFunctionCall, type AguiMessage, type AguiRole, type AguiRunOptions, type AguiTool, type AguiToolCall, type AiGroup, type AlcConcept, analysis as Analysis, type AnalysisGroup, anonymization as Anonymization, ApiError, type ApiResponse, type ArithmeticOp, type AuthConfig, AuthenticationError, authz as Authz, type AuthzAction, type AuthzDryRunRequest, type AuthzDryRunResponse, type AuthzEffect, type BackwardChainRequest, type BackwardChainResponse, BadRequestError, type BulkAddTermsRequest, type BulkAddTermsResponse, type BulkCreateSortsRequest, type BulkCreateSortsResponse, cdl as CDL, type CascadeOptions, type CatalogPage, causal as Causal, type CertificateDetail, chase as Chase, type ChaseArgDto, type ChaseAtomDto, type ChaseRunRequest, type ChaseRunResponse, type CheckDocumentRequest, type CheckDocumentResponse, type CheckFinding, type CheckSummary, type ClaimAssessment, type ClaimCitation, type ClaimSubtype, type ClaimVerdict, type ClassifyEdgesInput, type ClassifyEdgesVars, type ClearTermsResponse, type ClientConfig, cognitive as Cognitive, type CognitiveStrategyDto, coherence as Coherence, type CoherenceAnalyzeRequest, type CoherenceAnalyzeResponse, collections as Collections, communities as Communities, type CompareDocumentsRequest, type ComparisonOp, compliance as Compliance, complianceMarkings as ComplianceMarkings, conformal as Conformal, conformance as Conformance, type ConformanceCheckResponse, type ConformanceRepairResponse, type ConformanceRequest, connectors as Connectors, type ConstrainedPlainVar, Constraint, ConstraintViolationError, constraints as Constraints, control as Control, conversation as Conversation, type ConversationMessageRequest, type ConversationMessageResponse, type ConversationSummaryDto, type ConversationTurnsResponse, type CoreGroup, corpus as Corpus, type CorpusBridgesRequest, type CorpusBridgesResponse, type CorpusCommunitiesRequest, type CorpusCommunitiesResponse, type CorpusCrossCuttingRequest, type CorpusCrossCuttingResponse, type CorpusScope, type CreateResearchSessionRequest, type CreateResearchSessionResponse, type CreateSortRequest, type CreateTermRequest, type CtlFormula, dl as DL, type DataGroup, demo as Demo, discovery as Discovery, type DlSatisfiableRequest, type DlSatisfiableResponse, type DlSubsumesRequest, type DlSubsumesResponse, documentCheck as DocumentCheck, documents as Documents, embeddings as Embeddings, type EqLiteralDto, type EqualityAtomDto, type ErrorResponse$1 as ErrorResponse, execution as Execution, extract as Extract, feasibility as Feasibility, type FeatureInputValueDto, type FeatureValueDto, type FindingKind, type FindingSeverity, Flow, type FlowProblem as FlowBuilderProblem, type FlowEdgeInput, type FlowEdgeOptions, flowNetworks as FlowNetworks, type FlowNode, type FlowProblemInputBase, type FocusEntryDto, ForbiddenError, forecast as Forecast, type ForecastDomain, type ForecastDomainsResponse, type ForecastEntityInput, type ForecastRequest, type ForecastResponse, type ForwardChainRequest, type ForwardChainResponse, functions as Functions, fuzzy as Fuzzy, FuzzyShape, type FuzzyShapeDto, generation as Generation, type GlbRequest, type GlbResponse, type GraphExportFormat, type GraphSparqlQueryRequest, type GraphSparqlResults, guardrail as Guardrail, type GuardrailReport, type GuardrailRequest, type GuardrailSummary, health as Health, homoiconic as Homoiconic, ilp as ILP, imageExtraction as ImageExtraction, inference as Inference, type IngestPaperRequest, type IngestPaperResponse, ingestion as Ingestion, IngestionFailedError, IngestionSession, type IngestionSyncOptions, type InlineDocument, type InstallList, type InstallPluginRequest, type InstallPluginResponse, type InstallState, type InstallSummary, type Interceptor, InternalServerError, type JsonValue$1 as JsonValue, type KripkeState, type KripkeTransition, LP, ltn as LTN, type ListActionReviewsOptions, type ListCatalogParams, type ListConversationsResponse, type ListInstallsParams, type ListPendingReviewsOptions, type ListResearchSessionsResponse, type LtnInstance, type LtnQueryRequest, type LtnQueryResponse, type LtnRefuteRequest, type LtnRefuteResponse, type LtnRule, type LtnTrainRequest, type LtnTrainResponse, type LubRequest, type LubResponse, marketplace as Marketplace, type MarketplaceScope, type MaxFlowInput, type MaxFlowVars, type MinCostMaxFlowInput, type MinCostMaxFlowVars, type MinCutInput, type MinCutVars, namespaces as Namespaces, NetworkError, neuroSymbolic as NeuroSymbolic, NotFoundError, ontology as Ontology, ontologyAlignment as OntologyAlignment, ontologyBridge as OntologyBridge, ontologyExport as OntologyExport, type OntologyExportDocument, type OntologyExportFormat, type OntologyExportOptions, ontologyFacade as OntologyFacade, type Operand, operations as Operations, optimize as Optimize, osfDiff as OsfDiff, type OsfDiffReport, type OsfDiffRequest, type OsfDiffResponse, type OsfDiffSelector, type OsfDiffSequenceReport, type OsfDiffSequenceRequest, type OsfDiffSequenceResponse, type OsfDiffTemporalRequest, type OsfSearchRequest, type OsfSearchResponse, osfql as Osfql, type OsfqlRequest, type OsfqlResponse, type OsfqlValue, oversight as Oversight, type PaginationParams, type PaperMetadataDto, type PaperSource, type PlainFeatureMap, type PlainFeatureValue, plainValues as PlainValues, type PluginDependency, type PluginDetail, type PluginManifest, type PluginSummary, type PluginVersion, preferences as Preferences, proofEngine as ProofEngine, propertyGraph as PropertyGraph, type PropertyGraphErrorResponse, type PropertyGraphExecuteResponse, type PropertyGraphQueryRequest, type PropertyGraphTranslateResponse, type PropertyGraphValue, type PsiTermDto, type PsiTermInput, type PublishPluginRequest, type PublishPluginResponse, query as Query, rag as RAG, RateLimitError, type RateLimitInfo, reasoning as Reasoning, type ReasoningGroup, ReasoningLayerClient, ReasoningLayerError, type ReasoningStageDto, type ReasoningTraceDto, type RequestOptions, research as Research, type ResearchContradictionsResponse, type ResearchCycleResponse, type ResearchFindingsResponse, type ResearchGapsResponse, type ResearchReportResponse, type ResearchSessionResponse, type ResearchSessionSummaryDto, type ResolvedCoreferenceDto, type ReviewReason, reviews as Reviews, reward as Reward, row as Row, type RuleAggregatorDto, type RunAgentRequest, SDK_VERSION, sat as Sat, type SatLiteralDto, type SatSolveRequest, type SatSolveResponse, type SatVerdict, scenarios as Scenarios, scheduling as Scheduling, type SearchCatalogRequest, type SearchCatalogResponse, type SearchPapersRequest, type SearchPapersResponse, type SessionGraphDto, type SimpleTgdDto, smt as Smt, type SmtCheckRequest, type SmtCheckResponse, type SmtFunctionApplicationDto, type SmtVerdict, solver as Solver, SortBuilder, type SortDto, type SortInfoDto, sorts as Sorts, sources as Sources, spaces as Spaces, sparql as Sparql, type SparqlAskResults, type SparqlBindingSet, type SparqlEntailmentRegime, type SparqlQueryRequest, type SparqlQueryResults, type SparqlRdfTerm, type SparqlSelectResults, type SparqlTranslation, type SparqlUpdateRequest, type SparqlUpdateTranslation, speakers as Speakers, speech as Speech, statistical as Statistical, streaming as Streaming, synthetic as Synthetic, type SystemGroup, temporal as Temporal, type TemporalModelCheckRequest, type TemporalModelCheckResponse, type TemporalSeriesRequest, type TemporalSeriesResponse, type TemporalSeriesSpec, type TermDto, type TermInputArg, type TermInputDto, type TermListResponse, type TermPatternDto, type TermResponse, type TermSetSelector, terms as Terms, TimeoutError, translation as Translation, type TurnDto, ui as UI, type UpdateTermRequest, type UpgradeInstallRequest, utilities as Utilities, ValidationError, Value, type ValueDto, values as Values, verification as Verification, type VerifyClaimRequest, type VerifyClaimResponse, vision as Vision, visualization as Visualization, WebSocketClient, WebSocketConnection, webhookActions as WebhookActions, type WorkflowGroup, type YankPluginRequest, type YankPluginResponse, allen, constrained, discriminateFeatureValue, guard, isConstrainedPlainVar, isPsiTermInput, isTaggedValueDto, isUuid, psi, toTaggedFeatures, toTaggedValue, toTermInputDto, toUntaggedFeatures, toUntaggedValue };