@blueking/bkflow-canvas-editor 1.1.0-beta.9 → 1.2.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -370,7 +370,7 @@ interface SelectPanelConfig {
370
370
  <FlowDetail
371
371
  :flow-id="flowId"
372
372
  :api-config="apiConfig"
373
- :permissions="{ canEdit: true, canDebug: true }"
373
+ :permissions="{ canEdit: true, canDebug: true, canExecute: true }"
374
374
  @save="handleSave"
375
375
  @back="handleBack" />
376
376
  </template>
@@ -393,7 +393,8 @@ interface SelectPanelConfig {
393
393
  | ------------- | --------------------------------------------- | ---------------------------------- | -------------------------------------------------------------------------- |
394
394
  | `flowId` | `string` | - | **必需**,流程 ID |
395
395
  | `apiConfig` | `FlowApiConfig \| FlowDetailApiConfig` | - | **必需**,API 配置对象;`canDebug=true` 时需一并提供调试方法(见下) |
396
- | `permissions` | `Partial<FlowDetailPermissions>` | `{ canEdit: false, canDebug: false }` | 权限配置,**默认全部拒绝**,需显式开启 |
396
+ | `permissions` | `Partial<FlowDetailPermissions>` | `{ canEdit: false, canDebug: false, canExecute: false }` | 权限配置,**默认全部拒绝**,需显式开启 |
397
+ | `onExecuteSuccess` | `(result: FlowTaskExecuteSuccessResult) => void` | - | 执行成功回调,参数与 `FlowView` 一致 |
397
398
  | `enableVersion` / `flowVersion` | `boolean` / `string` | `false` / - | 流程版本功能,语义与 FlowView/FlowEdit 一致 |
398
399
  | `defaultZoom` / `quickAdd` / `hideTrigger` / `bkflowSaasUrl` | 同 FlowEdit | - | 透传给内部画布与信息侧滑 |
399
400
 
@@ -417,18 +418,20 @@ interface SelectPanelConfig {
417
418
  | `false` | `true` | 只读画布 + 全流程/单节点调试(调试期间流程本就不可编辑) |
418
419
  | `true` | `true` | 可编辑、保存与完整调试;调试运行中锁定编辑(画布转 `view`)|
419
420
 
421
+ `permissions.canExecute` 独立控制头部“执行流程”按钮。流程存在未保存修改时,确认保存成功后才会打开创建任务侧滑;`customFormContent` 插槽与 `FlowView` 一致。
422
+
420
423
  #### 调试能力
421
424
 
422
425
  - **全流程调试**:头部调试入口填写全局输入后启动,前端按 2500ms(失败退避 5000ms)轮询 `/context/`,可随时终止。
423
426
  - **单节点 real**:节点详情「调试配置」Tab 内直接以真实逻辑同步执行单步,完成后刷新 `context`。
424
- - **单节点 Mock**:配置 Mock 输出参数后执行(内部顺序:保存 Mock → 单步执行 mock);执行时跳过该节点并以 Mock 输出替代实际输出,Mock 节点在后续全流程中保留 `MOCK` 标签。
427
+ - **单节点 Mock**:配置 Mock 输出结果后执行(内部顺序:保存 Mock → 单步执行 mock);执行时跳过该节点并以 Mock 输出替代实际输出,Mock 节点在后续全流程中保留 `MOCK` 标签。
425
428
  - **取消 Mock**:清除节点的持久 Mock 配置。
426
- - **终止**:仅全流程运行中可终止;单步为同步调试,无终止。
429
+ - **终止**:全流程终止不传 `node_id`;单步调试进入运行/等待态时,传当前 `active_node_id` 终止该节点。
427
430
  - **保存联动**:`canDebug` 且 `context` 空闲时,保存成功后会查询 `reset_impact` 并自动清理失效节点的调试结果。
428
431
 
429
432
  #### 调试 API 契约(`canDebug=true` 必需)
430
433
 
431
- 消费方若传入完整的 api 配置对象(而非仅 `scopeData`),当 `canDebug=true` 时**必须**一并提供以下调试方法,否则触发调试会在调用点抛错:
434
+ 消费方若传入完整的 api 配置对象(而非仅 `scopeData`),当 `canDebug=true` 时**必须**一并提供以下调试方法,组件初始化时会统一校验:
432
435
 
433
436
  `fetchDebugContext`、`fetchDebugInputSchema`、`fetchDebugResetImpact`、`updateNodeDebugMock`、`runNodeDebugStep`、`runGlobalDebug`、`terminateDebug`、`resetDebugResult`(签名见 `DebugApiServices`)。
434
437
 
@@ -437,7 +440,7 @@ interface SelectPanelConfig {
437
440
  - 前端以 `debug_context`(后端 `build_context_view`)为**唯一事实源**,不新增 `node_input_values` 接口。`active_*`(当前持锁任务)与 `last_*`(最近一次运行)按顶层 `status` 分支选用。
438
441
  - 建议后端在 `debug_context` 透出 `mock_outputs` / `mock_error` / `outputs`,否则刷新后 Mock 输出与「输出结果/重新编辑」回填会缺数据。
439
442
  - 调试接口与普通接口同源:走后端 python 包 bkflow_sdk `TemplateViewSet` 的 `/bkflow/template/debug_*`,全站信封 `{result, data, message}`。走内置 `useFlowApi()` 时自动获得全部调试方法。
440
- - 调试仍使用**独立的 Axios 实例**,**不复用**共享的自动 toast 拦截器:成功解信封取 `data`、`result:false` 时 reject,交由调试控制器统一处理(锁定冲突刷新、缺失变量在节点 UI 展示)。锁定/幂等语义由 `code`/`message` 识别(具体码值联调确认)。
443
+ - 调试与普通接口共用同一 ApiClient:只在客户端边界解信封,并统一抛出 `ApiError`。调试请求的 `delegate` 仅转交 Message 呈现权,service/controller/page 不再重复解包或改造错误。
441
444
 
442
445
  > **Deprecated**:`FlowMockDebug` 已废弃,请改用 `FlowDetail` 并开启 `permissions.canDebug`。`FlowMockDebug` 将在下个大版本移除。
443
446
 
@@ -570,6 +573,8 @@ interface SelectPanelConfig {
570
573
  </script>
571
574
  ```
572
575
 
576
+ 外部 Axios 实例仍会通过组件的统一 ApiClient 边界,因此无论宿主拦截器返回 `AxiosResponse`、信封 body 或已解包 DTO,组件内部都获得业务 DTO。建议宿主拦截器不要再对 `{ result: false }` 弹业务 Message,否则无法保证跨边界的单次呈现。
577
+
573
578
  ### 监听流程编辑状态
574
579
 
575
580
  ```vue
@@ -1222,7 +1227,7 @@ type MemberSelectorConfig =
1222
1227
 
1223
1228
  ### 高级用法:传入完整 API 方法对象
1224
1229
 
1225
- 深度集成场景下,组件也支持直接传入“已处理好的 API 方法对象”。这类对象通常通过 `useFlowApi` 生成,或在其基础上覆写单个方法。
1230
+ 深度集成场景下,组件也支持直接传入“已处理好的 API 方法对象”。这类对象通常通过 `useFlowApi` 生成,或在其基础上覆写单个方法。“已处理”的契约是:方法直接 resolve 类型声明中的业务 DTO,失败时 reject `Error`/`ApiError`,不要再返回 `AxiosResponse` 或 `{ result, data, message }` 信封。
1226
1231
 
1227
1232
  - 常规场景:直接传 `FlowApiConfig`
1228
1233
  - 高级场景:传 `useFlowApi(config)` 的返回值
@@ -1250,7 +1255,8 @@ const apiConfig: FlowViewApiConfig = {
1250
1255
  const res = await http.get(`/custom/template/${id}/detail/`, {
1251
1256
  params: baseConfig.scopeData,
1252
1257
  });
1253
- return res.data;
1258
+ // 此处是宿主适配边界:返回 FlowTemplate,不返回 AxiosResponse/信封。
1259
+ return res.data.data;
1254
1260
  },
1255
1261
  };
1256
1262
  ```
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./composable-YlUVct40.cjs");exports.PLUGIN_GROUP_ICON_MAP=e.PLUGIN_GROUP_ICON_MAP;exports.useFlowApi=e.useFlowApi;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./context-B9wWQx6k.cjs");exports.PLUGIN_GROUP_ICON_MAP=e.PLUGIN_GROUP_ICON_MAP;exports.provideVariableInputCreateVariable=e.provideVariableInputCreateVariable;exports.useFlowApi=e.useFlowApi;exports.useVariableInputCreateVariable=e.useVariableInputCreateVariable;
@@ -44,6 +44,11 @@ interface NodeExecutionState {
44
44
  actions?: ExecutionNodeAction[];
45
45
  /** 兼容旧版后端直接透出的动作数组字段 */
46
46
  action_list?: ExecutionNodeAction[];
47
+ /**
48
+ * 条件网关命中的出边 flow_id。
49
+ * 有值时执行态连线优先按它着色,不要求目标节点已经执行(网关单步不会跑下游)。
50
+ */
51
+ selectedFlowIds?: string[];
47
52
  }
48
53
  type TaskExecutionStates = Record<string, NodeExecutionState>;
49
54
 
@@ -601,13 +606,12 @@ interface CustomVariableType {
601
606
  }
602
607
 
603
608
  type DebugContextStatus = 'idle' | 'running' | 'terminating';
604
- type DebugNodeStatus = 'not_run' | 'running' | 'waiting' | 'paused' | 'finished' | 'failed' | 'suspended' | 'skipped';
609
+ type DebugNodeStatus = 'not_run' | 'running' | 'waiting' | 'paused' | 'finished' | 'failed' | 'revoked' | 'suspended' | 'skipped';
605
610
  type DebugExecutionMode = 'real' | 'mock';
606
611
  interface DebugMissingVar {
607
612
  key: string;
608
613
  source_node_id: string | null;
609
614
  }
610
- type DebugRunMode = DebugExecutionMode | 'mixed';
611
615
  type DebugRunType = 'global' | 'step';
612
616
  type DebugRunStatus = 'not_run' | 'running' | 'waiting' | 'paused' | 'terminating' | 'finished' | 'failed' | 'revoked';
613
617
  /** 运行级 / 节点级错误详情(last_error_detail、nodes[].error_detail)。 */
@@ -624,6 +628,15 @@ interface DebugErrorDetail {
624
628
  failures?: DebugErrorFailure[];
625
629
  [key: string]: unknown;
626
630
  }
631
+ /** 条件网关分支求值结果(`debug_context.nodes[].condition_results`)。 */
632
+ interface DebugConditionResult {
633
+ flow_id: string;
634
+ name?: string;
635
+ expression?: string;
636
+ resolved_expression?: string;
637
+ matched?: boolean;
638
+ [key: string]: unknown;
639
+ }
627
640
  interface DebugContextNode {
628
641
  node_id: string;
629
642
  node_type: string;
@@ -632,6 +645,10 @@ interface DebugContextNode {
632
645
  can_step: boolean;
633
646
  missing_vars: DebugMissingVar[];
634
647
  waiting_reason?: string | null;
648
+ /** 是否支持单步调试;并行/汇聚网关为 false,仅用于展示全局调试状态。 */
649
+ supports_step?: boolean;
650
+ /** 是否支持 Mock;全部网关为 false。 */
651
+ supports_mock?: boolean;
635
652
  mock_result?: 'success' | 'fail' | null;
636
653
  error_detail?: DebugErrorDetail | string | null;
637
654
  duration_ms?: number | null;
@@ -643,6 +660,10 @@ interface DebugContextNode {
643
660
  mock_outputs?: Record<string, unknown> | null;
644
661
  mock_error?: string | null;
645
662
  outputs?: Record<string, unknown> | null;
663
+ /** 条件网关命中的出边 flow_id;画布用它把命中连线标绿。 */
664
+ selected_flow_ids?: string[];
665
+ /** 条件网关每个分支的表达式与命中结果。 */
666
+ condition_results?: DebugConditionResult[];
646
667
  }
647
668
  /**
648
669
  * /debug_context/ 顶层结构。
@@ -681,28 +702,10 @@ interface DebugInputSchema {
681
702
  constants?: Record<string, unknown>;
682
703
  [key: string]: unknown;
683
704
  }
684
- interface DebugHistoryRun {
685
- task_id?: number | string | null;
686
- operator?: string;
687
- started_at?: string;
688
- finished_at?: string;
689
- status?: DebugRunStatus | string;
690
- run_type?: DebugRunType;
691
- run_mode?: DebugRunMode;
692
- [key: string]: unknown;
693
- }
694
- interface DebugHistory {
695
- runs?: DebugHistoryRun[];
696
- [key: string]: unknown;
697
- }
698
705
  interface DebugResetImpact {
699
706
  reset_node_ids: string[];
700
707
  reasons?: Record<string, string>;
701
708
  }
702
- interface DebugGlobalVarsResult {
703
- global_vars: Record<string, unknown>;
704
- [key: string]: unknown;
705
- }
706
709
  interface UpdateNodeDebugMockResult {
707
710
  node_id: string;
708
711
  execution_mode: DebugExecutionMode;
@@ -716,6 +719,8 @@ interface RunNodeDebugStepResult {
716
719
  error_detail?: unknown;
717
720
  updated_global_vars?: Record<string, unknown>;
718
721
  log_ref?: DebugContextNode['log_ref'];
722
+ selected_flow_ids?: string[];
723
+ condition_results?: DebugConditionResult[];
719
724
  [key: string]: unknown;
720
725
  }
721
726
  interface RunGlobalDebugResult {
@@ -723,19 +728,22 @@ interface RunGlobalDebugResult {
723
728
  status: DebugContextStatus;
724
729
  [key: string]: unknown;
725
730
  }
731
+ /**
732
+ * /debug_terminate/ 返回。
733
+ *
734
+ * 全局终止返回 `terminating`,需要继续轮询 /debug_context/ 直到 idle + last_run_status=revoked;
735
+ * 单节点终止直接返回 `idle`,并用 reset_node_ids 告知哪些节点被恢复为「未调试」。
736
+ */
726
737
  interface TerminateDebugResult {
727
738
  status?: DebugContextStatus;
739
+ /** 单节点终止:被恢复为 not_run 的节点,本地需同步清空输入、输出、耗时、错误与日志。 */
740
+ reset_node_ids?: string[];
728
741
  [key: string]: unknown;
729
742
  }
730
743
  interface DebugResetResult {
731
744
  reset_node_ids?: string[];
732
745
  [key: string]: unknown;
733
746
  }
734
- interface UpdateDebugContextVariableParams {
735
- templateId: string | number;
736
- key: string;
737
- value: unknown;
738
- }
739
747
  interface UpdateNodeDebugMockParams {
740
748
  templateId: string | number;
741
749
  nodeId: string;
@@ -768,9 +776,7 @@ interface ResetDebugResultParams {
768
776
  interface DebugApiServices {
769
777
  fetchDebugContext(templateId: string | number): Promise<DebugContext>;
770
778
  fetchDebugInputSchema(templateId: string | number): Promise<DebugInputSchema>;
771
- fetchDebugHistory(templateId: string | number): Promise<DebugHistory>;
772
779
  fetchDebugResetImpact(templateId: string | number): Promise<DebugResetImpact>;
773
- updateDebugContextVariable(params: UpdateDebugContextVariableParams): Promise<DebugGlobalVarsResult>;
774
780
  updateNodeDebugMock(params: UpdateNodeDebugMockParams): Promise<UpdateNodeDebugMockResult>;
775
781
  runNodeDebugStep(params: RunNodeDebugStepParams): Promise<RunNodeDebugStepResult>;
776
782
  runGlobalDebug(params: RunGlobalDebugParams): Promise<RunGlobalDebugResult>;
@@ -791,12 +797,7 @@ interface FlowApiConfig {
791
797
  /** CSRF cookie 名称(可选,用于创建新的 axios 实例时设置 xsrfCookieName) */
792
798
  xsrfCookieName?: string;
793
799
  /** 作用域数据(必需,由外部传入) */
794
- scopeData: {
795
- scope_type: string;
796
- scope_value: number;
797
- /** 业务方传入的空间 ID,调试接口专用,语义独立于 scope_value */
798
- space_id: number;
799
- };
800
+ scopeData: ScopeData;
800
801
  /**
801
802
  * 用户查询 API 地址(可选)
802
803
  * @deprecated 请改用 FlowEdit/FlowView 顶层组件的 `memberSelectorConfig.fetchUserApi`。
@@ -806,6 +807,12 @@ interface FlowApiConfig {
806
807
  /** 是否启用第三方插件(可选,默认为 true) */
807
808
  enableThirdPlugin?: boolean;
808
809
  }
810
+ interface ScopeData {
811
+ scope_type: string;
812
+ scope_value: number;
813
+ /** 业务方传入的空间 ID,语义独立于 scope_value。 */
814
+ space_id: number;
815
+ }
809
816
 
810
817
  interface DrawPipelineParams {
811
818
  pipeline_tree: PipelineTree;
@@ -835,6 +842,7 @@ interface FetchTaskStateParams {
835
842
  interface FetchTaskNodeDetailParams {
836
843
  task_id: number | string;
837
844
  node_id: string;
845
+ component_code?: string;
838
846
  }
839
847
  interface FetchTaskNodeSnapshotParams {
840
848
  task_id: number | string;
@@ -860,6 +868,8 @@ interface FlowTaskDetail {
860
868
  id: number | string;
861
869
  template_id: number;
862
870
  pipeline_tree: PipelineTree;
871
+ /** 任务已耗时(秒),调试摘要弹层刷新恢复用。 */
872
+ elapsed_time?: number;
863
873
  [key: string]: unknown;
864
874
  }
865
875
  interface CreateFlowTaskParams {
@@ -1037,5 +1047,24 @@ declare const PLUGIN_GROUP_ICON_MAP: Record<string, string>;
1037
1047
  */
1038
1048
  declare function useFlowApi(config: FlowApiConfig): FlowDetailApiConfig;
1039
1049
 
1040
- export { PLUGIN_GROUP_ICON_MAP, useFlowApi };
1041
- export type { CustomVariableType, DebugApiServices, DebugContext, DebugContextNode, DebugContextStatus, DebugErrorDetail, DebugExecutionMode, DebugInputSchema, DebugMissingVar, DebugNodeStatus, DebugRunStatus, DebugRunType, EndEvent, Flow, FlowDetailApiConfig, FlowEditApiConfig, FlowListItem, FlowViewApiConfig, GatewayType, Line, Location, NodeConfigData, NodeType, NotifyConfig, PluginGroupConfig, PluginOutputItem, PortOrientation, StartEvent, TemplateConfigs, UniformApiPluginConfig, UniformApiPluginInputsItem, VariableRefRequestParams };
1050
+ interface VariableOption {
1051
+ key: string;
1052
+ name: string;
1053
+ source_type?: string;
1054
+ custom_type?: string;
1055
+ }
1056
+ interface CreateVariablePayload {
1057
+ keyword?: string;
1058
+ cursorIndex?: number;
1059
+ defaultCustomType?: string;
1060
+ }
1061
+ interface CreateVariableRequest extends CreateVariablePayload {
1062
+ onCreated: (option: VariableOption) => void;
1063
+ }
1064
+
1065
+ type VariableInputCreateVariableHandler = (request: CreateVariableRequest) => void;
1066
+ declare const provideVariableInputCreateVariable: (handler: VariableInputCreateVariableHandler) => void;
1067
+ declare const useVariableInputCreateVariable: () => VariableInputCreateVariableHandler | null;
1068
+
1069
+ export { PLUGIN_GROUP_ICON_MAP, provideVariableInputCreateVariable, useFlowApi, useVariableInputCreateVariable };
1070
+ export type { CreateVariablePayload, CreateVariableRequest, CustomVariableType, DebugApiServices, DebugConditionResult, DebugContext, DebugContextNode, DebugContextStatus, DebugErrorDetail, DebugExecutionMode, DebugInputSchema, DebugMissingVar, DebugNodeStatus, DebugRunStatus, DebugRunType, EndEvent, Flow, FlowDetailApiConfig, FlowEditApiConfig, FlowListItem, FlowViewApiConfig, GatewayType, Line, Location, NodeConfigData, NodeType, NotifyConfig, PluginGroupConfig, PluginOutputItem, PortOrientation, StartEvent, TemplateConfigs, UniformApiPluginConfig, UniformApiPluginInputsItem, VariableInputCreateVariableHandler, VariableOption, VariableRefRequestParams };
@@ -1,5 +1,7 @@
1
- import { P as s, u as _ } from "./composable-Cf47ka9M.js";
1
+ import { P as r, p as i, u as p, a as s } from "./context-CVSZiSc9.js";
2
2
  export {
3
- s as PLUGIN_GROUP_ICON_MAP,
4
- _ as useFlowApi
3
+ r as PLUGIN_GROUP_ICON_MAP,
4
+ i as provideVariableInputCreateVariable,
5
+ p as useFlowApi,
6
+ s as useVariableInputCreateVariable
5
7
  };
@@ -0,0 +1 @@
1
+ "use strict";const A=require("bkui-vue/lib/message"),L=require("axios"),T=require("vue"),E="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20class='design-iconfont'%3e%3cpath%20d='M13,1%20C14.1045695,1%2015,1.8954305%2015,3%20L15,13%20C15,14.1045695%2014.1045695,15%2013,15%20L3,15%20C1.8954305,15%201,14.1045695%201,13%20L1,3%20C1,1.8954305%201.8954305,1%203,1%20L13,1%20Z%20M13,12%20L3,12%20C2.72385763,12%202.5,12.2238576%202.5,12.5%20C2.5,12.7761424%202.72385763,13%203,13%20L13,13%20C13.2761424,13%2013.5,12.7761424%2013.5,12.5%20C13.5,12.2238576%2013.2761424,12%2013,12%20Z%20M5,6.5%20L4,6.5%20C3.72385763,6.5%203.5,6.72385763%203.5,7%20L3.5,10.5%20C3.5,10.7761424%203.72385763,11%204,11%20L5,11%20C5.27614237,11%205.5,10.7761424%205.5,10.5%20L5.5,7%20C5.5,6.72385763%205.27614237,6.5%205,6.5%20Z%20M8.5,3.5%20L7.5,3.5%20C7.22385763,3.5%207,3.72385763%207,4%20L7,10.5%20C7,10.7761424%207.22385763,11%207.5,11%20L8.5,11%20C8.77614237,11%209,10.7761424%209,10.5%20L9,4%20C9,3.72385763%208.77614237,3.5%208.5,3.5%20Z%20M12,5%20L11,5%20C10.7238576,5%2010.5,5.22385763%2010.5,5.5%20L10.5,10.5%20C10.5,10.7761424%2010.7238576,11%2011,11%20L12,11%20C12.2761424,11%2012.5,10.7761424%2012.5,10.5%20L12.5,5.5%20C12.5,5.22385763%2012.2761424,5%2012,5%20Z'%20fill='%23F8A54F'%20fill-rule='evenodd'/%3e%3c/svg%3e",O="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20class='design-iconfont'%3e%3cdefs%3e%3clinearGradient%20x1='0%25'%20y1='0%25'%20x2='100%25'%20y2='96.1961861%25'%20id='19loczb8h__f71x3hmpea'%3e%3cstop%20stop-color='%234D76E3'%20offset='0%25'/%3e%3cstop%20stop-color='%23D787EE'%20offset='100%25'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M13,1%20C14.1045695,1%2015,1.8954305%2015,3%20L15,13%20C15,14.1045695%2014.1045695,15%2013,15%20L3,15%20C1.8954305,15%201,14.1045695%201,13%20L1,3%20C1,1.8954305%201.8954305,1%203,1%20L13,1%20Z%20M8.5,2.5%20C6.17779929,2.5%204.26643215,4.28054945%204.02558864,6.56651687%20L4.026,6.558%20L4.03,6.54%20L3.99928094,6.75189877%20C3.76394842,8.11436335%203.07389664,8.46527789%203.00547979,8.87325046%20L3,8.93829715%20C3,9.39912427%204.33397403,9.2134945%204.33397403,9.69904945%20L4.33397403,10.9924271%20C4.33401331,11.5290486%204.757596,11.9699791%205.29378397,11.9915459%20C5.90300757,12.0163699%206.26264111,12.0687043%206.37268552,12.1485262%20C6.45725813,12.2098718%206.51932943,12.4266274%206.55889942,12.7987929%20L6.57276328,12.9456332%20C6.61875295,13.4959998%207.10219523,13.904878%207.65256183,13.8588884%20C7.70929358,13.8541478%207.76551689,13.8445713%207.82061902,13.8302632%20L10.1746185,13.2277878%20C10.5547586,13.1298644%2010.8424468,12.818586%2010.9101698,12.431922%20C11.0509156,11.6378879%2011.2333254,10.9899099%2011.4579782,10.4880363%20C12.402959,9.65300356%2013,8.42466038%2013,7.05516145%20C13,4.53941525%2010.9852814,2.5%208.5,2.5%20Z%20M8.9876109,3.8125%20C9.12361371,3.8219246%209.2572817,3.84136285%209.38686376,3.87081473%20L9.51119251,4.49813988%20C9.7435063,4.58296131%209.9565579,4.70842634%2010.1410081,4.86687748%20L10.7410548,4.6624814%20C10.8461213,4.77852183%2010.9412649,4.90339782%2011.0247344,5.03652034%20L11.1333032,5.22560144%20C11.2050986,5.36461434%2011.2658038,5.51128472%2011.3125,5.66384549%20L10.8356146,6.08677455%20C10.8560442,6.20399306%2010.8665509,6.32474578%2010.8665509,6.4484437%20C10.8665509,6.57390873%2010.8554605,6.69642857%2010.8344472,6.81541419%20L11.3101652,7.23775422%20C11.1934246,7.61473834%2010.9949656,7.95579117%2010.7358014,8.2391183%20L10.135171,8.03413318%20C9.95188828,8.19022817%209.74117149,8.31392609%209.51177621,8.39815848%20L9.38744747,9.02607267%20C9.20182991,9.06789435%209.00920792,9.09027778%208.81133259,9.09027778%20C8.61579208,9.09027778%208.4249212,9.06848338%208.24163845,9.02725074%20L8.11730971,8.40051463%20C7.88616332,8.31628224%207.67369542,8.19199529%207.48924527,8.03531126%20L6.88803117,8.24029638%20C6.79055277,8.13368056%206.70182991,8.0188182%206.6224463,7.89747644%20L6.47068352,7.63240947%20C6.408811,7.50753348%206.35569402,7.37676711%206.31366741,7.24128844%20L6.78938536,6.81894841%20C6.76778835,6.69878472%206.75669799,6.57449777%206.75669799,6.44785466%20C6.75669799,6.32297867%206.76778835,6.20045883%206.78880166,6.08147321%20L6.3125,5.65913318%20C6.3504407,5.53661334%206.39713694,5.41821677%206.45142132,5.30394345%20L6.64696183,4.96230159%20C6.719341,4.8562748%206.79814091,4.75496032%206.88452895,4.66071429%20L7.48457565,4.8656994%20C7.67077691,4.70665923%207.88499591,4.58060516%208.11906082,4.49578373%20L8.24338956,3.86904762%20C8.37122052,3.84077381%208.50197,3.82133557%208.63622169,3.8125%20Z%20M8.8119163,5.50598338%20C8.29592283,5.50598338%207.87799148,5.92773437%207.87799148,6.4484437%20C7.87799148,6.96915303%208.29592283,7.39090402%208.8119163,7.39090402%20C9.32790976,7.39090402%209.74584112,6.96915303%209.74584112,6.4484437%20C9.74584112,5.92773437%209.32790976,5.50598338%208.8119163,5.50598338%20Z%20M8.8119163,5.88296751%20C9.12139176,5.88296751%209.37227119,6.13613982%209.37227119,6.4484437%20C9.37227119,6.76074758%209.12139176,7.01391989%208.8119163,7.01391989%20C8.50244084,7.01391989%208.25156141,6.76074758%208.25156141,6.4484437%20C8.25156141,6.13613982%208.50244084,5.88296751%208.8119163,5.88296751%20Z'%20fill='url(%2319loczb8h__f71x3hmpea)'%20fill-rule='evenodd'/%3e%3c/svg%3e",I="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20class='design-iconfont'%3e%3cpath%20d='M13,1%20C14.1045695,1%2015,1.8954305%2015,3%20L15,13%20C15,14.1045695%2014.1045695,15%2013,15%20L3,15%20C1.8954305,15%201,14.1045695%201,13%20L1,3%20C1,1.8954305%201.8954305,1%203,1%20L13,1%20Z%20M8.03846154,2.5%20C7.295,2.5%206.6923077,3.10269231%206.6923077,3.84615384%20L6.6923077,4.42307693%20L4.38461538,4.42307693%20C4.17230769,4.42307693%204,4.59538461%204,4.8076923%20L4,6.92307693%20L4.57692308,6.92307693%20C5.32038461,6.92307693%205.92307693,7.52576923%205.92307693,8.26923077%20C5.92307693,9.0126923%205.32038461,9.61538461%204.57692308,9.61538461%20L4,9.61538461%20L4,12.1153846%20C4,12.3276923%204.17230769,12.5%204.38461538,12.5%20L6.6923077,12.5%20L6.6923077,11.9230769%20C6.6923077,11.1796154%207.295,10.5769231%208.03846154,10.5769231%20C8.78192307,10.5769231%209.38461539,11.1796154%209.38461539,11.9230769%20L9.38461539,12.5%20L11.6923077,12.5%20C11.9046154,12.5%2012.0769231,12.3276923%2012.0769231,12.1153846%20L12.0769231,9.61538461%20L12.6538462,9.61538461%20C13.3973077,9.61538461%2014,9.0126923%2014,8.26923077%20C14,7.52576923%2013.3973077,6.92307693%2012.6538462,6.92307693%20L12.0769231,6.92307693%20L12.0769231,4.8076923%20C12.0769231,4.59538461%2011.9046154,4.42307693%2011.6923077,4.42307693%20L9.38461539,4.42307693%20L9.38461539,3.84615384%20C9.38461539,3.10269231%208.78192307,2.5%208.03846154,2.5%20Z'%20fill='%235AB88E'%20fill-rule='evenodd'/%3e%3c/svg%3e",B="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20class='design-iconfont'%3e%3cdefs%3e%3clinearGradient%20x1='0%25'%20y1='0%25'%20x2='100%25'%20y2='96.1961861%25'%20id='vgdxp7v4l__zvhmfdo4ha'%3e%3cstop%20stop-color='%234D76E3'%20offset='0%25'/%3e%3cstop%20stop-color='%23D787EE'%20offset='100%25'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M13,1%20C14.1045695,1%2015,1.8954305%2015,3%20L15,13%20C15,14.1045695%2014.1045695,15%2013,15%20L3,15%20C1.8954305,15%201,14.1045695%201,13%20L1,3%20C1,1.8954305%201.8954305,1%203,1%20L13,1%20Z%20M8.44875881,3.88645164%20C7.88887563,4.38553286%207.31548649,5.06473362%206.78138741,5.85400744%20C6.4216379,5.88402737%206.07416654,5.92655559%205.74142896,5.98159211%20C5.68126606,5.77270348%205.6321535,5.570069%205.59409127,5.37619034%20C5.50937211,4.9434031%205.48727146,4.57065572%205.52901714,4.29797476%20C5.55848467,4.10784858%205.61741973,3.97275892%205.6935442,3.92772904%20C5.81878123,3.85393006%206.26447771,3.90646492%207.05027868,4.63319723%20L7.64454064,3.96650477%20C7.22094482,3.57499494%206.82067746,3.29856148%206.45356107,3.14470937%20C6.13432943,3.01087055%205.66653229,2.90329916%205.25153116,3.14721103%20C4.84512474,3.38611959%204.42398453,3.99777552%204.72725459,5.55130656%20C4.76531682,5.74893772%204.81442938,5.95282302%204.87336445,6.16421332%20C4.66586389,6.21799902%204.46818584,6.27678802%204.2815581,6.34183119%20C2.80940913,6.85216989%202.5,7.528869%202.5,8.0066861%20C2.5,8.49826234%202.82905415,8.85850142%203.10654011,9.07364421%20C3.42454394,9.32130857%203.86532916,9.53770219%204.41661765,9.71532006%20L4.68428111,8.85725059%20C3.65660079,8.5257806%203.38525389,8.1555349%203.38525389,8.0066861%20C3.38525389,7.91787716%203.46997306,7.79654664%203.61731074,7.67646695%20C3.82849474,7.50385239%204.15754889,7.33749199%204.56641096,7.19489735%20C4.75058305,7.13110501%204.9470333,7.07356682%205.15330604,7.02228279%20C5.27240401,7.34374613%205.41114699,7.67271446%205.56585156,8.00543527%20C5.34975629,8.47074408%205.16558418,8.93230041%205.01824651,9.37384344%20C4.76040556,10.1518598%204.62534603,10.8610805%204.62780166,11.4227032%20C4.63025729,11.9092761%204.74076054,12.5522028%205.25521461,12.8549037%20C5.43570327,12.9612243%205.62478661,13%205.80895872,13%20C6.05083808,13%206.2804393,12.9312044%206.46338358,12.8549037%20C6.8329556,12.6998008%207.23567859,12.4196148%207.66050223,12.0243525%20L7.06501244,11.3589109%20C6.27184459,12.0956498%205.82369249,12.1494355%205.69722765,12.0743857%20C5.60882504,12.0218508%205.51428337,11.8229689%205.51182774,11.4176999%20C5.50937211,10.9536419%205.62847006,10.3457385%205.85561565,9.66028354%20C5.92437324,9.45264574%206.00172552,9.24125546%206.08890031,9.02611266%20C6.10363407,9.05112927%206.11714004,9.07614586%206.13187381,9.1024133%20C6.59967093,9.92671036%207.13254221,10.6947201%207.67400818,11.321386%20C8.20687945,11.9380452%208.74220636,12.4121098%209.22105382,12.691045%20C9.49240072,12.8499004%209.84601114,13%2010.2008494,13%20C10.3874771,13%2010.5753327,12.9587226%2010.7533657,12.8536529%20C11.2678198,12.550952%2011.378323,11.9067745%2011.3807786,11.4202015%20C11.3832343,10.8585788%2011.2481747,10.1493581%2010.9903338,9.37009095%20C10.8589577,8.97232696%2010.6956584,8.55705136%2010.5065751,8.13802326%20L9.70235691,8.5170248%20C9.87916211,8.9072838%2010.0301832,9.29128866%2010.1517368,9.66028354%20C10.3788824,10.3457385%2010.4979804,10.9536419%2010.4955247,11.4189507%20C10.4942969,11.8242197%2010.3985274,12.0243525%2010.3101248,12.0756365%20C10.2217222,12.1281714%2010.0043991,12.1119106%209.65938341,11.910527%20C9.2640273,11.6803742%208.80605269,11.2713527%208.33702774,10.7272417%20C7.833624,10.1443548%207.33513152,9.42762914%206.89680191,8.65336529%20C6.77402052,8.43697167%206.658606,8.22182889%206.55055837,8.00543527%20C6.65983383,7.78654%206.77647615,7.56889555%206.89925754,7.35250195%20C7.02081114,7.13735916%207.14604815,6.92847053%207.27496864,6.72583605%20C7.51316455,6.71332774%207.7550439,6.70707359%208.00060669,6.70707359%20C9.30454518,6.70707359%2010.5249923,6.88093898%2011.4348024,7.19614818%20C11.8448923,7.33749199%2012.1727187,7.50385239%2012.3839027,7.67771778%20C12.5312403,7.7990483%2012.6159595,7.91912799%2012.6159595,8.00793694%20C12.6159595,8.10425085%2012.5189622,8.23433719%2012.3495239,8.36567435%20C12.111328,8.54954639%2011.7442116,8.72341178%2011.2886926,8.86850806%20L11.5526726,9.72782838%20C12.1125558,9.55021049%2012.5607079,9.33256604%2012.883623,9.08365086%20C13.1647924,8.86725724%2013.5,8.50451651%2013.5,8.00793694%20C13.5012134,7.528869%2013.1918043,6.85216989%2011.7196553,6.34183119%20C10.7202147,5.99535125%209.39908685,5.80522507%208.00060669,5.80522507%20L7.91097628,5.80522507%20C8.2805483,5.31740132%208.66117063,4.89587157%209.03197046,4.56440157%20C9.35734117,4.27420898%209.66306686,4.06782201%209.91599654,3.9677556%20C10.0928018,3.89770911%2010.2376838,3.88394998%2010.3138083,3.92772904%20C10.3960718,3.97651141%2010.4586903,4.12786186%2010.4844744,4.34425547%20C10.5213088,4.64945802%2010.4844744,5.06348279%2010.3776546,5.54129991%20L11.23958,5.7401819%20C11.3697283,5.15354257%2011.411474,4.64695636%2011.3611336,4.23418242%20C11.3181601,3.87519417%2011.1781893,3.39612623%2010.7545935,3.14721103%20C10.3481871,2.90830248%209.61886555,2.84200848%208.44875881,3.88645164%20Z%20M8.42307307,6.91304349%20C7.83892612,6.91304349%207.36538145,7.39969049%207.36538145,8%20C7.36538145,8.60030951%207.83892612,9.08695653%208.42307307,9.08695653%20C9.00722001,9.08695653%209.48076468,8.60030951%209.48076468,8%20C9.48076468,7.39969049%209.00722001,6.91304349%208.42307307,6.91304349%20Z'%20fill='url(%23vgdxp7v4l__zvhmfdo4ha)'%20fill-rule='evenodd'/%3e%3c/svg%3e",G="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2016%2016'%20class='design-iconfont'%3e%3cdefs%3e%3clinearGradient%20x1='0%25'%20y1='0%25'%20x2='100%25'%20y2='96.1961861%25'%20id='7doce0e6d__r8m44v5xza'%3e%3cstop%20stop-color='%234D76E3'%20offset='0%25'/%3e%3cstop%20stop-color='%23D787EE'%20offset='100%25'/%3e%3c/linearGradient%3e%3c/defs%3e%3cpath%20d='M13,1%20C14.1045695,1%2015,1.8954305%2015,3%20L15,13%20C15,14.1045695%2014.1045695,15%2013,15%20L3,15%20C1.8954305,15%201,14.1045695%201,13%20L1,3%20C1,1.8954305%201.8954305,1%203,1%20L13,1%20Z%20M11,3.5%20L5,3.5%20C3.8954305,3.5%203,4.3954305%203,5.5%20L3,9.5%20C3,10.6045695%203.8954305,11.5%205,11.5%20L9.536,11.5%20L12.0312272,13.0147852%20L11.4996566,11.5%20L11.0252355,11.4998441%20C12.1181756,11.4863297%2013,10.5961454%2013,9.5%20L13,5.5%20C13,4.3954305%2012.1045695,3.5%2011,3.5%20Z%20M8,9%20C8.27614237,9%208.5,9.22385763%208.5,9.5%20C8.5,9.77614237%208.27614237,10%208,10%20L5,10%20C4.72385763,10%204.5,9.77614237%204.5,9.5%20C4.5,9.22385763%204.72385763,9%205,9%20Z%20M11,7%20C11.2761424,7%2011.5,7.22385763%2011.5,7.5%20C11.5,7.77614237%2011.2761424,8%2011,8%20L5,8%20C4.72385763,8%204.5,7.77614237%204.5,7.5%20C4.5,7.22385763%204.72385763,7%205,7%20Z%20M11,5%20C11.2761424,5%2011.5,5.22385763%2011.5,5.5%20C11.5,5.77614237%2011.2761424,6%2011,6%20L5,6%20C4.72385763,6%204.5,5.77614237%204.5,5.5%20C4.5,5.22385763%204.72385763,5%205,5%20Z'%20fill='url(%237doce0e6d__r8m44v5xza)'%20fill-rule='evenodd'/%3e%3c/svg%3e",R="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='32px'%20height='32px'%20viewBox='0%200%2032%2032'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3eIcon/Node/知识库%3c/title%3e%3cdefs%3e%3clinearGradient%20x1='2.20648492%25'%20y1='2.12255434%25'%20x2='100%25'%20y2='96.1961861%25'%20id='linearGradient-1'%3e%3cstop%20stop-color='%234DB9E3'%20offset='0%25'%3e%3c/stop%3e%3cstop%20stop-color='%23BA70EF'%20offset='100%25'%3e%3c/stop%3e%3c/linearGradient%3e%3c/defs%3e%3cg%20id='Icon/Node/知识库'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3cpath%20d='M28,2%20C29.1045695,2%2030,2.8954305%2030,4%20L30,28%20C30,29.1045695%2029.1045695,30%2028,30%20L4,30%20C2.8954305,30%202,29.1045695%202,28%20L2,4%20C2,2.8954305%202.8954305,2%204,2%20L28,2%20Z%20M17.3479972,6%20L14.1475857,6%20C13.7208642,6%2013.3652629,6.35778176%2013.3652629,6.78711986%20L13.3652629,25.2128801%20C13.3652629,25.6422183%2013.7208642,26%2014.1475857,26%20L17.3479972,26%20C17.7747188,26%2018.1303201,25.6422183%2018.1303201,25.2128801%20L18.1303201,6.78711986%20C18.1658802,6.35778176%2017.8102789,6%2017.3479972,6%20Z%20M10.9827343,8.64758499%20L7.78232282,8.64758499%20C7.35560129,8.64758499%207,9.00536675%207,9.43470484%20L7,25.2128801%20C7,25.6422183%207.35560129,26%207.78232282,26%20L10.9827343,26%20C11.4094559,26%2011.7650571,25.6422183%2011.7650571,25.2128801%20L11.7650571,9.43470484%20C11.7650571,9.00536673%2011.4094559,8.64758499%2010.9827343,8.64758499%20Z%20M22.1841746,8.25402505%20L22.0419342,8.25402505%20L18.9126429,8.86225404%20C18.4859213,8.93381039%2018.2014403,9.36314849%2018.2725606,9.7924866%20L21.2951715,25.3202147%20C21.3662917,25.7137746%2021.6863328,25.9642218%2022.0774943,25.9642218%20L22.2197348,25.9642218%20L25.349026,25.3559928%20C25.7757476,25.2486584%2026.0602286,24.8193202%2025.9891084,24.3899821%20L23.0020576,8.89803221%20C22.8953773,8.50447228%2022.575336,8.25402505%2022.1841746,8.25402505%20Z%20M10.0937311,10.4364937%20C10.4848925,10.4364937%2010.8049337,10.7584973%2010.8049337,11.1520572%20C10.8049337,11.5456172%2010.4848925,11.8676208%2010.0937311,11.8676208%20L8.67132601,11.8676208%20C8.28016461,11.8676208%207.96012346,11.5456172%207.96012346,11.1520572%20C7.96012346,10.7584973%208.28016461,10.4364937%208.67132601,10.4364937%20L10.0937311,10.4364937%20Z%20M22.4686557,10.4722719%20C22.539776,10.8658319%2022.2908551,11.2593918%2021.8996937,11.3309481%20L20.4772885,11.6171735%20L20.335048,11.6171735%20C20.0150069,11.6171735%2019.6949657,11.3667263%2019.6238455,11.0447227%20C19.5527252,10.6511628%2019.8016461,10.2576029%2020.1928074,10.1860465%20L21.6152126,9.89982112%20C22.006374,9.82826478%2022.3975355,10.078712%2022.4686557,10.4722719%20Z%20M16.4945542,7.82468694%20C16.8857156,7.82468694%2017.2057567,8.14669052%2017.2057567,8.54025046%20C17.2057567,8.9338104%2016.8857156,9.25581397%2016.4945542,9.25581397%20L15.072149,9.25581397%20C14.6809876,9.25581397%2014.3609465,8.93381039%2014.3609465,8.54025046%20C14.3609465,8.14669054%2014.6809876,7.82468694%2015.072149,7.82468694%20L16.4945542,7.82468694%20Z'%20id='形状结合备份'%20fill='url(%23linearGradient-1)'%3e%3c/path%3e%3c/g%3e%3c/svg%3e",y=I,P={bkflow:I,data:E,agent:O,model:B,output:G,knowledgebase:R},Z={bkflow:"bkflow-canvas-icon bkflow-canvas-plugin",data:"bkflow-canvas-icon bkflow-canvas-data",agent:"bkflow-canvas-icon bkflow-canvas-zhinengti",model:"bkflow-canvas-icon bkflow-canvas-model-filled",knowledgebase:"bkflow-canvas-icon bkflow-canvas-knowledgebase-filled"},C="请求失败";class d extends Error{httpStatus;code;data;cause;constructor(e,s={}){super(e||C),this.name="ApiError",this.httpStatus=s.httpStatus,this.code=s.code,this.data=s.data,this.cause=s.cause}}const h=a=>Object.prototype.toString.call(a)==="[object Object]",D=a=>h(a)&&typeof a.result=="boolean"&&Object.prototype.hasOwnProperty.call(a,"data")&&(Object.prototype.hasOwnProperty.call(a,"code")||Object.prototype.hasOwnProperty.call(a,"message")),w=a=>typeof a=="string"?a:h(a)?typeof a.err_msg=="string"?a.err_msg:typeof a.message=="string"?a.message:typeof a.detail=="string"?a.detail:h(a.detail)&&typeof a.detail.detail=="string"?a.detail.detail:"":"";function U(a){const e=h(a)&&typeof a.status=="number"&&Object.prototype.hasOwnProperty.call(a,"config")&&Object.prototype.hasOwnProperty.call(a,"data"),s=e?a.data:a;if(!D(s))return s;if(s.result)return s.data;throw new d(w(s)||C,{code:s.code===void 0||s.code===null?void 0:String(s.code),httpStatus:e?a.status:void 0,data:s.data,cause:a})}function F(a){if(a instanceof d)return a;if(L.isAxiosError(a)){const e=a.response?.data;return D(e)&&!e.result?new d(w(e)||a.message||C,{httpStatus:a.response?.status,code:e.code===void 0||e.code===null?void 0:String(e.code),data:e.data,cause:a}):new d(w(e)||a.response?.statusText||a.message||C,{httpStatus:a.response?.status,data:e,cause:a})}if(h(a)&&h(a.response)){const e=a.response,s=e.data;return D(s)&&!s.result?new d(w(s)||C,{httpStatus:typeof e.status=="number"?e.status:void 0,code:s.code===void 0||s.code===null?void 0:String(s.code),data:s.data,cause:a}):new d(w(s)||(typeof e.statusText=="string"?e.statusText:"")||C,{httpStatus:typeof e.status=="number"?e.status:void 0,data:s,cause:a})}return a instanceof Error?new d(a.message,{cause:a}):typeof a=="string"?new d(a,{cause:a}):new d(w(a)||C,{data:a,cause:a})}const x=()=>Math.floor((1+Math.random())*65536).toString(16).substring(1),V=(a=8)=>{let e="";for(let s=0;s<a-1;s++)e+=x();return e},v=(a=32)=>{let e="";const s="abcdef0123456789";for(let u=0;u<a;u++)e+=s.charAt(Math.floor(Math.random()*s.length));return e},$=()=>`00-${v(32)}-${v(16)}-01`,j=a=>a.httpStatus!==401&&a.httpStatus!==404&&!!a.message&&!a.message.includes("1211011");function z(a){const{headers:e,...s}=a.axiosConfig||{},u={baseURL:a.baseURL||(typeof window>"u"?void 0:window.API_HOST),xsrfCookieName:a.xsrfCookieName||"bk-incident_csrftoken",xsrfHeaderName:"X-CSRFToken",withCredentials:!0,...s,headers:a.axiosConfig?.headers},i=a.axiosInstance??L.create(u),c=(r={})=>{const t={...r},o=L.AxiosHeaders.from(t.headers);return o.has("traceparent")||o.set("traceparent",$()),{...t,headers:o}};async function n(r,t={}){try{return U(await r())}catch(o){const l=F(o);throw t.errorHandling!=="delegate"&&j(l)&&A({theme:"error",message:l.message,ellipsisLine:3}),l}}return{request(r){return n(()=>i.request(c(r)),r)},get(r,t={}){return n(()=>i.get(r,c(t)),t)},delete(r,t={}){return n(()=>i.delete(r,c(t)),t)},post(r,t,o={}){return n(()=>i.post(r,t,c(o)),o)},put(r,t,o={}){return n(()=>i.put(r,t,c(o)),o)},patch(r,t,o={}){return n(()=>i.patch(r,t,c(o)),o)}}}const p="/bkflow/template",g={errorHandling:"delegate"};function H(a,e){const{scope_type:s,scope_value:u,space_id:i}=e,c=n=>({template_id:Number(n),space_id:i,scope_type:s,scope_value:u});return{fetchDebugContext(n){return a.get(`${p}/debug_context/`,{...g,params:c(n)})},fetchDebugInputSchema(n){return a.get(`${p}/debug_input_schema/`,{...g,params:c(n)})},fetchDebugResetImpact(n){return a.post(`${p}/debug_reset_impact/`,{...c(n)},g)},updateNodeDebugMock(n){const r={...c(n.templateId),node_id:n.nodeId,enable:n.enable};return n.mockResult!==void 0&&(r.mock_result=n.mockResult),n.mockOutputs!==void 0&&(r.mock_outputs=n.mockOutputs),n.mockError!==void 0&&(r.mock_error=n.mockError),a.post(`${p}/debug_node_mock/`,r,g)},runNodeDebugStep(n){const r={...c(n.templateId),node_id:n.nodeId,mode:n.mode};return n.inputOverrides!==void 0&&(r.input_overrides=n.inputOverrides),n.mockResult!==void 0&&(r.mock_result=n.mockResult),n.mockOutputs!==void 0&&(r.mock_outputs=n.mockOutputs),n.mockError!==void 0&&(r.mock_error=n.mockError),a.post(`${p}/debug_step_run/`,r,g)},runGlobalDebug(n){return a.post(`${p}/debug_global_run/`,{...c(n.templateId),inputs:n.inputs},g)},terminateDebug(n){const r={...c(n.templateId)};return n.nodeId!==void 0&&(r.node_id=n.nodeId),a.post(`${p}/debug_terminate/`,r,g)},resetDebugResult(n){const r={...c(n.templateId)};return n.nodeIds!==void 0&&(r.node_ids=n.nodeIds),a.post(`${p}/debug_reset/`,r,g)}}}const S=0,K=["dmn_plugin","subprocess_plugin"],M=(a=[])=>[{code_name:"INNER",id:S,name:"内置",priority:1},...a];function W(a){const e=z(a),{scopeData:s}=a,u=H(e,s),i=t=>({...t,...s}),c=async()=>await e.get("/bkflow/plugin/tags/",{params:{...s}}),n=async()=>[...(await e.get("/metas/category/list_categories/",{params:s})).map(o=>({...o,iconUrl:P[o.name]??y})),{id:"bkflow",name:"bkflow",alias:"插件",properties:{},iconUrl:P.bkflow??y}],r=async t=>(await e.post("/metas/plugin/list_plugins/",i({category:t}))).apis;return{...u,async fetchFlowDetail(t){return await e.get(`/bkflow/template/${t}/fetch_template/`,{params:s})},async fetchFlowDetailByVersion(t,o){return await e.post(`/bkflow/template/${t}/preview_task_tree/`,{...s,is_all_nodes:!0,version:o})},async fetchFlowDraftDetail(t){return await e.get(`/bkflow/template/${t}/get_draft_template/`,{params:s})},async fetchSpaceFlowConfig(t){return await e.get(`/bkflow/template/${t}/get_space_related_configs/`,{params:s})},async fetchSystemVariables(t){const o=await e.get("/bkflow/variable/system_variables/",{params:{template_id:t,...s}});return Object.values(o)},async saveFlow(t,o){await e.put(`/bkflow/template/${t}/update_template/`,i(o))},async fetchInnerVariableDetail(t){return await e.get(`/bkflow/variable/${t}/variable_class_detail/`,{params:{...s}})},async fetchBkFlowInnerPluginList(){return(await e.get("/bkflow/inner_plugin/plugins/",{params:{...s}})).filter(o=>!K.includes(o.code))},async fetchBkFlowInnerPluginDetail(t,o){return await e.get(`/bkflow/inner_plugin/${t}/plugin_detail/`,{params:{version:o,...s}})},async fetchBkFlowThirdPartyPluginTags(){return c()},async fetchBkFlowThirdPartyPluginList(t){return await e.get("/bkflow/plugin/list_plugin/",{params:{tag:t,...s}})},async searchBkFlowThirdPartyPlugins(t){return await e.get("/bkflow/plugin/list_plugin/",{params:{offset:0,limit:200,search_term:t,...s}})},async fetchBkFlowThirdPartyPluginMeta(t){return await e.get("/bkflow/plugin/meta/",{params:{plugin_code:t,...s}})},async fetchBkFlowThirdPartyPluginAppDetail(t,o){return await e.get("/bkflow/plugin/get_plugin_app_detail/",{params:{plugin_code:t,plugin_version:o,...s}})},async fetchBkFlowThirdPartyPluginDetail(t,o){return await e.get("/bkflow/plugin/plugin_detail/",{params:{plugin_code:t,plugin_version:o,with_app_detail:!0,...s}})},async fetchPluginGroupList(){return n()},async fetchCategoryPlugins(t){return r(t)},async fetchPluginDetail(t){return await e.get("/metas/plugin/get_plugin/",{params:{plugin_id:t,...s}})},async fetchAllPluginGroups(){const t=a.enableThirdPlugin!==!1,[o,l]=await Promise.all([n(),t?c():Promise.resolve([])]),k=o.map(async f=>{if(f.name==="bkflow")return{...f,children:M(t?l:[])};const b=await r(f.name);return{...f,children:b.map(m=>({...m,category_id:f.id}))}});return await Promise.all(k)},async fetchApplyInstructionData(t){return await e.post("/metas/plugin/apply_instruction/",i(t))},async fetchVariableRef(t){return{data:await e.post("/bkflow/template/analysis_constants_ref/",i(t))}},async fetchCustomVariableTypes(){return{data:await e.get("/bkflow/variable/variable_class_list/",{params:s})}},async fetchFlowOperateRecord(t){return{data:await e.get(`/bkflow/template/${t}/operation_record/`,{params:s})}},async createFlowTask(t){return{data:await e.post("/bkflow/template/create_task/",i(t))}},async getFlowTaskDetail(t){return await e.get("/bkflow/template/get_task_detail/",{params:{task_id:t.task_id,...s}})},async executeFlowTask(t){await e.post("/bkflow/template/operate_task/",i({...t,action:"start"}))},async revokeFlowTask(t){await e.post("/bkflow/template/operate_task/",i({...t,action:"revoke"}))},async fetchControlConfig(){return await e.get("/bkflow/space_config/get_control_config/",{params:s})},async checkSpaceConfig(t,o){return await e.get(`/bkflow/space_config/${t}/check_space_config/`,{params:{...s,...o}})},async drawPipeline(t){return await e.post("/bkflow/template/draw_pipeline/",i(t))},async createMockDebugTask(t){const{template_id:o,...l}=t;return{data:await e.post(`/bkflow/template/${o}/create_mock_task/`,i(l))}},async stopMockDebugTask(t){throw new Error("TODO(mock-debug-api): replace with final mock debug stop API.")},async fetchTaskState(t){return await e.get("/bkflow/template/get_task_states/",{params:{task_id:t.task_id,...s}})},async fetchTaskNodeDetail(t){return await e.get("/bkflow/task/get_task_node_detail/",{params:{task_id:t.task_id,node_id:t.node_id,...t.component_code?{component_code:t.component_code}:{},...s}})},async fetchTaskNodeSnapshot(t){return await e.get("/bkflow/task/get_node_snapshot_config/",{params:{task_id:t.task_id,node_id:t.node_id,...s}})},async fetchTaskNodeLog(t){return await e.get("/bkflow/task/get_task_node_log/",{params:{task_id:t.task_id,node_id:t.node_id,version:t.version,...s}})},async operateTaskNode(t){const o={retry:"retry",skip:"skip",forceFail:"forced_fail",resume:"callback",gatewaySkip:"skip_exg"},{task_id:l,node_id:k,action:_,data:f,operation:b}=t,m=b??o[_]??_;return await e.post(`/bkflow/task/${l}/node/${k}/operate_node/${m}/`,i(f??{}))}}}function X(a){const e=W(a);return{fetchFlowDetail:e.fetchFlowDetail,fetchFlowDraftDetail:e.fetchFlowDraftDetail,fetchFlowDetailByVersion:e.fetchFlowDetailByVersion,fetchSpaceFlowConfig:e.fetchSpaceFlowConfig,fetchSystemVariables:e.fetchSystemVariables,fetchUserApi:a.fetchUserApi,scopeData:a.scopeData,fetchVariableRef:e.fetchVariableRef,fetchCustomVariableTypes:e.fetchCustomVariableTypes,fetchFlowOperateRecord:e.fetchFlowOperateRecord,createFlowTask:e.createFlowTask,executeFlowTask:e.executeFlowTask,revokeFlowTask:e.revokeFlowTask,saveFlow:e.saveFlow,fetchBkFlowInnerPluginList:e.fetchBkFlowInnerPluginList,fetchInnerVariableDetail:e.fetchInnerVariableDetail,fetchBkFlowInnerPluginDetail:e.fetchBkFlowInnerPluginDetail,fetchBkFlowThirdPartyPluginList:e.fetchBkFlowThirdPartyPluginList,searchBkFlowThirdPartyPlugins:e.searchBkFlowThirdPartyPlugins,fetchBkFlowThirdPartyPluginTags:e.fetchBkFlowThirdPartyPluginTags,fetchBkFlowThirdPartyPluginMeta:e.fetchBkFlowThirdPartyPluginMeta,fetchBkFlowThirdPartyPluginDetail:e.fetchBkFlowThirdPartyPluginDetail,fetchBkFlowThirdPartyPluginAppDetail:e.fetchBkFlowThirdPartyPluginAppDetail,fetchPluginGroupList:e.fetchPluginGroupList,fetchCategoryPlugins:e.fetchCategoryPlugins,fetchPluginDetail:e.fetchPluginDetail,fetchApplyInstructionData:e.fetchApplyInstructionData,fetchAllPluginGroups:e.fetchAllPluginGroups,enableThirdPlugin:a.enableThirdPlugin,fetchControlConfig:e.fetchControlConfig,checkSpaceConfig:e.checkSpaceConfig,drawPipeline:e.drawPipeline,createMockDebugTask:e.createMockDebugTask,stopMockDebugTask:e.stopMockDebugTask,fetchTaskState:e.fetchTaskState,fetchTaskNodeDetail:e.fetchTaskNodeDetail,fetchTaskNodeSnapshot:e.fetchTaskNodeSnapshot,fetchTaskNodeLog:e.fetchTaskNodeLog,operateTaskNode:e.operateTaskNode,getFlowTaskDetail:e.getFlowTaskDetail,fetchDebugContext:e.fetchDebugContext,fetchDebugInputSchema:e.fetchDebugInputSchema,fetchDebugResetImpact:e.fetchDebugResetImpact,updateNodeDebugMock:e.updateNodeDebugMock,runNodeDebugStep:e.runNodeDebugStep,runGlobalDebug:e.runGlobalDebug,terminateDebug:e.terminateDebug,resetDebugResult:e.resetDebugResult}}const N=Symbol("variableInputCreateVariable"),q=a=>{T.provide(N,a)},J=()=>T.inject(N,null);exports.ApiError=d;exports.BKFLOW_INNER_PLUGIN_TAG_ID=S;exports.PLUGGIN_GROUP_FONT_CLASS_MAP=Z;exports.PLUGIN_GROUP_DEFAULT_ICON=y;exports.PLUGIN_GROUP_ICON_MAP=P;exports.buildBkflowPluginTagList=M;exports.generateId=V;exports.normalizeApiError=F;exports.provideVariableInputCreateVariable=q;exports.random4=x;exports.useFlowApi=X;exports.useVariableInputCreateVariable=J;