@agifyai/leadify-mcp 9.14.0 → 9.14.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.
package/README.md CHANGED
@@ -211,9 +211,9 @@ Les corrections ajoutent un fait immuable et mettent à jour le snapshot
211
211
  courant dans la même opération ; elles exigent un motif. Il n’existe aucun tool
212
212
  de suppression de participation ou de preuve. Archiver un événement le retire
213
213
  des sélecteurs courants sans effacer son historique. Les champs legacy
214
- `congress_presence`, `next_congress`, `next_congress_date` et `card_congress`
215
- restent disponibles pour compatibilité/export, mais ne sont jamais synchronisés
216
- depuis ce modèle.
214
+ `congress_presence`, `next_congress` et `next_congress_date` restent disponibles
215
+ pour compatibilité/export, mais ne sont jamais synchronisés depuis ce modèle.
216
+ L'ancienne carte `card_congress` est supprimée (PRD-2831) et refusée à l'écriture.
217
217
 
218
218
  Événements d’une personne :
219
219
 
@@ -279,7 +279,7 @@ export function registerLeadTools(server, client = getClient()) {
279
279
  "An unknown field is refused with the name of the closest existing field: declare a new field first with `update_schema`. " +
280
280
  "`expect` (optional) protects against overwriting a newer value: pass, for each field you depend on, the value you read " +
281
281
  "({ property_name, value }). The write is refused with LEAD_WRITE_PRECONDITION_FAILED, and the value actually in place is " +
282
- "returned, if any of them changed since your read. A field that was absent is not the same as null. Without `expect`, the write is unconditional. " +
282
+ "returned, if any of them changed since your read. To protect the first write of an empty field, expect null: it matches a field that is null or absent. Without `expect`, the write is unconditional. " +
283
283
  "`reason` (optional) is one sentence saying why you change the lead; it is recorded in the lead history. " +
284
284
  "For bulk updates across many leads, call this tool once per lead. A write during a platform agent run on this lead (external agent only) is refused with 409 QUALIFICATION_RUN_IN_PROGRESS (runId in the answer); nothing is written: wait for the run to end, read the lead again, then retry.", {
285
285
  lead_id: z.string().describe("ID of the lead to update."),
@@ -290,7 +290,7 @@ export function registerLeadTools(server, client = getClient()) {
290
290
  expect: z
291
291
  .array(z.object({
292
292
  property_name: z.string().trim().min(1).describe("Field you read."),
293
- value: z.unknown().describe("Exact value you read for that field. Required key (null means the field held null)."),
293
+ value: z.unknown().describe("Exact value you read for that field. Required key; null means the field was empty (null or absent)."),
294
294
  }).strict())
295
295
  .optional()
296
296
  .describe("Optional preconditions: the values you read earlier. The write is refused (LEAD_WRITE_PRECONDITION_FAILED, with the current values) if any field no longer holds its expected value. Deep equality, checked in the same transaction as the write."),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agifyai/leadify-mcp",
3
- "version": "9.14.0",
3
+ "version": "9.14.1",
4
4
  "description": "MCP server for Leadify lead management API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",