@kortexya/reasoninglayer 1.20.0 → 1.21.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.cts 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.20.0";
112
+ declare const SDK_VERSION = "1.21.0";
113
113
  /**
114
114
  * Authentication mode for the SDK.
115
115
  *
@@ -4217,6 +4217,17 @@ interface ClearTenantResponse$1 {
4217
4217
  * @min 0
4218
4218
  */
4219
4219
  meta_records_deleted: number;
4220
+ /**
4221
+ * Number of plugin-marketplace install records forgotten for this tenant.
4222
+ *
4223
+ * The durable `plugin_installs` rows are counted by the table sweep; this is
4224
+ * the IN-MEMORY registry's count, reported separately because the two used
4225
+ * to disagree — the sweep deleted the rows while the registry kept serving
4226
+ * the records, so the install listing reported plugins enabled over a
4227
+ * knowledge base that had just been wiped.
4228
+ * @min 0
4229
+ */
4230
+ plugin_installs_deleted?: number;
4220
4231
  /**
4221
4232
  * Number of residuation records deleted
4222
4233
  * @min 0
@@ -14160,6 +14171,15 @@ interface InstallRequest {
14160
14171
  }
14161
14172
  /** Response for `POST /install` (201). */
14162
14173
  interface InstallResponse {
14174
+ /** What is missing from the live contribution, when `degraded`. */
14175
+ degradation?: string | null;
14176
+ /**
14177
+ * Whether the contribution is only PARTIALLY applied to the live view
14178
+ * (issue #154 D). `state` alone cannot say this: a plugin whose sorts the
14179
+ * live lattice rejected, or whose startup replay failed, still reads
14180
+ * `Enabled` while contributing less than it reports — or nothing at all.
14181
+ */
14182
+ degraded?: boolean;
14163
14183
  /** The new install's id. */
14164
14184
  install_id: string;
14165
14185
  /**
@@ -14177,6 +14197,13 @@ interface InstallResponse {
14177
14197
  }
14178
14198
  /** Response for enable/disable (the new lifecycle state). */
14179
14199
  interface InstallStateDto {
14200
+ /** What is missing from the live contribution, when `degraded`. */
14201
+ degradation?: string | null;
14202
+ /**
14203
+ * Whether the contribution is only PARTIALLY applied to the live view
14204
+ * (issue #154 D).
14205
+ */
14206
+ degraded?: boolean;
14180
14207
  /** The install's id. */
14181
14208
  install_id: string;
14182
14209
  /** The lifecycle state after the transition. */
@@ -14184,6 +14211,15 @@ interface InstallStateDto {
14184
14211
  }
14185
14212
  /** One install row in the install-list response. */
14186
14213
  interface InstallSummaryDto {
14214
+ /** What is missing from the live contribution, when `degraded`. */
14215
+ degradation?: string | null;
14216
+ /**
14217
+ * Whether the contribution is only PARTIALLY applied to the live view
14218
+ * (issue #154 B/D) — a sort the live lattice rejected, or a startup replay
14219
+ * that failed. `state` cannot express this: such an install still reads
14220
+ * `Enabled`.
14221
+ */
14222
+ degraded?: boolean;
14187
14223
  /** The install's id. */
14188
14224
  install_id: string;
14189
14225
  /** The installed plugin's id. */
@@ -22787,7 +22823,8 @@ interface SearchSortsMatch {
22787
22823
  /**
22788
22824
  * Hierarchy depth — `0` is a root sort. Always populated: the
22789
22825
  * upstream port (`SortVisualizationPort::search_sorts_by_name`)
22790
- * returns an `i32` directly, with no nullable code path.
22826
+ * returns an `i32` directly, with no nullable code path. A
22827
+ * plugin-contributed match reports its depth in the live tenant lattice.
22791
22828
  * @format int32
22792
22829
  */
22793
22830
  depth: number;
@@ -22796,8 +22833,22 @@ interface SearchSortsMatch {
22796
22833
  * @format uuid
22797
22834
  */
22798
22835
  id: string;
22799
- /** Sort name as stored in PG. */
22836
+ /**
22837
+ * Sort name as stored in PG, or the committed (namespaced) name for a
22838
+ * plugin-contributed sort.
22839
+ */
22800
22840
  name: string;
22841
+ /**
22842
+ * The plugin that contributed this sort (UUID), when the match came from a
22843
+ * marketplace install rather than PG (issue #154 A).
22844
+ * @format uuid
22845
+ */
22846
+ plugin_id?: string | null;
22847
+ /**
22848
+ * The name the plugin author wrote, before namespacing (issue #154 A) —
22849
+ * the form the query matched.
22850
+ */
22851
+ plugin_local_name?: string | null;
22801
22852
  }
22802
22853
  /** Response body for `GET /api/v1/sorts/search`. */
22803
22854
  interface SearchSortsResponse {
@@ -23838,6 +23889,24 @@ interface SortDto$1 {
23838
23889
  origin?: null | SortOriginDto$1;
23839
23890
  /** Parent sort IDs */
23840
23891
  parents: string[];
23892
+ /**
23893
+ * The plugin that contributed this sort (UUID), when a marketplace install
23894
+ * created it (issue #154 A). `None` for every ordinary sort.
23895
+ *
23896
+ * A plugin's sorts are committed under a namespaced `name`
23897
+ * (`plugin:<plugin-uuid>:<local>`) so two plugins never collide. This field
23898
+ * and [`plugin_local_name`](Self::plugin_local_name) are what tie that name
23899
+ * back to its author: without them a reader of a full listing cannot tell
23900
+ * which plugin owns `plugin:642156b2…:signal`, nor what it was called.
23901
+ * @format uuid
23902
+ */
23903
+ plugin_id?: string | null;
23904
+ /**
23905
+ * The name the plugin author wrote, before namespacing (issue #154 A).
23906
+ * `GET /api/v1/sorts/tenant/{id}?name_prefix=…` matches this form as well as
23907
+ * the committed `name`.
23908
+ */
23909
+ plugin_local_name?: string | null;
23841
23910
  /** Lifecycle status */
23842
23911
  status?: null | SortStatusDto$1;
23843
23912
  /**
@@ -28968,6 +29037,25 @@ interface SortDto {
28968
29037
  status?: SortStatusDto | null;
28969
29038
  /** Whether this sort needs human review. */
28970
29039
  needsReview?: boolean;
29040
+ /**
29041
+ * The plugin that contributed this sort, when a marketplace install created
29042
+ * it. `undefined` for every ordinary sort.
29043
+ *
29044
+ * @remarks
29045
+ * A plugin's sorts are committed under a namespaced `name`
29046
+ * (`plugin:<plugin-name>:<local>`) so two plugins never collide on the same
29047
+ * local name. This field and {@link SortDto.pluginLocalName} are what tie
29048
+ * that name back to its author.
29049
+ */
29050
+ pluginId?: string | null;
29051
+ /**
29052
+ * The name the plugin author wrote, before namespacing.
29053
+ *
29054
+ * @remarks
29055
+ * `GET /api/v1/sorts/tenant/{id}?name_prefix=…` matches this form as well as
29056
+ * the committed {@link SortDto.name}.
29057
+ */
29058
+ pluginLocalName?: string | null;
28971
29059
  }
28972
29060
  /**
28973
29061
  * Response wrapper for sort endpoints.
@@ -29821,6 +29909,8 @@ declare class Terms<SecurityDataType = unknown> {
29821
29909
  * @min 0
29822
29910
  */
29823
29911
  offset?: number;
29912
+ /** Only terms of this exact sort; omit for every sort */
29913
+ sort_name?: string;
29824
29914
  }, params?: RequestParams) => Promise<HttpResponse<TermListResponse$1, any>>;
29825
29915
  /**
29826
29916
  * No description
@@ -30768,8 +30858,9 @@ declare class TermsClient {
30768
30858
  }>;
30769
30859
  }): Promise<BulkAddTermsResponse>;
30770
30860
  /**
30771
- * List all terms for the authenticated tenant.
30861
+ * List terms for the authenticated tenant.
30772
30862
  *
30863
+ * @param query - Optional paging and sort filter. Omit for every term.
30773
30864
  * @returns The list of terms with total count.
30774
30865
  * @throws {ApiError} If the request fails.
30775
30866
  *
@@ -30778,16 +30869,28 @@ declare class TermsClient {
30778
30869
  * Requires X-Tenant-Id header (set via client configuration).
30779
30870
  * Uses the tagged {@link ValueDto} serialization format.
30780
30871
  *
30872
+ * `sortName` filters on the sort's committed name. For a plugin-contributed
30873
+ * sort that is the namespaced form (`plugin:<plugin-name>:<local>`), which
30874
+ * {@link SortDto.name} carries and {@link SortDto.pluginLocalName} maps back
30875
+ * to the name its author wrote.
30876
+ *
30781
30877
  * @example
30782
30878
  * ```typescript
30783
30879
  * const result = await client.terms.listTerms();
30784
30880
  * console.log(`Found ${result.count} terms`);
30785
- * for (const term of result.terms) {
30786
- * console.log(term.id, term.sortName);
30787
- * }
30881
+ *
30882
+ * // Only the first page of one sort's terms.
30883
+ * const page = await client.terms.listTerms({ sortName: 'person', limit: 50 });
30788
30884
  * ```
30789
30885
  */
30790
- listTerms(): Promise<TermListResponse>;
30886
+ listTerms(query?: {
30887
+ /** Max terms to return; omit for all, hard-capped at 10000. */
30888
+ limit?: number;
30889
+ /** Zero-based index of the first term (default 0). */
30890
+ offset?: number;
30891
+ /** Only terms of this exact sort; omit for every sort. */
30892
+ sortName?: string;
30893
+ }): Promise<TermListResponse>;
30791
30894
  /**
30792
30895
  * Clear all terms for the authenticated tenant.
30793
30896
  *
@@ -54976,6 +55079,15 @@ interface ClearTenantResponse {
54976
55079
  inferenceStateCleared: boolean;
54977
55080
  /** Whether the cache was invalidated. */
54978
55081
  cacheInvalidated: boolean;
55082
+ /**
55083
+ * Number of plugin-marketplace install records forgotten for this tenant.
55084
+ *
55085
+ * @remarks
55086
+ * Reported separately from the persistent table sweep's row count: the
55087
+ * durable rows and the in-memory registry are two stores, and this is the
55088
+ * one the install listing reads.
55089
+ */
55090
+ pluginInstallsDeleted?: number;
54979
55091
  }
54980
55092
  /**
54981
55093
  * Response for the list-tenants endpoint.
@@ -63637,6 +63749,17 @@ interface InstallPluginResponse {
63637
63749
  rulesAdded: number;
63638
63750
  /** The resulting lifecycle state (`"Enabled"` after a successful install). */
63639
63751
  state: string;
63752
+ /**
63753
+ * Whether the contribution is only PARTIALLY applied to the live view.
63754
+ *
63755
+ * @remarks
63756
+ * {@link InstallPluginResponse.state} cannot express this: a plugin whose sorts the live lattice
63757
+ * rejected, or whose startup replay failed, still reads `"Enabled"` while
63758
+ * contributing less than it reports — or nothing at all.
63759
+ */
63760
+ degraded?: boolean;
63761
+ /** What is missing from the live contribution, when {@link InstallPluginResponse.degraded}. */
63762
+ degradation?: string | null;
63640
63763
  }
63641
63764
  /**
63642
63765
  * An install's lifecycle state after an enable/disable transition.
@@ -63652,6 +63775,17 @@ interface InstallState {
63652
63775
  installId: string;
63653
63776
  /** The lifecycle state after the transition. */
63654
63777
  state: string;
63778
+ /**
63779
+ * Whether the contribution is only PARTIALLY applied to the live view.
63780
+ *
63781
+ * @remarks
63782
+ * {@link InstallState.state} cannot express this: a plugin whose sorts the live lattice
63783
+ * rejected, or whose startup replay failed, still reads `"Enabled"` while
63784
+ * contributing less than it reports — or nothing at all.
63785
+ */
63786
+ degraded?: boolean;
63787
+ /** What is missing from the live contribution, when {@link InstallState.degraded}. */
63788
+ degradation?: string | null;
63655
63789
  }
63656
63790
  /**
63657
63791
  * Request to upgrade an install to another published version.
@@ -63711,6 +63845,17 @@ interface InstallSummary {
63711
63845
  state: string;
63712
63846
  /** Whether the install is system-wide (rather than per-tenant). */
63713
63847
  systemWide: boolean;
63848
+ /**
63849
+ * Whether the contribution is only PARTIALLY applied to the live view.
63850
+ *
63851
+ * @remarks
63852
+ * {@link InstallSummary.state} cannot express this: a plugin whose sorts the live lattice
63853
+ * rejected, or whose startup replay failed, still reads `"Enabled"` while
63854
+ * contributing less than it reports — or nothing at all.
63855
+ */
63856
+ degraded?: boolean;
63857
+ /** What is missing from the live contribution, when {@link InstallSummary.degraded}. */
63858
+ degradation?: string | null;
63714
63859
  }
63715
63860
  /**
63716
63861
  * The installs visible in the requested scope.
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.20.0";
112
+ declare const SDK_VERSION = "1.21.0";
113
113
  /**
114
114
  * Authentication mode for the SDK.
115
115
  *
@@ -4217,6 +4217,17 @@ interface ClearTenantResponse$1 {
4217
4217
  * @min 0
4218
4218
  */
4219
4219
  meta_records_deleted: number;
4220
+ /**
4221
+ * Number of plugin-marketplace install records forgotten for this tenant.
4222
+ *
4223
+ * The durable `plugin_installs` rows are counted by the table sweep; this is
4224
+ * the IN-MEMORY registry's count, reported separately because the two used
4225
+ * to disagree — the sweep deleted the rows while the registry kept serving
4226
+ * the records, so the install listing reported plugins enabled over a
4227
+ * knowledge base that had just been wiped.
4228
+ * @min 0
4229
+ */
4230
+ plugin_installs_deleted?: number;
4220
4231
  /**
4221
4232
  * Number of residuation records deleted
4222
4233
  * @min 0
@@ -14160,6 +14171,15 @@ interface InstallRequest {
14160
14171
  }
14161
14172
  /** Response for `POST /install` (201). */
14162
14173
  interface InstallResponse {
14174
+ /** What is missing from the live contribution, when `degraded`. */
14175
+ degradation?: string | null;
14176
+ /**
14177
+ * Whether the contribution is only PARTIALLY applied to the live view
14178
+ * (issue #154 D). `state` alone cannot say this: a plugin whose sorts the
14179
+ * live lattice rejected, or whose startup replay failed, still reads
14180
+ * `Enabled` while contributing less than it reports — or nothing at all.
14181
+ */
14182
+ degraded?: boolean;
14163
14183
  /** The new install's id. */
14164
14184
  install_id: string;
14165
14185
  /**
@@ -14177,6 +14197,13 @@ interface InstallResponse {
14177
14197
  }
14178
14198
  /** Response for enable/disable (the new lifecycle state). */
14179
14199
  interface InstallStateDto {
14200
+ /** What is missing from the live contribution, when `degraded`. */
14201
+ degradation?: string | null;
14202
+ /**
14203
+ * Whether the contribution is only PARTIALLY applied to the live view
14204
+ * (issue #154 D).
14205
+ */
14206
+ degraded?: boolean;
14180
14207
  /** The install's id. */
14181
14208
  install_id: string;
14182
14209
  /** The lifecycle state after the transition. */
@@ -14184,6 +14211,15 @@ interface InstallStateDto {
14184
14211
  }
14185
14212
  /** One install row in the install-list response. */
14186
14213
  interface InstallSummaryDto {
14214
+ /** What is missing from the live contribution, when `degraded`. */
14215
+ degradation?: string | null;
14216
+ /**
14217
+ * Whether the contribution is only PARTIALLY applied to the live view
14218
+ * (issue #154 B/D) — a sort the live lattice rejected, or a startup replay
14219
+ * that failed. `state` cannot express this: such an install still reads
14220
+ * `Enabled`.
14221
+ */
14222
+ degraded?: boolean;
14187
14223
  /** The install's id. */
14188
14224
  install_id: string;
14189
14225
  /** The installed plugin's id. */
@@ -22787,7 +22823,8 @@ interface SearchSortsMatch {
22787
22823
  /**
22788
22824
  * Hierarchy depth — `0` is a root sort. Always populated: the
22789
22825
  * upstream port (`SortVisualizationPort::search_sorts_by_name`)
22790
- * returns an `i32` directly, with no nullable code path.
22826
+ * returns an `i32` directly, with no nullable code path. A
22827
+ * plugin-contributed match reports its depth in the live tenant lattice.
22791
22828
  * @format int32
22792
22829
  */
22793
22830
  depth: number;
@@ -22796,8 +22833,22 @@ interface SearchSortsMatch {
22796
22833
  * @format uuid
22797
22834
  */
22798
22835
  id: string;
22799
- /** Sort name as stored in PG. */
22836
+ /**
22837
+ * Sort name as stored in PG, or the committed (namespaced) name for a
22838
+ * plugin-contributed sort.
22839
+ */
22800
22840
  name: string;
22841
+ /**
22842
+ * The plugin that contributed this sort (UUID), when the match came from a
22843
+ * marketplace install rather than PG (issue #154 A).
22844
+ * @format uuid
22845
+ */
22846
+ plugin_id?: string | null;
22847
+ /**
22848
+ * The name the plugin author wrote, before namespacing (issue #154 A) —
22849
+ * the form the query matched.
22850
+ */
22851
+ plugin_local_name?: string | null;
22801
22852
  }
22802
22853
  /** Response body for `GET /api/v1/sorts/search`. */
22803
22854
  interface SearchSortsResponse {
@@ -23838,6 +23889,24 @@ interface SortDto$1 {
23838
23889
  origin?: null | SortOriginDto$1;
23839
23890
  /** Parent sort IDs */
23840
23891
  parents: string[];
23892
+ /**
23893
+ * The plugin that contributed this sort (UUID), when a marketplace install
23894
+ * created it (issue #154 A). `None` for every ordinary sort.
23895
+ *
23896
+ * A plugin's sorts are committed under a namespaced `name`
23897
+ * (`plugin:<plugin-uuid>:<local>`) so two plugins never collide. This field
23898
+ * and [`plugin_local_name`](Self::plugin_local_name) are what tie that name
23899
+ * back to its author: without them a reader of a full listing cannot tell
23900
+ * which plugin owns `plugin:642156b2…:signal`, nor what it was called.
23901
+ * @format uuid
23902
+ */
23903
+ plugin_id?: string | null;
23904
+ /**
23905
+ * The name the plugin author wrote, before namespacing (issue #154 A).
23906
+ * `GET /api/v1/sorts/tenant/{id}?name_prefix=…` matches this form as well as
23907
+ * the committed `name`.
23908
+ */
23909
+ plugin_local_name?: string | null;
23841
23910
  /** Lifecycle status */
23842
23911
  status?: null | SortStatusDto$1;
23843
23912
  /**
@@ -28968,6 +29037,25 @@ interface SortDto {
28968
29037
  status?: SortStatusDto | null;
28969
29038
  /** Whether this sort needs human review. */
28970
29039
  needsReview?: boolean;
29040
+ /**
29041
+ * The plugin that contributed this sort, when a marketplace install created
29042
+ * it. `undefined` for every ordinary sort.
29043
+ *
29044
+ * @remarks
29045
+ * A plugin's sorts are committed under a namespaced `name`
29046
+ * (`plugin:<plugin-name>:<local>`) so two plugins never collide on the same
29047
+ * local name. This field and {@link SortDto.pluginLocalName} are what tie
29048
+ * that name back to its author.
29049
+ */
29050
+ pluginId?: string | null;
29051
+ /**
29052
+ * The name the plugin author wrote, before namespacing.
29053
+ *
29054
+ * @remarks
29055
+ * `GET /api/v1/sorts/tenant/{id}?name_prefix=…` matches this form as well as
29056
+ * the committed {@link SortDto.name}.
29057
+ */
29058
+ pluginLocalName?: string | null;
28971
29059
  }
28972
29060
  /**
28973
29061
  * Response wrapper for sort endpoints.
@@ -29821,6 +29909,8 @@ declare class Terms<SecurityDataType = unknown> {
29821
29909
  * @min 0
29822
29910
  */
29823
29911
  offset?: number;
29912
+ /** Only terms of this exact sort; omit for every sort */
29913
+ sort_name?: string;
29824
29914
  }, params?: RequestParams) => Promise<HttpResponse<TermListResponse$1, any>>;
29825
29915
  /**
29826
29916
  * No description
@@ -30768,8 +30858,9 @@ declare class TermsClient {
30768
30858
  }>;
30769
30859
  }): Promise<BulkAddTermsResponse>;
30770
30860
  /**
30771
- * List all terms for the authenticated tenant.
30861
+ * List terms for the authenticated tenant.
30772
30862
  *
30863
+ * @param query - Optional paging and sort filter. Omit for every term.
30773
30864
  * @returns The list of terms with total count.
30774
30865
  * @throws {ApiError} If the request fails.
30775
30866
  *
@@ -30778,16 +30869,28 @@ declare class TermsClient {
30778
30869
  * Requires X-Tenant-Id header (set via client configuration).
30779
30870
  * Uses the tagged {@link ValueDto} serialization format.
30780
30871
  *
30872
+ * `sortName` filters on the sort's committed name. For a plugin-contributed
30873
+ * sort that is the namespaced form (`plugin:<plugin-name>:<local>`), which
30874
+ * {@link SortDto.name} carries and {@link SortDto.pluginLocalName} maps back
30875
+ * to the name its author wrote.
30876
+ *
30781
30877
  * @example
30782
30878
  * ```typescript
30783
30879
  * const result = await client.terms.listTerms();
30784
30880
  * console.log(`Found ${result.count} terms`);
30785
- * for (const term of result.terms) {
30786
- * console.log(term.id, term.sortName);
30787
- * }
30881
+ *
30882
+ * // Only the first page of one sort's terms.
30883
+ * const page = await client.terms.listTerms({ sortName: 'person', limit: 50 });
30788
30884
  * ```
30789
30885
  */
30790
- listTerms(): Promise<TermListResponse>;
30886
+ listTerms(query?: {
30887
+ /** Max terms to return; omit for all, hard-capped at 10000. */
30888
+ limit?: number;
30889
+ /** Zero-based index of the first term (default 0). */
30890
+ offset?: number;
30891
+ /** Only terms of this exact sort; omit for every sort. */
30892
+ sortName?: string;
30893
+ }): Promise<TermListResponse>;
30791
30894
  /**
30792
30895
  * Clear all terms for the authenticated tenant.
30793
30896
  *
@@ -54976,6 +55079,15 @@ interface ClearTenantResponse {
54976
55079
  inferenceStateCleared: boolean;
54977
55080
  /** Whether the cache was invalidated. */
54978
55081
  cacheInvalidated: boolean;
55082
+ /**
55083
+ * Number of plugin-marketplace install records forgotten for this tenant.
55084
+ *
55085
+ * @remarks
55086
+ * Reported separately from the persistent table sweep's row count: the
55087
+ * durable rows and the in-memory registry are two stores, and this is the
55088
+ * one the install listing reads.
55089
+ */
55090
+ pluginInstallsDeleted?: number;
54979
55091
  }
54980
55092
  /**
54981
55093
  * Response for the list-tenants endpoint.
@@ -63637,6 +63749,17 @@ interface InstallPluginResponse {
63637
63749
  rulesAdded: number;
63638
63750
  /** The resulting lifecycle state (`"Enabled"` after a successful install). */
63639
63751
  state: string;
63752
+ /**
63753
+ * Whether the contribution is only PARTIALLY applied to the live view.
63754
+ *
63755
+ * @remarks
63756
+ * {@link InstallPluginResponse.state} cannot express this: a plugin whose sorts the live lattice
63757
+ * rejected, or whose startup replay failed, still reads `"Enabled"` while
63758
+ * contributing less than it reports — or nothing at all.
63759
+ */
63760
+ degraded?: boolean;
63761
+ /** What is missing from the live contribution, when {@link InstallPluginResponse.degraded}. */
63762
+ degradation?: string | null;
63640
63763
  }
63641
63764
  /**
63642
63765
  * An install's lifecycle state after an enable/disable transition.
@@ -63652,6 +63775,17 @@ interface InstallState {
63652
63775
  installId: string;
63653
63776
  /** The lifecycle state after the transition. */
63654
63777
  state: string;
63778
+ /**
63779
+ * Whether the contribution is only PARTIALLY applied to the live view.
63780
+ *
63781
+ * @remarks
63782
+ * {@link InstallState.state} cannot express this: a plugin whose sorts the live lattice
63783
+ * rejected, or whose startup replay failed, still reads `"Enabled"` while
63784
+ * contributing less than it reports — or nothing at all.
63785
+ */
63786
+ degraded?: boolean;
63787
+ /** What is missing from the live contribution, when {@link InstallState.degraded}. */
63788
+ degradation?: string | null;
63655
63789
  }
63656
63790
  /**
63657
63791
  * Request to upgrade an install to another published version.
@@ -63711,6 +63845,17 @@ interface InstallSummary {
63711
63845
  state: string;
63712
63846
  /** Whether the install is system-wide (rather than per-tenant). */
63713
63847
  systemWide: boolean;
63848
+ /**
63849
+ * Whether the contribution is only PARTIALLY applied to the live view.
63850
+ *
63851
+ * @remarks
63852
+ * {@link InstallSummary.state} cannot express this: a plugin whose sorts the live lattice
63853
+ * rejected, or whose startup replay failed, still reads `"Enabled"` while
63854
+ * contributing less than it reports — or nothing at all.
63855
+ */
63856
+ degraded?: boolean;
63857
+ /** What is missing from the live contribution, when {@link InstallSummary.degraded}. */
63858
+ degradation?: string | null;
63714
63859
  }
63715
63860
  /**
63716
63861
  * The installs visible in the requested scope.
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ var __export = (target, all) => {
5
5
  };
6
6
 
7
7
  // src/config.ts
8
- var SDK_VERSION = "1.20.0";
8
+ var SDK_VERSION = "1.21.0";
9
9
  function resolveConfig(config) {
10
10
  if (!config.baseUrl) {
11
11
  throw new Error("ClientConfig.baseUrl is required");
@@ -12255,7 +12255,9 @@ function SortDtoFromApiToFront(dto) {
12255
12255
  description: dto.description ?? void 0,
12256
12256
  origin: dto.origin ? SortOriginDtoFromApiToFront(dto.origin) : void 0,
12257
12257
  status: dto.status ? SortStatusDtoFromApiToFront(dto.status) : void 0,
12258
- needsReview: dto.needs_review
12258
+ needsReview: dto.needs_review,
12259
+ pluginId: dto.plugin_id ?? void 0,
12260
+ pluginLocalName: dto.plugin_local_name ?? void 0
12259
12261
  };
12260
12262
  }
12261
12263
  function SortInfoDtoFromApiToFront(dto) {
@@ -13386,8 +13388,9 @@ var TermsClient = class {
13386
13388
  return BulkAddTermsResponseFromApiToFront(response.data);
13387
13389
  }
13388
13390
  /**
13389
- * List all terms for the authenticated tenant.
13391
+ * List terms for the authenticated tenant.
13390
13392
  *
13393
+ * @param query - Optional paging and sort filter. Omit for every term.
13391
13394
  * @returns The list of terms with total count.
13392
13395
  * @throws {ApiError} If the request fails.
13393
13396
  *
@@ -13396,17 +13399,24 @@ var TermsClient = class {
13396
13399
  * Requires X-Tenant-Id header (set via client configuration).
13397
13400
  * Uses the tagged {@link ValueDto} serialization format.
13398
13401
  *
13402
+ * `sortName` filters on the sort's committed name. For a plugin-contributed
13403
+ * sort that is the namespaced form (`plugin:<plugin-name>:<local>`), which
13404
+ * {@link SortDto.name} carries and {@link SortDto.pluginLocalName} maps back
13405
+ * to the name its author wrote.
13406
+ *
13399
13407
  * @example
13400
13408
  * ```typescript
13401
13409
  * const result = await client.terms.listTerms();
13402
13410
  * console.log(`Found ${result.count} terms`);
13403
- * for (const term of result.terms) {
13404
- * console.log(term.id, term.sortName);
13405
- * }
13411
+ *
13412
+ * // Only the first page of one sort's terms.
13413
+ * const page = await client.terms.listTerms({ sortName: 'person', limit: 50 });
13406
13414
  * ```
13407
13415
  */
13408
- async listTerms() {
13409
- const response = await this.api.listTerms();
13416
+ async listTerms(query) {
13417
+ const response = await this.api.listTerms(
13418
+ query ? { limit: query.limit, offset: query.offset, sort_name: query.sortName } : void 0
13419
+ );
13410
13420
  return TermListResponseFromApiToFront(response.data);
13411
13421
  }
13412
13422
  /**
@@ -27025,7 +27035,8 @@ function ClearTenantResponseFromApiToFront(dto) {
27025
27035
  fingerprintsDeleted: dto.fingerprints_deleted,
27026
27036
  sortsDeleted: dto.sorts_deleted,
27027
27037
  inferenceStateCleared: dto.inference_state_cleared,
27028
- cacheInvalidated: dto.cache_invalidated
27038
+ cacheInvalidated: dto.cache_invalidated,
27039
+ pluginInstallsDeleted: dto.plugin_installs_deleted
27029
27040
  };
27030
27041
  }
27031
27042
  function TenantInfoFromApiToFront(dto) {
@@ -32407,13 +32418,17 @@ function InstallPluginResponseFromApiToFront(dto) {
32407
32418
  installId: dto.install_id,
32408
32419
  sortsAdded: dto.sorts_added,
32409
32420
  rulesAdded: dto.rules_added,
32410
- state: dto.state
32421
+ state: dto.state,
32422
+ degraded: dto.degraded,
32423
+ degradation: dto.degradation ?? void 0
32411
32424
  };
32412
32425
  }
32413
32426
  function InstallStateFromApiToFront(dto) {
32414
32427
  return {
32415
32428
  installId: dto.install_id,
32416
- state: dto.state
32429
+ state: dto.state,
32430
+ degraded: dto.degraded,
32431
+ degradation: dto.degradation ?? void 0
32417
32432
  };
32418
32433
  }
32419
32434
  function UpgradeInstallRequestFromFrontToApi(model) {
@@ -32437,7 +32452,9 @@ function InstallSummaryFromApiToFront(dto) {
32437
32452
  pluginId: dto.plugin_id,
32438
32453
  version: dto.version,
32439
32454
  state: dto.state,
32440
- systemWide: dto.system_wide
32455
+ systemWide: dto.system_wide,
32456
+ degraded: dto.degraded,
32457
+ degradation: dto.degradation ?? void 0
32441
32458
  };
32442
32459
  }
32443
32460
  function InstallListFromApiToFront(dto) {