servicem8 0.9.5 → 0.9.7

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 (79) hide show
  1. package/api.json +304 -304
  2. package/bin/mcp-server.js +19 -7
  3. package/bin/mcp-server.js.map +7 -7
  4. package/dist/commonjs/funcs/searchJobEmbeddingSearch.d.ts +13 -1
  5. package/dist/commonjs/funcs/searchJobEmbeddingSearch.d.ts.map +1 -1
  6. package/dist/commonjs/funcs/searchJobEmbeddingSearch.js +13 -1
  7. package/dist/commonjs/funcs/searchJobEmbeddingSearch.js.map +1 -1
  8. package/dist/commonjs/lib/config.d.ts +3 -3
  9. package/dist/commonjs/lib/config.js +3 -3
  10. package/dist/commonjs/mcp-server/mcp-server.js +1 -1
  11. package/dist/commonjs/mcp-server/server.js +1 -1
  12. package/dist/commonjs/mcp-server/tools/searchJobEmbeddingSearch.d.ts.map +1 -1
  13. package/dist/commonjs/mcp-server/tools/searchJobEmbeddingSearch.js +13 -1
  14. package/dist/commonjs/mcp-server/tools/searchJobEmbeddingSearch.js.map +1 -1
  15. package/dist/commonjs/sdk/search.d.ts +13 -1
  16. package/dist/commonjs/sdk/search.d.ts.map +1 -1
  17. package/dist/commonjs/sdk/search.js +13 -1
  18. package/dist/commonjs/sdk/search.js.map +1 -1
  19. package/dist/esm/funcs/searchJobEmbeddingSearch.d.ts +13 -1
  20. package/dist/esm/funcs/searchJobEmbeddingSearch.d.ts.map +1 -1
  21. package/dist/esm/funcs/searchJobEmbeddingSearch.js +13 -1
  22. package/dist/esm/funcs/searchJobEmbeddingSearch.js.map +1 -1
  23. package/dist/esm/lib/config.d.ts +3 -3
  24. package/dist/esm/lib/config.js +3 -3
  25. package/dist/esm/mcp-server/mcp-server.js +1 -1
  26. package/dist/esm/mcp-server/server.js +1 -1
  27. package/dist/esm/mcp-server/tools/searchJobEmbeddingSearch.d.ts.map +1 -1
  28. package/dist/esm/mcp-server/tools/searchJobEmbeddingSearch.js +13 -1
  29. package/dist/esm/mcp-server/tools/searchJobEmbeddingSearch.js.map +1 -1
  30. package/dist/esm/sdk/search.d.ts +13 -1
  31. package/dist/esm/sdk/search.d.ts.map +1 -1
  32. package/dist/esm/sdk/search.js +13 -1
  33. package/dist/esm/sdk/search.js.map +1 -1
  34. package/docs/sdks/allocationwindows/README.md +4 -4
  35. package/docs/sdks/assets/README.md +6 -6
  36. package/docs/sdks/assettypefields/README.md +8 -8
  37. package/docs/sdks/assettypes/README.md +4 -4
  38. package/docs/sdks/attachments/README.md +12 -12
  39. package/docs/sdks/badges/README.md +12 -12
  40. package/docs/sdks/bundles/README.md +4 -4
  41. package/docs/sdks/categories/README.md +4 -4
  42. package/docs/sdks/clients/README.md +8 -8
  43. package/docs/sdks/companycontacts/README.md +8 -8
  44. package/docs/sdks/emailtemplates/README.md +4 -4
  45. package/docs/sdks/feedback/README.md +8 -8
  46. package/docs/sdks/formfields/README.md +8 -8
  47. package/docs/sdks/formresponses/README.md +28 -28
  48. package/docs/sdks/forms/README.md +8 -8
  49. package/docs/sdks/jobactivities/README.md +20 -20
  50. package/docs/sdks/joballocations/README.md +24 -24
  51. package/docs/sdks/jobchecklists/README.md +32 -32
  52. package/docs/sdks/jobcontacts/README.md +8 -8
  53. package/docs/sdks/jobmaterialbundles/README.md +12 -12
  54. package/docs/sdks/jobmaterials/README.md +20 -20
  55. package/docs/sdks/jobpayments/README.md +16 -16
  56. package/docs/sdks/jobqueues/README.md +4 -4
  57. package/docs/sdks/jobs/README.md +32 -32
  58. package/docs/sdks/jobtemplates/README.md +4 -4
  59. package/docs/sdks/knowledgearticles/README.md +4 -4
  60. package/docs/sdks/locations/README.md +4 -4
  61. package/docs/sdks/materials/README.md +8 -8
  62. package/docs/sdks/notes/README.md +12 -12
  63. package/docs/sdks/search/README.md +13 -1
  64. package/docs/sdks/securityroles/README.md +4 -4
  65. package/docs/sdks/smstemplates/README.md +4 -4
  66. package/docs/sdks/staffmembers/README.md +12 -12
  67. package/docs/sdks/staffmessages/README.md +16 -16
  68. package/docs/sdks/tasks/README.md +20 -20
  69. package/docs/sdks/taxrates/README.md +4 -4
  70. package/docs/sdks/vendors/README.md +2 -2
  71. package/examples/package-lock.json +1 -1
  72. package/jsr.json +1 -1
  73. package/package.json +1 -1
  74. package/src/funcs/searchJobEmbeddingSearch.ts +13 -1
  75. package/src/lib/config.ts +3 -3
  76. package/src/mcp-server/mcp-server.ts +1 -1
  77. package/src/mcp-server/server.ts +1 -1
  78. package/src/mcp-server/tools/searchJobEmbeddingSearch.ts +13 -1
  79. package/src/sdk/search.ts +13 -1
@@ -121,7 +121,7 @@ const serviceM8 = new ServiceM8({
121
121
 
122
122
  async function run() {
123
123
  const result = await serviceM8.knowledgeArticles.createKnowledgeArticles({
124
- uuid: "123e4567-d396-4fe6-afa6-2306f267ddab",
124
+ uuid: "123e4567-fb97-4bdd-8002-2308e239b58b",
125
125
  name: "<value>",
126
126
  });
127
127
 
@@ -149,7 +149,7 @@ const serviceM8 = new ServiceM8Core({
149
149
 
150
150
  async function run() {
151
151
  const res = await knowledgeArticlesCreateKnowledgeArticles(serviceM8, {
152
- uuid: "123e4567-d396-4fe6-afa6-2306f267ddab",
152
+ uuid: "123e4567-fb97-4bdd-8002-2308e239b58b",
153
153
  name: "<value>",
154
154
  });
155
155
  if (res.ok) {
@@ -289,7 +289,7 @@ async function run() {
289
289
  const result = await serviceM8.knowledgeArticles.updateKnowledgeArticles({
290
290
  uuid: "a643fa14-496b-46a5-88bc-4e67bb92bafd",
291
291
  knowledgeArticle: {
292
- uuid: "123e4567-d396-4fe6-afa6-2306f267ddab",
292
+ uuid: "123e4567-fb97-4bdd-8002-2308e239b58b",
293
293
  name: "<value>",
294
294
  },
295
295
  });
@@ -320,7 +320,7 @@ async function run() {
320
320
  const res = await knowledgeArticlesUpdateKnowledgeArticles(serviceM8, {
321
321
  uuid: "a643fa14-496b-46a5-88bc-4e67bb92bafd",
322
322
  knowledgeArticle: {
323
- uuid: "123e4567-d396-4fe6-afa6-2306f267ddab",
323
+ uuid: "123e4567-fb97-4bdd-8002-2308e239b58b",
324
324
  name: "<value>",
325
325
  },
326
326
  });
@@ -122,7 +122,7 @@ const serviceM8 = new ServiceM8({
122
122
  async function run() {
123
123
  const result = await serviceM8.locations.createLocations({
124
124
  name: "<value>",
125
- uuid: "123e4567-3f42-44f8-a68a-2306f6b3288b",
125
+ uuid: "123e4567-34f1-4e7b-9772-2308eda49fbb",
126
126
  });
127
127
 
128
128
  console.log(result);
@@ -150,7 +150,7 @@ const serviceM8 = new ServiceM8Core({
150
150
  async function run() {
151
151
  const res = await locationsCreateLocations(serviceM8, {
152
152
  name: "<value>",
153
- uuid: "123e4567-3f42-44f8-a68a-2306f6b3288b",
153
+ uuid: "123e4567-34f1-4e7b-9772-2308eda49fbb",
154
154
  });
155
155
  if (res.ok) {
156
156
  const { value: result } = res;
@@ -290,7 +290,7 @@ async function run() {
290
290
  uuid: "fee3b1fa-ab4e-4094-823d-0885a2f7b69f",
291
291
  location: {
292
292
  name: "<value>",
293
- uuid: "123e4567-3f42-44f8-a68a-2306f6b3288b",
293
+ uuid: "123e4567-34f1-4e7b-9772-2308eda49fbb",
294
294
  },
295
295
  });
296
296
 
@@ -321,7 +321,7 @@ async function run() {
321
321
  uuid: "fee3b1fa-ab4e-4094-823d-0885a2f7b69f",
322
322
  location: {
323
323
  name: "<value>",
324
- uuid: "123e4567-3f42-44f8-a68a-2306f6b3288b",
324
+ uuid: "123e4567-34f1-4e7b-9772-2308eda49fbb",
325
325
  },
326
326
  });
327
327
  if (res.ok) {
@@ -122,8 +122,8 @@ const serviceM8 = new ServiceM8({
122
122
  async function run() {
123
123
  const result = await serviceM8.materials.createMaterials({
124
124
  name: "<value>",
125
- uuid: "123e4567-eb20-4ee0-88da-2306f9cb89fb",
126
- taxRateUuid: "123e4567-6400-46a9-8c2e-2306f61e778b",
125
+ uuid: "123e4567-bbf3-4274-aed5-2308e5918f9b",
126
+ taxRateUuid: "123e4567-4477-487f-8031-2308e9c3b50b",
127
127
  });
128
128
 
129
129
  console.log(result);
@@ -151,8 +151,8 @@ const serviceM8 = new ServiceM8Core({
151
151
  async function run() {
152
152
  const res = await materialsCreateMaterials(serviceM8, {
153
153
  name: "<value>",
154
- uuid: "123e4567-eb20-4ee0-88da-2306f9cb89fb",
155
- taxRateUuid: "123e4567-6400-46a9-8c2e-2306f61e778b",
154
+ uuid: "123e4567-bbf3-4274-aed5-2308e5918f9b",
155
+ taxRateUuid: "123e4567-4477-487f-8031-2308e9c3b50b",
156
156
  });
157
157
  if (res.ok) {
158
158
  const { value: result } = res;
@@ -292,8 +292,8 @@ async function run() {
292
292
  uuid: "8a4aa688-8b41-4ab3-b862-24327504b606",
293
293
  material: {
294
294
  name: "<value>",
295
- uuid: "123e4567-eb20-4ee0-88da-2306f9cb89fb",
296
- taxRateUuid: "123e4567-6400-46a9-8c2e-2306f61e778b",
295
+ uuid: "123e4567-bbf3-4274-aed5-2308e5918f9b",
296
+ taxRateUuid: "123e4567-4477-487f-8031-2308e9c3b50b",
297
297
  },
298
298
  });
299
299
 
@@ -324,8 +324,8 @@ async function run() {
324
324
  uuid: "8a4aa688-8b41-4ab3-b862-24327504b606",
325
325
  material: {
326
326
  name: "<value>",
327
- uuid: "123e4567-eb20-4ee0-88da-2306f9cb89fb",
328
- taxRateUuid: "123e4567-6400-46a9-8c2e-2306f61e778b",
327
+ uuid: "123e4567-bbf3-4274-aed5-2308e5918f9b",
328
+ taxRateUuid: "123e4567-4477-487f-8031-2308e9c3b50b",
329
329
  },
330
330
  });
331
331
  if (res.ok) {
@@ -111,9 +111,9 @@ const serviceM8 = new ServiceM8({
111
111
 
112
112
  async function run() {
113
113
  const result = await serviceM8.notes.createNotes({
114
- uuid: "123e4567-cd5e-4f86-b261-2306f812fd9b",
115
- relatedObjectUuid: "123e4567-d1de-4b56-b718-2306f312989b",
116
- actionCompletedByStaffUuid: "123e4567-1cd7-4dd4-91a8-2306f960d1fb",
114
+ uuid: "123e4567-3fec-4c84-8fb2-2308e90efc7b",
115
+ relatedObjectUuid: "123e4567-02b3-4981-ab44-2308eb0e0c8b",
116
+ actionCompletedByStaffUuid: "123e4567-7318-4f49-9b3b-2308e62aaf2b",
117
117
  createDate: "2025-07-01 12:00:00",
118
118
  });
119
119
 
@@ -141,9 +141,9 @@ const serviceM8 = new ServiceM8Core({
141
141
 
142
142
  async function run() {
143
143
  const res = await notesCreateNotes(serviceM8, {
144
- uuid: "123e4567-cd5e-4f86-b261-2306f812fd9b",
145
- relatedObjectUuid: "123e4567-d1de-4b56-b718-2306f312989b",
146
- actionCompletedByStaffUuid: "123e4567-1cd7-4dd4-91a8-2306f960d1fb",
144
+ uuid: "123e4567-3fec-4c84-8fb2-2308e90efc7b",
145
+ relatedObjectUuid: "123e4567-02b3-4981-ab44-2308eb0e0c8b",
146
+ actionCompletedByStaffUuid: "123e4567-7318-4f49-9b3b-2308e62aaf2b",
147
147
  createDate: "2025-07-01 12:00:00",
148
148
  });
149
149
  if (res.ok) {
@@ -273,9 +273,9 @@ async function run() {
273
273
  const result = await serviceM8.notes.updateNotes({
274
274
  uuid: "1607abff-6202-4423-ae91-39b08699f830",
275
275
  note: {
276
- uuid: "123e4567-cd5e-4f86-b261-2306f812fd9b",
277
- relatedObjectUuid: "123e4567-d1de-4b56-b718-2306f312989b",
278
- actionCompletedByStaffUuid: "123e4567-1cd7-4dd4-91a8-2306f960d1fb",
276
+ uuid: "123e4567-3fec-4c84-8fb2-2308e90efc7b",
277
+ relatedObjectUuid: "123e4567-02b3-4981-ab44-2308eb0e0c8b",
278
+ actionCompletedByStaffUuid: "123e4567-7318-4f49-9b3b-2308e62aaf2b",
279
279
  createDate: "2025-07-01 12:00:00",
280
280
  },
281
281
  });
@@ -306,9 +306,9 @@ async function run() {
306
306
  const res = await notesUpdateNotes(serviceM8, {
307
307
  uuid: "1607abff-6202-4423-ae91-39b08699f830",
308
308
  note: {
309
- uuid: "123e4567-cd5e-4f86-b261-2306f812fd9b",
310
- relatedObjectUuid: "123e4567-d1de-4b56-b718-2306f312989b",
311
- actionCompletedByStaffUuid: "123e4567-1cd7-4dd4-91a8-2306f960d1fb",
309
+ uuid: "123e4567-3fec-4c84-8fb2-2308e90efc7b",
310
+ relatedObjectUuid: "123e4567-02b3-4981-ab44-2308eb0e0c8b",
311
+ actionCompletedByStaffUuid: "123e4567-7318-4f49-9b3b-2308e62aaf2b",
312
312
  createDate: "2025-07-01 12:00:00",
313
313
  },
314
314
  });
@@ -169,7 +169,19 @@ run();
169
169
 
170
170
  ## jobEmbeddingSearch
171
171
 
172
- Performs semantic/embedding-based search on job content. This uses AI to find jobs with similar meaning, not just exact text matches.
172
+ Harness the power of advanced AI embeddings to revolutionise how you search through job data. This endpoint transforms your search query into high-dimensional vector embeddings, then intelligently matches it against our entire job database using semantic similarity algorithms.
173
+
174
+ How it works:
175
+ 1. AI Query Understanding - Your search terms are processed through neural embedding models that understand context, intent, and meaning
176
+ 2. Vector-Based Matching - The system compares your query against vector representations of all job content in real-time
177
+ 3. Intelligent Ranking - Returns results ranked by semantic similarity, not just keyword matching
178
+
179
+ Why this matters:
180
+ - Find jobs about "plumbing repairs" even when searching for "fixing pipes"
181
+ - Discover relevant work orders that use different terminology but share the same intent
182
+ - Uncover hidden patterns and connections in your job data that traditional search would miss
183
+
184
+ This isn't just search—it's AI that truly understands what you're looking for and delivers the most relevant results, even when the exact words don't match.
173
185
 
174
186
  ### Example Usage
175
187
 
@@ -112,7 +112,7 @@ const serviceM8 = new ServiceM8({
112
112
  async function run() {
113
113
  const result = await serviceM8.securityRoles.createSecurityRoles({
114
114
  name: "<value>",
115
- uuid: "123e4567-50b6-4a66-ad48-2306f01f4a8b",
115
+ uuid: "123e4567-dd05-4a9a-8f91-2308e543869b",
116
116
  });
117
117
 
118
118
  console.log(result);
@@ -140,7 +140,7 @@ const serviceM8 = new ServiceM8Core({
140
140
  async function run() {
141
141
  const res = await securityRolesCreateSecurityRoles(serviceM8, {
142
142
  name: "<value>",
143
- uuid: "123e4567-50b6-4a66-ad48-2306f01f4a8b",
143
+ uuid: "123e4567-dd05-4a9a-8f91-2308e543869b",
144
144
  });
145
145
  if (res.ok) {
146
146
  const { value: result } = res;
@@ -270,7 +270,7 @@ async function run() {
270
270
  uuid: "f0a90dcf-f873-4a05-b043-1b34fcb5507e",
271
271
  securityRole: {
272
272
  name: "<value>",
273
- uuid: "123e4567-50b6-4a66-ad48-2306f01f4a8b",
273
+ uuid: "123e4567-dd05-4a9a-8f91-2308e543869b",
274
274
  },
275
275
  });
276
276
 
@@ -301,7 +301,7 @@ async function run() {
301
301
  uuid: "f0a90dcf-f873-4a05-b043-1b34fcb5507e",
302
302
  securityRole: {
303
303
  name: "<value>",
304
- uuid: "123e4567-50b6-4a66-ad48-2306f01f4a8b",
304
+ uuid: "123e4567-dd05-4a9a-8f91-2308e543869b",
305
305
  },
306
306
  });
307
307
  if (res.ok) {
@@ -111,7 +111,7 @@ const serviceM8 = new ServiceM8({
111
111
 
112
112
  async function run() {
113
113
  const result = await serviceM8.smsTemplates.createSMSTemplates({
114
- uuid: "123e4567-db1f-4123-ba34-2306f311654b",
114
+ uuid: "123e4567-a8ec-401c-8752-2308ef39d60b",
115
115
  name: "<value>",
116
116
  });
117
117
 
@@ -139,7 +139,7 @@ const serviceM8 = new ServiceM8Core({
139
139
 
140
140
  async function run() {
141
141
  const res = await smsTemplatesCreateSMSTemplates(serviceM8, {
142
- uuid: "123e4567-db1f-4123-ba34-2306f311654b",
142
+ uuid: "123e4567-a8ec-401c-8752-2308ef39d60b",
143
143
  name: "<value>",
144
144
  });
145
145
  if (res.ok) {
@@ -269,7 +269,7 @@ async function run() {
269
269
  const result = await serviceM8.smsTemplates.updateSMSTemplates({
270
270
  uuid: "2ea183b5-88e4-4168-a975-1820b2711ae4",
271
271
  smsTemplate: {
272
- uuid: "123e4567-db1f-4123-ba34-2306f311654b",
272
+ uuid: "123e4567-a8ec-401c-8752-2308ef39d60b",
273
273
  name: "<value>",
274
274
  },
275
275
  });
@@ -300,7 +300,7 @@ async function run() {
300
300
  const res = await smsTemplatesUpdateSMSTemplates(serviceM8, {
301
301
  uuid: "2ea183b5-88e4-4168-a975-1820b2711ae4",
302
302
  smsTemplate: {
303
- uuid: "123e4567-db1f-4123-ba34-2306f311654b",
303
+ uuid: "123e4567-a8ec-401c-8752-2308ef39d60b",
304
304
  name: "<value>",
305
305
  },
306
306
  });
@@ -125,12 +125,12 @@ async function run() {
125
125
  last: "<value>",
126
126
  email: "Larissa_Pfannerstill75@hotmail.com",
127
127
  geoTimestamp: "2025-07-01 12:00:00",
128
- navigatingToJobUuid: "123e4567-d29e-4014-9cd3-2306f27a2c5b",
128
+ navigatingToJobUuid: "123e4567-d911-4f68-839c-2308e017457b",
129
129
  navigatingTimestamp: "2025-07-01 12:00:00",
130
130
  navigatingExpiryTimestamp: "2025-07-01 12:00:00",
131
131
  statusMessageTimestamp: "2025-07-01 12:00:00",
132
- securityRoleUuid: "123e4567-73da-4303-ab30-2306f219051b",
133
- uuid: "123e4567-fb72-4cad-a20f-2306fafc49bb",
132
+ securityRoleUuid: "123e4567-fd59-415b-881f-2308e4bed41b",
133
+ uuid: "123e4567-fbbf-4600-9186-2308ed54de5b",
134
134
  });
135
135
 
136
136
  console.log(result);
@@ -161,12 +161,12 @@ async function run() {
161
161
  last: "<value>",
162
162
  email: "Larissa_Pfannerstill75@hotmail.com",
163
163
  geoTimestamp: "2025-07-01 12:00:00",
164
- navigatingToJobUuid: "123e4567-d29e-4014-9cd3-2306f27a2c5b",
164
+ navigatingToJobUuid: "123e4567-d911-4f68-839c-2308e017457b",
165
165
  navigatingTimestamp: "2025-07-01 12:00:00",
166
166
  navigatingExpiryTimestamp: "2025-07-01 12:00:00",
167
167
  statusMessageTimestamp: "2025-07-01 12:00:00",
168
- securityRoleUuid: "123e4567-73da-4303-ab30-2306f219051b",
169
- uuid: "123e4567-fb72-4cad-a20f-2306fafc49bb",
168
+ securityRoleUuid: "123e4567-fd59-415b-881f-2308e4bed41b",
169
+ uuid: "123e4567-fbbf-4600-9186-2308ed54de5b",
170
170
  });
171
171
  if (res.ok) {
172
172
  const { value: result } = res;
@@ -309,12 +309,12 @@ async function run() {
309
309
  last: "<value>",
310
310
  email: "Mckenna_Yundt@hotmail.com",
311
311
  geoTimestamp: "2025-07-01 12:00:00",
312
- navigatingToJobUuid: "123e4567-d29e-4014-9cd3-2306f27a2c5b",
312
+ navigatingToJobUuid: "123e4567-d911-4f68-839c-2308e017457b",
313
313
  navigatingTimestamp: "2025-07-01 12:00:00",
314
314
  navigatingExpiryTimestamp: "2025-07-01 12:00:00",
315
315
  statusMessageTimestamp: "2025-07-01 12:00:00",
316
- securityRoleUuid: "123e4567-73da-4303-ab30-2306f219051b",
317
- uuid: "123e4567-fb72-4cad-a20f-2306fafc49bb",
316
+ securityRoleUuid: "123e4567-fd59-415b-881f-2308e4bed41b",
317
+ uuid: "123e4567-fbbf-4600-9186-2308ed54de5b",
318
318
  },
319
319
  });
320
320
 
@@ -348,12 +348,12 @@ async function run() {
348
348
  last: "<value>",
349
349
  email: "Mckenna_Yundt@hotmail.com",
350
350
  geoTimestamp: "2025-07-01 12:00:00",
351
- navigatingToJobUuid: "123e4567-d29e-4014-9cd3-2306f27a2c5b",
351
+ navigatingToJobUuid: "123e4567-d911-4f68-839c-2308e017457b",
352
352
  navigatingTimestamp: "2025-07-01 12:00:00",
353
353
  navigatingExpiryTimestamp: "2025-07-01 12:00:00",
354
354
  statusMessageTimestamp: "2025-07-01 12:00:00",
355
- securityRoleUuid: "123e4567-73da-4303-ab30-2306f219051b",
356
- uuid: "123e4567-fb72-4cad-a20f-2306fafc49bb",
355
+ securityRoleUuid: "123e4567-fd59-415b-881f-2308e4bed41b",
356
+ uuid: "123e4567-fbbf-4600-9186-2308ed54de5b",
357
357
  },
358
358
  });
359
359
  if (res.ok) {
@@ -111,13 +111,13 @@ const serviceM8 = new ServiceM8({
111
111
 
112
112
  async function run() {
113
113
  const result = await serviceM8.staffMessages.createStaffMessages({
114
- uuid: "123e4567-718f-41e4-b7d1-2306fbeff2ab",
115
- fromStaffUuid: "123e4567-7204-4f01-a8dd-2306f7d4ddeb",
116
- toStaffUuid: "123e4567-d532-47f4-b118-2306f21490ab",
114
+ uuid: "123e4567-3ef0-4e12-b4ac-2308eb1f84db",
115
+ fromStaffUuid: "123e4567-5c8e-4456-9c01-2308ef60b03b",
116
+ toStaffUuid: "123e4567-2fd6-40c9-a3a3-2308eba8043b",
117
117
  sentTimestamp: "2025-07-01 12:00:00",
118
118
  deliveredTimestamp: "2025-07-01 12:00:00",
119
119
  readTimestamp: "2025-07-01 12:00:00",
120
- regardingJobUuid: "123e4567-6425-4d9b-ac7f-2306f7def75b",
120
+ regardingJobUuid: "123e4567-7401-4c54-ae89-2308ee1b1b1b",
121
121
  });
122
122
 
123
123
  console.log(result);
@@ -144,13 +144,13 @@ const serviceM8 = new ServiceM8Core({
144
144
 
145
145
  async function run() {
146
146
  const res = await staffMessagesCreateStaffMessages(serviceM8, {
147
- uuid: "123e4567-718f-41e4-b7d1-2306fbeff2ab",
148
- fromStaffUuid: "123e4567-7204-4f01-a8dd-2306f7d4ddeb",
149
- toStaffUuid: "123e4567-d532-47f4-b118-2306f21490ab",
147
+ uuid: "123e4567-3ef0-4e12-b4ac-2308eb1f84db",
148
+ fromStaffUuid: "123e4567-5c8e-4456-9c01-2308ef60b03b",
149
+ toStaffUuid: "123e4567-2fd6-40c9-a3a3-2308eba8043b",
150
150
  sentTimestamp: "2025-07-01 12:00:00",
151
151
  deliveredTimestamp: "2025-07-01 12:00:00",
152
152
  readTimestamp: "2025-07-01 12:00:00",
153
- regardingJobUuid: "123e4567-6425-4d9b-ac7f-2306f7def75b",
153
+ regardingJobUuid: "123e4567-7401-4c54-ae89-2308ee1b1b1b",
154
154
  });
155
155
  if (res.ok) {
156
156
  const { value: result } = res;
@@ -279,13 +279,13 @@ async function run() {
279
279
  const result = await serviceM8.staffMessages.updateStaffMessages({
280
280
  uuid: "b5fd0f7a-6810-4261-acdb-e8e543cf4e72",
281
281
  staffMessage: {
282
- uuid: "123e4567-718f-41e4-b7d1-2306fbeff2ab",
283
- fromStaffUuid: "123e4567-7204-4f01-a8dd-2306f7d4ddeb",
284
- toStaffUuid: "123e4567-d532-47f4-b118-2306f21490ab",
282
+ uuid: "123e4567-3ef0-4e12-b4ac-2308eb1f84db",
283
+ fromStaffUuid: "123e4567-5c8e-4456-9c01-2308ef60b03b",
284
+ toStaffUuid: "123e4567-2fd6-40c9-a3a3-2308eba8043b",
285
285
  sentTimestamp: "2025-07-01 12:00:00",
286
286
  deliveredTimestamp: "2025-07-01 12:00:00",
287
287
  readTimestamp: "2025-07-01 12:00:00",
288
- regardingJobUuid: "123e4567-6425-4d9b-ac7f-2306f7def75b",
288
+ regardingJobUuid: "123e4567-7401-4c54-ae89-2308ee1b1b1b",
289
289
  },
290
290
  });
291
291
 
@@ -315,13 +315,13 @@ async function run() {
315
315
  const res = await staffMessagesUpdateStaffMessages(serviceM8, {
316
316
  uuid: "b5fd0f7a-6810-4261-acdb-e8e543cf4e72",
317
317
  staffMessage: {
318
- uuid: "123e4567-718f-41e4-b7d1-2306fbeff2ab",
319
- fromStaffUuid: "123e4567-7204-4f01-a8dd-2306f7d4ddeb",
320
- toStaffUuid: "123e4567-d532-47f4-b118-2306f21490ab",
318
+ uuid: "123e4567-3ef0-4e12-b4ac-2308eb1f84db",
319
+ fromStaffUuid: "123e4567-5c8e-4456-9c01-2308ef60b03b",
320
+ toStaffUuid: "123e4567-2fd6-40c9-a3a3-2308eba8043b",
321
321
  sentTimestamp: "2025-07-01 12:00:00",
322
322
  deliveredTimestamp: "2025-07-01 12:00:00",
323
323
  readTimestamp: "2025-07-01 12:00:00",
324
- regardingJobUuid: "123e4567-6425-4d9b-ac7f-2306f7def75b",
324
+ regardingJobUuid: "123e4567-7401-4c54-ae89-2308ee1b1b1b",
325
325
  },
326
326
  });
327
327
  if (res.ok) {
@@ -123,12 +123,12 @@ async function run() {
123
123
  const result = await serviceM8.tasks.createTasks({
124
124
  dueDate: "YYYY-MM-DD",
125
125
  name: "<value>",
126
- relatedObjectUuid: "123e4567-ad1b-4c7d-8384-2306fe00f88b",
126
+ relatedObjectUuid: "123e4567-4660-4e80-957e-2308e0e1332b",
127
127
  completedTimestamp: "2025-07-01 12:00:00",
128
- completedByStaffUuid: "123e4567-ae1e-4e83-9632-2306f0f84d2b",
129
- assignedToStaffUuid: "123e4567-e582-452f-ae18-2306f60a55ab",
130
- uuid: "123e4567-dec4-4567-9ee5-2306f8705beb",
131
- createdByStaffUuid: "123e4567-8d58-4b9f-87c3-2306f3e4825b",
128
+ completedByStaffUuid: "123e4567-f36b-4e2f-904f-2308e28ed7eb",
129
+ assignedToStaffUuid: "123e4567-d1e7-4d36-9e99-2308e7ad1e7b",
130
+ uuid: "123e4567-f8cc-45fb-8df6-2308e5549ecb",
131
+ createdByStaffUuid: "123e4567-4c50-4427-b613-2308ead6303b",
132
132
  createDate: "2025-07-01 12:00:00",
133
133
  });
134
134
 
@@ -158,12 +158,12 @@ async function run() {
158
158
  const res = await tasksCreateTasks(serviceM8, {
159
159
  dueDate: "YYYY-MM-DD",
160
160
  name: "<value>",
161
- relatedObjectUuid: "123e4567-ad1b-4c7d-8384-2306fe00f88b",
161
+ relatedObjectUuid: "123e4567-4660-4e80-957e-2308e0e1332b",
162
162
  completedTimestamp: "2025-07-01 12:00:00",
163
- completedByStaffUuid: "123e4567-ae1e-4e83-9632-2306f0f84d2b",
164
- assignedToStaffUuid: "123e4567-e582-452f-ae18-2306f60a55ab",
165
- uuid: "123e4567-dec4-4567-9ee5-2306f8705beb",
166
- createdByStaffUuid: "123e4567-8d58-4b9f-87c3-2306f3e4825b",
163
+ completedByStaffUuid: "123e4567-f36b-4e2f-904f-2308e28ed7eb",
164
+ assignedToStaffUuid: "123e4567-d1e7-4d36-9e99-2308e7ad1e7b",
165
+ uuid: "123e4567-f8cc-45fb-8df6-2308e5549ecb",
166
+ createdByStaffUuid: "123e4567-4c50-4427-b613-2308ead6303b",
167
167
  createDate: "2025-07-01 12:00:00",
168
168
  });
169
169
  if (res.ok) {
@@ -305,12 +305,12 @@ async function run() {
305
305
  task: {
306
306
  dueDate: "YYYY-MM-DD",
307
307
  name: "<value>",
308
- relatedObjectUuid: "123e4567-ad1b-4c7d-8384-2306fe00f88b",
308
+ relatedObjectUuid: "123e4567-4660-4e80-957e-2308e0e1332b",
309
309
  completedTimestamp: "2025-07-01 12:00:00",
310
- completedByStaffUuid: "123e4567-ae1e-4e83-9632-2306f0f84d2b",
311
- assignedToStaffUuid: "123e4567-e582-452f-ae18-2306f60a55ab",
312
- uuid: "123e4567-dec4-4567-9ee5-2306f8705beb",
313
- createdByStaffUuid: "123e4567-8d58-4b9f-87c3-2306f3e4825b",
310
+ completedByStaffUuid: "123e4567-f36b-4e2f-904f-2308e28ed7eb",
311
+ assignedToStaffUuid: "123e4567-d1e7-4d36-9e99-2308e7ad1e7b",
312
+ uuid: "123e4567-f8cc-45fb-8df6-2308e5549ecb",
313
+ createdByStaffUuid: "123e4567-4c50-4427-b613-2308ead6303b",
314
314
  createDate: "2025-07-01 12:00:00",
315
315
  },
316
316
  });
@@ -343,12 +343,12 @@ async function run() {
343
343
  task: {
344
344
  dueDate: "YYYY-MM-DD",
345
345
  name: "<value>",
346
- relatedObjectUuid: "123e4567-ad1b-4c7d-8384-2306fe00f88b",
346
+ relatedObjectUuid: "123e4567-4660-4e80-957e-2308e0e1332b",
347
347
  completedTimestamp: "2025-07-01 12:00:00",
348
- completedByStaffUuid: "123e4567-ae1e-4e83-9632-2306f0f84d2b",
349
- assignedToStaffUuid: "123e4567-e582-452f-ae18-2306f60a55ab",
350
- uuid: "123e4567-dec4-4567-9ee5-2306f8705beb",
351
- createdByStaffUuid: "123e4567-8d58-4b9f-87c3-2306f3e4825b",
348
+ completedByStaffUuid: "123e4567-f36b-4e2f-904f-2308e28ed7eb",
349
+ assignedToStaffUuid: "123e4567-d1e7-4d36-9e99-2308e7ad1e7b",
350
+ uuid: "123e4567-f8cc-45fb-8df6-2308e5549ecb",
351
+ createdByStaffUuid: "123e4567-4c50-4427-b613-2308ead6303b",
352
352
  createDate: "2025-07-01 12:00:00",
353
353
  },
354
354
  });
@@ -111,7 +111,7 @@ const serviceM8 = new ServiceM8({
111
111
 
112
112
  async function run() {
113
113
  const result = await serviceM8.taxRates.createTaxRates({
114
- uuid: "123e4567-3d24-42fb-8816-2306ff6b15db",
114
+ uuid: "123e4567-3b9d-49c5-8a32-2308e7dd411b",
115
115
  name: "<value>",
116
116
  });
117
117
 
@@ -139,7 +139,7 @@ const serviceM8 = new ServiceM8Core({
139
139
 
140
140
  async function run() {
141
141
  const res = await taxRatesCreateTaxRates(serviceM8, {
142
- uuid: "123e4567-3d24-42fb-8816-2306ff6b15db",
142
+ uuid: "123e4567-3b9d-49c5-8a32-2308e7dd411b",
143
143
  name: "<value>",
144
144
  });
145
145
  if (res.ok) {
@@ -269,7 +269,7 @@ async function run() {
269
269
  const result = await serviceM8.taxRates.updateTaxRates({
270
270
  uuid: "276d45f4-bf8b-41ae-82d4-264af7ec45cc",
271
271
  taxRate: {
272
- uuid: "123e4567-3d24-42fb-8816-2306ff6b15db",
272
+ uuid: "123e4567-3b9d-49c5-8a32-2308e7dd411b",
273
273
  name: "<value>",
274
274
  },
275
275
  });
@@ -300,7 +300,7 @@ async function run() {
300
300
  const res = await taxRatesUpdateTaxRates(serviceM8, {
301
301
  uuid: "276d45f4-bf8b-41ae-82d4-264af7ec45cc",
302
302
  taxRate: {
303
- uuid: "123e4567-3d24-42fb-8816-2306ff6b15db",
303
+ uuid: "123e4567-3b9d-49c5-8a32-2308e7dd411b",
304
304
  name: "<value>",
305
305
  },
306
306
  });
@@ -199,7 +199,7 @@ async function run() {
199
199
  const result = await serviceM8.vendors.updateVendors({
200
200
  uuid: "d90cffed-8677-4cbe-ab38-b734ac463633",
201
201
  vendor: {
202
- uuid: "123e4567-28df-466e-b2b4-2306f7363a8b",
202
+ uuid: "123e4567-f8b6-4fea-b8ae-2308e6ab320b",
203
203
  name: "<value>",
204
204
  },
205
205
  });
@@ -230,7 +230,7 @@ async function run() {
230
230
  const res = await vendorsUpdateVendors(serviceM8, {
231
231
  uuid: "d90cffed-8677-4cbe-ab38-b734ac463633",
232
232
  vendor: {
233
- uuid: "123e4567-28df-466e-b2b4-2306f7363a8b",
233
+ uuid: "123e4567-f8b6-4fea-b8ae-2308e6ab320b",
234
234
  name: "<value>",
235
235
  },
236
236
  });
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "..": {
20
20
  "name": "servicem8",
21
- "version": "0.9.5",
21
+ "version": "0.9.7",
22
22
  "bin": {
23
23
  "mcp": "bin/mcp-server.js"
24
24
  },
package/jsr.json CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  {
4
4
  "name": "servicem8",
5
- "version": "0.9.5",
5
+ "version": "0.9.7",
6
6
  "exports": {
7
7
  ".": "./src/index.ts",
8
8
  "./models/errors": "./src/models/errors/index.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "servicem8",
3
- "version": "0.9.5",
3
+ "version": "0.9.7",
4
4
  "author": "ServiceM8",
5
5
  "type": "module",
6
6
  "bin": {
@@ -30,7 +30,19 @@ import { Result } from "../types/fp.js";
30
30
  * Semantic search for jobs
31
31
  *
32
32
  * @remarks
33
- * Performs semantic/embedding-based search on job content. This uses AI to find jobs with similar meaning, not just exact text matches.
33
+ * Harness the power of advanced AI embeddings to revolutionise how you search through job data. This endpoint transforms your search query into high-dimensional vector embeddings, then intelligently matches it against our entire job database using semantic similarity algorithms.
34
+ *
35
+ * How it works:
36
+ * 1. AI Query Understanding - Your search terms are processed through neural embedding models that understand context, intent, and meaning
37
+ * 2. Vector-Based Matching - The system compares your query against vector representations of all job content in real-time
38
+ * 3. Intelligent Ranking - Returns results ranked by semantic similarity, not just keyword matching
39
+ *
40
+ * Why this matters:
41
+ * - Find jobs about "plumbing repairs" even when searching for "fixing pipes"
42
+ * - Discover relevant work orders that use different terminology but share the same intent
43
+ * - Uncover hidden patterns and connections in your job data that traditional search would miss
44
+ *
45
+ * This isn't just search—it's AI that truly understands what you're looking for and delivers the most relevant results, even when the exact words don't match.
34
46
  */
35
47
  export function searchJobEmbeddingSearch(
36
48
  client: ServiceM8Core,
package/src/lib/config.ts CHANGED
@@ -65,7 +65,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
65
65
  export const SDK_METADATA = {
66
66
  language: "typescript",
67
67
  openapiDocVersion: "1.0.0",
68
- sdkVersion: "0.9.5",
69
- genVersion: "2.658.3",
70
- userAgent: "speakeasy-sdk/typescript 0.9.5 2.658.3 1.0.0 servicem8",
68
+ sdkVersion: "0.9.7",
69
+ genVersion: "2.660.0",
70
+ userAgent: "speakeasy-sdk/typescript 0.9.7 2.660.0 1.0.0 servicem8",
71
71
  } as const;
@@ -19,7 +19,7 @@ const routes = buildRouteMap({
19
19
  export const app = buildApplication(routes, {
20
20
  name: "mcp",
21
21
  versionInfo: {
22
- currentVersion: "0.9.5",
22
+ currentVersion: "0.9.7",
23
23
  },
24
24
  });
25
25
 
@@ -213,7 +213,7 @@ export function createMCPServer(deps: {
213
213
  }) {
214
214
  const server = new McpServer({
215
215
  name: "ServiceM8",
216
- version: "0.9.5",
216
+ version: "0.9.7",
217
217
  });
218
218
 
219
219
  const client = new ServiceM8Core({
@@ -14,7 +14,19 @@ export const tool$searchJobEmbeddingSearch: ToolDefinition<typeof args> = {
14
14
  name: "search-job-embedding-search",
15
15
  description: `Semantic search for jobs
16
16
 
17
- Performs semantic/embedding-based search on job content. This uses AI to find jobs with similar meaning, not just exact text matches.`,
17
+ Harness the power of advanced AI embeddings to revolutionise how you search through job data. This endpoint transforms your search query into high-dimensional vector embeddings, then intelligently matches it against our entire job database using semantic similarity algorithms.
18
+
19
+ How it works:
20
+ 1. AI Query Understanding - Your search terms are processed through neural embedding models that understand context, intent, and meaning
21
+ 2. Vector-Based Matching - The system compares your query against vector representations of all job content in real-time
22
+ 3. Intelligent Ranking - Returns results ranked by semantic similarity, not just keyword matching
23
+
24
+ Why this matters:
25
+ - Find jobs about "plumbing repairs" even when searching for "fixing pipes"
26
+ - Discover relevant work orders that use different terminology but share the same intent
27
+ - Uncover hidden patterns and connections in your job data that traditional search would miss
28
+
29
+ This isn't just search—it's AI that truly understands what you're looking for and delivers the most relevant results, even when the exact words don't match.`,
18
30
  args,
19
31
  tool: async (client, args, ctx) => {
20
32
  const [result, apiCall] = await searchJobEmbeddingSearch(