@smartytalent/mcp-tools 0.1.33-dev.23 → 0.1.33-dev.25

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 (2) hide show
  1. package/dist/tools.json +206 -63
  2. package/package.json +1 -1
package/dist/tools.json CHANGED
@@ -11267,6 +11267,14 @@
11267
11267
  "type": "string",
11268
11268
  "description": "Filter chats by sender phone number (e.g. +48535517222)."
11269
11269
  },
11270
+ "filterConversationId": {
11271
+ "type": "string",
11272
+ "description": "Returns all chat rows belonging to one conversation (thread).\nUsed by the chat web app's thread view to render messages\nchronologically. Backed by ConversationIdIndex GSI."
11273
+ },
11274
+ "sort": {
11275
+ "type": "string",
11276
+ "description": "Sort order. `created` for oldest-first, `-created` for newest-first.\nUse `created` for thread views (oldest-first message rendering)."
11277
+ },
11270
11278
  "filterCreatedFrom": {
11271
11279
  "type": "string",
11272
11280
  "description": "Filters results to include only those created from the specified date and time. The value must be in ISO 8601 format."
@@ -11334,6 +11342,7 @@
11334
11342
  "attributes": {
11335
11343
  "title": "ChatAttributesSchema",
11336
11344
  "type": "object",
11345
+ "description": "Cross-protocol chat message attributes. One row per direction:\ninbound and outbound replies on the same conversation are separate\nrows, joined by relationships.conversation. `protocol` is the wire\nformat (sms/whatsapp/teams/googlechat/webapp). `fromIdentifier`\nand `toIdentifier` are protocol-native handles (E.164 phone for\nSMS/WhatsApp, Teams AAD object id, Google Chat user id, etc.) so\nthe row carries the literal sender/receiver without joins. The\nresolved principals (candidate / talent / user) live in\nrelationships - direction tells you which side of the\nconversation each principal is on (inbound: from-side is the\nexternal party; outbound: to-side is the external party, plus an\noptional user relationship for the boe agent that signed it).\n`body` is a multilingual dict {locale: text} mirroring the email\npattern - the chat AI step function translates user-facing\ncontent into the tenant's active locales for admin display.",
11337
11346
  "properties": {
11338
11347
  "direction": {
11339
11348
  "type": "string",
@@ -11341,41 +11350,81 @@
11341
11350
  "inbound",
11342
11351
  "outbound"
11343
11352
  ],
11344
- "description": "Message direction"
11353
+ "description": "Message direction relative to boe (inbound from external, outbound to external)."
11345
11354
  },
11346
- "senderNumber": {
11355
+ "protocol": {
11347
11356
  "type": "string",
11348
- "description": "Sender phone number in E.164 format"
11357
+ "enum": [
11358
+ "sms",
11359
+ "whatsapp",
11360
+ "teams",
11361
+ "googlechat",
11362
+ "webapp"
11363
+ ],
11364
+ "description": "Wire protocol. Adapter Lambdas set this on write so downstream code can branch on rendering / status callback handling."
11349
11365
  },
11350
- "recipientNumber": {
11366
+ "fromIdentifier": {
11351
11367
  "type": "string",
11352
- "description": "Recipient phone number in E.164 format"
11368
+ "description": "Sender's protocol-native handle (E.164 phone for SMS/WhatsApp, AAD object id for Teams, etc.)."
11353
11369
  },
11354
- "messageSid": {
11370
+ "fromName": {
11355
11371
  "type": "string",
11356
- "description": "Twilio message SID"
11372
+ "description": "Display name of the sender at write time. Denormalised from the resolved principal."
11357
11373
  },
11358
- "body": {
11374
+ "fromType": {
11359
11375
  "type": "string",
11360
- "description": "SMS message body"
11376
+ "enum": [
11377
+ "user",
11378
+ "candidate",
11379
+ "talent",
11380
+ "guest"
11381
+ ],
11382
+ "description": "Principal type of the sender. Maps the platform's principal tables. `guest` for unknown senders (typically rejected by the inbound gate)."
11361
11383
  },
11362
- "aiResponse": {
11384
+ "toIdentifier": {
11363
11385
  "type": "string",
11364
- "description": "AI-generated response text"
11386
+ "description": "Recipient's protocol-native handle."
11365
11387
  },
11366
- "shortCode": {
11388
+ "toName": {
11367
11389
  "type": "string",
11368
- "description": "Unique short identifier"
11390
+ "description": "Display name of the recipient at write time."
11391
+ },
11392
+ "toType": {
11393
+ "type": "string",
11394
+ "enum": [
11395
+ "user",
11396
+ "candidate",
11397
+ "talent",
11398
+ "guest"
11399
+ ],
11400
+ "description": "Principal type of the recipient."
11401
+ },
11402
+ "body": {
11403
+ "type": "object",
11404
+ "description": "Multilingual message body keyed by BCP 47 locale (e.g. {`en-US`: `Hi`, `pl-PL`: `Cześć`}). Inbound writers stamp a single locale; the chat AI step function fills the rest.",
11405
+ "additionalProperties": {
11406
+ "type": "string"
11407
+ }
11369
11408
  },
11370
11409
  "status": {
11371
11410
  "type": "string",
11372
11411
  "enum": [
11373
- "active",
11374
- "pending",
11375
- "archived",
11376
- "failed"
11412
+ "received",
11413
+ "queued",
11414
+ "sent",
11415
+ "delivered",
11416
+ "failed",
11417
+ "archived"
11377
11418
  ],
11378
- "description": "Current status"
11419
+ "description": "Lifecycle state. Inbound rows go straight to `received`. Outbound progresses queued -> sent -> delivered (or failed). `archived` is a terminal soft-delete for both directions."
11420
+ },
11421
+ "languageCode": {
11422
+ "type": "string",
11423
+ "description": "BCP 47 locale of the original message (the locale key initially populated in `body`). Detected at the inbound gate, set by the writer on outbound."
11424
+ },
11425
+ "shortCode": {
11426
+ "type": "string",
11427
+ "description": "Unique short identifier (provider/lookup correlation)."
11379
11428
  },
11380
11429
  "timestamps": {
11381
11430
  "title": "ResourceTimestampsSchema",
@@ -11396,45 +11445,98 @@
11396
11445
  "relationships": {
11397
11446
  "title": "ChatRelationshipsSchema",
11398
11447
  "type": "object",
11448
+ "description": "Relationship slots for a chat row. All to-one. Direction +\nattributes.fromType / toType tell you which side of the\nconversation each principal is on - we don't duplicate that\ninto directional relationship names. For boe-mediated flows\nat most two of {user, candidate, talent} are populated per\nrow: the external party (candidate or talent) and, on outbound,\nthe boe user that signed the message.",
11399
11449
  "properties": {
11400
- "translations": {
11401
- "title": "ChatRelationshipsTranslationsSchema",
11450
+ "conversation": {
11451
+ "title": "ChatRelationshipsConversationSchema",
11452
+ "description": "Thread the chat row belongs to. SMS replies on the same boe\nnumber share a conversation; the workflow engine parks runs\non the conversation's meta and reads parkedRunContext to\nresume on inbound. The conversation id is denormalised onto\nthe chat row's internal `conversationId` attribute (indexed\nby ConversationIdIndex) for cheap per-thread history queries\n- API consumers should read it from this relationship, not\nfrom attributes.",
11402
11453
  "type": "object",
11403
11454
  "properties": {
11404
11455
  "data": {
11405
- "type": "array",
11406
- "items": {
11407
- "title": "ChatRelationshipsTranslationsDataSchema",
11408
- "type": "object",
11409
- "properties": {
11410
- "type": {
11411
- "type": "string"
11412
- },
11413
- "id": {
11414
- "type": "string"
11415
- }
11456
+ "title": "ChatRelationshipsConversationDataSchema",
11457
+ "type": "object",
11458
+ "properties": {
11459
+ "type": {
11460
+ "type": "string"
11461
+ },
11462
+ "id": {
11463
+ "type": "string"
11416
11464
  }
11417
11465
  }
11418
11466
  }
11419
11467
  }
11420
11468
  },
11421
- "conversations": {
11422
- "title": "ChatRelationshipsConversationsSchema",
11423
- "description": "Thread the chat row belongs to. SMS replies on the same boe\nnumber share a conversation; the workflow engine parks runs\non the conversation's meta and reads parkedRunContext to\nresume on inbound. Mirror of EmailRelationshipsConversations.\nThe conversation id is also denormalised onto the chat row's\ninternal `conversationId` attribute (indexed by\nConversationIdIndex) for cheap per-thread history queries -\nAPI consumers should read it from this relationship, not\nfrom attributes.",
11469
+ "candidate": {
11470
+ "title": "ChatRelationshipsCandidateSchema",
11471
+ "description": "External candidate principal. Set when fromType=candidate (inbound) or toType=candidate (outbound).",
11424
11472
  "type": "object",
11425
11473
  "properties": {
11426
11474
  "data": {
11427
- "type": "array",
11428
- "items": {
11429
- "title": "ChatRelationshipsConversationsDataSchema",
11430
- "type": "object",
11431
- "properties": {
11432
- "type": {
11433
- "type": "string"
11434
- },
11435
- "id": {
11436
- "type": "string"
11437
- }
11475
+ "title": "ChatRelationshipsCandidateDataSchema",
11476
+ "type": "object",
11477
+ "properties": {
11478
+ "type": {
11479
+ "type": "string"
11480
+ },
11481
+ "id": {
11482
+ "type": "string"
11483
+ }
11484
+ }
11485
+ }
11486
+ }
11487
+ },
11488
+ "talent": {
11489
+ "title": "ChatRelationshipsTalentSchema",
11490
+ "description": "External talent principal. Set when fromType=talent (inbound) or toType=talent (outbound).",
11491
+ "type": "object",
11492
+ "properties": {
11493
+ "data": {
11494
+ "title": "ChatRelationshipsTalentDataSchema",
11495
+ "type": "object",
11496
+ "properties": {
11497
+ "type": {
11498
+ "type": "string"
11499
+ },
11500
+ "id": {
11501
+ "type": "string"
11502
+ }
11503
+ }
11504
+ }
11505
+ }
11506
+ },
11507
+ "user": {
11508
+ "title": "ChatRelationshipsUserSchema",
11509
+ "description": "Internal human user (employee). Reserved for user-to-user webapp/Teams chat counterparties. Today this is typically null - boe-signed outbound rows put the boe AI in `boeUser`, not here.",
11510
+ "type": "object",
11511
+ "properties": {
11512
+ "data": {
11513
+ "title": "ChatRelationshipsUserDataSchema",
11514
+ "type": "object",
11515
+ "properties": {
11516
+ "type": {
11517
+ "type": "string"
11518
+ },
11519
+ "id": {
11520
+ "type": "string"
11521
+ }
11522
+ }
11523
+ }
11524
+ }
11525
+ },
11526
+ "boeUser": {
11527
+ "title": "ChatRelationshipsBoeUserSchema",
11528
+ "description": "Boe AI agent involved in this message. Mirror of tenant.relationships.boeUser - always populated when boe is on either side of the conversation (today: every row). Splitting this from the generic `user` slot keeps the semantics clean: `user` is for human counterparties, `boeUser` is the AI agent.",
11529
+ "type": "object",
11530
+ "properties": {
11531
+ "data": {
11532
+ "title": "ChatRelationshipsBoeUserDataSchema",
11533
+ "type": "object",
11534
+ "properties": {
11535
+ "type": {
11536
+ "type": "string"
11537
+ },
11538
+ "id": {
11539
+ "type": "string"
11438
11540
  }
11439
11541
  }
11440
11542
  }
@@ -11513,6 +11615,7 @@
11513
11615
  "attributes": {
11514
11616
  "title": "ChatAttributesSchema",
11515
11617
  "type": "object",
11618
+ "description": "Cross-protocol chat message attributes. One row per direction:\ninbound and outbound replies on the same conversation are separate\nrows, joined by relationships.conversation. `protocol` is the wire\nformat (sms/whatsapp/teams/googlechat/webapp). `fromIdentifier`\nand `toIdentifier` are protocol-native handles (E.164 phone for\nSMS/WhatsApp, Teams AAD object id, Google Chat user id, etc.) so\nthe row carries the literal sender/receiver without joins. The\nresolved principals (candidate / talent / user) live in\nrelationships - direction tells you which side of the\nconversation each principal is on (inbound: from-side is the\nexternal party; outbound: to-side is the external party, plus an\noptional user relationship for the boe agent that signed it).\n`body` is a multilingual dict {locale: text} mirroring the email\npattern - the chat AI step function translates user-facing\ncontent into the tenant's active locales for admin display.",
11516
11619
  "properties": {
11517
11620
  "direction": {
11518
11621
  "type": "string",
@@ -11520,41 +11623,81 @@
11520
11623
  "inbound",
11521
11624
  "outbound"
11522
11625
  ],
11523
- "description": "Message direction"
11626
+ "description": "Message direction relative to boe (inbound from external, outbound to external)."
11524
11627
  },
11525
- "senderNumber": {
11628
+ "protocol": {
11526
11629
  "type": "string",
11527
- "description": "Sender phone number in E.164 format"
11630
+ "enum": [
11631
+ "sms",
11632
+ "whatsapp",
11633
+ "teams",
11634
+ "googlechat",
11635
+ "webapp"
11636
+ ],
11637
+ "description": "Wire protocol. Adapter Lambdas set this on write so downstream code can branch on rendering / status callback handling."
11528
11638
  },
11529
- "recipientNumber": {
11639
+ "fromIdentifier": {
11530
11640
  "type": "string",
11531
- "description": "Recipient phone number in E.164 format"
11641
+ "description": "Sender's protocol-native handle (E.164 phone for SMS/WhatsApp, AAD object id for Teams, etc.)."
11532
11642
  },
11533
- "messageSid": {
11643
+ "fromName": {
11534
11644
  "type": "string",
11535
- "description": "Twilio message SID"
11645
+ "description": "Display name of the sender at write time. Denormalised from the resolved principal."
11536
11646
  },
11537
- "body": {
11647
+ "fromType": {
11538
11648
  "type": "string",
11539
- "description": "SMS message body"
11649
+ "enum": [
11650
+ "user",
11651
+ "candidate",
11652
+ "talent",
11653
+ "guest"
11654
+ ],
11655
+ "description": "Principal type of the sender. Maps the platform's principal tables. `guest` for unknown senders (typically rejected by the inbound gate)."
11540
11656
  },
11541
- "aiResponse": {
11657
+ "toIdentifier": {
11542
11658
  "type": "string",
11543
- "description": "AI-generated response text"
11659
+ "description": "Recipient's protocol-native handle."
11544
11660
  },
11545
- "shortCode": {
11661
+ "toName": {
11546
11662
  "type": "string",
11547
- "description": "Unique short identifier"
11663
+ "description": "Display name of the recipient at write time."
11664
+ },
11665
+ "toType": {
11666
+ "type": "string",
11667
+ "enum": [
11668
+ "user",
11669
+ "candidate",
11670
+ "talent",
11671
+ "guest"
11672
+ ],
11673
+ "description": "Principal type of the recipient."
11674
+ },
11675
+ "body": {
11676
+ "type": "object",
11677
+ "description": "Multilingual message body keyed by BCP 47 locale (e.g. {`en-US`: `Hi`, `pl-PL`: `Cześć`}). Inbound writers stamp a single locale; the chat AI step function fills the rest.",
11678
+ "additionalProperties": {
11679
+ "type": "string"
11680
+ }
11548
11681
  },
11549
11682
  "status": {
11550
11683
  "type": "string",
11551
11684
  "enum": [
11552
- "active",
11553
- "pending",
11554
- "archived",
11555
- "failed"
11685
+ "received",
11686
+ "queued",
11687
+ "sent",
11688
+ "delivered",
11689
+ "failed",
11690
+ "archived"
11556
11691
  ],
11557
- "description": "Current status"
11692
+ "description": "Lifecycle state. Inbound rows go straight to `received`. Outbound progresses queued -> sent -> delivered (or failed). `archived` is a terminal soft-delete for both directions."
11693
+ },
11694
+ "languageCode": {
11695
+ "type": "string",
11696
+ "description": "BCP 47 locale of the original message (the locale key initially populated in `body`). Detected at the inbound gate, set by the writer on outbound."
11697
+ },
11698
+ "shortCode": {
11699
+ "type": "string",
11700
+ "description": "Unique short identifier (provider/lookup correlation)."
11558
11701
  },
11559
11702
  "timestamps": {
11560
11703
  "title": "ResourceTimestampsSchema",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartytalent/mcp-tools",
3
- "version": "0.1.33-dev.23",
3
+ "version": "0.1.33-dev.25",
4
4
  "description": "MCP tool definitions for SmartyTalent API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",