'use strict'; const fs = require('fs'); const path = require('path'); const out = path.join(__dirname, 'workflow-subpkg-javadoc-data.json'); const data = { callerLabel: '\u8c03\u7528\u65b9', mainCallerLabel: '\u4e3b\u8981\u8c03\u7528\u65b9', springCaller: 'Spring \u5bb9\u5668\u6ce8\u5165', classDesc: { SmartApiCallNodeExecutor: '\u667a\u80fd API \u8282\u70b9\u6267\u884c\u5668\uff1a\u8bed\u4e49\u5339\u914d\u6ce8\u518c API\u3001\u63d0\u53d6\u53c2\u6570\u3001\u53d1\u8d77 REST \u8c03\u7528\u5e76\u7528 SpEL \u89e3\u6790\u7ed3\u679c\u3002', ApiCallExecutor: '\u901a\u7528 HTTP API \u8c03\u7528\u6267\u884c\u5668\uff0c\u652f\u6301 GET/POST/PUT/DELETE \u4e0e\u8d85\u65f6\u3001\u9274\u6743\u5934\u3002', ScriptCache: 'SpEL \u811a\u672c\u7f16\u8bd1\u7f13\u5b58\uff0c\u4f9b\u667a\u80fd API \u8282\u70b9 resultScript \u590d\u7528\u3002', ApiRegistryService: '\u5916\u90e8\u63a5\u53e3\u7edf\u4e00\u6ce8\u518c\u4e2d\u5fc3\uff0c\u4ece DB \u52a0\u8f7d/\u6ce8\u518c API \u7aef\u70b9\u5e76\u6784\u5efa\u9274\u6743\u5934\u3002', LobsterEvolveAsyncService: '\u8fdb\u5316\u4efb\u52a1\u5f02\u6b65\u63d0\u4ea4\u4e0e\u6267\u884c\uff0c\u652f\u6301\u7ebf\u7a0b\u6c60\u3001MQ \u4e0e Redis \u4efb\u52a1\u5feb\u7167\u3002', KnowledgeUsageLogAsyncWriter: '\u5f02\u6b65\u5199\u5165\u77e5\u8bc6\u5e93\u4f7f\u7528\u65e5\u5fd7\uff0c\u907f\u514d\u963b\u585e\u5bf9\u8bdd\u70ed\u8def\u5f84\u3002', LobsterContextCacheService: '\u9f99\u867e\u5f15\u64ce\u4e0a\u4e0b\u6587 Redis \u7f13\u5b58\uff08\u753b\u50cf/\u5bf9\u8bdd/\u77e5\u8bc6/\u5408\u89c4\u7b49\uff09\uff0c\u4e0d\u53ef\u7528\u65f6\u964d\u7ea7\u76f4\u67e5 DB\u3002', WorkflowCanvasSyncUtil: '\u5c06\u753b\u5e03\u8fb9\u540c\u6b65\u5230\u8282\u70b9 nextNodeCode \u4e0e\u6761\u4ef6\u5206\u652f\u5b57\u6bb5\uff0c\u4f9b\u8fd0\u884c\u65f6\u6267\u884c\u5668\u4f7f\u7528\u3002', LobsterNodeCapabilityRegistry: '\u9759\u6001\u6ce8\u518c\u8868\uff0c\u63cf\u8ff0\u5404\u9f99\u867e\u8282\u70b9\u7c7b\u578b\u7684\u6210\u719f\u5ea6\u3001\u6267\u884c\u5668\u4e0e\u80fd\u529b\u7f3a\u53e3\u3002', LobsterTemplateCapabilityValidator: '\u6821\u9a8c\u5de5\u4f5c\u6d41\u6a21\u677f\u753b\u5e03\u8282\u70b9\u80fd\u529b\uff08PayRouter\u3001API \u7ed1\u5b9a\u7b49\uff09\u3002', ExternalDataRouter: '\u5916\u90e8\u6570\u636e\u8def\u7531\u5668\uff0c\u81ea\u52a8\u53d1\u73b0\u5e76\u8def\u7531 ExternalDataProvider \u5b9e\u73b0\u3002', ExternalDataProvider: '\u5916\u90e8\u5b9e\u65f6\u6570\u636e\u63d0\u4f9b\u8005\u63d2\u62d4\u63a5\u53e3\uff08\u5929\u6c14/\u8282\u5047\u65e5/\u7269\u6d41\u7b49\uff09\u3002', HolidayDataProvider: '\u5185\u7f6e\u4e2d\u56fd\u6cd5\u5b9a\u8282\u5047\u65e5/\u5de5\u4f5c\u65e5\u5224\u65ad\u7684\u6570\u636e\u63d0\u4f9b\u8005\u3002', WeatherDataProvider: '\u901a\u8fc7 ApiRegistryService \u63a5\u5165\u9ad8\u5fb7/\u548c\u98ce\u7b49\u5929\u6c14 API\u3002', MessageDedupService: '\u6d88\u606f\u7cbe\u786e+\u8bed\u4e49\uff082-gram Jaccard\uff09\u53bb\u91cd\uff0c\u7ef4\u62a4\u4f1a\u8bdd\u6700\u8fd1 5 \u6761\u5386\u53f2\u3002', WorkflowPatcher: '\u5de5\u4f5c\u6d41/\u8282\u70b9\u8865\u4e01\u7ba1\u7406\uff1a\u5199\u5165\u3001\u5ba1\u6838\u3001\u5e94\u7528\u753b\u5e03\u8282\u70b9\u8865\u4e01\u3002', EventDecisionEngine: '\u4e8b\u4ef6\u8282\u70b9\u51b3\u7b56\uff1a\u5361\u4f4f\u8282\u70b9\u7edf\u8ba1\u3001\u5ba1\u8ba1\u8bb0\u5f55\u4e0e\u7528\u6237\u4e8b\u4ef6\u8ba1\u6570\u3002', UserEventMonitor: '\u7528\u6237\u4e8b\u4ef6\u76d1\u63a7\uff1a\u6807\u8bb0\u5df2\u5904\u7406\u4e0e\u7edf\u8ba1\u4e8b\u4ef6\u6570\u3002', ExpressionEngine: '\u57fa\u4e8e SpEL \u7684\u6761\u4ef6\u8868\u8fbe\u5f0f\u89e3\u6790\u4e0e\u6c42\u503c\u5f15\u64ce\u3002', FeedbackDrivenEvolution: '\u53cd\u9988\u9a71\u52a8\u8fdb\u5316\u63a5\u53e3\uff1a\u8bb0\u5f55\u53cd\u9988\u3001\u5206\u6790\u8bdd\u672f\u3001\u751f\u6210\u53d8\u4f53\u4e0e A/B \u6d4b\u8bd5\u3002', FeedbackDrivenEvolutionImpl: '\u53cd\u9988\u9a71\u52a8\u8fdb\u5316\u5b9e\u73b0\uff1aMyBatis \u6301\u4e45\u5316\u3001AI \u751f\u6210\u53d8\u4f53\u3001A/B \u5206\u6d41\u4e0e\u81ea\u52a8\u5e94\u7528\u3002', HumanHandoffDetector: '\u8bed\u4e49\u7ea7\u8f6c\u4eba\u5de5\u68c0\u6d4b\u63a5\u53e3\uff0c\u591a\u7ef4\u5ea6\u5224\u65ad\u662f\u5426\u9700\u8981\u4eba\u5de5\u63a5\u7ba1\u3002', HumanHandoffDetectorImpl: '\u8f6c\u4eba\u5de5\u4e8b\u4ef6\u8bb0\u5f55\u5b9e\u73b0\uff0c\u6301\u4e45\u5316\u8f6c\u4eba\u5de5\u5386\u53f2\u4f9b\u7ba1\u7406\u7aef\u67e5\u8be2\u3002', HandoffResult: '\u8f6c\u4eba\u5de5\u68c0\u6d4b\u7ed3\u679c DTO\uff0c\u542b\u539f\u56e0\u3001\u7d27\u6025\u5ea6\u3001\u7f6e\u4fe1\u5ea6\u7b49\u3002', HandoffRule: '\u79df\u6237\u8f6c\u4eba\u5de5\u89c4\u5219\u914d\u7f6e\u5b9e\u4f53\u3002', LobsterEngineHealthService: '\u8fd0\u884c\u65f6\u68c0\u67e5\u9f99\u867e\u5f15\u64ce\u6838\u5fc3 Bean \u662f\u5426\u88c5\u914d\u5b8c\u6574\u3002', HeartbeatConfig: '\u5de5\u4f5c\u6d41\u5b9e\u4f8b\u5fc3\u8df3\u914d\u7f6e\uff08\u95f4\u9694\u3001\u8d85\u65f6\u3001\u91cd\u8bd5\u7b49\uff09\u3002', HeartbeatScheduler: '\u5fc3\u8df3\u8c03\u5ea6\u5668\u63a5\u53e3\uff1a\u6ce8\u518c/\u6ce8\u9500\u5b9e\u4f8b\u3001\u68c0\u67e5\u6267\u884c\u3001\u67e5\u8be2\u72b6\u6001\u3002', HeartbeatSchedulerImpl: '\u5fc3\u8df3\u8c03\u5ea6\u5b9e\u73b0\uff1a\u5b9a\u65f6\u53d1\u9001/\u6e05\u7406\u5fc3\u8df3\uff0c\u5185\u5b58\u8ddf\u8e2a\u6d3b\u8dc3\u5b9e\u4f8b\u3002', HttpClient: '\u5de5\u4f5c\u6d41 HTTP \u5ba2\u6237\u7aef\u5c01\u88c5\uff0c\u4f9b Webhook/\u5916\u90e8 API \u8282\u70b9\u4f7f\u7528\u3002', LobsterInboundService: '\u5168\u6e20\u9053\u7edf\u4e00\u5165\u7ad9\u7f51\u5173\uff1a\u5ba2\u6237\u6d88\u606f\u4e0e\u4e1a\u52a1\u4e8b\u4ef6\u8def\u7531\u5230\u5de5\u4f5c\u6d41\u5b9e\u4f8b\u3002', LobsterInboundWebhookAuth: '\u5165\u7ad9 Webhook \u5bc6\u94a5\u6821\u9a8c\uff08X-Lobster-Webhook-Secret \u6216 body \u5b57\u6bb5\uff09\u3002', KnowledgeVersionManager: '\u77e5\u8bc6\u5e93\u7248\u672c\u7ba1\u7406\uff1a\u5feb\u7167\u3001\u5bf9\u6bd4\u3001\u56de\u6eda\u4e0e\u6807\u7b7e\u3002', KnowledgeVersionManagerImpl: '\u77e5\u8bc6\u7248\u672c\u7ba1\u7406 MyBatis \u5b9e\u73b0\u3002', LobsterMediaMessageService: '\u5165\u7ad9\u591a\u5a92\u4f53\u9884\u5904\u7406\uff1a\u56fe\u7247\u8bc6\u522b\u3001\u6587\u4ef6/\u89c6\u9891\u8f6c\u4eba\u5de5\u3002', LobsterMediaMessageServiceImpl: '\u591a\u5a92\u4f53\u6d88\u606f\u670d\u52a1\u5b9e\u73b0\uff0c\u96c6\u6210 AiVisionService \u4e0e\u804a\u5929\u8bb0\u5f55\u4e0a\u4e0b\u6587\u3002', LobsterChatRecordSyncService: '\u5c06 chat_msg \u540c\u6b65\u5199\u5165 lobster_chat_record\uff0c\u4f9b\u8fdb\u5316\u5f15\u64ce\u8bb0\u5fc6\u4f7f\u7528\u3002', LobsterMemoryMigrationService: '\u9f99\u867e\u8bb0\u5fc6\u8868\u8fc1\u79fb\u670d\u52a1\uff1a\u4e3a\u5386\u53f2\u6570\u636e\u8865\u5145 channel_type \u5b57\u6bb5\u3002', LobsterQwEvolutionBridge: '\u4f01\u5fae Hook \u5165\u7ad9\u56de\u590d\u7ecf LobsterEvolutionEngine \u8fdb\u5316\u7684\u6865\u63a5\u670d\u52a1\u3002', DashboardService: '\u9f99\u867e\u4e1a\u52a1\u76d1\u63a7\u770b\u677f\uff0c\u805a\u5408\u5b9e\u4f8b/\u6d88\u606f/\u8f6c\u5316/\u6b7b\u4fe1\u7b49\u591a\u7ef4\u6307\u6807\u3002', PayProvider: '\u652f\u4ed8\u7f51\u5173\u63d2\u62d4\u63a5\u53e3\uff08\u5fae\u4fe1/\u652f\u4ed8\u5b9d\u7b49\uff09\u3002', PayRouter: '\u652f\u4ed8\u8def\u7531\u5668\uff0c\u81ea\u52a8\u53d1\u73b0\u5e76\u8def\u7531 PayProvider\u3002', PayService: '\u652f\u4ed8\u8ba2\u5355\u5168\u751f\u547d\u5468\u671f\uff1a\u521b\u5efa\u3001\u67e5\u8be2\u3001\u56de\u8c03\u5e76\u63a8\u8fdb\u5de5\u4f5c\u6d41\u3002', LobsterPayWorkflowBridge: '\u652f\u4ed8\u6210\u529f\u540e\u5199\u5165 ActionOutcome \u5e76\u7ecf\u8fdb\u5316\u5f15\u64ce\u4e3b\u52a8\u89e6\u8fbe\u5ba2\u6237\u3002', WechatPayProvider: '\u5fae\u4fe1\u652f\u4ed8\u63d0\u4f9b\u8005\uff0c\u7ecf ApiRegistryService \u914d\u7f6e\u5546\u6237\u4fe1\u606f\u3002', MessagePushService: '\u7edf\u4e00\u6d88\u606f\u63a8\u9001\u5165\u53e3\uff08SSE/WebSocket \u5360\u4f4d\uff09\uff0c\u7ba1\u7406\u5728\u7ebf\u5ba2\u6237\u7aef\u8fde\u63a5\u6c60\u3002', DistributedDelayQueue: 'Redis ZSET \u5206\u5e03\u5f0f\u5ef6\u8fdf\u961f\u5217\uff0c\u652f\u6301\u7528\u6237 hash \u9519\u5cf0\u4e0e\u6279\u91cf\u62c9\u53d6\u3002', DeadLetterQueue: '\u6b7b\u4fe1\u961f\u5217\u6301\u4e45\u5316\u4e0e\u91cd\u8bd5\u7ba1\u7406\u3002', LobsterDataScope: '\u9f99\u867e\u6570\u636e\u53ef\u89c1\u8303\u56f4\u503c\u5bf9\u8c61\uff08\u6309 create_by \u8fc7\u6ee4\uff09\u3002', LobsterInstanceScopeFilter: '\u6309\u7ed1\u5b9a\u521b\u5efa\u4eba\u8303\u56f4\u8fc7\u6ee4\u9f99\u867e\u5de5\u4f5c\u6d41\u5b9e\u4f8b\u5217\u8868\u3002', LobsterDataScopeService: '\u89e3\u6790\u9500\u552e\u7aef\u6570\u636e\u8303\u56f4\uff1a\u5168\u516c\u53f8/\u672c\u90e8\u95e8/\u4ec5\u672c\u4eba\u3002', LobsterSimulationTimeScale: '\u9a8c\u8bc1/\u4eff\u771f\u65f6\u95f4\u7f29\u653e\uff1a1 \u914d\u7f6e\u65e5 = N \u771f\u5b9e\u5206\u949f\uff08\u9ed8\u8ba4 10\uff09\u3002', VectorPatternMatcher: '\u5411\u91cf\u8bed\u4e49\u5339\u914d\u63a5\u53e3\uff1a\u5b58\u50a8/\u68c0\u7d22\u5411\u91cf\u5e76\u63a8\u8350\u7b56\u7565\u3002', VectorPatternMatcherImpl: '\u5411\u91cf\u6a21\u5f0f\u5339\u914d\u5b9e\u73b0\uff0c\u96c6\u6210 EmbeddingService \u4e0e\u4e0a\u4e0b\u6587\u7f13\u5b58\u3002', LobsterWorkflowExecutor: '\u9f99\u867e\u5de5\u4f5c\u6d41\u6267\u884c\u6838\u5fc3\u63a5\u53e3\uff1a\u542f\u505c\u3001\u63a8\u8fdb\u8282\u70b9\u3001\u6a21\u62df\u4e0e\u4e3b\u52a8\u89e6\u8fbe\u3002', LobsterEvolutionEngine: '\u9f99\u867e\u8fdb\u5316\u5f15\u64ce\uff1a\u4e0a\u4e0b\u6587\u2192Prompt\u2192AI\u2192\u8d28\u68c0\u2192\u5408\u89c4\u2192\u6458\u8981\u7684\u5b8c\u6574\u5bf9\u8bdd\u5904\u7406\u3002', ContextAssembler: '\u7ec4\u88c5\u5bf9\u8bdd\u4e0a\u4e0b\u6587\uff08\u753b\u50cf/\u6458\u8981/\u5386\u53f2/\u77e5\u8bc6/\u5408\u89c4/\u5b66\u4e60\u7b56\u7565\uff09\u3002', ComplianceService: '\u5408\u89c4\u68c0\u67e5\u4e0e Prompt \u6ce8\u5165\u3001AI \u56de\u590d\u8fdd\u89c4\u626b\u63cf\u3002', ConditionEvaluator: '\u5de5\u4f5c\u6d41\u6761\u4ef6\u5206\u652f\u6c42\u503c\u4e0e\u4e0b\u4e00\u8282\u70b9\u89e3\u6790\u3002', DynamicNodeAdjuster: '\u57fa\u4e8e\u610f\u56fe/\u60c5\u7eea\u52a8\u6001\u8c03\u6574\u4e0b\u4e00\u8282\u70b9\u6216\u8f6c\u4eba\u5de5\u3002', DynamicNodeExecutor: '\u52a8\u6001\u8282\u70b9\u6267\u884c\u5668\uff0c\u652f\u6301\u6ce8\u518c\u81ea\u5b9a\u4e49\u8282\u70b9\u5904\u7406\u5668\u3002', DynamicNodeImplService: '\u52a8\u6001\u8282\u70b9\u5b66\u4e60\u4ea7\u7269\uff1a\u6307\u7eb9\u590d\u7528\u3001\u843d\u5e93\u3001\u8bc4\u5206\u4e0e\u5ba1\u6279\u6fc0\u6d3b\u3002', MultiModelWorkflowGenerator: '\u591a\u6a21\u578b\u534f\u4f5c\u751f\u6210/\u8fed\u4ee3\u4f18\u5316\u5de5\u4f5c\u6d41\u6a21\u677f\u3002', MultiTurnDialogueManager: '\u5355\u8282\u70b9\u591a\u8f6e\u5bf9\u8bdd\u7ba1\u7406\u4e0e\u8f6e\u6b21\u72b6\u6001\u8ddf\u8e2a\u3002', OutputQualityChecker: '\u8f93\u51fa\u8d28\u91cf\u68c0\u67e5\u4e0e\u81ea\u52a8\u7ea0\u6b63\u3002', PendingAuditKnowledgeService: '\u9ad8\u8d28\u91cf AI \u56de\u590d\u81ea\u52a8\u8fdb\u5165\u5f85\u5ba1\u6838\u77e5\u8bc6\u5e93\u3002', PromptManager: '\u4e09\u7ea7\u4f18\u5148\u7ea7 Prompt \u52a0\u8f7d\uff08\u8282\u70b9>\u79df\u6237>Fallback\uff09\u3002', QualityScoringService: '8 \u7ef4\u5ea6\u8d28\u91cf\u8bc4\u5206\u4f53\u7cfb\uff0c\u542b\u91cd\u751f\u6210\u673a\u5236\u3002', ReplaceWordService: '\u8fdd\u7981\u8bcd/\u6613\u9519\u8bcd\u66ff\u6362\uff08\u5168\u5c40+\u79df\u6237\u8bcd\u5e93\uff09\u3002', SemanticTakeoverDetector: '\u8bed\u4e49\u63a5\u7ba1/\u8f6c AI \u68c0\u6d4b\u3002', SensitiveWordService: '\u654f\u611f\u8bcd\u8fc7\u6ee4\uff08\u4e09\u5c42\u9632\u62a4\u7b2c\u4e09\u5c42\uff09\u3002', SummaryGenerator: '\u5bf9\u8bdd\u6458\u8981\u751f\u6210\u3001\u5f02\u6b65\u89e6\u53d1\u4e0e\u7f13\u5b58\u8bfb\u53d6\u3002', ToolCallFramework: '\u5de5\u5177\u8c03\u7528\u6846\u67b6\uff1a\u6ce8\u518c/\u6267\u884c HTTP/\u811a\u672c/\u5185\u7f6e\u5de5\u5177\u3002', VariableStore: '\u5de5\u4f5c\u6d41\u5b9e\u4f8b\u53d8\u91cf\u5185\u5b58+DB \u53cc\u5199\u5b58\u50a8\u3002', VariableSubstitutionEngine: '\u6a21\u677f\u53d8\u91cf\u5360\u4f4d\u7b26\u66ff\u6362\u5f15\u64ce\u3002', WorkflowPromptResolver: '\u89e3\u6790 workflowId\u2192templateCode\uff0c\u4f9b PromptManager \u67e5\u8be2\u3002', LobsterE2eTestService: '\u7aef\u5230\u7aef\u6d4b\u8bd5\uff1aAI \u751f\u6210\u5de5\u4f5c\u6d41\u2192\u5b9e\u4f8b\u63a8\u8fdb\u2192\u8d28\u68c0\u2192\u8fdb\u5316\u5efa\u8bae\u3002', LobsterIntegrationTestService: '\u9f99\u867e\u5404\u6a21\u5757\u96c6\u6210\u6d4b\u8bd5\u5165\u53e3\u3002', LobsterModelConfigService: '\u5de5\u4f5c\u6d41\u751f\u6210/\u8d28\u68c0\u6240\u7528\u5927\u6a21\u578b\u914d\u7f6e\u7ba1\u7406\u3002', LobsterNodeTypeService: '\u8282\u70b9\u7c7b\u578b DB \u914d\u7f6e\u4e0e\u7f13\u5b58\u670d\u52a1\u3002', LobsterSalesCorpusAnalysisReport: '\u9500\u51a0\u8bed\u6599 AI \u5206\u6790\u62a5\u544a DTO\u3002', LobsterTestScenarioService: '\u6d4b\u8bd5\u573a\u666f\u5267\u672c CRUD \u4e0e\u5b9a\u65f6/\u5373\u65f6\u56de\u5f52\u8fd0\u884c\u3002', LobsterWorkflowGenerateAsyncService: '\u5f02\u6b65/\u540c\u6b65\u6267\u884c AI \u5de5\u4f5c\u6d41\u751f\u6210\u4efb\u52a1\u5e76\u66f4\u65b0\u751f\u6210\u8bb0\u5f55\u3002', ILobsterBillingService: '\u9f99\u867e Token \u8ba1\u8d39\u4e0e\u6d88\u8d39\u8bb0\u5f55\u67e5\u8be2\u3002', ILobsterConversationSummaryService: '\u5bf9\u8bdd\u6458\u8981\u5217\u8868\u4e0e\u8be6\u60c5\u67e5\u8be2\u3002', ILobsterEventAuditService: '\u4e8b\u4ef6\u8282\u70b9\u5ba1\u6838\u5217\u8868\u4e0e\u901a\u8fc7/\u9a73\u56de\u3002', ILobsterEvolutionSuggestionService: '\u8fdb\u5316\u5efa\u8bae\u7ba1\u7406\u4e0e\u6279\u91cf\u5ba1\u6838\u3002', ILobsterInstanceStatsService: '\u9f99\u867e\u5b9e\u4f8b\u8fd0\u884c\u7edf\u8ba1\u3002', ILobsterLearningCorpusService: '\u5b66\u4e60\u8bed\u6599\u5e93\u5217\u8868\u67e5\u8be2\u3002', ILobsterPromptService: '\u7cfb\u7edf/\u5f15\u64ce\u7ea7\u63d0\u793a\u8bcd CRUD \u4e0e\u5206\u7c7b\u67e5\u8be2\u3002', ILobsterSalesCorpusService: '\u9500\u51a0\u8bed\u6599\u7ba1\u7406\u3001\u5bfc\u5165\u4e0e AI \u5206\u6790\u3002', INodePromptService: '\u8282\u70b9\u7ea7 Prompt \u6302\u8f7d\u3001\u4fdd\u5b58\u4e0e\u884c\u4e1a\u9ed8\u8ba4\u9884\u89c8/\u6062\u590d\u3002', IWorkflowTemplateAdminService: '\u5de5\u4f5c\u6d41\u6a21\u677f/\u8282\u70b9\u7ba1\u7406\u7aef\u670d\u52a1\u3002', }, callers: { SmartApiCallNodeExecutor: ['LobsterWorkflowExecutorImpl'], ApiCallExecutor: ['SmartApiCallNodeExecutor'], ScriptCache: ['SmartApiCallNodeExecutor'], ApiRegistryService: ['SmartApiCallNodeExecutor', 'ToolCallFrameworkImpl', 'WeatherDataProvider', 'WechatPayProvider', 'LobsterApiRegistryController'], LobsterEvolveAsyncService: ['LobsterEvolveTaskConsumer'], KnowledgeUsageLogAsyncWriter: ['ContextAssemblerImpl'], LobsterContextCacheService: ['ContextAssemblerImpl', 'LobsterEvolutionEngineImpl', 'ComplianceServiceImpl', 'SummaryGeneratorImpl', 'VectorPatternMatcherImpl'], WorkflowCanvasSyncUtil: ['CompanyWorkflowLobsterServiceImpl'], LobsterNodeCapabilityRegistry: ['LobsterTemplateCapabilityValidator', 'LobsterEngineController'], LobsterTemplateCapabilityValidator: ['CompanyWorkflowLobsterServiceImpl'], ExternalDataRouter: ['DynamicNodeExecutorImpl'], ExternalDataProvider: ['ExternalDataRouter'], HolidayDataProvider: ['ExternalDataRouter'], WeatherDataProvider: ['ExternalDataRouter'], MessageDedupService: ['DuplicateReplyDetector'], WorkflowPatcher: ['LobsterEventAuditController'], EventDecisionEngine: ['LobsterEventAuditController'], UserEventMonitor: ['EventDecisionEngine'], ExpressionEngine: ['ConditionEvaluatorImpl', 'SmartApiCallNodeExecutor'], FeedbackDrivenEvolution: ['LobsterAdminController'], FeedbackDrivenEvolutionImpl: ['EvolutionSchedulerImpl', 'LobsterAdminController'], HumanHandoffDetector: ['DynamicNodeAdjusterImpl', 'LobsterInboundReplyOrchestrator'], HumanHandoffDetectorImpl: ['LobsterInboundReplyOrchestrator'], HandoffResult: ['HumanHandoffDetector', 'DynamicNodeAdjusterImpl'], HandoffRule: ['HumanHandoffDetector'], LobsterEngineHealthService: ['LobsterEngineController'], HeartbeatConfig: ['HeartbeatSchedulerImpl', 'LobsterWorkflowExecutorImpl'], HeartbeatScheduler: ['LobsterWorkflowExecutorImpl', 'LobsterEngineController'], HeartbeatSchedulerImpl: ['LobsterWorkflowExecutorImpl', 'LobsterEngineController'], HttpClient: ['DynamicNodeExecutorImpl', 'ToolCallFrameworkImpl'], LobsterInboundService: ['LobsterInboundController'], LobsterInboundWebhookAuth: ['LobsterInboundController'], KnowledgeVersionManager: ['KnowledgeVersionManagerImpl'], KnowledgeVersionManagerImpl: ['LobsterAdminController'], LobsterMediaMessageService: ['LobsterInboundService'], LobsterMediaMessageServiceImpl: ['LobsterInboundService', 'LobsterInboundReplyOrchestrator'], LobsterChatRecordSyncService: ['LobsterOutboundMessageService', 'LobsterWorkflowExecutorImpl', 'LobsterQwEvolutionBridge'], LobsterMemoryMigrationService: ['LobsterAdminController'], LobsterQwEvolutionBridge: ['LobsterWorkflowExecutorImpl'], DashboardService: ['LobsterAdminController'], PayProvider: ['PayRouter'], PayRouter: ['PayService', 'DynamicNodeExecutorImpl'], PayService: ['LobsterAdminController', 'PayCallbackController'], LobsterPayWorkflowBridge: ['PayService'], WechatPayProvider: ['PayRouter'], MessagePushService: ['LobsterWorkflowExecutorImpl'], DistributedDelayQueue: ['LobsterScheduleService', 'WorkflowTriggerScheduler'], DeadLetterQueue: ['LobsterWorkflowExecutorImpl', 'LobsterOutboundMessageService', 'LobsterDeadLetterController', 'DashboardService'], LobsterDataScope: ['LobsterDataScopeService', 'LobsterInstanceScopeFilter'], LobsterInstanceScopeFilter: ['LobsterInstanceMonitorController', 'LobsterWorkflowExecController'], LobsterDataScopeService: ['LobsterInstanceScopeFilter', 'CompanyTagTemplateBindingServiceImpl'], LobsterSimulationTimeScale: ['DynamicNodeExecutorImpl', 'LobsterTravelValidationServiceImpl'], VectorPatternMatcher: ['ContextAssemblerImpl', 'LobsterWorkflowExecutorImpl'], VectorPatternMatcherImpl: ['ContextAssemblerImpl', 'LobsterWorkflowExecutorImpl', 'DynamicNodeExecutorImpl'], LobsterWorkflowExecutor: ['LobsterInboundService', 'LobsterWorkflowExecController', 'LobsterTaskDispatchService', 'LobsterTravelValidationServiceImpl'], LobsterEvolutionEngine: ['LobsterWorkflowExecutorImpl', 'LobsterQwEvolutionBridge', 'LobsterPayWorkflowBridge', 'LobsterTravelValidationServiceImpl'], ContextAssembler: ['LobsterEvolutionEngineImpl', 'MultiTurnDialogueManagerImpl'], ComplianceService: ['LobsterEvolutionEngineImpl', 'MultiTurnDialogueManagerImpl'], ConditionEvaluator: ['LobsterWorkflowExecutorImpl'], DynamicNodeAdjuster: ['LobsterEvolutionEngineImpl'], DynamicNodeExecutor: ['LobsterWorkflowExecutorImpl', 'LobsterIntegrationTestServiceImpl'], DynamicNodeImplService: ['DynamicNodeExecutorImpl', 'LobsterAdminController'], MultiModelWorkflowGenerator: ['LobsterIntegrationTestServiceImpl', 'LobsterAdminController', 'LobsterWorkflowGenerateAsyncService'], MultiTurnDialogueManager: ['LobsterEvolutionEngineImpl', 'LobsterWorkflowExecutorImpl'], OutputQualityChecker: ['DynamicNodeExecutorImpl', 'LobsterEvolutionEngineImpl'], PendingAuditKnowledgeService: ['TenantLearningEngineImpl', 'QualityScoringServiceImpl'], PromptManager: ['LobsterEvolutionEngineImpl', 'LobsterWorkflowExecutorImpl', 'DynamicNodeExecutorImpl'], QualityScoringService: ['LobsterEvolutionEngineImpl', 'LobsterE2eTestServiceImpl', 'LobsterTravelValidationServiceImpl'], ReplaceWordService: ['LobsterEvolutionEngineImpl', 'LobsterCompanyConfigService'], SemanticTakeoverDetector: ['DynamicNodeAdjusterImpl', 'LobsterInboundReplyOrchestrator'], SensitiveWordService: ['LobsterEvolutionEngineImpl', 'LobsterEngineHealthService'], SummaryGenerator: ['LobsterEvolutionEngineImpl', 'ContextAssemblerImpl', 'LobsterEngineHealthService'], ToolCallFramework: ['LobsterEvolutionEngineImpl', 'DynamicNodeExecutorImpl'], VariableStore: ['LobsterEvolutionEngineImpl', 'LobsterWorkflowExecutorImpl', 'TriggerOrchestratorImpl'], VariableSubstitutionEngine: ['LobsterWorkflowExecutorImpl', 'LobsterEvolutionEngineImpl'], WorkflowPromptResolver: ['PromptManagerImpl', 'LobsterEvolutionEngineImpl'], LobsterE2eTestService: ['LobsterE2eController', 'LobsterAdminController', 'LobsterTravelValidationServiceImpl'], LobsterIntegrationTestService: ['LobsterEngineController', 'LobsterAdminController'], LobsterModelConfigService: ['LobsterAdminController', 'LobsterModelRouteController'], LobsterNodeTypeService: ['LobsterIntegrationTestServiceImpl', 'DynamicNodeExecutorImpl'], LobsterSalesCorpusAnalysisReport: ['ILobsterSalesCorpusService', 'LobsterSalesCorpusServiceImpl'], LobsterTestScenarioService: ['LobsterE2eController', 'LobsterAdminController'], LobsterWorkflowGenerateAsyncService: ['CompanyWorkflowLobsterServiceImpl', 'LobsterAiGeneratorController'], ILobsterBillingService: ['LobsterAdminController', 'LobsterPlatformAdminController'], ILobsterConversationSummaryService: ['LobsterAdminController'], ILobsterEventAuditService: ['LobsterEventAuditController', 'LobsterAdminController'], ILobsterEvolutionSuggestionService: ['LobsterAdminController', 'LobsterEngineController'], ILobsterInstanceStatsService: ['LobsterAdminController'], ILobsterLearningCorpusService: ['LobsterAdminController'], ILobsterPromptService: ['LobsterPromptController', 'LobsterAdminController'], ILobsterSalesCorpusService: ['LobsterAdminController', 'LobsterSalesCorpusController'], INodePromptService: ['WorkflowTemplateAdminServiceImpl', 'CompanyWorkflowLobsterServiceImpl'], IWorkflowTemplateAdminService: ['LobsterAdminController'], }, methodCn: { execute: '\u6267\u884c\u667a\u80fd API \u8282\u70b9\uff1a\u5339\u914d\u7aef\u70b9\u3001\u8c03\u7528 REST \u5e76\u89e3\u6790 SpEL \u7ed3\u679c\u3002', invoke: '\u53d1\u8d77 HTTP API \u8c03\u7528\u5e76\u8fd4\u56de\u54cd\u5e94\u4f53\u3002', init: '\u521d\u59cb\u5316\uff1a\u52a0\u8f7d\u914d\u7f6e\u3001\u6ce8\u518c handler \u6216\u5237\u65b0\u7f13\u5b58\u7b49\u3002', refreshCache: '\u5237\u65b0\u672c\u5730/Redis \u7f13\u5b58\u3002', writeUsageLogs: '\u5f02\u6b65\u5199\u5165\u77e5\u8bc6\u5e93\u547d\u4e2d\u4f7f\u7528\u65e5\u5fd7\u3002', getUserProfile: '\u8bfb\u7f13\u5b58\u6216\u56de\u6e90\u52a0\u8f7d\u7528\u6237\u753b\u50cf\u3002', getRecentChats: '\u8bfb\u7f13\u5b58\u6216\u56de\u6e90\u52a0\u8f7d\u6700\u8fd1\u5bf9\u8bdd\u8bb0\u5f55\u3002', invalidateAfterDialogue: '\u5bf9\u8bdd\u7ed3\u675f\u540e\u6279\u91cf\u5931\u6548\u7528\u6237\u7ea7\u70ed\u6570\u636e\u3002', syncEdgesToNodes: '\u5c06\u753b\u5e03\u8fb9\u540c\u6b65\u5199\u5165\u8282\u70b9 nextNodeCode \u4e0e\u5206\u652f\u6761\u4ef6\u3002', normalizeLegacyBranchFields: '\u89c4\u8303\u5316\u65e7\u7248\u5206\u652f\u5b57\u6bb5\u4ee5\u517c\u5bb9\u8fd0\u884c\u65f6\u6267\u884c\u5668\u3002', validate: '\u6821\u9a8c\u6a21\u677f\u753b\u5e03\u8282\u70b9\u80fd\u529b\u914d\u7f6e\u662f\u5426\u5b8c\u6574\u3002', fetch: '\u62c9\u53d6\u5916\u90e8\u5b9e\u65f6\u6570\u636e\u3002', check: '\u7efc\u5408\u68c0\u67e5\u6216\u53bb\u91cd\u68c0\u67e5\u3002', record: '\u8bb0\u5f55\u5df2\u53d1\u9001\u6d88\u606f\u6216\u4e8b\u4ef6\u3002', evaluateBoolean: '\u6c42\u503c SpEL \u8868\u8fbe\u5f0f\u5e76\u8fd4\u56de\u5e03\u5c14\u7ed3\u679c\u3002', evaluate: '\u6c42\u503c\u6761\u4ef6\u8868\u8fbe\u5f0f\u6216\u5206\u652f\u6761\u4ef6\u3002', isValid: '\u6821\u9a8c SpEL \u8868\u8fbe\u5f0f\u8bed\u6cd5\u662f\u5426\u5408\u6cd5\u3002', handleInboundMessage: '\u5904\u7406\u5ba2\u6237\u5165\u7ad9\u6d88\u606f\u5e76\u8def\u7531\u5230\u5de5\u4f5c\u6d41\u3002', handleBusinessEvent: '\u5904\u7406\u4e1a\u52a1\u4e8b\u4ef6\u5e76\u89e6\u53d1\u5de5\u4f5c\u6d41\u3002', assertWebhookAuthorized: '\u6821\u9a8c Webhook \u8bf7\u6c42\u5bc6\u94a5\u3002', getTenantDashboard: '\u805a\u5408\u79df\u6237\u76d1\u63a7\u770b\u677f\u6307\u6807\u3002', createPayOrder: '\u521b\u5efa\u5de5\u4f5c\u6d41\u652f\u4ed8\u8ba2\u5355\u3002', onPaymentSuccess: '\u652f\u4ed8\u6210\u529f\u540e\u63a8\u8fdb\u5de5\u4f5c\u6d41\u5e76\u4e3b\u52a8\u89e6\u8fbe\u3002', enqueue: '\u5165\u961f\u5ef6\u8fdf\u6216\u6b7b\u4fe1\u6d88\u606f\u3002', resolve: '\u89e3\u6790\u5f53\u524d\u7528\u6237\u6570\u636e\u53ef\u89c1\u8303\u56f4\u3002', enabled: '\u5224\u65ad\u4eff\u771f\u65f6\u95f4\u7f29\u653e\u662f\u5426\u542f\u7528\u3002', storeVector: '\u5b58\u50a8\u5411\u91cf\u5d4c\u5165\u3002', searchSimilar: '\u68c0\u7d22\u8bed\u4e49\u76f8\u4f3c\u5411\u91cf\u3002', startWorkflow: '\u542f\u52a8\u65b0\u7684\u5de5\u4f5c\u6d41\u5b9e\u4f8b\u5e76\u6267\u884c\u9996\u8282\u70b9\u3002', executeNextNode: '\u6309\u5ba2\u6237\u56de\u590d\u63a8\u8fdb\u5de5\u4f5c\u6d41\u81f3\u4e0b\u4e00\u8282\u70b9\u3002', evolve: '\u6267\u884c\u5355\u8f6e\u5bf9\u8bdd\u8fdb\u5316\u6d41\u6c34\u7ebf\u3002', assembleContext: '\u7ec4\u88c5\u5bf9\u8bdd\u4e0a\u4e0b\u6587\u6587\u672c\uff08\u542b token \u4e0a\u9650\uff09\u3002', score: '\u5bf9 AI \u56de\u590d\u8fdb\u884c\u591a\u7ef4\u5ea6\u8d28\u91cf\u8bc4\u5206\u3002', substitute: '\u5c06\u6a21\u677f\u4e2d\u7684\u53d8\u91cf\u5360\u4f4d\u7b26\u66ff\u6362\u4e3a\u5b9e\u9645\u503c\u3002', runE2e: '\u8fd0\u884c\u5b8c\u6574 E2E \u6d4b\u8bd5\u5e76\u8fd4\u56de\u62a5\u544a\u3002', tryEvolve: '\u5c1d\u8bd5\u7ecf\u8fdb\u5316\u5f15\u64ce\u5904\u7406\u4f01\u5fae\u5165\u7ad9\u56de\u590d\u3002', preprocess: '\u9884\u5904\u7406\u5165\u7ad9\u591a\u5a92\u4f53\u6d88\u606f\u3002', syncFromChatMsg: '\u4ece chat_msg \u540c\u6b65\u5230 lobster_chat_record\u3002', submit: '\u63d0\u4ea4\u5f02\u6b65\u8fdb\u5316\u4efb\u52a1\u3002', get: '\u6309\u6807\u8bc6\u83b7\u53d6\u6ce8\u518c\u9879\u6216\u53d1\u8d77 GET \u8bf7\u6c42\u3002', postJson: '\u53d1\u8d77 JSON POST \u8bf7\u6c42\u3002', delete: '\u5220\u9664\u76f8\u5173\u6570\u636e\u6216\u53d1\u8d77 DELETE \u8bf7\u6c42\u3002', put: '\u53d1\u8d77 PUT \u8bf7\u6c42\u3002', request: '\u53d1\u8d77\u901a\u7528 HTTP \u8bf7\u6c42\u3002', filterInstances: '\u6309\u6570\u636e\u8303\u56f4\u8fc7\u6ee4\u5b9e\u4f8b\u5217\u8868\u3002', canAccessInstance: '\u5224\u65ad\u662f\u5426\u53ef\u8bbf\u95ee\u6307\u5b9a\u5b9e\u4f8b\u3002', daysToMillis: '\u5c06\u914d\u7f6e\u65e5\u8f6c\u6362\u4e3a\u771f\u5b9e\u6beb\u79d2\u3002', recommendByVector: '\u57fa\u4e8e\u5411\u91cf\u63a8\u8350\u5b66\u4e60\u7b56\u7565\u3002', pauseWorkflow: '\u6682\u505c\u5de5\u4f5c\u6d41\u5b9e\u4f8b\u6267\u884c\u3002', resumeWorkflow: '\u6062\u590d\u5df2\u6682\u505c\u7684\u5de5\u4f5c\u6d41\u5b9e\u4f8b\u3002', terminateWorkflow: '\u7ec8\u6b62\u5de5\u4f5c\u6d41\u5b9e\u4f8b\u5e76\u8bb0\u5f55\u539f\u56e0\u3002', getInstanceState: '\u67e5\u8be2\u5de5\u4f5c\u6d41\u5b9e\u4f8b\u5f53\u524d\u72b6\u6001\u4e0e\u4e0a\u4e0b\u6587\u3002', simulateExecution: '\u6a21\u62df\u6267\u884c\u5de5\u4f5c\u6d41\u8282\u70b9\uff08\u4e0d\u5b9e\u9645\u53d1\u6d88\u606f\uff09\u3002', deliverProactiveMessage: '\u5411\u5ba2\u6237\u6295\u9012\u5de5\u4f5c\u6d41\u4e3b\u52a8\u6d88\u606f\u3002', enrichWithDynamicNode: 'AI \u52a8\u6001\u751f\u6210\u5e76\u63d2\u5165\u5bf9\u8bdd\u4e0a\u4e0b\u6587\u8282\u70b9\u3002', assembleForNode: '\u4e3a\u6307\u5b9a\u8282\u70b9\u7c7b\u578b\u7ec4\u88c5\u4e0a\u4e0b\u6587\u3002', getContextVariables: '\u83b7\u53d6\u5b9e\u4f8b\u4e0a\u4e0b\u6587\u53d8\u91cf Map\u3002', assembleFullContext: '\u5e76\u884c\u52a0\u8f7d\u591a\u6e90\u4e0a\u4e0b\u6587\u5e76\u7ec4\u88c5\u4e3a Map\u3002', buildAiPrompt: '\u5c06\u4e0a\u4e0b\u6587 Map \u683c\u5f0f\u5316\u4e3a AI Prompt \u6587\u672c\u3002', formatKnowledgeForScoring: '\u683c\u5f0f\u5316\u77e5\u8bc6\u5e93\u7247\u6bb5\u4f9b\u8d28\u91cf\u8bc4\u5206\u4f7f\u7528\u3002', checkCompliance: '\u68c0\u67e5\u5185\u5bb9\u5408\u89c4\u6027\u3002', checkAiReplyCompliance: '\u6821\u9a8c AI \u56de\u590d\u5408\u89c4\u6027\u5e76\u8fd4\u56de\u5206\u7ea7\u7ed3\u679c\u3002', evaluateNextNode: '\u6c42\u503c\u6761\u4ef6\u5e76\u89e3\u6790\u4e0b\u4e00\u8282\u70b9\u7f16\u7801\u3002', adjustNode: '\u57fa\u4e8e\u8bed\u4e49\u5206\u6790\u8c03\u8282\u8282\u70b9\u8def\u7531\u51b3\u7b56\u3002', shouldTransferToHuman: '\u5224\u65ad\u662f\u5426\u5e94\u8f6c\u4eba\u5de5\u3002', detectIntent: '\u68c0\u6d4b\u5ba2\u6237\u610f\u56fe\u7c7b\u578b\u3002', supports: '\u5224\u65ad\u8282\u70b9\u7c7b\u578b\u662f\u5426\u6709\u6ce8\u518c handler\u3002', registerHandler: '\u6ce8\u518c\u81ea\u5b9a\u4e49\u8282\u70b9\u7c7b\u578b handler\u3002', getRegisteredHandlers: '\u8fd4\u56de\u5df2\u6ce8\u518c\u7684\u5168\u90e8\u8282\u70b9 handler \u6620\u5c04\u3002', processDialogue: '\u5904\u7406\u591a\u8f6e\u5bf9\u8bdd\u8282\u70b9\u7684\u4e00\u8f6e\u4ea4\u4e92\u3002', isMultiTurnNode: '\u5224\u65ad\u8282\u70b9\u662f\u5426\u914d\u7f6e\u4e3a\u591a\u8f6e\u5bf9\u8bdd\u3002', isDialogueComplete: '\u5224\u65ad\u591a\u8f6e\u5bf9\u8bdd\u662f\u5426\u5df2\u5b8c\u6210\u3002', getDialogueRound: '\u83b7\u53d6\u5f53\u524d\u591a\u8f6e\u5bf9\u8bdd\u8f6e\u6b21\u3002', resetDialogue: '\u91cd\u7f6e\u591a\u8f6e\u5bf9\u8bdd\u72b6\u6001\u3002', checkQuality: '\u68c0\u67e5\u8f93\u51fa\u5185\u5bb9\u57fa\u7840\u8d28\u91cf\u3002', checkAndCorrect: '\u68c0\u67e5\u8d28\u91cf\u5e76\u5728\u5fc5\u8981\u65f6\u7ea0\u6b63\u5185\u5bb9\u3002', saveToPending: '\u5c06\u9ad8\u8d28\u91cf\u56de\u590d\u5b58\u5165\u5f85\u5ba1\u6838\u77e5\u8bc6\u5e93\u3002', listPendingAudit: '\u5217\u51fa\u5f85\u5ba1\u6838\u77e5\u8bc6\u6761\u76ee\u3002', promoteToKnowledge: '\u5c06\u5ba1\u6838\u901a\u8fc7\u6761\u76ee\u664b\u5347\u6b63\u5f0f\u77e5\u8bc6\u5e93\u3002', getPrompt: '\u83b7\u53d6\u8282\u70b9/\u5168\u5c40 Prompt \u5185\u5bb9\u3002', getSystemPrompt: '\u83b7\u53d6\u8282\u70b9\u7cfb\u7edf Prompt\u3002', getInstructionPrompt: '\u83b7\u53d6\u8282\u70b9\u6307\u4ee4 Prompt\u3002', getFallbackPrompt: '\u83b7\u53d6\u8282\u70b9\u515c\u5e95 Prompt\u3002', saveNodePrompt: '\u4fdd\u5b58\u8282\u70b9 Prompt \u5230\u6570\u636e\u5e93\u3002', saveGlobalPrompt: '\u4fdd\u5b58\u5168\u5c40 Prompt \u5230\u6570\u636e\u5e93\u3002', listPrompts: '\u5217\u51fa\u79df\u6237 Prompt \u914d\u7f6e\u3002', invalidateCache: '\u5931\u6548 Prompt \u7f13\u5b58\u3002', scoreWithRetry: '\u8d28\u91cf\u8bc4\u5206\u5e76\u5728\u4e0d\u8fbe\u6807\u65f6\u89e6\u53d1\u91cd\u751f\u6210\u3002', getThreshold: '\u83b7\u53d6\u8d28\u91cf\u8bc4\u5206\u9608\u503c\u3002', applyReplace: '\u5bf9\u6587\u672c\u5e94\u7528\u8fdd\u7981\u8bcd/\u6613\u9519\u8bcd\u66ff\u6362\u3002', listWords: '\u5206\u9875\u67e5\u8be2\u66ff\u6362\u8bcd\u5217\u8868\u3002', saveWord: '\u4fdd\u5b58\u66ff\u6362\u8bcd\u914d\u7f6e\u3002', deleteWord: '\u5220\u9664\u66ff\u6362\u8bcd\u3002', detectTakeover: '\u68c0\u6d4b\u5ba2\u6237\u662f\u5426\u8981\u6c42\u8f6c\u4eba\u5de5\u63a5\u7ba1\u3002', detectAITransfer: '\u68c0\u6d4b AI \u662f\u5426\u5e94\u4e3b\u52a8\u8f6c\u63a5\u4eba\u5de5\u3002', filterSensitiveWords: '\u8fc7\u6ee4\u6587\u672c\u4e2d\u7684\u654f\u611f\u8bcd\u5e76\u66ff\u6362\u3002', containsSensitiveWord: '\u68c0\u6d4b\u6587\u672c\u662f\u5426\u5305\u542b\u654f\u611f\u8bcd\u3002', detectSensitiveWords: '\u68c0\u6d4b\u5e76\u8fd4\u56de\u654f\u611f\u8bcd\u8be6\u7ec6\u5217\u8868\u3002', addSensitiveWord: '\u65b0\u589e\u79df\u6237\u654f\u611f\u8bcd\u5e76\u5237\u65b0\u7f13\u5b58\u3002', removeSensitiveWord: '\u79fb\u9664\u654f\u611f\u8bcd\u5e76\u5237\u65b0\u7f13\u5b58\u3002', listSensitiveWords: '\u67e5\u8be2\u79df\u6237\u654f\u611f\u8bcd\u5217\u8868\u3002', generateSummary: '\u57fa\u4e8e\u5bf9\u8bdd\u5386\u53f2\u751f\u6210\u6458\u8981\u6587\u672c\u3002', generateSummaryAsync: '\u5f02\u6b65\u89e6\u53d1\u5b9e\u4f8b\u6458\u8981\u66f4\u65b0\uff08\u4e0d\u963b\u585e\uff09\u3002', forceGenerateSummary: '\u5f3a\u5236\u91cd\u65b0\u751f\u6210\u5e76\u6301\u4e45\u5316\u5b9e\u4f8b\u6458\u8981\u3002', getCachedSummary: '\u83b7\u53d6\u5df2\u7f13\u5b58\u7684\u7528\u6237/\u5b9e\u4f8b\u6458\u8981\u3002', executeTool: '\u6267\u884c\u6307\u5b9a\u540d\u79f0\u7684\u5de5\u5177\u8c03\u7528\u3002', getAvailableTools: '\u5217\u51fa\u79df\u6237\u53ef\u7528\u5de5\u5177\u3002', registerTool: '\u6ce8\u518c\u81ea\u5b9a\u4e49\u5de5\u5177\u3002', setVariable: '\u8bbe\u7f6e\u5355\u4e2a\u5b9e\u4f8b\u53d8\u91cf\uff08\u5185\u5b58+Redis+DB\uff09\u3002', setVariables: '\u6279\u91cf\u8bbe\u7f6e\u5b9e\u4f8b\u53d8\u91cf\u3002', getVariable: '\u83b7\u53d6\u5355\u4e2a\u5b9e\u4f8b\u53d8\u91cf\u3002', getAllVariables: '\u83b7\u53d6\u5b9e\u4f8b\u5168\u90e8\u53d8\u91cf\u3002', removeVariable: '\u5220\u9664\u5355\u4e2a\u5b9e\u4f8b\u53d8\u91cf\u3002', clearVariables: '\u6e05\u7a7a\u5b9e\u4f8b\u5168\u90e8\u53d8\u91cf\u3002', persistToDatabase: '\u5c06\u5185\u5b58\u53d8\u91cf\u6301\u4e45\u5316\u5230\u6570\u636e\u5e93\u3002', loadFromDatabase: '\u4ece\u6570\u636e\u5e93\u52a0\u8f7d\u53d8\u91cf\u5230\u5185\u5b58\u7f13\u5b58\u3002', extractVariables: '\u4ece\u4e0a\u4e0b\u6587\u4e2d\u62bd\u53d6\u53d8\u91cf\u503c\u3002', resolveWorkflowCode: '\u7531 workflowId \u89e3\u6790 templateCode\u3002', resolveWorkflowCodeFromInstance: '\u7531\u5b9e\u4f8b ID \u89e3\u6790 templateCode\u3002', getReport: '\u6309 runId \u67e5\u8be2 E2E \u6d4b\u8bd5\u62a5\u544a\u3002', stepNext: 'E2E \u5355\u6b65\u63a8\u8fdb\uff1a\u6ce8\u5165\u7528\u6237\u8f93\u5165\u5e76\u6267\u884c\u4e0b\u4e00\u8282\u70b9\u3002', multiTurn: 'E2E \u591a\u8f6e\u5bf9\u8bdd\u6d4b\u8bd5\u3002', listRuns: '\u5206\u9875\u5217\u51fa E2E \u6d4b\u8bd5\u8fd0\u884c\u8bb0\u5f55\u3002', runAllTests: '\u8fd0\u884c\u5168\u90e8\u96c6\u6210\u5192\u70df\u6d4b\u8bd5\u3002', generateWorkflow: 'AI \u751f\u6210\u5de5\u4f5c\u6d41\u6a21\u677f JSON\u3002', iterateOptimize: '\u8fed\u4ee3\u4f18\u5316\u5df2\u6709\u5de5\u4f5c\u6d41\u6a21\u677f\u3002', executeGenerateSync: '\u540c\u6b65\u6267\u884c AI \u5de5\u4f5c\u6d41\u751f\u6210\u4efb\u52a1\u3002', executeGenerate: '\u5f02\u6b65\u6267\u884c AI \u5de5\u4f5c\u6d41\u751f\u6210\u4efb\u52a1\u3002', getBalance: '\u67e5\u8be2\u79df\u6237 Token \u4f59\u989d\u3002', listSummaries: '\u5206\u9875\u5217\u51fa\u5bf9\u8bdd\u6458\u8981\u3002', listAudits: '\u5217\u51fa\u4e8b\u4ef6\u5ba1\u6838\u8bb0\u5f55\u3002', listSuggestions: '\u5217\u51fa\u8fdb\u5316\u5efa\u8bae\u3002', batchAudit: '\u6279\u91cf\u5ba1\u6838\u8fdb\u5316\u5efa\u8bae\u3002', selectListByCompanyId: '\u6309\u79df\u6237\u67e5\u8be2\u5b66\u4e60\u8bed\u6599\u5217\u8868\u3002', listTemplates: '\u5217\u51fa\u5de5\u4f5c\u6d41\u6a21\u677f\u3002', saveTemplateNodes: '\u4fdd\u5b58\u6a21\u677f\u8282\u70b9\u914d\u7f6e\u3002', attachPromptsToNodes: '\u4e3a\u8282\u70b9\u6302\u8f7d Prompt \u914d\u7f6e\u3002', saveNodePromptsFromPayload: '\u4ece\u8bf7\u6c42\u4f53\u4fdd\u5b58\u8282\u70b9 Prompt\u3002', detectHandoff: '\u68c0\u6d4b\u662f\u5426\u9700\u8981\u8f6c\u4eba\u5de5\u3002', recordHandoff: '\u8bb0\u5f55\u4e00\u6b21\u8f6c\u4eba\u5de5\u64cd\u4f5c\u3002', registerInstance: '\u6ce8\u518c\u5b9e\u4f8b\u5230\u5fc3\u8df3\u8c03\u5ea6\u3002', unregisterInstance: '\u4ece\u5fc3\u8df3\u8c03\u5ea6\u6ce8\u9500\u5b9e\u4f8b\u3002', checkAndExecute: '\u68c0\u67e5\u5e76\u6267\u884c\u5230\u671f\u5fc3\u8df3\u4efb\u52a1\u3002', createVersion: '\u521b\u5efa\u77e5\u8bc6\u5e93\u7248\u672c\u5feb\u7167\u3002', rollback: '\u56de\u6eda\u5230\u6307\u5b9a\u77e5\u8bc6\u7248\u672c\u3002', pushToUser: '\u5411\u6307\u5b9a\u7528\u6237\u63a8\u9001\u5b9e\u65f6\u6d88\u606f\u3002', retry: '\u91cd\u8bd5\u6b7b\u4fe1\u6d88\u606f\u3002', unrestricted: '\u6784\u9020\u65e0\u9650\u5236\u6570\u636e\u8303\u56f4\u3002', filtered: '\u6784\u9020\u6309\u521b\u5efa\u4eba\u8fc7\u6ee4\u7684\u6570\u636e\u8303\u56f4\u3002', migrateChannelType: '\u4e3a\u5386\u53f2\u8bb0\u5fc6\u6570\u636e\u8865\u5145 channel_type \u5b57\u6bb5\u3002', }, }; fs.writeFileSync(out, JSON.stringify(data, null, 2), 'utf8'); console.log('Written', out);