@lowdefy/server 6.1.0 → 6.2.1

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.
@@ -37,6 +37,11 @@ const lowdefyErrorFields = [
37
37
  'blockId',
38
38
  'pageId',
39
39
  'isReject',
40
+ // A failed request step's ids (callRequestResolver), so its error log names the step
41
+ // rather than its inputs.
42
+ 'endpointId',
43
+ 'stepId',
44
+ 'connectionId',
40
45
  ];
41
46
 
42
47
  function projectErrorForLog(err) {
@@ -42,6 +42,9 @@ const allowedErrorKeys = new Set([
42
42
  'blockId',
43
43
  'pageId',
44
44
  'isReject',
45
+ 'endpointId',
46
+ 'stepId',
47
+ 'connectionId',
45
48
  ]);
46
49
 
47
50
  // Every serialized error node carries `stack`; free-form values under
@@ -190,6 +193,33 @@ test('serializeErrorForLog projects an Error nested seven levels deep inside a c
190
193
  expect(JSON.stringify(serialized)).not.toMatch(/planted/);
191
194
  });
192
195
 
196
+ test("serializeErrorForLog keeps a failed request's ids and leaves out the connection's error it keeps for the dev tools", () => {
197
+ const driverError = new Error('Document failed validation');
198
+ driverError.name = 'MongoServerError';
199
+ driverError.errInfo = { details: { document: { message: 'planted-chat-text' } } };
200
+ const error = new RequestError('Document failed validation', {
201
+ cause: new Error('Document failed validation'),
202
+ typeName: 'MongoDBInsertOne',
203
+ location: 'threads/save_thread',
204
+ });
205
+ Object.assign(error, {
206
+ endpointId: 'save-thread',
207
+ stepId: 'save_thread',
208
+ connectionId: 'threads',
209
+ });
210
+ Object.defineProperty(error, 'devCause', { value: driverError });
211
+
212
+ const serialized = serializeErrorForLog(error);
213
+
214
+ expect(serialized).toMatchObject({
215
+ name: 'RequestError',
216
+ endpointId: 'save-thread',
217
+ stepId: 'save_thread',
218
+ connectionId: 'threads',
219
+ });
220
+ expect(JSON.stringify(serialized)).not.toMatch(/planted/);
221
+ });
222
+
193
223
  test('serializeErrorForLog keeps UserError metaData, blockId, pageId and isReject', () => {
194
224
  const error = new UserError('Please fill in the form.', {
195
225
  blockId: 'submit_button',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lowdefy/server",
3
- "version": "6.1.0",
3
+ "version": "6.2.1",
4
4
  "license": "Apache-2.0",
5
5
  "description": "",
6
6
  "homepage": "https://lowdefy.com",
@@ -44,27 +44,27 @@
44
44
  "@hono/auth-js": "1.1.1",
45
45
  "@hono/mcp": "0.3.0",
46
46
  "@hono/node-server": "2.0.10",
47
- "@lowdefy/actions-core": "6.1.0",
48
- "@lowdefy/api": "6.1.0",
49
- "@lowdefy/block-utils": "6.1.0",
50
- "@lowdefy/blocks-aggrid": "6.1.0",
51
- "@lowdefy/blocks-antd": "6.1.0",
52
- "@lowdefy/blocks-antd-x": "6.1.0",
53
- "@lowdefy/blocks-basic": "6.1.0",
54
- "@lowdefy/blocks-echarts": "6.1.0",
55
- "@lowdefy/blocks-files": "6.1.0",
56
- "@lowdefy/blocks-loaders": "6.1.0",
57
- "@lowdefy/blocks-markdown": "6.1.0",
58
- "@lowdefy/blocks-tiptap": "6.1.0",
59
- "@lowdefy/client": "6.1.0",
60
- "@lowdefy/errors": "6.1.0",
61
- "@lowdefy/helpers": "6.1.0",
62
- "@lowdefy/layout": "6.1.0",
63
- "@lowdefy/logger": "6.1.0",
64
- "@lowdefy/node-utils": "6.1.0",
65
- "@lowdefy/operators-js": "6.1.0",
66
- "@lowdefy/plugin-next-auth": "6.1.0",
67
- "@lowdefy/websockets-core": "6.1.0",
47
+ "@lowdefy/actions-core": "6.2.1",
48
+ "@lowdefy/api": "6.2.1",
49
+ "@lowdefy/block-utils": "6.2.1",
50
+ "@lowdefy/blocks-aggrid": "6.2.1",
51
+ "@lowdefy/blocks-antd": "6.2.1",
52
+ "@lowdefy/blocks-antd-x": "6.2.1",
53
+ "@lowdefy/blocks-basic": "6.2.1",
54
+ "@lowdefy/blocks-echarts": "6.2.1",
55
+ "@lowdefy/blocks-files": "6.2.1",
56
+ "@lowdefy/blocks-loaders": "6.2.1",
57
+ "@lowdefy/blocks-markdown": "6.2.1",
58
+ "@lowdefy/blocks-tiptap": "6.2.1",
59
+ "@lowdefy/client": "6.2.1",
60
+ "@lowdefy/errors": "6.2.1",
61
+ "@lowdefy/helpers": "6.2.1",
62
+ "@lowdefy/layout": "6.2.1",
63
+ "@lowdefy/logger": "6.2.1",
64
+ "@lowdefy/node-utils": "6.2.1",
65
+ "@lowdefy/operators-js": "6.2.1",
66
+ "@lowdefy/plugin-next-auth": "6.2.1",
67
+ "@lowdefy/websockets-core": "6.2.1",
68
68
  "@sentry/browser": "10.57.0",
69
69
  "@sentry/node": "10.57.0",
70
70
  "@sentry/vite-plugin": "5.3.0",
@@ -83,7 +83,7 @@
83
83
  "ws": "8.21.0"
84
84
  },
85
85
  "devDependencies": {
86
- "@lowdefy/build": "6.1.0",
86
+ "@lowdefy/build": "6.2.1",
87
87
  "@tailwindcss/postcss": "4.3.1",
88
88
  "jest": "28.1.3",
89
89
  "tailwindcss": "4.3.1",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lowdefy/server",
3
- "version": "6.1.0",
3
+ "version": "6.2.1",
4
4
  "license": "Apache-2.0",
5
5
  "description": "",
6
6
  "homepage": "https://lowdefy.com",
@@ -52,27 +52,27 @@
52
52
  "@hono/auth-js": "1.1.1",
53
53
  "@hono/mcp": "0.3.0",
54
54
  "@hono/node-server": "2.0.10",
55
- "@lowdefy/actions-core": "6.1.0",
56
- "@lowdefy/api": "6.1.0",
57
- "@lowdefy/block-utils": "6.1.0",
58
- "@lowdefy/blocks-aggrid": "6.1.0",
59
- "@lowdefy/blocks-antd": "6.1.0",
60
- "@lowdefy/blocks-antd-x": "6.1.0",
61
- "@lowdefy/blocks-basic": "6.1.0",
62
- "@lowdefy/blocks-echarts": "6.1.0",
63
- "@lowdefy/blocks-files": "6.1.0",
64
- "@lowdefy/blocks-loaders": "6.1.0",
65
- "@lowdefy/blocks-markdown": "6.1.0",
66
- "@lowdefy/blocks-tiptap": "6.1.0",
67
- "@lowdefy/client": "6.1.0",
68
- "@lowdefy/errors": "6.1.0",
69
- "@lowdefy/helpers": "6.1.0",
70
- "@lowdefy/layout": "6.1.0",
71
- "@lowdefy/logger": "6.1.0",
72
- "@lowdefy/node-utils": "6.1.0",
73
- "@lowdefy/operators-js": "6.1.0",
74
- "@lowdefy/plugin-next-auth": "6.1.0",
75
- "@lowdefy/websockets-core": "6.1.0",
55
+ "@lowdefy/actions-core": "6.2.1",
56
+ "@lowdefy/api": "6.2.1",
57
+ "@lowdefy/block-utils": "6.2.1",
58
+ "@lowdefy/blocks-aggrid": "6.2.1",
59
+ "@lowdefy/blocks-antd": "6.2.1",
60
+ "@lowdefy/blocks-antd-x": "6.2.1",
61
+ "@lowdefy/blocks-basic": "6.2.1",
62
+ "@lowdefy/blocks-echarts": "6.2.1",
63
+ "@lowdefy/blocks-files": "6.2.1",
64
+ "@lowdefy/blocks-loaders": "6.2.1",
65
+ "@lowdefy/blocks-markdown": "6.2.1",
66
+ "@lowdefy/blocks-tiptap": "6.2.1",
67
+ "@lowdefy/client": "6.2.1",
68
+ "@lowdefy/errors": "6.2.1",
69
+ "@lowdefy/helpers": "6.2.1",
70
+ "@lowdefy/layout": "6.2.1",
71
+ "@lowdefy/logger": "6.2.1",
72
+ "@lowdefy/node-utils": "6.2.1",
73
+ "@lowdefy/operators-js": "6.2.1",
74
+ "@lowdefy/plugin-next-auth": "6.2.1",
75
+ "@lowdefy/websockets-core": "6.2.1",
76
76
  "@sentry/browser": "10.57.0",
77
77
  "@sentry/node": "10.57.0",
78
78
  "@sentry/vite-plugin": "5.3.0",
@@ -91,7 +91,7 @@
91
91
  "ws": "8.21.0"
92
92
  },
93
93
  "devDependencies": {
94
- "@lowdefy/build": "6.1.0",
94
+ "@lowdefy/build": "6.2.1",
95
95
  "@tailwindcss/postcss": "4.3.1",
96
96
  "jest": "28.1.3",
97
97
  "tailwindcss": "4.3.1",