@lovrabet/dataset-mcp-server 1.3.2-beta.2 → 1.3.2-beta.5

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
@@ -1,185 +1,175 @@
1
- # Lovrabet 数据集 MCP 服务器 🚀
1
+ # Lovrabet Dataset MCP Server
2
2
 
3
- Claude Desktop 提供 Lovrabet 数据集访问的 MCP (Model Context Protocol) 服务器。
3
+ > **AI-Native 数据集访问工具** - Cursor/Claude Desktop 直接操作 Lovrabet 数据,10倍提升开发效率
4
4
 
5
- ![npm](https://img.shields.io/npm/v/@lovrabet/dataset-mcp-server)
6
- ![license](https://img.shields.io/github/license/lovrabet/dataset-mcp-server)
7
- ![node](https://img.shields.io/node/v/@lovrabet/dataset-mcp-server)
5
+ [![npm](https://img.shields.io/npm/v/@lovrabet/dataset-mcp-server)](https://www.npmjs.com/package/@lovrabet/dataset-mcp-server)
6
+ [![license](https://img.shields.io/npm/l/@lovrabet/dataset-mcp-server)](https://www.npmjs.com/package/@lovrabet/dataset-mcp-server)
7
+ [![node](https://img.shields.io/node/v/@lovrabet-dataset-mcp-server)](https://www.npmjs.com/package/@lovrabet-mcp-server)
8
8
 
9
- ## 说明
10
-
11
- 本 MCP Server 是基于 [lovrabet 平台](https://www.lovrabet.com) 生成的业务系统二次开发而设计,能够方便开发者在 Cursor、ClaudeCode、 Qoder、Trae 等体系快速实现 Lovrabet 应用的扩展开发,**脱离 Lovrabet 体系单独使用无效**
9
+ ---
12
10
 
13
- ## 功能特性
11
+ ## 💡 为什么需要它?
14
12
 
15
- - 🤖 **MCP 服务器**:与 Claude Desktop、Cursor 无缝集成,实现 AI 驱动的数据集探索
16
- - 🔍 **完整的数据集分析**:基于 @lovrabet/dsparser 的全面元数据提取
17
- - 📝 **SDK 代码生成**:自动生成完整的 TypeScript SDK 代码(支持简化和完整两种模式)
18
- - 🔎 **智能搜索**:通过关键词快速查找数据集
19
- - 🔐 **浏览器登录**:安全便捷的浏览器登录流程,Cookie 自动管理
20
- - 🧪 **完整测试覆盖**:44+ 单元测试,确保代码质量
21
- - 📚 **丰富示例**:3 个完整的使用示例,快速上手
13
+ **传统开发:手动查阅,反复切换**
22
14
 
23
- ## 🚀 快速开始
15
+ ```
16
+ 需求 → 翻文档找数据集 → 复制字段定义 → 写 API 调用
17
+ → 发现字段名记错 → 切回后台查看 → 修改代码
18
+ → 忘记枚举值 → 再查文档 → 循环往复
19
+ ```
24
20
 
25
- ### 配置 MCP
21
+ **一个简单的查询功能,耗时 30 分钟以上。**
26
22
 
27
- #### 方式一:使用 npx(推荐)
23
+ ---
28
24
 
29
- 无需安装,自动使用最新版本:
25
+ **通用 Vibe Coding:生成快,调试慢**
30
26
 
31
- ```json
32
- {
33
- "mcpServers": {
34
- "lovrabet-dataset": {
35
- "command": "npx",
36
- "args": ["-y", "@lovrabet/dataset-mcp-server"],
37
- "env": {
38
- "LOVRABET_APP_CODE": "你的应用AppCode,例如app-12345678",
39
- "LOVRABET_ENV": "online"
40
- }
41
- }
42
- }
43
- }
27
+ ```
28
+ 让 AI 写代码 → 5 分钟生成完成 → 运行报错
29
+ 字段名猜错了 → 类型不匹配 → 枚举值写错
30
+ 修复一处又一处 → 2 小时调试循环
44
31
  ```
45
32
 
46
- **环境变量说明**:
33
+ **AI 没有业务数据集上下文,全靠"幻觉"和猜测,字段名、类型、枚举值一错再错。**
47
34
 
48
- | 变量 | 必填 | 默认值 | 说明 |
49
- |-----|-----|-------|-----|
50
- | `LOVRABET_APP_CODE` | ✅ | - | 你的应用 AppCode |
51
- | `LOVRABET_ENV` | ❌ | `online` | 环境:`online` 或 `daily` |
52
- | `LOVRABET_API_BASEURL` | ❌ | `https://api.lovrabet.com` | API 基础 URL(覆盖默认) |
53
- | `LOVRABET_RUNTIME_BASEURL` | ❌ | `https://runtime.lovrabet.com` | Runtime API 基础 URL(覆盖默认) |
54
- | `LOVRABET_USER_BASEURL` | ❌ | `https://user.lovrabet.com` | User API 基础 URL(覆盖默认) |
35
+ ---
55
36
 
56
- > **注意**:`BASEURL` 相关变量仅在有自定义域名代理或测试环境时需要配置,通常不需要设置。
37
+ **使用 Lovrabet MCP:代码即用**
57
38
 
58
- **优点**:
39
+ ```
40
+ Cursor 中询问:"客户数据集有哪些字段?如何查询?"
41
+ → AI 直接读取真实元数据 → 字段名、类型、枚举值全部准确
42
+ → 生成可运行代码 → 复制即用
43
+ ```
59
44
 
60
- - 无需手动安装和更新
61
- - ✅ 总是使用最新版本
62
- - ✅ 多个项目可以使用不同版本
45
+ **耗时 2 分钟。效率提升 15 倍,返工率降低 50%。**
63
46
 
64
- #### 方式二:全局安装
47
+ ---
65
48
 
66
- 先安装:
49
+ ## ✨ 核心价值
67
50
 
68
- ```bash
69
- npm install -g @lovrabet/dataset-mcp-server
70
- ```
51
+ - **开发效率 ↑ 300%** - AI 自动生成代码,减少查阅文档时间
52
+ - **减少返工率 50%** - 代码基于真实元数据生成,字段名、类型不会错
53
+ - **新人上手时间 ↓ 80%** - 无需学习 Lovrabet 后台操作,AI 即时指导
54
+ - **类型安全** - 完整的 TypeScript 类型定义,编译时捕获错误
55
+ - **400+ 测试用例** - 覆盖核心流程,保障稳定性
71
56
 
72
- 然后配置:
57
+ ---
58
+
59
+ ## 🚀 快速开始
60
+
61
+ ### 安装配置
62
+
63
+ 在 Claude Desktop / Cursor 的配置文件中添加:
73
64
 
74
65
  ```json
75
66
  {
76
67
  "mcpServers": {
77
- "lovrabet-dataset": {
78
- "command": "lovrabet-dataset-mcp",
68
+ "lovrabet": {
69
+ "command": "npx",
70
+ "args": ["-y", "@lovrabet/dataset-mcp-server"],
79
71
  "env": {
80
- "LOVRABET_APP_CODE": "你的应用AppCode,例如app-12345678",
81
- "LOVRABET_ENV": "online"
72
+ "LOVRABET_APP_CODE": "your-app-code-here"
82
73
  }
83
74
  }
84
75
  }
85
76
  }
86
77
  ```
87
78
 
88
- **优点**:
89
-
90
- - ✅ 启动速度更快
91
- - ✅ 可离线使用
92
- - ✅ 配置更简洁
79
+ **只需设置 `LOVRABET_APP_CODE` 一个环境变量!**
93
80
 
94
81
  ### 开始使用
95
82
 
96
- 配置完成后,重启 Claude Desktop 即可开始探索数据集!
97
-
98
- ## 📊 功能展示
99
-
100
- ### 探索数据集操作
101
-
102
- 每个数据集都附带详细的 API 操作信息:
83
+ 重启 IDE,直接在对话中提问:
103
84
 
104
- - ✅ CRUD 操作(创建、读取、更新、删除)
105
- - 📋 请求/响应示例
106
- - 🔗 完整的 API 端点
107
- - 📝 字段要求和类型
108
-
109
- ### 生成生产就绪的代码
110
-
111
- ```typescript
112
- // 自动生成的包含真实示例的 SDK 代码
113
- const result = await client.models.project.create({
114
- title: "示例文本",
115
- status: 1,
116
- content: "这是一段较长的文本内容示例",
117
- channels: "示例值",
118
- frequency: 1,
119
- girlfriend_id: 1,
120
- reminder_time: "2025-11-02",
85
+ ```
86
+ 你:列出所有数据集
87
+ AI:[调用 list_datasets] 找到 15 个数据集...
88
+
89
+ 你:客户数据集有哪些字段?
90
+ AI:[调用 get_dataset_detail] 客户数据集包含以下字段:
91
+ - id (主键,必填)
92
+ - name (客户名称)
93
+ - status (枚举:1=活跃,2=冻结)
94
+ - ...
95
+
96
+ 你:帮我写一个查询活跃客户的代码
97
+ AI:[调用 generate_sdk_code] 这是完整代码:
98
+ const result = await client.models.customer.filter({
99
+ where: { status: { $eq: 1 } }
121
100
  });
122
101
  ```
123
102
 
124
- ### 分析数据集结构
125
-
126
- - 字段类型和约束
127
- - 主键和关系
128
- - 必填与可选字段
129
- - 自增和时间戳字段
103
+ ---
130
104
 
131
- ### 测试覆盖
105
+ ## 📊 功能特性
132
106
 
133
- - **认证模块** (20 tests) - Cookie 管理、域名配置
134
- - ✅ **API 客户端** (9 tests) - HTTP 请求、参数验证
135
- - **数据分析器** (7 tests) - 数据集解析、搜索、SDK 生成
136
- - **工具函数** (7 tests) - 搜索、环境处理
107
+ | 特性 | 说明 |
108
+ |------|------|
109
+ | **数据集探索** | 列出所有数据集,支持搜索和过滤 |
110
+ | **元数据解析** | 字段类型、主键、枚举值、表关系自动提取 |
111
+ | **SDK 代码生成** | 一键生成完整的 TypeScript SDK |
112
+ | **SQL 保存与执行** | 保存自定义 SQL,执行查询 |
113
+ | **智能关联分析** | 自动发现表间关联关系,简化 JOIN 查询 |
114
+ | **请求缓存** | 相同请求 5 分钟内复用缓存,提升响应速度 |
137
115
 
138
- 详细测试文档:[test/README.md](./test/README.md)
116
+ ---
139
117
 
140
- ## 🙏 致谢
118
+ ## 🛡️ 企业级特性
141
119
 
142
- - 基于 [@lovrabet/dsparser](https://www.npmjs.com/package/@lovrabet/dsparser) 构建
143
- - MCP 支持来自 [@modelcontextprotocol/sdk](https://modelcontextprotocol.io)
120
+ ### 稳定性保障
121
+ - **请求缓存** - 减少重复 API 调用
122
+ - **错误重试** - 网络错误自动重试
123
+ - **Cookie 管理** - 过期自动提示重新登录
144
124
 
145
- ## 🆘 支持
125
+ ### 开发体验
126
+ - **详细错误提示** - 出错时给出具体原因和解决建议
127
+ - **进度可视化** - 长时间操作显示进度条
128
+ - **调试模式** - 可选的详细日志输出
146
129
 
147
- - 📖 [文档](./docs)
148
- - 💬 [GitHub Issues](https://github.com/lovrabet-ai/lovrabet-dataset-mcp/issues)
149
- - 📧 邮箱:support@lovrabet.com
130
+ ### 质量保证
131
+ - **417+ 测试用例** - 覆盖核心功能
132
+ - **类型安全** - 完整的 TypeScript 类型定义
133
+ - **代码混淆** - 生产代码自动混淆保护
150
134
 
151
- ## 📄 许可证
135
+ ---
152
136
 
153
- **专有软件(Proprietary)** - 详见 [LICENSE](./LICENSE) 文件
137
+ ## 📦 MCP Tools 列表
154
138
 
155
- 本软件为 Lovrabet 开放平台的专有工具:
139
+ | Tool | 功能 | 适用场景 |
140
+ |------|------|----------|
141
+ | `login` | 浏览器登录 | 获取访问凭证 |
142
+ | `list_datasets` | 列出数据集 | 浏览所有可用数据集 |
143
+ | `search_datasets` | 搜索数据集 | 按名称/描述搜索 |
144
+ | `get_dataset_detail` | 获取数据集详情 | 查看字段、操作、关联 |
145
+ | `get_operation_detail` | 获取操作详情 | 查看 API 调用方式 |
146
+ | `generate_sdk` | 生成 SDK 代码 | 生成 TypeScript SDK |
147
+ | `validate_sql` | 验证 SQL | 检查 SQL 语法,检测查询/修改类型 |
148
+ | `save_custom_sql` | 保存自定义 SQL | SELECT 查询自动保存;非 SELECT 返回警告(由客户端处理导出) |
156
149
 
157
- - ✅ **允许使用** - 可以安装和使用本工具访问 Lovrabet 数据集
158
- - ✅ **集成使用** - 可以集成到您的开发工具链中
159
- - ❌ **不得修改** - 不得修改、反编译或逆向工程
160
- - ❌ **不得再分发** - 不得复制或分发本软件
161
- - ❌ **源代码不公开** - 本软件为闭源软件
150
+ ---
162
151
 
163
- 如需商业授权或有疑问,请访问 [lovrabet.com](https://www.lovrabet.com)
152
+ ## 📚 文档与支持
164
153
 
165
- ## 📝 更新日志
154
+ - 📖 [完整文档](./docs)
155
+ - 💬 [问题反馈](https://github.com/lovra-bet/lovrabet-dataset-mcp/issues)
156
+ - 📧 技术支持:support@lovrabet.com
166
157
 
167
- ### v1.0.8 (最新)
158
+ ---
168
159
 
169
- **新功能**
160
+ ## 📄 许可证
170
161
 
171
- - 浏览器登录流程:无需硬编码密码,更安全便捷
172
- - ✨ 完整的 SDK 代码生成:支持简化和完整两种模式
173
- - ✨ 环境特定配置:online 环境不输出 env 配置,daily 环境明确标注
174
- - ✨ 3 个完整使用示例:快速上手项目
162
+ 本软件为 Lovrabet 开放平台专有工具:
175
163
 
176
- **改进**
164
+ - ✅ **允许使用** - 访问 Lovrabet 数据集
165
+ - ✅ **集成使用** - 集成到开发工具链
166
+ - ❌ **不得修改** - 禁止逆向工程
167
+ - ❌ **不得分发** - 禁止复制分发
177
168
 
178
- - 🔧 重构 SDK 代码生成:从底层 Operation 类生成完整代码
179
- - 🔧 Cookie 写入失败处理:明确错误提示和恢复建议
180
- - 🔧 统一配置管理:examples 使用 config.json 集中配置
181
- - 🔧 自动登录验证:每次使用前自动检查 session 有效性
169
+ 详见 [LICENSE](./LICENSE)
182
170
 
183
171
  ---
184
172
 
185
- <p align="center">由 Lovrabet Team 制作</p>
173
+ <p align="center">
174
+ Made with ❤️ by the Lovrabet Team
175
+ </p>
@@ -1 +1 @@
1
- const a0_0x36da5d=a0_0xca1f;(function(_0x32070f,_0x21f455){const _0xa0565d=a0_0xca1f,_0x25c888=_0x32070f();while(!![]){try{const _0x17bddd=parseInt(_0xa0565d(0xc2))/0x1+parseInt(_0xa0565d(0xb0))/0x2*(parseInt(_0xa0565d(0x111))/0x3)+-parseInt(_0xa0565d(0xe2))/0x4+parseInt(_0xa0565d(0xdd))/0x5*(parseInt(_0xa0565d(0xff))/0x6)+parseInt(_0xa0565d(0xdc))/0x7*(parseInt(_0xa0565d(0x9e))/0x8)+-parseInt(_0xa0565d(0xee))/0x9+-parseInt(_0xa0565d(0xb5))/0xa;if(_0x17bddd===_0x21f455)break;else _0x25c888['push'](_0x25c888['shift']());}catch(_0x37c493){_0x25c888['push'](_0x25c888['shift']());}}}(a0_0x1b3a,0xd7ae8));import{DatasetList,DrivenDataDetailPlus,formatDbType}from'@lovrabet/dsparser';export class DatasetAnalyzer{[a0_0x36da5d(0xac)](_0x360fcb){const _0x1dead9=a0_0x36da5d;let _0xe35033=_0x360fcb[_0x1dead9(0xd4)];_0xe35033&&!Array['isArray'](_0xe35033)&&(_0xe35033=_0xe35033[_0x1dead9(0xe5)]||_0x360fcb[_0x1dead9(0xe5)]);!_0xe35033&&(_0xe35033=_0x360fcb);const _0x5c7883=new DatasetList(_0xe35033);return{'total':_0x5c7883['getCount'](),'datasets':_0x5c7883['toArray']()['map'](_0x1b36d3=>this[_0x1dead9(0xe4)](_0x1b36d3))};}['analyzeDatasetItem'](_0x1c821c){const _0x582584=a0_0x36da5d,_0x5e4a80=_0x1c821c[_0x582584(0x9f)]||_0x1c821c[_0x582584(0xb1)]?.[_0x582584(0x9f)];return{'id':_0x1c821c['id']||0x0,'name':_0x1c821c['name']||'','code':_0x1c821c['datasetCode']||'','tableName':_0x1c821c[_0x582584(0xc7)]?.()||_0x1c821c[_0x582584(0xaa)]||'','source':_0x1c821c['source']||'','description':_0x1c821c[_0x582584(0x99)]||'','isVirtual':_0x1c821c[_0x582584(0xf2)]?.()||![],'dbId':_0x5e4a80?.[_0x582584(0x9b)],'dbName':_0x5e4a80?.['dbName']};}['analyzeDatasetDetail'](_0x2c8164){const _0x20e8cc=a0_0x36da5d,_0x5e37c3=_0x2c8164[_0x20e8cc(0xd4)]||_0x2c8164,_0x3ff61e=new DrivenDataDetailPlus(_0x5e37c3),_0x29991f={'name':_0x3ff61e['name'],'code':_0x3ff61e[_0x20e8cc(0xcb)],'tableName':_0x3ff61e[_0x20e8cc(0xc7)](),'tableKey':_0x3ff61e[_0x20e8cc(0x10b)](),'datasetSDKKey':_0x3ff61e[_0x20e8cc(0xae)](),'modelAlias':_0x3ff61e['getModelAlias']()},_0x3791cd=_0x3ff61e[_0x20e8cc(0x9f)];_0x3791cd&&(_0x29991f['database']={'dbName':_0x3791cd[_0x20e8cc(0xc5)]??undefined,'dbId':_0x3791cd[_0x20e8cc(0x9b)]??undefined,'dbType':_0x3791cd['getDatabaseType'](),'dbVersion':_0x3791cd[_0x20e8cc(0x98)](),'tenantCode':_0x3791cd[_0x20e8cc(0x10d)](),'appCode':_0x3791cd[_0x20e8cc(0xe6)]()});const _0x318c9c=_0x3ff61e['getFieldList'](),_0x1dc90c=_0x318c9c[_0x20e8cc(0xa5)]()['map'](_0x333b11=>{const _0x1ee22b=_0x20e8cc,_0x149c6a=_0x333b11['extend'],_0x52a8c2=_0x333b11[_0x1ee22b(0xb1)],_0x3a0b3b={'name':_0x333b11['name'],'type':_0x333b11['type'],'required':_0x333b11['isRequired'](),'primaryKey':_0x333b11[_0x1ee22b(0xf1)](),'description':_0x333b11['description']||'','autoIncrement':Boolean(_0x149c6a[_0x1ee22b(0xc6)]),'createTime':Boolean(_0x149c6a[_0x1ee22b(0xb8)]),'updateTime':Boolean(_0x149c6a[_0x1ee22b(0xf5)]),'dbType':typeof _0x52a8c2[_0x1ee22b(0x110)]===_0x1ee22b(0x10e)?_0x52a8c2['dbType']:undefined,'dbTypeLen':typeof _0x52a8c2['dbTypeLen']===_0x1ee22b(0xea)?_0x52a8c2[_0x1ee22b(0xb9)]:undefined};if(_0x333b11[_0x1ee22b(0xd1)]()){const _0x203675=_0x333b11[_0x1ee22b(0xce)]();if(_0x203675){_0x3a0b3b['isEnum']=!![],_0x3a0b3b[_0x1ee22b(0xda)]=_0x203675['values'];if(_0x203675[_0x1ee22b(0xf3)]&&_0x203675['options'][_0x1ee22b(0x108)]>0x0)_0x3a0b3b[_0x1ee22b(0x10f)]=_0x203675[_0x1ee22b(0xf3)];else _0x203675[_0x1ee22b(0xbd)]&&(_0x3a0b3b['enumSource']=_0x203675['selectItemsSource']);}}return _0x3a0b3b;}),_0x1de2a4=_0x3ff61e[_0x20e8cc(0xef)]()[_0x20e8cc(0xdf)](_0xd73a06=>{const _0x3bebf3=_0x20e8cc,_0x57bd01={'name':_0xd73a06[_0x3bebf3(0x97)],'displayName':_0xd73a06[_0x3bebf3(0xec)],'type':_0xd73a06['type'],'method':_0xd73a06['method'],'path':_0xd73a06[_0x3bebf3(0xc3)],'requestFields':_0xd73a06[_0x3bebf3(0x96)],'requestFieldsCount':_0xd73a06['requestFields']['length'],'requestExample':_0xd73a06[_0x3bebf3(0xe0)],'responseExample':_0xd73a06['responseExample'],'enabled':_0xd73a06[_0x3bebf3(0xc8)],'fullUrl':_0xd73a06['fullUrl']};return _0x57bd01;});return{'basic':_0x29991f,'fields':_0x1dc90c,'operations':_0x1de2a4,'supportsCRUD':_0x3ff61e['supportsCRUD'](),'fieldCount':_0x3ff61e[_0x20e8cc(0xab)](),'operationCount':_0x3ff61e[_0x20e8cc(0x109)](),'enabledOperationCount':_0x1de2a4['length']};}[a0_0x36da5d(0xcf)](_0x479930,_0x15421b){const _0x79c7d0=a0_0x36da5d,_0xee5fd=_0x479930[_0x79c7d0(0xd4)]||_0x479930,_0x15beb9=new DrivenDataDetailPlus(_0xee5fd),_0x5953b5=_0x15beb9[_0x79c7d0(0x107)](_0x15421b);if(!_0x5953b5)return null;return{'name':_0x5953b5[_0x79c7d0(0x97)],'displayName':_0x5953b5[_0x79c7d0(0xec)],'type':_0x5953b5[_0x79c7d0(0xa1)],'method':_0x5953b5[_0x79c7d0(0xa7)],'path':_0x5953b5[_0x79c7d0(0xc3)],'requestFields':_0x5953b5[_0x79c7d0(0x96)],'requestFieldsCount':_0x5953b5[_0x79c7d0(0x96)][_0x79c7d0(0x108)],'requestExample':_0x5953b5[_0x79c7d0(0xe0)],'responseExample':_0x5953b5['responseExample'],'enabled':_0x5953b5[_0x79c7d0(0xc8)],'fullUrl':_0x5953b5['fullUrl']};}['generateSDKCode'](_0x5c7fc3,_0x49497e,_0xff4e9b,_0x95f0b0=a0_0x36da5d(0xb6)){const _0x355e36=a0_0x36da5d,_0x48a43e=_0x5c7fc3['data']||_0x5c7fc3,_0x3f960e=new DrivenDataDetailPlus(_0x48a43e),_0xd40054=_0x3f960e[_0x355e36(0xa6)](_0x49497e);if(!_0xd40054)return null;const _0x3c8af0=_0x3f960e[_0x355e36(0x10b)](),_0x15b2e3=_0x3f960e[_0x355e36(0xc7)](),_0x2ade3e=this['toPascalCase'](_0x15b2e3),_0xdb1a91=_0x3f960e[_0x355e36(0x107)](_0x49497e),_0xfbda30=_0x3f960e[_0x355e36(0xad)](_0x49497e,_0xff4e9b);return{'code':_0xd40054[_0x355e36(0xdb)]['code'],'sdkCallInfo':{'modelName':_0x2ade3e,'tableName':_0x15b2e3,'tableKey':_0x3c8af0,'datasetCode':_0x3f960e[_0x355e36(0xcb)],'operationName':_0x49497e},'requestExample':_0xdb1a91?.[_0x355e36(0xe0)],'responseExample':_0xdb1a91?.[_0x355e36(0xf7)],'sdkInitCode':_0x3f960e[_0x355e36(0xd8)](_0x3c8af0),'usageExample':_0xd40054[_0x355e36(0xb7)],'fullExample':_0xfbda30||undefined,'aliasExplanation':_0x3f960e[_0x355e36(0xd5)]()};}[a0_0x36da5d(0x102)](_0x8fcf87){const _0x5626ac=a0_0x36da5d,_0x32e200=_0x8fcf87[_0x5626ac(0xd4)]||_0x8fcf87,_0x98b89d=new DrivenDataDetailPlus(_0x32e200),_0x40c82d=_0x98b89d[_0x5626ac(0xef)]()[_0x5626ac(0xdf)](_0x14d669=>({'name':_0x14d669['name'],'displayName':_0x14d669['displayName'],'description':_0x14d669[_0x5626ac(0xec)]+_0x5626ac(0x105)+_0x98b89d['name'],'method':_0x14d669['method'],'path':_0x14d669[_0x5626ac(0xc3)],'requestParams':_0x14d669['requestFields'],'requestExample':JSON['stringify'](_0x14d669[_0x5626ac(0xe0)],null,0x2),'responseExample':JSON[_0x5626ac(0x113)](_0x14d669['responseExample'],null,0x2)}));return{'datasetName':_0x98b89d[_0x5626ac(0x97)],'tableName':_0x98b89d[_0x5626ac(0xc7)](),'operations':_0x40c82d};}[a0_0x36da5d(0xa8)](_0xd84cb,_0xae0a1e){const _0x2f03d8=a0_0x36da5d,_0x40c105=new DatasetList(_0xd84cb),_0x582a2b=_0xae0a1e[_0x2f03d8(0xa9)]();return _0x40c105[_0x2f03d8(0xaf)]()[_0x2f03d8(0xe9)](_0x40fd32=>{const _0x586c06=_0x2f03d8,_0x143ebc=(_0x40fd32[_0x586c06(0x97)]||'')[_0x586c06(0xa9)]()[_0x586c06(0xfc)](_0x582a2b),_0x389f10=(_0x40fd32['getTableName']?.()||_0x40fd32[_0x586c06(0xaa)]||'')[_0x586c06(0xa9)]()[_0x586c06(0xfc)](_0x582a2b),_0x57ef0a=(_0x40fd32[_0x586c06(0xcb)]||'')[_0x586c06(0xa9)]()[_0x586c06(0xfc)](_0x582a2b),_0x281aac=(_0x40fd32[_0x586c06(0x99)]||'')[_0x586c06(0xa9)]()[_0x586c06(0xfc)](_0x582a2b);return _0x143ebc||_0x389f10||_0x57ef0a||_0x281aac;})[_0x2f03d8(0xdf)](_0xb35633=>this[_0x2f03d8(0xe4)](_0xb35633));}[a0_0x36da5d(0xc0)](_0x3fbdcc){const _0x433cad=a0_0x36da5d,_0x4057aa=_0x3fbdcc[_0x433cad(0xd4)]||_0x3fbdcc,_0x9213c4=new DrivenDataDetailPlus(_0x4057aa);let _0x4f23ce='#\x20'+_0x9213c4[_0x433cad(0x97)]+'\x0a\x0a';_0x4f23ce+=_0x433cad(0xc9)+_0x9213c4[_0x433cad(0xcb)]+'\x0a',_0x4f23ce+=_0x433cad(0xbc)+_0x9213c4[_0x433cad(0xc7)]()+'\x0a',_0x4f23ce+=_0x433cad(0xbe)+_0x9213c4[_0x433cad(0x10b)]()+'\x0a\x0a',_0x4f23ce+='##\x20Fields\x0a\x0a';const _0x4fbc42=_0x9213c4[_0x433cad(0xa2)]();_0x4fbc42[_0x433cad(0x108)]>0x0&&(_0x4f23ce+=_0x433cad(0xf9),_0x4f23ce+=_0x433cad(0xa4),_0x4fbc42['all']()[_0x433cad(0xe7)](_0x406503=>{const _0x4089ab=_0x433cad,_0x559976=_0x406503[_0x4089ab(0xb1)],_0x47f3c6=formatDbType(typeof _0x559976[_0x4089ab(0x110)]==='string'?_0x559976[_0x4089ab(0x110)]:undefined,typeof _0x559976[_0x4089ab(0xb9)]===_0x4089ab(0xea)?_0x559976[_0x4089ab(0xb9)]:undefined);let _0x31f567='';if(_0x406503[_0x4089ab(0xd1)]()){const _0x5e1d87=_0x406503[_0x4089ab(0xce)]();if(_0x5e1d87&&_0x5e1d87[_0x4089ab(0x106)][_0x4089ab(0x108)]>0x0){const _0x49ce8a=_0x5e1d87[_0x4089ab(0x106)][_0x4089ab(0x9a)](0x0,0x5);_0x31f567=_0x49ce8a[_0x4089ab(0xba)](',\x20'),_0x5e1d87[_0x4089ab(0x106)][_0x4089ab(0x108)]>0x5&&(_0x31f567+=_0x4089ab(0xe1)+_0x5e1d87[_0x4089ab(0x106)]['length']+_0x4089ab(0xd6));}}_0x4f23ce+='|\x20'+_0x406503[_0x4089ab(0x97)]+_0x4089ab(0x104)+_0x406503['code']+'\x20|\x20'+_0x47f3c6+_0x4089ab(0x104)+_0x406503[_0x4089ab(0xa1)]+'\x20|\x20'+(_0x406503['isRequired']()?'✅':'')+_0x4089ab(0x104)+(_0x406503[_0x4089ab(0xf1)]()?'🔑':'')+_0x4089ab(0x104)+_0x31f567+'\x20|\x20'+(_0x406503[_0x4089ab(0x99)]||'')+_0x4089ab(0xde);}),_0x4f23ce+='\x0a');_0x4f23ce+=_0x433cad(0xf8);const _0x5e25a1=_0x9213c4[_0x433cad(0xef)]();_0x5e25a1[_0x433cad(0xe7)](_0x2bb063=>{const _0x488f79=_0x433cad;_0x4f23ce+=_0x488f79(0xf0)+_0x2bb063[_0x488f79(0xec)]+'\x20('+_0x2bb063[_0x488f79(0x97)]+')\x0a\x0a',_0x4f23ce+='-\x20**Method:**\x20'+_0x2bb063[_0x488f79(0xa7)]+'\x0a',_0x4f23ce+='-\x20**Path:**\x20'+_0x2bb063['path']+'\x0a',_0x2bb063[_0x488f79(0xed)]&&(_0x4f23ce+=_0x488f79(0xd0)+_0x2bb063[_0x488f79(0xed)]+'\x0a'),_0x2bb063[_0x488f79(0x96)]&&_0x2bb063[_0x488f79(0x96)]['length']>0x0&&(_0x4f23ce+=_0x488f79(0xbb)+_0x2bb063[_0x488f79(0x96)][_0x488f79(0xba)](',\x20')+'\x0a'),_0x2bb063[_0x488f79(0xe0)]&&(_0x4f23ce+=_0x488f79(0xb2)+JSON['stringify'](_0x2bb063[_0x488f79(0xe0)],null,0x2)+_0x488f79(0xc4)),_0x2bb063['responseExample']&&(_0x4f23ce+='\x0a**Response\x20Example:**\x0a```json\x0a'+JSON[_0x488f79(0x113)](_0x2bb063['responseExample'],null,0x2)+_0x488f79(0xc4)),_0x4f23ce+='\x0a';});const _0x3fe446=_0x9213c4[_0x433cad(0x10b)](),_0x39e9fd=_0x9213c4[_0x433cad(0xd8)](_0x3fe446);return _0x39e9fd&&(_0x4f23ce+=_0x433cad(0xd9),_0x4f23ce+=_0x433cad(0xcd),_0x4f23ce+=_0x39e9fd,_0x4f23ce+=_0x433cad(0xbf)),_0x4f23ce;}['compareDatasets'](_0x4eb3f4,_0x29ba23){const _0x3f69d2=a0_0x36da5d,_0x544da9=_0x4eb3f4[_0x3f69d2(0xd4)]||_0x4eb3f4,_0x48a1ef=_0x29ba23['data']||_0x29ba23,_0x2f9b4a=new DrivenDataDetailPlus(_0x544da9),_0x599a0c=new DrivenDataDetailPlus(_0x48a1ef),_0x10aae0=new Set(_0x2f9b4a[_0x3f69d2(0xa2)]()[_0x3f69d2(0xa5)]()[_0x3f69d2(0xdf)](_0x17c141=>_0x17c141[_0x3f69d2(0x97)])),_0x345d6b=new Set(_0x599a0c[_0x3f69d2(0xa2)]()[_0x3f69d2(0xa5)]()['map'](_0x330fe8=>_0x330fe8[_0x3f69d2(0x97)])),_0x36f1c5=new Set(_0x2f9b4a[_0x3f69d2(0xef)]()[_0x3f69d2(0xdf)](_0x17f64c=>_0x17f64c[_0x3f69d2(0x97)])),_0x544e65=new Set(_0x599a0c[_0x3f69d2(0xef)]()[_0x3f69d2(0xdf)](_0x20df9a=>_0x20df9a[_0x3f69d2(0x97)])),_0x26a829={'fields':{'added':Array[_0x3f69d2(0xca)](_0x345d6b)['filter'](_0x52b895=>!_0x10aae0['has'](_0x52b895)),'removed':Array['from'](_0x10aae0)['filter'](_0x365ef8=>!_0x345d6b[_0x3f69d2(0xe3)](_0x365ef8)),'modified':[]},'operations':{'added':Array[_0x3f69d2(0xca)](_0x544e65)[_0x3f69d2(0xe9)](_0x6a4de7=>!_0x36f1c5[_0x3f69d2(0xe3)](_0x6a4de7)),'removed':Array['from'](_0x36f1c5)['filter'](_0x39611a=>!_0x544e65[_0x3f69d2(0xe3)](_0x39611a))}},_0x1084a5='Fields:\x20+'+_0x26a829[_0x3f69d2(0xfe)][_0x3f69d2(0xa3)][_0x3f69d2(0x108)]+'/-'+_0x26a829[_0x3f69d2(0xfe)][_0x3f69d2(0xc1)][_0x3f69d2(0x108)]+',\x20'+(_0x3f69d2(0xd3)+_0x26a829[_0x3f69d2(0xd2)][_0x3f69d2(0xa3)][_0x3f69d2(0x108)]+'/-'+_0x26a829[_0x3f69d2(0xd2)]['removed']['length']);return{'differences':_0x26a829,'summary':_0x1084a5};}['toPascalCase'](_0x549a15){const _0x1ffef1=a0_0x36da5d;return _0x549a15[_0x1ffef1(0xf6)](/[-_\s]+(.)?/g,(_0x50823d,_0x997416)=>_0x997416?_0x997416['toUpperCase']():'')[_0x1ffef1(0xf6)](/^(.)/,(_0x37f27c,_0x5d4a94)=>_0x5d4a94['toUpperCase']());}[a0_0x36da5d(0xe8)](_0x3142ef,_0x5d4d02){const _0x74713c=a0_0x36da5d;let _0x4783bc=null;for(const [,_0x22df8c]of _0x5d4d02){const _0x4e1e8f=_0x22df8c[_0x74713c(0x112)][_0x74713c(0xf4)](_0x43a474=>_0x43a474[_0x74713c(0xcb)]===_0x3142ef);if(_0x4e1e8f){_0x4783bc={'datasetCode':_0x4e1e8f[_0x74713c(0xcb)],'datasetName':_0x4e1e8f['datasetName'],'tableName':_0x4e1e8f[_0x74713c(0xaa)]};break;}}if(!_0x4783bc)return null;const _0x1b5a81=[],_0x41d2da=[];for(const [,_0x10e527]of _0x5d4d02){for(const _0x177bfa of _0x10e527[_0x74713c(0x112)]){if(_0x177bfa[_0x74713c(0xcb)]===_0x3142ef)for(const _0x2d5dcc of _0x177bfa[_0x74713c(0xfb)]){const _0x30e761=this[_0x74713c(0x103)](_0x2d5dcc[_0x74713c(0x101)],_0x5d4d02);_0x1b5a81[_0x74713c(0x10c)]({'fromField':_0x2d5dcc[_0x74713c(0xfa)],'toDataset':_0x2d5dcc[_0x74713c(0x101)],'toDatasetName':_0x2d5dcc['toDatasetName'],'toField':_0x2d5dcc[_0x74713c(0x9c)],'joinType':_0x2d5dcc[_0x74713c(0xa0)],'condition':_0x2d5dcc['condition'],'toTableName':_0x30e761?.['tableName']});}if(_0x177bfa[_0x74713c(0xcb)]!==_0x3142ef)for(const _0x126296 of _0x177bfa[_0x74713c(0xfb)]){_0x126296[_0x74713c(0x101)]===_0x3142ef&&_0x41d2da[_0x74713c(0x10c)]({'fromField':_0x126296[_0x74713c(0xfa)],'fromDataset':_0x177bfa[_0x74713c(0xcb)],'fromDatasetName':_0x177bfa[_0x74713c(0x9d)],'fromTableName':_0x177bfa[_0x74713c(0xaa)],'toDataset':_0x126296[_0x74713c(0x101)],'toDatasetName':_0x126296[_0x74713c(0xb3)],'toField':_0x126296['toField'],'joinType':_0x126296[_0x74713c(0xa0)],'condition':_0x126296[_0x74713c(0xfd)],'toTableName':_0x4783bc[_0x74713c(0xaa)]});}}}return{'datasetCode':_0x4783bc[_0x74713c(0xcb)],'datasetName':_0x4783bc[_0x74713c(0x9d)],'tableName':_0x4783bc[_0x74713c(0xaa)],'outgoingRelations':_0x1b5a81,'incomingRelations':_0x41d2da,'allRelations':[..._0x1b5a81,..._0x41d2da]};}[a0_0x36da5d(0x103)](_0xe42947,_0x199648){const _0x2b7d22=a0_0x36da5d;for(const [,_0x4e9034]of _0x199648){const _0x56c130=_0x4e9034[_0x2b7d22(0x112)][_0x2b7d22(0xf4)](_0x166dc0=>_0x166dc0['datasetCode']===_0xe42947);if(_0x56c130)return{'datasetCode':_0x56c130[_0x2b7d22(0xcb)],'datasetName':_0x56c130[_0x2b7d22(0x9d)],'tableName':_0x56c130['tableName']};}return null;}['buildRelationsMap'](_0x470338){const _0x1caf31=a0_0x36da5d,_0x5932c6=new Map();for(const [,_0x53278f]of _0x470338){for(const _0x4c2448 of _0x53278f[_0x1caf31(0x112)]){const _0x2a0aa0=this[_0x1caf31(0xe8)](_0x4c2448[_0x1caf31(0xcb)],_0x470338);_0x2a0aa0&&_0x5932c6[_0x1caf31(0xcc)](_0x4c2448[_0x1caf31(0xcb)],_0x2a0aa0);}}return _0x5932c6;}[a0_0x36da5d(0xeb)](_0x1964b8,_0x1d9856){const _0x34b209=a0_0x36da5d,_0x56be5c=this[_0x34b209(0xe8)](_0x1964b8,_0x1d9856);if(!_0x56be5c)return[];const _0x5790a2=new Set();for(const _0x2d9300 of _0x56be5c[_0x34b209(0xb4)]){_0x5790a2[_0x34b209(0x10a)](_0x2d9300['toDataset']);}for(const _0x243ed5 of _0x56be5c[_0x34b209(0x100)]){for(const [,_0x153200]of _0x1d9856){const _0x14e3d2=_0x153200[_0x34b209(0x112)][_0x34b209(0xf4)](_0x40134d=>_0x40134d[_0x34b209(0xfb)][_0x34b209(0xd7)](_0x5b2231=>_0x5b2231[_0x34b209(0x101)]===_0x1964b8&&_0x5b2231[_0x34b209(0xfa)]===_0x243ed5[_0x34b209(0xfa)]));if(_0x14e3d2){_0x5790a2[_0x34b209(0x10a)](_0x14e3d2[_0x34b209(0xcb)]);break;}}}return Array[_0x34b209(0xca)](_0x5790a2);}}function a0_0xca1f(_0x21433e,_0x5ffb55){_0x21433e=_0x21433e-0x96;const _0x1b3af6=a0_0x1b3a();let _0xca1fb7=_0x1b3af6[_0x21433e];return _0xca1fb7;}function a0_0x1b3a(){const _0x302aa4=['sdkCall','6580vthfGb','230710MtlygF','\x20|\x0a','map','requestExample','\x20...\x20(','5016880mKcUgV','has','analyzeDatasetItem','tableData','getAppCode','forEach','parseDatasetRelations','filter','number','getRelatedDatasets','displayName','fullUrl','4239405JelAtm','getEnabledOperationAnalyses','###\x20','isPrimaryKey','isVirtualTable','options','find','updateTime','replace','responseExample','##\x20Operations\x0a\x0a','|\x20Field\x20Name\x20|\x20Code\x20|\x20DB\x20Type\x20|\x20UI\x20Type\x20|\x20Required\x20|\x20Primary\x20Key\x20|\x20Enum\x20Values\x20|\x20Description\x20|\x0a','fromField','relations','includes','condition','fields','222hHWMxP','incomingRelations','toDataset','generateApiDoc','findDatasetInErConfigs','\x20|\x20','\x20operation\x20for\x20','values','getOperationAnalysis','length','getOperationCount','add','getTableKey','push','getTenantCode','string','enumOptions','dbType','3658335oqyEaH','datasets','stringify','requestFields','name','getDatabaseVersion','description','slice','dbId','toField','datasetName','12776tMPSTU','dbtableConfig','joinType','type','getFieldList','added','|------------|------|---------|---------|----------|-------------|-------------|-------------|\x0a','all','getOperationDocMeta','method','searchDatasets','toLowerCase','tableName','getFieldCount','analyzeDatasetList','generateFullSDKExample','getDatasetSDKKey','toArray','2gnthsC','raw','\x0a**Request\x20Example:**\x0a```json\x0a','toDatasetName','outgoingRelations','25016000WHZXnb','online','usageExample','createTime','dbTypeLen','join','-\x20**Request\x20Fields:**\x20','**Table\x20Name:**\x20','selectItemsSource','**Table\x20Key:**\x20','```\x0a','generateMarkdownDoc','removed','682418vZplOH','path','\x0a```\x0a','dbName','autoIncrement','getTableName','enabled','**Dataset\x20Code:**\x20','from','datasetCode','set','```typescript\x0a','getEnumMeta','getOperationDetail','-\x20**Full\x20URL:**\x20','isEnum','operations','Operations:\x20+','data','generateAliasExplanation','\x20total)','some','generateSDKInitCode','##\x20SDK\x20Usage\x0a\x0a','enumValues'];a0_0x1b3a=function(){return _0x302aa4;};return a0_0x1b3a();}
1
+ const a0_0x24ad38=a0_0x3482;function a0_0x3482(_0x45d362,_0x1cc8d5){_0x45d362=_0x45d362-0x11a;const _0x28a009=a0_0x28a0();let _0x348298=_0x28a009[_0x45d362];return _0x348298;}(function(_0x5dae7d,_0x4a0a70){const _0xce0255=a0_0x3482,_0x1c9fd2=_0x5dae7d();while(!![]){try{const _0x5b0135=parseInt(_0xce0255(0x17a))/0x1*(-parseInt(_0xce0255(0x141))/0x2)+parseInt(_0xce0255(0x162))/0x3+parseInt(_0xce0255(0x154))/0x4*(parseInt(_0xce0255(0x197))/0x5)+-parseInt(_0xce0255(0x169))/0x6*(-parseInt(_0xce0255(0x163))/0x7)+-parseInt(_0xce0255(0x19b))/0x8*(-parseInt(_0xce0255(0x16a))/0x9)+parseInt(_0xce0255(0x167))/0xa*(parseInt(_0xce0255(0x12e))/0xb)+-parseInt(_0xce0255(0x11b))/0xc*(parseInt(_0xce0255(0x19d))/0xd);if(_0x5b0135===_0x4a0a70)break;else _0x1c9fd2['push'](_0x1c9fd2['shift']());}catch(_0x3a8543){_0x1c9fd2['push'](_0x1c9fd2['shift']());}}}(a0_0x28a0,0x58c09));function a0_0x28a0(){const _0x905c80=['1155uimnvy','responseExample','usageExample','source','set','getOperationDocMeta','generateSDKInitCode','```\x0a','raw','requestFields','getOperationDetail','###\x20','generateMarkdownDoc','isRequired','joinType','incomingRelations','datasetName','map','toField','552716bAZpUw','code','parseDatasetRelations','-\x20**Full\x20URL:**\x20','getFieldCount','**Table\x20Key:**\x20','enumValues','data','Fields:\x20+','\x20|\x0a','dbId','getEnabledOperationAnalyses','push','operations','length','from','find','toLowerCase','\x0a**Request\x20Example:**\x0a```json\x0a','4bfcVXG','type','options','getOperationAnalysis','fromField','-\x20**Request\x20Fields:**\x20','dbName','tableName','method','filter','getModelAlias','getEnumMeta','selectItemsSource','getRelatedDatasets','1006956UIZIYn','42IxNTno','\x20...\x20(',')\x0a\x0a','generateApiDoc','18010lDVRGC','isEnum','559914ksgksI','9FJpzQF','dbType','replace','isVirtualTable','datasets','\x20operation\x20for\x20','searchDatasets','compareDatasets','extend','toArray','add','getOperationCount','displayName','createTime','datasetCode','```typescript\x0a','2risCOe','requestExample','generateSDKCode','path','getFieldList','|\x20Field\x20Name\x20|\x20Code\x20|\x20DB\x20Type\x20|\x20UI\x20Type\x20|\x20Required\x20|\x20Primary\x20Key\x20|\x20Enum\x20Values\x20|\x20Description\x20|\x0a','string','**Table\x20Name:**\x20','\x20|\x20','##\x20Fields\x0a\x0a','added','tableData','analyzeDatasetItem','has','dbTypeLen','##\x20SDK\x20Usage\x0a\x0a','number','fullUrl','|------------|------|---------|---------|----------|-------------|-------------|-------------|\x0a','outgoingRelations','enumSource','toDataset','removed','includes','updateTime','getTableKey','condition','name','isArray','3512280KzzDNB','\x0a```\x0a','##\x20Operations\x0a\x0a','getCount','2482824RVrKXL','online','465335uOyjxs','\x0a**Response\x20Example:**\x0a```json\x0a','396iOLfHb','dbtableConfig','all','isPrimaryKey','generateAliasExplanation','getDatabaseVersion','values','buildRelationsMap','description','autoIncrement','relations','toDatasetName','toUpperCase','enabled','forEach','findDatasetInErConfigs','enumOptions','stringify','getTableName'];a0_0x28a0=function(){return _0x905c80;};return a0_0x28a0();}import{DatasetList,DrivenDataDetailPlus,formatDbType}from'@lovrabet/dsparser';export class DatasetAnalyzer{['analyzeDatasetList'](_0xb0b10c){const _0x3fc4af=a0_0x3482;let _0xa4eb8b=_0xb0b10c[_0x3fc4af(0x148)];_0xa4eb8b&&!Array[_0x3fc4af(0x196)](_0xa4eb8b)&&(_0xa4eb8b=_0xa4eb8b[_0x3fc4af(0x185)]||_0xb0b10c[_0x3fc4af(0x185)]);!_0xa4eb8b&&(_0xa4eb8b=_0xb0b10c);const _0xda343d=new DatasetList(_0xa4eb8b);return{'total':_0xda343d[_0x3fc4af(0x19a)](),'datasets':_0xda343d[_0x3fc4af(0x173)]()['map'](_0x1c936f=>this[_0x3fc4af(0x186)](_0x1c936f))};}[a0_0x24ad38(0x186)](_0x12e4be){const _0x4618fb=a0_0x24ad38,_0x1082c0=_0x12e4be[_0x4618fb(0x11c)]||_0x12e4be[_0x4618fb(0x136)]?.[_0x4618fb(0x11c)];return{'id':_0x12e4be['id']||0x0,'name':_0x12e4be[_0x4618fb(0x195)]||'','code':_0x12e4be['datasetCode']||'','tableName':_0x12e4be[_0x4618fb(0x12d)]?.()||_0x12e4be[_0x4618fb(0x15b)]||'','source':_0x12e4be[_0x4618fb(0x131)]||'','description':_0x12e4be[_0x4618fb(0x123)]||'','isVirtual':_0x12e4be[_0x4618fb(0x16d)]?.()||![],'dbId':_0x1082c0?.[_0x4618fb(0x14b)],'dbName':_0x1082c0?.[_0x4618fb(0x15a)]};}['analyzeDatasetDetail'](_0x53a64f){const _0x2a3232=a0_0x24ad38,_0x3dc533=_0x53a64f[_0x2a3232(0x148)]||_0x53a64f,_0x16a574=new DrivenDataDetailPlus(_0x3dc533),_0x19ab14={'name':_0x16a574[_0x2a3232(0x195)],'code':_0x16a574[_0x2a3232(0x178)],'tableName':_0x16a574[_0x2a3232(0x12d)](),'tableKey':_0x16a574[_0x2a3232(0x193)](),'datasetSDKKey':_0x16a574['getDatasetSDKKey'](),'modelAlias':_0x16a574[_0x2a3232(0x15e)]()},_0x1866b5=_0x16a574['dbtableConfig'];_0x1866b5&&(_0x19ab14['database']={'dbName':_0x1866b5[_0x2a3232(0x15a)]??undefined,'dbId':_0x1866b5[_0x2a3232(0x14b)]??undefined,'dbType':_0x1866b5['getDatabaseType'](),'dbVersion':_0x1866b5[_0x2a3232(0x120)](),'tenantCode':_0x1866b5['getTenantCode'](),'appCode':_0x1866b5['getAppCode']()});const _0x1f3160=_0x16a574[_0x2a3232(0x17e)](),_0x61d86c=_0x1f3160['all']()['map'](_0x3baf17=>{const _0x531bc8=_0x2a3232,_0x12d443=_0x3baf17[_0x531bc8(0x172)],_0x224c4e=_0x3baf17[_0x531bc8(0x136)],_0x121aa2={'name':_0x3baf17[_0x531bc8(0x195)],'type':_0x3baf17[_0x531bc8(0x155)],'required':_0x3baf17[_0x531bc8(0x13b)](),'primaryKey':_0x3baf17[_0x531bc8(0x11e)](),'description':_0x3baf17['description']||'','autoIncrement':Boolean(_0x12d443[_0x531bc8(0x124)]),'createTime':Boolean(_0x12d443[_0x531bc8(0x177)]),'updateTime':Boolean(_0x12d443[_0x531bc8(0x192)]),'dbType':typeof _0x224c4e[_0x531bc8(0x16b)]==='string'?_0x224c4e[_0x531bc8(0x16b)]:undefined,'dbTypeLen':typeof _0x224c4e[_0x531bc8(0x188)]===_0x531bc8(0x18a)?_0x224c4e[_0x531bc8(0x188)]:undefined};if(_0x3baf17[_0x531bc8(0x168)]()){const _0x15994b=_0x3baf17[_0x531bc8(0x15f)]();if(_0x15994b){_0x121aa2['isEnum']=!![],_0x121aa2[_0x531bc8(0x147)]=_0x15994b[_0x531bc8(0x121)];if(_0x15994b[_0x531bc8(0x156)]&&_0x15994b[_0x531bc8(0x156)][_0x531bc8(0x14f)]>0x0)_0x121aa2[_0x531bc8(0x12b)]=_0x15994b[_0x531bc8(0x156)];else _0x15994b[_0x531bc8(0x160)]&&(_0x121aa2[_0x531bc8(0x18e)]=_0x15994b['selectItemsSource']);}}return _0x121aa2;}),_0x1b86ae=_0x16a574[_0x2a3232(0x14c)]()[_0x2a3232(0x13f)](_0x32a702=>{const _0x43be90=_0x2a3232,_0x1c9335={'name':_0x32a702[_0x43be90(0x195)],'displayName':_0x32a702['displayName'],'type':_0x32a702['type'],'method':_0x32a702[_0x43be90(0x15c)],'path':_0x32a702[_0x43be90(0x17d)],'requestFields':_0x32a702[_0x43be90(0x137)],'requestFieldsCount':_0x32a702[_0x43be90(0x137)][_0x43be90(0x14f)],'requestExample':_0x32a702[_0x43be90(0x17b)],'responseExample':_0x32a702[_0x43be90(0x12f)],'enabled':_0x32a702[_0x43be90(0x128)],'fullUrl':_0x32a702['fullUrl']};return _0x1c9335;});return{'basic':_0x19ab14,'fields':_0x61d86c,'operations':_0x1b86ae,'supportsCRUD':_0x16a574['supportsCRUD'](),'fieldCount':_0x16a574[_0x2a3232(0x145)](),'operationCount':_0x16a574[_0x2a3232(0x175)](),'enabledOperationCount':_0x1b86ae[_0x2a3232(0x14f)]};}[a0_0x24ad38(0x138)](_0x1e8718,_0x43ade0){const _0x5890b2=a0_0x24ad38,_0x505ff0=_0x1e8718['data']||_0x1e8718,_0x3734e6=new DrivenDataDetailPlus(_0x505ff0),_0x3e43fb=_0x3734e6[_0x5890b2(0x157)](_0x43ade0);if(!_0x3e43fb)return null;return{'name':_0x3e43fb[_0x5890b2(0x195)],'displayName':_0x3e43fb[_0x5890b2(0x176)],'type':_0x3e43fb[_0x5890b2(0x155)],'method':_0x3e43fb[_0x5890b2(0x15c)],'path':_0x3e43fb[_0x5890b2(0x17d)],'requestFields':_0x3e43fb['requestFields'],'requestFieldsCount':_0x3e43fb['requestFields'][_0x5890b2(0x14f)],'requestExample':_0x3e43fb[_0x5890b2(0x17b)],'responseExample':_0x3e43fb[_0x5890b2(0x12f)],'enabled':_0x3e43fb[_0x5890b2(0x128)],'fullUrl':_0x3e43fb[_0x5890b2(0x18b)]};}[a0_0x24ad38(0x17c)](_0x39f319,_0x14a1a0,_0x387b16,_0x1bb3c1=a0_0x24ad38(0x19c)){const _0x7b61bb=a0_0x24ad38,_0x47377c=_0x39f319[_0x7b61bb(0x148)]||_0x39f319,_0x15bf58=new DrivenDataDetailPlus(_0x47377c),_0x5ab5b5=_0x15bf58[_0x7b61bb(0x133)](_0x14a1a0);if(!_0x5ab5b5)return null;const _0x111b17=_0x15bf58[_0x7b61bb(0x193)](),_0x5392f8=_0x15bf58['getTableName'](),_0x5acac4=this['toPascalCase'](_0x5392f8),_0x17e932=_0x15bf58[_0x7b61bb(0x157)](_0x14a1a0),_0x1f16b4=_0x15bf58['generateFullSDKExample'](_0x14a1a0,_0x387b16);return{'code':_0x5ab5b5['sdkCall'][_0x7b61bb(0x142)],'sdkCallInfo':{'modelName':_0x5acac4,'tableName':_0x5392f8,'tableKey':_0x111b17,'datasetCode':_0x15bf58[_0x7b61bb(0x178)],'operationName':_0x14a1a0},'requestExample':_0x17e932?.['requestExample'],'responseExample':_0x17e932?.[_0x7b61bb(0x12f)],'sdkInitCode':_0x15bf58[_0x7b61bb(0x134)](_0x111b17),'usageExample':_0x5ab5b5[_0x7b61bb(0x130)],'fullExample':_0x1f16b4||undefined,'aliasExplanation':_0x15bf58[_0x7b61bb(0x11f)]()};}[a0_0x24ad38(0x166)](_0x33f3ca){const _0x499c22=a0_0x24ad38,_0x50d691=_0x33f3ca[_0x499c22(0x148)]||_0x33f3ca,_0x521678=new DrivenDataDetailPlus(_0x50d691),_0x485587=_0x521678[_0x499c22(0x14c)]()[_0x499c22(0x13f)](_0x575e17=>({'name':_0x575e17[_0x499c22(0x195)],'displayName':_0x575e17[_0x499c22(0x176)],'description':_0x575e17[_0x499c22(0x176)]+_0x499c22(0x16f)+_0x521678[_0x499c22(0x195)],'method':_0x575e17[_0x499c22(0x15c)],'path':_0x575e17['path'],'requestParams':_0x575e17['requestFields'],'requestExample':JSON[_0x499c22(0x12c)](_0x575e17[_0x499c22(0x17b)],null,0x2),'responseExample':JSON[_0x499c22(0x12c)](_0x575e17[_0x499c22(0x12f)],null,0x2)}));return{'datasetName':_0x521678['name'],'tableName':_0x521678['getTableName'](),'operations':_0x485587};}[a0_0x24ad38(0x170)](_0xc3c995,_0x294ca6){const _0x1fecaa=a0_0x24ad38,_0x4d8260=new DatasetList(_0xc3c995),_0x1d86ff=_0x294ca6['toLowerCase']();return _0x4d8260[_0x1fecaa(0x173)]()[_0x1fecaa(0x15d)](_0x36cfe9=>{const _0x155bb5=_0x1fecaa,_0x1db9f8=(_0x36cfe9[_0x155bb5(0x195)]||'')[_0x155bb5(0x152)]()[_0x155bb5(0x191)](_0x1d86ff),_0x2b51fe=(_0x36cfe9['getTableName']?.()||_0x36cfe9[_0x155bb5(0x15b)]||'')['toLowerCase']()['includes'](_0x1d86ff),_0x4e0575=(_0x36cfe9['datasetCode']||'')[_0x155bb5(0x152)]()[_0x155bb5(0x191)](_0x1d86ff),_0xa89843=(_0x36cfe9[_0x155bb5(0x123)]||'')[_0x155bb5(0x152)]()[_0x155bb5(0x191)](_0x1d86ff);return _0x1db9f8||_0x2b51fe||_0x4e0575||_0xa89843;})[_0x1fecaa(0x13f)](_0x2c69a0=>this[_0x1fecaa(0x186)](_0x2c69a0));}[a0_0x24ad38(0x13a)](_0x3fb353){const _0xff839=a0_0x24ad38,_0x485c6c=_0x3fb353[_0xff839(0x148)]||_0x3fb353,_0x3813e0=new DrivenDataDetailPlus(_0x485c6c);let _0x58500f='#\x20'+_0x3813e0[_0xff839(0x195)]+'\x0a\x0a';_0x58500f+='**Dataset\x20Code:**\x20'+_0x3813e0[_0xff839(0x178)]+'\x0a',_0x58500f+=_0xff839(0x181)+_0x3813e0[_0xff839(0x12d)]()+'\x0a',_0x58500f+=_0xff839(0x146)+_0x3813e0[_0xff839(0x193)]()+'\x0a\x0a',_0x58500f+=_0xff839(0x183);const _0x4737bb=_0x3813e0[_0xff839(0x17e)]();_0x4737bb[_0xff839(0x14f)]>0x0&&(_0x58500f+=_0xff839(0x17f),_0x58500f+=_0xff839(0x18c),_0x4737bb[_0xff839(0x11d)]()['forEach'](_0x51b74f=>{const _0x827bd3=_0xff839,_0x1b0991=_0x51b74f['raw'],_0x200dfa=formatDbType(typeof _0x1b0991[_0x827bd3(0x16b)]===_0x827bd3(0x180)?_0x1b0991[_0x827bd3(0x16b)]:undefined,typeof _0x1b0991[_0x827bd3(0x188)]===_0x827bd3(0x18a)?_0x1b0991[_0x827bd3(0x188)]:undefined);let _0x30e2a0='';if(_0x51b74f['isEnum']()){const _0x40971a=_0x51b74f[_0x827bd3(0x15f)]();if(_0x40971a&&_0x40971a['values']['length']>0x0){const _0x2af095=_0x40971a[_0x827bd3(0x121)]['slice'](0x0,0x5);_0x30e2a0=_0x2af095['join'](',\x20'),_0x40971a[_0x827bd3(0x121)][_0x827bd3(0x14f)]>0x5&&(_0x30e2a0+=_0x827bd3(0x164)+_0x40971a[_0x827bd3(0x121)]['length']+'\x20total)');}}_0x58500f+='|\x20'+_0x51b74f[_0x827bd3(0x195)]+_0x827bd3(0x182)+_0x51b74f[_0x827bd3(0x142)]+_0x827bd3(0x182)+_0x200dfa+'\x20|\x20'+_0x51b74f['type']+_0x827bd3(0x182)+(_0x51b74f[_0x827bd3(0x13b)]()?'✅':'')+'\x20|\x20'+(_0x51b74f[_0x827bd3(0x11e)]()?'🔑':'')+_0x827bd3(0x182)+_0x30e2a0+'\x20|\x20'+(_0x51b74f[_0x827bd3(0x123)]||'')+_0x827bd3(0x14a);}),_0x58500f+='\x0a');_0x58500f+=_0xff839(0x199);const _0x707e8=_0x3813e0[_0xff839(0x14c)]();_0x707e8[_0xff839(0x129)](_0x4d258e=>{const _0x1b8076=_0xff839;_0x58500f+=_0x1b8076(0x139)+_0x4d258e[_0x1b8076(0x176)]+'\x20('+_0x4d258e[_0x1b8076(0x195)]+_0x1b8076(0x165),_0x58500f+='-\x20**Method:**\x20'+_0x4d258e[_0x1b8076(0x15c)]+'\x0a',_0x58500f+='-\x20**Path:**\x20'+_0x4d258e[_0x1b8076(0x17d)]+'\x0a',_0x4d258e['fullUrl']&&(_0x58500f+=_0x1b8076(0x144)+_0x4d258e[_0x1b8076(0x18b)]+'\x0a'),_0x4d258e['requestFields']&&_0x4d258e[_0x1b8076(0x137)][_0x1b8076(0x14f)]>0x0&&(_0x58500f+=_0x1b8076(0x159)+_0x4d258e[_0x1b8076(0x137)]['join'](',\x20')+'\x0a'),_0x4d258e['requestExample']&&(_0x58500f+=_0x1b8076(0x153)+JSON[_0x1b8076(0x12c)](_0x4d258e[_0x1b8076(0x17b)],null,0x2)+_0x1b8076(0x198)),_0x4d258e[_0x1b8076(0x12f)]&&(_0x58500f+=_0x1b8076(0x11a)+JSON[_0x1b8076(0x12c)](_0x4d258e[_0x1b8076(0x12f)],null,0x2)+_0x1b8076(0x198)),_0x58500f+='\x0a';});const _0x29abbf=_0x3813e0[_0xff839(0x193)](),_0x5fabc3=_0x3813e0['generateSDKInitCode'](_0x29abbf);return _0x5fabc3&&(_0x58500f+=_0xff839(0x189),_0x58500f+=_0xff839(0x179),_0x58500f+=_0x5fabc3,_0x58500f+=_0xff839(0x135)),_0x58500f;}[a0_0x24ad38(0x171)](_0x41a691,_0x5ddfe1){const _0x16335b=a0_0x24ad38,_0x3a6088=_0x41a691[_0x16335b(0x148)]||_0x41a691,_0x1c02a3=_0x5ddfe1[_0x16335b(0x148)]||_0x5ddfe1,_0x23bc98=new DrivenDataDetailPlus(_0x3a6088),_0xdb5ae4=new DrivenDataDetailPlus(_0x1c02a3),_0x4c2122=new Set(_0x23bc98[_0x16335b(0x17e)]()['all']()[_0x16335b(0x13f)](_0x4580d0=>_0x4580d0[_0x16335b(0x195)])),_0x217e2b=new Set(_0xdb5ae4[_0x16335b(0x17e)]()[_0x16335b(0x11d)]()[_0x16335b(0x13f)](_0x43d51c=>_0x43d51c[_0x16335b(0x195)])),_0xd7668f=new Set(_0x23bc98['getEnabledOperationAnalyses']()[_0x16335b(0x13f)](_0x130f9a=>_0x130f9a['name'])),_0x21e188=new Set(_0xdb5ae4['getEnabledOperationAnalyses']()[_0x16335b(0x13f)](_0xcb131=>_0xcb131['name'])),_0x1d34b3={'fields':{'added':Array[_0x16335b(0x150)](_0x217e2b)[_0x16335b(0x15d)](_0x31b195=>!_0x4c2122[_0x16335b(0x187)](_0x31b195)),'removed':Array[_0x16335b(0x150)](_0x4c2122)[_0x16335b(0x15d)](_0xf60a0c=>!_0x217e2b[_0x16335b(0x187)](_0xf60a0c)),'modified':[]},'operations':{'added':Array['from'](_0x21e188)['filter'](_0x4f41e3=>!_0xd7668f['has'](_0x4f41e3)),'removed':Array[_0x16335b(0x150)](_0xd7668f)[_0x16335b(0x15d)](_0x4b0d9c=>!_0x21e188[_0x16335b(0x187)](_0x4b0d9c))}},_0x1d77ef=_0x16335b(0x149)+_0x1d34b3['fields']['added'][_0x16335b(0x14f)]+'/-'+_0x1d34b3['fields'][_0x16335b(0x190)][_0x16335b(0x14f)]+',\x20'+('Operations:\x20+'+_0x1d34b3['operations'][_0x16335b(0x184)]['length']+'/-'+_0x1d34b3[_0x16335b(0x14e)][_0x16335b(0x190)][_0x16335b(0x14f)]);return{'differences':_0x1d34b3,'summary':_0x1d77ef};}['toPascalCase'](_0x2cc68c){const _0x484760=a0_0x24ad38;return _0x2cc68c[_0x484760(0x16c)](/[-_\s]+(.)?/g,(_0x4b75fc,_0x5a6dd6)=>_0x5a6dd6?_0x5a6dd6[_0x484760(0x127)]():'')['replace'](/^(.)/,(_0x3515e2,_0x259e6b)=>_0x259e6b[_0x484760(0x127)]());}['parseDatasetRelations'](_0xb16c7c,_0x16f799){const _0x5e613c=a0_0x24ad38;let _0x94eba3=null;for(const [,_0x1e36be]of _0x16f799){const _0x483b0a=_0x1e36be['datasets'][_0x5e613c(0x151)](_0x10c9e3=>_0x10c9e3[_0x5e613c(0x178)]===_0xb16c7c);if(_0x483b0a){_0x94eba3={'datasetCode':_0x483b0a[_0x5e613c(0x178)],'datasetName':_0x483b0a[_0x5e613c(0x13e)],'tableName':_0x483b0a[_0x5e613c(0x15b)]};break;}}if(!_0x94eba3)return null;const _0x1cc829=[],_0x3d17b9=[];for(const [,_0x121c0e]of _0x16f799){for(const _0x55eee6 of _0x121c0e['datasets']){if(_0x55eee6[_0x5e613c(0x178)]===_0xb16c7c)for(const _0x4a970d of _0x55eee6[_0x5e613c(0x125)]){const _0x312396=this['findDatasetInErConfigs'](_0x4a970d[_0x5e613c(0x18f)],_0x16f799);_0x1cc829['push']({'fromField':_0x4a970d[_0x5e613c(0x158)],'toDataset':_0x4a970d[_0x5e613c(0x18f)],'toDatasetName':_0x4a970d[_0x5e613c(0x126)],'toField':_0x4a970d['toField'],'joinType':_0x4a970d[_0x5e613c(0x13c)],'condition':_0x4a970d[_0x5e613c(0x194)],'toTableName':_0x312396?.[_0x5e613c(0x15b)]});}if(_0x55eee6[_0x5e613c(0x178)]!==_0xb16c7c)for(const _0x1e6c9c of _0x55eee6[_0x5e613c(0x125)]){_0x1e6c9c[_0x5e613c(0x18f)]===_0xb16c7c&&_0x3d17b9[_0x5e613c(0x14d)]({'fromField':_0x1e6c9c[_0x5e613c(0x158)],'fromDataset':_0x55eee6[_0x5e613c(0x178)],'fromDatasetName':_0x55eee6[_0x5e613c(0x13e)],'fromTableName':_0x55eee6[_0x5e613c(0x15b)],'toDataset':_0x1e6c9c[_0x5e613c(0x18f)],'toDatasetName':_0x1e6c9c[_0x5e613c(0x126)],'toField':_0x1e6c9c[_0x5e613c(0x140)],'joinType':_0x1e6c9c[_0x5e613c(0x13c)],'condition':_0x1e6c9c[_0x5e613c(0x194)],'toTableName':_0x94eba3[_0x5e613c(0x15b)]});}}}return{'datasetCode':_0x94eba3[_0x5e613c(0x178)],'datasetName':_0x94eba3[_0x5e613c(0x13e)],'tableName':_0x94eba3[_0x5e613c(0x15b)],'outgoingRelations':_0x1cc829,'incomingRelations':_0x3d17b9,'allRelations':[..._0x1cc829,..._0x3d17b9]};}[a0_0x24ad38(0x12a)](_0x6a6cb3,_0x4a9c5d){const _0xa637c7=a0_0x24ad38;for(const [,_0xa3e26e]of _0x4a9c5d){const _0xc3572a=_0xa3e26e[_0xa637c7(0x16e)][_0xa637c7(0x151)](_0x2475ba=>_0x2475ba['datasetCode']===_0x6a6cb3);if(_0xc3572a)return{'datasetCode':_0xc3572a[_0xa637c7(0x178)],'datasetName':_0xc3572a[_0xa637c7(0x13e)],'tableName':_0xc3572a[_0xa637c7(0x15b)]};}return null;}[a0_0x24ad38(0x122)](_0x3bc3bd){const _0x17ea94=a0_0x24ad38,_0x2bbd7e=new Map();for(const [,_0x3f56f4]of _0x3bc3bd){for(const _0x565ec2 of _0x3f56f4[_0x17ea94(0x16e)]){const _0x5209f0=this['parseDatasetRelations'](_0x565ec2[_0x17ea94(0x178)],_0x3bc3bd);_0x5209f0&&_0x2bbd7e[_0x17ea94(0x132)](_0x565ec2['datasetCode'],_0x5209f0);}}return _0x2bbd7e;}[a0_0x24ad38(0x161)](_0x209dc5,_0x2bca14){const _0x4540fd=a0_0x24ad38,_0x493441=this[_0x4540fd(0x143)](_0x209dc5,_0x2bca14);if(!_0x493441)return[];const _0x213e3e=new Set();for(const _0xd02886 of _0x493441[_0x4540fd(0x18d)]){_0x213e3e['add'](_0xd02886[_0x4540fd(0x18f)]);}for(const _0x12721d of _0x493441[_0x4540fd(0x13d)]){for(const [,_0x4f0d7a]of _0x2bca14){const _0x499be3=_0x4f0d7a[_0x4540fd(0x16e)][_0x4540fd(0x151)](_0x581ee4=>_0x581ee4[_0x4540fd(0x125)]['some'](_0x35d50b=>_0x35d50b['toDataset']===_0x209dc5&&_0x35d50b[_0x4540fd(0x158)]===_0x12721d[_0x4540fd(0x158)]));if(_0x499be3){_0x213e3e[_0x4540fd(0x174)](_0x499be3[_0x4540fd(0x178)]);break;}}}return Array[_0x4540fd(0x150)](_0x213e3e);}}
package/dist/api/cache.js CHANGED
@@ -1 +1 @@
1
- const a1_0x638702=a1_0x2ab6;(function(_0x1ea61b,_0x5731b4){const _0x299458=a1_0x2ab6,_0x33e86d=_0x1ea61b();while(!![]){try{const _0x4ea6a3=-parseInt(_0x299458(0x87))/0x1*(parseInt(_0x299458(0x94))/0x2)+-parseInt(_0x299458(0x82))/0x3+-parseInt(_0x299458(0x88))/0x4+-parseInt(_0x299458(0x95))/0x5+parseInt(_0x299458(0x8a))/0x6*(parseInt(_0x299458(0x83))/0x7)+-parseInt(_0x299458(0x93))/0x8*(-parseInt(_0x299458(0x86))/0x9)+-parseInt(_0x299458(0x80))/0xa*(-parseInt(_0x299458(0x92))/0xb);if(_0x4ea6a3===_0x5731b4)break;else _0x33e86d['push'](_0x33e86d['shift']());}catch(_0x2a5d39){_0x33e86d['push'](_0x33e86d['shift']());}}}(a1_0x1166,0x76163));export class SimpleCache{['cache']=new Map();['defaultTTL'];constructor(_0x2242c0=0x5){const _0x539cb3=a1_0x2ab6;this[_0x539cb3(0x84)]=_0x2242c0*0x3c*0x3e8;}[a1_0x638702(0x81)](_0x4aa375){const _0x13b96d=a1_0x638702,_0x266d6a=this['cache']['get'](_0x4aa375);if(!_0x266d6a)return null;const _0x57ed64=Date[_0x13b96d(0x85)](),_0x42aec9=_0x57ed64-_0x266d6a[_0x13b96d(0x8e)];if(_0x42aec9>this['defaultTTL'])return this[_0x13b96d(0x8d)][_0x13b96d(0x8f)](_0x4aa375),null;const _0x5962be=Math[_0x13b96d(0x7f)](_0x42aec9/0x3e8);return _0x266d6a[_0x13b96d(0x8b)];}[a1_0x638702(0x90)](_0x59cbd6,_0x389ab8){const _0x5b7f9d=a1_0x638702;this['cache']['set'](_0x59cbd6,{'data':_0x389ab8,'timestamp':Date[_0x5b7f9d(0x85)]()});}['clear'](_0x24c808){const _0x72abd=a1_0x638702;_0x24c808?this[_0x72abd(0x8d)][_0x72abd(0x8f)](_0x24c808):this[_0x72abd(0x8d)][_0x72abd(0x8c)]();}['getStats'](){const _0x157b69=a1_0x638702;return{'size':this[_0x157b69(0x8d)][_0x157b69(0x91)],'ttlMinutes':this[_0x157b69(0x84)]/0xea60,'entries':Array[_0x157b69(0x89)](this[_0x157b69(0x8d)]['keys']())};}}export const apiCache=new SimpleCache(0x5);function a1_0x2ab6(_0x56b802,_0x7bf88b){_0x56b802=_0x56b802-0x7f;const _0x116659=a1_0x1166();let _0x2ab646=_0x116659[_0x56b802];return _0x2ab646;}function a1_0x1166(){const _0x205182=['1cXYbtE','2092264yCxVXU','from','30nlZcCO','data','clear','cache','timestamp','delete','set','size','23090287oRepJi','8688dbpndW','1262988zJfaxH','3428610pXCIrH','floor','10SgiZwY','get','362649XutCBW','140413Uidbns','defaultTTL','now','2034flnqFj'];a1_0x1166=function(){return _0x205182;};return a1_0x1166();}
1
+ const a1_0x3d21d5=a1_0x152c;function a1_0x5c35(){const _0x239e9d=['12682yUAgtw','7457037xcNfrb','floor','clear','keys','data','1360542SfkuEZ','38kBEtXu','delete','now','219036cXJyDX','8296712KPpMQd','cache','30128560VrQaYs','5OqtfEH','defaultTTL','get','9KcTImJ','2922668fSTHhh'];a1_0x5c35=function(){return _0x239e9d;};return a1_0x5c35();}(function(_0x450eb0,_0x524c16){const _0x6482b6=a1_0x152c,_0x2cf36c=_0x450eb0();while(!![]){try{const _0x4f1504=-parseInt(_0x6482b6(0x1ba))/0x1*(-parseInt(_0x6482b6(0x1c1))/0x2)+-parseInt(_0x6482b6(0x1b1))/0x3+parseInt(_0x6482b6(0x1b9))/0x4*(-parseInt(_0x6482b6(0x1b5))/0x5)+parseInt(_0x6482b6(0x1c0))/0x6+-parseInt(_0x6482b6(0x1bb))/0x7+parseInt(_0x6482b6(0x1b2))/0x8*(-parseInt(_0x6482b6(0x1b8))/0x9)+parseInt(_0x6482b6(0x1b4))/0xa;if(_0x4f1504===_0x524c16)break;else _0x2cf36c['push'](_0x2cf36c['shift']());}catch(_0x401c5a){_0x2cf36c['push'](_0x2cf36c['shift']());}}}(a1_0x5c35,0x8c430));function a1_0x152c(_0x2324c7,_0x1068dd){_0x2324c7=_0x2324c7-0x1af;const _0x5c3537=a1_0x5c35();let _0x152ca4=_0x5c3537[_0x2324c7];return _0x152ca4;}export class SimpleCache{['cache']=new Map();[a1_0x3d21d5(0x1b6)];constructor(_0x26bf99=0x5){const _0x157960=a1_0x3d21d5;this[_0x157960(0x1b6)]=_0x26bf99*0x3c*0x3e8;}[a1_0x3d21d5(0x1b7)](_0xad2784){const _0x5a5b89=a1_0x3d21d5,_0x35ec93=this[_0x5a5b89(0x1b3)][_0x5a5b89(0x1b7)](_0xad2784);if(!_0x35ec93)return null;const _0x1a1f66=Date[_0x5a5b89(0x1b0)](),_0xe0e56=_0x1a1f66-_0x35ec93['timestamp'];if(_0xe0e56>this[_0x5a5b89(0x1b6)])return this[_0x5a5b89(0x1b3)][_0x5a5b89(0x1af)](_0xad2784),null;const _0x2fc0ae=Math[_0x5a5b89(0x1bc)](_0xe0e56/0x3e8);return _0x35ec93[_0x5a5b89(0x1bf)];}['set'](_0x23de17,_0x3af5b9){const _0x5a5322=a1_0x3d21d5;this[_0x5a5322(0x1b3)]['set'](_0x23de17,{'data':_0x3af5b9,'timestamp':Date[_0x5a5322(0x1b0)]()});}[a1_0x3d21d5(0x1bd)](_0x3807c8){const _0x18a660=a1_0x3d21d5;_0x3807c8?this[_0x18a660(0x1b3)][_0x18a660(0x1af)](_0x3807c8):this[_0x18a660(0x1b3)][_0x18a660(0x1bd)]();}['getStats'](){const _0x25a000=a1_0x3d21d5;return{'size':this[_0x25a000(0x1b3)]['size'],'ttlMinutes':this['defaultTTL']/0xea60,'entries':Array['from'](this[_0x25a000(0x1b3)][_0x25a000(0x1be)]())};}}export const apiCache=new SimpleCache(0x5);
@@ -1 +1 @@
1
- const a2_0x2786ba=a2_0x3abb;function a2_0x3abb(_0x2bc474,_0x49b043){_0x2bc474=_0x2bc474-0x1ad;const _0x4da1b4=a2_0x4da1();let _0x3abb37=_0x4da1b4[_0x2bc474];return _0x3abb37;}(function(_0x4e7e6a,_0x541ec8){const _0x386e6f=a2_0x3abb,_0x200c37=_0x4e7e6a();while(!![]){try{const _0x4617cd=parseInt(_0x386e6f(0x202))/0x1*(parseInt(_0x386e6f(0x1be))/0x2)+-parseInt(_0x386e6f(0x1fc))/0x3*(parseInt(_0x386e6f(0x1b7))/0x4)+-parseInt(_0x386e6f(0x1f7))/0x5*(-parseInt(_0x386e6f(0x1e0))/0x6)+parseInt(_0x386e6f(0x200))/0x7+parseInt(_0x386e6f(0x1f2))/0x8*(parseInt(_0x386e6f(0x1b3))/0x9)+-parseInt(_0x386e6f(0x1bc))/0xa+parseInt(_0x386e6f(0x1d1))/0xb;if(_0x4617cd===_0x541ec8)break;else _0x200c37['push'](_0x200c37['shift']());}catch(_0x4ee674){_0x200c37['push'](_0x200c37['shift']());}}}(a2_0x4da1,0xf383b));import{getCookie}from'../auth/cookie-manager.js';function a2_0x4da1(){const _0x2f6521=['appCode','set','NODE_ENV','datasets','yuntoo','fromField','test','sqlCode','Authentication\x20failed.\x20Please\x20login\x20again.','18588152aqFoQt','/smartapi/custom/updateUserCustomSql','dataset-list:','toLowerCase','application/json','POST','data','dbtableConfig','\x0aURL:\x20','updateUserCustomSql','/smartapi/custom/saveUserCustomSql','getUniqueDbIds','errorMsg','no-relations','tableName','18peuePw','apiDomain','online','object','message','includes','/api/custom/executeSql','sqlName','request','success','[getDatasetDetail]\x20Failed\x20to\x20fetch\x20relations\x20for\x20','json','get','postRequest','/smartapi/dataset/get-dataset-list','with-relations','from','add','88tnVgFn','dbId','filter','tableData','toDatasetName','1881790ZSaQlL','/smartapi/dataset/get-driven-data?id=','toDataset','Unknown\x20error','getDatasetList','3fSbBQZ','push','process','cookie','1807575eHCAEt','No\x20authentication\x20cookie\x20found.\x20Please\x20login\x20first.','4154XyJAXQ','API\x20error:\x20','status','pageSize','env','dataset-detail:','modelCode','executeSql','sort','getErConfig','name','searchDatasets','168129imckwB','forceRefresh','getDatasetRelations','isArray','7787852YfJlDC','params','joinType','runtimeDomain','runtimeBaseUrl','19915160bgTkwV','Failed\x20to\x20get\x20ER\x20config\x20for\x20dblinkId:\x20','796gXlSAO','toField','datasetCode','datasetName','getCustomSqlList','length','/smartapi/custom/queryUserCustomSqlList','API\x20request\x20failed:\x20HTTP\x20','getAllErConfigs','sqlContent'];a2_0x4da1=function(){return _0x2f6521;};return a2_0x4da1();}import{getEffectiveApiDomain,getEffectiveRuntimeDomain}from'../auth/constants.js';import{apiCache}from'./cache.js';export class DevApiClient{[a2_0x2786ba(0x1c8)];[a2_0x2786ba(0x206)];[a2_0x2786ba(0x1ff)];['apiDomain'];[a2_0x2786ba(0x1ba)];constructor(_0x359d44){const _0x2e28fd=a2_0x2786ba;this[_0x2e28fd(0x1c8)]=_0x359d44['appCode'],this[_0x2e28fd(0x206)]=globalThis[_0x2e28fd(0x1fe)]?.['env']?.['LOVRABET_ENV']||_0x2e28fd(0x1e2),this[_0x2e28fd(0x1ff)]=_0x359d44[_0x2e28fd(0x1ff)]||getCookie(),this[_0x2e28fd(0x1e1)]=_0x359d44['apiBaseUrl']||getEffectiveApiDomain(),this[_0x2e28fd(0x1ba)]=_0x359d44[_0x2e28fd(0x1bb)]||getEffectiveRuntimeDomain();if(!this[_0x2e28fd(0x1ff)])throw new Error(_0x2e28fd(0x201));}async[a2_0x2786ba(0x1e8)](_0x2a5800){const _0x4d164b=a2_0x2786ba,_0x16d2ee=await fetch(_0x2a5800,{'headers':{'Cookie':this[_0x4d164b(0x1ff)]}});if(!_0x16d2ee['ok']){if(_0x16d2ee[_0x4d164b(0x204)]===0x191)throw new Error(_0x4d164b(0x1d0));let _0x32cea9='';try{_0x32cea9=await _0x16d2ee['text']();}catch{}throw new Error(_0x4d164b(0x1c5)+_0x16d2ee[_0x4d164b(0x204)]+_0x4d164b(0x1d9)+_0x2a5800+(_0x32cea9?'\x0a'+_0x32cea9:''));}const _0x1f722d=await _0x16d2ee[_0x4d164b(0x1eb)]();if(_0x1f722d&&typeof _0x1f722d===_0x4d164b(0x1e3)&&'success'in _0x1f722d&&!_0x1f722d[_0x4d164b(0x1e9)]){const _0x162f9f=_0x1f722d;throw new Error(_0x4d164b(0x203)+(_0x162f9f[_0x4d164b(0x1e4)]||_0x162f9f[_0x4d164b(0x1dd)]||_0x4d164b(0x1fa)));}return _0x1f722d;}async[a2_0x2786ba(0x1ed)](_0x25b603,_0x4201d7){const _0x13a977=a2_0x2786ba,_0x519d9f=await fetch(_0x25b603,{'method':_0x13a977(0x1d6),'headers':{'Content-Type':_0x13a977(0x1d5),'Cookie':this[_0x13a977(0x1ff)]},'body':JSON['stringify'](_0x4201d7)});if(!_0x519d9f['ok']){if(_0x519d9f[_0x13a977(0x204)]===0x191)throw new Error('Authentication\x20failed.\x20Please\x20login\x20again.');let _0x147da1='';try{_0x147da1=await _0x519d9f['text']();}catch{}throw new Error('API\x20request\x20failed:\x20HTTP\x20'+_0x519d9f['status']+_0x13a977(0x1d9)+_0x25b603+(_0x147da1?'\x0a'+_0x147da1:''));}const _0x3abf9d=await _0x519d9f['json']();if(_0x3abf9d&&typeof _0x3abf9d==='object'&&_0x13a977(0x1e9)in _0x3abf9d&&!_0x3abf9d[_0x13a977(0x1e9)]){const _0xdb3877=_0x3abf9d;throw new Error(_0x13a977(0x203)+(_0xdb3877[_0x13a977(0x1e4)]||_0xdb3877[_0x13a977(0x1dd)]||_0x13a977(0x1fa)));}return _0x3abf9d;}async['getDatasetList'](_0x4ef602){const _0x4379c7=a2_0x2786ba,_0x460ae3=_0x4ef602?.[_0x4379c7(0x1b4)]||![],_0x3d954b=_0x4379c7(0x1d3)+this[_0x4379c7(0x1c8)]+':'+this[_0x4379c7(0x206)];if(!_0x460ae3){const _0x5a8fcb=apiCache['get'](_0x3d954b);if(_0x5a8fcb)return _0x5a8fcb;}const _0x297c01=this['apiDomain']+_0x4379c7(0x1ee),_0x51654e=await this['postRequest'](_0x297c01,{'appCode':this[_0x4379c7(0x1c8)]});return apiCache[_0x4379c7(0x1c9)](_0x3d954b,_0x51654e),_0x51654e;}async['getDatasetDetail'](_0x4455a6,_0xb305aa=![],_0x490a6f=![]){const _0x5f29f0=a2_0x2786ba,_0x17800b=_0x5f29f0(0x207)+this[_0x5f29f0(0x1c8)]+':'+this[_0x5f29f0(0x206)]+':'+_0x4455a6+':'+(_0x490a6f?_0x5f29f0(0x1ef):_0x5f29f0(0x1de));if(!_0xb305aa){const _0x22b771=apiCache[_0x5f29f0(0x1ec)](_0x17800b);if(_0x22b771)return _0x22b771;}const _0x3983d8=this[_0x5f29f0(0x1e1)]+_0x5f29f0(0x1f8)+_0x4455a6,_0xf918d4=await this[_0x5f29f0(0x1e8)](_0x3983d8);if(_0x490a6f&&_0xf918d4[_0x5f29f0(0x1d7)]?.['modelCode'])try{const _0xcc203c=await this[_0x5f29f0(0x1b5)](_0xf918d4[_0x5f29f0(0x1d7)][_0x5f29f0(0x1ad)],_0xb305aa);_0xf918d4['data']['relations']=_0xcc203c;}catch(_0x55775a){process[_0x5f29f0(0x206)][_0x5f29f0(0x1ca)]!==_0x5f29f0(0x1ce)&&console['warn'](_0x5f29f0(0x1ea)+_0x4455a6+':',_0x55775a);}return apiCache[_0x5f29f0(0x1c9)](_0x17800b,_0xf918d4),_0xf918d4;}async[a2_0x2786ba(0x1b2)](_0x3763ee){const _0x43bfa1=a2_0x2786ba,_0x2c571b=await this[_0x43bfa1(0x1fb)](),_0x22b1b9=Array[_0x43bfa1(0x1b6)](_0x2c571b[_0x43bfa1(0x1d7)])?_0x2c571b[_0x43bfa1(0x1d7)]:_0x2c571b[_0x43bfa1(0x1d7)]?.[_0x43bfa1(0x1f5)]||[];if(!_0x2c571b[_0x43bfa1(0x1e9)])return{'success':!![],'data':{'tableData':[]}};const _0x5a71ca=_0x22b1b9[_0x43bfa1(0x1f4)](_0xe7c62d=>{const _0x3ea546=_0x43bfa1,_0x2fc7b0=_0x3763ee[_0x3ea546(0x1d4)]();return _0xe7c62d[_0x3ea546(0x1b1)]?.[_0x3ea546(0x1d4)]()[_0x3ea546(0x1e5)](_0x2fc7b0)||_0xe7c62d['code']?.[_0x3ea546(0x1d4)]()['includes'](_0x2fc7b0)||_0xe7c62d[_0x3ea546(0x1d8)]?.[_0x3ea546(0x1df)]?.[_0x3ea546(0x1d4)]()[_0x3ea546(0x1e5)](_0x2fc7b0)||_0xe7c62d['description']?.['toLowerCase']()[_0x3ea546(0x1e5)](_0x2fc7b0);});return{'success':!![],'data':{'tableData':_0x5a71ca,'paging':{'totalCount':_0x5a71ca[_0x43bfa1(0x1c3)],'currentPage':0x1,'pageSize':_0x5a71ca[_0x43bfa1(0x1c3)]}}};}async[a2_0x2786ba(0x1c2)](_0x182b5c){const _0x1a0f8d=a2_0x2786ba,_0x1ce4b8=_0x182b5c?.['currentPage']||0x1,_0x1c9378=_0x182b5c?.[_0x1a0f8d(0x205)]||0x3e7,_0x16120c=this['apiDomain']+_0x1a0f8d(0x1c4),_0x1ea27c={'appCode':this[_0x1a0f8d(0x1c8)],'currentPage':_0x1ce4b8,'pageSize':_0x1c9378,..._0x182b5c?.[_0x1a0f8d(0x1cf)]&&{'sqlCode':_0x182b5c[_0x1a0f8d(0x1cf)]},..._0x182b5c?.['sqlName']&&{'sqlName':_0x182b5c[_0x1a0f8d(0x1e7)]}},_0x266d74=await this[_0x1a0f8d(0x1ed)](_0x16120c,_0x1ea27c);return _0x266d74;}async[a2_0x2786ba(0x1ae)](_0x5f1b4a){const _0x13075d=a2_0x2786ba,_0x141486=this[_0x13075d(0x1ba)]+_0x13075d(0x1e6),_0x14193e={'appCode':this[_0x13075d(0x1c8)],'sqlCode':_0x5f1b4a[_0x13075d(0x1cf)],..._0x5f1b4a[_0x13075d(0x1b8)]&&{'params':_0x5f1b4a[_0x13075d(0x1b8)]}};return await this[_0x13075d(0x1ed)](_0x141486,_0x14193e);}async['saveUserCustomSql'](_0x299a3e){const _0x1c6165=a2_0x2786ba,_0xf1a017=this[_0x1c6165(0x1e1)]+_0x1c6165(0x1db),_0x176cff={'sqlName':_0x299a3e['sqlName'],'dbId':_0x299a3e[_0x1c6165(0x1f3)],'sqlContent':_0x299a3e[_0x1c6165(0x1c7)],'appCode':this[_0x1c6165(0x1c8)]};return await this[_0x1c6165(0x1ed)](_0xf1a017,_0x176cff);}async[a2_0x2786ba(0x1da)](_0x275fe8){const _0x312100=a2_0x2786ba,_0x3dd6ba=this[_0x312100(0x1e1)]+_0x312100(0x1d2),_0x16f6b7={'id':_0x275fe8['id'],'tenantCode':_0x312100(0x1cc),'appCode':this[_0x312100(0x1c8)],'dbId':_0x275fe8['dbId'],'dbName':null,'sqlName':_0x275fe8[_0x312100(0x1e7)],'sqlCode':_0x275fe8['sqlCode'],'sqlContent':_0x275fe8[_0x312100(0x1c7)],'sqlConfig':null,'params':null};return await this[_0x312100(0x1ed)](_0x3dd6ba,_0x16f6b7);}async['getErConfig'](_0x5015bc,_0x651cd0=![]){const _0x3e5832=a2_0x2786ba,_0x29746c='er-config:'+this[_0x3e5832(0x1c8)]+':'+this[_0x3e5832(0x206)]+':'+_0x5015bc;if(!_0x651cd0){const _0x375e75=apiCache[_0x3e5832(0x1ec)](_0x29746c);if(_0x375e75)return _0x375e75;}const _0x3d1e80=this[_0x3e5832(0x1e1)]+'/smartapi/question/er-config',_0x136198=await this[_0x3e5832(0x1ed)](_0x3d1e80,{'dblinkId':_0x5015bc,'appCode':this[_0x3e5832(0x1c8)]});if(!_0x136198['success']||!_0x136198['data'])throw new Error(_0x3e5832(0x1bd)+_0x5015bc);const _0x2bda62={'meta':_0x136198[_0x3e5832(0x1d7)]['meta'],'datasets':_0x136198[_0x3e5832(0x1d7)]['datasets']};return apiCache[_0x3e5832(0x1c9)](_0x29746c,_0x2bda62),_0x2bda62;}async[a2_0x2786ba(0x1dc)](_0x88693c=![]){const _0xa8a3a9=a2_0x2786ba,_0x5e3cc5=await this[_0xa8a3a9(0x1fb)]({'forceRefresh':_0x88693c}),_0x2046c3=Array[_0xa8a3a9(0x1b6)](_0x5e3cc5[_0xa8a3a9(0x1d7)])?_0x5e3cc5['data']:_0x5e3cc5['data']?.[_0xa8a3a9(0x1f5)]||[],_0x3e1b9e=new Set();for(const _0x2e513f of _0x2046c3){_0x2e513f['dbtableConfig']?.[_0xa8a3a9(0x1f3)]&&_0x3e1b9e[_0xa8a3a9(0x1f1)](_0x2e513f[_0xa8a3a9(0x1d8)][_0xa8a3a9(0x1f3)]);}return Array[_0xa8a3a9(0x1f0)](_0x3e1b9e)[_0xa8a3a9(0x1af)]((_0x918656,_0x3a6fa3)=>_0x918656-_0x3a6fa3);}async[a2_0x2786ba(0x1c6)](_0x4c7767=![]){const _0x1d6796=a2_0x2786ba,_0x2105a6='er-configs-all:'+this[_0x1d6796(0x1c8)]+':'+this['env'];if(!_0x4c7767){const _0x14ba4a=apiCache[_0x1d6796(0x1ec)](_0x2105a6);if(_0x14ba4a)return _0x14ba4a;}const _0x4c3361=await this[_0x1d6796(0x1dc)](_0x4c7767),_0x45d99b=new Map();for(const _0x19abcf of _0x4c3361){try{const _0x27c61a=await this[_0x1d6796(0x1b0)](_0x19abcf,_0x4c7767);_0x45d99b[_0x1d6796(0x1c9)](_0x19abcf,_0x27c61a);}catch(_0xb988af){console['warn']('Failed\x20to\x20get\x20ER\x20config\x20for\x20dbId\x20'+_0x19abcf+':',_0xb988af);}}return apiCache['set'](_0x2105a6,_0x45d99b),_0x45d99b;}async[a2_0x2786ba(0x1b5)](_0xbc9b30,_0x4d846d=![]){const _0x484834=a2_0x2786ba,_0x1e3320=await this['getAllErConfigs'](_0x4d846d),_0x447c76=[],_0x1b9985=[];for(const [,_0x206d2e]of _0x1e3320){const _0x18c87b=_0x206d2e[_0x484834(0x1cb)]['find'](_0x2c271a=>_0x2c271a[_0x484834(0x1c0)]===_0xbc9b30);if(_0x18c87b)for(const _0x3c9d3b of _0x18c87b['relations']||[]){_0x447c76[_0x484834(0x1fd)]({'toDataset':_0x3c9d3b[_0x484834(0x1f9)],'toDatasetName':_0x3c9d3b[_0x484834(0x1f6)],'toField':_0x3c9d3b[_0x484834(0x1bf)],'fromField':_0x3c9d3b[_0x484834(0x1cd)],'joinType':_0x3c9d3b[_0x484834(0x1b9)]});}for(const _0x3de560 of _0x206d2e[_0x484834(0x1cb)]){if(_0x3de560[_0x484834(0x1c0)]===_0xbc9b30)continue;for(const _0x2002c6 of _0x3de560['relations']||[]){_0x2002c6[_0x484834(0x1f9)]===_0xbc9b30&&_0x1b9985['push']({'fromDataset':_0x3de560[_0x484834(0x1c0)],'fromDatasetName':_0x3de560[_0x484834(0x1c1)],'fromField':_0x2002c6[_0x484834(0x1cd)],'toField':_0x2002c6['toField'],'joinType':_0x2002c6['joinType']});}}}return{'outgoing':_0x447c76,'incoming':_0x1b9985};}}
1
+ const a2_0x5cf51c=a2_0x36d6;(function(_0x13d8c6,_0x2d7243){const _0x4b4767=a2_0x36d6,_0x3cc8e8=_0x13d8c6();while(!![]){try{const _0x13e046=parseInt(_0x4b4767(0xee))/0x1+parseInt(_0x4b4767(0xfb))/0x2+-parseInt(_0x4b4767(0x106))/0x3*(parseInt(_0x4b4767(0xf7))/0x4)+parseInt(_0x4b4767(0xe8))/0x5*(-parseInt(_0x4b4767(0x11d))/0x6)+parseInt(_0x4b4767(0xdd))/0x7+parseInt(_0x4b4767(0xf0))/0x8+-parseInt(_0x4b4767(0xe9))/0x9;if(_0x13e046===_0x2d7243)break;else _0x3cc8e8['push'](_0x3cc8e8['shift']());}catch(_0x4d6fe8){_0x3cc8e8['push'](_0x3cc8e8['shift']());}}}(a2_0x49d7,0xced64));import{getCookie}from'../auth/cookie-manager.js';function a2_0x36d6(_0x20a5c7,_0x1abed1){_0x20a5c7=_0x20a5c7-0xda;const _0x49d75c=a2_0x49d7();let _0x36d6fd=_0x49d75c[_0x20a5c7];return _0x36d6fd;}import{getEffectiveApiDomain,getEffectiveRuntimeDomain}from'../auth/constants.js';import{apiCache}from'./cache.js';export class DevApiClient{[a2_0x5cf51c(0x119)];['env'];[a2_0x5cf51c(0x103)];['apiDomain'];[a2_0x5cf51c(0x125)];constructor(_0x2c4758){const _0x4a4c30=a2_0x5cf51c;this[_0x4a4c30(0x119)]=_0x2c4758[_0x4a4c30(0x119)],this[_0x4a4c30(0x10d)]=globalThis[_0x4a4c30(0x12c)]?.[_0x4a4c30(0x10d)]?.[_0x4a4c30(0xff)]||_0x4a4c30(0xeb),this[_0x4a4c30(0x103)]=_0x2c4758['cookie']||getCookie(),this[_0x4a4c30(0xfc)]=_0x2c4758[_0x4a4c30(0x10b)]||getEffectiveApiDomain(),this[_0x4a4c30(0x125)]=_0x2c4758[_0x4a4c30(0xe3)]||getEffectiveRuntimeDomain();if(!this[_0x4a4c30(0x103)])throw new Error(_0x4a4c30(0x10c));}async[a2_0x5cf51c(0xe7)](_0x364e88){const _0x33f7fa=a2_0x5cf51c,_0x4728c4=await fetch(_0x364e88,{'headers':{'Cookie':this['cookie']}});if(!_0x4728c4['ok']){if(_0x4728c4[_0x33f7fa(0x11b)]===0x191)throw new Error(_0x33f7fa(0xfa));let _0x33e5af='';try{_0x33e5af=await _0x4728c4[_0x33f7fa(0x124)]();}catch{}throw new Error(_0x33f7fa(0x112)+_0x4728c4[_0x33f7fa(0x11b)]+_0x33f7fa(0xfe)+_0x364e88+(_0x33e5af?'\x0a'+_0x33e5af:''));}const _0x557b09=await _0x4728c4['json']();if(_0x557b09&&typeof _0x557b09===_0x33f7fa(0xde)&&'success'in _0x557b09&&!_0x557b09['success']){const _0x4f464a=_0x557b09;throw new Error('API\x20error:\x20'+(_0x4f464a['message']||_0x4f464a[_0x33f7fa(0xef)]||_0x33f7fa(0x114)));}return _0x557b09;}async[a2_0x5cf51c(0x113)](_0x2381e4,_0x53c74f){const _0x31dcff=a2_0x5cf51c,_0x15f5b9=await fetch(_0x2381e4,{'method':_0x31dcff(0x102),'headers':{'Content-Type':_0x31dcff(0x110),'Cookie':this['cookie']},'body':JSON['stringify'](_0x53c74f)});if(!_0x15f5b9['ok']){if(_0x15f5b9[_0x31dcff(0x11b)]===0x191)throw new Error(_0x31dcff(0xfa));let _0x462873='';try{_0x462873=await _0x15f5b9[_0x31dcff(0x124)]();}catch{}throw new Error('API\x20request\x20failed:\x20HTTP\x20'+_0x15f5b9['status']+'\x0aURL:\x20'+_0x2381e4+(_0x462873?'\x0a'+_0x462873:''));}const _0x249604=await _0x15f5b9[_0x31dcff(0xe1)]();if(_0x249604&&typeof _0x249604===_0x31dcff(0xde)&&_0x31dcff(0x109)in _0x249604&&!_0x249604[_0x31dcff(0x109)]){const _0x1f7a6c=_0x249604;throw new Error(_0x31dcff(0xf4)+(_0x1f7a6c['message']||_0x1f7a6c[_0x31dcff(0xef)]||_0x31dcff(0x114)));}return _0x249604;}async['getDatasetList'](_0x44ebc8){const _0xce5273=a2_0x5cf51c,_0x8bf521=_0x44ebc8?.[_0xce5273(0x116)]||![],_0x2e4725='dataset-list:'+this[_0xce5273(0x119)]+':'+this['env'];if(!_0x8bf521){const _0x1d363a=apiCache[_0xce5273(0xdf)](_0x2e4725);if(_0x1d363a)return _0x1d363a;}const _0x26d4ea=this['apiDomain']+'/smartapi/dataset/get-dataset-list',_0x41995d=await this[_0xce5273(0x113)](_0x26d4ea,{'appCode':this[_0xce5273(0x119)]});return apiCache['set'](_0x2e4725,_0x41995d),_0x41995d;}async[a2_0x5cf51c(0xda)](_0x488e72,_0x59bcfc=![],_0xedfec2=![]){const _0x33d4a5=a2_0x5cf51c,_0x20ccc0='dataset-detail:'+this[_0x33d4a5(0x119)]+':'+this[_0x33d4a5(0x10d)]+':'+_0x488e72+':'+(_0xedfec2?'with-relations':_0x33d4a5(0x12b));if(!_0x59bcfc){const _0x285a24=apiCache['get'](_0x20ccc0);if(_0x285a24)return _0x285a24;}const _0x4d7f4a=this[_0x33d4a5(0xfc)]+_0x33d4a5(0xf5)+_0x488e72,_0x4e83ed=await this[_0x33d4a5(0xe7)](_0x4d7f4a);if(_0xedfec2&&_0x4e83ed[_0x33d4a5(0xea)]?.[_0x33d4a5(0xe5)])try{const _0x2ec2f1=await this['getDatasetRelations'](_0x4e83ed[_0x33d4a5(0xea)][_0x33d4a5(0xe5)],_0x59bcfc);_0x4e83ed[_0x33d4a5(0xea)]['relations']=_0x2ec2f1;}catch(_0x250e16){process[_0x33d4a5(0x10d)][_0x33d4a5(0xf6)]!=='test'&&console['warn'](_0x33d4a5(0x10e)+_0x488e72+':',_0x250e16);}return apiCache[_0x33d4a5(0x129)](_0x20ccc0,_0x4e83ed),_0x4e83ed;}async['searchDatasets'](_0x21fe32){const _0x2613b1=a2_0x5cf51c,_0x5e50a4=await this['getDatasetList'](),_0x24e43c=Array[_0x2613b1(0x128)](_0x5e50a4['data'])?_0x5e50a4[_0x2613b1(0xea)]:_0x5e50a4[_0x2613b1(0xea)]?.[_0x2613b1(0x120)]||[];if(!_0x5e50a4[_0x2613b1(0x109)])return{'success':!![],'data':{'tableData':[]}};const _0x2837d3=_0x24e43c[_0x2613b1(0x12d)](_0x2b9bcb=>{const _0x2d975f=_0x2613b1,_0x15db2f=_0x21fe32[_0x2d975f(0x10a)]();return _0x2b9bcb[_0x2d975f(0xf9)]?.[_0x2d975f(0x10a)]()[_0x2d975f(0x12f)](_0x15db2f)||_0x2b9bcb[_0x2d975f(0x127)]?.[_0x2d975f(0x10a)]()['includes'](_0x15db2f)||_0x2b9bcb[_0x2d975f(0xe0)]?.[_0x2d975f(0x126)]?.[_0x2d975f(0x10a)]()[_0x2d975f(0x12f)](_0x15db2f)||_0x2b9bcb[_0x2d975f(0x12a)]?.['toLowerCase']()[_0x2d975f(0x12f)](_0x15db2f);});return{'success':!![],'data':{'tableData':_0x2837d3,'paging':{'totalCount':_0x2837d3['length'],'currentPage':0x1,'pageSize':_0x2837d3[_0x2613b1(0x11e)]}}};}async['getCustomSqlList'](_0x5a9970){const _0x5bffb0=a2_0x5cf51c,_0x1b12a=_0x5a9970?.['currentPage']||0x1,_0x52d27b=_0x5a9970?.['pageSize']||0x3e7,_0x5efd26=this['apiDomain']+_0x5bffb0(0x131),_0x861694={'appCode':this['appCode'],'currentPage':_0x1b12a,'pageSize':_0x52d27b,..._0x5a9970?.[_0x5bffb0(0x130)]&&{'sqlCode':_0x5a9970[_0x5bffb0(0x130)]},..._0x5a9970?.[_0x5bffb0(0x11c)]&&{'sqlName':_0x5a9970['sqlName']}},_0x392e45=await this[_0x5bffb0(0x113)](_0x5efd26,_0x861694);return _0x392e45;}async[a2_0x5cf51c(0x10f)](_0x38e15b){const _0x3a3695=a2_0x5cf51c,_0x15666e=this[_0x3a3695(0x125)]+_0x3a3695(0x11f),_0x28665c={'appCode':this['appCode'],'sqlCode':_0x38e15b[_0x3a3695(0x130)],..._0x38e15b[_0x3a3695(0x121)]&&{'params':_0x38e15b[_0x3a3695(0x121)]}};return await this[_0x3a3695(0x113)](_0x15666e,_0x28665c);}async['saveUserCustomSql'](_0x4325d1){const _0x2fbfc3=a2_0x5cf51c,_0x3ac1b1=this[_0x2fbfc3(0xfc)]+_0x2fbfc3(0xe4),_0x3fc484={'sqlName':_0x4325d1['sqlName'],'dbId':_0x4325d1[_0x2fbfc3(0x104)],'sqlContent':_0x4325d1['sqlContent'],'appCode':this[_0x2fbfc3(0x119)]};return await this[_0x2fbfc3(0x113)](_0x3ac1b1,_0x3fc484);}async[a2_0x5cf51c(0xe2)](_0x14582c){const _0x54a5ea=a2_0x5cf51c,_0x30caae=this[_0x54a5ea(0xfc)]+_0x54a5ea(0xe6),_0x11dcd5={'id':_0x14582c['id'],'dbId':_0x14582c[_0x54a5ea(0x104)],'sqlName':_0x14582c['sqlName'],'appCode':this[_0x54a5ea(0x119)],'sqlContent':_0x14582c[_0x54a5ea(0xf8)]};return await this['postRequest'](_0x30caae,_0x11dcd5);}async[a2_0x5cf51c(0xed)](_0x4ace09,_0x10a590=![]){const _0x294ccc=a2_0x5cf51c,_0xb0dd36=_0x294ccc(0x118)+this[_0x294ccc(0x119)]+':'+this['env']+':'+_0x4ace09;if(!_0x10a590){const _0x3c6883=apiCache[_0x294ccc(0xdf)](_0xb0dd36);if(_0x3c6883)return _0x3c6883;}const _0x3cd894=this[_0x294ccc(0xfc)]+'/smartapi/question/er-config',_0x1e6be1=await this[_0x294ccc(0x113)](_0x3cd894,{'dblinkId':_0x4ace09,'appCode':this['appCode']});if(!_0x1e6be1[_0x294ccc(0x109)]||!_0x1e6be1['data'])throw new Error(_0x294ccc(0x12e)+_0x4ace09);const _0x3d11f4={'meta':_0x1e6be1[_0x294ccc(0xea)][_0x294ccc(0x105)],'datasets':_0x1e6be1[_0x294ccc(0xea)][_0x294ccc(0x123)]};return apiCache[_0x294ccc(0x129)](_0xb0dd36,_0x3d11f4),_0x3d11f4;}async['getUniqueDbIds'](_0x4dc01d=![]){const _0x45fb5d=a2_0x5cf51c,_0x1f0ec6=await this[_0x45fb5d(0xdb)]({'forceRefresh':_0x4dc01d}),_0xd3472b=Array[_0x45fb5d(0x128)](_0x1f0ec6[_0x45fb5d(0xea)])?_0x1f0ec6[_0x45fb5d(0xea)]:_0x1f0ec6['data']?.[_0x45fb5d(0x120)]||[],_0x39c083=new Set();for(const _0x2d5b15 of _0xd3472b){_0x2d5b15[_0x45fb5d(0xe0)]?.[_0x45fb5d(0x104)]&&_0x39c083[_0x45fb5d(0x11a)](_0x2d5b15[_0x45fb5d(0xe0)][_0x45fb5d(0x104)]);}return Array[_0x45fb5d(0x115)](_0x39c083)[_0x45fb5d(0x132)]((_0x3ac637,_0x47e722)=>_0x3ac637-_0x47e722);}async['getAllErConfigs'](_0x367c02=![]){const _0x4b801c=a2_0x5cf51c,_0x6ada54='er-configs-all:'+this[_0x4b801c(0x119)]+':'+this[_0x4b801c(0x10d)];if(!_0x367c02){const _0x42f2f4=apiCache[_0x4b801c(0xdf)](_0x6ada54);if(_0x42f2f4)return _0x42f2f4;}const _0x26d0de=await this[_0x4b801c(0x107)](_0x367c02),_0x140006=new Map();for(const _0x2c53a4 of _0x26d0de){try{const _0x1da69c=await this[_0x4b801c(0xed)](_0x2c53a4,_0x367c02);_0x140006[_0x4b801c(0x129)](_0x2c53a4,_0x1da69c);}catch(_0x4d432b){console[_0x4b801c(0x108)](_0x4b801c(0xf1)+_0x2c53a4+':',_0x4d432b);}}return apiCache[_0x4b801c(0x129)](_0x6ada54,_0x140006),_0x140006;}async[a2_0x5cf51c(0xdc)](_0x1ee2a3,_0x5b0dba=![]){const _0x9a5676=a2_0x5cf51c,_0x397036=await this[_0x9a5676(0x100)](_0x5b0dba),_0x350c15=[],_0x2898ee=[];for(const [,_0x4e5f1e]of _0x397036){const _0xfce787=_0x4e5f1e['datasets'][_0x9a5676(0x117)](_0x248603=>_0x248603['datasetCode']===_0x1ee2a3);if(_0xfce787)for(const _0x19213b of _0xfce787[_0x9a5676(0xfd)]||[]){_0x350c15[_0x9a5676(0x122)]({'toDataset':_0x19213b[_0x9a5676(0x111)],'toDatasetName':_0x19213b['toDatasetName'],'toField':_0x19213b[_0x9a5676(0xf2)],'fromField':_0x19213b[_0x9a5676(0xec)],'joinType':_0x19213b[_0x9a5676(0xf3)]});}for(const _0x2cbabb of _0x4e5f1e[_0x9a5676(0x123)]){if(_0x2cbabb[_0x9a5676(0x101)]===_0x1ee2a3)continue;for(const _0x39bdde of _0x2cbabb[_0x9a5676(0xfd)]||[]){_0x39bdde[_0x9a5676(0x111)]===_0x1ee2a3&&_0x2898ee[_0x9a5676(0x122)]({'fromDataset':_0x2cbabb[_0x9a5676(0x101)],'fromDatasetName':_0x2cbabb['datasetName'],'fromField':_0x39bdde['fromField'],'toField':_0x39bdde[_0x9a5676(0xf2)],'joinType':_0x39bdde[_0x9a5676(0xf3)]});}}}return{'outgoing':_0x350c15,'incoming':_0x2898ee};}}function a2_0x49d7(){const _0x370f25=['cookie','dbId','meta','69555ETIovn','getUniqueDbIds','warn','success','toLowerCase','apiBaseUrl','No\x20authentication\x20cookie\x20found.\x20Please\x20login\x20first.','env','[getDatasetDetail]\x20Failed\x20to\x20fetch\x20relations\x20for\x20','executeSql','application/json','toDataset','API\x20request\x20failed:\x20HTTP\x20','postRequest','Unknown\x20error','from','forceRefresh','find','er-config:','appCode','add','status','sqlName','3100602qJgIKS','length','/api/custom/executeSql','tableData','params','push','datasets','text','runtimeDomain','tableName','code','isArray','set','description','no-relations','process','filter','Failed\x20to\x20get\x20ER\x20config\x20for\x20dblinkId:\x20','includes','sqlCode','/smartapi/custom/queryUserCustomSqlList','sort','getDatasetDetail','getDatasetList','getDatasetRelations','5312601pdcdAa','object','get','dbtableConfig','json','updateUserCustomSql','runtimeBaseUrl','/smartapi/custom/saveUserCustomSql','modelCode','/smartapi/custom/updateUserCustomSql','request','10likGvO','9096111foCrgR','data','online','fromField','getErConfig','1061858yBfkqc','errorMsg','2443432zYMRqm','Failed\x20to\x20get\x20ER\x20config\x20for\x20dbId\x20','toField','joinType','API\x20error:\x20','/smartapi/dataset/get-driven-data?id=','NODE_ENV','76xrVMOj','sqlContent','name','Authentication\x20failed.\x20Please\x20login\x20again.','2411404aRqqzx','apiDomain','relations','\x0aURL:\x20','LOVRABET_ENV','getAllErConfigs','datasetCode','POST'];a2_0x49d7=function(){return _0x370f25;};return a2_0x49d7();}
@@ -1 +1 @@
1
- function a3_0x2fd7(_0x16d9cc,_0x5f452b){_0x16d9cc=_0x16d9cc-0x103;var _0x263242=a3_0x2632();var _0x2fd781=_0x263242[_0x16d9cc];return _0x2fd781;}function a3_0x2632(){var _0x47690f=['20Jluprs','29810SEZUGk','84334SaNMgR','17658wjuVqO','1107696nipmXR','220ZyIMXH','24DXxpCY','6eUAwpl','2659525URmwvF','2593297sCZDmr','189767GwJnhL'];a3_0x2632=function(){return _0x47690f;};return a3_0x2632();}(function(_0x5f48ca,_0x33864c){var _0x4086d3=a3_0x2fd7,_0x354b21=_0x5f48ca();while(!![]){try{var _0x295519=parseInt(_0x4086d3(0x10b))/0x1+parseInt(_0x4086d3(0x103))/0x2*(parseInt(_0x4086d3(0x107))/0x3)+parseInt(_0x4086d3(0x106))/0x4*(-parseInt(_0x4086d3(0x10d))/0x5)+-parseInt(_0x4086d3(0x108))/0x6*(-parseInt(_0x4086d3(0x10a))/0x7)+-parseInt(_0x4086d3(0x105))/0x8+parseInt(_0x4086d3(0x104))/0x9*(-parseInt(_0x4086d3(0x10c))/0xa)+-parseInt(_0x4086d3(0x109))/0xb;if(_0x295519===_0x33864c)break;else _0x354b21['push'](_0x354b21['shift']());}catch(_0x1752a5){_0x354b21['push'](_0x354b21['shift']());}}}(a3_0x2632,0x2d49f));export{getEnvAppCode,getEnvironment,getEnvApiBaseUrl,getEnvRuntimeBaseUrl,getEnvUserBaseUrl,getEnvAuthCookie,configDir,cookieFile,defaultConfig,getEnvAppCodeWithFallback,getApiDomain,getUserDomain,getRuntimeDomain,getEffectiveApiDomain,getEffectiveRuntimeDomain,getEffectiveUserDomain}from'../config/env.js';
1
+ (function(_0x4017f1,_0x32b659){var _0x110fc9=a3_0x53d5,_0x4a979e=_0x4017f1();while(!![]){try{var _0x2de9b4=-parseInt(_0x110fc9(0xbf))/0x1*(-parseInt(_0x110fc9(0xbc))/0x2)+parseInt(_0x110fc9(0xc4))/0x3+parseInt(_0x110fc9(0xc1))/0x4*(-parseInt(_0x110fc9(0xc3))/0x5)+-parseInt(_0x110fc9(0xbd))/0x6+parseInt(_0x110fc9(0xc2))/0x7*(-parseInt(_0x110fc9(0xc0))/0x8)+-parseInt(_0x110fc9(0xbe))/0x9+parseInt(_0x110fc9(0xc5))/0xa;if(_0x2de9b4===_0x32b659)break;else _0x4a979e['push'](_0x4a979e['shift']());}catch(_0x3b3918){_0x4a979e['push'](_0x4a979e['shift']());}}}(a3_0x12f3,0x883cb));function a3_0x12f3(){var _0x584d4c=['2059650UUOzEK','23DjUBtN','8ELIEmY','17844TVKUxJ','6945316uVKUqT','45ucUIRQ','1950384GMvCBE','18021900NccuQp','40220PcFxJi','6573804pqCWiX'];a3_0x12f3=function(){return _0x584d4c;};return a3_0x12f3();}function a3_0x53d5(_0x4fcc75,_0x42cb46){_0x4fcc75=_0x4fcc75-0xbc;var _0x12f34f=a3_0x12f3();var _0x53d536=_0x12f34f[_0x4fcc75];return _0x53d536;}export{getEnvAppCode,getEnvironment,getEnvApiBaseUrl,getEnvRuntimeBaseUrl,getEnvUserBaseUrl,getEnvAuthCookie,configDir,cookieFile,defaultConfig,getEnvAppCodeWithFallback,getApiDomain,getUserDomain,getRuntimeDomain,getEffectiveApiDomain,getEffectiveRuntimeDomain,getEffectiveUserDomain}from'../config/env.js';
@@ -1 +1 @@
1
- (function(_0x4e91b5,_0x6f2d5c){const _0x5b7277=a4_0x59d7,_0x24b4e7=_0x4e91b5();while(!![]){try{const _0x21600c=parseInt(_0x5b7277(0x72))/0x1*(parseInt(_0x5b7277(0x80))/0x2)+-parseInt(_0x5b7277(0x75))/0x3*(parseInt(_0x5b7277(0x76))/0x4)+-parseInt(_0x5b7277(0x79))/0x5*(parseInt(_0x5b7277(0x73))/0x6)+parseInt(_0x5b7277(0x78))/0x7*(-parseInt(_0x5b7277(0x7d))/0x8)+parseInt(_0x5b7277(0x77))/0x9+parseInt(_0x5b7277(0x7e))/0xa+parseInt(_0x5b7277(0x81))/0xb*(parseInt(_0x5b7277(0x7a))/0xc);if(_0x21600c===_0x6f2d5c)break;else _0x24b4e7['push'](_0x24b4e7['shift']());}catch(_0x5f1f9f){_0x24b4e7['push'](_0x24b4e7['shift']());}}}(a4_0x368f,0x71c40));import{readFileSync,writeFileSync}from'node:fs';function a4_0x368f(){const _0x45fd5c=['trim','642210NnViTR','8WVTshY','6403689XkIbNU','49nvWEHG','467555atjIJM','1212pXhOzL','message','Failed\x20to\x20save\x20cookie\x20to\x20','214048QoSNwu','822540vMcjxy','utf-8','2YIuzfu','39897VaWvzl','length','14825dirxZM','6geBxne'];a4_0x368f=function(){return _0x45fd5c;};return a4_0x368f();}function a4_0x59d7(_0x2a19cb,_0x6172cd){_0x2a19cb=_0x2a19cb-0x72;const _0x368f07=a4_0x368f();let _0x59d710=_0x368f07[_0x2a19cb];return _0x59d710;}import{getEnvAuthCookie,cookieFile}from'../config/env.js';export function getCookie(){const _0x277abb=a4_0x59d7,_0x2b2dd3=getEnvAuthCookie();if(_0x2b2dd3)return _0x2b2dd3;try{return readFileSync(cookieFile,'utf-8')[_0x277abb(0x74)]();}catch{return'';}}export function saveCookie(_0x5f1d2c){const _0xfcdd92=a4_0x59d7;try{writeFileSync(cookieFile,_0x5f1d2c,_0xfcdd92(0x7f));}catch(_0xd24fa1){throw new Error(_0xfcdd92(0x7c)+cookieFile+':\x20'+_0xd24fa1[_0xfcdd92(0x7b)]);}}export function hasCookie(){const _0x161e4a=a4_0x59d7,_0x5d25df=getCookie();return _0x5d25df[_0x161e4a(0x82)]>0x0;}export function clearCookie(){const _0x2b7a33=a4_0x59d7;try{writeFileSync(cookieFile,'',_0x2b7a33(0x7f));}catch{}}
1
+ function a4_0x4a28(){const _0xb222b6=['6990895bZtoka','3624744WEnYcz','1516964cucDzZ','utf-8','length','trim','9pkmBRs','16937OuqkWq','105qhQlwS','52085gBxqdy','122smQHME','9kqdZEY','11929010UrhNPF','760416EmYRRU','3204MBHNaC','message','Failed\x20to\x20save\x20cookie\x20to\x20'];a4_0x4a28=function(){return _0xb222b6;};return a4_0x4a28();}(function(_0x15cc4d,_0x50bc51){const _0x48a6fc=a4_0x5bb6,_0x1ec5fa=_0x15cc4d();while(!![]){try{const _0x16cc87=-parseInt(_0x48a6fc(0x10a))/0x1*(parseInt(_0x48a6fc(0xfc))/0x2)+parseInt(_0x48a6fc(0xfd))/0x3*(parseInt(_0x48a6fc(0x105))/0x4)+-parseInt(_0x48a6fc(0x103))/0x5+-parseInt(_0x48a6fc(0xff))/0x6*(-parseInt(_0x48a6fc(0xfa))/0x7)+parseInt(_0x48a6fc(0x104))/0x8+parseInt(_0x48a6fc(0x109))/0x9*(parseInt(_0x48a6fc(0xfe))/0xa)+-parseInt(_0x48a6fc(0xfb))/0xb*(parseInt(_0x48a6fc(0x100))/0xc);if(_0x16cc87===_0x50bc51)break;else _0x1ec5fa['push'](_0x1ec5fa['shift']());}catch(_0x273c96){_0x1ec5fa['push'](_0x1ec5fa['shift']());}}}(a4_0x4a28,0xf17f8));import{readFileSync,writeFileSync}from'node:fs';import{getEnvAuthCookie,cookieFile}from'../config/env.js';export function getCookie(){const _0x2565c8=a4_0x5bb6,_0x4222d6=getEnvAuthCookie();if(_0x4222d6)return _0x4222d6;try{return readFileSync(cookieFile,_0x2565c8(0x106))[_0x2565c8(0x108)]();}catch{return'';}}export function saveCookie(_0x1d663e){const _0x98f181=a4_0x5bb6;try{writeFileSync(cookieFile,_0x1d663e,_0x98f181(0x106));}catch(_0xb79d9c){throw new Error(_0x98f181(0x102)+cookieFile+':\x20'+_0xb79d9c[_0x98f181(0x101)]);}}function a4_0x5bb6(_0x4b0738,_0x5f2eaf){_0x4b0738=_0x4b0738-0xfa;const _0x4a28ee=a4_0x4a28();let _0x5bb681=_0x4a28ee[_0x4b0738];return _0x5bb681;}export function hasCookie(){const _0x2b7ea1=a4_0x5bb6,_0x460191=getCookie();return _0x460191[_0x2b7ea1(0x107)]>0x0;}export function clearCookie(){try{writeFileSync(cookieFile,'','utf-8');}catch{}}
@@ -1 +1 @@
1
- (function(_0x643636,_0xf753dd){const _0x156f72=a5_0x340e,_0x3b5f61=_0x643636();while(!![]){try{const _0x4017a9=parseInt(_0x156f72(0x1ca))/0x1+-parseInt(_0x156f72(0x1cb))/0x2+-parseInt(_0x156f72(0x1c6))/0x3+-parseInt(_0x156f72(0x1c5))/0x4*(parseInt(_0x156f72(0x1c4))/0x5)+-parseInt(_0x156f72(0x1c0))/0x6*(parseInt(_0x156f72(0x1c9))/0x7)+-parseInt(_0x156f72(0x1cd))/0x8*(parseInt(_0x156f72(0x1c7))/0x9)+parseInt(_0x156f72(0x1cc))/0xa*(parseInt(_0x156f72(0x1c8))/0xb);if(_0x4017a9===_0xf753dd)break;else _0x3b5f61['push'](_0x3b5f61['shift']());}catch(_0x41dfd5){_0x3b5f61['push'](_0x3b5f61['shift']());}}}(a5_0x23c0,0x8084e));import{getCookie}from'./cookie-manager.js';function a5_0x340e(_0x41524a,_0x4996e7){_0x41524a=_0x41524a-0x1c0;const _0x23c077=a5_0x23c0();let _0x340e60=_0x23c077[_0x41524a];return _0x340e60;}import{getUserDomain}from'../config/env.js';function a5_0x23c0(){const _0x72aabc=['12odNZMs','2005008fbAAxr','306FRkGDq','297XDPvAB','7lAnZeP','704483IpdGdM','659856CwYRcu','972810lRrDlc','220264caEIgT','1306674VcuyvA','json','session','user','1087485YhBctP'];a5_0x23c0=function(){return _0x72aabc;};return a5_0x23c0();}export async function isSessionValid(){const _0x4317df=a5_0x340e,_0xd802a9=getCookie();if(!_0xd802a9)return![];try{const _0x129f72=await fetch(getUserDomain()+'/api/auth/get-session',{'headers':{'cookie':_0xd802a9}});if(!_0x129f72['ok'])return![];const _0x8fd4bd=await _0x129f72[_0x4317df(0x1c1)]();return!!(_0x8fd4bd?.[_0x4317df(0x1c2)]&&_0x8fd4bd?.[_0x4317df(0x1c3)]);}catch{return![];}}
1
+ function a5_0x12b4(_0x3f6f7a,_0x3655b8){_0x3f6f7a=_0x3f6f7a-0x159;const _0x295c6c=a5_0x295c();let _0x12b403=_0x295c6c[_0x3f6f7a];return _0x12b403;}(function(_0x320c34,_0xb44436){const _0x51e225=a5_0x12b4,_0x31bbe7=_0x320c34();while(!![]){try{const _0xc7dbf4=-parseInt(_0x51e225(0x15d))/0x1+-parseInt(_0x51e225(0x15a))/0x2+-parseInt(_0x51e225(0x15e))/0x3+-parseInt(_0x51e225(0x161))/0x4*(parseInt(_0x51e225(0x160))/0x5)+-parseInt(_0x51e225(0x162))/0x6*(parseInt(_0x51e225(0x15c))/0x7)+-parseInt(_0x51e225(0x163))/0x8*(-parseInt(_0x51e225(0x15f))/0x9)+-parseInt(_0x51e225(0x164))/0xa*(-parseInt(_0x51e225(0x165))/0xb);if(_0xc7dbf4===_0xb44436)break;else _0x31bbe7['push'](_0x31bbe7['shift']());}catch(_0x4128bf){_0x31bbe7['push'](_0x31bbe7['shift']());}}}(a5_0x295c,0xbf129));function a5_0x295c(){const _0x274bc0=['4jXAjwo','6WbrnFY','43528DMNdwg','890OvunwD','547151NBrXVE','/api/auth/get-session','user','2541982bumlPn','json','2174347ghUpjV','891072bkBNdD','3094236sBZLtG','1503hBfsDj','5244335KleUXw'];a5_0x295c=function(){return _0x274bc0;};return a5_0x295c();}import{getCookie}from'./cookie-manager.js';import{getUserDomain}from'../config/env.js';export async function isSessionValid(){const _0x34bab9=a5_0x12b4,_0x4694ae=getCookie();if(!_0x4694ae)return![];try{const _0x39c4e5=await fetch(getUserDomain()+_0x34bab9(0x166),{'headers':{'cookie':_0x4694ae}});if(!_0x39c4e5['ok'])return![];const _0x686038=await _0x39c4e5[_0x34bab9(0x15b)]();return!!(_0x686038?.['session']&&_0x686038?.[_0x34bab9(0x159)]);}catch{return![];}}
@@ -1 +1 @@
1
- const a6_0x46e4b5=a6_0x2358;(function(_0x43f3ab,_0x34e7f0){const _0xb22295=a6_0x2358,_0x4460e5=_0x43f3ab();while(!![]){try{const _0x122276=parseInt(_0xb22295(0xe6))/0x1*(-parseInt(_0xb22295(0xff))/0x2)+parseInt(_0xb22295(0xfd))/0x3+-parseInt(_0xb22295(0xf9))/0x4*(parseInt(_0xb22295(0xe9))/0x5)+-parseInt(_0xb22295(0xe4))/0x6+parseInt(_0xb22295(0xf2))/0x7*(parseInt(_0xb22295(0xe5))/0x8)+parseInt(_0xb22295(0xea))/0x9+-parseInt(_0xb22295(0xf5))/0xa*(-parseInt(_0xb22295(0xf4))/0xb);if(_0x122276===_0x34e7f0)break;else _0x4460e5['push'](_0x4460e5['shift']());}catch(_0x474837){_0x4460e5['push'](_0x4460e5['shift']());}}}(a6_0x4586,0x91b17));import{mkdirSync}from'node:fs';import{homedir}from'node:os';export function getEnvAppCode(){const _0xf4af89=a6_0x2358;return process[_0xf4af89(0xfe)][_0xf4af89(0xee)];}export function getEnvironment(){const _0x4dc10c=a6_0x2358;return process[_0x4dc10c(0xfe)][_0x4dc10c(0xf6)]||_0x4dc10c(0xf1);}export function getEnvApiBaseUrl(){const _0x385f25=a6_0x2358;return process['env'][_0x385f25(0xfc)];}export function getEnvRuntimeBaseUrl(){return process['env']['LOVRABET_RUNTIME_BASEURL'];}export function getEnvUserBaseUrl(){const _0x317605=a6_0x2358;return process[_0x317605(0xfe)]['LOVRABET_USER_BASEURL'];}export function getEnvAuthCookie(){const _0x15c3c9=a6_0x2358;return process[_0x15c3c9(0xfe)][_0x15c3c9(0xe8)]?.[_0x15c3c9(0xf8)]();}export function isTestEnv(){const _0x3d6655=a6_0x2358;return process['env'][_0x3d6655(0xf0)]===_0x3d6655(0xe7);}export function isProductionEnv(){const _0x146ec7=a6_0x2358;return process[_0x146ec7(0xfe)][_0x146ec7(0xf0)]===_0x146ec7(0xec);}export function isDevelopmentEnv(){const _0x10e188=a6_0x2358;return process[_0x10e188(0xfe)][_0x10e188(0xf0)]==='development';}export function shouldLog(){const _0x26d789=a6_0x2358,_0x5a1e4c=process[_0x26d789(0xfe)][_0x26d789(0xf0)];return _0x5a1e4c===_0x26d789(0xf3)||_0x5a1e4c===_0x26d789(0xef);}function a6_0x4586(){const _0x9893ce=['production','https://runtime.lovrabet.com','LOVRABET_APP_CODE','daily','NODE_ENV','online','7dTjydC','development','11VmTBaU','9101220ZJGCJB','LOVRABET_ENV','/cookie','trim','4WAlJzg','https://user.lovrabet.com','https://api.lovrabet.com','LOVRABET_API_BASEURL','1290189QzEpnx','env','2DmBnDJ','https://user-daily.lovrabet.com','4407942HSULph','599512aCnozv','355522lCcGCP','test','LOVRABET_AUTH_COOKIE','4016325LtaaHh','9675711PLCSKe','https://daily-api.lovrabet.com'];a6_0x4586=function(){return _0x9893ce;};return a6_0x4586();}export const configDir=homedir()+'/.lovrabet';export const cookieFile=configDir+a6_0x46e4b5(0xf7);mkdirSync(configDir,{'recursive':!![]});export const defaultConfig={'appCode':getEnvAppCode(),'env':getEnvironment()};export function getEnvAppCodeWithFallback(_0x1026b4){return getEnvAppCode()||_0x1026b4;}export function getApiDomain(){const _0x296803=a6_0x46e4b5,_0x2217e9=getEnvironment();return _0x2217e9===_0x296803(0xf1)?_0x296803(0xfb):_0x296803(0xeb);}export function getUserDomain(){const _0x102953=a6_0x46e4b5,_0x369156=getEnvironment();return _0x369156==='online'?_0x102953(0xfa):_0x102953(0xe3);}export function getRuntimeDomain(){const _0x424946=a6_0x46e4b5,_0x5169ea=getEnvironment();return _0x5169ea===_0x424946(0xf1)?_0x424946(0xed):'https://daily-runtime.lovrabet.com';}export function getEffectiveApiDomain(){return getEnvApiBaseUrl()||getApiDomain();}function a6_0x2358(_0x25cfbf,_0x213f8c){_0x25cfbf=_0x25cfbf-0xe3;const _0x45866a=a6_0x4586();let _0x235834=_0x45866a[_0x25cfbf];return _0x235834;}export function getEffectiveRuntimeDomain(){return getEnvRuntimeBaseUrl()||getRuntimeDomain();}export function getEffectiveUserDomain(){return getEnvUserBaseUrl()||getUserDomain();}
1
+ function a6_0x31be(){const _0x2ac437=['NODE_ENV','108EdNaAi','test','/.lovrabet','3668100sOOobN','LOVRABET_ENV','daily','2971jUrFiy','production','1611795bzUkwe','144684EzGYoA','https://user-daily.lovrabet.com','LOVRABET_RUNTIME_BASEURL','https://daily-api.lovrabet.com','trim','/cookie','env','https://api.lovrabet.com','91JPlvYy','27468uUKZJe','LOVRABET_AUTH_COOKIE','LOVRABET_USER_BASEURL','https://runtime.lovrabet.com','online','304nzsDWX','11528110FGZHvL','29148PHgrXe','https://daily-runtime.lovrabet.com','52yDuCqz'];a6_0x31be=function(){return _0x2ac437;};return a6_0x31be();}const a6_0x543ae7=a6_0x24dc;(function(_0x33bede,_0x5f35e5){const _0x450b07=a6_0x24dc,_0x23808e=_0x33bede();while(!![]){try{const _0x251080=parseInt(_0x450b07(0x1f5))/0x1*(parseInt(_0x450b07(0x1ef))/0x2)+-parseInt(_0x450b07(0x1eb))/0x3*(parseInt(_0x450b07(0x1ed))/0x4)+-parseInt(_0x450b07(0x1f7))/0x5+-parseInt(_0x450b07(0x1f8))/0x6*(parseInt(_0x450b07(0x1e3))/0x7)+-parseInt(_0x450b07(0x1e9))/0x8*(-parseInt(_0x450b07(0x1e4))/0x9)+-parseInt(_0x450b07(0x1f2))/0xa+parseInt(_0x450b07(0x1ea))/0xb;if(_0x251080===_0x5f35e5)break;else _0x23808e['push'](_0x23808e['shift']());}catch(_0x54cacd){_0x23808e['push'](_0x23808e['shift']());}}}(a6_0x31be,0x2fb85));import{mkdirSync}from'node:fs';import{homedir}from'node:os';export function getEnvAppCode(){const _0x38d16c=a6_0x24dc;return process[_0x38d16c(0x1e1)]['LOVRABET_APP_CODE'];}export function getEnvironment(){const _0x307189=a6_0x24dc;return process[_0x307189(0x1e1)][_0x307189(0x1f3)]||'online';}export function getEnvApiBaseUrl(){return process['env']['LOVRABET_API_BASEURL'];}function a6_0x24dc(_0x2afe1b,_0x17ef7e){_0x2afe1b=_0x2afe1b-0x1e1;const _0x31be95=a6_0x31be();let _0x24dcc5=_0x31be95[_0x2afe1b];return _0x24dcc5;}export function getEnvRuntimeBaseUrl(){const _0x5ef77b=a6_0x24dc;return process['env'][_0x5ef77b(0x1fa)];}export function getEnvUserBaseUrl(){const _0x280eaa=a6_0x24dc;return process[_0x280eaa(0x1e1)][_0x280eaa(0x1e6)];}export function getEnvAuthCookie(){const _0x5e7fd5=a6_0x24dc;return process[_0x5e7fd5(0x1e1)][_0x5e7fd5(0x1e5)]?.[_0x5e7fd5(0x1fc)]();}export function isTestEnv(){const _0x14010c=a6_0x24dc;return process[_0x14010c(0x1e1)]['NODE_ENV']===_0x14010c(0x1f0);}export function isProductionEnv(){const _0x4c10ba=a6_0x24dc;return process[_0x4c10ba(0x1e1)][_0x4c10ba(0x1ee)]===_0x4c10ba(0x1f6);}export function isDevelopmentEnv(){const _0x46da8a=a6_0x24dc;return process[_0x46da8a(0x1e1)]['NODE_ENV']==='development';}export function shouldLog(){const _0x33d59a=a6_0x24dc,_0x578dca=process[_0x33d59a(0x1e1)]['NODE_ENV'];return _0x578dca==='development'||_0x578dca===_0x33d59a(0x1f4);}export const configDir=homedir()+a6_0x543ae7(0x1f1);export const cookieFile=configDir+a6_0x543ae7(0x1fd);mkdirSync(configDir,{'recursive':!![]});export const defaultConfig={'appCode':getEnvAppCode(),'env':getEnvironment()};export function getEnvAppCodeWithFallback(_0x381f1a){return getEnvAppCode()||_0x381f1a;}export function getApiDomain(){const _0x2a625b=a6_0x543ae7,_0x425d09=getEnvironment();return _0x425d09===_0x2a625b(0x1e8)?_0x2a625b(0x1e2):_0x2a625b(0x1fb);}export function getUserDomain(){const _0x90a56f=a6_0x543ae7,_0x53d31e=getEnvironment();return _0x53d31e==='online'?'https://user.lovrabet.com':_0x90a56f(0x1f9);}export function getRuntimeDomain(){const _0x16c041=a6_0x543ae7,_0x172714=getEnvironment();return _0x172714===_0x16c041(0x1e8)?_0x16c041(0x1e7):_0x16c041(0x1ec);}export function getEffectiveApiDomain(){return getEnvApiBaseUrl()||getApiDomain();}export function getEffectiveRuntimeDomain(){return getEnvRuntimeBaseUrl()||getRuntimeDomain();}export function getEffectiveUserDomain(){return getEnvUserBaseUrl()||getUserDomain();}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- function a7_0x1e02(_0x3135a2,_0x138ef1){_0x3135a2=_0x3135a2-0x1a6;const _0x147d8d=a7_0x147d();let _0x1e0250=_0x147d8d[_0x3135a2];return _0x1e0250;}const a7_0x1fc9f0=a7_0x1e02;(function(_0x39c2ac,_0xe56d3b){const _0x2ac79d=a7_0x1e02,_0x368c4e=_0x39c2ac();while(!![]){try{const _0x2f2d21=parseInt(_0x2ac79d(0x1aa))/0x1*(parseInt(_0x2ac79d(0x1b0))/0x2)+parseInt(_0x2ac79d(0x1bb))/0x3*(-parseInt(_0x2ac79d(0x1ad))/0x4)+-parseInt(_0x2ac79d(0x1b8))/0x5+-parseInt(_0x2ac79d(0x1a8))/0x6*(-parseInt(_0x2ac79d(0x1b5))/0x7)+parseInt(_0x2ac79d(0x1b2))/0x8+-parseInt(_0x2ac79d(0x1af))/0x9+-parseInt(_0x2ac79d(0x1ab))/0xa*(-parseInt(_0x2ac79d(0x1b6))/0xb);if(_0x2f2d21===_0xe56d3b)break;else _0x368c4e['push'](_0x368c4e['shift']());}catch(_0x4ce33d){_0x368c4e['push'](_0x368c4e['shift']());}}}(a7_0x147d,0xaeeff));function a7_0x147d(){const _0x3cc3c2=['connect','6694275lcJAYC','error','Shutting\x20down\x20Lovrabet\x20Dataset\x20MCP\x20Server...','2856507UOTerI','SIGINT','SIGTERM','exit','4385406EqQzrO','catch','4156nPScQe','10vDnTcY','Unhandled\x20error:','4QzIirl','log','6823971NHhMmd','50RgXOzn','Failed\x20to\x20start\x20Lovrabet\x20Dataset\x20MCP\x20Server:','1746240sInTRz','env','MCP_DEBUG','7eGfJqi','29839755galwIM'];a7_0x147d=function(){return _0x3cc3c2;};return a7_0x147d();}import{StdioServerTransport}from'@modelcontextprotocol/sdk/server/stdio.js';import{createServer}from'./server.js';async function main(){const _0x32c6ef=a7_0x1e02;try{const _0x1ebc16=createServer(),_0x22bf9e=new StdioServerTransport();_0x1ebc16['logInfo'](),await _0x1ebc16[_0x32c6ef(0x1b7)](_0x22bf9e),process['on'](_0x32c6ef(0x1bc),async()=>{const _0x53e005=_0x32c6ef;process[_0x53e005(0x1b3)][_0x53e005(0x1b4)]&&console['log'](_0x53e005(0x1ba)),process[_0x53e005(0x1a7)](0x0);}),process['on'](_0x32c6ef(0x1a6),async()=>{const _0x4459c6=_0x32c6ef;process[_0x4459c6(0x1b3)][_0x4459c6(0x1b4)]&&console[_0x4459c6(0x1ae)]('Shutting\x20down\x20Lovrabet\x20Dataset\x20MCP\x20Server...'),process['exit'](0x0);});}catch(_0x511c05){console[_0x32c6ef(0x1b9)](_0x32c6ef(0x1b1),_0x511c05),process[_0x32c6ef(0x1a7)](0x1);}}main()[a7_0x1fc9f0(0x1a9)](_0x49a3f7=>{const _0x26d06c=a7_0x1fc9f0;console[_0x26d06c(0x1b9)](_0x26d06c(0x1ac),_0x49a3f7),process[_0x26d06c(0x1a7)](0x1);});
2
+ function a7_0xa9c8(_0x30c3db,_0x16835b){_0x30c3db=_0x30c3db-0x1be;const _0x23e5e3=a7_0x23e5();let _0xa9c868=_0x23e5e3[_0x30c3db];return _0xa9c868;}(function(_0x417a60,_0x1353a9){const _0x3d265d=a7_0xa9c8,_0x4f3d6b=_0x417a60();while(!![]){try{const _0x84ba29=parseInt(_0x3d265d(0x1c0))/0x1+-parseInt(_0x3d265d(0x1d2))/0x2+-parseInt(_0x3d265d(0x1c3))/0x3*(-parseInt(_0x3d265d(0x1d1))/0x4)+parseInt(_0x3d265d(0x1c7))/0x5*(parseInt(_0x3d265d(0x1be))/0x6)+-parseInt(_0x3d265d(0x1ca))/0x7*(-parseInt(_0x3d265d(0x1c8))/0x8)+-parseInt(_0x3d265d(0x1bf))/0x9*(-parseInt(_0x3d265d(0x1c6))/0xa)+-parseInt(_0x3d265d(0x1c1))/0xb;if(_0x84ba29===_0x1353a9)break;else _0x4f3d6b['push'](_0x4f3d6b['shift']());}catch(_0x55b075){_0x4f3d6b['push'](_0x4f3d6b['shift']());}}}(a7_0x23e5,0x848c4));function a7_0x23e5(){const _0x1abca4=['MCP_DEBUG','721yiJToG','Shutting\x20down\x20Lovrabet\x20Dataset\x20MCP\x20Server...','Unhandled\x20error:','SIGINT','Failed\x20to\x20start\x20Lovrabet\x20Dataset\x20MCP\x20Server:','SIGTERM','env','28XQsAfh','454426amYMSO','151266SeyAjp','36YqAlWJ','47795rlPlMf','12002958vCtvbe','connect','337623nUnGiZ','exit','error','1686100XSfKSU','10peNILS','23368LOfurO'];a7_0x23e5=function(){return _0x1abca4;};return a7_0x23e5();}import{StdioServerTransport}from'@modelcontextprotocol/sdk/server/stdio.js';import{createServer}from'./server.js';async function main(){const _0x5b5f25=a7_0xa9c8;try{const _0x2c3d8d=createServer(),_0xfe4fb7=new StdioServerTransport();_0x2c3d8d['logInfo'](),await _0x2c3d8d[_0x5b5f25(0x1c2)](_0xfe4fb7),process['on'](_0x5b5f25(0x1cd),async()=>{const _0x1f5c38=_0x5b5f25;process[_0x1f5c38(0x1d0)]['MCP_DEBUG']&&console['log'](_0x1f5c38(0x1cb)),process[_0x1f5c38(0x1c4)](0x0);}),process['on'](_0x5b5f25(0x1cf),async()=>{const _0x3bce9e=_0x5b5f25;process[_0x3bce9e(0x1d0)][_0x3bce9e(0x1c9)]&&console['log']('Shutting\x20down\x20Lovrabet\x20Dataset\x20MCP\x20Server...'),process[_0x3bce9e(0x1c4)](0x0);});}catch(_0x16b542){console['error'](_0x5b5f25(0x1ce),_0x16b542),process[_0x5b5f25(0x1c4)](0x1);}}main()['catch'](_0xb7454=>{const _0x22e5dd=a7_0xa9c8;console[_0x22e5dd(0x1c5)](_0x22e5dd(0x1cc),_0xb7454),process['exit'](0x1);});