flycode-mcp 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -4
- package/dist/clients/formClient.js +16 -0
- package/dist/clients/formClient.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/form/read.js +113 -0
- package/dist/tools/form/read.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ A [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server for the
|
|
|
11
11
|
- 基于官方 `@modelcontextprotocol/sdk` 实现,使用标准 `stdio` 传输协议。
|
|
12
12
|
- 启动即完成 APaaS IDE 平台鉴权链路:账号登录 → 获取租户信息 → 获取 IDE Token。
|
|
13
13
|
- 内置统一请求层 `request`,自动按请求类型(`center` / `tenant`)切换中心服务地址与当前租户连接地址,并自动注入鉴权 Token。
|
|
14
|
-
- 当前提供工具:业务逻辑类 `page_model_logic_list`(分页查询业务逻辑列表)、`get_model_logic`(查询单个业务逻辑详情)、`save_model_logic`(保存 / 更新业务逻辑完整 JSON)、`
|
|
14
|
+
- 当前提供工具:业务逻辑类 `page_model_logic_list`(分页查询业务逻辑列表)、`get_model_logic`(查询单个业务逻辑详情)、`save_model_logic`(保存 / 更新业务逻辑完整 JSON)、`simple_save_flycode_model_logic`(轻量保存 flycode 业务逻辑,只传 `modelLogicCode` / `flycode` / 可选 `input` / `output`);实体类 `page_entity_list`(分页查询实体列表)、`get_entity`(查询实体详情);表单 / 页面类 `page_form_list`(分页查询表单 / 页面列表)。
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
@@ -134,7 +134,7 @@ username=<账号>&password=<密码>&tenantCode=<租户号>&envName=<环境名>
|
|
|
134
134
|
|
|
135
135
|
> 注:保存后建议重新 `get_model_logic` 核对最新版本。`committype=saverecord` 的提交时间由服务端写入,无需在 `msgbody` 中重复填写。
|
|
136
136
|
|
|
137
|
-
### `
|
|
137
|
+
### `simple_save_flycode_model_logic` — 轻量保存 flycode 业务逻辑
|
|
138
138
|
|
|
139
139
|
`save_model_logic` 的轻量版:同样用于保存 / 更新一条业务逻辑,但**只需提供少量参数**,避免回传从 `get_model_logic` 查到的庞大完整 `LogicResult`(易因超长被截断、占用大量上下文)。底层调用 `service/logic.ts` 的 `simpleSaveFlyCodeModelLogic`:先按 `modelLogicCode` 拉取完整对象,只把 `flycode` 写入 `operations[].templateparams.flycode`、按需覆盖 `input` / `output`,其余字段原样保留,再以 `overwrite: false` 提交到 `/bizserv/bizmodel/saveModelLogic`。
|
|
140
140
|
|
|
@@ -195,6 +195,29 @@ username=<账号>&password=<密码>&tenantCode=<租户号>&envName=<环境名>
|
|
|
195
195
|
- `message`:保存时编写的提交信息(作用类似 git 提交信息)
|
|
196
196
|
- `properties`:实体属性数组,每个属性含 `propertyname` / `columnname` / `propertytypecode`(字段类型映射)/ `relationobjectcode`(关联实体)/ `idxtype`(索引方式)/ `publishstatus` / `status` 等
|
|
197
197
|
|
|
198
|
+
### `page_form_list` — 分页查询表单 / 页面列表
|
|
199
|
+
|
|
200
|
+
根据查询条件分页查询 APaaS 平台中的表单 / 页面定义(只读、幂等)。底层调用 `formClient.pageFormList`(接口 `POST /bizserv/bizpage/pageList`)。
|
|
201
|
+
|
|
202
|
+
**输入参数:**
|
|
203
|
+
|
|
204
|
+
| 参数 | 类型 | 必填 | 说明 |
|
|
205
|
+
| --------------- | ------ | ---- | -------------------------------------------------------------------------- |
|
|
206
|
+
| `status` | string | 否 | 状态(整数):1-启用;2-停用。示例传 `"1"` |
|
|
207
|
+
| `keys` | string | 否 | 模糊匹配表单 `code` / `title` |
|
|
208
|
+
| `keywords` | string | 否 | 模糊匹配表单中的关键词 |
|
|
209
|
+
| `clientcategorycode` | string | 否 | 用户端分类编码:1-web 端;2-app 端;6-小程序端 |
|
|
210
|
+
| `page` | string | 否 | 当前页,从 1 开始,默认 1 |
|
|
211
|
+
| `rows` | string | 否 | 每页记录数,默认 20 |
|
|
212
|
+
| `type` | string | 否 | 类型(整数):5-列表查询;1-普通页面;99-二开页面;10-switchpage;11-树导航列表;100-原生页面;101-空白页面;7-报表页面;12-排序页面;300-步骤管理表单 |
|
|
213
|
+
| `updateopname` | string | 否 | 最近修改人姓名,模糊匹配 |
|
|
214
|
+
| `updatetimestart` | string | 否 | 修改开始时间,格式 `yyyy-MM-dd hh:mm:ss`,与结束时间成对出现 |
|
|
215
|
+
| `updatetimeend` | string | 否 | 修改结束时间,格式 `yyyy-MM-dd hh:mm:ss`,与开始时间成对出现 |
|
|
216
|
+
|
|
217
|
+
**返回:** 表单 / 页面列表的 JSON(`resp_data`),包含分页信封 `pageCount` / `pageIndex` / `pageSize` / `resultCount`,以及 `data` 数组中每个表单 / 页面的基本信息。`code` 为必填字段,其余字段(如 `createtime`、`title`、`clientcategorycode`、`confsource`、`marktype`、`directorytypename`、`metamodelcode`、`pagetypename`、`pagedescr`、`status`、`type`、`updatetime`、`updateaccountname`、`versionnum` 等)均为可选,且值可能为 `null`。
|
|
218
|
+
|
|
219
|
+
> 注:接口另有固定默认参数(`centercode`、`directorytypecode`、`starttime`),已在工具内部硬编码传入,不对外暴露。
|
|
220
|
+
|
|
198
221
|
---
|
|
199
222
|
|
|
200
223
|
## 项目结构
|
|
@@ -210,6 +233,7 @@ flycode-mcp/
|
|
|
210
233
|
│ │ ├── authClient.ts # 登录 / 获取租户信息 / 获取 IDE Token 请求
|
|
211
234
|
│ │ ├── logicClient.ts # 业务逻辑分页/详情查询、保存请求
|
|
212
235
|
│ │ ├── entityClient.ts # 实体列表 pageEntityList / 详情 getEntity 请求
|
|
236
|
+
│ │ ├── formClient.ts # 表单 / 页面列表 pageFormList 请求
|
|
213
237
|
│ │ └── types.ts # 公共响应信封类型(DataResponse / PageResponse / CommonResponse)
|
|
214
238
|
│ ├── store/ # 运行时内存存储
|
|
215
239
|
│ │ ├── token.ts # 鉴权 Token 存储器
|
|
@@ -221,6 +245,8 @@ flycode-mcp/
|
|
|
221
245
|
│ │ │ └── schemas.ts # 业务逻辑共享 zod schema(LogicResult / 参数 / operations / bindjson)
|
|
222
246
|
│ │ └── entity/
|
|
223
247
|
│ │ └── read.ts # 只读类工具(page_entity_list / get_entity)
|
|
248
|
+
│ │ └── form/
|
|
249
|
+
│ │ └── read.ts # 只读类工具(page_form_list)
|
|
224
250
|
│ └── utils/
|
|
225
251
|
│ ├── config.ts # 从命令行参数解析连接配置(BASE_URL / 账号等)
|
|
226
252
|
│ ├── request.ts # 统一 axios 请求层(中心/租户地址切换 + Token 注入)
|
|
@@ -240,8 +266,8 @@ flycode-mcp/
|
|
|
240
266
|
2. **登录**:`service/auth.ts` 中的 `authenticate()` 调用 `/api/multiplat/auth/login` 获取 Token,存入内存。
|
|
241
267
|
3. **定位租户与环境**:`authenticate()` 调用 `/api/multiplat/auth/getTenantInfo`,依据 `tenantCode + envName` 匹配出目标租户,保存其连接信息(`conn.config`)到内存。
|
|
242
268
|
4. **获取 IDE Token**:`authenticate()` 调用 `/api/multiplat/auth/getIdeToken` 换取 IDE 专用 Token 并覆盖内存中的 Token。
|
|
243
|
-
5. **注册并启动**:创建 `McpServer`,注册 `page_model_logic_list`、`get_model_logic`、`save_model_logic`、`
|
|
244
|
-
6. **业务请求**:工具被调用时,`logicClient` / `entityClient` 通过 `request({ type: "tenant" })` 自动切换到当前租户连接地址,并携带已注入的 Token 发起查询。
|
|
269
|
+
5. **注册并启动**:创建 `McpServer`,注册 `page_model_logic_list`、`get_model_logic`、`save_model_logic`、`simple_save_flycode_model_logic`、`page_entity_list`、`get_entity`、`page_form_list` 等工具,通过 `StdioServerTransport` 监听请求。
|
|
270
|
+
6. **业务请求**:工具被调用时,`logicClient` / `entityClient` / `formClient` 通过 `request({ type: "tenant" })` 自动切换到当前租户连接地址,并携带已注入的 Token 发起查询。
|
|
245
271
|
|
|
246
272
|
---
|
|
247
273
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import request from "../utils/request.js";
|
|
2
|
+
/**
|
|
3
|
+
* 分页条件查询表单
|
|
4
|
+
*
|
|
5
|
+
* @param data 查询条件数据
|
|
6
|
+
* @returns 响应数据
|
|
7
|
+
*/
|
|
8
|
+
export function pageFormList(data) {
|
|
9
|
+
return request({
|
|
10
|
+
url: '/bizserv/bizpage/pageList',
|
|
11
|
+
method: 'post',
|
|
12
|
+
data,
|
|
13
|
+
type: 'tenant'
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=formClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formClient.js","sourceRoot":"","sources":["../../src/clients/formClient.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,qBAAqB,CAAA;AAgHzC;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,IAAoB;IAC/C,OAAO,OAAO,CAAC;QACb,GAAG,EAAE,2BAA2B;QAChC,MAAM,EAAE,MAAM;QACd,IAAI;QACJ,IAAI,EAAE,QAAQ;KACf,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ import { authenticate } from './service/auth.js';
|
|
|
5
5
|
import { readTools as logicReadTools } from './tools/logic/read.js';
|
|
6
6
|
import { writeTools as logicWriteTools } from './tools/logic/write.js';
|
|
7
7
|
import { readTools as entityReadTools } from './tools/entity/read.js';
|
|
8
|
+
import { readTools as formReadTools } from './tools/form/read.js';
|
|
8
9
|
// 鉴权初始化(登录 -> 获取租户信息 -> 获取 IDE Token)
|
|
9
10
|
await authenticate();
|
|
10
11
|
// 创建 MCP 服务器
|
|
@@ -17,6 +18,7 @@ const allTools = [
|
|
|
17
18
|
...logicReadTools,
|
|
18
19
|
...logicWriteTools,
|
|
19
20
|
...entityReadTools,
|
|
21
|
+
...formReadTools,
|
|
20
22
|
];
|
|
21
23
|
for (const t of allTools) {
|
|
22
24
|
server.registerTool(t.name, t.config, t.handler);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACtE,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAEjE,sCAAsC;AACtC,MAAM,YAAY,EAAE,CAAA;AAEpB,aAAa;AACb,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAA;AAEF,uCAAuC;AACvC,MAAM,QAAQ,GAAc;IAC1B,GAAG,cAAc;IACjB,GAAG,eAAe;IAClB,GAAG,eAAe;IAClB,GAAG,aAAa;CACjB,CAAA;AAED,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;IACzB,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;AAClD,CAAC;AAED,OAAO;AACP,KAAK,UAAU,IAAI;IACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAA;IAC5C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC/B,kBAAkB;IAClB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;AACjD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { pageFormList } from '../../clients/formClient.js';
|
|
3
|
+
/**
|
|
4
|
+
* 表单/页面列表查询结果的 outputSchema。
|
|
5
|
+
* 字段类型严格依据 formClient.ts 中的 FormPageResult 接口声明构建:
|
|
6
|
+
* 除 code 外,其余字段均为 string | null | undefined(可选且可空)。
|
|
7
|
+
* string|null -> z.union([z.string(), z.null()]);
|
|
8
|
+
* number|null -> z.coerce.number().nullable()(对字符串型数字容错)。
|
|
9
|
+
* 描述文字直接采用 formClient.ts 中 FormPageResult 的注释内容。
|
|
10
|
+
*/
|
|
11
|
+
const formPageResultShape = z.object({
|
|
12
|
+
createtime: z.union([z.string(), z.null()]).optional().describe('创建时间'),
|
|
13
|
+
createaccountcode: z.union([z.string(), z.null()]).optional().describe('创建人的账号编码'),
|
|
14
|
+
createaccountname: z.union([z.string(), z.null()]).optional().describe('创建人姓名'),
|
|
15
|
+
code: z.string().describe('表单/页面的编码'),
|
|
16
|
+
clientcategorycode: z.union([z.string(), z.null()]).optional().describe('用户端分类编码,1-web端;2-app端;6-小程序端'),
|
|
17
|
+
confsource: z.coerce.number().nullable().optional().describe('配置来源,含义:1-IDE配置;2-用户级配置'),
|
|
18
|
+
directorytypecode: z.union([z.string(), z.null()]).optional().describe('所属目录分类的编码'),
|
|
19
|
+
directorytypename: z.union([z.string(), z.null()]).optional().describe('所属目录分类的名称'),
|
|
20
|
+
marktype: z.coerce.number().nullable().optional().describe('创建标记:0-平台;1-产品;2-租户'),
|
|
21
|
+
metamodelcode: z.union([z.string(), z.null()]).optional().describe('领域模型编码,和 code 共同构成复合主键'),
|
|
22
|
+
pagetemplatecode: z.union([z.string(), z.null()]).optional().describe('页面模板编码'),
|
|
23
|
+
pagetypename: z.union([z.string(), z.null()]).optional().describe('页面类型名称'),
|
|
24
|
+
pagedescr: z.union([z.string(), z.null()]).optional().describe('页面描述'),
|
|
25
|
+
ref: z.union([z.string(), z.null()]).optional().describe('外部引用,一般传空字符串'),
|
|
26
|
+
status: z.coerce.number().nullable().optional().describe('状态,含义:1-启用;2-停用'),
|
|
27
|
+
title: z.union([z.string(), z.null()]).optional().describe('标题'),
|
|
28
|
+
type: z.coerce.number().nullable().optional().describe('类型(整数)含义:5-列表查询;1-普通页面;99-二开页面;10-switchpage;11-树导航列表;100-原生页面;101-空白页面;7-报表页面;12-排序页面;300-步骤管理表单'),
|
|
29
|
+
updatetime: z.union([z.string(), z.null()]).optional().describe('最近更新时间'),
|
|
30
|
+
updateaccountcode: z.union([z.string(), z.null()]).optional().describe('最近更新人的账号编码'),
|
|
31
|
+
updateaccountname: z.union([z.string(), z.null()]).optional().describe('最近更新人的姓名'),
|
|
32
|
+
versionnum: z.union([z.string(), z.null()]).optional().describe('版本号')
|
|
33
|
+
});
|
|
34
|
+
/** 只读类工具:查询、列表、读取等不会修改数据的操作。 */
|
|
35
|
+
export const readTools = [
|
|
36
|
+
{
|
|
37
|
+
name: 'page_form_list',
|
|
38
|
+
config: {
|
|
39
|
+
title: '分页查询表单/页面',
|
|
40
|
+
description: '根据查询条件分页查询表单/页面列表',
|
|
41
|
+
inputSchema: {
|
|
42
|
+
status: z.string().optional().describe('状态,整数含义:1-启用;2-停用。示例传 "1"'),
|
|
43
|
+
keys: z.string().optional().describe('模糊匹配表单 code / title'),
|
|
44
|
+
keywords: z.string().optional().describe('模糊匹配表单中的关键词'),
|
|
45
|
+
clientcategorycode: z.string().optional().describe('用户端分类编码,1-web端;2-app端;6-小程序端'),
|
|
46
|
+
page: z.string().optional().describe('分页,当前页,从 1 开始'),
|
|
47
|
+
rows: z.string().optional().describe('分页,每页记录数'),
|
|
48
|
+
type: z.string().optional().describe('类型(整数)含义:5-列表查询;1-普通页面;99-二开页面;10-switchpage;11-树导航列表;100-原生页面;101-空白页面;7-报表页面;12-排序页面;300-步骤管理表单'),
|
|
49
|
+
updateopname: z.string().optional().describe('最近修改人姓名'),
|
|
50
|
+
updatetimestart: z.string().optional().describe('修改开始时间,与修改结束时间成对出现,格式:yyyy-MM-dd hh:mm:ss'),
|
|
51
|
+
updatetimeend: z.string().optional().describe('修改结束时间,与修改开始时间成对出现,格式:yyyy-MM-dd hh:mm:ss')
|
|
52
|
+
},
|
|
53
|
+
outputSchema: {
|
|
54
|
+
data: z.array(formPageResultShape).describe('这一页的业务数据'),
|
|
55
|
+
pageCount: z.coerce.number().describe('总页数'),
|
|
56
|
+
pageIndex: z.coerce.number().describe('第几页'),
|
|
57
|
+
pageSize: z.coerce.number().describe('每页记录数'),
|
|
58
|
+
resultCount: z.coerce.number().describe('总记录数')
|
|
59
|
+
},
|
|
60
|
+
annotations: {
|
|
61
|
+
readOnlyHint: true, // 此操作不会修改数据
|
|
62
|
+
destructiveHint: false, // 此操作不具有破坏性
|
|
63
|
+
idempotentHint: true // 重复调用结果相同
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
handler: async (args) => {
|
|
67
|
+
const { status = '', keys = '', keywords = '', clientcategorycode = '', page = 1, rows = 20, type = '', updateopname = '', updatetimestart = '', updatetimeend = '' } = args;
|
|
68
|
+
try {
|
|
69
|
+
const res = await pageFormList({
|
|
70
|
+
// 以下为接口固定默认传值,不对外暴露
|
|
71
|
+
centercode: '',
|
|
72
|
+
directorytypecode: 'rootNode',
|
|
73
|
+
starttime: '',
|
|
74
|
+
status,
|
|
75
|
+
keys,
|
|
76
|
+
keywords,
|
|
77
|
+
clientcategorycode,
|
|
78
|
+
page: Number(page) || 1,
|
|
79
|
+
rows: Number(rows) || 20,
|
|
80
|
+
type,
|
|
81
|
+
updateopname,
|
|
82
|
+
updatetimestart,
|
|
83
|
+
updatetimeend
|
|
84
|
+
});
|
|
85
|
+
return {
|
|
86
|
+
content: [{
|
|
87
|
+
type: 'text',
|
|
88
|
+
text: JSON.stringify(res.resp_data)
|
|
89
|
+
}],
|
|
90
|
+
// outputSchema 已在工具上声明,SDK 1.30 要求调用结果必须携带
|
|
91
|
+
// structuredContent 与之匹配,否则会抛 -32602;这里同时返回
|
|
92
|
+
// 文本(给人/模型阅读)和结构化内容(供 schema 校验)。
|
|
93
|
+
structuredContent: res.resp_data
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
// 业务/网络错误:HTTP 非 200 时 Axios 已在传输层抛出,
|
|
98
|
+
// 错误体形如 {"error_type":600,"error_code":"token无效,请重新登录","error_params":null}
|
|
99
|
+
// 将其原始 JSON 原样返回给模型,不做二次包装。
|
|
100
|
+
const err = e;
|
|
101
|
+
const body = err.response?.data ?? e;
|
|
102
|
+
return {
|
|
103
|
+
isError: true,
|
|
104
|
+
content: [{
|
|
105
|
+
type: 'text',
|
|
106
|
+
text: JSON.stringify(body)
|
|
107
|
+
}]
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
];
|
|
113
|
+
//# sourceMappingURL=read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/tools/form/read.ts"],"names":[],"mappings":"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"}
|