@ingenx-io/valets-schema-mcp-server 0.1.7 → 0.1.9

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 (58) hide show
  1. package/data/docs/enums/attention-status.md +1 -1
  2. package/data/docs/enums/booking-status.md +1 -1
  3. package/data/docs/enums/customer-payment-status.md +1 -1
  4. package/data/docs/enums/customer-payment-target-type.md +1 -1
  5. package/data/docs/enums/delivery-type.md +1 -1
  6. package/data/docs/enums/deployment-link-type.md +1 -1
  7. package/data/docs/enums/event-status.md +1 -1
  8. package/data/docs/enums/fulfillment-status.md +1 -1
  9. package/data/docs/enums/loyalty-transaction-type.md +1 -1
  10. package/data/docs/enums/order-status.md +1 -1
  11. package/data/docs/enums/outbound-message-kind.md +22 -0
  12. package/data/docs/enums/outbound-message-status.md +25 -0
  13. package/data/docs/enums/payment-method.md +2 -2
  14. package/data/docs/enums/payment-proof-status.md +2 -2
  15. package/data/docs/enums/payment-status.md +2 -2
  16. package/data/docs/enums/pending-issue.md +2 -2
  17. package/data/docs/enums/return-status.md +2 -2
  18. package/data/docs/enums/session-status.md +2 -2
  19. package/data/docs/enums/site-status.md +2 -2
  20. package/data/docs/enums/stocktake-frequency.md +2 -2
  21. package/data/docs/enums/stocktake-item-status.md +2 -2
  22. package/data/docs/enums/stocktake-status.md +2 -2
  23. package/data/docs/enums/ticket-status.md +2 -2
  24. package/data/docs/enums/waba-label.md +2 -2
  25. package/data/docs/index.md +5 -2
  26. package/data/docs/models/allowed-user.md +1 -1
  27. package/data/docs/models/analytics-backfill.md +1 -1
  28. package/data/docs/models/analytics-daily.md +1 -1
  29. package/data/docs/models/analytics-event.md +1 -1
  30. package/data/docs/models/analytics-hourly.md +1 -1
  31. package/data/docs/models/booking-version.md +1 -1
  32. package/data/docs/models/booking.md +1 -1
  33. package/data/docs/models/customer-payment-allocation.md +1 -1
  34. package/data/docs/models/customer-payment.md +1 -1
  35. package/data/docs/models/customer.md +1 -1
  36. package/data/docs/models/event.md +1 -1
  37. package/data/docs/models/loyalty-config.md +1 -1
  38. package/data/docs/models/loyalty-reward.md +1 -1
  39. package/data/docs/models/loyalty-status.md +1 -1
  40. package/data/docs/models/loyalty-transaction.md +1 -1
  41. package/data/docs/models/magic-link-request.md +1 -1
  42. package/data/docs/models/metrics-current.md +1 -1
  43. package/data/docs/models/metrics-daily.md +1 -1
  44. package/data/docs/models/metrics-monthly.md +1 -1
  45. package/data/docs/models/order-item.md +1 -1
  46. package/data/docs/models/order.md +1 -1
  47. package/data/docs/models/sale.md +1 -1
  48. package/data/docs/models/site-payment.md +1 -1
  49. package/data/docs/models/site.md +1 -1
  50. package/data/docs/models/stocktake-item.md +1 -1
  51. package/data/docs/models/stocktake.md +1 -1
  52. package/data/docs/models/ticket.md +1 -1
  53. package/data/docs/models/whatsapp-inbound-message.md +20 -20
  54. package/data/docs/models/whatsapp-outbound-message.md +365 -0
  55. package/data/static/llms.txt +55 -3
  56. package/data/static/openapi.yaml +139 -4
  57. package/data/static/schemas.json +160 -4
  58. package/package.json +1 -1
@@ -122,6 +122,24 @@ components:
122
122
  - EXPIRED
123
123
  description: Core order lifecycle status (D03, D34). Universal across all business
124
124
  types. Replaces the Dashboard's legacy 20-value flat enum (MIG-11).
125
+ OutboundMessageKind:
126
+ type: string
127
+ enum:
128
+ - otp
129
+ - review_request
130
+ description: Outbound WhatsApp message kind. Strict enum — new kinds require
131
+ a schema version bump (GH#38).
132
+ OutboundMessageStatus:
133
+ type: string
134
+ enum:
135
+ - accepted
136
+ - sent
137
+ - delivered
138
+ - read
139
+ - failed
140
+ description: 'Outbound WhatsApp message delivery status. Lifecycle: accepted
141
+ → sent → delivered → read, or accepted → failed. Updated in-place by Meta
142
+ delivery callbacks (GH#38).'
125
143
  PaymentMethod:
126
144
  type: string
127
145
  enum:
@@ -4433,7 +4451,7 @@ components:
4433
4451
  x-immutable: true
4434
4452
  receivedAt:
4435
4453
  $ref: '#/components/schemas/FirestoreTimestamp'
4436
- description: (Read-only) Server-side ingestion time set by the Cloud Function.
4454
+ description: (Read-only) Server-side ingestion timestamp.
4437
4455
  readOnly: true
4438
4456
  text:
4439
4457
  description: Message body text. Present on type=text messages only.
@@ -4453,7 +4471,7 @@ components:
4453
4471
  - 'null'
4454
4472
  storageUrl:
4455
4473
  description: Durable Cloud Storage URL for the downloaded media binary.
4456
- Present after the CF downloads and stores the media.
4474
+ Present after the media has been fetched and stored server-side.
4457
4475
  type:
4458
4476
  - string
4459
4477
  - 'null'
@@ -4484,8 +4502,8 @@ components:
4484
4502
  - receivedAt
4485
4503
  additionalProperties: false
4486
4504
  description: 'WhatsappInboundMessage — inbound WhatsApp message persisted from
4487
- Meta Cloud API webhook (GH#36). Collection: whatsapp_inbound_messages/{docId}
4488
- in ratenplate project. Top-level scope: company resolution happens post-ingestion.'
4505
+ Meta Cloud API webhook (GH#36). Collection: whatsapp_inbound_messages/{docId}.
4506
+ Top-level scope: company resolution happens post-ingestion.'
4489
4507
  WhatsappInboundMessageCreate:
4490
4508
  allOf:
4491
4509
  - $ref: '#/components/schemas/WhatsappInboundMessage'
@@ -4505,6 +4523,123 @@ components:
4505
4523
  description: Write payload for partial update (PATCH) of a WhatsappInboundMessage
4506
4524
  document. All fields optional. Fields marked `readOnly` or `x-immutable` must
4507
4525
  not be sent.
4526
+ WhatsappOutboundMessage:
4527
+ type: object
4528
+ properties:
4529
+ id:
4530
+ readOnly: true
4531
+ description: (Read-only) Firestore document ID — wamid on success, generated
4532
+ UUID on failure.
4533
+ type:
4534
+ - string
4535
+ - 'null'
4536
+ messageId:
4537
+ type: string
4538
+ x-immutable: true
4539
+ description: (Immutable) WhatsApp message ID (wamid) on success; generated
4540
+ UUID on send failure.
4541
+ to:
4542
+ type: string
4543
+ x-immutable: true
4544
+ description: (Immutable) Recipient phone number in E.164 format. Mirrors
4545
+ inbound `from`.
4546
+ waba:
4547
+ $ref: '#/components/schemas/WabaLabel'
4548
+ description: (Immutable) WABA that sent the message. Mirrors inbound `waba`.
4549
+ x-immutable: true
4550
+ wabaId:
4551
+ type: string
4552
+ x-immutable: true
4553
+ description: (Immutable) Meta WABA ID. Mirrors inbound `wabaId`.
4554
+ sentAt:
4555
+ $ref: '#/components/schemas/FirestoreTimestamp'
4556
+ description: (Read-only) Server-side send timestamp. Mirrors inbound `receivedAt`.
4557
+ readOnly: true
4558
+ phoneNumberId:
4559
+ type: string
4560
+ x-immutable: true
4561
+ description: (Immutable) Meta phone number ID used for the send (specific
4562
+ line within the WABA).
4563
+ kind:
4564
+ $ref: '#/components/schemas/OutboundMessageKind'
4565
+ description: (Immutable) Message kind.
4566
+ x-immutable: true
4567
+ templateName:
4568
+ type: string
4569
+ x-immutable: true
4570
+ description: (Immutable) WhatsApp template name used for the send.
4571
+ status:
4572
+ $ref: '#/components/schemas/OutboundMessageStatus'
4573
+ description: Delivery status. Updated in-place by Meta delivery callbacks.
4574
+ contactWaId:
4575
+ description: Normalized wa_id returned by Meta on success. May differ from
4576
+ `to`.
4577
+ type:
4578
+ - string
4579
+ - 'null'
4580
+ appId:
4581
+ description: Tenant appId when applicable.
4582
+ type:
4583
+ - string
4584
+ - 'null'
4585
+ orderUuid:
4586
+ description: Order reference. Present on review_request messages only.
4587
+ type:
4588
+ - string
4589
+ - 'null'
4590
+ statusUpdatedAt:
4591
+ anyOf:
4592
+ - $ref: '#/components/schemas/FirestoreTimestamp'
4593
+ - type: 'null'
4594
+ description: Timestamp of the last status update from a Meta delivery callback.
4595
+ failureCode:
4596
+ description: Meta error code. Present on failed sends only.
4597
+ type:
4598
+ - integer
4599
+ - 'null'
4600
+ minimum: -9007199254740991
4601
+ maximum: 9007199254740991
4602
+ failureErrors:
4603
+ description: Raw Meta error objects. Present on failed sends only.
4604
+ type:
4605
+ - array
4606
+ - 'null'
4607
+ items: {}
4608
+ required:
4609
+ - messageId
4610
+ - to
4611
+ - waba
4612
+ - wabaId
4613
+ - sentAt
4614
+ - phoneNumberId
4615
+ - kind
4616
+ - templateName
4617
+ - status
4618
+ additionalProperties: false
4619
+ description: 'WhatsappOutboundMessage — outbound WhatsApp message persisted
4620
+ at send time (GH#38). Collection: whatsapp_outbound_messages/{docId}. Top-level
4621
+ scope. Symmetric counterpart to WhatsappInboundMessage (GH#36).'
4622
+ WhatsappOutboundMessageCreate:
4623
+ allOf:
4624
+ - $ref: '#/components/schemas/WhatsappOutboundMessage'
4625
+ description: Write payload for creating a new WhatsappOutboundMessage document.
4626
+ Fields marked `readOnly` are server-set and must not be included. Fields marked
4627
+ `x-immutable` may be set once at creation.
4628
+ required:
4629
+ - messageId
4630
+ - to
4631
+ - waba
4632
+ - wabaId
4633
+ - phoneNumberId
4634
+ - kind
4635
+ - templateName
4636
+ - status
4637
+ WhatsappOutboundMessageUpdate:
4638
+ allOf:
4639
+ - $ref: '#/components/schemas/WhatsappOutboundMessage'
4640
+ description: Write payload for partial update (PATCH) of a WhatsappOutboundMessage
4641
+ document. All fields optional. Fields marked `readOnly` or `x-immutable` must
4642
+ not be sent.
4508
4643
  PaymentSummary:
4509
4644
  type: object
4510
4645
  properties:
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "description": "@valets/schema \u2014 consolidated schema bundle",
4
- "generated": "2026-05-15T16:32:39.367964+00:00",
4
+ "generated": "2026-05-16T00:18:16.324105+00:00",
5
5
  "schemas": {
6
6
  "allowed-user": {
7
7
  "type": "object",
@@ -4394,6 +4394,25 @@
4394
4394
  ]
4395
4395
  }
4396
4396
  },
4397
+ "outbound-message-kind": {
4398
+ "type": "string",
4399
+ "enum": [
4400
+ "otp",
4401
+ "review_request"
4402
+ ],
4403
+ "description": "Outbound WhatsApp message kind. Strict enum \u2014 new kinds require a schema version bump (GH#38)."
4404
+ },
4405
+ "outbound-message-status": {
4406
+ "type": "string",
4407
+ "enum": [
4408
+ "accepted",
4409
+ "sent",
4410
+ "delivered",
4411
+ "read",
4412
+ "failed"
4413
+ ],
4414
+ "description": "Outbound WhatsApp message delivery status. Lifecycle: accepted \u2192 sent \u2192 delivered \u2192 read, or accepted \u2192 failed. Updated in-place by Meta delivery callbacks (GH#38)."
4415
+ },
4397
4416
  "payment-method": {
4398
4417
  "type": "string",
4399
4418
  "enum": [
@@ -5602,7 +5621,7 @@
5602
5621
  },
5603
5622
  "receivedAt": {
5604
5623
  "$ref": "#/definitions/firestore-timestamp",
5605
- "description": "(Read-only) Server-side ingestion time set by the Cloud Function.",
5624
+ "description": "(Read-only) Server-side ingestion timestamp.",
5606
5625
  "readOnly": true
5607
5626
  },
5608
5627
  "text": {
@@ -5627,7 +5646,7 @@
5627
5646
  ]
5628
5647
  },
5629
5648
  "storageUrl": {
5630
- "description": "Durable Cloud Storage URL for the downloaded media binary. Present after the CF downloads and stores the media.",
5649
+ "description": "Durable Cloud Storage URL for the downloaded media binary. Present after the media has been fetched and stored server-side.",
5631
5650
  "type": [
5632
5651
  "string",
5633
5652
  "null"
@@ -5667,7 +5686,7 @@
5667
5686
  "receivedAt"
5668
5687
  ],
5669
5688
  "additionalProperties": false,
5670
- "description": "WhatsappInboundMessage \u2014 inbound WhatsApp message persisted from Meta Cloud API webhook (GH#36). Collection: whatsapp_inbound_messages/{docId} in ratenplate project. Top-level scope: company resolution happens post-ingestion.",
5689
+ "description": "WhatsappInboundMessage \u2014 inbound WhatsApp message persisted from Meta Cloud API webhook (GH#36). Collection: whatsapp_inbound_messages/{docId}. Top-level scope: company resolution happens post-ingestion.",
5671
5690
  "example": {
5672
5691
  "id": null,
5673
5692
  "wabaId": "wab_ref123",
@@ -5684,6 +5703,143 @@
5684
5703
  "context": null
5685
5704
  }
5686
5705
  },
5706
+ "whatsapp-outbound-message": {
5707
+ "type": "object",
5708
+ "properties": {
5709
+ "id": {
5710
+ "readOnly": true,
5711
+ "description": "(Read-only) Firestore document ID \u2014 wamid on success, generated UUID on failure.",
5712
+ "type": [
5713
+ "string",
5714
+ "null"
5715
+ ]
5716
+ },
5717
+ "messageId": {
5718
+ "type": "string",
5719
+ "x-immutable": true,
5720
+ "description": "(Immutable) WhatsApp message ID (wamid) on success; generated UUID on send failure."
5721
+ },
5722
+ "to": {
5723
+ "type": "string",
5724
+ "x-immutable": true,
5725
+ "description": "(Immutable) Recipient phone number in E.164 format. Mirrors inbound `from`."
5726
+ },
5727
+ "waba": {
5728
+ "$ref": "#/definitions/waba-label",
5729
+ "description": "(Immutable) WABA that sent the message. Mirrors inbound `waba`.",
5730
+ "x-immutable": true
5731
+ },
5732
+ "wabaId": {
5733
+ "type": "string",
5734
+ "x-immutable": true,
5735
+ "description": "(Immutable) Meta WABA ID. Mirrors inbound `wabaId`."
5736
+ },
5737
+ "sentAt": {
5738
+ "$ref": "#/definitions/firestore-timestamp",
5739
+ "description": "(Read-only) Server-side send timestamp. Mirrors inbound `receivedAt`.",
5740
+ "readOnly": true
5741
+ },
5742
+ "phoneNumberId": {
5743
+ "type": "string",
5744
+ "x-immutable": true,
5745
+ "description": "(Immutable) Meta phone number ID used for the send (specific line within the WABA)."
5746
+ },
5747
+ "kind": {
5748
+ "$ref": "#/definitions/outbound-message-kind",
5749
+ "description": "(Immutable) Message kind.",
5750
+ "x-immutable": true
5751
+ },
5752
+ "templateName": {
5753
+ "type": "string",
5754
+ "x-immutable": true,
5755
+ "description": "(Immutable) WhatsApp template name used for the send."
5756
+ },
5757
+ "status": {
5758
+ "$ref": "#/definitions/outbound-message-status",
5759
+ "description": "Delivery status. Updated in-place by Meta delivery callbacks."
5760
+ },
5761
+ "contactWaId": {
5762
+ "description": "Normalized wa_id returned by Meta on success. May differ from `to`.",
5763
+ "type": [
5764
+ "string",
5765
+ "null"
5766
+ ]
5767
+ },
5768
+ "appId": {
5769
+ "description": "Tenant appId when applicable.",
5770
+ "type": [
5771
+ "string",
5772
+ "null"
5773
+ ]
5774
+ },
5775
+ "orderUuid": {
5776
+ "description": "Order reference. Present on review_request messages only.",
5777
+ "type": [
5778
+ "string",
5779
+ "null"
5780
+ ]
5781
+ },
5782
+ "statusUpdatedAt": {
5783
+ "anyOf": [
5784
+ {
5785
+ "$ref": "#/definitions/firestore-timestamp"
5786
+ },
5787
+ {
5788
+ "type": "null"
5789
+ }
5790
+ ],
5791
+ "description": "Timestamp of the last status update from a Meta delivery callback."
5792
+ },
5793
+ "failureCode": {
5794
+ "description": "Meta error code. Present on failed sends only.",
5795
+ "type": [
5796
+ "integer",
5797
+ "null"
5798
+ ],
5799
+ "minimum": -9007199254740991,
5800
+ "maximum": 9007199254740991
5801
+ },
5802
+ "failureErrors": {
5803
+ "description": "Raw Meta error objects. Present on failed sends only.",
5804
+ "type": [
5805
+ "array",
5806
+ "null"
5807
+ ],
5808
+ "items": {}
5809
+ }
5810
+ },
5811
+ "required": [
5812
+ "messageId",
5813
+ "to",
5814
+ "waba",
5815
+ "wabaId",
5816
+ "sentAt",
5817
+ "phoneNumberId",
5818
+ "kind",
5819
+ "templateName",
5820
+ "status"
5821
+ ],
5822
+ "additionalProperties": false,
5823
+ "description": "WhatsappOutboundMessage \u2014 outbound WhatsApp message persisted at send time (GH#38). Collection: whatsapp_outbound_messages/{docId}. Top-level scope. Symmetric counterpart to WhatsappInboundMessage (GH#36).",
5824
+ "example": {
5825
+ "id": null,
5826
+ "messageId": "mes_ref123",
5827
+ "to": "to",
5828
+ "waba": "waba",
5829
+ "wabaId": "wab_ref123",
5830
+ "sentAt": "sentAt",
5831
+ "phoneNumberId": "pho_ref123",
5832
+ "kind": "kind",
5833
+ "templateName": "templateName",
5834
+ "status": "status",
5835
+ "contactWaId": null,
5836
+ "appId": null,
5837
+ "orderUuid": null,
5838
+ "statusUpdatedAt": "statusUpdatedAt",
5839
+ "failureCode": null,
5840
+ "failureErrors": null
5841
+ }
5842
+ },
5687
5843
  "payment-summary": {
5688
5844
  "type": "object",
5689
5845
  "properties": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ingenx-io/valets-schema-mcp-server",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "MCP server exposing @valets/schema documentation to AI agents",
5
5
  "type": "module",
6
6
  "main": "index.js",