@mastra/server 0.0.0-cli-debug-2-20250611100354 → 0.0.0-cloudflare-deployer-dont-install-deps-20250714111754

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.
Files changed (70) hide show
  1. package/LICENSE.md +11 -42
  2. package/dist/_tsup-dts-rollup.d.cts +275 -28
  3. package/dist/_tsup-dts-rollup.d.ts +275 -28
  4. package/dist/{chunk-OCWPVYNI.cjs → chunk-2KZFMI6P.cjs} +1 -0
  5. package/dist/{chunk-VPNDC2DI.cjs → chunk-2SLFAFTR.cjs} +12 -12
  6. package/dist/chunk-3CNDE7QY.cjs +308 -0
  7. package/dist/{chunk-QLG2PFHE.js → chunk-4D66QEKC.js} +2 -2
  8. package/dist/{chunk-TEZOEGR4.js → chunk-5PQQ42EZ.js} +8 -8
  9. package/dist/{chunk-BNEY4P4P.cjs → chunk-7TP2LX5L.cjs} +16 -16
  10. package/dist/chunk-B2PAS2IB.cjs +514 -0
  11. package/dist/{chunk-6F2H7Y45.js → chunk-BK4XT6EG.js} +29 -14
  12. package/dist/{chunk-57CJTIPW.cjs → chunk-CCGRCYWJ.cjs} +2 -2
  13. package/dist/{chunk-C7564HUT.js → chunk-CRCR3ZUK.js} +3 -3
  14. package/dist/{chunk-TJO277H7.cjs → chunk-FRVBFMO2.cjs} +20 -20
  15. package/dist/{chunk-B4MQFJ7G.cjs → chunk-G7KH752Y.cjs} +5 -5
  16. package/dist/{chunk-7IBZ4L35.js → chunk-H7DMHBKY.js} +181 -27
  17. package/dist/{chunk-UZ7FJ66C.cjs → chunk-JMLYCXMK.cjs} +43 -43
  18. package/dist/{chunk-CP55EVBK.js → chunk-KHZKYUNR.js} +15 -11
  19. package/dist/{chunk-I7KJZNX5.js → chunk-KOHWJYJT.js} +110 -25
  20. package/dist/{chunk-NYN7KFXL.js → chunk-LCM566I4.js} +1 -0
  21. package/dist/chunk-LF7P5PLR.js +14 -0
  22. package/dist/{chunk-XUGQSVZ4.cjs → chunk-LI436ITD.cjs} +107 -69
  23. package/dist/{chunk-HYP7B2TL.js → chunk-LRCAAFUA.js} +4 -4
  24. package/dist/{chunk-JEWNMAYQ.cjs → chunk-LZ3VJXSO.cjs} +43 -28
  25. package/dist/{chunk-WKWHYFX4.js → chunk-MEGCYGBU.js} +108 -70
  26. package/dist/chunk-PZQDCRPV.cjs +16 -0
  27. package/dist/{chunk-IMBY5XUG.cjs → chunk-QGX47B5D.cjs} +7 -7
  28. package/dist/{chunk-BFOA2QQY.js → chunk-RG473F6Y.js} +2 -2
  29. package/dist/{chunk-CMMOIUFC.cjs → chunk-RHSWAXKB.cjs} +34 -30
  30. package/dist/{chunk-H5PTF3Y4.js → chunk-RSEO4XPX.js} +1 -1
  31. package/dist/{chunk-55DOQLP6.js → chunk-WNVFNNWN.js} +2 -2
  32. package/dist/server/handlers/agents.cjs +7 -7
  33. package/dist/server/handlers/agents.js +1 -1
  34. package/dist/server/handlers/error.cjs +2 -2
  35. package/dist/server/handlers/error.js +1 -1
  36. package/dist/server/handlers/legacyWorkflows.cjs +11 -11
  37. package/dist/server/handlers/legacyWorkflows.js +1 -1
  38. package/dist/server/handlers/logs.cjs +4 -4
  39. package/dist/server/handlers/logs.js +1 -1
  40. package/dist/server/handlers/memory.cjs +17 -9
  41. package/dist/server/handlers/memory.d.cts +2 -0
  42. package/dist/server/handlers/memory.d.ts +2 -0
  43. package/dist/server/handlers/memory.js +1 -1
  44. package/dist/server/handlers/network.cjs +5 -5
  45. package/dist/server/handlers/network.js +1 -1
  46. package/dist/server/handlers/telemetry.cjs +3 -3
  47. package/dist/server/handlers/telemetry.js +1 -1
  48. package/dist/server/handlers/tools.cjs +5 -5
  49. package/dist/server/handlers/tools.js +1 -1
  50. package/dist/server/handlers/utils.cjs +2 -2
  51. package/dist/server/handlers/utils.js +1 -1
  52. package/dist/server/handlers/vNextNetwork.cjs +218 -0
  53. package/dist/server/handlers/vNextNetwork.d.cts +6 -0
  54. package/dist/server/handlers/vNextNetwork.d.ts +6 -0
  55. package/dist/server/handlers/vNextNetwork.js +211 -0
  56. package/dist/server/handlers/vector.cjs +7 -7
  57. package/dist/server/handlers/vector.js +1 -1
  58. package/dist/server/handlers/voice.cjs +5 -5
  59. package/dist/server/handlers/voice.js +1 -1
  60. package/dist/server/handlers/workflows.cjs +24 -12
  61. package/dist/server/handlers/workflows.d.cts +3 -0
  62. package/dist/server/handlers/workflows.d.ts +3 -0
  63. package/dist/server/handlers/workflows.js +1 -1
  64. package/dist/server/handlers.cjs +20 -20
  65. package/dist/server/handlers.js +10 -10
  66. package/package.json +11 -12
  67. package/dist/chunk-64U3UDTH.cjs +0 -13
  68. package/dist/chunk-6TJSHFCJ.cjs +0 -221
  69. package/dist/chunk-JKF6PRPU.cjs +0 -357
  70. package/dist/chunk-M5ABIP7D.js +0 -11
@@ -1,42 +1,42 @@
1
1
  'use strict';
2
2
 
3
- var chunkVPNDC2DI_cjs = require('../chunk-VPNDC2DI.cjs');
4
- var chunkB4MQFJ7G_cjs = require('../chunk-B4MQFJ7G.cjs');
5
- var chunkTJO277H7_cjs = require('../chunk-TJO277H7.cjs');
6
- var chunkBNEY4P4P_cjs = require('../chunk-BNEY4P4P.cjs');
7
- var chunkCMMOIUFC_cjs = require('../chunk-CMMOIUFC.cjs');
8
- var chunkJKF6PRPU_cjs = require('../chunk-JKF6PRPU.cjs');
3
+ var chunk2SLFAFTR_cjs = require('../chunk-2SLFAFTR.cjs');
4
+ var chunkG7KH752Y_cjs = require('../chunk-G7KH752Y.cjs');
5
+ var chunkFRVBFMO2_cjs = require('../chunk-FRVBFMO2.cjs');
6
+ var chunk7TP2LX5L_cjs = require('../chunk-7TP2LX5L.cjs');
7
+ var chunkRHSWAXKB_cjs = require('../chunk-RHSWAXKB.cjs');
8
+ var chunkB2PAS2IB_cjs = require('../chunk-B2PAS2IB.cjs');
9
9
  var chunkSDPGVWQJ_cjs = require('../chunk-SDPGVWQJ.cjs');
10
- var chunkJEWNMAYQ_cjs = require('../chunk-JEWNMAYQ.cjs');
11
- var chunkUZ7FJ66C_cjs = require('../chunk-UZ7FJ66C.cjs');
12
- var chunkIMBY5XUG_cjs = require('../chunk-IMBY5XUG.cjs');
13
- var chunk6TJSHFCJ_cjs = require('../chunk-6TJSHFCJ.cjs');
10
+ var chunkLZ3VJXSO_cjs = require('../chunk-LZ3VJXSO.cjs');
11
+ var chunkJMLYCXMK_cjs = require('../chunk-JMLYCXMK.cjs');
12
+ var chunkQGX47B5D_cjs = require('../chunk-QGX47B5D.cjs');
13
+ var chunk3CNDE7QY_cjs = require('../chunk-3CNDE7QY.cjs');
14
14
 
15
15
 
16
16
 
17
17
  Object.defineProperty(exports, "network", {
18
18
  enumerable: true,
19
- get: function () { return chunkVPNDC2DI_cjs.network_exports; }
19
+ get: function () { return chunk2SLFAFTR_cjs.network_exports; }
20
20
  });
21
21
  Object.defineProperty(exports, "telemetry", {
22
22
  enumerable: true,
23
- get: function () { return chunkB4MQFJ7G_cjs.telemetry_exports; }
23
+ get: function () { return chunkG7KH752Y_cjs.telemetry_exports; }
24
24
  });
25
25
  Object.defineProperty(exports, "tools", {
26
26
  enumerable: true,
27
- get: function () { return chunkTJO277H7_cjs.tools_exports; }
27
+ get: function () { return chunkFRVBFMO2_cjs.tools_exports; }
28
28
  });
29
29
  Object.defineProperty(exports, "vector", {
30
30
  enumerable: true,
31
- get: function () { return chunkBNEY4P4P_cjs.vector_exports; }
31
+ get: function () { return chunk7TP2LX5L_cjs.vector_exports; }
32
32
  });
33
33
  Object.defineProperty(exports, "voice", {
34
34
  enumerable: true,
35
- get: function () { return chunkCMMOIUFC_cjs.voice_exports; }
35
+ get: function () { return chunkRHSWAXKB_cjs.voice_exports; }
36
36
  });
37
37
  Object.defineProperty(exports, "workflows", {
38
38
  enumerable: true,
39
- get: function () { return chunkJKF6PRPU_cjs.workflows_exports; }
39
+ get: function () { return chunkB2PAS2IB_cjs.workflows_exports; }
40
40
  });
41
41
  Object.defineProperty(exports, "a2a", {
42
42
  enumerable: true,
@@ -44,17 +44,17 @@ Object.defineProperty(exports, "a2a", {
44
44
  });
45
45
  Object.defineProperty(exports, "agents", {
46
46
  enumerable: true,
47
- get: function () { return chunkJEWNMAYQ_cjs.agents_exports; }
47
+ get: function () { return chunkLZ3VJXSO_cjs.agents_exports; }
48
48
  });
49
49
  Object.defineProperty(exports, "legacyWorkflows", {
50
50
  enumerable: true,
51
- get: function () { return chunkUZ7FJ66C_cjs.legacyWorkflows_exports; }
51
+ get: function () { return chunkJMLYCXMK_cjs.legacyWorkflows_exports; }
52
52
  });
53
53
  Object.defineProperty(exports, "logs", {
54
54
  enumerable: true,
55
- get: function () { return chunkIMBY5XUG_cjs.logs_exports; }
55
+ get: function () { return chunkQGX47B5D_cjs.logs_exports; }
56
56
  });
57
57
  Object.defineProperty(exports, "memory", {
58
58
  enumerable: true,
59
- get: function () { return chunk6TJSHFCJ_cjs.memory_exports; }
59
+ get: function () { return chunk3CNDE7QY_cjs.memory_exports; }
60
60
  });
@@ -1,11 +1,11 @@
1
- export { network_exports as network } from '../chunk-C7564HUT.js';
2
- export { telemetry_exports as telemetry } from '../chunk-BFOA2QQY.js';
3
- export { tools_exports as tools } from '../chunk-HYP7B2TL.js';
4
- export { vector_exports as vector } from '../chunk-55DOQLP6.js';
5
- export { voice_exports as voice } from '../chunk-CP55EVBK.js';
6
- export { workflows_exports as workflows } from '../chunk-7IBZ4L35.js';
1
+ export { network_exports as network } from '../chunk-CRCR3ZUK.js';
2
+ export { telemetry_exports as telemetry } from '../chunk-RG473F6Y.js';
3
+ export { tools_exports as tools } from '../chunk-LRCAAFUA.js';
4
+ export { vector_exports as vector } from '../chunk-WNVFNNWN.js';
5
+ export { voice_exports as voice } from '../chunk-KHZKYUNR.js';
6
+ export { workflows_exports as workflows } from '../chunk-H7DMHBKY.js';
7
7
  export { a2a_exports as a2a } from '../chunk-GHC4YV6R.js';
8
- export { agents_exports as agents } from '../chunk-6F2H7Y45.js';
9
- export { legacyWorkflows_exports as legacyWorkflows } from '../chunk-TEZOEGR4.js';
10
- export { logs_exports as logs } from '../chunk-QLG2PFHE.js';
11
- export { memory_exports as memory } from '../chunk-I7KJZNX5.js';
8
+ export { agents_exports as agents } from '../chunk-BK4XT6EG.js';
9
+ export { legacyWorkflows_exports as legacyWorkflows } from '../chunk-5PQQ42EZ.js';
10
+ export { logs_exports as logs } from '../chunk-4D66QEKC.js';
11
+ export { memory_exports as memory } from '../chunk-KOHWJYJT.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/server",
3
- "version": "0.0.0-cli-debug-2-20250611100354",
3
+ "version": "0.0.0-cloudflare-deployer-dont-install-deps-20250714111754",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "files": [
@@ -43,25 +43,24 @@
43
43
  },
44
44
  "keywords": [],
45
45
  "author": "",
46
- "license": "Elastic-2.0",
47
- "dependencies": {},
46
+ "license": "Apache-2.0",
48
47
  "peerDependencies": {
49
- "@mastra/core": "^0.10.2-alpha.0",
50
- "zod": "^3.0.0"
48
+ "zod": "^3.0.0",
49
+ "@mastra/core": "0.0.0-cloudflare-deployer-dont-install-deps-20250714111754"
51
50
  },
52
51
  "devDependencies": {
53
52
  "@ai-sdk/openai": "^1.3.22",
54
53
  "@microsoft/api-extractor": "^7.52.8",
55
- "@types/node": "^20.17.57",
56
- "eslint": "^9.28.0",
54
+ "@types/node": "^20.19.0",
55
+ "eslint": "^9.30.1",
57
56
  "superjson": "^2.2.2",
58
57
  "tsup": "^8.5.0",
59
- "typescript": "^5.8.2",
60
- "vitest": "^2.1.9",
61
- "zod": "^3.25.56",
58
+ "typescript": "^5.8.3",
59
+ "vitest": "^3.2.4",
60
+ "zod": "^3.25.67",
62
61
  "zod-to-json-schema": "^3.24.5",
63
- "@internal/lint": "0.0.0-cli-debug-2-20250611100354",
64
- "@mastra/core": "0.0.0-cli-debug-2-20250611100354"
62
+ "@internal/lint": "0.0.0-cloudflare-deployer-dont-install-deps-20250714111754",
63
+ "@mastra/core": "0.0.0-cloudflare-deployer-dont-install-deps-20250714111754"
65
64
  },
66
65
  "scripts": {
67
66
  "build": "tsup src/index.ts src/server/handlers.ts src/server/handlers/*.ts !src/server/handlers/*.test.ts --format esm,cjs --clean --experimental-dts --treeshake=smallest --splitting",
@@ -1,13 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkOCWPVYNI_cjs = require('./chunk-OCWPVYNI.cjs');
4
-
5
- // src/server/handlers/error.ts
6
- function handleError(error, defaultMessage) {
7
- const apiError = error;
8
- throw new chunkOCWPVYNI_cjs.HTTPException(apiError.status || 500, {
9
- message: apiError.message || defaultMessage
10
- });
11
- }
12
-
13
- exports.handleError = handleError;
@@ -1,221 +0,0 @@
1
- 'use strict';
2
-
3
- var chunk57CJTIPW_cjs = require('./chunk-57CJTIPW.cjs');
4
- var chunk64U3UDTH_cjs = require('./chunk-64U3UDTH.cjs');
5
- var chunkOCWPVYNI_cjs = require('./chunk-OCWPVYNI.cjs');
6
- var chunk75ZPJI57_cjs = require('./chunk-75ZPJI57.cjs');
7
-
8
- // src/server/handlers/memory.ts
9
- var memory_exports = {};
10
- chunk75ZPJI57_cjs.__export(memory_exports, {
11
- createThreadHandler: () => createThreadHandler,
12
- deleteThreadHandler: () => deleteThreadHandler,
13
- getMemoryStatusHandler: () => getMemoryStatusHandler,
14
- getMessagesHandler: () => getMessagesHandler,
15
- getThreadByIdHandler: () => getThreadByIdHandler,
16
- getThreadsHandler: () => getThreadsHandler,
17
- saveMessagesHandler: () => saveMessagesHandler,
18
- updateThreadHandler: () => updateThreadHandler
19
- });
20
- function getMemoryFromContext({
21
- mastra,
22
- agentId
23
- }) {
24
- const agent = agentId ? mastra.getAgent(agentId) : null;
25
- if (agentId && !agent) {
26
- throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Agent not found" });
27
- }
28
- const memory = agent?.getMemory?.() || mastra.getMemory();
29
- return memory;
30
- }
31
- async function getMemoryStatusHandler({ mastra, agentId }) {
32
- try {
33
- const memory = getMemoryFromContext({ mastra, agentId });
34
- if (!memory) {
35
- return { result: false };
36
- }
37
- return { result: true };
38
- } catch (error) {
39
- return chunk64U3UDTH_cjs.handleError(error, "Error getting memory status");
40
- }
41
- }
42
- async function getThreadsHandler({
43
- mastra,
44
- agentId,
45
- resourceId
46
- }) {
47
- try {
48
- const memory = getMemoryFromContext({ mastra, agentId });
49
- if (!memory) {
50
- throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Memory is not initialized" });
51
- }
52
- chunk57CJTIPW_cjs.validateBody({ resourceId });
53
- const threads = await memory.getThreadsByResourceId({ resourceId });
54
- return threads;
55
- } catch (error) {
56
- return chunk64U3UDTH_cjs.handleError(error, "Error getting threads");
57
- }
58
- }
59
- async function getThreadByIdHandler({
60
- mastra,
61
- agentId,
62
- threadId
63
- }) {
64
- try {
65
- chunk57CJTIPW_cjs.validateBody({ threadId });
66
- const memory = getMemoryFromContext({ mastra, agentId });
67
- if (!memory) {
68
- throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Memory is not initialized" });
69
- }
70
- const thread = await memory.getThreadById({ threadId });
71
- if (!thread) {
72
- throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Thread not found" });
73
- }
74
- return thread;
75
- } catch (error) {
76
- return chunk64U3UDTH_cjs.handleError(error, "Error getting thread");
77
- }
78
- }
79
- async function saveMessagesHandler({
80
- mastra,
81
- agentId,
82
- body
83
- }) {
84
- try {
85
- const memory = getMemoryFromContext({ mastra, agentId });
86
- if (!memory) {
87
- throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Memory is not initialized" });
88
- }
89
- if (!body?.messages) {
90
- throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Messages are required" });
91
- }
92
- if (!Array.isArray(body.messages)) {
93
- throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Messages should be an array" });
94
- }
95
- const processedMessages = body.messages.map((message) => ({
96
- ...message,
97
- id: memory.generateId(),
98
- createdAt: message.createdAt ? new Date(message.createdAt) : /* @__PURE__ */ new Date()
99
- }));
100
- const result = await memory.saveMessages({ messages: processedMessages, memoryConfig: {} });
101
- return result;
102
- } catch (error) {
103
- return chunk64U3UDTH_cjs.handleError(error, "Error saving messages");
104
- }
105
- }
106
- async function createThreadHandler({
107
- mastra,
108
- agentId,
109
- body
110
- }) {
111
- try {
112
- const memory = getMemoryFromContext({ mastra, agentId });
113
- if (!memory) {
114
- throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Memory is not initialized" });
115
- }
116
- chunk57CJTIPW_cjs.validateBody({ resourceId: body?.resourceId });
117
- const result = await memory.createThread({
118
- resourceId: body?.resourceId,
119
- title: body?.title,
120
- metadata: body?.metadata,
121
- threadId: body?.threadId
122
- });
123
- return result;
124
- } catch (error) {
125
- return chunk64U3UDTH_cjs.handleError(error, "Error saving thread to memory");
126
- }
127
- }
128
- async function updateThreadHandler({
129
- mastra,
130
- agentId,
131
- threadId,
132
- body
133
- }) {
134
- try {
135
- const memory = getMemoryFromContext({ mastra, agentId });
136
- if (!body) {
137
- throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Body is required" });
138
- }
139
- const { title, metadata, resourceId } = body;
140
- const updatedAt = /* @__PURE__ */ new Date();
141
- chunk57CJTIPW_cjs.validateBody({ threadId });
142
- if (!memory) {
143
- throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Memory is not initialized" });
144
- }
145
- const thread = await memory.getThreadById({ threadId });
146
- if (!thread) {
147
- throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Thread not found" });
148
- }
149
- const updatedThread = {
150
- ...thread,
151
- title: title || thread.title,
152
- metadata: metadata || thread.metadata,
153
- resourceId: resourceId || thread.resourceId,
154
- createdAt: thread.createdAt,
155
- updatedAt
156
- };
157
- const result = await memory.saveThread({ thread: updatedThread });
158
- return result;
159
- } catch (error) {
160
- return chunk64U3UDTH_cjs.handleError(error, "Error updating thread");
161
- }
162
- }
163
- async function deleteThreadHandler({
164
- mastra,
165
- agentId,
166
- threadId
167
- }) {
168
- try {
169
- chunk57CJTIPW_cjs.validateBody({ threadId });
170
- const memory = getMemoryFromContext({ mastra, agentId });
171
- if (!memory) {
172
- throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Memory is not initialized" });
173
- }
174
- const thread = await memory.getThreadById({ threadId });
175
- if (!thread) {
176
- throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Thread not found" });
177
- }
178
- await memory.deleteThread(threadId);
179
- return { result: "Thread deleted" };
180
- } catch (error) {
181
- return chunk64U3UDTH_cjs.handleError(error, "Error deleting thread");
182
- }
183
- }
184
- async function getMessagesHandler({
185
- mastra,
186
- agentId,
187
- threadId,
188
- limit
189
- }) {
190
- if (limit !== void 0 && (!Number.isInteger(limit) || limit <= 0)) {
191
- throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Invalid limit: must be a positive integer" });
192
- }
193
- try {
194
- chunk57CJTIPW_cjs.validateBody({ threadId });
195
- const memory = getMemoryFromContext({ mastra, agentId });
196
- if (!memory) {
197
- throw new chunkOCWPVYNI_cjs.HTTPException(400, { message: "Memory is not initialized" });
198
- }
199
- const thread = await memory.getThreadById({ threadId });
200
- if (!thread) {
201
- throw new chunkOCWPVYNI_cjs.HTTPException(404, { message: "Thread not found" });
202
- }
203
- const result = await memory.query({
204
- threadId,
205
- ...limit && { selectBy: { last: limit } }
206
- });
207
- return { messages: result.messages, uiMessages: result.uiMessages };
208
- } catch (error) {
209
- return chunk64U3UDTH_cjs.handleError(error, "Error getting messages");
210
- }
211
- }
212
-
213
- exports.createThreadHandler = createThreadHandler;
214
- exports.deleteThreadHandler = deleteThreadHandler;
215
- exports.getMemoryStatusHandler = getMemoryStatusHandler;
216
- exports.getMessagesHandler = getMessagesHandler;
217
- exports.getThreadByIdHandler = getThreadByIdHandler;
218
- exports.getThreadsHandler = getThreadsHandler;
219
- exports.memory_exports = memory_exports;
220
- exports.saveMessagesHandler = saveMessagesHandler;
221
- exports.updateThreadHandler = updateThreadHandler;