@petercatai/whisker-client 0.1.202512041544 → 0.1.202512291542-dev

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.
Files changed (3) hide show
  1. package/dist/api.d.ts +446 -32
  2. package/dist/api.js +89 -21
  3. package/package.json +4 -4
package/dist/api.d.ts CHANGED
@@ -113,7 +113,9 @@ export declare enum IKnowledgeTypeEnum {
113
113
  Perl = "perl",
114
114
  Haskell = "haskell",
115
115
  Elixir = "elixir",
116
- Powershell = "powershell"
116
+ Powershell = "powershell",
117
+ NodePackage = "node_package",
118
+ NodePackageElement = "node_package_element"
117
119
  }
118
120
  /**
119
121
  * KnowledgeSourceEnum
@@ -127,7 +129,8 @@ export declare enum IKnowledgeSourceEnum {
127
129
  CloudStorageImage = "cloud_storage_image",
128
130
  Yuque = "yuque",
129
131
  YuquePersonalDoc = "yuque_personal_doc",
130
- YuquePersonalNote = "yuque_personal_note"
132
+ YuquePersonalNote = "yuque_personal_note",
133
+ HituNodePackage = "hitu_node_package"
131
134
  }
132
135
  /** Action */
133
136
  export declare enum IAction {
@@ -314,6 +317,129 @@ export interface IActiveStatusUpdate {
314
317
  /** Status */
315
318
  status: boolean;
316
319
  }
320
+ /**
321
+ * AdminTaskRestartRequest
322
+ * 管理员任务重启请求
323
+ */
324
+ export interface IAdminTaskRestartRequest {
325
+ /**
326
+ * Start Time
327
+ * 开始时间 (UTC)
328
+ * @format date-time
329
+ */
330
+ start_time: string;
331
+ /**
332
+ * End Time
333
+ * 结束时间 (UTC)
334
+ * @format date-time
335
+ */
336
+ end_time: string;
337
+ /**
338
+ * Status List
339
+ * 任务状态列表,如 ['failed', 'canceled']
340
+ */
341
+ status_list: ITaskStatus[];
342
+ /**
343
+ * Tenant Id
344
+ * 租户ID(可选)
345
+ */
346
+ tenant_id?: string | null;
347
+ /**
348
+ * Space Id
349
+ * 空间ID(可选)
350
+ */
351
+ space_id?: string | null;
352
+ /**
353
+ * Task Type
354
+ * 任务类型(可选)
355
+ */
356
+ task_type?: string | null;
357
+ /**
358
+ * Dry Run
359
+ * 是否仅预览,不实际重启
360
+ * @default false
361
+ */
362
+ dry_run?: boolean;
363
+ }
364
+ /**
365
+ * AdminTaskRestartResponse
366
+ * 管理员任务重启响应
367
+ */
368
+ export interface IAdminTaskRestartResponse {
369
+ /**
370
+ * Total Matched
371
+ * 匹配的任务总数
372
+ */
373
+ total_matched: number;
374
+ /**
375
+ * Restarted Count
376
+ * 成功重启的任务数
377
+ */
378
+ restarted_count: number;
379
+ /**
380
+ * Task Ids
381
+ * 重启的任务ID列表
382
+ */
383
+ task_ids?: string[];
384
+ }
385
+ /**
386
+ * AdminUpdateSpaceRequest
387
+ * 管理员更新空间信息请求
388
+ */
389
+ export interface IAdminUpdateSpaceRequest {
390
+ /**
391
+ * Space Name
392
+ * 空间名称
393
+ */
394
+ space_name?: string | null;
395
+ /**
396
+ * Description
397
+ * 空间描述
398
+ */
399
+ description?: string | null;
400
+ /**
401
+ * Metadata
402
+ * 元数据
403
+ */
404
+ metadata?: Record<string, any> | null;
405
+ }
406
+ /**
407
+ * AdminUpdateTenantRequest
408
+ * 管理员更新租户信息请求
409
+ */
410
+ export interface IAdminUpdateTenantRequest {
411
+ /**
412
+ * Tenant Name
413
+ * 租户名称
414
+ */
415
+ tenant_name?: string | null;
416
+ /**
417
+ * Email
418
+ * 邮箱
419
+ */
420
+ email?: string | null;
421
+ /**
422
+ * Is Active
423
+ * 是否激活
424
+ */
425
+ is_active?: boolean | null;
426
+ /**
427
+ * Metadata
428
+ * 元数据
429
+ */
430
+ metadata?: Record<string, any> | null;
431
+ }
432
+ /**
433
+ * AdminUpdateTenantSecretKeyRequest
434
+ * 管理员更新租户密钥请求
435
+ */
436
+ export interface IAdminUpdateTenantSecretKeyRequest {
437
+ /**
438
+ * Secret Key
439
+ * 新密钥,格式必须为 sk-xxxx(至少10个字符)
440
+ */
441
+ secret_key: string;
442
+ }
317
443
  /**
318
444
  * ArtifactIndex
319
445
  * whisker_artifact_index 模型
@@ -828,6 +954,21 @@ export interface IEnableStatusUpdate {
828
954
  /** Status */
829
955
  status: boolean;
830
956
  }
957
+ /** FilterFieldsUpdate */
958
+ export interface IFilterFieldsUpdate {
959
+ /** Knowledge Id */
960
+ knowledge_id: string;
961
+ /** F1 */
962
+ f1?: string | null;
963
+ /** F2 */
964
+ f2?: string | null;
965
+ /** F3 */
966
+ f3?: string | null;
967
+ /** F4 */
968
+ f4?: string | null;
969
+ /** F5 */
970
+ f5?: string | null;
971
+ }
831
972
  /** FilterGroup */
832
973
  export interface IFilterGroup {
833
974
  operator: IOperator;
@@ -1030,6 +1171,62 @@ export interface IHTTPValidationError {
1030
1171
  /** Detail */
1031
1172
  detail?: IValidationError[];
1032
1173
  }
1174
+ /** HituNodePackageCreate */
1175
+ export interface IHituNodePackageCreate {
1176
+ /**
1177
+ * Space Id
1178
+ * the space of knowledge, example: petercat bot id, github repo name
1179
+ */
1180
+ space_id: string;
1181
+ /**
1182
+ * Knowledge Type
1183
+ * type of knowledge resource
1184
+ * @default "node_package"
1185
+ */
1186
+ knowledge_type?: "node_package";
1187
+ /**
1188
+ * Knowledge Name
1189
+ * name of the knowledge resource
1190
+ * @maxLength 255
1191
+ */
1192
+ knowledge_name: string;
1193
+ /**
1194
+ * Metadata
1195
+ * additional metadata, user can update it
1196
+ * @default {}
1197
+ */
1198
+ metadata?: Record<string, any>;
1199
+ /**
1200
+ * Source Type
1201
+ * source type
1202
+ * @default "hitu_node_package"
1203
+ */
1204
+ source_type?: "hitu_node_package";
1205
+ /**
1206
+ * Embedding Model Name
1207
+ * name of the embedding model. you can set any other model if target embedding service registered
1208
+ */
1209
+ embedding_model_name: string;
1210
+ /**
1211
+ * File Sha
1212
+ * SHA of the file
1213
+ */
1214
+ file_sha?: string | null;
1215
+ /**
1216
+ * File Size
1217
+ * size of the file
1218
+ */
1219
+ file_size?: number | null;
1220
+ /**
1221
+ * Parent Id
1222
+ * parent id of the knowledge
1223
+ */
1224
+ parent_id?: string | null;
1225
+ /** source config of the knowledge */
1226
+ source_config: INodePackageSourceConfig;
1227
+ /** split config of the knowledge */
1228
+ split_config: INodePackageParseConfig;
1229
+ }
1033
1230
  /** Image */
1034
1231
  export interface IImage {
1035
1232
  /** Url */
@@ -1236,7 +1433,7 @@ export interface IKnowledgeInput {
1236
1433
  * Source Config
1237
1434
  * source config of the knowledge
1238
1435
  */
1239
- source_config: IGithubRepoSourceConfig | IGithubFileSourceConfig | IS3SourceConfig | IOpenUrlSourceConfig | ITextSourceConfig | IYuqueSourceConfig | IYuquePersonalDocSourceConfig | IYuquePersonalNoteSourceConfig;
1436
+ source_config: IGithubRepoSourceConfig | IGithubFileSourceConfig | IS3SourceConfig | IOpenUrlSourceConfig | ITextSourceConfig | IYuqueSourceConfig | IYuquePersonalDocSourceConfig | IYuquePersonalNoteSourceConfig | INodePackageSourceConfig;
1240
1437
  /**
1241
1438
  * Embedding Model Name
1242
1439
  * name of the embedding model. you can set any other model if target embedding service registered
@@ -1246,7 +1443,7 @@ export interface IKnowledgeInput {
1246
1443
  * Split Config
1247
1444
  * configuration for splitting the knowledge
1248
1445
  */
1249
- split_config: IBaseCharSplitConfig | IMarkdownSplitConfig | ITextSplitConfig | IJSONSplitConfig | IPDFSplitConfig | IYuqueSplitConfig | IGeaGraphSplitConfig | IGithubRepoParseConfig | IBaseCodeSplitConfig | IImageSplitConfig;
1446
+ split_config: IBaseCharSplitConfig | IMarkdownSplitConfig | ITextSplitConfig | IJSONSplitConfig | IPDFSplitConfig | IYuqueSplitConfig | IGeaGraphSplitConfig | IGithubRepoParseConfig | IBaseCodeSplitConfig | IImageSplitConfig | INodePackageParseConfig;
1250
1447
  /**
1251
1448
  * File Sha
1252
1449
  * SHA of the file
@@ -1322,7 +1519,7 @@ export interface IKnowledgeOutput {
1322
1519
  * Source Config
1323
1520
  * source config of the knowledge
1324
1521
  */
1325
- source_config: IGithubRepoSourceConfig | IGithubFileSourceConfig | IS3SourceConfig | IOpenUrlSourceConfig | ITextSourceConfig | IYuqueSourceConfig | IYuquePersonalDocSourceConfig | IYuquePersonalNoteSourceConfig;
1522
+ source_config: IGithubRepoSourceConfig | IGithubFileSourceConfig | IS3SourceConfig | IOpenUrlSourceConfig | ITextSourceConfig | IYuqueSourceConfig | IYuquePersonalDocSourceConfig | IYuquePersonalNoteSourceConfig | INodePackageSourceConfig;
1326
1523
  /**
1327
1524
  * Embedding Model Name
1328
1525
  * name of the embedding model. you can set any other model if target embedding service registered
@@ -1332,7 +1529,7 @@ export interface IKnowledgeOutput {
1332
1529
  * Split Config
1333
1530
  * configuration for splitting the knowledge
1334
1531
  */
1335
- split_config: IBaseCharSplitConfig | IMarkdownSplitConfig | ITextSplitConfig | IJSONSplitConfig | IPDFSplitConfig | IYuqueSplitConfig | IGeaGraphSplitConfig | IGithubRepoParseConfig | IBaseCodeSplitConfig | IImageSplitConfig;
1532
+ split_config: IBaseCharSplitConfig | IMarkdownSplitConfig | ITextSplitConfig | IJSONSplitConfig | IPDFSplitConfig | IYuqueSplitConfig | IGeaGraphSplitConfig | IGithubRepoParseConfig | IBaseCodeSplitConfig | IImageSplitConfig | INodePackageParseConfig;
1336
1533
  /**
1337
1534
  * File Sha
1338
1535
  * SHA of the file
@@ -1471,6 +1668,30 @@ export interface IMarkdownSplitConfig {
1471
1668
  */
1472
1669
  extract_header_first?: boolean | null;
1473
1670
  }
1671
+ /** NodePackageParseConfig */
1672
+ export interface INodePackageParseConfig {
1673
+ /**
1674
+ * Type
1675
+ * @default "node_package"
1676
+ */
1677
+ type?: "node_package";
1678
+ }
1679
+ /**
1680
+ * NodePackageSourceConfig
1681
+ * Node package source config
1682
+ */
1683
+ export interface INodePackageSourceConfig {
1684
+ /**
1685
+ * Package Name
1686
+ * the hitu package id
1687
+ */
1688
+ package_name: string;
1689
+ /**
1690
+ * Package Version
1691
+ * the hitu package version
1692
+ */
1693
+ package_version: string;
1694
+ }
1474
1695
  /** OpenIdSourceConfig */
1475
1696
  export interface IOpenIdSourceConfig {
1476
1697
  /**
@@ -2192,6 +2413,14 @@ export interface IResponseModelAPIKey {
2192
2413
  /** Message */
2193
2414
  message?: string | null;
2194
2415
  }
2416
+ /** ResponseModel[AdminTaskRestartResponse] */
2417
+ export interface IResponseModelAdminTaskRestartResponse {
2418
+ /** Success */
2419
+ success: boolean;
2420
+ data?: IAdminTaskRestartResponse | null;
2421
+ /** Message */
2422
+ message?: string | null;
2423
+ }
2195
2424
  /** ResponseModel[Any] */
2196
2425
  export interface IResponseModelAny {
2197
2426
  /** Success */
@@ -2413,6 +2642,14 @@ export interface IResponseModelSpaceResponse {
2413
2642
  /** Message */
2414
2643
  message?: string | null;
2415
2644
  }
2645
+ /** ResponseModel[Space] */
2646
+ export interface IResponseModelSpace {
2647
+ /** Success */
2648
+ success: boolean;
2649
+ data?: ISpaceOutput | null;
2650
+ /** Message */
2651
+ message?: string | null;
2652
+ }
2416
2653
  /** ResponseModel[StatusStatisticsPageResponse[Task]] */
2417
2654
  export interface IResponseModelStatusStatisticsPageResponseTask {
2418
2655
  /** Success */
@@ -2437,6 +2674,14 @@ export interface IResponseModelTask {
2437
2674
  /** Message */
2438
2675
  message?: string | null;
2439
2676
  }
2677
+ /** ResponseModel[TenantNameCheckResponse] */
2678
+ export interface IResponseModelTenantNameCheckResponse {
2679
+ /** Success */
2680
+ success: boolean;
2681
+ data?: ITenantNameCheckResponse | null;
2682
+ /** Message */
2683
+ message?: string | null;
2684
+ }
2440
2685
  /** ResponseModel[Tenant] */
2441
2686
  export interface IResponseModelTenant {
2442
2687
  /** Success */
@@ -2785,6 +3030,88 @@ export interface IS3SourceConfig {
2785
3030
  */
2786
3031
  auth_info?: string | null;
2787
3032
  }
3033
+ /** Space */
3034
+ export interface ISpaceInput {
3035
+ /**
3036
+ * Gmt Create
3037
+ * creation time
3038
+ */
3039
+ gmt_create?: string | null;
3040
+ /**
3041
+ * Gmt Modified
3042
+ * update time
3043
+ */
3044
+ gmt_modified?: string | null;
3045
+ /**
3046
+ * Space Name
3047
+ * name of the space resource
3048
+ * @maxLength 64
3049
+ */
3050
+ space_name: string;
3051
+ /**
3052
+ * Space Id
3053
+ * space id
3054
+ */
3055
+ space_id?: string;
3056
+ /**
3057
+ * Description
3058
+ * descrition of the space
3059
+ * @maxLength 255
3060
+ */
3061
+ description: string;
3062
+ /**
3063
+ * Metadata
3064
+ * metadata of the space resource
3065
+ * @default {}
3066
+ */
3067
+ metadata?: Record<string, any>;
3068
+ /**
3069
+ * Tenant Id
3070
+ * tenant id
3071
+ */
3072
+ tenant_id: string;
3073
+ }
3074
+ /** Space */
3075
+ export interface ISpaceOutput {
3076
+ /**
3077
+ * Gmt Create
3078
+ * creation time
3079
+ */
3080
+ gmt_create?: string | null;
3081
+ /**
3082
+ * Gmt Modified
3083
+ * update time
3084
+ */
3085
+ gmt_modified?: string | null;
3086
+ /**
3087
+ * Space Name
3088
+ * name of the space resource
3089
+ * @maxLength 64
3090
+ */
3091
+ space_name: string;
3092
+ /**
3093
+ * Space Id
3094
+ * space id
3095
+ */
3096
+ space_id?: string;
3097
+ /**
3098
+ * Description
3099
+ * descrition of the space
3100
+ * @maxLength 255
3101
+ */
3102
+ description: string;
3103
+ /**
3104
+ * Metadata
3105
+ * metadata of the space resource
3106
+ * @default {}
3107
+ */
3108
+ metadata?: Record<string, any>;
3109
+ /**
3110
+ * Tenant Id
3111
+ * tenant id
3112
+ */
3113
+ tenant_id: string;
3114
+ }
2788
3115
  /**
2789
3116
  * SpaceCreate
2790
3117
  * SpaceCreate model for creating space resources.
@@ -3294,6 +3621,13 @@ export interface ITaggingCreate {
3294
3621
  */
3295
3622
  object_id: string;
3296
3623
  }
3624
+ /** TagsUpdate */
3625
+ export interface ITagsUpdate {
3626
+ /** Knowledge Id */
3627
+ knowledge_id: string;
3628
+ /** Tags */
3629
+ tags: string[];
3630
+ }
3297
3631
  /** Task */
3298
3632
  export interface ITaskInput {
3299
3633
  /**
@@ -3542,6 +3876,22 @@ export interface ITenantLogQuery {
3542
3876
  /** End Time */
3543
3877
  end_time?: string | null;
3544
3878
  }
3879
+ /** TenantNameCheckRequest */
3880
+ export interface ITenantNameCheckRequest {
3881
+ /**
3882
+ * Tenant Name
3883
+ * @minLength 1
3884
+ * @maxLength 100
3885
+ */
3886
+ tenant_name: string;
3887
+ }
3888
+ /** TenantNameCheckResponse */
3889
+ export interface ITenantNameCheckResponse {
3890
+ /** Available */
3891
+ available: boolean;
3892
+ /** Message */
3893
+ message: string;
3894
+ }
3545
3895
  /** TenantUpdate */
3546
3896
  export interface ITenantUpdate {
3547
3897
  /** Tenant Name */
@@ -3620,9 +3970,8 @@ export interface ITextSourceConfig {
3620
3970
  * Text content, length range 1-30000 characters
3621
3971
  * @minLength 1
3622
3972
  * @maxLength 30000
3623
- * @default ""
3624
3973
  */
3625
- text?: string;
3974
+ text: string;
3626
3975
  }
3627
3976
  /**
3628
3977
  * TextSplitConfig
@@ -3713,7 +4062,7 @@ export interface IYuqueCreate {
3713
4062
  * type of knowledge resource
3714
4063
  * @default "yuquedoc"
3715
4064
  */
3716
- knowledge_type?: "yuquedoc";
4065
+ knowledge_type?: "yuquedoc" | "yuque_book";
3717
4066
  /**
3718
4067
  * Knowledge Name
3719
4068
  * name of the knowledge resource
@@ -3756,7 +4105,7 @@ export interface IYuqueCreate {
3756
4105
  * Source Config
3757
4106
  * source config of the knowledge
3758
4107
  */
3759
- source_config: IYuqueSourceConfig | IOpenUrlSourceConfig | IOpenIdSourceConfig | IYuquePersonalDocSourceConfig | IYuquePersonalNoteSourceConfig;
4108
+ source_config: IYuqueSourceConfig | IYuquePersonalDocSourceConfig | IYuquePersonalNoteSourceConfig;
3760
4109
  /**
3761
4110
  * Split Config
3762
4111
  * split config of the knowledge
@@ -3947,16 +4296,16 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
3947
4296
  };
3948
4297
  knowledge: {
3949
4298
  /**
3950
- * @description 添加知识 使用DDD架构创建新的知识,禁止重复的file_sha条目。 通过TaskCoordinationService统一协调知识创建和任务执行,确保事务一致性。
4299
+ * @description 批量添加知识 支持批量创建知识条目,自动处理重复检测和增量更新: - 根据 space_id + knowledge_name + knowledge_type 判断知识唯一性 - 若知识不存在则新增;若存在但 file_sha 不同则删除旧版本后重新添加 - 若知识已存在且内容相同则跳过,返回空列表 创建成功后自动触发异步处理任务(如向量化入库)。 Args: body: 知识创建请求列表,支持多种来源类型(文件、URL、语雀等) Returns: 成功创建的知识列表,已存在且未变更的知识不会返回
3951
4300
  *
3952
4301
  * @tags knowledge
3953
4302
  * @name AddKnowledge
3954
4303
  * @summary Add Knowledge
3955
4304
  * @request POST:/api/knowledge/add
3956
4305
  */
3957
- addKnowledge: (data: (ITextCreate | IImageCreate | IJSONCreate | IMarkdownCreate | IPDFCreate | IGithubRepoCreate | IQACreate | IYuqueCreate)[], params?: RequestParams) => Promise<HttpResponse<IResponseModelListKnowledge, void | IHTTPValidationError>>;
4306
+ addKnowledge: (data: (ITextCreate | IImageCreate | IJSONCreate | IMarkdownCreate | IPDFCreate | IGithubRepoCreate | IQACreate | IYuqueCreate | IHituNodePackageCreate)[], params?: RequestParams) => Promise<HttpResponse<IResponseModelListKnowledge, void | IHTTPValidationError>>;
3958
4307
  /**
3959
- * @description 更新知识 使用DDD架构更新知识信息,支持元数据和状态更新。
4308
+ * @description 更新知识(全量更新) 更新知识的完整信息,支持以下字段变更: - 元数据(metadata)变更:同步更新对应 chunk 的 metadata - 启用状态(enabled)变更:同步更新对应 chunk 的启用状态 - 嵌入模型/分片配置/来源配置变更:自动触发重新入库任务 注意:knowledge_type、source_type 等核心字段不可变更。 Args: knowledge: 完整的知识对象,需包含 knowledge_id Returns: 更新后的知识对象(auth_info 字段已脱敏)
3960
4309
  *
3961
4310
  * @tags knowledge
3962
4311
  * @name UpdateKnowledge
@@ -3965,7 +4314,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
3965
4314
  */
3966
4315
  updateKnowledge: (data: IKnowledgeInput, params?: RequestParams) => Promise<HttpResponse<IResponseModelKnowledge, void | IHTTPValidationError>>;
3967
4316
  /**
3968
- * @description 更新知识启用状态 使用DDD架构更新知识的启用状态。
4317
+ * @description 更新知识启用状态 单独更新知识的启用/禁用状态,同步更新向量数据库中对应 chunk 的启用状态。 禁用后的知识在召回时将被过滤。 Args: body.knowledge_id: 知识ID body.status: True 启用,False 禁用
3969
4318
  *
3970
4319
  * @tags knowledge
3971
4320
  * @name UpdateKnowledgeEnableStatus
@@ -3974,7 +4323,25 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
3974
4323
  */
3975
4324
  updateKnowledgeEnableStatus: (data: IEnableStatusUpdate, params?: RequestParams) => Promise<HttpResponse<IResponseModelNoneType, void | IHTTPValidationError>>;
3976
4325
  /**
3977
- * @description 获取知识列表 使用DDD架构的KnowledgeService进行分页查询,支持条件过滤和排序。
4326
+ * @description 更新知识标签 更新知识的标签列表,同步更新向量数据库中对应 chunk 的 tags 字段。 标签可用于召回时的过滤条件。 Args: body.knowledge_id: 知识ID body.tags: 新的标签列表,将完全替换原有标签 Returns: 更新后的知识对象(auth_info 字段已脱敏)
4327
+ *
4328
+ * @tags knowledge
4329
+ * @name UpdateKnowledgeTags
4330
+ * @summary Update Knowledge Tags
4331
+ * @request POST:/api/knowledge/update/tags
4332
+ */
4333
+ updateKnowledgeTags: (data: ITagsUpdate, params?: RequestParams) => Promise<HttpResponse<IResponseModelKnowledge, void | IHTTPValidationError>>;
4334
+ /**
4335
+ * @description 更新知识自定义过滤字段 更新知识的自定义过滤字段(f1-f5),同步更新向量数据库中对应 chunk 的字段。 这些字段可用于召回时的精确过滤条件。 Args: body.knowledge_id: 知识ID body.f1-f5: 自定义过滤字段,None 表示保持原值不变,至少需提供一个非空字段 Returns: 更新后的知识对象(auth_info 字段已脱敏)
4336
+ *
4337
+ * @tags knowledge
4338
+ * @name UpdateKnowledgeFilterFields
4339
+ * @summary Update Knowledge Filter Fields
4340
+ * @request POST:/api/knowledge/update/filter_fields
4341
+ */
4342
+ updateKnowledgeFilterFields: (data: IFilterFieldsUpdate, params?: RequestParams) => Promise<HttpResponse<IResponseModelKnowledge, void | IHTTPValidationError>>;
4343
+ /**
4344
+ * @description 分页查询知识列表 支持灵活的查询条件: - eq_conditions: 等值查询条件,如 {"space_id": "xxx", "enabled": true} - advanced_filter: 高级过滤条件,支持 AND/OR 组合及多种比较操作符 - order_by/order_direction: 排序字段和方向 Args: body: 分页查询参数,包含 page、page_size 和过滤条件 Returns: 分页结果,包含 items、total、page、page_size、total_pages
3978
4345
  *
3979
4346
  * @tags knowledge
3980
4347
  * @name GetKnowledgeList
@@ -3983,7 +4350,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
3983
4350
  */
3984
4351
  getKnowledgeList: (data: IPageQueryParamsKnowledge, params?: RequestParams) => Promise<HttpResponse<IResponseModelPageResponseKnowledge, void | IHTTPValidationError>>;
3985
4352
  /**
3986
- * @description 根据ID获取知识详情 使用DDD架构获取知识详细信息。
4353
+ * @description 获取知识详情 根据知识ID获取完整的知识信息,包含元数据、配置等所有字段。 Args: knowledge_id: 知识ID Returns: 知识详情(auth_info 字段已脱敏) Raises: 404: 知识不存在
3987
4354
  *
3988
4355
  * @tags knowledge
3989
4356
  * @name GetKnowledgeById
@@ -3995,7 +4362,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
3995
4362
  knowledge_id: string;
3996
4363
  }, params?: RequestParams) => Promise<HttpResponse<IResponseModelKnowledge, void | IHTTPValidationError>>;
3997
4364
  /**
3998
- * @description 删除知识 包括级联删除相关的任务和向量数据。
4365
+ * @description 删除知识 级联删除知识及其关联数据: - 删除 MySQL 中的知识记录和相关任务 - 删除向量数据库中的所有 chunk 数据 - 清除所属 Space 的总结时间标记(下次总结时将进行全量总结) Args: knowledge_id: 要删除的知识ID Raises: 404: 知识不存在
3999
4366
  *
4000
4367
  * @tags knowledge
4001
4368
  * @name DeleteKnowledge
@@ -4007,7 +4374,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
4007
4374
  knowledge_id: string;
4008
4375
  }, params?: RequestParams) => Promise<HttpResponse<IResponseModelNoneType, void | IHTTPValidationError>>;
4009
4376
  /**
4010
- * No description
4377
+ * @description 获取可用的嵌入模型列表 返回系统中所有已注册的嵌入模型及其元数据信息, 用于创建知识时选择合适的向量化模型。 Returns: 模型列表,每项包含 name(模型标识)和 metadata(模型元数据)
4011
4378
  *
4012
4379
  * @tags knowledge
4013
4380
  * @name GetEmbeddingModelsList
@@ -4016,7 +4383,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
4016
4383
  */
4017
4384
  getEmbeddingModelsList: (params?: RequestParams) => Promise<HttpResponse<any, void | IHTTPValidationError>>;
4018
4385
  /**
4019
- * @description 根据wohu知识库ID(space_id)和素材ID列表(knowledge_name)批量查询知识 支持最多114个素材ID的批量查询 素材ID对应knowledge_name字段 Args: body.space_id: wohu知识库ID body.knowledge_names: 素材ID列表(knowledge_name) Returns: 符合条件的知识列表
4386
+ * @description 根据名称批量查询知识 在指定 Space 下,根据知识名称列表批量查询知识详情。 适用于已知知识名称需要获取完整信息的场景。 Args: body.space_id: 空间ID body.knowledge_names: 知识名称列表 Returns: 符合条件的知识列表(auth_info 字段已脱敏)
4020
4387
  *
4021
4388
  * @tags knowledge
4022
4389
  * @name BatchQueryKnowledgeByNames
@@ -4025,7 +4392,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
4025
4392
  */
4026
4393
  batchQueryKnowledgeByNames: (data: IBatchQueryRequest, params?: RequestParams) => Promise<HttpResponse<IResponseModelListKnowledge, void | IHTTPValidationError>>;
4027
4394
  /**
4028
- * @description 根据知识ID获取知识原文内容 通过对应的Loader加载知识的原始内容。 不同类型的知识会返回不同类型的内容(文本、图片等)。 Args: knowledge_id: 知识ID Returns: 知识原文内容列表(可能包含TextImageBlob类型)
4395
+ * @description 获取知识原文内容 加载知识的原始内容,根据知识来源类型采用不同策略: - GitHub 类型:从已入库的 chunk 中合并还原原文 - 其他类型:通过对应的 Loader 重新加载原始内容 Args: knowledge_id: 知识ID Returns: 原文内容列表,可能包含 Text(文本)、Image(图片)或 Blob(二进制)类型 Raises: 404: 知识不存在 400: 未注册对应类型的 Loader
4029
4396
  *
4030
4397
  * @tags knowledge
4031
4398
  * @name GetKnowledgeOriginalContent
@@ -4086,7 +4453,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
4086
4453
  };
4087
4454
  task: {
4088
4455
  /**
4089
- * @description 重启任务 使用DDD架构的TaskCoordinationService进行任务重启并执行。 重试规则: 1. FAILED 或 CANCELED 状态的任务可以重试 2. 创建时间超过30分钟且未成功的任务可以重试
4456
+ * @description 重试任务 满足下面任意一条规则: 1. FAILED 或 CANCELED 状态的任务可以重试 2. 创建时间超过30分钟且未成功的任务可以重试
4090
4457
  *
4091
4458
  * @tags task
4092
4459
  * @name RestartTask
@@ -4095,7 +4462,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
4095
4462
  */
4096
4463
  restartTask: (data: ITaskRestartRequest, params?: RequestParams) => Promise<HttpResponse<IResponseModelListTask, void | IHTTPValidationError>>;
4097
4464
  /**
4098
- * @description 取消任务 使用DDD架构的TaskService进行任务取消。
4465
+ * @description 将任务标记为取消
4099
4466
  *
4100
4467
  * @tags task
4101
4468
  * @name CancelTask
@@ -4104,7 +4471,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
4104
4471
  */
4105
4472
  cancelTask: (data: ITaskRestartRequest, params?: RequestParams) => Promise<HttpResponse<IResponseModelListTask, void | IHTTPValidationError>>;
4106
4473
  /**
4107
- * @description 获取任务列表 使用DDD架构的TaskService进行分页查询。
4474
+ * @description 获取任务列表
4108
4475
  *
4109
4476
  * @tags task
4110
4477
  * @name GetTaskList
@@ -4113,7 +4480,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
4113
4480
  */
4114
4481
  getTaskList: (data: IPageQueryParamsTask, params?: RequestParams) => Promise<HttpResponse<IResponseModelStatusStatisticsPageResponseTask, void | IHTTPValidationError>>;
4115
4482
  /**
4116
- * @description 获取任务详情 使用DDD架构的TaskService获取任务详情。
4483
+ * @description 获取任务详情
4117
4484
  *
4118
4485
  * @tags task
4119
4486
  * @name GetTaskDetail
@@ -4125,7 +4492,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
4125
4492
  task_id: string;
4126
4493
  }, params?: RequestParams) => Promise<HttpResponse<IResponseModelTask, void | IHTTPValidationError>>;
4127
4494
  /**
4128
- * @description 删除任务 使用DDD架构的TaskService进行任务删除。
4495
+ * @description 删除任务,从数据库中移除任务记录
4129
4496
  *
4130
4497
  * @tags task
4131
4498
  * @name DeleteTaskById
@@ -4186,7 +4553,16 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
4186
4553
  };
4187
4554
  tenant: {
4188
4555
  /**
4189
- * @description 创建租户
4556
+ * @description 检查租户名称是否可用 用于前端表单实时校验租户名称的唯一性。 此接口无需认证,但有基于 IP 的访问频率限制。 Args: params.tenant_name: 要检查的租户名称 Returns: available: True 表示名称可用,False 表示已被占用 message: 检查结果说明 Raises: 429: 请求过于频繁
4557
+ *
4558
+ * @tags tenant
4559
+ * @name CheckTenantName
4560
+ * @summary Check Tenant Name
4561
+ * @request POST:/api/tenant/check-name
4562
+ */
4563
+ checkTenantName: (data: ITenantNameCheckRequest, params?: RequestParams) => Promise<HttpResponse<IResponseModelTenantNameCheckResponse, void | IHTTPValidationError>>;
4564
+ /**
4565
+ * @description 创建租户 创建新租户并自动生成认证密钥(secret_key): - tenant_id 和 secret_key 由系统自动生成 - secret_key 仅在创建时返回一次,后续无法再次获取,请妥善保存 - 创建成功后会发送通知邮件到指定邮箱 Args: params.tenant_name: 租户名称,必须唯一 params.email: 联系邮箱,用于接收通知 params.metadata: 自定义元数据(可选) Returns: 创建的租户信息,包含 secret_key(仅此一次) Raises: 400: 租户名称已存在
4190
4566
  *
4191
4567
  * @tags tenant
4192
4568
  * @name CreateTenant
@@ -4195,7 +4571,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
4195
4571
  */
4196
4572
  createTenant: (data: ITenantCreate, params?: RequestParams) => Promise<HttpResponse<IResponseModelTenant, void | IHTTPValidationError>>;
4197
4573
  /**
4198
- * @description 根据ID查询租户
4574
+ * @description 根据ID查询租户 获取指定租户的详细信息。需要当前租户具有 READ 或 UPDATE 权限。 Args: id: 租户ID Returns: 租户详细信息(secret_key 字段已脱敏) Raises: 404: 租户不存在
4199
4575
  *
4200
4576
  * @tags tenant
4201
4577
  * @name GetTenantById
@@ -4204,7 +4580,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
4204
4580
  */
4205
4581
  getTenantById: (id: string, params?: RequestParams) => Promise<HttpResponse<IResponseModelTenant, void | IHTTPValidationError>>;
4206
4582
  /**
4207
- * @description 删除租户
4583
+ * @description 删除租户 永久删除指定租户。此操作不可逆。 注意:当前版本不会检查关联数据(空间、知识等),请确保租户下无重要数据。 Args: id: 要删除的租户ID Raises: 404: 租户不存在
4208
4584
  *
4209
4585
  * @tags tenant
4210
4586
  * @name DeleteTenantById
@@ -4213,7 +4589,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
4213
4589
  */
4214
4590
  deleteTenantById: (id: string, params?: RequestParams) => Promise<HttpResponse<IResponseModelObject, void | IHTTPValidationError>>;
4215
4591
  /**
4216
- * @description 更新租户
4592
+ * @description 更新当前租户信息 部分更新当前认证租户的信息,仅提供的字段会被更新: - tenant_name: 更新名称时会检查是否与其他租户冲突 - email: 更新联系邮箱 - metadata: 更新自定义元数据(完全替换) Args: params: 更新参数,所有字段均为可选 Returns: 更新后的租户信息 Raises: 400: 租户名称已被占用
4217
4593
  *
4218
4594
  * @tags tenant
4219
4595
  * @name UpdateTenant
@@ -4222,7 +4598,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
4222
4598
  */
4223
4599
  updateTenant: (data: ITenantUpdate, params?: RequestParams) => Promise<HttpResponse<IResponseModelTenant, void | IHTTPValidationError>>;
4224
4600
  /**
4225
- * @description 获取租户列表
4601
+ * @description 分页获取租户列表 获取系统中所有租户的分页列表。 Args: page: 页码,从 1 开始,默认 1 page_size: 每页数量,默认 10 Returns: 分页结果,包含 items、total、page、page_size、total_pages
4226
4602
  *
4227
4603
  * @tags tenant
4228
4604
  * @name GetTenantList
@@ -4242,7 +4618,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
4242
4618
  page_size?: number;
4243
4619
  }, params?: RequestParams) => Promise<HttpResponse<IResponseModelPageResponseTenant, void | IHTTPValidationError>>;
4244
4620
  /**
4245
- * @description 获取当前租户信息 直接返回认证系统中的租户信息。 get_tenant_with_permissions 已经包含了完整的认证和权限检查。
4621
+ * @description 获取当前租户信息 通过请求头中的认证信息(secret_key)获取当前租户的详细信息。 无需传入任何参数,系统自动从认证上下文中识别租户身份。 Returns: 当前认证租户的详细信息(secret_key 字段已脱敏)
4246
4622
  *
4247
4623
  * @tags tenant
4248
4624
  * @name GetTenant
@@ -4251,7 +4627,7 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
4251
4627
  */
4252
4628
  getTenant: (params?: RequestParams) => Promise<HttpResponse<IResponseModelTenant, void | IHTTPValidationError>>;
4253
4629
  /**
4254
- * @description 绑定 Wohu 相关信息 在租户 metadata 中添加 _wohu_product_space_id 字段
4630
+ * @description 绑定 Wohu 产品空间信息 Wohu 产品空间ID绑定到当前租户,存储在 metadata._wohu_product_space_id 字段。 用于关联 Wohu 平台的产品空间与本系统租户。 Args: params.wohu_product_space_id: Wohu 产品空间ID Returns: 更新后的租户信息 Raises: 404: 租户不存在
4255
4631
  *
4256
4632
  * @tags tenant
4257
4633
  * @name BindWohuInfo
@@ -4540,6 +4916,44 @@ export declare class Api<SecurityDataType extends unknown> extends HttpClient<Se
4540
4916
  */
4541
4917
  proxyYuqueGetDoc: (docId: string, params?: RequestParams) => Promise<HttpResponse<IResponseModelAny, void | IHTTPValidationError>>;
4542
4918
  };
4919
+ admin: {
4920
+ /**
4921
+ * @description 管理员批量重启任务 根据时间范围、状态、租户、空间等条件筛选并重启任务。 满足下面任意一条规则的任务可以重启: 1. FAILED 或 CANCELED 状态的任务可以重试 2. 创建时间超过30分钟且未成功的任务可以重试
4922
+ *
4923
+ * @tags admin
4924
+ * @name AdminRestartTasks
4925
+ * @summary Admin Restart Tasks
4926
+ * @request POST:/api/admin/task/restart
4927
+ */
4928
+ adminRestartTasks: (data: IAdminTaskRestartRequest, params?: RequestParams) => Promise<HttpResponse<IResponseModelAdminTaskRestartResponse, void | IHTTPValidationError>>;
4929
+ /**
4930
+ * @description 管理员更新租户信息 支持更新 tenant_name、email、is_active、metadata。 所有字段均为可选,只传入需要更新的字段即可。
4931
+ *
4932
+ * @tags admin
4933
+ * @name AdminUpdateTenant
4934
+ * @summary Admin Update Tenant
4935
+ * @request PUT:/api/admin/tenant/{tenant_id}
4936
+ */
4937
+ adminUpdateTenant: (tenantId: string, data: IAdminUpdateTenantRequest, params?: RequestParams) => Promise<HttpResponse<IResponseModelTenant, void | IHTTPValidationError>>;
4938
+ /**
4939
+ * @description 管理员更新租户密钥 secret_key 必须符合 sk-xxxx 格式,且长度大于10个字符。 密钥将自动加密后存储。
4940
+ *
4941
+ * @tags admin
4942
+ * @name AdminUpdateTenantSecretKey
4943
+ * @summary Admin Update Tenant Secret Key
4944
+ * @request PUT:/api/admin/tenant/{tenant_id}/secret-key
4945
+ */
4946
+ adminUpdateTenantSecretKey: (tenantId: string, data: IAdminUpdateTenantSecretKeyRequest, params?: RequestParams) => Promise<HttpResponse<IResponseModelTenant, void | IHTTPValidationError>>;
4947
+ /**
4948
+ * @description 管理员更新空间信息 支持更新 space_name、description、metadata。 所有字段均为可选,只传入需要更新的字段即可。
4949
+ *
4950
+ * @tags admin
4951
+ * @name AdminUpdateSpace
4952
+ * @summary Admin Update Space
4953
+ * @request PUT:/api/admin/tenant/{tenant_id}/space/{space_id}
4954
+ */
4955
+ adminUpdateSpace: (tenantId: string, spaceId: string, data: IAdminUpdateSpaceRequest, params?: RequestParams) => Promise<HttpResponse<IResponseModelSpace, void | IHTTPValidationError>>;
4956
+ };
4543
4957
  healthChecker: {
4544
4958
  /**
4545
4959
  * No description
package/dist/api.js CHANGED
@@ -145,6 +145,8 @@ var IKnowledgeTypeEnum;
145
145
  IKnowledgeTypeEnum["Haskell"] = "haskell";
146
146
  IKnowledgeTypeEnum["Elixir"] = "elixir";
147
147
  IKnowledgeTypeEnum["Powershell"] = "powershell";
148
+ IKnowledgeTypeEnum["NodePackage"] = "node_package";
149
+ IKnowledgeTypeEnum["NodePackageElement"] = "node_package_element";
148
150
  })(IKnowledgeTypeEnum || (exports.IKnowledgeTypeEnum = IKnowledgeTypeEnum = {}));
149
151
  /**
150
152
  * KnowledgeSourceEnum
@@ -160,6 +162,7 @@ var IKnowledgeSourceEnum;
160
162
  IKnowledgeSourceEnum["Yuque"] = "yuque";
161
163
  IKnowledgeSourceEnum["YuquePersonalDoc"] = "yuque_personal_doc";
162
164
  IKnowledgeSourceEnum["YuquePersonalNote"] = "yuque_personal_note";
165
+ IKnowledgeSourceEnum["HituNodePackage"] = "hitu_node_package";
163
166
  })(IKnowledgeSourceEnum || (exports.IKnowledgeSourceEnum = IKnowledgeSourceEnum = {}));
164
167
  /** Action */
165
168
  var IAction;
@@ -342,7 +345,7 @@ class Api extends HttpClient {
342
345
  };
343
346
  this.knowledge = {
344
347
  /**
345
- * @description 添加知识 使用DDD架构创建新的知识,禁止重复的file_sha条目。 通过TaskCoordinationService统一协调知识创建和任务执行,确保事务一致性。
348
+ * @description 批量添加知识 支持批量创建知识条目,自动处理重复检测和增量更新: - 根据 space_id + knowledge_name + knowledge_type 判断知识唯一性 - 若知识不存在则新增;若存在但 file_sha 不同则删除旧版本后重新添加 - 若知识已存在且内容相同则跳过,返回空列表 创建成功后自动触发异步处理任务(如向量化入库)。 Args: body: 知识创建请求列表,支持多种来源类型(文件、URL、语雀等) Returns: 成功创建的知识列表,已存在且未变更的知识不会返回
346
349
  *
347
350
  * @tags knowledge
348
351
  * @name AddKnowledge
@@ -351,7 +354,7 @@ class Api extends HttpClient {
351
354
  */
352
355
  addKnowledge: (data, params = {}) => this.request(Object.assign({ path: `/api/knowledge/add`, method: "POST", body: data, type: ContentType.Json, format: "json" }, params)),
353
356
  /**
354
- * @description 更新知识 使用DDD架构更新知识信息,支持元数据和状态更新。
357
+ * @description 更新知识(全量更新) 更新知识的完整信息,支持以下字段变更: - 元数据(metadata)变更:同步更新对应 chunk 的 metadata - 启用状态(enabled)变更:同步更新对应 chunk 的启用状态 - 嵌入模型/分片配置/来源配置变更:自动触发重新入库任务 注意:knowledge_type、source_type 等核心字段不可变更。 Args: knowledge: 完整的知识对象,需包含 knowledge_id Returns: 更新后的知识对象(auth_info 字段已脱敏)
355
358
  *
356
359
  * @tags knowledge
357
360
  * @name UpdateKnowledge
@@ -360,7 +363,7 @@ class Api extends HttpClient {
360
363
  */
361
364
  updateKnowledge: (data, params = {}) => this.request(Object.assign({ path: `/api/knowledge/update`, method: "POST", body: data, type: ContentType.Json, format: "json" }, params)),
362
365
  /**
363
- * @description 更新知识启用状态 使用DDD架构更新知识的启用状态。
366
+ * @description 更新知识启用状态 单独更新知识的启用/禁用状态,同步更新向量数据库中对应 chunk 的启用状态。 禁用后的知识在召回时将被过滤。 Args: body.knowledge_id: 知识ID body.status: True 启用,False 禁用
364
367
  *
365
368
  * @tags knowledge
366
369
  * @name UpdateKnowledgeEnableStatus
@@ -369,7 +372,25 @@ class Api extends HttpClient {
369
372
  */
370
373
  updateKnowledgeEnableStatus: (data, params = {}) => this.request(Object.assign({ path: `/api/knowledge/update/enabled`, method: "POST", body: data, type: ContentType.Json, format: "json" }, params)),
371
374
  /**
372
- * @description 获取知识列表 使用DDD架构的KnowledgeService进行分页查询,支持条件过滤和排序。
375
+ * @description 更新知识标签 更新知识的标签列表,同步更新向量数据库中对应 chunk 的 tags 字段。 标签可用于召回时的过滤条件。 Args: body.knowledge_id: 知识ID body.tags: 新的标签列表,将完全替换原有标签 Returns: 更新后的知识对象(auth_info 字段已脱敏)
376
+ *
377
+ * @tags knowledge
378
+ * @name UpdateKnowledgeTags
379
+ * @summary Update Knowledge Tags
380
+ * @request POST:/api/knowledge/update/tags
381
+ */
382
+ updateKnowledgeTags: (data, params = {}) => this.request(Object.assign({ path: `/api/knowledge/update/tags`, method: "POST", body: data, type: ContentType.Json, format: "json" }, params)),
383
+ /**
384
+ * @description 更新知识自定义过滤字段 更新知识的自定义过滤字段(f1-f5),同步更新向量数据库中对应 chunk 的字段。 这些字段可用于召回时的精确过滤条件。 Args: body.knowledge_id: 知识ID body.f1-f5: 自定义过滤字段,None 表示保持原值不变,至少需提供一个非空字段 Returns: 更新后的知识对象(auth_info 字段已脱敏)
385
+ *
386
+ * @tags knowledge
387
+ * @name UpdateKnowledgeFilterFields
388
+ * @summary Update Knowledge Filter Fields
389
+ * @request POST:/api/knowledge/update/filter_fields
390
+ */
391
+ updateKnowledgeFilterFields: (data, params = {}) => this.request(Object.assign({ path: `/api/knowledge/update/filter_fields`, method: "POST", body: data, type: ContentType.Json, format: "json" }, params)),
392
+ /**
393
+ * @description 分页查询知识列表 支持灵活的查询条件: - eq_conditions: 等值查询条件,如 {"space_id": "xxx", "enabled": true} - advanced_filter: 高级过滤条件,支持 AND/OR 组合及多种比较操作符 - order_by/order_direction: 排序字段和方向 Args: body: 分页查询参数,包含 page、page_size 和过滤条件 Returns: 分页结果,包含 items、total、page、page_size、total_pages
373
394
  *
374
395
  * @tags knowledge
375
396
  * @name GetKnowledgeList
@@ -378,7 +399,7 @@ class Api extends HttpClient {
378
399
  */
379
400
  getKnowledgeList: (data, params = {}) => this.request(Object.assign({ path: `/api/knowledge/list`, method: "POST", body: data, type: ContentType.Json, format: "json" }, params)),
380
401
  /**
381
- * @description 根据ID获取知识详情 使用DDD架构获取知识详细信息。
402
+ * @description 获取知识详情 根据知识ID获取完整的知识信息,包含元数据、配置等所有字段。 Args: knowledge_id: 知识ID Returns: 知识详情(auth_info 字段已脱敏) Raises: 404: 知识不存在
382
403
  *
383
404
  * @tags knowledge
384
405
  * @name GetKnowledgeById
@@ -387,7 +408,7 @@ class Api extends HttpClient {
387
408
  */
388
409
  getKnowledgeById: (query, params = {}) => this.request(Object.assign({ path: `/api/knowledge/detail`, method: "GET", query: query, format: "json" }, params)),
389
410
  /**
390
- * @description 删除知识 包括级联删除相关的任务和向量数据。
411
+ * @description 删除知识 级联删除知识及其关联数据: - 删除 MySQL 中的知识记录和相关任务 - 删除向量数据库中的所有 chunk 数据 - 清除所属 Space 的总结时间标记(下次总结时将进行全量总结) Args: knowledge_id: 要删除的知识ID Raises: 404: 知识不存在
391
412
  *
392
413
  * @tags knowledge
393
414
  * @name DeleteKnowledge
@@ -396,7 +417,7 @@ class Api extends HttpClient {
396
417
  */
397
418
  deleteKnowledge: (query, params = {}) => this.request(Object.assign({ path: `/api/knowledge/delete`, method: "DELETE", query: query, format: "json" }, params)),
398
419
  /**
399
- * No description
420
+ * @description 获取可用的嵌入模型列表 返回系统中所有已注册的嵌入模型及其元数据信息, 用于创建知识时选择合适的向量化模型。 Returns: 模型列表,每项包含 name(模型标识)和 metadata(模型元数据)
400
421
  *
401
422
  * @tags knowledge
402
423
  * @name GetEmbeddingModelsList
@@ -405,7 +426,7 @@ class Api extends HttpClient {
405
426
  */
406
427
  getEmbeddingModelsList: (params = {}) => this.request(Object.assign({ path: `/api/knowledge/embedding/models`, method: "GET", format: "json" }, params)),
407
428
  /**
408
- * @description 根据wohu知识库ID(space_id)和素材ID列表(knowledge_name)批量查询知识 支持最多114个素材ID的批量查询 素材ID对应knowledge_name字段 Args: body.space_id: wohu知识库ID body.knowledge_names: 素材ID列表(knowledge_name) Returns: 符合条件的知识列表
429
+ * @description 根据名称批量查询知识 在指定 Space 下,根据知识名称列表批量查询知识详情。 适用于已知知识名称需要获取完整信息的场景。 Args: body.space_id: 空间ID body.knowledge_names: 知识名称列表 Returns: 符合条件的知识列表(auth_info 字段已脱敏)
409
430
  *
410
431
  * @tags knowledge
411
432
  * @name BatchQueryKnowledgeByNames
@@ -414,7 +435,7 @@ class Api extends HttpClient {
414
435
  */
415
436
  batchQueryKnowledgeByNames: (data, params = {}) => this.request(Object.assign({ path: `/api/knowledge/batch_query_by_names`, method: "POST", body: data, type: ContentType.Json, format: "json" }, params)),
416
437
  /**
417
- * @description 根据知识ID获取知识原文内容 通过对应的Loader加载知识的原始内容。 不同类型的知识会返回不同类型的内容(文本、图片等)。 Args: knowledge_id: 知识ID Returns: 知识原文内容列表(可能包含TextImageBlob类型)
438
+ * @description 获取知识原文内容 加载知识的原始内容,根据知识来源类型采用不同策略: - GitHub 类型:从已入库的 chunk 中合并还原原文 - 其他类型:通过对应的 Loader 重新加载原始内容 Args: knowledge_id: 知识ID Returns: 原文内容列表,可能包含 Text(文本)、Image(图片)或 Blob(二进制)类型 Raises: 404: 知识不存在 400: 未注册对应类型的 Loader
418
439
  *
419
440
  * @tags knowledge
420
441
  * @name GetKnowledgeOriginalContent
@@ -472,7 +493,7 @@ class Api extends HttpClient {
472
493
  };
473
494
  this.task = {
474
495
  /**
475
- * @description 重启任务 使用DDD架构的TaskCoordinationService进行任务重启并执行。 重试规则: 1. FAILED 或 CANCELED 状态的任务可以重试 2. 创建时间超过30分钟且未成功的任务可以重试
496
+ * @description 重试任务 满足下面任意一条规则: 1. FAILED 或 CANCELED 状态的任务可以重试 2. 创建时间超过30分钟且未成功的任务可以重试
476
497
  *
477
498
  * @tags task
478
499
  * @name RestartTask
@@ -481,7 +502,7 @@ class Api extends HttpClient {
481
502
  */
482
503
  restartTask: (data, params = {}) => this.request(Object.assign({ path: `/api/task/restart`, method: "POST", body: data, type: ContentType.Json, format: "json" }, params)),
483
504
  /**
484
- * @description 取消任务 使用DDD架构的TaskService进行任务取消。
505
+ * @description 将任务标记为取消
485
506
  *
486
507
  * @tags task
487
508
  * @name CancelTask
@@ -490,7 +511,7 @@ class Api extends HttpClient {
490
511
  */
491
512
  cancelTask: (data, params = {}) => this.request(Object.assign({ path: `/api/task/cancel`, method: "POST", body: data, type: ContentType.Json, format: "json" }, params)),
492
513
  /**
493
- * @description 获取任务列表 使用DDD架构的TaskService进行分页查询。
514
+ * @description 获取任务列表
494
515
  *
495
516
  * @tags task
496
517
  * @name GetTaskList
@@ -499,7 +520,7 @@ class Api extends HttpClient {
499
520
  */
500
521
  getTaskList: (data, params = {}) => this.request(Object.assign({ path: `/api/task/list`, method: "POST", body: data, type: ContentType.Json, format: "json" }, params)),
501
522
  /**
502
- * @description 获取任务详情 使用DDD架构的TaskService获取任务详情。
523
+ * @description 获取任务详情
503
524
  *
504
525
  * @tags task
505
526
  * @name GetTaskDetail
@@ -508,7 +529,7 @@ class Api extends HttpClient {
508
529
  */
509
530
  getTaskDetail: (query, params = {}) => this.request(Object.assign({ path: `/api/task/detail`, method: "GET", query: query, format: "json" }, params)),
510
531
  /**
511
- * @description 删除任务 使用DDD架构的TaskService进行任务删除。
532
+ * @description 删除任务,从数据库中移除任务记录
512
533
  *
513
534
  * @tags task
514
535
  * @name DeleteTaskById
@@ -566,7 +587,16 @@ class Api extends HttpClient {
566
587
  };
567
588
  this.tenant = {
568
589
  /**
569
- * @description 创建租户
590
+ * @description 检查租户名称是否可用 用于前端表单实时校验租户名称的唯一性。 此接口无需认证,但有基于 IP 的访问频率限制。 Args: params.tenant_name: 要检查的租户名称 Returns: available: True 表示名称可用,False 表示已被占用 message: 检查结果说明 Raises: 429: 请求过于频繁
591
+ *
592
+ * @tags tenant
593
+ * @name CheckTenantName
594
+ * @summary Check Tenant Name
595
+ * @request POST:/api/tenant/check-name
596
+ */
597
+ checkTenantName: (data, params = {}) => this.request(Object.assign({ path: `/api/tenant/check-name`, method: "POST", body: data, type: ContentType.Json, format: "json" }, params)),
598
+ /**
599
+ * @description 创建租户 创建新租户并自动生成认证密钥(secret_key): - tenant_id 和 secret_key 由系统自动生成 - secret_key 仅在创建时返回一次,后续无法再次获取,请妥善保存 - 创建成功后会发送通知邮件到指定邮箱 Args: params.tenant_name: 租户名称,必须唯一 params.email: 联系邮箱,用于接收通知 params.metadata: 自定义元数据(可选) Returns: 创建的租户信息,包含 secret_key(仅此一次) Raises: 400: 租户名称已存在
570
600
  *
571
601
  * @tags tenant
572
602
  * @name CreateTenant
@@ -575,7 +605,7 @@ class Api extends HttpClient {
575
605
  */
576
606
  createTenant: (data, params = {}) => this.request(Object.assign({ path: `/api/tenant/create`, method: "POST", body: data, type: ContentType.Json, format: "json" }, params)),
577
607
  /**
578
- * @description 根据ID查询租户
608
+ * @description 根据ID查询租户 获取指定租户的详细信息。需要当前租户具有 READ 或 UPDATE 权限。 Args: id: 租户ID Returns: 租户详细信息(secret_key 字段已脱敏) Raises: 404: 租户不存在
579
609
  *
580
610
  * @tags tenant
581
611
  * @name GetTenantById
@@ -584,7 +614,7 @@ class Api extends HttpClient {
584
614
  */
585
615
  getTenantById: (id, params = {}) => this.request(Object.assign({ path: `/api/tenant/id/${id}`, method: "GET", format: "json" }, params)),
586
616
  /**
587
- * @description 删除租户
617
+ * @description 删除租户 永久删除指定租户。此操作不可逆。 注意:当前版本不会检查关联数据(空间、知识等),请确保租户下无重要数据。 Args: id: 要删除的租户ID Raises: 404: 租户不存在
588
618
  *
589
619
  * @tags tenant
590
620
  * @name DeleteTenantById
@@ -593,7 +623,7 @@ class Api extends HttpClient {
593
623
  */
594
624
  deleteTenantById: (id, params = {}) => this.request(Object.assign({ path: `/api/tenant/${id}`, method: "DELETE", format: "json" }, params)),
595
625
  /**
596
- * @description 更新租户
626
+ * @description 更新当前租户信息 部分更新当前认证租户的信息,仅提供的字段会被更新: - tenant_name: 更新名称时会检查是否与其他租户冲突 - email: 更新联系邮箱 - metadata: 更新自定义元数据(完全替换) Args: params: 更新参数,所有字段均为可选 Returns: 更新后的租户信息 Raises: 400: 租户名称已被占用
597
627
  *
598
628
  * @tags tenant
599
629
  * @name UpdateTenant
@@ -602,7 +632,7 @@ class Api extends HttpClient {
602
632
  */
603
633
  updateTenant: (data, params = {}) => this.request(Object.assign({ path: `/api/tenant/update`, method: "POST", body: data, type: ContentType.Json, format: "json" }, params)),
604
634
  /**
605
- * @description 获取租户列表
635
+ * @description 分页获取租户列表 获取系统中所有租户的分页列表。 Args: page: 页码,从 1 开始,默认 1 page_size: 每页数量,默认 10 Returns: 分页结果,包含 items、total、page、page_size、total_pages
606
636
  *
607
637
  * @tags tenant
608
638
  * @name GetTenantList
@@ -611,7 +641,7 @@ class Api extends HttpClient {
611
641
  */
612
642
  getTenantList: (query, params = {}) => this.request(Object.assign({ path: `/api/tenant/list`, method: "GET", query: query, format: "json" }, params)),
613
643
  /**
614
- * @description 获取当前租户信息 直接返回认证系统中的租户信息。 get_tenant_with_permissions 已经包含了完整的认证和权限检查。
644
+ * @description 获取当前租户信息 通过请求头中的认证信息(secret_key)获取当前租户的详细信息。 无需传入任何参数,系统自动从认证上下文中识别租户身份。 Returns: 当前认证租户的详细信息(secret_key 字段已脱敏)
615
645
  *
616
646
  * @tags tenant
617
647
  * @name GetTenant
@@ -620,7 +650,7 @@ class Api extends HttpClient {
620
650
  */
621
651
  getTenant: (params = {}) => this.request(Object.assign({ path: `/api/tenant/me`, method: "GET", format: "json" }, params)),
622
652
  /**
623
- * @description 绑定 Wohu 相关信息 在租户 metadata 中添加 _wohu_product_space_id 字段
653
+ * @description 绑定 Wohu 产品空间信息 Wohu 产品空间ID绑定到当前租户,存储在 metadata._wohu_product_space_id 字段。 用于关联 Wohu 平台的产品空间与本系统租户。 Args: params.wohu_product_space_id: Wohu 产品空间ID Returns: 更新后的租户信息 Raises: 404: 租户不存在
624
654
  *
625
655
  * @tags tenant
626
656
  * @name BindWohuInfo
@@ -909,6 +939,44 @@ class Api extends HttpClient {
909
939
  */
910
940
  proxyYuqueGetDoc: (docId, params = {}) => this.request(Object.assign({ path: `/api/yuque/repos/docs/${docId}`, method: "GET", format: "json" }, params)),
911
941
  };
942
+ this.admin = {
943
+ /**
944
+ * @description 管理员批量重启任务 根据时间范围、状态、租户、空间等条件筛选并重启任务。 满足下面任意一条规则的任务可以重启: 1. FAILED 或 CANCELED 状态的任务可以重试 2. 创建时间超过30分钟且未成功的任务可以重试
945
+ *
946
+ * @tags admin
947
+ * @name AdminRestartTasks
948
+ * @summary Admin Restart Tasks
949
+ * @request POST:/api/admin/task/restart
950
+ */
951
+ adminRestartTasks: (data, params = {}) => this.request(Object.assign({ path: `/api/admin/task/restart`, method: "POST", body: data, type: ContentType.Json, format: "json" }, params)),
952
+ /**
953
+ * @description 管理员更新租户信息 支持更新 tenant_name、email、is_active、metadata。 所有字段均为可选,只传入需要更新的字段即可。
954
+ *
955
+ * @tags admin
956
+ * @name AdminUpdateTenant
957
+ * @summary Admin Update Tenant
958
+ * @request PUT:/api/admin/tenant/{tenant_id}
959
+ */
960
+ adminUpdateTenant: (tenantId, data, params = {}) => this.request(Object.assign({ path: `/api/admin/tenant/${tenantId}`, method: "PUT", body: data, type: ContentType.Json, format: "json" }, params)),
961
+ /**
962
+ * @description 管理员更新租户密钥 secret_key 必须符合 sk-xxxx 格式,且长度大于10个字符。 密钥将自动加密后存储。
963
+ *
964
+ * @tags admin
965
+ * @name AdminUpdateTenantSecretKey
966
+ * @summary Admin Update Tenant Secret Key
967
+ * @request PUT:/api/admin/tenant/{tenant_id}/secret-key
968
+ */
969
+ adminUpdateTenantSecretKey: (tenantId, data, params = {}) => this.request(Object.assign({ path: `/api/admin/tenant/${tenantId}/secret-key`, method: "PUT", body: data, type: ContentType.Json, format: "json" }, params)),
970
+ /**
971
+ * @description 管理员更新空间信息 支持更新 space_name、description、metadata。 所有字段均为可选,只传入需要更新的字段即可。
972
+ *
973
+ * @tags admin
974
+ * @name AdminUpdateSpace
975
+ * @summary Admin Update Space
976
+ * @request PUT:/api/admin/tenant/{tenant_id}/space/{space_id}
977
+ */
978
+ adminUpdateSpace: (tenantId, spaceId, data, params = {}) => this.request(Object.assign({ path: `/api/admin/tenant/${tenantId}/space/${spaceId}`, method: "PUT", body: data, type: ContentType.Json, format: "json" }, params)),
979
+ };
912
980
  this.healthChecker = {
913
981
  /**
914
982
  * No description
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@petercatai/whisker-client",
3
- "version": "0.1.202512041544",
4
- "description": "Generated API client (Production)",
3
+ "version": "0.1.202512291542-dev",
4
+ "description": "Generated API client (Productuon)",
5
5
  "main": "dist/api.js",
6
6
  "types": "dist/api.d.ts",
7
7
  "files": [
@@ -13,10 +13,10 @@
13
13
  },
14
14
  "publishConfig": {
15
15
  "access": "public",
16
- "tag": "latest"
16
+ "tag": "dev"
17
17
  },
18
18
  "devDependencies": {
19
- "@types/node": "^24.10.1",
19
+ "@types/node": "^25.0.3",
20
20
  "axios": "^1.13.2",
21
21
  "typescript": "^5.9.3"
22
22
  }