propstack-mcp-server 1.0.1 → 1.1.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.
Files changed (42) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +355 -321
  3. package/dist/index.js +5 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/propstack-client.d.ts.map +1 -1
  6. package/dist/propstack-client.js +5 -1
  7. package/dist/propstack-client.js.map +1 -1
  8. package/dist/tools/activities.d.ts.map +1 -1
  9. package/dist/tools/activities.js +29 -15
  10. package/dist/tools/activities.js.map +1 -1
  11. package/dist/tools/admin.d.ts.map +1 -1
  12. package/dist/tools/admin.js +30 -65
  13. package/dist/tools/admin.js.map +1 -1
  14. package/dist/tools/composites.d.ts.map +1 -1
  15. package/dist/tools/composites.js +147 -122
  16. package/dist/tools/composites.js.map +1 -1
  17. package/dist/tools/contacts.d.ts.map +1 -1
  18. package/dist/tools/contacts.js +101 -74
  19. package/dist/tools/contacts.js.map +1 -1
  20. package/dist/tools/deals.d.ts +5 -0
  21. package/dist/tools/deals.d.ts.map +1 -1
  22. package/dist/tools/deals.js +128 -52
  23. package/dist/tools/deals.js.map +1 -1
  24. package/dist/tools/documents.d.ts.map +1 -1
  25. package/dist/tools/documents.js +7 -6
  26. package/dist/tools/documents.js.map +1 -1
  27. package/dist/tools/helpers.d.ts +32 -0
  28. package/dist/tools/helpers.d.ts.map +1 -1
  29. package/dist/tools/helpers.js +106 -0
  30. package/dist/tools/helpers.js.map +1 -1
  31. package/dist/tools/lookups.d.ts.map +1 -1
  32. package/dist/tools/lookups.js +28 -15
  33. package/dist/tools/lookups.js.map +1 -1
  34. package/dist/tools/projects.d.ts.map +1 -1
  35. package/dist/tools/projects.js +8 -6
  36. package/dist/tools/projects.js.map +1 -1
  37. package/dist/tools/properties.d.ts.map +1 -1
  38. package/dist/tools/properties.js +89 -67
  39. package/dist/tools/properties.js.map +1 -1
  40. package/dist/types/propstack.d.ts +31 -7
  41. package/dist/types/propstack.d.ts.map +1 -1
  42. package/package.json +58 -55
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
- import { textResult, errorResult, fmt, fmtPrice, fmtArea, formatError, stripUndefined, unwrapNumber } from "./helpers.js";
2
+ import { textResult, errorResult, fmt, fmtPrice, fmtArea, formatError, stripUndefined, unwrapNumber, validateFields, renderFieldValue, CONTACT_FIELDS } from "./helpers.js";
3
+ import { enrichDealsWithStageNames, fetchPipelines } from "./deals.js";
3
4
  function daysBetween(from, to) {
4
5
  return Math.floor((to.getTime() - new Date(from).getTime()) / (1000 * 60 * 60 * 24));
5
6
  }
@@ -9,25 +10,39 @@ function contactName(c) {
9
10
  // ── Tool registration ────────────────────────────────────────────────
10
11
  export function registerCompositeTools(server, client) {
11
12
  // ── full_contact_360 ────────────────────────────────────────────
12
- server.tool("full_contact_360", `Get a complete 360° view of a contact — everything you need before calling a client.
13
-
14
- Combines 4 API calls in parallel:
15
- - Full contact details with children, documents, relationships, owned properties
16
- - Search profiles (what they're looking for)
17
- - Active deals (which properties they're linked to)
18
- - Recent activity (last 10 interactions)
19
-
20
- Returns a complete contact dossier in one request. Use this when you
21
- need the full picture: "Tell me everything about Herr Weber."`, {
13
+ server.tool("full_contact_360", `Get a complete 360° view of a contact — everything you need before calling a client.
14
+
15
+ Combines 4 API calls in parallel:
16
+ - Full contact details with children, documents, relationships, owned properties
17
+ - Search profiles (what they're looking for)
18
+ - Active deals (which properties they're linked to)
19
+ - Recent activity (last 10 interactions)
20
+
21
+ Returns a complete contact dossier in one request. Use this when you
22
+ need the full picture: "Tell me everything about Herr Weber."
23
+
24
+ Data minimization (Art. 25 DSGVO): pass 'fields' with an array of contact
25
+ field names to limit the contact detail section to only those fields (e.g.
26
+ ["first_name", "last_name", "email"]). The search profiles, deals, and
27
+ activity sections are unaffected. Omit 'fields' for the full detail section.
28
+ Unknown field names produce an error listing the valid options.`, {
22
29
  contact_id: z.number()
23
30
  .describe("Contact ID to get 360° view for"),
31
+ fields: z.array(z.string()).optional()
32
+ .describe("Data minimization: limit the contact detail section to only these contact fields (e.g. [\"first_name\", \"last_name\", \"email\"]). Omit for the full detail section. Unknown field names produce an error."),
24
33
  }, async (args) => {
25
34
  try {
26
- const [contactRes, searchProfilesRes, dealsRes, activitiesRes] = await Promise.allSettled([
35
+ if (args.fields && args.fields.length > 0) {
36
+ const fieldError = validateFields(args.fields, CONTACT_FIELDS, "contact");
37
+ if (fieldError)
38
+ return textResult(fieldError);
39
+ }
40
+ const [contactRes, searchProfilesRes, dealsRes, activitiesRes, pipelinesRes] = await Promise.allSettled([
27
41
  client.get(`/contacts/${args.contact_id}`, { params: { include: "children,documents,relationships,owned_properties", expand: "true" } }),
28
42
  client.get("/saved_queries", { params: { client: args.contact_id } }),
29
43
  client.get("/client_properties", { params: { client_id: args.contact_id, include: "client,property" } }),
30
44
  client.get("/activities", { params: { client_id: args.contact_id, per: 10 } }),
45
+ fetchPipelines(client),
31
46
  ]);
32
47
  // Contact is essential — if it fails, return error
33
48
  if (contactRes.status === "rejected") {
@@ -38,50 +53,61 @@ need the full picture: "Tell me everything about Herr Weber."`, {
38
53
  const warnings = [];
39
54
  // ── Personal info
40
55
  const name = contactName(contact);
41
- const personalLines = [
42
- `# ${name} (ID: ${contact.id})`,
43
- "",
44
- `Email: ${fmt(contact.email)}`,
45
- `Phone: ${fmt(contact.phone ?? contact.home_cell)}`,
46
- contact.company ? `Company: ${contact.company}` : null,
47
- contact.position ? `Position: ${contact.position}` : null,
48
- `Status: ${fmt(contact.client_status?.name)}`,
49
- `Broker: ${fmt(contact.broker?.name, "unassigned")}`,
50
- `Rating: ${"★".repeat(Math.max(0, Math.min(3, contact.rating ?? 0)))}${"☆".repeat(3 - Math.max(0, Math.min(3, contact.rating ?? 0)))}`,
51
- `GDPR: ${["Keine Angabe", "Ignoriert", "Zugestimmt", "Widerrufen"][contact.gdpr_status ?? 0] ?? "unknown"}`,
52
- `Last contact: ${fmt(contact.last_contact_at_formatted, "never")}`,
53
- contact.warning_notice ? `Warning: ${contact.warning_notice}` : null,
54
- contact.description ? `Notes: ${contact.description}` : null,
55
- ];
56
- // Address
57
- const homeAddr = [contact.home_street, contact.home_house_number].filter(Boolean).join(" ");
58
- const homeCity = [contact.home_zip_code, contact.home_city].filter(Boolean).join(" ");
59
- const homeFull = [homeAddr, homeCity].filter(Boolean).join(", ");
60
- if (homeFull)
61
- personalLines.push(`Home: ${homeFull}`);
62
- // Children
63
- if (contact.children?.length) {
64
- personalLines.push(`Sub-contacts: ${contact.children.map((c) => `${contactName(c)} (ID: ${c.id})`).join(", ")}`);
65
- }
66
- // Owned properties
67
- if (contact.owned_properties?.length) {
68
- personalLines.push(`Owned properties: ${contact.owned_properties.map((p) => `${fmt(p.title, "Untitled")} (ID: ${p.id})`).join(", ")}`);
69
- }
70
- // Documents
71
- if (contact.documents?.length) {
72
- personalLines.push(`Documents: ${contact.documents.length} file(s)`);
73
- }
74
- // Custom fields
75
- if (contact.custom_fields && Object.keys(contact.custom_fields).length > 0) {
76
- personalLines.push("");
77
- personalLines.push("**Custom Fields:**");
78
- for (const [key, val] of Object.entries(contact.custom_fields)) {
79
- const s = fmt(val, "");
80
- if (s)
81
- personalLines.push(` ${key}: ${s}`);
82
- }
83
- }
84
- sections.push(personalLines.filter((l) => l !== null).join("\n"));
56
+ if (args.fields && args.fields.length > 0) {
57
+ // Data minimization: emit only the requested contact fields.
58
+ const record = contact;
59
+ const fieldLines = [`# ${name} (ID: ${contact.id})`, ""];
60
+ for (const f of args.fields) {
61
+ fieldLines.push(`${f}: ${renderFieldValue(record[f])}`);
62
+ }
63
+ sections.push(fieldLines.join("\n"));
64
+ }
65
+ else {
66
+ const personalLines = [
67
+ `# ${name} (ID: ${contact.id})`,
68
+ "",
69
+ `Email: ${fmt(contact.email)}`,
70
+ `Phone: ${fmt(contact.phone ?? contact.home_cell)}`,
71
+ contact.company ? `Company: ${contact.company}` : null,
72
+ contact.position ? `Position: ${contact.position}` : null,
73
+ `Status: ${fmt(contact.status?.name ?? contact.client_status?.name)}`,
74
+ `Broker: ${fmt(contact.broker?.name, "unassigned")}`,
75
+ `Rating: ${"★".repeat(Math.max(0, Math.min(3, contact.rating ?? 0)))}${"☆".repeat(3 - Math.max(0, Math.min(3, contact.rating ?? 0)))}`,
76
+ `GDPR: ${["Keine Angabe", "Ignoriert", "Zugestimmt", "Widerrufen"][contact.gdpr_status ?? 0] ?? "unknown"}`,
77
+ `Last contact: ${fmt(contact.last_contact_at_formatted, "never")}`,
78
+ contact.warning_notice ? `Warning: ${contact.warning_notice}` : null,
79
+ contact.description ? `Notes: ${contact.description}` : null,
80
+ ];
81
+ // Address
82
+ const homeAddr = [contact.home_street, contact.home_house_number].filter(Boolean).join(" ");
83
+ const homeCity = [contact.home_zip_code, contact.home_city].filter(Boolean).join(" ");
84
+ const homeFull = [homeAddr, homeCity].filter(Boolean).join(", ");
85
+ if (homeFull)
86
+ personalLines.push(`Home: ${homeFull}`);
87
+ // Children
88
+ if (contact.children?.length) {
89
+ personalLines.push(`Sub-contacts: ${contact.children.map((c) => `${contactName(c)} (ID: ${c.id})`).join(", ")}`);
90
+ }
91
+ // Owned properties
92
+ if (contact.owned_properties?.length) {
93
+ personalLines.push(`Owned properties: ${contact.owned_properties.map((p) => `${fmt(p.title, "Untitled")} (ID: ${p.id})`).join(", ")}`);
94
+ }
95
+ // Documents
96
+ if (contact.documents?.length) {
97
+ personalLines.push(`Documents: ${contact.documents.length} file(s)`);
98
+ }
99
+ // Custom fields
100
+ if (contact.custom_fields && Object.keys(contact.custom_fields).length > 0) {
101
+ personalLines.push("");
102
+ personalLines.push("**Custom Fields:**");
103
+ for (const [key, val] of Object.entries(contact.custom_fields)) {
104
+ const s = fmt(val, "");
105
+ if (s)
106
+ personalLines.push(` ${key}: ${s}`);
107
+ }
108
+ }
109
+ sections.push(personalLines.filter((l) => l !== null).join("\n"));
110
+ }
85
111
  // ── Search profiles
86
112
  if (searchProfilesRes.status === "fulfilled") {
87
113
  const profiles = searchProfilesRes.value.data ?? [];
@@ -124,14 +150,18 @@ need the full picture: "Tell me everything about Herr Weber."`, {
124
150
  // ── Deals
125
151
  if (dealsRes.status === "fulfilled") {
126
152
  const dealList = dealsRes.value.data ?? [];
153
+ // Enrich deals with stage/pipeline names
154
+ const pipelines = pipelinesRes.status === "fulfilled" ? pipelinesRes.value : [];
155
+ enrichDealsWithStageNames(dealList, pipelines);
127
156
  if (dealList.length > 0) {
128
157
  const dealLines = [`## Deals (${dealList.length})`, ""];
129
158
  for (const d of dealList) {
130
159
  const propTitle = d.property ? fmt(d.property.title, "Untitled") : `Property #${d.property_id}`;
160
+ const stageName = d.deal_stage?.name ?? (d.deal_stage_id ? `Stage #${d.deal_stage_id}` : null);
131
161
  const parts = [
132
162
  `**Deal #${d.id}**: ${propTitle}`,
133
- ` Stage: ${fmt(d.deal_stage_id)} | Category: ${fmt(d.category)}`,
134
- ];
163
+ stageName || null,
164
+ ].filter(Boolean);
135
165
  if (d.sold_price)
136
166
  parts.push(` Price: ${fmtPrice(d.sold_price)}`);
137
167
  if (d.note)
@@ -155,7 +185,7 @@ need the full picture: "Tell me everything about Herr Weber."`, {
155
185
  if (activityList.length > 0) {
156
186
  const actLines = [`## Recent Activity (last ${activityList.length})`, ""];
157
187
  for (const a of activityList) {
158
- actLines.push(`- **${fmt(a.type)}** ${fmt(a.title, "")} — ${fmt(a.created_at)}`);
188
+ actLines.push(`- **${fmt(a.conversation_type ?? a.type, "—")}** ${fmt(a.title, "")} — ${fmt(a.created_at)}`);
159
189
  }
160
190
  sections.push(actLines.join("\n"));
161
191
  }
@@ -177,26 +207,27 @@ need the full picture: "Tell me everything about Herr Weber."`, {
177
207
  }
178
208
  });
179
209
  // ── property_performance_report ─────────────────────────────────
180
- server.tool("property_performance_report", `Performance report for a property — days on market, inquiry count,
181
- pipeline breakdown, and activity summary.
182
-
183
- Combines 3 API calls in parallel:
184
- - Full property details (with custom fields)
185
- - All deals/inquiries for this property
186
- - Activity feed (last 50 interactions)
187
-
188
- Calculates: days on market, total inquiries, deals by stage/category,
189
- and recent activity breakdown by type.
190
-
210
+ server.tool("property_performance_report", `Performance report for a property — days on market, inquiry count,
211
+ pipeline breakdown, and activity summary.
212
+
213
+ Combines 3 API calls in parallel:
214
+ - Full property details (with custom fields)
215
+ - All deals/inquiries for this property
216
+ - Activity feed (last 50 interactions)
217
+
218
+ Calculates: days on market, total inquiries, deals by stage/category,
219
+ and recent activity breakdown by type.
220
+
191
221
  Use when asked: "How is the Friedrichstr property doing?"`, {
192
222
  property_id: z.number()
193
223
  .describe("Property ID to generate report for"),
194
224
  }, async (args) => {
195
225
  try {
196
- const [propertyRes, dealsRes, activitiesRes] = await Promise.allSettled([
226
+ const [propertyRes, dealsRes, activitiesRes, pipelinesRes2] = await Promise.allSettled([
197
227
  client.get(`/units/${args.property_id}`, { params: { new: 1, expand: 1 } }),
198
228
  client.get("/client_properties", { params: { property_id: args.property_id, include: "client" } }),
199
229
  client.get("/activities", { params: { property_id: args.property_id, per: 50 } }),
230
+ fetchPipelines(client),
200
231
  ]);
201
232
  // Property is essential
202
233
  if (propertyRes.status === "rejected") {
@@ -229,14 +260,13 @@ Use when asked: "How is the Friedrichstr property doing?"`, {
229
260
  // ── Deal/inquiry analysis
230
261
  if (dealsRes.status === "fulfilled") {
231
262
  const dealList = dealsRes.value.data ?? [];
263
+ const pipelines2 = pipelinesRes2.status === "fulfilled" ? pipelinesRes2.value : [];
264
+ enrichDealsWithStageNames(dealList, pipelines2);
232
265
  const totalInquiries = dealsRes.value.meta?.total_count ?? dealList.length;
233
- const byCategory = {};
234
266
  const byStage = {};
235
267
  let totalValue = 0;
236
268
  for (const d of dealList) {
237
- const cat = d.category ?? "unknown";
238
- byCategory[cat] = (byCategory[cat] ?? 0) + 1;
239
- const stage = String(d.deal_stage_id ?? "unknown");
269
+ const stage = d.deal_stage?.name ?? (d.deal_stage_id ? `Stage #${d.deal_stage_id}` : "No stage");
240
270
  byStage[stage] = (byStage[stage] ?? 0) + 1;
241
271
  if (d.sold_price)
242
272
  totalValue += d.sold_price;
@@ -246,18 +276,11 @@ Use when asked: "How is the Friedrichstr property doing?"`, {
246
276
  "",
247
277
  `Total inquiries: ${totalInquiries}`,
248
278
  ];
249
- if (Object.keys(byCategory).length > 0) {
250
- dealLines.push("");
251
- dealLines.push("**By category:**");
252
- for (const [cat, count] of Object.entries(byCategory)) {
253
- dealLines.push(` ${cat}: ${count}`);
254
- }
255
- }
256
279
  if (Object.keys(byStage).length > 0) {
257
280
  dealLines.push("");
258
- dealLines.push("**By stage ID:**");
281
+ dealLines.push("**By stage:**");
259
282
  for (const [stage, count] of Object.entries(byStage)) {
260
- dealLines.push(` Stage ${stage}: ${count}`);
283
+ dealLines.push(` ${stage}: ${count}`);
261
284
  }
262
285
  }
263
286
  if (totalValue > 0) {
@@ -269,7 +292,9 @@ Use when asked: "How is the Friedrichstr property doing?"`, {
269
292
  dealLines.push("**Interested contacts:**");
270
293
  for (const d of dealList.slice(0, 10)) {
271
294
  const cName = d.client ? contactName(d.client) : `Contact #${d.client_id}`;
272
- dealLines.push(` • ${cName} — Stage: ${fmt(d.deal_stage_id)}, Category: ${fmt(d.category)}`);
295
+ const sName = d.deal_stage?.name ?? (d.deal_stage_id ? `#${d.deal_stage_id}` : null);
296
+ const detail = sName ?? "";
297
+ dealLines.push(` • ${cName}${detail ? ` — ${detail}` : ""}`);
273
298
  }
274
299
  }
275
300
  sections.push(dealLines.join("\n"));
@@ -284,7 +309,7 @@ Use when asked: "How is the Friedrichstr property doing?"`, {
284
309
  const totalActivities = activitiesRes.value.meta?.total_count ?? activityList.length;
285
310
  const byType = {};
286
311
  for (const a of activityList) {
287
- const t = a.type ?? "unknown";
312
+ const t = a.conversation_type ?? a.type ?? "unknown";
288
313
  byType[t] = (byType[t] ?? 0) + 1;
289
314
  }
290
315
  const actLines = [
@@ -303,7 +328,7 @@ Use when asked: "How is the Friedrichstr property doing?"`, {
303
328
  actLines.push("");
304
329
  actLines.push("**Recent:**");
305
330
  for (const a of activityList.slice(0, 5)) {
306
- actLines.push(` - ${fmt(a.type)} — ${fmt(a.title, "")} — ${fmt(a.created_at)}`);
331
+ actLines.push(` - ${fmt(a.conversation_type ?? a.type, "—")} — ${fmt(a.title, "")} — ${fmt(a.created_at)}`);
307
332
  }
308
333
  }
309
334
  sections.push(actLines.join("\n"));
@@ -322,15 +347,15 @@ Use when asked: "How is the Friedrichstr property doing?"`, {
322
347
  }
323
348
  });
324
349
  // ── pipeline_summary ────────────────────────────────────────────
325
- server.tool("pipeline_summary", `Pipeline overview — deals per stage, total values, and stale deals
326
- needing attention.
327
-
328
- Fetches all deal pipelines and deals, then aggregates:
329
- - Deal count per stage
330
- - Total value per stage (from deal price or property price)
331
- - Stale deals: deals with no update in 14+ days
332
-
333
- Filter by pipeline_id and/or broker_id. Use when asked:
350
+ server.tool("pipeline_summary", `Pipeline overview — deals per stage, total values, and stale deals
351
+ needing attention.
352
+
353
+ Fetches all deal pipelines and deals, then aggregates:
354
+ - Deal count per stage
355
+ - Total value per stage (from deal price or property price)
356
+ - Stale deals: deals with no update in 14+ days
357
+
358
+ Filter by pipeline_id and/or broker_id. Use when asked:
334
359
  "How's the pipeline looking?" or "Give me a sales overview."`, {
335
360
  pipeline_id: z.number().optional()
336
361
  .describe("Filter by specific pipeline ID"),
@@ -338,7 +363,7 @@ Filter by pipeline_id and/or broker_id. Use when asked:
338
363
  .describe("Filter by broker ID"),
339
364
  }, async (args) => {
340
365
  try {
341
- const pipelinesRes = await client.get("/deal_pipelines").then((v) => ({ status: "fulfilled", value: v }), (e) => ({ status: "rejected", reason: e }));
366
+ const pipelinesRes = await fetchPipelines(client).then((v) => ({ status: "fulfilled", value: v }), (e) => ({ status: "rejected", reason: e }));
342
367
  if (pipelinesRes.status === "rejected") {
343
368
  return errorResult("Pipeline summary", pipelinesRes.reason);
344
369
  }
@@ -431,7 +456,7 @@ Filter by pipeline_id and/or broker_id. Use when asked:
431
456
  const cName = d.client ? contactName(d.client) : `Contact #${d.client_id}`;
432
457
  const propTitle = d.property ? fmt(d.property.title, "Untitled") : `Property #${d.property_id}`;
433
458
  const daysStale = d.updated_at ? daysBetween(d.updated_at, now) : "?";
434
- const stageName = d.deal_stage_id ? (stageNames[d.deal_stage_id] ?? `#${d.deal_stage_id}`) : "none";
459
+ const stageName = d.deal_stage_id ? (stageNames[d.deal_stage_id] ?? `#${d.deal_stage_id}`) : "No stage";
435
460
  staleLines.push(`- **Deal #${d.id}**: ${cName} → ${propTitle} (Stage: ${stageName}, ${daysStale} days since update)`);
436
461
  }
437
462
  sections.push(staleLines.join("\n"));
@@ -449,18 +474,18 @@ Filter by pipeline_id and/or broker_id. Use when asked:
449
474
  }
450
475
  });
451
476
  // ── smart_lead_intake ───────────────────────────────────────────
452
- server.tool("smart_lead_intake", `Complete lead intake workflow — dedup check, create/update contact,
453
- log notes, create deal if specific property, and set follow-up reminder.
454
-
455
- Perfect for post-call processing from a voice agent. Handles the entire
456
- intake in one tool call:
457
-
458
- 1. If phone or email provided → search for existing contact (dedup)
459
- 2. If found → update contact; if not → create new contact
460
- 3. If notes provided → log as a note task
461
- 4. If property_id provided → create deal at first pipeline stage
462
- 5. Create follow-up reminder for broker (due tomorrow 9am)
463
-
477
+ server.tool("smart_lead_intake", `Complete lead intake workflow — dedup check, create/update contact,
478
+ log notes, create deal if specific property, and set follow-up reminder.
479
+
480
+ Perfect for post-call processing from a voice agent. Handles the entire
481
+ intake in one tool call:
482
+
483
+ 1. If phone or email provided → search for existing contact (dedup)
484
+ 2. If found → update contact; if not → create new contact
485
+ 3. If notes provided → log as a note task
486
+ 4. If property_id provided → create deal at first pipeline stage
487
+ 5. Create follow-up reminder for broker (due tomorrow 9am)
488
+
464
489
  Returns what was done: created vs updated, IDs of all created records.`, {
465
490
  first_name: z.string()
466
491
  .describe("Contact first name"),
@@ -542,7 +567,7 @@ Returns what was done: created vs updated, IDs of all created records.`, {
542
567
  // Deal
543
568
  if (args.property_id) {
544
569
  // Get first pipeline stage
545
- const pipelines = await client.get("/deal_pipelines");
570
+ const pipelines = await fetchPipelines(client);
546
571
  const firstPipeline = pipelines[0];
547
572
  const firstStage = firstPipeline?.deal_stages?.sort((a, b) => (a.position ?? 0) - (b.position ?? 0))[0];
548
573
  if (firstStage) {
@@ -622,17 +647,17 @@ Returns what was done: created vs updated, IDs of all created records.`, {
622
647
  }
623
648
  });
624
649
  // ── match_contacts_to_property ──────────────────────────────────
625
- server.tool("match_contacts_to_property", `Find contacts whose search profiles match a property. Returns a
626
- ranked list with match scores.
627
-
628
- Use when a new listing comes in to find potential buyers/renters:
629
- "Who should I send this new listing to?"
630
-
631
- Logic:
632
- 1. Fetches the property details (type, price, rooms, space, city, features)
633
- 2. Fetches active search profiles (paginates, capped by max_profiles)
634
- 3. Scores each profile against the property on: marketing type, city,
635
- price range, room count, living space, property type, and features
650
+ server.tool("match_contacts_to_property", `Find contacts whose search profiles match a property. Returns a
651
+ ranked list with match scores.
652
+
653
+ Use when a new listing comes in to find potential buyers/renters:
654
+ "Who should I send this new listing to?"
655
+
656
+ Logic:
657
+ 1. Fetches the property details (type, price, rooms, space, city, features)
658
+ 2. Fetches active search profiles (paginates, capped by max_profiles)
659
+ 3. Scores each profile against the property on: marketing type, city,
660
+ price range, room count, living space, property type, and features
636
661
  4. Returns top 20 matches sorted by score with match/mismatch details`, {
637
662
  property_id: z.number()
638
663
  .describe("Property ID to find matching contacts for"),
@@ -1 +1 @@
1
- {"version":3,"file":"composites.js","sourceRoot":"","sources":["../../src/tools/composites.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composites.js","sourceRoot":"","sources":["../../src/tools/composites.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/tools/contacts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAgE9D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CAkZrF"}
1
+ {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/tools/contacts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAgE9D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI,CAibrF"}