@openbkn/bkn-sdk 0.1.1-alpha.13 → 0.1.1-alpha.15

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/LICENSE CHANGED
@@ -1,201 +1,132 @@
1
- Apache License
2
- Version 2.0, January 2004
3
- http://www.apache.org/licenses/
4
-
5
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
-
7
- 1. Definitions.
8
-
9
- "License" shall mean the terms and conditions for use, reproduction,
10
- and distribution as defined by Sections 1 through 9 of this document.
11
-
12
- "Licensor" shall mean the copyright owner or entity authorized by
13
- the copyright owner that is granting the License.
14
-
15
- "Legal Entity" shall mean the union of the acting entity and all
16
- other entities that control, are controlled by, or are under common
17
- control with that entity. For the purposes of this definition,
18
- "control" means (i) the power, direct or indirect, to cause the
19
- direction or management of such entity, whether by contract or
20
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
- outstanding shares, or (iii) beneficial ownership of such entity.
22
-
23
- "You" (or "Your") shall mean an individual or Legal Entity
24
- exercising permissions granted by this License.
25
-
26
- "Source" form shall mean the preferred form for making modifications,
27
- including but not limited to software source code, documentation
28
- source, and configuration files.
29
-
30
- "Object" form shall mean any form resulting from mechanical
31
- transformation or translation of a Source form, including but
32
- not limited to compiled object code, generated documentation,
33
- and conversions to other media types.
34
-
35
- "Work" shall mean the work of authorship, whether in Source or
36
- Object form, made available under the License, as indicated by a
37
- copyright notice that is included in or attached to the work
38
- (an example is provided in the Appendix below).
39
-
40
- "Derivative Works" shall mean any work, whether in Source or Object
41
- form, that is based on (or derived from) the Work and for which the
42
- editorial revisions, annotations, elaborations, or other modifications
43
- represent, as a whole, an original work of authorship. For the purposes
44
- of this License, Derivative Works shall not include works that remain
45
- separable from, or merely link (or bind by name) to the interfaces of,
46
- the Work and Derivative Works thereof.
47
-
48
- "Contribution" shall mean any work of authorship, including
49
- the original version of the Work and any modifications or additions
50
- to that Work or Derivative Works thereof, that is intentionally
51
- submitted to Licensor for inclusion in the Work by the copyright owner
52
- or by an individual or Legal Entity authorized to submit on behalf of
53
- the copyright owner. For the purposes of this definition, "submitted"
54
- means any form of electronic, verbal, or written communication sent
55
- to the Licensor or its representatives, including but not limited to
56
- communication on electronic mailing lists, source code control systems,
57
- and issue tracking systems that are managed by, or on behalf of, the
58
- Licensor for the purpose of discussing and improving the Work, but
59
- excluding communication that is conspicuously marked or otherwise
60
- designated in writing by the copyright owner as "Not a Contribution."
61
-
62
- "Contributor" shall mean Licensor and any individual or Legal Entity
63
- on behalf of whom a Contribution has been received by Licensor and
64
- subsequently incorporated within the Work.
65
-
66
- 2. Grant of Copyright License. Subject to the terms and conditions of
67
- this License, each Contributor hereby grants to You a perpetual,
68
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
- copyright license to reproduce, prepare Derivative Works of,
70
- publicly display, publicly perform, sublicense, and distribute the
71
- Work and such Derivative Works in Source or Object form.
72
-
73
- 3. Grant of Patent License. Subject to the terms and conditions of
74
- this License, each Contributor hereby grants to You a perpetual,
75
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
- (except as stated in this section) patent license to make, have made,
77
- use, offer to sell, sell, import, and otherwise transfer the Work,
78
- where such license applies only to those patent claims licensable
79
- by such Contributor that are necessarily infringed by their
80
- Contribution(s) alone or by combination of their Contribution(s)
81
- with the Work to which such Contribution(s) was submitted. If You
82
- institute patent litigation against any entity (including a
83
- cross-claim or counterclaim in a lawsuit) alleging that the Work
84
- or a Contribution incorporated within the Work constitutes direct
85
- or contributory patent infringement, then any patent licenses
86
- granted to You under this License for that Work shall terminate
87
- as of the date such litigation is filed.
88
-
89
- 4. Redistribution. You may reproduce and distribute copies of the
90
- Work or Derivative Works thereof in any medium, with or without
91
- modifications, and in Source or Object form, provided that You
92
- meet the following conditions:
93
-
94
- (a) You must give any other recipients of the Work or
95
- Derivative Works a copy of this License; and
96
-
97
- (b) You must cause any modified files to carry prominent notices
98
- stating that You changed the files; and
99
-
100
- (c) You must retain, in the Source form of any Derivative Works
101
- that You distribute, all copyright, patent, trademark, and
102
- attribution notices from the Source form of the Work,
103
- excluding those notices that do not pertain to any part of
104
- the Derivative Works; and
105
-
106
- (d) If the Work includes a "NOTICE" text file as part of its
107
- distribution, then any Derivative Works that You distribute must
108
- include a readable copy of the attribution notices contained
109
- within such NOTICE file, excluding those notices that do not
110
- pertain to any part of the Derivative Works, in at least one
111
- of the following places: within a NOTICE text file distributed
112
- as part of the Derivative Works; within the Source form or
113
- documentation, if provided along with the Derivative Works; or,
114
- within a display generated by the Derivative Works, if and
115
- wherever such third-party notices normally appear. The contents
116
- of the NOTICE file are for informational purposes only and
117
- do not modify the License. You may add Your own attribution
118
- notices within Derivative Works that You distribute, alongside
119
- or as an addendum to the NOTICE text from the Work, provided
120
- that such additional attribution notices cannot be construed
121
- as modifying the License.
122
-
123
- You may add Your own copyright statement to Your modifications and
124
- may provide additional or different license terms and conditions
125
- for use, reproduction, or distribution of Your modifications, or
126
- for any such Derivative Works as a whole, provided Your use,
127
- reproduction, and distribution of the Work otherwise complies with
128
- the conditions stated in this License.
129
-
130
- 5. Submission of Contributions. Unless You explicitly state otherwise,
131
- any Contribution intentionally submitted for inclusion in the Work
132
- by You to the Licensor shall be under the terms and conditions of
133
- this License, without any additional terms or conditions.
134
- Notwithstanding the above, nothing herein shall supersede or modify
135
- the terms of any separate license agreement you may have executed
136
- with Licensor regarding such Contributions.
137
-
138
- 6. Trademarks. This License does not grant permission to use the trade
139
- names, trademarks, service marks, or product names of the Licensor,
140
- except as required for reasonable and customary use in describing the
141
- origin of the Work and reproducing the content of the NOTICE file.
142
-
143
- 7. Disclaimer of Warranty. Unless required by applicable law or
144
- agreed to in writing, Licensor provides the Work (and each
145
- Contributor provides its Contributions) on an "AS IS" BASIS,
146
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
- implied, including, without limitation, any warranties or conditions
148
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
- PARTICULAR PURPOSE. You are solely responsible for determining the
150
- appropriateness of using or redistributing the Work and assume any
151
- risks associated with Your exercise of permissions under this License.
152
-
153
- 8. Limitation of Liability. In no event and under no legal theory,
154
- whether in tort (including negligence), contract, or otherwise,
155
- unless required by applicable law (such as deliberate and grossly
156
- negligent acts) or agreed to in writing, shall any Contributor be
157
- liable to You for damages, including any direct, indirect, special,
158
- incidental, or consequential damages of any character arising as a
159
- result of this License or out of the use or inability to use the
160
- Work (including but not limited to damages for loss of goodwill,
161
- work stoppage, computer failure or malfunction, or any and all
162
- other commercial damages or losses), even if such Contributor
163
- has been advised of the possibility of such damages.
164
-
165
- 9. Accepting Warranty or Additional Liability. While redistributing
166
- the Work or Derivative Works thereof, You may choose to offer,
167
- and charge a fee for, acceptance of support, warranty, indemnity,
168
- or other liability obligations and/or rights consistent with this
169
- License. However, in accepting such obligations, You may act only
170
- on Your own behalf and on Your sole responsibility, not on behalf
171
- of any other Contributor, and only if You agree to indemnify,
172
- defend, and hold each Contributor harmless for any liability
173
- incurred by, or claims asserted against, such Contributor by reason
174
- of your accepting any such warranty or additional liability.
175
-
176
- END OF TERMS AND CONDITIONS
177
-
178
- APPENDIX: How to apply the Apache License to your work.
179
-
180
- To apply the Apache License to your work, attach the following
181
- boilerplate notice, with the fields enclosed by brackets "[]"
182
- replaced with your own identifying information. (Don't include
183
- the brackets!) The text should be enclosed in the appropriate
184
- comment syntax for the file format. We also recommend that a
185
- file or class name and description of purpose be included on the
186
- same "printed page" as the copyright notice for easier
187
- identification within third-party archives.
188
-
189
- Copyright [yyyy] [name of copyright owner]
190
-
191
- Licensed under the Apache License, Version 2.0 (the "License");
192
- you may not use this file except in compliance with the License.
193
- You may obtain a copy of the License at
194
-
195
- http://www.apache.org/licenses/LICENSE-2.0
196
-
197
- Unless required by applicable law or agreed to in writing, software
198
- distributed under the License is distributed on an "AS IS" BASIS,
199
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
- See the License for the specific language governing permissions and
201
- limitations under the License.
1
+ OpenBKN License
2
+
3
+ BKN SDK is part of the OpenBKN project and is licensed under the
4
+ OpenBKN License — a modified version of the Apache License, Version 2.0,
5
+ with the following additional conditions.
6
+
7
+ Copyright (c) 2026 OpenBKN. All rights reserved.
8
+
9
+ ================================================================
10
+ PREAMBLE
11
+ ================================================================
12
+
13
+ This license applies only to the OpenBKN modules that expressly
14
+ reference this file in their source headers (the "Licensed Modules"),
15
+ including but not limited to BKN Safe and BKN SDK.
16
+
17
+ The Licensed Modules are licensed under the terms of the Apache
18
+ License, Version 2.0 (the "Apache License"), the full text of which is
19
+ available at http://www.apache.org/licenses/LICENSE-2.0, as modified and
20
+ supplemented by the Additional Conditions set out below.
21
+
22
+ In the event of any conflict between the Additional Conditions and the
23
+ Apache License, the Additional Conditions shall control with respect to
24
+ the Licensed Modules.
25
+
26
+ This license does not apply to:
27
+ (a) components that originate from the upstream project
28
+ kweaver-ai/kweaver-core, which remain licensed solely under the
29
+ Apache License, Version 2.0, with their original copyright
30
+ notices preserved; nor
31
+ (b) OpenBKN components expressly licensed under the plain Apache
32
+ License, Version 2.0 (e.g., BKN SDK / CLI and BKN Skill).
33
+ See the NOTICE file for the per-component breakdown.
34
+
35
+ ================================================================
36
+ ADDITIONAL CONDITIONS
37
+ ================================================================
38
+
39
+ 1. Commercial Use.
40
+
41
+ The Licensed Modules may be used for commercial purposes, including
42
+ as a component within your own application or business. However, a
43
+ separate commercial license must be obtained from OpenBKN if any
44
+ of the following conditions applies:
45
+
46
+ a. Service Restriction. You may not, without prior written
47
+ authorization from OpenBKN, use the source code of the Licensed
48
+ Modules to provide to third parties a hosted service, a managed
49
+ or operated service, or any service that is the same as or
50
+ substantially similar to the official services offered by
51
+ OpenBKN. For the purposes of this license, "providing a
52
+ service to third parties" means making the substantial features
53
+ or functionality of the Licensed Modules available to parties
54
+ other than your own organization, whether for a fee or free of
55
+ charge, including by means of hosting, operation, deployment, or
56
+ integration carried out on their behalf as a commercial activity.
57
+
58
+ b. Multi-Tenant Restriction. Where applicable, you may not use the
59
+ Licensed Modules to operate a multi-tenant service environment in
60
+ which separate third-party tenants are provided with isolated
61
+ access to the Licensed Modules' features or functionality.
62
+
63
+ 2. Logo and Copyright Notices.
64
+
65
+ When using the front end or console of the Licensed Modules, you may
66
+ not remove or modify the OpenBKN logo, trademarks, or copyright and
67
+ licensing notices displayed therein. This condition does not apply
68
+ to uses of the Licensed Modules that do not involve their front end
69
+ or console.
70
+
71
+ 3. Contributions.
72
+
73
+ Code that you contribute to the Licensed Modules may be used by
74
+ OpenBKN for any purpose, including commercial purposes and
75
+ OpenBKN's cloud or hosted business, and may be licensed by
76
+ OpenBKN under any terms. By submitting a contribution, you
77
+ represent that you have the right to grant, and you grant to
78
+ OpenBKN, a perpetual, worldwide, non-exclusive, royalty-free,
79
+ irrevocable license to use, reproduce, modify, distribute, and
80
+ relicense your contribution for such purposes.
81
+
82
+ 4. Adjustment of Terms.
83
+
84
+ OpenBKN may adjust the terms of this license, making them either
85
+ more or less restrictive, for future versions of the Licensed
86
+ Modules. Any such adjustment applies only to versions released after
87
+ the adjustment; it does not retroactively alter the terms applicable
88
+ to versions already released.
89
+
90
+ 5. Trademarks.
91
+
92
+ This license does not grant you any right to use the trade names,
93
+ trademarks, service marks, or product names of OpenBKN, except as
94
+ required by Section 2 above or for the reasonable and customary use
95
+ in describing the origin of the Licensed Modules.
96
+
97
+ 6. Effect of Apache License.
98
+
99
+ Except as expressly modified or supplemented by the Additional
100
+ Conditions above, all other rights granted and conditions imposed by
101
+ the Apache License, Version 2.0 (including its disclaimers of
102
+ warranty and limitations of liability) continue to apply to the
103
+ Licensed Modules. Nothing in the Additional Conditions shall be
104
+ construed as restricting the rights of any party under the Apache
105
+ License, Version 2.0 with respect to code that is not part of the
106
+ Licensed Modules.
107
+
108
+ 7. Termination.
109
+
110
+ Any use of the Licensed Modules in violation of the Additional
111
+ Conditions above automatically terminates the additional rights
112
+ granted to you under this license for the Licensed Modules. To
113
+ continue, you must either bring your use into compliance, obtain a
114
+ commercial license from OpenBKN, or cease using the Licensed
115
+ Modules.
116
+
117
+ ================================================================
118
+ COMMERCIAL LICENSING
119
+ ================================================================
120
+
121
+ For commercial licensing inquiries (including authorization to provide
122
+ services, operate multi-tenant environments, or other uses requiring a
123
+ commercial license), contact: <CONTACT EMAIL / URL>
124
+
125
+ ================================================================
126
+ DISCLAIMER
127
+ ================================================================
128
+
129
+ THE LICENSED MODULES ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT
130
+ WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, TO THE
131
+ FULLEST EXTENT PERMITTED BY APPLICABLE LAW, AS SET OUT IN THE APACHE
132
+ LICENSE, VERSION 2.0.
package/README.md CHANGED
@@ -2,15 +2,14 @@
2
2
 
3
3
  Unified TypeScript SDK + CLI for the **BKN** (Business Knowledge Network) platform.
4
4
  One toolkit, two surfaces: the importable SDK and the `openbkn` CLI — both backed
5
- by the same domain logic. A slim rewrite of the legacy `kweaver-sdk` +
6
- `kweaver-admin`, merged into one package (the operator CLI lives under
7
- `openbkn admin`). Backend-only; no web UI.
8
-
9
- > Status: every legacy command/subcommand is implemented and full-depth
10
- > `--help`-equivalent with `kweaver` / `kweaver-admin` (196/196 parity test).
11
- > Reads + writes across all domains are validated against a live platform; a few
12
- > paths are environment-gated on the test cluster (EACP `change-password`/`audit`
13
- > upstream, physical-catalog `create-from-*`, populated trace index) — see
5
+ by the same domain logic. A single unified CLI for the BKN platform, with the
6
+ operator surface nested under `openbkn admin`. Backend-only; no web UI.
7
+
8
+ > Status: every command/subcommand is implemented and self-consistent, with a
9
+ > full-depth grouped `--help` for every node. Reads + writes across all domains
10
+ > are validated against a live platform; a few paths are environment-gated on the
11
+ > test cluster (EACP `change-password`/`audit` upstream, physical-catalog
12
+ > `create-from-*`, populated trace index) see
14
13
  > `docs/exec-plans/tech-debt-tracker.md`.
15
14
 
16
15
  ## Install
@@ -46,7 +45,7 @@ openbkn model llm list
46
45
  openbkn agent list
47
46
  openbkn agent sessions <agent-key>
48
47
 
49
- # Operator (kweaver-admin, nested)
48
+ # Operator (nested)
50
49
  openbkn admin org list
51
50
  openbkn admin role list
52
51
 
@@ -82,13 +81,13 @@ npm test # vitest (unit; equivalence suite gated by BKN_EQUIV_LIVE)
82
81
  npm run build # tsup → dist/ (library + `openbkn` bin)
83
82
  ```
84
83
 
85
- ## Equivalence with the legacy CLIs
84
+ ## Help system
86
85
 
87
- `openbkn` mirrors the installed `kweaver` / `kweaver-admin` command trees
88
- (`kweaver <x>` `openbkn <x>`, `kweaver-admin <x>` `openbkn admin <x>`).
89
- Golden `--help` baselines and a full-depth parity test live in
90
- `test/equivalence/` — **196/196** commands match (every node exists and its
91
- `--help` covers the legacy flags + arguments). Run live with `BKN_EQUIV_LIVE=1`.
86
+ Every command, subcommand, and sub-subcommand ships a grouped `--help` that
87
+ lists its flags and arguments, so the tree is discoverable end to end. Golden
88
+ `--help` baselines and a full-depth self-consistency test live in
89
+ `test/equivalence/` (every node exists and its `--help` covers its flags +
90
+ arguments). Run live with `BKN_EQUIV_LIVE=1`.
92
91
 
93
92
  ## Agent skill
94
93
 
@@ -99,21 +98,32 @@ command-group map, examples, and cautions) plus per-domain cheat sheets under
99
98
  `references/` (auth, bkn, agent, model, vega, resource, dataflow, context,
100
99
  skill, toolbox, trace, admin, call) and two how-tos (build-a-KN, troubleshooting).
101
100
 
102
- The skill is **not** part of the npm package — it's registered separately:
101
+ A second skill, `skills/create-bkn/`, guides an AI through **authoring** a BKN
102
+ definition tree (`network.bkn` + typed `object_types/` / `relation_types/` /
103
+ `action_types/` / `concept_groups/` files, per the v2.0.1 spec) — with the
104
+ format spec, templates, and a worked example under `references/`. It pairs with
105
+ the `openbkn` skill, which then runs `openbkn bkn validate` / `push` on the
106
+ tree it produced.
107
+
108
+ Neither skill is part of the npm package — they're registered separately:
103
109
 
104
110
  ```bash
105
- # Install the skill (globally), then ask in natural language:
106
- npx skills add openbkn-ai/bkn-sdk@openbkn -g -y
111
+ # Install a skill (globally), then ask in natural language:
112
+ npx skills add openbkn-ai/bkn-sdk@openbkn -g -y # operate the platform
113
+ npx skills add openbkn-ai/bkn-sdk@create-bkn -g -y # author .bkn files
107
114
 
108
115
  # "列出所有知识网络" / "list all knowledge networks"
109
116
  # "从 Vega catalog vcat-1 建一个名为 customers 的知识网络并构建索引"
110
- # "诊断会话 conv-123 trace,带 LLM 判定"
117
+ # "帮我建一个描述订单域的 BKN 知识网络文件" / "author a BKN network for the orders domain"
111
118
  ```
112
119
 
113
- The skill assumes the `openbkn` CLI is installed (`npm i -g @openbkn/bkn-sdk`)
114
- and you are logged in (`openbkn auth login`). It always defers to live
115
- `openbkn <group> <sub> --help` for exact flags.
120
+ The `openbkn` skill assumes the `openbkn` CLI is installed (`npm i -g
121
+ @openbkn/bkn-sdk`) and you are logged in (`openbkn auth login`). It always defers
122
+ to live `openbkn <group> <sub> --help` for exact flags.
116
123
 
117
124
  ## License
118
125
 
119
- Apache-2.0
126
+ BKN SDK is part of the OpenBKN project and is licensed under the **OpenBKN
127
+ License** — a modified version of the Apache License, Version 2.0, with
128
+ additional conditions. See [LICENSE](LICENSE) and [NOTICE](NOTICE). Versions
129
+ previously distributed under Apache-2.0 remain available under that license.
package/README.zh.md CHANGED
@@ -1,9 +1,8 @@
1
1
  # @openbkn/bkn-sdk
2
2
 
3
3
  BKN(Business Knowledge Network)平台的统一 TypeScript SDK + CLI。一套工具、两个入口:
4
- 可 import 的 SDK 与 `openbkn` 命令行——共享同一套领域逻辑。这是对旧版
5
- `kweaver-sdk` + `kweaver-admin` 的精简重写,合并为一个包(运维 CLI 收进
6
- `openbkn admin` 子命令)。纯后端,无 Web UI。
4
+ 可 import 的 SDK 与 `openbkn` 命令行——共享同一套领域逻辑。面向 BKN 平台的
5
+ 统一命令行工具,运维面收进 `openbkn admin` 子命令。纯后端,无 Web UI。
7
6
 
8
7
  > 状态:预发布。各域的读命令已实现并在真实平台上验证;部分写操作与 Trace-AI
9
8
  > 引擎仍在进行中(见 `docs/exec-plans/tech-debt-tracker.md`)。
@@ -40,7 +39,7 @@ openbkn model llm list
40
39
  openbkn agent list
41
40
  openbkn agent sessions <agent-key>
42
41
 
43
- # 运维(kweaver-admin,嵌套)
42
+ # 运维(嵌套)
44
43
  openbkn admin org list
45
44
  openbkn admin role list
46
45
 
@@ -76,13 +75,15 @@ npm test # vitest(单测;等价套件由 BKN_EQUIV_LIVE 控制)
76
75
  npm run build # tsup → dist/(库 + openbkn bin)
77
76
  ```
78
77
 
79
- ## 与旧 CLI 的一致性
78
+ ## 帮助系统
80
79
 
81
- `openbkn` 对齐已安装的 `kweaver` / `kweaver-admin` 命令树
82
- (`kweaver <x>` → `openbkn <x>`,`kweaver-admin <x>` → `openbkn admin <x>`)。
83
- 全深度 `--help` 黄金基线与一致性测试见 `test/equivalence/`
84
- (用 `BKN_EQUIV_LIVE=1` 真机跑)。
80
+ 每个命令、子命令、孙命令都带分组 `--help`,列出各自的参数与位置参数,
81
+ 整棵命令树可端到端发现。全深度 `--help` 黄金基线与自洽性测试见
82
+ `test/equivalence/`(每个节点都存在,其 `--help` 覆盖自身的参数与位置参数;
83
+ `BKN_EQUIV_LIVE=1` 真机跑)。
85
84
 
86
85
  ## 许可证
87
86
 
88
- Apache-2.0
87
+ BKN SDK 是 OpenBKN 项目的一部分,采用 **OpenBKN License** —— Apache License 2.0
88
+ 的修改版,附加若干条件。见 [LICENSE](LICENSE) 与 [NOTICE](NOTICE)。此前以
89
+ Apache-2.0 分发的版本仍按 Apache-2.0 授权。
@@ -3745,6 +3745,23 @@ function deleteModels(ctx, kind, modelIds) {
3745
3745
  function testModel(ctx, kind, body) {
3746
3746
  return request(ctx, `${MANAGER}/${kind}/test`, { method: "POST", body });
3747
3747
  }
3748
+ function setDefaultLlm(ctx, modelId, isDefault = true) {
3749
+ return request(ctx, `${MANAGER}/llm/default/edit`, {
3750
+ method: "POST",
3751
+ body: { model_id: modelId, default: isDefault }
3752
+ });
3753
+ }
3754
+ function setDefaultSmallModel(ctx, modelId, isDefault = true) {
3755
+ return request(ctx, `${MANAGER}/small-model/set-default`, {
3756
+ method: "POST",
3757
+ body: { model_id: modelId, default: isDefault }
3758
+ });
3759
+ }
3760
+ function getDefaultSmallModel(ctx, modelType = "embedding") {
3761
+ return request(ctx, `${MANAGER}/small-model/get_default`, {
3762
+ query: { model_type: modelType }
3763
+ });
3764
+ }
3748
3765
  function rerank(ctx, model, query, documents) {
3749
3766
  return request(ctx, `${API}/small-model/reranker`, {
3750
3767
  method: "POST",
@@ -3763,7 +3780,9 @@ function models(ctx) {
3763
3780
  add: (body) => addModel(ctx, "llm", body),
3764
3781
  edit: (body) => editModel(ctx, "llm", body),
3765
3782
  delete: (modelIds) => deleteModels(ctx, "llm", modelIds),
3766
- test: (body) => testModel(ctx, "llm", body)
3783
+ test: (body) => testModel(ctx, "llm", body),
3784
+ /** Set (or clear) the system default LLM. */
3785
+ setDefault: (modelId, isDefault = true) => setDefaultLlm(ctx, modelId, isDefault)
3767
3786
  },
3768
3787
  small: {
3769
3788
  list: (opts) => listSmallModels(ctx, opts),
@@ -3773,7 +3792,11 @@ function models(ctx) {
3773
3792
  add: (body) => addModel(ctx, "small-model", body),
3774
3793
  edit: (body) => editModel(ctx, "small-model", body),
3775
3794
  delete: (modelIds) => deleteModels(ctx, "small-model", modelIds),
3776
- test: (body) => testModel(ctx, "small-model", body)
3795
+ test: (body) => testModel(ctx, "small-model", body),
3796
+ /** Set (or clear) the system default small model (type inferred from the model). */
3797
+ setDefault: (modelId, isDefault = true) => setDefaultSmallModel(ctx, modelId, isDefault),
3798
+ /** Get the system default small model for a type (default "embedding"). */
3799
+ getDefault: (modelType) => getDefaultSmallModel(ctx, modelType)
3777
3800
  }
3778
3801
  };
3779
3802
  }
@@ -5308,4 +5331,4 @@ export {
5308
5331
  exportCreds,
5309
5332
  auth_exports
5310
5333
  };
5311
- //# sourceMappingURL=chunk-RSX5YMFM.js.map
5334
+ //# sourceMappingURL=chunk-KF3J46WL.js.map