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

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_0x1ee0b4=a0_0x5a7b;(function(_0xf2ceca,_0x4897f9){const _0x1ac549=a0_0x5a7b,_0x262634=_0xf2ceca();while(!![]){try{const _0x200ac3=-parseInt(_0x1ac549(0x13e))/0x1+-parseInt(_0x1ac549(0x12c))/0x2+parseInt(_0x1ac549(0x160))/0x3*(parseInt(_0x1ac549(0x101))/0x4)+-parseInt(_0x1ac549(0x11d))/0x5*(-parseInt(_0x1ac549(0x10c))/0x6)+parseInt(_0x1ac549(0x142))/0x7*(-parseInt(_0x1ac549(0xff))/0x8)+parseInt(_0x1ac549(0x152))/0x9*(-parseInt(_0x1ac549(0x135))/0xa)+parseInt(_0x1ac549(0xef))/0xb;if(_0x200ac3===_0x4897f9)break;else _0x262634['push'](_0x262634['shift']());}catch(_0x51ed16){_0x262634['push'](_0x262634['shift']());}}}(a0_0x4dbf,0x1fc10));import{DatasetList,DrivenDataDetailPlus,formatDbType}from'@lovrabet/dsparser';function a0_0x5a7b(_0x5a5141,_0x2c443e){_0x5a5141=_0x5a5141-0xea;const _0x4dbffd=a0_0x4dbf();let _0x5a7b80=_0x4dbffd[_0x5a5141];return _0x5a7b80;}function a0_0x4dbf(){const _0x435dcf=['requestFields','values',')\x0a\x0a','analyzeDatasetDetail','analyzeDatasetList','340350npUkrt','**Table\x20Name:**\x20','dbName','\x20|\x20','getTableKey','toDataset','\x0a```\x0a','enumValues','online','120407THSBWa','find','database','datasetName','2548aneiQR','removed','##\x20SDK\x20Usage\x0a\x0a','**Table\x20Key:**\x20','enumOptions','selectItemsSource','\x20total)','\x0a**Response\x20Example:**\x0a```json\x0a','\x0a**Request\x20Example:**\x0a```json\x0a','getEnumMeta','source','generateSDKInitCode','dbId','stringify','displayName','\x20|\x0a','18xAsPWd','isPrimaryKey','filter','length','parseDatasetRelations','isEnum','-\x20**Method:**\x20','generateFullSDKExample','responseExample','getOperationDetail','number','##\x20Fields\x0a\x0a','toField','toArray','132135DDjlwQ','tableName','```\x0a','datasetCode','condition','getDatabaseVersion','path','description','enumSource','tableData','toLowerCase','1709807weWQHz','supportsCRUD','generateAliasExplanation','-\x20**Request\x20Fields:**\x20','add','dbType','getAppCode','fromField','getFieldList','generateMarkdownDoc','toDatasetName','includes','toUpperCase','outgoingRelations','requestExample','type','1584vgLORE','getEnabledOperationAnalyses','20ljpaVo','has','relations','fields','data','generateApiDoc','getDatabaseType','\x20operation\x20for\x20','createTime','enabled','extend','6GJXPuF','operations','string','some','slice','fullUrl','forEach','autoIncrement','sdkCall','Operations:\x20+','push','getOperationAnalysis','all','###\x20','name','dbTypeLen','getTenantCode','392645sUCzkx','toPascalCase','```typescript\x0a','joinType','added','from','code','getOperationDocMeta','replace','datasets','dbtableConfig','getTableName','analyzeDatasetItem','method','raw','127156vjRsnx','options','join','map'];a0_0x4dbf=function(){return _0x435dcf;};return a0_0x4dbf();}export class DatasetAnalyzer{[a0_0x1ee0b4(0x134)](_0x2fb0b9){const _0x46f01c=a0_0x1ee0b4;let _0x28839a=_0x2fb0b9[_0x46f01c(0x105)];_0x28839a&&!Array['isArray'](_0x28839a)&&(_0x28839a=_0x28839a[_0x46f01c(0xed)]||_0x2fb0b9['tableData']);!_0x28839a&&(_0x28839a=_0x2fb0b9);const _0x128023=new DatasetList(_0x28839a);return{'total':_0x128023['getCount'](),'datasets':_0x128023[_0x46f01c(0x15f)]()[_0x46f01c(0x12f)](_0x2b520f=>this[_0x46f01c(0x129)](_0x2b520f))};}['analyzeDatasetItem'](_0x537901){const _0x57d3e4=a0_0x1ee0b4,_0x3ca9e1=_0x537901[_0x57d3e4(0x127)]||_0x537901[_0x57d3e4(0x12b)]?.[_0x57d3e4(0x127)];return{'id':_0x537901['id']||0x0,'name':_0x537901['name']||'','code':_0x537901[_0x57d3e4(0x163)]||'','tableName':_0x537901['getTableName']?.()||_0x537901['tableName']||'','source':_0x537901[_0x57d3e4(0x14c)]||'','description':_0x537901[_0x57d3e4(0xeb)]||'','isVirtual':_0x537901['isVirtualTable']?.()||![],'dbId':_0x3ca9e1?.['dbId'],'dbName':_0x3ca9e1?.[_0x57d3e4(0x137)]};}[a0_0x1ee0b4(0x133)](_0x47906b){const _0x230122=a0_0x1ee0b4,_0x20d6b3=_0x47906b[_0x230122(0x105)]||_0x47906b,_0x510441=new DrivenDataDetailPlus(_0x20d6b3),_0x27e88e={'name':_0x510441['name'],'code':_0x510441[_0x230122(0x163)],'tableName':_0x510441[_0x230122(0x128)](),'tableKey':_0x510441['getTableKey'](),'datasetSDKKey':_0x510441['getDatasetSDKKey'](),'modelAlias':_0x510441['getModelAlias']()},_0x2af49c=_0x510441[_0x230122(0x127)];_0x2af49c&&(_0x27e88e[_0x230122(0x140)]={'dbName':_0x2af49c[_0x230122(0x137)]??undefined,'dbId':_0x2af49c[_0x230122(0x14e)]??undefined,'dbType':_0x2af49c[_0x230122(0x107)](),'dbVersion':_0x2af49c[_0x230122(0x165)](),'tenantCode':_0x2af49c[_0x230122(0x11c)](),'appCode':_0x2af49c[_0x230122(0xf5)]()});const _0x5c51b0=_0x510441[_0x230122(0xf7)](),_0x3b730d=_0x5c51b0[_0x230122(0x118)]()[_0x230122(0x12f)](_0x24b609=>{const _0x19897a=_0x230122,_0x48fb3f=_0x24b609[_0x19897a(0x10b)],_0x4f814b=_0x24b609[_0x19897a(0x12b)],_0x410c7e={'name':_0x24b609[_0x19897a(0x11a)],'type':_0x24b609[_0x19897a(0xfe)],'required':_0x24b609['isRequired'](),'primaryKey':_0x24b609[_0x19897a(0x153)](),'description':_0x24b609['description']||'','autoIncrement':Boolean(_0x48fb3f[_0x19897a(0x113)]),'createTime':Boolean(_0x48fb3f[_0x19897a(0x109)]),'updateTime':Boolean(_0x48fb3f['updateTime']),'dbType':typeof _0x4f814b[_0x19897a(0xf4)]===_0x19897a(0x10e)?_0x4f814b[_0x19897a(0xf4)]:undefined,'dbTypeLen':typeof _0x4f814b[_0x19897a(0x11b)]===_0x19897a(0x15c)?_0x4f814b[_0x19897a(0x11b)]:undefined};if(_0x24b609[_0x19897a(0x157)]()){const _0x24de2a=_0x24b609['getEnumMeta']();if(_0x24de2a){_0x410c7e['isEnum']=!![],_0x410c7e[_0x19897a(0x13c)]=_0x24de2a[_0x19897a(0x131)];if(_0x24de2a[_0x19897a(0x12d)]&&_0x24de2a['options']['length']>0x0)_0x410c7e[_0x19897a(0x146)]=_0x24de2a[_0x19897a(0x12d)];else _0x24de2a[_0x19897a(0x147)]&&(_0x410c7e[_0x19897a(0xec)]=_0x24de2a[_0x19897a(0x147)]);}}return _0x410c7e;}),_0x505ec4=_0x510441['getEnabledOperationAnalyses']()[_0x230122(0x12f)](_0x52cba7=>{const _0x12081a=_0x230122,_0x4747ac={'name':_0x52cba7['name'],'displayName':_0x52cba7['displayName'],'type':_0x52cba7['type'],'method':_0x52cba7[_0x12081a(0x12a)],'path':_0x52cba7[_0x12081a(0xea)],'requestFields':_0x52cba7[_0x12081a(0x130)],'requestFieldsCount':_0x52cba7['requestFields'][_0x12081a(0x155)],'requestExample':_0x52cba7[_0x12081a(0xfd)],'responseExample':_0x52cba7[_0x12081a(0x15a)],'enabled':_0x52cba7[_0x12081a(0x10a)],'fullUrl':_0x52cba7[_0x12081a(0x111)]};return _0x4747ac;});return{'basic':_0x27e88e,'fields':_0x3b730d,'operations':_0x505ec4,'supportsCRUD':_0x510441[_0x230122(0xf0)](),'fieldCount':_0x510441['getFieldCount'](),'operationCount':_0x510441['getOperationCount'](),'enabledOperationCount':_0x505ec4['length']};}[a0_0x1ee0b4(0x15b)](_0x358d56,_0x265a4b){const _0x13f263=a0_0x1ee0b4,_0x1216ce=_0x358d56[_0x13f263(0x105)]||_0x358d56,_0x11922c=new DrivenDataDetailPlus(_0x1216ce),_0x403e56=_0x11922c[_0x13f263(0x117)](_0x265a4b);if(!_0x403e56)return null;return{'name':_0x403e56[_0x13f263(0x11a)],'displayName':_0x403e56['displayName'],'type':_0x403e56[_0x13f263(0xfe)],'method':_0x403e56['method'],'path':_0x403e56[_0x13f263(0xea)],'requestFields':_0x403e56[_0x13f263(0x130)],'requestFieldsCount':_0x403e56[_0x13f263(0x130)]['length'],'requestExample':_0x403e56[_0x13f263(0xfd)],'responseExample':_0x403e56[_0x13f263(0x15a)],'enabled':_0x403e56[_0x13f263(0x10a)],'fullUrl':_0x403e56['fullUrl']};}['generateSDKCode'](_0x350f3e,_0x33be75,_0x5d0792,_0x527d50=a0_0x1ee0b4(0x13d)){const _0x3ab63b=a0_0x1ee0b4,_0x1722a9=_0x350f3e[_0x3ab63b(0x105)]||_0x350f3e,_0x4d89c8=new DrivenDataDetailPlus(_0x1722a9),_0x7c4c3e=_0x4d89c8[_0x3ab63b(0x124)](_0x33be75);if(!_0x7c4c3e)return null;const _0x173462=_0x4d89c8[_0x3ab63b(0x139)](),_0x5ea190=_0x4d89c8['getTableName'](),_0x2c2ed7=this[_0x3ab63b(0x11e)](_0x5ea190),_0x263a9f=_0x4d89c8[_0x3ab63b(0x117)](_0x33be75),_0x3726fb=_0x4d89c8[_0x3ab63b(0x159)](_0x33be75,_0x5d0792);return{'code':_0x7c4c3e[_0x3ab63b(0x114)][_0x3ab63b(0x123)],'sdkCallInfo':{'modelName':_0x2c2ed7,'tableName':_0x5ea190,'tableKey':_0x173462,'datasetCode':_0x4d89c8[_0x3ab63b(0x163)],'operationName':_0x33be75},'requestExample':_0x263a9f?.[_0x3ab63b(0xfd)],'responseExample':_0x263a9f?.['responseExample'],'sdkInitCode':_0x4d89c8[_0x3ab63b(0x14d)](_0x173462),'usageExample':_0x7c4c3e['usageExample'],'fullExample':_0x3726fb||undefined,'aliasExplanation':_0x4d89c8[_0x3ab63b(0xf1)]()};}[a0_0x1ee0b4(0x106)](_0x3bf7b9){const _0x28d2a1=a0_0x1ee0b4,_0x286a09=_0x3bf7b9[_0x28d2a1(0x105)]||_0x3bf7b9,_0x450cc8=new DrivenDataDetailPlus(_0x286a09),_0x23bd25=_0x450cc8[_0x28d2a1(0x100)]()[_0x28d2a1(0x12f)](_0x1f7005=>({'name':_0x1f7005[_0x28d2a1(0x11a)],'displayName':_0x1f7005[_0x28d2a1(0x150)],'description':_0x1f7005[_0x28d2a1(0x150)]+_0x28d2a1(0x108)+_0x450cc8['name'],'method':_0x1f7005[_0x28d2a1(0x12a)],'path':_0x1f7005[_0x28d2a1(0xea)],'requestParams':_0x1f7005['requestFields'],'requestExample':JSON['stringify'](_0x1f7005[_0x28d2a1(0xfd)],null,0x2),'responseExample':JSON[_0x28d2a1(0x14f)](_0x1f7005[_0x28d2a1(0x15a)],null,0x2)}));return{'datasetName':_0x450cc8[_0x28d2a1(0x11a)],'tableName':_0x450cc8[_0x28d2a1(0x128)](),'operations':_0x23bd25};}['searchDatasets'](_0x462fc0,_0x5c8930){const _0x18a9dd=a0_0x1ee0b4,_0x36999a=new DatasetList(_0x462fc0),_0x2693d4=_0x5c8930[_0x18a9dd(0xee)]();return _0x36999a['toArray']()['filter'](_0x20c703=>{const _0x103275=_0x18a9dd,_0x28d2f6=(_0x20c703[_0x103275(0x11a)]||'')[_0x103275(0xee)]()[_0x103275(0xfa)](_0x2693d4),_0x1def39=(_0x20c703[_0x103275(0x128)]?.()||_0x20c703[_0x103275(0x161)]||'')[_0x103275(0xee)]()[_0x103275(0xfa)](_0x2693d4),_0x1f2060=(_0x20c703[_0x103275(0x163)]||'')[_0x103275(0xee)]()[_0x103275(0xfa)](_0x2693d4),_0x26c4b7=(_0x20c703[_0x103275(0xeb)]||'')['toLowerCase']()['includes'](_0x2693d4);return _0x28d2f6||_0x1def39||_0x1f2060||_0x26c4b7;})[_0x18a9dd(0x12f)](_0x35a85a=>this['analyzeDatasetItem'](_0x35a85a));}[a0_0x1ee0b4(0xf8)](_0x4daa7b){const _0x2dca72=a0_0x1ee0b4,_0x45abb0=_0x4daa7b[_0x2dca72(0x105)]||_0x4daa7b,_0x280fbe=new DrivenDataDetailPlus(_0x45abb0);let _0x4178df='#\x20'+_0x280fbe[_0x2dca72(0x11a)]+'\x0a\x0a';_0x4178df+='**Dataset\x20Code:**\x20'+_0x280fbe[_0x2dca72(0x163)]+'\x0a',_0x4178df+=_0x2dca72(0x136)+_0x280fbe[_0x2dca72(0x128)]()+'\x0a',_0x4178df+=_0x2dca72(0x145)+_0x280fbe[_0x2dca72(0x139)]()+'\x0a\x0a',_0x4178df+=_0x2dca72(0x15d);const _0x3a4b01=_0x280fbe['getFieldList']();_0x3a4b01['length']>0x0&&(_0x4178df+='|\x20Field\x20Name\x20|\x20Code\x20|\x20DB\x20Type\x20|\x20UI\x20Type\x20|\x20Required\x20|\x20Primary\x20Key\x20|\x20Enum\x20Values\x20|\x20Description\x20|\x0a',_0x4178df+='|------------|------|---------|---------|----------|-------------|-------------|-------------|\x0a',_0x3a4b01[_0x2dca72(0x118)]()[_0x2dca72(0x112)](_0x1d5bed=>{const _0x39deab=_0x2dca72,_0x224f2a=_0x1d5bed[_0x39deab(0x12b)],_0x5e9b47=formatDbType(typeof _0x224f2a[_0x39deab(0xf4)]===_0x39deab(0x10e)?_0x224f2a['dbType']:undefined,typeof _0x224f2a[_0x39deab(0x11b)]==='number'?_0x224f2a[_0x39deab(0x11b)]:undefined);let _0x4fae8c='';if(_0x1d5bed[_0x39deab(0x157)]()){const _0x5c272d=_0x1d5bed[_0x39deab(0x14b)]();if(_0x5c272d&&_0x5c272d[_0x39deab(0x131)]['length']>0x0){const _0x169f4a=_0x5c272d[_0x39deab(0x131)][_0x39deab(0x110)](0x0,0x5);_0x4fae8c=_0x169f4a[_0x39deab(0x12e)](',\x20'),_0x5c272d[_0x39deab(0x131)]['length']>0x5&&(_0x4fae8c+='\x20...\x20('+_0x5c272d[_0x39deab(0x131)]['length']+_0x39deab(0x148));}}_0x4178df+='|\x20'+_0x1d5bed[_0x39deab(0x11a)]+_0x39deab(0x138)+_0x1d5bed[_0x39deab(0x123)]+_0x39deab(0x138)+_0x5e9b47+'\x20|\x20'+_0x1d5bed['type']+_0x39deab(0x138)+(_0x1d5bed['isRequired']()?'✅':'')+_0x39deab(0x138)+(_0x1d5bed['isPrimaryKey']()?'🔑':'')+_0x39deab(0x138)+_0x4fae8c+_0x39deab(0x138)+(_0x1d5bed['description']||'')+_0x39deab(0x151);}),_0x4178df+='\x0a');_0x4178df+='##\x20Operations\x0a\x0a';const _0x1c0796=_0x280fbe[_0x2dca72(0x100)]();_0x1c0796[_0x2dca72(0x112)](_0x54db8c=>{const _0x16e6c7=_0x2dca72;_0x4178df+=_0x16e6c7(0x119)+_0x54db8c[_0x16e6c7(0x150)]+'\x20('+_0x54db8c[_0x16e6c7(0x11a)]+_0x16e6c7(0x132),_0x4178df+=_0x16e6c7(0x158)+_0x54db8c[_0x16e6c7(0x12a)]+'\x0a',_0x4178df+='-\x20**Path:**\x20'+_0x54db8c['path']+'\x0a',_0x54db8c[_0x16e6c7(0x111)]&&(_0x4178df+='-\x20**Full\x20URL:**\x20'+_0x54db8c['fullUrl']+'\x0a'),_0x54db8c[_0x16e6c7(0x130)]&&_0x54db8c['requestFields'][_0x16e6c7(0x155)]>0x0&&(_0x4178df+=_0x16e6c7(0xf2)+_0x54db8c[_0x16e6c7(0x130)]['join'](',\x20')+'\x0a'),_0x54db8c['requestExample']&&(_0x4178df+=_0x16e6c7(0x14a)+JSON['stringify'](_0x54db8c[_0x16e6c7(0xfd)],null,0x2)+_0x16e6c7(0x13b)),_0x54db8c[_0x16e6c7(0x15a)]&&(_0x4178df+=_0x16e6c7(0x149)+JSON['stringify'](_0x54db8c[_0x16e6c7(0x15a)],null,0x2)+_0x16e6c7(0x13b)),_0x4178df+='\x0a';});const _0xfe1f03=_0x280fbe['getTableKey'](),_0x3972cf=_0x280fbe[_0x2dca72(0x14d)](_0xfe1f03);return _0x3972cf&&(_0x4178df+=_0x2dca72(0x144),_0x4178df+=_0x2dca72(0x11f),_0x4178df+=_0x3972cf,_0x4178df+=_0x2dca72(0x162)),_0x4178df;}['compareDatasets'](_0x59d66c,_0x1a6ae6){const _0x222760=a0_0x1ee0b4,_0x58b0e0=_0x59d66c[_0x222760(0x105)]||_0x59d66c,_0x30c9a1=_0x1a6ae6['data']||_0x1a6ae6,_0x46c45e=new DrivenDataDetailPlus(_0x58b0e0),_0x1a0a10=new DrivenDataDetailPlus(_0x30c9a1),_0x2215b6=new Set(_0x46c45e[_0x222760(0xf7)]()[_0x222760(0x118)]()[_0x222760(0x12f)](_0x481f9a=>_0x481f9a['name'])),_0x320044=new Set(_0x1a0a10[_0x222760(0xf7)]()[_0x222760(0x118)]()['map'](_0x41d1d4=>_0x41d1d4['name'])),_0x16cb08=new Set(_0x46c45e['getEnabledOperationAnalyses']()[_0x222760(0x12f)](_0x2df546=>_0x2df546[_0x222760(0x11a)])),_0x26e9f9=new Set(_0x1a0a10[_0x222760(0x100)]()[_0x222760(0x12f)](_0x214b59=>_0x214b59['name'])),_0x3ee642={'fields':{'added':Array['from'](_0x320044)[_0x222760(0x154)](_0x3f70d7=>!_0x2215b6['has'](_0x3f70d7)),'removed':Array[_0x222760(0x122)](_0x2215b6)[_0x222760(0x154)](_0x34f2a7=>!_0x320044['has'](_0x34f2a7)),'modified':[]},'operations':{'added':Array[_0x222760(0x122)](_0x26e9f9)[_0x222760(0x154)](_0x1c0e76=>!_0x16cb08[_0x222760(0x102)](_0x1c0e76)),'removed':Array[_0x222760(0x122)](_0x16cb08)[_0x222760(0x154)](_0x3f9339=>!_0x26e9f9[_0x222760(0x102)](_0x3f9339))}},_0x2156ac='Fields:\x20+'+_0x3ee642[_0x222760(0x104)][_0x222760(0x121)][_0x222760(0x155)]+'/-'+_0x3ee642[_0x222760(0x104)][_0x222760(0x143)][_0x222760(0x155)]+',\x20'+(_0x222760(0x115)+_0x3ee642[_0x222760(0x10d)][_0x222760(0x121)][_0x222760(0x155)]+'/-'+_0x3ee642[_0x222760(0x10d)][_0x222760(0x143)]['length']);return{'differences':_0x3ee642,'summary':_0x2156ac};}['toPascalCase'](_0x37bc97){const _0x350524=a0_0x1ee0b4;return _0x37bc97[_0x350524(0x125)](/[-_\s]+(.)?/g,(_0x38a914,_0x3a17c1)=>_0x3a17c1?_0x3a17c1[_0x350524(0xfb)]():'')['replace'](/^(.)/,(_0x367b7e,_0x2059ec)=>_0x2059ec['toUpperCase']());}[a0_0x1ee0b4(0x156)](_0x5c7d5e,_0x2bf113){const _0x56dfc5=a0_0x1ee0b4;let _0x421101=null;for(const [,_0x212932]of _0x2bf113){const _0x4d0006=_0x212932['datasets'][_0x56dfc5(0x13f)](_0x35075b=>_0x35075b[_0x56dfc5(0x163)]===_0x5c7d5e);if(_0x4d0006){_0x421101={'datasetCode':_0x4d0006[_0x56dfc5(0x163)],'datasetName':_0x4d0006[_0x56dfc5(0x141)],'tableName':_0x4d0006[_0x56dfc5(0x161)]};break;}}if(!_0x421101)return null;const _0x2fddae=[],_0x3efd56=[];for(const [,_0x5e5b4a]of _0x2bf113){for(const _0x1a247c of _0x5e5b4a[_0x56dfc5(0x126)]){if(_0x1a247c[_0x56dfc5(0x163)]===_0x5c7d5e)for(const _0x26f6a3 of _0x1a247c[_0x56dfc5(0x103)]){const _0x1f7d68=this['findDatasetInErConfigs'](_0x26f6a3[_0x56dfc5(0x13a)],_0x2bf113);_0x2fddae[_0x56dfc5(0x116)]({'fromField':_0x26f6a3[_0x56dfc5(0xf6)],'toDataset':_0x26f6a3[_0x56dfc5(0x13a)],'toDatasetName':_0x26f6a3[_0x56dfc5(0xf9)],'toField':_0x26f6a3[_0x56dfc5(0x15e)],'joinType':_0x26f6a3['joinType'],'condition':_0x26f6a3['condition'],'toTableName':_0x1f7d68?.['tableName']});}if(_0x1a247c['datasetCode']!==_0x5c7d5e)for(const _0x2bec64 of _0x1a247c[_0x56dfc5(0x103)]){_0x2bec64['toDataset']===_0x5c7d5e&&_0x3efd56['push']({'fromField':_0x2bec64[_0x56dfc5(0xf6)],'fromDataset':_0x1a247c[_0x56dfc5(0x163)],'fromDatasetName':_0x1a247c[_0x56dfc5(0x141)],'fromTableName':_0x1a247c[_0x56dfc5(0x161)],'toDataset':_0x2bec64[_0x56dfc5(0x13a)],'toDatasetName':_0x2bec64['toDatasetName'],'toField':_0x2bec64['toField'],'joinType':_0x2bec64[_0x56dfc5(0x120)],'condition':_0x2bec64[_0x56dfc5(0x164)],'toTableName':_0x421101['tableName']});}}}return{'datasetCode':_0x421101[_0x56dfc5(0x163)],'datasetName':_0x421101[_0x56dfc5(0x141)],'tableName':_0x421101[_0x56dfc5(0x161)],'outgoingRelations':_0x2fddae,'incomingRelations':_0x3efd56,'allRelations':[..._0x2fddae,..._0x3efd56]};}['findDatasetInErConfigs'](_0x5b0050,_0x349b2a){const _0x383dcc=a0_0x1ee0b4;for(const [,_0x249ad4]of _0x349b2a){const _0x1d1693=_0x249ad4['datasets'][_0x383dcc(0x13f)](_0x62bb7a=>_0x62bb7a[_0x383dcc(0x163)]===_0x5b0050);if(_0x1d1693)return{'datasetCode':_0x1d1693[_0x383dcc(0x163)],'datasetName':_0x1d1693[_0x383dcc(0x141)],'tableName':_0x1d1693[_0x383dcc(0x161)]};}return null;}['buildRelationsMap'](_0x1fc92c){const _0x392423=a0_0x1ee0b4,_0x3ebc70=new Map();for(const [,_0xb33e17]of _0x1fc92c){for(const _0x2abe40 of _0xb33e17[_0x392423(0x126)]){const _0x5c08bc=this[_0x392423(0x156)](_0x2abe40[_0x392423(0x163)],_0x1fc92c);_0x5c08bc&&_0x3ebc70['set'](_0x2abe40['datasetCode'],_0x5c08bc);}}return _0x3ebc70;}['getRelatedDatasets'](_0x4bfdb3,_0x1ba71c){const _0x32e2d1=a0_0x1ee0b4,_0x576d5f=this[_0x32e2d1(0x156)](_0x4bfdb3,_0x1ba71c);if(!_0x576d5f)return[];const _0x4456ef=new Set();for(const _0x23b435 of _0x576d5f[_0x32e2d1(0xfc)]){_0x4456ef['add'](_0x23b435[_0x32e2d1(0x13a)]);}for(const _0x9f61cb of _0x576d5f['incomingRelations']){for(const [,_0x3dfe46]of _0x1ba71c){const _0x58bd1c=_0x3dfe46[_0x32e2d1(0x126)][_0x32e2d1(0x13f)](_0xb5b6eb=>_0xb5b6eb[_0x32e2d1(0x103)][_0x32e2d1(0x10f)](_0x1fa675=>_0x1fa675[_0x32e2d1(0x13a)]===_0x4bfdb3&&_0x1fa675['fromField']===_0x9f61cb[_0x32e2d1(0xf6)]));if(_0x58bd1c){_0x4456ef[_0x32e2d1(0xf3)](_0x58bd1c[_0x32e2d1(0x163)]);break;}}}return Array[_0x32e2d1(0x122)](_0x4456ef);}}
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
+ function a1_0x4284(_0x33cd64,_0x51a5ff){_0x33cd64=_0x33cd64-0xcf;const _0x3cc986=a1_0x3cc9();let _0x4284f3=_0x3cc986[_0x33cd64];return _0x4284f3;}function a1_0x3cc9(){const _0x5d29cf=['480488URlqdl','floor','121542jmwUJF','now','getStats','keys','1415729GQHZVV','timestamp','36UfHwit','clear','15072104XtOryw','data','2747176hTejEE','1LSyqdr','delete','8048763lKjnCf','defaultTTL','cache','get','5536435RuCvkp'];a1_0x3cc9=function(){return _0x5d29cf;};return a1_0x3cc9();}const a1_0x87d7a9=a1_0x4284;(function(_0x92b471,_0x2acb04){const _0x3cfb09=a1_0x4284,_0xc56e92=_0x92b471();while(!![]){try{const _0xb135c9=-parseInt(_0x3cfb09(0xd4))/0x1*(-parseInt(_0x3cfb09(0xd3))/0x2)+-parseInt(_0x3cfb09(0xcf))/0x3*(-parseInt(_0x3cfb09(0xdb))/0x4)+parseInt(_0x3cfb09(0xda))/0x5+parseInt(_0x3cfb09(0xdd))/0x6+-parseInt(_0x3cfb09(0xe1))/0x7+-parseInt(_0x3cfb09(0xd1))/0x8+-parseInt(_0x3cfb09(0xd6))/0x9;if(_0xb135c9===_0x2acb04)break;else _0xc56e92['push'](_0xc56e92['shift']());}catch(_0x574bb3){_0xc56e92['push'](_0xc56e92['shift']());}}}(a1_0x3cc9,0xeaded));export class SimpleCache{[a1_0x87d7a9(0xd8)]=new Map();[a1_0x87d7a9(0xd7)];constructor(_0xc40c08=0x5){const _0xc23af5=a1_0x87d7a9;this[_0xc23af5(0xd7)]=_0xc40c08*0x3c*0x3e8;}['get'](_0x34d073){const _0x1e78af=a1_0x87d7a9,_0x3dd6d4=this[_0x1e78af(0xd8)][_0x1e78af(0xd9)](_0x34d073);if(!_0x3dd6d4)return null;const _0x461bf1=Date['now'](),_0x24090e=_0x461bf1-_0x3dd6d4[_0x1e78af(0xe2)];if(_0x24090e>this[_0x1e78af(0xd7)])return this[_0x1e78af(0xd8)][_0x1e78af(0xd5)](_0x34d073),null;const _0x3ff107=Math[_0x1e78af(0xdc)](_0x24090e/0x3e8);return _0x3dd6d4[_0x1e78af(0xd2)];}['set'](_0x4d458a,_0x1a3a24){const _0x33d197=a1_0x87d7a9;this[_0x33d197(0xd8)]['set'](_0x4d458a,{'data':_0x1a3a24,'timestamp':Date[_0x33d197(0xde)]()});}[a1_0x87d7a9(0xd0)](_0x3b6fa6){const _0x46ed49=a1_0x87d7a9;_0x3b6fa6?this[_0x46ed49(0xd8)][_0x46ed49(0xd5)](_0x3b6fa6):this[_0x46ed49(0xd8)][_0x46ed49(0xd0)]();}[a1_0x87d7a9(0xdf)](){const _0x546c78=a1_0x87d7a9;return{'size':this[_0x546c78(0xd8)]['size'],'ttlMinutes':this[_0x546c78(0xd7)]/0xea60,'entries':Array['from'](this[_0x546c78(0xd8)][_0x546c78(0xe0)]())};}}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_0x34854a=a2_0x4d4b;function a2_0x257d(){const _0x142f26=['message','filter','apiBaseUrl','relations','length','getAllErConfigs','process','no-relations','set','toLowerCase','tableData','dataset-list:','No\x20authentication\x20cookie\x20found.\x20Please\x20login\x20first.','/smartapi/dataset/get-driven-data?id=','get','fromField','Unknown\x20error','env','toField','object','5236979ezMnYr','warn','postRequest','push','57442JCpmOR','10NMQTWC','apiDomain','params','sort','errorMsg','appCode','NODE_ENV','/smartapi/dataset/get-dataset-list','datasets','getDatasetRelations','/smartapi/custom/updateUserCustomSql','stringify','status','executeSql','joinType','datasetName','1137860PwuXAl','forceRefresh','includes','runtimeDomain','runtimeBaseUrl','find','4504376EXSolC','cookie','json','Authentication\x20failed.\x20Please\x20login\x20again.','meta','sqlContent','test','code','toDatasetName','/smartapi/custom/queryUserCustomSqlList','getCustomSqlList','4aOuoNQ','modelCode','searchDatasets','360RnCgsb','saveUserCustomSql','getDatasetDetail','1036LmsyBa','1030767JBDqaH','text','2sFzxaS','data','API\x20request\x20failed:\x20HTTP\x20','success','sqlCode','sqlName','datasetCode','dbId','\x0aURL:\x20','dataset-detail:','getUniqueDbIds','Failed\x20to\x20get\x20ER\x20config\x20for\x20dbId\x20','getDatasetList','description','API\x20error:\x20','3403593LyJaYj','/smartapi/question/er-config','request','getErConfig','[getDatasetDetail]\x20Failed\x20to\x20fetch\x20relations\x20for\x20','toDataset','add','name'];a2_0x257d=function(){return _0x142f26;};return a2_0x257d();}(function(_0x4aec96,_0x400ae4){const _0x3d57b4=a2_0x4d4b,_0x5d2b0a=_0x4aec96();while(!![]){try{const _0xcc731f=parseInt(_0x3d57b4(0x20e))/0x1*(-parseInt(_0x3d57b4(0x211))/0x2)+-parseInt(_0x3d57b4(0x20f))/0x3*(-parseInt(_0x3d57b4(0x208))/0x4)+-parseInt(_0x3d57b4(0x1f7))/0x5+parseInt(_0x3d57b4(0x20b))/0x6*(parseInt(_0x3d57b4(0x240))/0x7)+parseInt(_0x3d57b4(0x1fd))/0x8+-parseInt(_0x3d57b4(0x220))/0x9+parseInt(_0x3d57b4(0x241))/0xa*(-parseInt(_0x3d57b4(0x23c))/0xb);if(_0xcc731f===_0x400ae4)break;else _0x5d2b0a['push'](_0x5d2b0a['shift']());}catch(_0x3319fb){_0x5d2b0a['push'](_0x5d2b0a['shift']());}}}(a2_0x257d,0x4d2da));import{getCookie}from'../auth/cookie-manager.js';function a2_0x4d4b(_0x3a2da8,_0xe7e605){_0x3a2da8=_0x3a2da8-0x1ef;const _0x257da1=a2_0x257d();let _0x4d4b8a=_0x257da1[_0x3a2da8];return _0x4d4b8a;}import{getEffectiveApiDomain,getEffectiveRuntimeDomain}from'../auth/constants.js';import{apiCache}from'./cache.js';export class DevApiClient{[a2_0x34854a(0x246)];['env'];[a2_0x34854a(0x1fe)];[a2_0x34854a(0x242)];[a2_0x34854a(0x1fa)];constructor(_0x367059){const _0x21e7ed=a2_0x34854a;this[_0x21e7ed(0x246)]=_0x367059[_0x21e7ed(0x246)],this[_0x21e7ed(0x239)]=globalThis[_0x21e7ed(0x22e)]?.[_0x21e7ed(0x239)]?.['LOVRABET_ENV']||'online',this[_0x21e7ed(0x1fe)]=_0x367059[_0x21e7ed(0x1fe)]||getCookie(),this[_0x21e7ed(0x242)]=_0x367059[_0x21e7ed(0x22a)]||getEffectiveApiDomain(),this[_0x21e7ed(0x1fa)]=_0x367059[_0x21e7ed(0x1fb)]||getEffectiveRuntimeDomain();if(!this[_0x21e7ed(0x1fe)])throw new Error(_0x21e7ed(0x234));}async['request'](_0x327f4b){const _0x234531=a2_0x34854a,_0x563407=await fetch(_0x327f4b,{'headers':{'Cookie':this[_0x234531(0x1fe)]}});if(!_0x563407['ok']){if(_0x563407['status']===0x191)throw new Error(_0x234531(0x200));let _0x1d045f='';try{_0x1d045f=await _0x563407[_0x234531(0x210)]();}catch{}throw new Error(_0x234531(0x213)+_0x563407[_0x234531(0x1f3)]+_0x234531(0x219)+_0x327f4b+(_0x1d045f?'\x0a'+_0x1d045f:''));}const _0x4c199b=await _0x563407['json']();if(_0x4c199b&&typeof _0x4c199b===_0x234531(0x23b)&&_0x234531(0x214)in _0x4c199b&&!_0x4c199b['success']){const _0x42316=_0x4c199b;throw new Error(_0x234531(0x21f)+(_0x42316[_0x234531(0x228)]||_0x42316[_0x234531(0x245)]||'Unknown\x20error'));}return _0x4c199b;}async[a2_0x34854a(0x23e)](_0x2ee8f8,_0x30ccd5){const _0x477172=a2_0x34854a,_0x29ea41=await fetch(_0x2ee8f8,{'method':'POST','headers':{'Content-Type':'application/json','Cookie':this[_0x477172(0x1fe)]},'body':JSON[_0x477172(0x1f2)](_0x30ccd5)});if(!_0x29ea41['ok']){if(_0x29ea41[_0x477172(0x1f3)]===0x191)throw new Error(_0x477172(0x200));let _0xfb554d='';try{_0xfb554d=await _0x29ea41['text']();}catch{}throw new Error(_0x477172(0x213)+_0x29ea41[_0x477172(0x1f3)]+'\x0aURL:\x20'+_0x2ee8f8+(_0xfb554d?'\x0a'+_0xfb554d:''));}const _0x5908bf=await _0x29ea41[_0x477172(0x1ff)]();if(_0x5908bf&&typeof _0x5908bf===_0x477172(0x23b)&&_0x477172(0x214)in _0x5908bf&&!_0x5908bf[_0x477172(0x214)]){const _0x44e743=_0x5908bf;throw new Error(_0x477172(0x21f)+(_0x44e743['message']||_0x44e743['errorMsg']||_0x477172(0x238)));}return _0x5908bf;}async[a2_0x34854a(0x21d)](_0x1d632f){const _0x25cfe8=a2_0x34854a,_0xeacc3a=_0x1d632f?.[_0x25cfe8(0x1f8)]||![],_0x406c0a=_0x25cfe8(0x233)+this['appCode']+':'+this[_0x25cfe8(0x239)];if(!_0xeacc3a){const _0x1ea1ac=apiCache[_0x25cfe8(0x236)](_0x406c0a);if(_0x1ea1ac)return _0x1ea1ac;}const _0x345c29=this[_0x25cfe8(0x242)]+_0x25cfe8(0x248),_0x3d4b51=await this[_0x25cfe8(0x23e)](_0x345c29,{'appCode':this[_0x25cfe8(0x246)]});return apiCache['set'](_0x406c0a,_0x3d4b51),_0x3d4b51;}async[a2_0x34854a(0x20d)](_0x1d035b,_0x221e86=![],_0x15753f=![]){const _0xe32fc6=a2_0x34854a,_0x1f322f=_0xe32fc6(0x21a)+this[_0xe32fc6(0x246)]+':'+this['env']+':'+_0x1d035b+':'+(_0x15753f?'with-relations':_0xe32fc6(0x22f));if(!_0x221e86){const _0x2712ec=apiCache['get'](_0x1f322f);if(_0x2712ec)return _0x2712ec;}const _0x1973cc=this['apiDomain']+_0xe32fc6(0x235)+_0x1d035b,_0x4122ef=await this[_0xe32fc6(0x222)](_0x1973cc);if(_0x15753f&&_0x4122ef['data']?.[_0xe32fc6(0x209)])try{const _0x6096b3=await this[_0xe32fc6(0x1f0)](_0x4122ef[_0xe32fc6(0x212)]['modelCode'],_0x221e86);_0x4122ef[_0xe32fc6(0x212)][_0xe32fc6(0x22b)]=_0x6096b3;}catch(_0x157ceb){process['env'][_0xe32fc6(0x247)]!==_0xe32fc6(0x203)&&console['warn'](_0xe32fc6(0x224)+_0x1d035b+':',_0x157ceb);}return apiCache['set'](_0x1f322f,_0x4122ef),_0x4122ef;}async[a2_0x34854a(0x20a)](_0x1475d7){const _0x5524ba=a2_0x34854a,_0x515248=await this[_0x5524ba(0x21d)](),_0x5ac837=Array['isArray'](_0x515248[_0x5524ba(0x212)])?_0x515248[_0x5524ba(0x212)]:_0x515248[_0x5524ba(0x212)]?.[_0x5524ba(0x232)]||[];if(!_0x515248[_0x5524ba(0x214)])return{'success':!![],'data':{'tableData':[]}};const _0x476177=_0x5ac837[_0x5524ba(0x229)](_0x2bb416=>{const _0x438296=_0x5524ba,_0x162ff4=_0x1475d7[_0x438296(0x231)]();return _0x2bb416[_0x438296(0x227)]?.[_0x438296(0x231)]()[_0x438296(0x1f9)](_0x162ff4)||_0x2bb416[_0x438296(0x204)]?.[_0x438296(0x231)]()[_0x438296(0x1f9)](_0x162ff4)||_0x2bb416['dbtableConfig']?.['tableName']?.['toLowerCase']()[_0x438296(0x1f9)](_0x162ff4)||_0x2bb416[_0x438296(0x21e)]?.['toLowerCase']()[_0x438296(0x1f9)](_0x162ff4);});return{'success':!![],'data':{'tableData':_0x476177,'paging':{'totalCount':_0x476177[_0x5524ba(0x22c)],'currentPage':0x1,'pageSize':_0x476177[_0x5524ba(0x22c)]}}};}async[a2_0x34854a(0x207)](_0xbc1d1c){const _0x4efd6b=a2_0x34854a,_0xd05663=_0xbc1d1c?.['currentPage']||0x1,_0xb9cd73=_0xbc1d1c?.['pageSize']||0x3e7,_0x32d06d=this[_0x4efd6b(0x242)]+_0x4efd6b(0x206),_0x13aabd={'appCode':this['appCode'],'currentPage':_0xd05663,'pageSize':_0xb9cd73,..._0xbc1d1c?.[_0x4efd6b(0x215)]&&{'sqlCode':_0xbc1d1c[_0x4efd6b(0x215)]},..._0xbc1d1c?.[_0x4efd6b(0x216)]&&{'sqlName':_0xbc1d1c[_0x4efd6b(0x216)]}},_0x5b9448=await this['postRequest'](_0x32d06d,_0x13aabd);return _0x5b9448;}async[a2_0x34854a(0x1f4)](_0x4be0ac){const _0x2206af=a2_0x34854a,_0x1b427b=this[_0x2206af(0x1fa)]+'/api/custom/executeSql',_0x3f31fb={'appCode':this['appCode'],'sqlCode':_0x4be0ac['sqlCode'],..._0x4be0ac['params']&&{'params':_0x4be0ac[_0x2206af(0x243)]}};return await this[_0x2206af(0x23e)](_0x1b427b,_0x3f31fb);}async[a2_0x34854a(0x20c)](_0x3154ee){const _0x5b8895=a2_0x34854a,_0x2d773f=this['apiDomain']+'/smartapi/custom/saveUserCustomSql',_0x7d9f99={'sqlName':_0x3154ee[_0x5b8895(0x216)],'dbId':_0x3154ee['dbId'],'sqlContent':_0x3154ee[_0x5b8895(0x202)],'appCode':this[_0x5b8895(0x246)]};return await this['postRequest'](_0x2d773f,_0x7d9f99);}async['updateUserCustomSql'](_0x17e58d){const _0x3e722f=a2_0x34854a,_0x2003bd=this['apiDomain']+_0x3e722f(0x1f1),_0x2124ad={'id':_0x17e58d['id'],'dbId':_0x17e58d[_0x3e722f(0x218)],'sqlName':_0x17e58d[_0x3e722f(0x216)],'appCode':this['appCode'],'sqlContent':_0x17e58d[_0x3e722f(0x202)]};return await this[_0x3e722f(0x23e)](_0x2003bd,_0x2124ad);}async[a2_0x34854a(0x223)](_0x422310,_0x3962df=![]){const _0x4f73a1=a2_0x34854a,_0x4feebc='er-config:'+this['appCode']+':'+this[_0x4f73a1(0x239)]+':'+_0x422310;if(!_0x3962df){const _0x3038d5=apiCache[_0x4f73a1(0x236)](_0x4feebc);if(_0x3038d5)return _0x3038d5;}const _0xf1cdeb=this[_0x4f73a1(0x242)]+_0x4f73a1(0x221),_0x2ed27f=await this[_0x4f73a1(0x23e)](_0xf1cdeb,{'dblinkId':_0x422310,'appCode':this['appCode']});if(!_0x2ed27f[_0x4f73a1(0x214)]||!_0x2ed27f[_0x4f73a1(0x212)])throw new Error('Failed\x20to\x20get\x20ER\x20config\x20for\x20dblinkId:\x20'+_0x422310);const _0xf39049={'meta':_0x2ed27f[_0x4f73a1(0x212)][_0x4f73a1(0x201)],'datasets':_0x2ed27f[_0x4f73a1(0x212)][_0x4f73a1(0x1ef)]};return apiCache[_0x4f73a1(0x230)](_0x4feebc,_0xf39049),_0xf39049;}async[a2_0x34854a(0x21b)](_0x4ebcad=![]){const _0xae5ef5=a2_0x34854a,_0x1fb05b=await this['getDatasetList']({'forceRefresh':_0x4ebcad}),_0x40b255=Array['isArray'](_0x1fb05b[_0xae5ef5(0x212)])?_0x1fb05b[_0xae5ef5(0x212)]:_0x1fb05b[_0xae5ef5(0x212)]?.[_0xae5ef5(0x232)]||[],_0x32e24f=new Set();for(const _0x4b9089 of _0x40b255){_0x4b9089['dbtableConfig']?.[_0xae5ef5(0x218)]&&_0x32e24f[_0xae5ef5(0x226)](_0x4b9089['dbtableConfig'][_0xae5ef5(0x218)]);}return Array['from'](_0x32e24f)[_0xae5ef5(0x244)]((_0x46b677,_0x40eeda)=>_0x46b677-_0x40eeda);}async['getAllErConfigs'](_0x19076d=![]){const _0x118adc=a2_0x34854a,_0x214894='er-configs-all:'+this[_0x118adc(0x246)]+':'+this['env'];if(!_0x19076d){const _0x29bb57=apiCache[_0x118adc(0x236)](_0x214894);if(_0x29bb57)return _0x29bb57;}const _0xef98f=await this[_0x118adc(0x21b)](_0x19076d),_0x30dca9=new Map();for(const _0x3ef58c of _0xef98f){try{const _0x5b73f8=await this[_0x118adc(0x223)](_0x3ef58c,_0x19076d);_0x30dca9[_0x118adc(0x230)](_0x3ef58c,_0x5b73f8);}catch(_0x36b650){console[_0x118adc(0x23d)](_0x118adc(0x21c)+_0x3ef58c+':',_0x36b650);}}return apiCache[_0x118adc(0x230)](_0x214894,_0x30dca9),_0x30dca9;}async[a2_0x34854a(0x1f0)](_0x505f3c,_0x148af0=![]){const _0x54b888=a2_0x34854a,_0x1705d3=await this[_0x54b888(0x22d)](_0x148af0),_0x3b5daa=[],_0x2dbddd=[];for(const [,_0x93197d]of _0x1705d3){const _0x417930=_0x93197d[_0x54b888(0x1ef)][_0x54b888(0x1fc)](_0x137418=>_0x137418[_0x54b888(0x217)]===_0x505f3c);if(_0x417930)for(const _0x1d0412 of _0x417930[_0x54b888(0x22b)]||[]){_0x3b5daa[_0x54b888(0x23f)]({'toDataset':_0x1d0412['toDataset'],'toDatasetName':_0x1d0412[_0x54b888(0x205)],'toField':_0x1d0412[_0x54b888(0x23a)],'fromField':_0x1d0412[_0x54b888(0x237)],'joinType':_0x1d0412[_0x54b888(0x1f5)]});}for(const _0x27de5d of _0x93197d['datasets']){if(_0x27de5d[_0x54b888(0x217)]===_0x505f3c)continue;for(const _0x1aabf2 of _0x27de5d[_0x54b888(0x22b)]||[]){_0x1aabf2[_0x54b888(0x225)]===_0x505f3c&&_0x2dbddd[_0x54b888(0x23f)]({'fromDataset':_0x27de5d['datasetCode'],'fromDatasetName':_0x27de5d[_0x54b888(0x1f6)],'fromField':_0x1aabf2[_0x54b888(0x237)],'toField':_0x1aabf2[_0x54b888(0x23a)],'joinType':_0x1aabf2[_0x54b888(0x1f5)]});}}}return{'outgoing':_0x3b5daa,'incoming':_0x2dbddd};}}
@@ -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(_0x775634,_0x1f910b){var _0x4872d1=a3_0x4836,_0x462d06=_0x775634();while(!![]){try{var _0x39edeb=-parseInt(_0x4872d1(0xdb))/0x1*(-parseInt(_0x4872d1(0xda))/0x2)+parseInt(_0x4872d1(0xdc))/0x3+parseInt(_0x4872d1(0xdd))/0x4*(-parseInt(_0x4872d1(0xd8))/0x5)+parseInt(_0x4872d1(0xde))/0x6*(-parseInt(_0x4872d1(0xd6))/0x7)+-parseInt(_0x4872d1(0xd5))/0x8*(parseInt(_0x4872d1(0xd7))/0x9)+-parseInt(_0x4872d1(0xd4))/0xa+parseInt(_0x4872d1(0xd9))/0xb;if(_0x39edeb===_0x1f910b)break;else _0x462d06['push'](_0x462d06['shift']());}catch(_0x189a01){_0x462d06['push'](_0x462d06['shift']());}}}(a3_0x43ca,0xba6ed));function a3_0x4836(_0x27da22,_0x2d30ca){_0x27da22=_0x27da22-0xd4;var _0x43caae=a3_0x43ca();var _0x4836cc=_0x43caae[_0x27da22];return _0x4836cc;}export{getEnvAppCode,getEnvironment,getEnvApiBaseUrl,getEnvRuntimeBaseUrl,getEnvUserBaseUrl,getEnvAuthCookie,configDir,cookieFile,defaultConfig,getEnvAppCodeWithFallback,getApiDomain,getUserDomain,getRuntimeDomain,getEffectiveApiDomain,getEffectiveRuntimeDomain,getEffectiveUserDomain}from'../config/env.js';function a3_0x43ca(){var _0x1a33d4=['1590169MZituu','33975ZtHnbF','239710wMsEHl','34195645HpfPqa','2Yiytft','300733qhYKtG','410346bEQDtk','40WGNmSc','18HVIioZ','9912350NGxadp','1336mcdqyx'];a3_0x43ca=function(){return _0x1a33d4;};return a3_0x43ca();}
@@ -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(_0x450f0c,_0x6ff57f){const _0x3efa7d=a4_0x1767,_0x4e2cd0=_0x450f0c();while(!![]){try{const _0x28b6c5=parseInt(_0x3efa7d(0x170))/0x1*(-parseInt(_0x3efa7d(0x172))/0x2)+-parseInt(_0x3efa7d(0x171))/0x3+parseInt(_0x3efa7d(0x17a))/0x4+-parseInt(_0x3efa7d(0x177))/0x5*(parseInt(_0x3efa7d(0x174))/0x6)+parseInt(_0x3efa7d(0x173))/0x7+parseInt(_0x3efa7d(0x16e))/0x8*(parseInt(_0x3efa7d(0x175))/0x9)+parseInt(_0x3efa7d(0x17c))/0xa*(parseInt(_0x3efa7d(0x178))/0xb);if(_0x28b6c5===_0x6ff57f)break;else _0x4e2cd0['push'](_0x4e2cd0['shift']());}catch(_0x147b56){_0x4e2cd0['push'](_0x4e2cd0['shift']());}}}(a4_0x1d0f,0x7d9ad));import{readFileSync,writeFileSync}from'node:fs';function a4_0x1d0f(){const _0x547576=['2571411SpRSou','46FcVDoA','3922688QhyHGs','42198Kiiaug','63QkEhnf','length','525mAFIuM','13703107QNlTgJ','trim','2340396djFCwS','utf-8','10adaeIS','Failed\x20to\x20save\x20cookie\x20to\x20','700632UoFJrA','message','38878LHsxSJ'];a4_0x1d0f=function(){return _0x547576;};return a4_0x1d0f();}import{getEnvAuthCookie,cookieFile}from'../config/env.js';export function getCookie(){const _0x46405a=a4_0x1767,_0x35035e=getEnvAuthCookie();if(_0x35035e)return _0x35035e;try{return readFileSync(cookieFile,_0x46405a(0x17b))[_0x46405a(0x179)]();}catch{return'';}}export function saveCookie(_0x5f0614){const _0x2d6002=a4_0x1767;try{writeFileSync(cookieFile,_0x5f0614,_0x2d6002(0x17b));}catch(_0xef0098){throw new Error(_0x2d6002(0x16d)+cookieFile+':\x20'+_0xef0098[_0x2d6002(0x16f)]);}}export function hasCookie(){const _0x4e9593=a4_0x1767,_0x67238=getCookie();return _0x67238[_0x4e9593(0x176)]>0x0;}function a4_0x1767(_0x3945e8,_0x1fe4d0){_0x3945e8=_0x3945e8-0x16d;const _0x1d0fb7=a4_0x1d0f();let _0x176707=_0x1d0fb7[_0x3945e8];return _0x176707;}export function clearCookie(){const _0x70e9b3=a4_0x1767;try{writeFileSync(cookieFile,'',_0x70e9b3(0x17b));}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(_0x56e157,_0x4d949b){const _0x17915f=a5_0x1213,_0x264aca=_0x56e157();while(!![]){try{const _0x387c30=parseInt(_0x17915f(0xe3))/0x1*(-parseInt(_0x17915f(0xe5))/0x2)+parseInt(_0x17915f(0xe1))/0x3*(-parseInt(_0x17915f(0xe0))/0x4)+-parseInt(_0x17915f(0xe2))/0x5+-parseInt(_0x17915f(0xdd))/0x6+-parseInt(_0x17915f(0xde))/0x7+-parseInt(_0x17915f(0xd9))/0x8*(-parseInt(_0x17915f(0xe4))/0x9)+parseInt(_0x17915f(0xda))/0xa;if(_0x387c30===_0x4d949b)break;else _0x264aca['push'](_0x264aca['shift']());}catch(_0x5835ed){_0x264aca['push'](_0x264aca['shift']());}}}(a5_0x5160,0xd6b7a));function a5_0x1213(_0x1f51f0,_0x410bbf){_0x1f51f0=_0x1f51f0-0xd9;const _0x51606f=a5_0x5160();let _0x1213b4=_0x51606f[_0x1f51f0];return _0x1213b4;}import{getCookie}from'./cookie-manager.js';function a5_0x5160(){const _0x2d60cc=['3473973xNWbXc','5744dDmPQD','8nJRtGR','51615270WeCLuD','session','/api/auth/get-session','2094372PgjQwP','9679803GZtMJf','json','44RzYExL','24063XrFFkq','7677080lWIUAl','457dTewJH'];a5_0x5160=function(){return _0x2d60cc;};return a5_0x5160();}import{getUserDomain}from'../config/env.js';export async function isSessionValid(){const _0x1c742c=a5_0x1213,_0x308cf8=getCookie();if(!_0x308cf8)return![];try{const _0x2aac0c=await fetch(getUserDomain()+_0x1c742c(0xdc),{'headers':{'cookie':_0x308cf8}});if(!_0x2aac0c['ok'])return![];const _0x104953=await _0x2aac0c[_0x1c742c(0xdf)]();return!!(_0x104953?.[_0x1c742c(0xdb)]&&_0x104953?.['user']);}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
+ const a6_0x3409a2=a6_0x4417;(function(_0x1711df,_0x19cbdf){const _0x193aba=a6_0x4417,_0x598ce3=_0x1711df();while(!![]){try{const _0x5020b7=-parseInt(_0x193aba(0x197))/0x1*(parseInt(_0x193aba(0x193))/0x2)+parseInt(_0x193aba(0x19e))/0x3*(-parseInt(_0x193aba(0x192))/0x4)+-parseInt(_0x193aba(0x1a7))/0x5*(-parseInt(_0x193aba(0x1a4))/0x6)+parseInt(_0x193aba(0x19d))/0x7+-parseInt(_0x193aba(0x1a3))/0x8+parseInt(_0x193aba(0x196))/0x9+parseInt(_0x193aba(0x194))/0xa;if(_0x5020b7===_0x19cbdf)break;else _0x598ce3['push'](_0x598ce3['shift']());}catch(_0x5ac0ff){_0x598ce3['push'](_0x598ce3['shift']());}}}(a6_0x4562,0xa0991));function a6_0x4417(_0x6a805d,_0x1acc2c){_0x6a805d=_0x6a805d-0x192;const _0x45622a=a6_0x4562();let _0x441783=_0x45622a[_0x6a805d];return _0x441783;}import{mkdirSync}from'node:fs';import{homedir}from'node:os';export function getEnvAppCode(){const _0x3d93e3=a6_0x4417;return process['env'][_0x3d93e3(0x19b)];}export function getEnvironment(){const _0x3e73a2=a6_0x4417;return process[_0x3e73a2(0x199)][_0x3e73a2(0x198)]||_0x3e73a2(0x1a9);}export function getEnvApiBaseUrl(){const _0x112fa5=a6_0x4417;return process[_0x112fa5(0x199)][_0x112fa5(0x19c)];}export function getEnvRuntimeBaseUrl(){const _0x3eafa5=a6_0x4417;return process[_0x3eafa5(0x199)][_0x3eafa5(0x1aa)];}export function getEnvUserBaseUrl(){const _0x42c48e=a6_0x4417;return process[_0x42c48e(0x199)][_0x42c48e(0x19a)];}export function getEnvAuthCookie(){const _0xd3fdb0=a6_0x4417;return process[_0xd3fdb0(0x199)][_0xd3fdb0(0x1a8)]?.['trim']();}export function isTestEnv(){const _0x585a63=a6_0x4417;return process[_0x585a63(0x199)][_0x585a63(0x1a2)]===_0x585a63(0x1a6);}export function isProductionEnv(){const _0x574865=a6_0x4417;return process['env'][_0x574865(0x1a2)]===_0x574865(0x1ac);}export function isDevelopmentEnv(){const _0x644b57=a6_0x4417;return process['env'][_0x644b57(0x1a2)]===_0x644b57(0x195);}export function shouldLog(){const _0xedf4e9=a6_0x4417,_0xc4f490=process['env'][_0xedf4e9(0x1a2)];return _0xc4f490===_0xedf4e9(0x195)||_0xc4f490==='daily';}export const configDir=homedir()+a6_0x3409a2(0x1a1);export const cookieFile=configDir+a6_0x3409a2(0x1a5);mkdirSync(configDir,{'recursive':!![]});export const defaultConfig={'appCode':getEnvAppCode(),'env':getEnvironment()};export function getEnvAppCodeWithFallback(_0x58c0c4){return getEnvAppCode()||_0x58c0c4;}export function getApiDomain(){const _0x5a58d8=a6_0x3409a2,_0x44128a=getEnvironment();return _0x44128a===_0x5a58d8(0x1a9)?'https://api.lovrabet.com':'https://daily-api.lovrabet.com';}export function getUserDomain(){const _0x75ea55=a6_0x3409a2,_0x32908e=getEnvironment();return _0x32908e===_0x75ea55(0x1a9)?_0x75ea55(0x1ab):'https://user-daily.lovrabet.com';}export function getRuntimeDomain(){const _0x2dbeab=a6_0x3409a2,_0x11d357=getEnvironment();return _0x11d357===_0x2dbeab(0x1a9)?_0x2dbeab(0x1a0):_0x2dbeab(0x19f);}function a6_0x4562(){const _0x2fa50c=['production','1348kmuLfU','6662wJYyRR','5172100gRstjV','development','4884543rtVJhJ','107nGiGxf','LOVRABET_ENV','env','LOVRABET_USER_BASEURL','LOVRABET_APP_CODE','LOVRABET_API_BASEURL','22323svmeVS','8358LRiXsM','https://daily-runtime.lovrabet.com','https://runtime.lovrabet.com','/.lovrabet','NODE_ENV','1652272GKNJpv','5604NOUVpR','/cookie','test','5870lUKoou','LOVRABET_AUTH_COOKIE','online','LOVRABET_RUNTIME_BASEURL','https://user.lovrabet.com'];a6_0x4562=function(){return _0x2fa50c;};return a6_0x4562();}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
+ const a7_0xb4bf4a=a7_0x35e0;function a7_0x4979(){const _0x53edf9=['Shutting\x20down\x20Lovrabet\x20Dataset\x20MCP\x20Server...','env','6402LQbqFA','52ZRDWkO','error','10aXNTIc','109293ZLhOVl','SIGTERM','613409lumHSQ','exit','log','1278046rwzZro','connect','2445RULOyd','logInfo','MCP_DEBUG','catch','50104aIJRNN','13316058zsoRWe','10518THPdlb'];a7_0x4979=function(){return _0x53edf9;};return a7_0x4979();}function a7_0x35e0(_0x2427da,_0xf90238){_0x2427da=_0x2427da-0x18d;const _0x497977=a7_0x4979();let _0x35e0a4=_0x497977[_0x2427da];return _0x35e0a4;}(function(_0x1fc117,_0x4c6505){const _0x128145=a7_0x35e0,_0x5ae0e3=_0x1fc117();while(!![]){try{const _0x180303=parseInt(_0x128145(0x19b))/0x1+parseInt(_0x128145(0x192))/0x2+parseInt(_0x128145(0x199))/0x3*(parseInt(_0x128145(0x196))/0x4)+-parseInt(_0x128145(0x1a0))/0x5*(-parseInt(_0x128145(0x195))/0x6)+parseInt(_0x128145(0x19e))/0x7+-parseInt(_0x128145(0x190))/0x8+parseInt(_0x128145(0x191))/0x9*(-parseInt(_0x128145(0x198))/0xa);if(_0x180303===_0x4c6505)break;else _0x5ae0e3['push'](_0x5ae0e3['shift']());}catch(_0x4f293b){_0x5ae0e3['push'](_0x5ae0e3['shift']());}}}(a7_0x4979,0x4be03));import{StdioServerTransport}from'@modelcontextprotocol/sdk/server/stdio.js';import{createServer}from'./server.js';async function main(){const _0x52274f=a7_0x35e0;try{const _0x663ba1=createServer(),_0x54bee3=new StdioServerTransport();_0x663ba1[_0x52274f(0x18d)](),await _0x663ba1[_0x52274f(0x19f)](_0x54bee3),process['on']('SIGINT',async()=>{const _0x5bdae8=_0x52274f;process[_0x5bdae8(0x194)][_0x5bdae8(0x18e)]&&console['log'](_0x5bdae8(0x193)),process[_0x5bdae8(0x19c)](0x0);}),process['on'](_0x52274f(0x19a),async()=>{const _0x56fe6d=_0x52274f;process[_0x56fe6d(0x194)][_0x56fe6d(0x18e)]&&console[_0x56fe6d(0x19d)](_0x56fe6d(0x193)),process['exit'](0x0);});}catch(_0x4819a6){console['error']('Failed\x20to\x20start\x20Lovrabet\x20Dataset\x20MCP\x20Server:',_0x4819a6),process[_0x52274f(0x19c)](0x1);}}main()[a7_0xb4bf4a(0x18f)](_0x274827=>{const _0x53ce22=a7_0xb4bf4a;console[_0x53ce22(0x197)]('Unhandled\x20error:',_0x274827),process[_0x53ce22(0x19c)](0x1);});