@kortexya/reasoninglayer 1.16.0 → 1.18.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/README.md +1 -1
- package/dist/index.cjs +449 -22
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1233 -21
- package/dist/index.d.ts +1233 -21
- package/dist/index.js +449 -23
- package/dist/index.js.map +1 -1
- package/package.json +14 -14
package/dist/index.cjs
CHANGED
|
@@ -7,7 +7,7 @@ var __export = (target, all) => {
|
|
|
7
7
|
};
|
|
8
8
|
|
|
9
9
|
// src/config.ts
|
|
10
|
-
var SDK_VERSION = "1.
|
|
10
|
+
var SDK_VERSION = "1.18.0";
|
|
11
11
|
function resolveConfig(config) {
|
|
12
12
|
if (!config.baseUrl) {
|
|
13
13
|
throw new Error("ClientConfig.baseUrl is required");
|
|
@@ -587,6 +587,8 @@ var USER_DATA_FIELDS = /* @__PURE__ */ new Set([
|
|
|
587
587
|
"per_strategy_taxonomies",
|
|
588
588
|
"propsOverride",
|
|
589
589
|
"props_override",
|
|
590
|
+
"referencedTerms",
|
|
591
|
+
"referenced_terms",
|
|
590
592
|
"roleMinimums",
|
|
591
593
|
"role_minimums",
|
|
592
594
|
"scope",
|
|
@@ -594,6 +596,8 @@ var USER_DATA_FIELDS = /* @__PURE__ */ new Set([
|
|
|
594
596
|
"scores_by_name",
|
|
595
597
|
"sortNames",
|
|
596
598
|
"sort_names",
|
|
599
|
+
"toolResults",
|
|
600
|
+
"tool_results",
|
|
597
601
|
"topK",
|
|
598
602
|
"top_k",
|
|
599
603
|
"values"
|
|
@@ -996,6 +1000,22 @@ var Sorts = class {
|
|
|
996
1000
|
format: "json",
|
|
997
1001
|
...params
|
|
998
1002
|
});
|
|
1003
|
+
/**
|
|
1004
|
+
* No description
|
|
1005
|
+
*
|
|
1006
|
+
* @tags sorts
|
|
1007
|
+
* @name GetFuzzySubsumption
|
|
1008
|
+
* @summary Get the fuzzy subsumption degree `sub ⊑· sup` between two sorts
|
|
1009
|
+
* @request POST:/api/v1/sorts/subsumption/get
|
|
1010
|
+
*/
|
|
1011
|
+
getFuzzySubsumption = (data, params = {}) => this.http.request({
|
|
1012
|
+
path: `/api/v1/sorts/subsumption/get`,
|
|
1013
|
+
method: "POST",
|
|
1014
|
+
body: data,
|
|
1015
|
+
type: "application/json" /* Json */,
|
|
1016
|
+
format: "json",
|
|
1017
|
+
...params
|
|
1018
|
+
});
|
|
999
1019
|
/**
|
|
1000
1020
|
* @description Per Definition IV.5 (Milanese & Pasi 2024): ≾̇ = ((≾̃ .− ∼) ⊍ ≤)⁺
|
|
1001
1021
|
*
|
|
@@ -1013,16 +1033,17 @@ var Sorts = class {
|
|
|
1013
1033
|
...params
|
|
1014
1034
|
});
|
|
1015
1035
|
/**
|
|
1016
|
-
*
|
|
1036
|
+
* @description With `?format=osfql` the sort is returned as its commented OSFQL `DEFINE` block (`text/plain`, `ETag` = SHA-256 of the body) instead of the JSON DTO — the single-sort companion of `GET /api/v1/sorts/schema`.
|
|
1017
1037
|
*
|
|
1018
1038
|
* @tags sorts
|
|
1019
1039
|
* @name GetSort
|
|
1020
1040
|
* @summary Get a sort by ID
|
|
1021
1041
|
* @request GET:/api/v1/sorts/{id}
|
|
1022
1042
|
*/
|
|
1023
|
-
getSort = (id, params = {}) => this.http.request({
|
|
1043
|
+
getSort = (id, query, params = {}) => this.http.request({
|
|
1024
1044
|
path: `/api/v1/sorts/${id}`,
|
|
1025
1045
|
method: "GET",
|
|
1046
|
+
query,
|
|
1026
1047
|
format: "json",
|
|
1027
1048
|
...params
|
|
1028
1049
|
});
|
|
@@ -1042,6 +1063,22 @@ var Sorts = class {
|
|
|
1042
1063
|
format: "json",
|
|
1043
1064
|
...params
|
|
1044
1065
|
});
|
|
1066
|
+
/**
|
|
1067
|
+
* @description The bulk companion of `?format=osfql` on the by-id route: a single deterministic, re-parseable `text/plain` block of commented `DEFINE` statements (one per sort, ordered by name) for LLM prompt conditioning and replayable export. Supports the tenant listing's filters (`name_prefix`, `include_system`, `needs_review`, `llm_extracted`, and `offset`/`limit`, applied after the deterministic ordering so pages are stable). The `ETag` is the SHA-256 of the body, so prompt-conditioning consumers get a stable cache key for "schema unchanged".
|
|
1068
|
+
*
|
|
1069
|
+
* @tags sorts
|
|
1070
|
+
* @name GetSortsSchema
|
|
1071
|
+
* @summary Export the authenticated tenant's schema as one OSFQL DDL block
|
|
1072
|
+
* @request GET:/api/v1/sorts/schema
|
|
1073
|
+
* @secure
|
|
1074
|
+
*/
|
|
1075
|
+
getSortsSchema = (query, params = {}) => this.http.request({
|
|
1076
|
+
path: `/api/v1/sorts/schema`,
|
|
1077
|
+
method: "GET",
|
|
1078
|
+
query,
|
|
1079
|
+
secure: true,
|
|
1080
|
+
...params
|
|
1081
|
+
});
|
|
1045
1082
|
/**
|
|
1046
1083
|
* No description
|
|
1047
1084
|
*
|
|
@@ -1148,6 +1185,22 @@ var Sorts = class {
|
|
|
1148
1185
|
format: "json",
|
|
1149
1186
|
...params
|
|
1150
1187
|
});
|
|
1188
|
+
/**
|
|
1189
|
+
* @description Subsumption is **directional**: ⊑·(s₁, s₂) and ⊑·(s₂, s₁) are different assertions. For the symmetric relation use `/api/v1/sorts/similarity`. The degree must be in [0, 1] and the assignment must keep the relation a fuzzy partial order (max–min transitivity, antisymmetry); one that does not is rejected rather than stored.
|
|
1190
|
+
*
|
|
1191
|
+
* @tags sorts
|
|
1192
|
+
* @name SetFuzzySubsumption
|
|
1193
|
+
* @summary Set the fuzzy subsumption degree `sub ⊑· sup` between two sorts
|
|
1194
|
+
* @request POST:/api/v1/sorts/subsumption
|
|
1195
|
+
*/
|
|
1196
|
+
setFuzzySubsumption = (data, params = {}) => this.http.request({
|
|
1197
|
+
path: `/api/v1/sorts/subsumption`,
|
|
1198
|
+
method: "POST",
|
|
1199
|
+
body: data,
|
|
1200
|
+
type: "application/json" /* Json */,
|
|
1201
|
+
format: "json",
|
|
1202
|
+
...params
|
|
1203
|
+
});
|
|
1151
1204
|
/**
|
|
1152
1205
|
* @description Similarity is symmetric: ∼(s₁, s₂) = ∼(s₂, s₁) Degree must be in [0, 1] range.
|
|
1153
1206
|
*
|
|
@@ -1623,11 +1676,11 @@ var Inference = class {
|
|
|
1623
1676
|
...params
|
|
1624
1677
|
});
|
|
1625
1678
|
/**
|
|
1626
|
-
* @description #
|
|
1679
|
+
* @description This drops the hydrated base facts, the forward-chain `persist_derived` facts and the residuation store, then forgets the hydration flag so the next request reloads the base facts from PostgreSQL. **It does not delete durable data.** The terms are the authority; this is their cache. That makes it the retraction primitive forward chaining otherwise lacks. Chaining is monotonic — delete a `blocks` edge and the derived "A blocks B" survives every later pass, so the KB keeps asserting a relationship the user removed. Clearing and re-chaining rebuilds the closure from the terms that actually exist. # History Until 2026-07-28 this handler enumerated every term in the tenant and deleted it from PostgreSQL, while calling itself "clear facts" and reporting `"Cleared N facts/rules"`. It is reachable with an ordinary tenant credential — unlike `/api/v1/admin/clear-tenant/{tenant_id}`, which gateways block — so a caller reading the name, the path or the response body had no way to know it was a tenant wipe. It destroyed a live tenant that way. Use `DELETE /api/v1/terms/{term_id}` to delete a term, and the admin route to wipe a tenant; deleting durable data must not be something an endpoint does as a side effect of its name. # Authorization Requires X-Tenant-Id header, and the path tenant must match it.
|
|
1627
1680
|
*
|
|
1628
1681
|
* @tags inference
|
|
1629
1682
|
* @name ClearFacts
|
|
1630
|
-
* @summary Clear
|
|
1683
|
+
* @summary Clear a tenant's in-memory inference working set.
|
|
1631
1684
|
* @request DELETE:/api/v1/inference/facts/{tenant_id}
|
|
1632
1685
|
* @secure
|
|
1633
1686
|
*/
|
|
@@ -3043,6 +3096,21 @@ var StructuredIngestion = class {
|
|
|
3043
3096
|
secure: true,
|
|
3044
3097
|
...params
|
|
3045
3098
|
});
|
|
3099
|
+
/**
|
|
3100
|
+
* @description Refused with 409 while a registered source still references the file's path (the source's adapter would otherwise hold a dangling `file_path`). After that source is unregistered, the delete succeeds (204). A missing sidecar (no such upload id) is 404.
|
|
3101
|
+
*
|
|
3102
|
+
* @tags structured_ingestion
|
|
3103
|
+
* @name DeleteSourceFile
|
|
3104
|
+
* @summary Delete a tenant-uploaded source file (#107).
|
|
3105
|
+
* @request DELETE:/api/v1/sources/files/{id}
|
|
3106
|
+
* @secure
|
|
3107
|
+
*/
|
|
3108
|
+
deleteSourceFile = (id, params = {}) => this.http.request({
|
|
3109
|
+
path: `/api/v1/sources/files/${id}`,
|
|
3110
|
+
method: "DELETE",
|
|
3111
|
+
secure: true,
|
|
3112
|
+
...params
|
|
3113
|
+
});
|
|
3046
3114
|
/**
|
|
3047
3115
|
* @description Performs schema introspection on the source to discover types (sorts), features (fields), and relations. This is a preview operation - no data is ingested. `type_filter` narrows the discovery to a named subset **without re-registering the source** — the escape hatch a client uses after `/tables` when the source is over the discovery cap (#66, Gap 2). It conjoins with the source config's own `include_tables`: a request narrows *within* the registration, it cannot widen past it.
|
|
3048
3116
|
*
|
|
@@ -3095,6 +3163,22 @@ var StructuredIngestion = class {
|
|
|
3095
3163
|
format: "json",
|
|
3096
3164
|
...params
|
|
3097
3165
|
});
|
|
3166
|
+
/**
|
|
3167
|
+
* @description Walks `{base}/{tenant_id}/*\/.meta.json`. A missing tenant dir yields an empty list (200), not 404 — a tenant that never uploaded is not an error.
|
|
3168
|
+
*
|
|
3169
|
+
* @tags structured_ingestion
|
|
3170
|
+
* @name ListSourceFiles
|
|
3171
|
+
* @summary List the calling tenant's uploaded source files (#107).
|
|
3172
|
+
* @request GET:/api/v1/sources/files
|
|
3173
|
+
* @secure
|
|
3174
|
+
*/
|
|
3175
|
+
listSourceFiles = (params = {}) => this.http.request({
|
|
3176
|
+
path: `/api/v1/sources/files`,
|
|
3177
|
+
method: "GET",
|
|
3178
|
+
secure: true,
|
|
3179
|
+
format: "json",
|
|
3180
|
+
...params
|
|
3181
|
+
});
|
|
3098
3182
|
/**
|
|
3099
3183
|
* No description
|
|
3100
3184
|
*
|
|
@@ -3161,6 +3245,24 @@ var StructuredIngestion = class {
|
|
|
3161
3245
|
format: "json",
|
|
3162
3246
|
...params
|
|
3163
3247
|
});
|
|
3248
|
+
/**
|
|
3249
|
+
* @description Multipart, one field named `file`. Streamed to disk under `{base}/{tenant_id}/{id}/{safe_name}` with a `.meta.json` sidecar. The response `path` is the engine-internal location handed to `POST /api/v1/sources` as `config.file_path` (csv/parquet) or `config.database_path` (sqlite).
|
|
3250
|
+
*
|
|
3251
|
+
* @tags structured_ingestion
|
|
3252
|
+
* @name UploadSourceFile
|
|
3253
|
+
* @summary Upload a file-based source artifact for the calling tenant (#107).
|
|
3254
|
+
* @request POST:/api/v1/sources/files
|
|
3255
|
+
* @secure
|
|
3256
|
+
*/
|
|
3257
|
+
uploadSourceFile = (data, params = {}) => this.http.request({
|
|
3258
|
+
path: `/api/v1/sources/files`,
|
|
3259
|
+
method: "POST",
|
|
3260
|
+
body: data,
|
|
3261
|
+
secure: true,
|
|
3262
|
+
type: "multipart/form-data" /* FormData */,
|
|
3263
|
+
format: "json",
|
|
3264
|
+
...params
|
|
3265
|
+
});
|
|
3164
3266
|
};
|
|
3165
3267
|
|
|
3166
3268
|
// src/api-spec/generated/NeuroSymbolic.ts
|
|
@@ -5864,6 +5966,22 @@ var Extraction = class {
|
|
|
5864
5966
|
constructor(http) {
|
|
5865
5967
|
this.http = http;
|
|
5866
5968
|
}
|
|
5969
|
+
/**
|
|
5970
|
+
* @description Read-only with respect to the knowledge base: certification inspects the tenant's sort lattice and never writes a term. Certificates *are* written to the verification certificate store, so the batch is auditable afterwards.
|
|
5971
|
+
*
|
|
5972
|
+
* @tags extraction
|
|
5973
|
+
* @name CertifyExtraction
|
|
5974
|
+
* @summary `POST /api/v1/extraction/certify` — gate a batch of extraction candidates through the OSF well-sortedness certifier before they may become durable KB content.
|
|
5975
|
+
* @request POST:/api/v1/extraction/certify
|
|
5976
|
+
*/
|
|
5977
|
+
certifyExtraction = (data, params = {}) => this.http.request({
|
|
5978
|
+
path: `/api/v1/extraction/certify`,
|
|
5979
|
+
method: "POST",
|
|
5980
|
+
body: data,
|
|
5981
|
+
type: "application/json" /* Json */,
|
|
5982
|
+
format: "json",
|
|
5983
|
+
...params
|
|
5984
|
+
});
|
|
5867
5985
|
/**
|
|
5868
5986
|
* @description Uses GLiNER2 (zero-shot NER) with sort names from the tenant's knowledge base, guaranteeing that all returned entity labels are valid sort names. Label selection (when no explicit labels provided): Embed the input text and ANN-search the pre-computed sort embedding index (Qdrant) for the most semantically similar HPO sorts. This is O(log n) and typically returns 20-100 highly relevant labels from 19K+ HPO sorts. Requires: - GLiNER2 NER service (`GLINER_NER_URL`) - Qdrant vector store for semantic label selection If either is not configured, returns a 500 error.
|
|
5869
5987
|
*
|
|
@@ -6261,7 +6379,7 @@ var Query = class {
|
|
|
6261
6379
|
this.http = http;
|
|
6262
6380
|
}
|
|
6263
6381
|
/**
|
|
6264
|
-
* @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.
|
|
6382
|
+
* @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.
|
|
6265
6383
|
*
|
|
6266
6384
|
* @tags query
|
|
6267
6385
|
* @name FindBySort
|
|
@@ -6655,7 +6773,7 @@ var Reasoning = class {
|
|
|
6655
6773
|
this.http = http;
|
|
6656
6774
|
}
|
|
6657
6775
|
/**
|
|
6658
|
-
* @description POST /api/v1/reasoning/disentailment Disentailment A =/=> B means: "if A holds, then B must NOT hold" Returns whether the disentailment is violated
|
|
6776
|
+
* @description POST /api/v1/reasoning/disentailment Disentailment A =/=> B means: "if A holds, then B must NOT hold". Returns whether the disentailment is violated — the conflict where the facts establish A and B follows anyway. This is hierarchy-aware and graded on the same footing as the entailment route, so a conflict reachable only through the sort lattice (a `contaminated` clause held by a `lead_paint` fact that subsumes it) is detected without that clause being supplied as a fact. `A ⇏ B` is violated exactly to the degree `A ⇒ B` is established, so `degree` here reports the complement: how strongly the disentailment still holds.
|
|
6659
6777
|
*
|
|
6660
6778
|
* @tags reasoning
|
|
6661
6779
|
* @name Disentailment
|
|
@@ -6671,7 +6789,7 @@ var Reasoning = class {
|
|
|
6671
6789
|
...params
|
|
6672
6790
|
});
|
|
6673
6791
|
/**
|
|
6674
|
-
* @description POST /api/v1/reasoning/entailment
|
|
6792
|
+
* @description POST /api/v1/reasoning/entailment Answers `facts ⊨ antecedent ⇒ consequent`, hierarchy-aware and graded. A clause holds in the fact base to the degree that some fact *witnesses* it — that is, to the degree the clause subsumes a fact — so a `sparrow` fact establishes the clause `animal` without an `animal` fact being supplied. The consequent is additionally established when it subsumes the antecedent it would follow from. See [`osfkb_domain::operations::homoiconic_entailment`] for the full semantics. `entails` is the crisp reading of `degree`; `degree`, `antecedent_degree` and `consequent_degree` are computed from the sort lattice (crisply, and through explicit fuzzy `⊑·` relations and approved sort similarity), never cast from the boolean.
|
|
6675
6793
|
*
|
|
6676
6794
|
* @tags reasoning
|
|
6677
6795
|
* @name Entailment
|
|
@@ -8700,6 +8818,20 @@ var Health = class {
|
|
|
8700
8818
|
format: "json",
|
|
8701
8819
|
...params
|
|
8702
8820
|
});
|
|
8821
|
+
/**
|
|
8822
|
+
* No description
|
|
8823
|
+
*
|
|
8824
|
+
* @tags health
|
|
8825
|
+
* @name HealthCheckApi
|
|
8826
|
+
* @summary `GET /api/v1/health` — the same enriched health check under the `/api/v1` prefix. The playground front proxy forwards only `/api/*` to the engine (and answers the bare `/health` itself with a static OK), so THIS is the path that makes the deployed `build_info.version` publicly readable — a stale rollout must never be indistinguishable from a fresh one.
|
|
8827
|
+
* @request GET:/api/v1/health
|
|
8828
|
+
*/
|
|
8829
|
+
healthCheckApi = (params = {}) => this.http.request({
|
|
8830
|
+
path: `/api/v1/health`,
|
|
8831
|
+
method: "GET",
|
|
8832
|
+
format: "json",
|
|
8833
|
+
...params
|
|
8834
|
+
});
|
|
8703
8835
|
};
|
|
8704
8836
|
|
|
8705
8837
|
// src/api-spec/generated/Scheduling.ts
|
|
@@ -9040,6 +9172,24 @@ var Generation = class {
|
|
|
9040
9172
|
format: "json",
|
|
9041
9173
|
...params
|
|
9042
9174
|
});
|
|
9175
|
+
/**
|
|
9176
|
+
* @description POST /api/v1/text/generate
|
|
9177
|
+
*
|
|
9178
|
+
* @tags generation
|
|
9179
|
+
* @name GenerateText
|
|
9180
|
+
* @summary Run the caller's system prompt over their text.
|
|
9181
|
+
* @request POST:/api/v1/text/generate
|
|
9182
|
+
* @secure
|
|
9183
|
+
*/
|
|
9184
|
+
generateText = (data, params = {}) => this.http.request({
|
|
9185
|
+
path: `/api/v1/text/generate`,
|
|
9186
|
+
method: "POST",
|
|
9187
|
+
body: data,
|
|
9188
|
+
secure: true,
|
|
9189
|
+
type: "application/json" /* Json */,
|
|
9190
|
+
format: "json",
|
|
9191
|
+
...params
|
|
9192
|
+
});
|
|
9043
9193
|
/**
|
|
9044
9194
|
* @description Returns `503` when no in-process Gemma is loaded (server started without `OSFKB_OSFQL_GEMMA_DIR`), `400` on an empty prompt, and `422` when the tenant has no persisted lattice to constrain to (ingest a theory with `persist:true` first).
|
|
9045
9195
|
*
|
|
@@ -9376,6 +9526,58 @@ var Compliance = class {
|
|
|
9376
9526
|
format: "json",
|
|
9377
9527
|
...params
|
|
9378
9528
|
});
|
|
9529
|
+
/**
|
|
9530
|
+
* No description
|
|
9531
|
+
*
|
|
9532
|
+
* @tags compliance
|
|
9533
|
+
* @name CreateDsr
|
|
9534
|
+
* @summary File a GDPR data subject request
|
|
9535
|
+
* @request POST:/api/v1/dsr
|
|
9536
|
+
* @secure
|
|
9537
|
+
*/
|
|
9538
|
+
createDsr = (data, params = {}) => this.http.request({
|
|
9539
|
+
path: `/api/v1/dsr`,
|
|
9540
|
+
method: "POST",
|
|
9541
|
+
body: data,
|
|
9542
|
+
secure: true,
|
|
9543
|
+
type: "application/json" /* Json */,
|
|
9544
|
+
format: "json",
|
|
9545
|
+
...params
|
|
9546
|
+
});
|
|
9547
|
+
/**
|
|
9548
|
+
* @description **Dry run by default.** An exact match on an identifying feature is the only deterministic way to resolve a person to terms, but exactness is not uniqueness — two people share a name. Erasing on a bare match would silently destroy a homonym's data, and erasure is irreversible, so the plan has to be inspectable before it runs. Pass `confirm: true` once the match has been reviewed.
|
|
9549
|
+
*
|
|
9550
|
+
* @tags compliance
|
|
9551
|
+
* @name EraseSubject
|
|
9552
|
+
* @summary Plan or execute erasure of a data subject's terms
|
|
9553
|
+
* @request POST:/api/v1/dsr/{id}/erase
|
|
9554
|
+
* @secure
|
|
9555
|
+
*/
|
|
9556
|
+
eraseSubject = (id, data, params = {}) => this.http.request({
|
|
9557
|
+
path: `/api/v1/dsr/${id}/erase`,
|
|
9558
|
+
method: "POST",
|
|
9559
|
+
body: data,
|
|
9560
|
+
secure: true,
|
|
9561
|
+
type: "application/json" /* Json */,
|
|
9562
|
+
format: "json",
|
|
9563
|
+
...params
|
|
9564
|
+
});
|
|
9565
|
+
/**
|
|
9566
|
+
* No description
|
|
9567
|
+
*
|
|
9568
|
+
* @tags compliance
|
|
9569
|
+
* @name GetDsr
|
|
9570
|
+
* @summary Read a data subject request
|
|
9571
|
+
* @request GET:/api/v1/dsr/{id}
|
|
9572
|
+
* @secure
|
|
9573
|
+
*/
|
|
9574
|
+
getDsr = (id, params = {}) => this.http.request({
|
|
9575
|
+
path: `/api/v1/dsr/${id}`,
|
|
9576
|
+
method: "GET",
|
|
9577
|
+
secure: true,
|
|
9578
|
+
format: "json",
|
|
9579
|
+
...params
|
|
9580
|
+
});
|
|
9379
9581
|
/**
|
|
9380
9582
|
* No description
|
|
9381
9583
|
*
|
|
@@ -9409,6 +9611,22 @@ var Compliance = class {
|
|
|
9409
9611
|
format: "json",
|
|
9410
9612
|
...params
|
|
9411
9613
|
});
|
|
9614
|
+
/**
|
|
9615
|
+
* No description
|
|
9616
|
+
*
|
|
9617
|
+
* @tags compliance
|
|
9618
|
+
* @name ListDsr
|
|
9619
|
+
* @summary List a data subject's requests
|
|
9620
|
+
* @request GET:/api/v1/dsr
|
|
9621
|
+
* @secure
|
|
9622
|
+
*/
|
|
9623
|
+
listDsr = (params = {}) => this.http.request({
|
|
9624
|
+
path: `/api/v1/dsr`,
|
|
9625
|
+
method: "GET",
|
|
9626
|
+
secure: true,
|
|
9627
|
+
format: "json",
|
|
9628
|
+
...params
|
|
9629
|
+
});
|
|
9412
9630
|
/**
|
|
9413
9631
|
* No description
|
|
9414
9632
|
*
|
|
@@ -9890,6 +10108,24 @@ var OntologyBridge = class {
|
|
|
9890
10108
|
format: "json",
|
|
9891
10109
|
...params
|
|
9892
10110
|
});
|
|
10111
|
+
/**
|
|
10112
|
+
* @description The gap this closes (#133): the engine could lower OSFQL to a source's native language and could execute native queries, and the two were never reachable together over HTTP. `POST /api/v1/osfql` runs against the knowledge base and never consults a binding; `POST /api/v1/ontology/transpile` emits the query text and stops. A `transpile`-mode source — which deliberately ingests nothing — therefore had no way to be queried at all, and asking about its data returned an empty result indistinguishable from a broken connector. The dialect is derived from the source's type, never taken from the caller: the binding says which source answers for the sort, and that source's type is the only dialect that could run. Letting a caller name one would let them ask for Cypher against Postgres. The emitted query is returned with the rows. Transpile mode's claim is that OSFQL becomes a native query against the operator's own database; returning only rows leaves that unverifiable.
|
|
10113
|
+
*
|
|
10114
|
+
* @tags ontology_bridge
|
|
10115
|
+
* @name ExecuteTranspiled
|
|
10116
|
+
* @summary Transpile an OSFQL MATCH and execute it on the source it is bound to.
|
|
10117
|
+
* @request POST:/api/v1/ontology/query
|
|
10118
|
+
* @secure
|
|
10119
|
+
*/
|
|
10120
|
+
executeTranspiled = (data, params = {}) => this.http.request({
|
|
10121
|
+
path: `/api/v1/ontology/query`,
|
|
10122
|
+
method: "POST",
|
|
10123
|
+
body: data,
|
|
10124
|
+
secure: true,
|
|
10125
|
+
type: "application/json" /* Json */,
|
|
10126
|
+
format: "json",
|
|
10127
|
+
...params
|
|
10128
|
+
});
|
|
9893
10129
|
/**
|
|
9894
10130
|
* @description Produces query tools, write tools, and inference tools from the current sort hierarchy and SQL bindings, along with a system prompt suitable for grounding an LLM.
|
|
9895
10131
|
*
|
|
@@ -9959,7 +10195,7 @@ var OntologyBridge = class {
|
|
|
9959
10195
|
...params
|
|
9960
10196
|
});
|
|
9961
10197
|
/**
|
|
9962
|
-
* @description Parses the OSFQL query, compiles it, and transpiles
|
|
10198
|
+
* @description Parses the OSFQL query, compiles it, and transpiles EVERY `ScanBySort` operation into one statement using the current sort-table bindings — a JOIN for the SQL dialects, a multi-pattern MATCH for Cypher. A plan operation that is not a scan is refused by name rather than dropped: `fully_transpilable` is what a caller checks to decide whether the emitted text is the whole question, and it reported `true` for a query half of which was never emitted (#134).
|
|
9963
10199
|
*
|
|
9964
10200
|
* @tags ontology_bridge
|
|
9965
10201
|
* @name Transpile
|
|
@@ -10258,6 +10494,24 @@ var Speakers = class {
|
|
|
10258
10494
|
format: "json",
|
|
10259
10495
|
...params
|
|
10260
10496
|
});
|
|
10497
|
+
/**
|
|
10498
|
+
* @description POST /api/v1/speakers/identify
|
|
10499
|
+
*
|
|
10500
|
+
* @tags speakers
|
|
10501
|
+
* @name IdentifySpeakers
|
|
10502
|
+
* @summary Identify which enrolled voices speak in a piece of audio — no transcript.
|
|
10503
|
+
* @request POST:/api/v1/speakers/identify
|
|
10504
|
+
* @secure
|
|
10505
|
+
*/
|
|
10506
|
+
identifySpeakers = (data, params = {}) => this.http.request({
|
|
10507
|
+
path: `/api/v1/speakers/identify`,
|
|
10508
|
+
method: "POST",
|
|
10509
|
+
body: data,
|
|
10510
|
+
secure: true,
|
|
10511
|
+
type: "application/json" /* Json */,
|
|
10512
|
+
format: "json",
|
|
10513
|
+
...params
|
|
10514
|
+
});
|
|
10261
10515
|
/**
|
|
10262
10516
|
* @description GET /api/v1/speakers
|
|
10263
10517
|
*
|
|
@@ -10524,6 +10778,22 @@ var Documents = class {
|
|
|
10524
10778
|
constructor(http) {
|
|
10525
10779
|
this.http = http;
|
|
10526
10780
|
}
|
|
10781
|
+
/**
|
|
10782
|
+
* No description
|
|
10783
|
+
*
|
|
10784
|
+
* @tags documents
|
|
10785
|
+
* @name EraseDocument
|
|
10786
|
+
* @summary Erase a document and everything extracted from it
|
|
10787
|
+
* @request DELETE:/api/v1/documents/{id}
|
|
10788
|
+
* @secure
|
|
10789
|
+
*/
|
|
10790
|
+
eraseDocument = (id, params = {}) => this.http.request({
|
|
10791
|
+
path: `/api/v1/documents/${id}`,
|
|
10792
|
+
method: "DELETE",
|
|
10793
|
+
secure: true,
|
|
10794
|
+
format: "json",
|
|
10795
|
+
...params
|
|
10796
|
+
});
|
|
10527
10797
|
/**
|
|
10528
10798
|
* No description
|
|
10529
10799
|
*
|
|
@@ -11594,6 +11864,32 @@ var OntologyExport = class {
|
|
|
11594
11864
|
});
|
|
11595
11865
|
};
|
|
11596
11866
|
|
|
11867
|
+
// src/api-spec/generated/Embeddings.ts
|
|
11868
|
+
var Embeddings = class {
|
|
11869
|
+
http;
|
|
11870
|
+
constructor(http) {
|
|
11871
|
+
this.http = http;
|
|
11872
|
+
}
|
|
11873
|
+
/**
|
|
11874
|
+
* @description POST /api/v1/embeddings/rank
|
|
11875
|
+
*
|
|
11876
|
+
* @tags embeddings
|
|
11877
|
+
* @name RankEmbeddings
|
|
11878
|
+
* @summary Score every candidate against the query by embedding cosine similarity.
|
|
11879
|
+
* @request POST:/api/v1/embeddings/rank
|
|
11880
|
+
* @secure
|
|
11881
|
+
*/
|
|
11882
|
+
rankEmbeddings = (data, params = {}) => this.http.request({
|
|
11883
|
+
path: `/api/v1/embeddings/rank`,
|
|
11884
|
+
method: "POST",
|
|
11885
|
+
body: data,
|
|
11886
|
+
secure: true,
|
|
11887
|
+
type: "application/json" /* Json */,
|
|
11888
|
+
format: "json",
|
|
11889
|
+
...params
|
|
11890
|
+
});
|
|
11891
|
+
};
|
|
11892
|
+
|
|
11597
11893
|
// src/normalizers/sorts.ts
|
|
11598
11894
|
function ConstraintDtoFromApiToFront(dto) {
|
|
11599
11895
|
if (dto.type === "FuzzyPathSimilarity") {
|
|
@@ -19742,20 +20038,21 @@ var IngestionSession = class {
|
|
|
19742
20038
|
}));
|
|
19743
20039
|
return;
|
|
19744
20040
|
}
|
|
19745
|
-
|
|
20041
|
+
let onAbort;
|
|
20042
|
+
const timer = setTimeout(() => {
|
|
20043
|
+
if (signal && onAbort) {
|
|
20044
|
+
signal.removeEventListener("abort", onAbort);
|
|
20045
|
+
}
|
|
20046
|
+
resolve();
|
|
20047
|
+
}, ms);
|
|
19746
20048
|
if (signal) {
|
|
19747
|
-
|
|
20049
|
+
onAbort = () => {
|
|
19748
20050
|
clearTimeout(timer);
|
|
19749
20051
|
reject(new ReasoningLayerError("Ingestion polling was aborted", {
|
|
19750
20052
|
cause: signal.reason
|
|
19751
20053
|
}));
|
|
19752
20054
|
};
|
|
19753
20055
|
signal.addEventListener("abort", onAbort, { once: true });
|
|
19754
|
-
const originalResolve = resolve;
|
|
19755
|
-
resolve = () => {
|
|
19756
|
-
signal.removeEventListener("abort", onAbort);
|
|
19757
|
-
originalResolve();
|
|
19758
|
-
};
|
|
19759
20056
|
}
|
|
19760
20057
|
});
|
|
19761
20058
|
}
|
|
@@ -20540,8 +20837,10 @@ function EvidenceAssessmentRequestFromFrontToApi(model) {
|
|
|
20540
20837
|
};
|
|
20541
20838
|
}
|
|
20542
20839
|
function EvidenceItemDtoFromApiToFront(dto) {
|
|
20840
|
+
const wireDescription = dto.description;
|
|
20543
20841
|
return {
|
|
20544
20842
|
contribution: dto.contribution,
|
|
20843
|
+
description: wireDescription ?? null,
|
|
20545
20844
|
qualityWeight: dto.quality_weight,
|
|
20546
20845
|
supports: dto.supports,
|
|
20547
20846
|
termId: dto.term_id
|
|
@@ -20696,6 +20995,13 @@ var ReasoningClient = class {
|
|
|
20696
20995
|
/**
|
|
20697
20996
|
* Assess the truthfulness/validity of a subject based on related evidence.
|
|
20698
20997
|
*
|
|
20998
|
+
* @remarks
|
|
20999
|
+
* Each item in the supporting/contradicting breakdown carries a
|
|
21000
|
+
* `description` — the evidence term's own sentence,
|
|
21001
|
+
* e.g. `"Aspirin reduces_risk_of Cancer"` — so evidence can be rendered
|
|
21002
|
+
* without a second lookup by `termId`. It is `null` against a backend that
|
|
21003
|
+
* predates the field.
|
|
21004
|
+
*
|
|
20699
21005
|
* @param request - Evidence assessment request.
|
|
20700
21006
|
* @returns Assessment result with truthfulness score, label, and evidence breakdown.
|
|
20701
21007
|
*/
|
|
@@ -28750,7 +29056,15 @@ function PaperMetadataFromApiToFront(dto) {
|
|
|
28750
29056
|
abstractText: dto.abstract_text ?? null,
|
|
28751
29057
|
citationCount: dto.citation_count ?? null,
|
|
28752
29058
|
source: dto.source,
|
|
28753
|
-
fullTextUrl: dto.full_text_url ?? null
|
|
29059
|
+
fullTextUrl: dto.full_text_url ?? null,
|
|
29060
|
+
paperKey: dto.paper_key ?? null
|
|
29061
|
+
};
|
|
29062
|
+
}
|
|
29063
|
+
function PaperRefFromApiToFront(dto) {
|
|
29064
|
+
return {
|
|
29065
|
+
paperKey: dto.paper_key,
|
|
29066
|
+
doi: dto.doi ?? null,
|
|
29067
|
+
title: dto.title
|
|
28754
29068
|
};
|
|
28755
29069
|
}
|
|
28756
29070
|
function PaperSearchResultFromApiToFront(dto) {
|
|
@@ -28784,6 +29098,8 @@ function ResearchCycleResultFromApiToFront(dto) {
|
|
|
28784
29098
|
papersIngested: dto.papers_ingested,
|
|
28785
29099
|
claimsVerified: dto.claims_verified,
|
|
28786
29100
|
contradictionsDetected: dto.contradictions_detected,
|
|
29101
|
+
contradictionsResolved: dto.contradictions_resolved ?? 0,
|
|
29102
|
+
claimsMerged: dto.claims_merged ?? 0,
|
|
28787
29103
|
processingTimeMs: dto.processing_time_ms,
|
|
28788
29104
|
searchQueries: dto.search_queries ?? []
|
|
28789
29105
|
};
|
|
@@ -28796,6 +29112,7 @@ function ResearchSessionResponseFromApiToFront(raw) {
|
|
|
28796
29112
|
status: dto.status,
|
|
28797
29113
|
error: dto.error ?? null,
|
|
28798
29114
|
cycles: (dto.cycles ?? []).map(ResearchCycleResultFromApiToFront),
|
|
29115
|
+
papers: (dto.papers ?? []).map(PaperMetadataFromApiToFront),
|
|
28799
29116
|
totalPapersIngested: dto.total_papers_ingested,
|
|
28800
29117
|
totalFindings: dto.total_findings,
|
|
28801
29118
|
totalContradictions: dto.total_contradictions,
|
|
@@ -28840,7 +29157,9 @@ function EvidenceItemSummaryFromApiToFront(dto) {
|
|
|
28840
29157
|
qualityWeight: dto.quality_weight,
|
|
28841
29158
|
supports: dto.supports,
|
|
28842
29159
|
contribution: dto.contribution,
|
|
28843
|
-
paperDoi: dto.paper_doi ?? null
|
|
29160
|
+
paperDoi: dto.paper_doi ?? null,
|
|
29161
|
+
paperKey: dto.paper_key ?? null,
|
|
29162
|
+
paperTitle: dto.paper_title ?? null
|
|
28844
29163
|
};
|
|
28845
29164
|
}
|
|
28846
29165
|
function ProvenanceStepFromApiToFront(dto) {
|
|
@@ -28851,6 +29170,13 @@ function ProvenanceStepFromApiToFront(dto) {
|
|
|
28851
29170
|
timestamp: dto.timestamp ?? null
|
|
28852
29171
|
};
|
|
28853
29172
|
}
|
|
29173
|
+
function ResiduatedFeatureFromApiToFront(dto) {
|
|
29174
|
+
return {
|
|
29175
|
+
featureName: dto.feature_name,
|
|
29176
|
+
neededSort: dto.needed_sort ?? null,
|
|
29177
|
+
infoGain: dto.info_gain
|
|
29178
|
+
};
|
|
29179
|
+
}
|
|
28854
29180
|
function ResearchFindingFromApiToFront(dto) {
|
|
28855
29181
|
return {
|
|
28856
29182
|
claimId: dto.claim_id,
|
|
@@ -28861,7 +29187,9 @@ function ResearchFindingFromApiToFront(dto) {
|
|
|
28861
29187
|
contradictingEvidence: (dto.contradicting_evidence ?? []).map(EvidenceItemSummaryFromApiToFront),
|
|
28862
29188
|
provenanceChain: (dto.provenance_chain ?? []).map(ProvenanceStepFromApiToFront),
|
|
28863
29189
|
residuated: dto.residuated,
|
|
28864
|
-
residuationReason: dto.residuation_reason ?? null
|
|
29190
|
+
residuationReason: dto.residuation_reason ?? null,
|
|
29191
|
+
residuatedFeatures: (dto.residuated_features ?? []).map(ResiduatedFeatureFromApiToFront),
|
|
29192
|
+
sources: (dto.sources ?? []).map(PaperRefFromApiToFront)
|
|
28865
29193
|
};
|
|
28866
29194
|
}
|
|
28867
29195
|
function ResearchFindingsResponseFromApiToFront(raw) {
|
|
@@ -28889,6 +29217,17 @@ function ResearchGapsResponseFromApiToFront(raw) {
|
|
|
28889
29217
|
total: dto.total
|
|
28890
29218
|
};
|
|
28891
29219
|
}
|
|
29220
|
+
function ContradictionResolutionFromApiToFront(dto) {
|
|
29221
|
+
return {
|
|
29222
|
+
preferredClaimId: dto.preferred_claim_id,
|
|
29223
|
+
dismissedClaimId: dto.dismissed_claim_id,
|
|
29224
|
+
preferredTruthfulness: dto.preferred_truthfulness,
|
|
29225
|
+
dismissedTruthfulness: dto.dismissed_truthfulness,
|
|
29226
|
+
strategy: dto.strategy,
|
|
29227
|
+
confidence: dto.confidence,
|
|
29228
|
+
explanation: dto.explanation
|
|
29229
|
+
};
|
|
29230
|
+
}
|
|
28892
29231
|
function ContradictionFromApiToFront(dto) {
|
|
28893
29232
|
return {
|
|
28894
29233
|
claimAId: dto.claim_a_id,
|
|
@@ -28896,7 +29235,10 @@ function ContradictionFromApiToFront(dto) {
|
|
|
28896
29235
|
statementA: dto.statement_a,
|
|
28897
29236
|
statementB: dto.statement_b,
|
|
28898
29237
|
confidence: dto.confidence,
|
|
28899
|
-
explanation: dto.explanation
|
|
29238
|
+
explanation: dto.explanation,
|
|
29239
|
+
resolution: dto.resolution ? ContradictionResolutionFromApiToFront(dto.resolution) : null,
|
|
29240
|
+
claimASources: (dto.claim_a_sources ?? []).map(PaperRefFromApiToFront),
|
|
29241
|
+
claimBSources: (dto.claim_b_sources ?? []).map(PaperRefFromApiToFront)
|
|
28900
29242
|
};
|
|
28901
29243
|
}
|
|
28902
29244
|
function ResearchContradictionsResponseFromApiToFront(raw) {
|
|
@@ -28917,7 +29259,9 @@ function ResearchStatisticsFromApiToFront(dto) {
|
|
|
28917
29259
|
totalContradictions: dto.total_contradictions,
|
|
28918
29260
|
totalProcessingTimeMs: dto.total_processing_time_ms,
|
|
28919
29261
|
gapsResolved: dto.gaps_resolved,
|
|
28920
|
-
gapsRemaining: dto.gaps_remaining
|
|
29262
|
+
gapsRemaining: dto.gaps_remaining,
|
|
29263
|
+
claimsMerged: dto.claims_merged ?? 0,
|
|
29264
|
+
contradictionsResolved: dto.contradictions_resolved ?? 0
|
|
28921
29265
|
};
|
|
28922
29266
|
}
|
|
28923
29267
|
function ReportVerificationFromApiToFront(dto) {
|
|
@@ -28993,7 +29337,8 @@ function IngestPaperRequestFromFrontToApi(model) {
|
|
|
28993
29337
|
function VerifyClaimRequestFromFrontToApi(model) {
|
|
28994
29338
|
return {
|
|
28995
29339
|
claim_term_id: model.claimTermId,
|
|
28996
|
-
evidence_sort_id: model.evidenceSortId
|
|
29340
|
+
evidence_sort_id: model.evidenceSortId,
|
|
29341
|
+
session_id: model.sessionId
|
|
28997
29342
|
};
|
|
28998
29343
|
}
|
|
28999
29344
|
|
|
@@ -36606,6 +36951,81 @@ var ConnectorsClient = class {
|
|
|
36606
36951
|
}
|
|
36607
36952
|
};
|
|
36608
36953
|
|
|
36954
|
+
// src/normalizers/embeddings.ts
|
|
36955
|
+
function EmbeddingRankRequestFromFrontToApi(model) {
|
|
36956
|
+
return {
|
|
36957
|
+
candidates: model.candidates ?? [],
|
|
36958
|
+
query: model.query
|
|
36959
|
+
};
|
|
36960
|
+
}
|
|
36961
|
+
function EmbeddingRankResponseFromApiToFront(dto) {
|
|
36962
|
+
return {
|
|
36963
|
+
scores: dto.scores ?? []
|
|
36964
|
+
};
|
|
36965
|
+
}
|
|
36966
|
+
|
|
36967
|
+
// src/resources/embeddings.ts
|
|
36968
|
+
var EmbeddingsClient = class {
|
|
36969
|
+
/** @internal */
|
|
36970
|
+
api;
|
|
36971
|
+
/** @internal */
|
|
36972
|
+
constructor(api) {
|
|
36973
|
+
this.api = api;
|
|
36974
|
+
}
|
|
36975
|
+
/**
|
|
36976
|
+
* Score every candidate against the query by embedding cosine similarity.
|
|
36977
|
+
*
|
|
36978
|
+
* @param request - The query and the candidate texts to score against it.
|
|
36979
|
+
* @returns `scores` — one cosine similarity in `[-1, 1]` per candidate,
|
|
36980
|
+
* **index-aligned with `request.candidates`** (index `i` scores
|
|
36981
|
+
* `candidates[i]`) and the same length, so the scores can be zipped straight
|
|
36982
|
+
* back onto whatever was retrieved. Higher is more similar; a candidate
|
|
36983
|
+
* whose text is blank scores `0`.
|
|
36984
|
+
* @throws {BadRequestError} `400` — the query is blank, the candidate list is
|
|
36985
|
+
* over the backend's 512-candidate cap, or the query / a candidate is over
|
|
36986
|
+
* 8192 characters.
|
|
36987
|
+
* @throws {ApiError} `503` when the deployment has **no embedding backend
|
|
36988
|
+
* configured** (or its embedder is unreachable / misconfigured). The SDK
|
|
36989
|
+
* surfaces every 5xx as an `InternalServerError`; read its `status` to tell
|
|
36990
|
+
* `503` (no embedder) from `500` (ranking failed).
|
|
36991
|
+
*
|
|
36992
|
+
* @remarks
|
|
36993
|
+
* Distinguish "no embedder" from "no similarity": a deployment without an
|
|
36994
|
+
* embedding backend answers `503` rather than a fabricated score, precisely so
|
|
36995
|
+
* a caller cannot mistake it for "everything scored 0" and silently rank by
|
|
36996
|
+
* noise. The documented fallback on a `503` is to keep the source order.
|
|
36997
|
+
*
|
|
36998
|
+
* An empty `candidates` list is valid, not an error: it answers `200` with an
|
|
36999
|
+
* empty `scores` array, so a caller that retrieved nothing still gets a
|
|
37000
|
+
* well-formed, index-aligned response.
|
|
37001
|
+
*
|
|
37002
|
+
* A `0` score is absence of signal, not evidence of dissimilarity — it is also
|
|
37003
|
+
* what an orthogonal candidate and a blank candidate both receive.
|
|
37004
|
+
*
|
|
37005
|
+
* @example
|
|
37006
|
+
* ```typescript
|
|
37007
|
+
* const retrieved = [
|
|
37008
|
+
* { id: 'doc-1', text: 'Chaperones assist protein folding in the cytosol.' },
|
|
37009
|
+
* { id: 'doc-2', text: 'Quarterly revenue rose 12% year over year.' },
|
|
37010
|
+
* ];
|
|
37011
|
+
*
|
|
37012
|
+
* const { scores } = await client.embeddings.rank({
|
|
37013
|
+
* query: 'how proteins fold',
|
|
37014
|
+
* candidates: retrieved.map((doc) => doc.text),
|
|
37015
|
+
* });
|
|
37016
|
+
*
|
|
37017
|
+
* // Scores are index-aligned — zip them back onto what was retrieved.
|
|
37018
|
+
* const ranked = retrieved
|
|
37019
|
+
* .map((doc, i) => ({ doc, score: scores[i] }))
|
|
37020
|
+
* .sort((a, b) => b.score - a.score);
|
|
37021
|
+
* ```
|
|
37022
|
+
*/
|
|
37023
|
+
async rank(request) {
|
|
37024
|
+
const response = await this.api.rankEmbeddings(EmbeddingRankRequestFromFrontToApi(request));
|
|
37025
|
+
return EmbeddingRankResponseFromApiToFront(response.data);
|
|
37026
|
+
}
|
|
37027
|
+
};
|
|
37028
|
+
|
|
36609
37029
|
// src/client.ts
|
|
36610
37030
|
var ReasoningLayerClient = class {
|
|
36611
37031
|
/** Sort (type hierarchy) operations. */
|
|
@@ -36792,6 +37212,8 @@ var ReasoningLayerClient = class {
|
|
|
36792
37212
|
speech;
|
|
36793
37213
|
/** External data connectors — register / list / remove / connect / disconnect + OAuth callback. */
|
|
36794
37214
|
connectors;
|
|
37215
|
+
/** Embedding-space ranking — cosine score per candidate against a query, index-aligned. */
|
|
37216
|
+
embeddings;
|
|
36795
37217
|
// ─── Group Caches ─────────────────────────────────────────────────
|
|
36796
37218
|
_core;
|
|
36797
37219
|
_ai;
|
|
@@ -37109,6 +37531,7 @@ var ReasoningLayerClient = class {
|
|
|
37109
37531
|
this.speakers = new SpeakersClient(new Speakers(generatedHttp));
|
|
37110
37532
|
this.speech = new SpeechClient(new Speech(generatedHttp));
|
|
37111
37533
|
this.connectors = new ConnectorsClient(new Connectors(generatedHttp));
|
|
37534
|
+
this.embeddings = new EmbeddingsClient(new Embeddings(generatedHttp));
|
|
37112
37535
|
}
|
|
37113
37536
|
};
|
|
37114
37537
|
|
|
@@ -37392,6 +37815,9 @@ var speech_exports = {};
|
|
|
37392
37815
|
// src/types/connectors.ts
|
|
37393
37816
|
var connectors_exports = {};
|
|
37394
37817
|
|
|
37818
|
+
// src/types/embeddings.ts
|
|
37819
|
+
var embeddings_exports = {};
|
|
37820
|
+
|
|
37395
37821
|
// src/builders/value.ts
|
|
37396
37822
|
var Value = {
|
|
37397
37823
|
/**
|
|
@@ -38431,6 +38857,7 @@ exports.Demo = demo_exports;
|
|
|
38431
38857
|
exports.Discovery = discovery_exports;
|
|
38432
38858
|
exports.DocumentCheck = document_check_exports;
|
|
38433
38859
|
exports.Documents = documents_exports;
|
|
38860
|
+
exports.Embeddings = embeddings_exports;
|
|
38434
38861
|
exports.Execution = execution_exports;
|
|
38435
38862
|
exports.Extract = extract_exports;
|
|
38436
38863
|
exports.Feasibility = feasibility_exports;
|