@gregiteen/ssss-cli 0.11.0 → 0.11.2

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.
@@ -0,0 +1,1018 @@
1
+ {
2
+ "$schema": "https://ssss.dev/registry/v1",
3
+ "registry": "dabber",
4
+ "extends": "core",
5
+ "version": "1.9.0",
6
+ "spec_version": "0.9",
7
+ "description": "Field CRM extension. Contacts, notes, companies, sales, products, settings, emails, calendar events, files and Signed, gi. envelopes are tenant-private Markdown records. A company document groups every location and contact of one retailer and records which rep claimed it. Google connection metadata is resource-bound; no secret values are stored in the vault.",
8
+ "document_primitives": {
9
+ "account_workflow": {
10
+ "family": "crm",
11
+ "canonical_path": "workflows/accounts/<workflow_id>.md",
12
+ "append_only": false,
13
+ "portability": "tenant_private",
14
+ "required_fields": [
15
+ "type",
16
+ "workflow_id",
17
+ "name",
18
+ "contact_id",
19
+ "owner",
20
+ "command",
21
+ "method",
22
+ "path",
23
+ "arguments",
24
+ "status",
25
+ "approved_at",
26
+ "next_run_at",
27
+ "triggers",
28
+ "approval_signature"
29
+ ],
30
+ "patterns": {
31
+ "workflow_id": "^workflow-[a-f0-9]{32}$",
32
+ "contact_id": "^contact-[a-z0-9-]{8,64}$"
33
+ },
34
+ "enums": {
35
+ "status": [
36
+ "queued",
37
+ "scheduled",
38
+ "running",
39
+ "succeeded",
40
+ "failed",
41
+ "needs_review",
42
+ "canceled"
43
+ ]
44
+ }
45
+ },
46
+ "contact": {
47
+ "family": "crm",
48
+ "canonical_path": "contacts/<company_slug>/<contact_id>.md",
49
+ "append_only": false,
50
+ "portability": "tenant_private",
51
+ "required_fields": [
52
+ "type",
53
+ "contact_id",
54
+ "name",
55
+ "company",
56
+ "contact_kind",
57
+ "lifecycle",
58
+ "owner",
59
+ "created_at",
60
+ "updated_at"
61
+ ],
62
+ "enums": {
63
+ "contact_kind": [
64
+ "retailer",
65
+ "distributor",
66
+ "budtender",
67
+ "event_partner",
68
+ "creator",
69
+ "other"
70
+ ],
71
+ "lifecycle": [
72
+ "prospect",
73
+ "contacted",
74
+ "qualified",
75
+ "active_account",
76
+ "nurture",
77
+ "closed_lost"
78
+ ],
79
+ "preferred_channel": [
80
+ "email",
81
+ "text"
82
+ ]
83
+ },
84
+ "patterns": {
85
+ "contact_id": "^contact-[a-z0-9-]{8,64}$"
86
+ }
87
+ },
88
+ "contact_note": {
89
+ "family": "crm",
90
+ "canonical_path": "contacts/<company_slug>/<contact_id>/NOTES.md",
91
+ "append_only": true,
92
+ "portability": "tenant_private",
93
+ "required_fields": [
94
+ "type",
95
+ "contact_id",
96
+ "note_stream_id",
97
+ "created_at"
98
+ ],
99
+ "patterns": {
100
+ "contact_id": "^contact-[a-z0-9-]{8,64}$",
101
+ "note_stream_id": "^notes-[a-z0-9-]{8,64}$"
102
+ }
103
+ },
104
+ "company": {
105
+ "family": "crm",
106
+ "canonical_path": "contacts/<company_slug>/COMPANY.md",
107
+ "append_only": false,
108
+ "portability": "tenant_private",
109
+ "required_fields": [
110
+ "type",
111
+ "company_id",
112
+ "company",
113
+ "company_slug",
114
+ "owner",
115
+ "location_count",
116
+ "contact_count",
117
+ "created_at",
118
+ "updated_at"
119
+ ],
120
+ "patterns": {
121
+ "company_id": "^company-[a-z0-9-]{1,120}$",
122
+ "company_slug": "^[a-z0-9-]{1,120}$"
123
+ }
124
+ },
125
+ "sale": {
126
+ "family": "crm",
127
+ "canonical_path": "sales/<sale_id>.md",
128
+ "append_only": false,
129
+ "portability": "tenant_private",
130
+ "required_fields": [
131
+ "type",
132
+ "sale_id",
133
+ "contact_id",
134
+ "name",
135
+ "stage",
136
+ "amount",
137
+ "currency",
138
+ "owner",
139
+ "created_at",
140
+ "updated_at"
141
+ ],
142
+ "enums": {
143
+ "stage": [
144
+ "discovery",
145
+ "sample_sent",
146
+ "proposal",
147
+ "negotiation",
148
+ "won",
149
+ "lost"
150
+ ],
151
+ "currency": [
152
+ "USD"
153
+ ]
154
+ },
155
+ "patterns": {
156
+ "sale_id": "^sale-[a-z0-9-]{8,64}$",
157
+ "contact_id": "^contact-[a-z0-9-]{8,64}$"
158
+ }
159
+ },
160
+ "integration_connection": {
161
+ "family": "resource",
162
+ "canonical_path": "integrations/<provider>.md",
163
+ "append_only": false,
164
+ "portability": "resource_bound",
165
+ "resource": {
166
+ "kind": "api_connection",
167
+ "binds": [
168
+ "provider"
169
+ ],
170
+ "provision_relation": "connects_to"
171
+ },
172
+ "required_fields": [
173
+ "type",
174
+ "provider",
175
+ "status",
176
+ "capabilities",
177
+ "verified_at"
178
+ ],
179
+ "enums": {
180
+ "status": [
181
+ "not_connected",
182
+ "configured",
183
+ "verified",
184
+ "error"
185
+ ]
186
+ }
187
+ },
188
+ "product": {
189
+ "family": "crm",
190
+ "canonical_path": "products/<sku>.md",
191
+ "append_only": false,
192
+ "portability": "tenant_private",
193
+ "required_fields": [
194
+ "type",
195
+ "sku",
196
+ "name",
197
+ "category",
198
+ "wholesale_price",
199
+ "msrp",
200
+ "map_price",
201
+ "margin_percent",
202
+ "created_at",
203
+ "updated_at"
204
+ ]
205
+ },
206
+ "email": {
207
+ "family": "crm",
208
+ "canonical_path": "emails/<id>.md",
209
+ "append_only": false,
210
+ "portability": "tenant_private",
211
+ "required_fields": [
212
+ "type",
213
+ "id",
214
+ "from",
215
+ "to",
216
+ "subject",
217
+ "date",
218
+ "folder"
219
+ ]
220
+ },
221
+ "email_open": {
222
+ "family": "crm",
223
+ "canonical_path": "emails/opens/<message_id>.md",
224
+ "append_only": false,
225
+ "portability": "tenant_private",
226
+ "required_fields": [
227
+ "type",
228
+ "message_id",
229
+ "recipient",
230
+ "subject",
231
+ "sender",
232
+ "first_opened_at",
233
+ "last_opened_at",
234
+ "open_count"
235
+ ],
236
+ "description": "Tracking-pixel opens for an email sent from the platform, recorded by the public cloud instance and synced to every peer."
237
+ },
238
+ "email_sms_reminder": {
239
+ "family": "crm",
240
+ "canonical_path": "emails/sms-reminders/<account_id>/<message_id>.md",
241
+ "append_only": false,
242
+ "portability": "tenant_private",
243
+ "required_fields": [
244
+ "type",
245
+ "account_id",
246
+ "message_id",
247
+ "received_at",
248
+ "sms_sent_at",
249
+ "baseline"
250
+ ],
251
+ "description": "One SMS alert receipt per Gmail message plus a mailbox baseline marker."
252
+ },
253
+ "calendar_event": {
254
+ "family": "crm",
255
+ "canonical_path": "calendar/<id>.md",
256
+ "append_only": false,
257
+ "portability": "tenant_private",
258
+ "required_fields": [
259
+ "type",
260
+ "id",
261
+ "summary",
262
+ "start",
263
+ "status"
264
+ ]
265
+ },
266
+ "file_asset": {
267
+ "family": "crm",
268
+ "canonical_path": "files/meta/<id>.md",
269
+ "append_only": false,
270
+ "portability": "tenant_private",
271
+ "required_fields": [
272
+ "type",
273
+ "id",
274
+ "filename",
275
+ "title",
276
+ "size",
277
+ "mimetype",
278
+ "category",
279
+ "visibility",
280
+ "uploaded_at"
281
+ ],
282
+ "description": "Catalogue record for a collateral file in vault/files/<filename>; owner + visibility (team|private) + shared_with control who can see it. Binaries sync alongside these records."
283
+ },
284
+ "signed_gi_envelope": {
285
+ "family": "crm",
286
+ "canonical_path": "signedgi/<envelope_id>.md",
287
+ "append_only": false,
288
+ "portability": "tenant_private",
289
+ "required_fields": [
290
+ "type",
291
+ "envelope_id",
292
+ "document_id",
293
+ "title",
294
+ "recipient_name",
295
+ "recipient_email",
296
+ "status",
297
+ "signing_url",
298
+ "created_at"
299
+ ],
300
+ "description": "A Documenso (Signed, gi.) document sent for signature; status mirrors Documenso (pending_signature|signed|rejected|draft) and is never set by hand."
301
+ },
302
+ "email_account": {
303
+ "family": "crm",
304
+ "canonical_path": "integrations/accounts/<id>.md",
305
+ "append_only": false,
306
+ "portability": "tenant_private",
307
+ "required_fields": [
308
+ "type",
309
+ "id",
310
+ "email",
311
+ "label",
312
+ "provider",
313
+ "created_at"
314
+ ]
315
+ },
316
+ "contact_attachment": {
317
+ "family": "crm",
318
+ "canonical_path": "files/attachments/<id>.md",
319
+ "append_only": false,
320
+ "portability": "tenant_private",
321
+ "required_fields": [
322
+ "type",
323
+ "id",
324
+ "contact_id",
325
+ "file_id",
326
+ "filename",
327
+ "title",
328
+ "attached_at"
329
+ ]
330
+ },
331
+ "setting": {
332
+ "family": "crm",
333
+ "canonical_path": "settings/<key>.md",
334
+ "append_only": false,
335
+ "portability": "tenant_private",
336
+ "required_fields": [
337
+ "type",
338
+ "key",
339
+ "value",
340
+ "created_at",
341
+ "updated_at"
342
+ ],
343
+ "patterns": {
344
+ "key": "^[a-z][a-z0-9_]{1,60}$"
345
+ }
346
+ },
347
+ "user_profile": {
348
+ "family": "crm",
349
+ "canonical_path": "users/<profile_id>.md",
350
+ "append_only": false,
351
+ "portability": "tenant_private",
352
+ "required_fields": [
353
+ "type",
354
+ "profile_id",
355
+ "email",
356
+ "created_at",
357
+ "updated_at"
358
+ ],
359
+ "patterns": {
360
+ "profile_id": "^user-[a-f0-9]{24}$"
361
+ },
362
+ "description": "Authenticated CRM user profile. Details are incrementally completed by the rep; when present, the saved address is the sole source for account proximity ranking."
363
+ },
364
+ "user_preferences": {
365
+ "family": "crm",
366
+ "canonical_path": "users/preferences/<profile_id>.md",
367
+ "append_only": false,
368
+ "portability": "tenant_private",
369
+ "required_fields": [
370
+ "type",
371
+ "profile_id",
372
+ "version",
373
+ "work",
374
+ "selling",
375
+ "communication",
376
+ "ai",
377
+ "notifications",
378
+ "market_intel",
379
+ "assistant",
380
+ "updated_at"
381
+ ],
382
+ "patterns": {
383
+ "profile_id": "^user-[a-f0-9]{24}$"
384
+ },
385
+ "description": "Per-rep working preferences, selling parameters, communication tone, AI model choices and automation guardrails."
386
+ },
387
+ "user_connection": {
388
+ "family": "crm",
389
+ "canonical_path": "integrations/users/<profile_id>/<provider>.md",
390
+ "append_only": false,
391
+ "portability": "tenant_private",
392
+ "required_fields": [
393
+ "type",
394
+ "profile_id",
395
+ "provider",
396
+ "status",
397
+ "credential_ref",
398
+ "capabilities",
399
+ "monthly_budget_usd",
400
+ "spent_this_month_usd"
401
+ ],
402
+ "required_when": {
403
+ "status==verified": [
404
+ "last_verified_at"
405
+ ]
406
+ },
407
+ "enums": {
408
+ "provider": [
409
+ "openrouter",
410
+ "openai",
411
+ "anthropic",
412
+ "claude",
413
+ "gemini",
414
+ "meta",
415
+ "x_api",
416
+ "social_provider",
417
+ "gmail"
418
+ ],
419
+ "status": [
420
+ "not_connected",
421
+ "configured",
422
+ "verified",
423
+ "error"
424
+ ]
425
+ },
426
+ "patterns": {
427
+ "profile_id": "^user-[a-f0-9]{24}$"
428
+ },
429
+ "description": "Per-rep third-party integration connection metadata and budget guardrails. Secret values are stored exclusively in the machine's Total Recall secrets store."
430
+ },
431
+ "auth_credentials": {
432
+ "family": "resource",
433
+ "canonical_path": "auth/credentials.md",
434
+ "append_only": false,
435
+ "portability": "tenant_private",
436
+ "required_fields": [
437
+ "type",
438
+ "users",
439
+ "updated_at"
440
+ ]
441
+ },
442
+ "market_source": {
443
+ "family": "resource",
444
+ "canonical_path": "market/sources/<source_id>.md",
445
+ "append_only": false,
446
+ "portability": "tenant_private",
447
+ "required_fields": [
448
+ "type",
449
+ "source_id",
450
+ "kind",
451
+ "brand",
452
+ "schedule",
453
+ "enabled",
454
+ "monthly_budget_usd",
455
+ "updated_at"
456
+ ],
457
+ "enums": {
458
+ "kind": [
459
+ "shopify_feed",
460
+ "store_locator",
461
+ "rss",
462
+ "social_profile"
463
+ ]
464
+ }
465
+ },
466
+ "market_run": {
467
+ "family": "crm",
468
+ "canonical_path": "market/runs/<date>/<job>-<run_id>.md",
469
+ "append_only": true,
470
+ "portability": "tenant_private",
471
+ "required_fields": [
472
+ "type",
473
+ "job",
474
+ "started_at",
475
+ "finished_at",
476
+ "status",
477
+ "items_seen",
478
+ "changes",
479
+ "cost_usd"
480
+ ],
481
+ "enums": {
482
+ "status": [
483
+ "ok",
484
+ "partial",
485
+ "failed",
486
+ "skipped"
487
+ ]
488
+ }
489
+ },
490
+ "competitor_product": {
491
+ "family": "crm",
492
+ "canonical_path": "market/products/<brand>/<handle>.md",
493
+ "append_only": false,
494
+ "portability": "tenant_private",
495
+ "required_fields": [
496
+ "type",
497
+ "brand",
498
+ "title",
499
+ "sku",
500
+ "price",
501
+ "first_seen",
502
+ "last_seen",
503
+ "updated_at"
504
+ ]
505
+ },
506
+ "retail_listing": {
507
+ "family": "crm",
508
+ "canonical_path": "market/listings/<brand>/<listing_id>.md",
509
+ "append_only": false,
510
+ "portability": "tenant_private",
511
+ "required_fields": [
512
+ "type",
513
+ "brand",
514
+ "name",
515
+ "address",
516
+ "state",
517
+ "first_seen",
518
+ "last_seen",
519
+ "status",
520
+ "dd_listed",
521
+ "updated_at"
522
+ ],
523
+ "enums": {
524
+ "status": [
525
+ "active",
526
+ "gone"
527
+ ]
528
+ }
529
+ },
530
+ "social_snapshot": {
531
+ "family": "crm",
532
+ "canonical_path": "market/social/<platform>/<handle>/<date>.md",
533
+ "append_only": true,
534
+ "portability": "tenant_private",
535
+ "required_fields": [
536
+ "type",
537
+ "brand",
538
+ "platform",
539
+ "handle",
540
+ "followers",
541
+ "posts_total",
542
+ "date",
543
+ "updated_at"
544
+ ]
545
+ },
546
+ "news_item": {
547
+ "family": "crm",
548
+ "canonical_path": "market/news/<news_id>.md",
549
+ "append_only": false,
550
+ "portability": "tenant_private",
551
+ "required_fields": [
552
+ "type",
553
+ "title",
554
+ "url",
555
+ "source",
556
+ "published_at",
557
+ "topics",
558
+ "brands",
559
+ "updated_at"
560
+ ]
561
+ },
562
+ "market_signal": {
563
+ "family": "crm",
564
+ "canonical_path": "market/signals/<date>/<signal_id>.md",
565
+ "append_only": true,
566
+ "portability": "tenant_private",
567
+ "required_fields": [
568
+ "type",
569
+ "signal_id",
570
+ "kind",
571
+ "severity",
572
+ "brand",
573
+ "summary",
574
+ "timestamp"
575
+ ],
576
+ "enums": {
577
+ "kind": [
578
+ "price_change",
579
+ "new_product",
580
+ "stock_out",
581
+ "map_violation",
582
+ "new_door",
583
+ "lost_door",
584
+ "follower_spike",
585
+ "promo_detected",
586
+ "news",
587
+ "regulatory"
588
+ ]
589
+ }
590
+ },
591
+ "season_event": {
592
+ "family": "crm",
593
+ "canonical_path": "marketing/calendar/<season_event_id>.md",
594
+ "append_only": false,
595
+ "portability": "tenant_private",
596
+ "required_fields": [
597
+ "type",
598
+ "season_event_id",
599
+ "name",
600
+ "starts",
601
+ "ends",
602
+ "kind",
603
+ "updated_at"
604
+ ],
605
+ "enums": {
606
+ "kind": [
607
+ "holiday",
608
+ "regulatory",
609
+ "trade_show",
610
+ "competitor_promo"
611
+ ]
612
+ }
613
+ },
614
+ "recommendation": {
615
+ "family": "crm",
616
+ "canonical_path": "marketing/recommendations/<rec_id>.md",
617
+ "append_only": false,
618
+ "portability": "tenant_private",
619
+ "required_fields": [
620
+ "type",
621
+ "rec_id",
622
+ "kind",
623
+ "status",
624
+ "rationale",
625
+ "expected_effect",
626
+ "updated_at"
627
+ ],
628
+ "enums": {
629
+ "kind": [
630
+ "package",
631
+ "content",
632
+ "event",
633
+ "offer",
634
+ "outreach",
635
+ "pricing_watch"
636
+ ],
637
+ "status": [
638
+ "pending",
639
+ "accepted",
640
+ "dismissed"
641
+ ]
642
+ }
643
+ },
644
+ "promo_code": {
645
+ "family": "crm",
646
+ "canonical_path": "marketing/promos/<code>.md",
647
+ "append_only": false,
648
+ "portability": "tenant_private",
649
+ "required_fields": [
650
+ "type",
651
+ "code",
652
+ "offer",
653
+ "starts",
654
+ "channel",
655
+ "redemptions",
656
+ "updated_at"
657
+ ]
658
+ },
659
+ "marketing_partner": {
660
+ "family": "crm",
661
+ "canonical_path": "marketing/partners/<partner_id>.md",
662
+ "append_only": false,
663
+ "portability": "tenant_private",
664
+ "required_fields": [
665
+ "type",
666
+ "partner_id",
667
+ "kind",
668
+ "name",
669
+ "updated_at"
670
+ ],
671
+ "enums": {
672
+ "kind": [
673
+ "creator",
674
+ "affiliate",
675
+ "retailer_staff"
676
+ ]
677
+ }
678
+ },
679
+ "market_digest": {
680
+ "family": "crm",
681
+ "canonical_path": "market/digests/<date>.md",
682
+ "append_only": false,
683
+ "portability": "tenant_private",
684
+ "required_fields": [
685
+ "type",
686
+ "date",
687
+ "signals_count",
688
+ "recommendations_count",
689
+ "updated_at"
690
+ ]
691
+ },
692
+ "market_research": {
693
+ "family": "crm",
694
+ "canonical_path": "market/research/<research_id>.md",
695
+ "append_only": false,
696
+ "portability": "tenant_private",
697
+ "required_fields": [
698
+ "type",
699
+ "research_id",
700
+ "topic",
701
+ "priority",
702
+ "status",
703
+ "created_at",
704
+ "updated_at"
705
+ ],
706
+ "enums": {
707
+ "priority": [
708
+ "low",
709
+ "medium",
710
+ "high"
711
+ ],
712
+ "status": [
713
+ "queued",
714
+ "failed",
715
+ "done"
716
+ ]
717
+ }
718
+ },
719
+ "api_key": {
720
+ "family": "crm",
721
+ "canonical_path": "auth/api-keys/<id>.md",
722
+ "append_only": false,
723
+ "portability": "tenant_private",
724
+ "required_fields": [
725
+ "type",
726
+ "id",
727
+ "owner",
728
+ "name",
729
+ "scope",
730
+ "token_hash",
731
+ "created_at",
732
+ "updated_at",
733
+ "expires_at",
734
+ "revoked_at"
735
+ ],
736
+ "enums": {
737
+ "scope": [
738
+ "read",
739
+ "write",
740
+ "admin"
741
+ ]
742
+ }
743
+ },
744
+ "google_identity": {
745
+ "family": "crm",
746
+ "canonical_path": "auth/google/<identity_id>.md",
747
+ "append_only": false,
748
+ "portability": "tenant_private",
749
+ "required_fields": [
750
+ "type",
751
+ "identity_id",
752
+ "subject",
753
+ "owner",
754
+ "created_at",
755
+ "updated_at"
756
+ ]
757
+ },
758
+ "user_role": {
759
+ "family": "crm",
760
+ "canonical_path": "auth/roles/<identity_id>.md",
761
+ "append_only": false,
762
+ "portability": "tenant_private",
763
+ "required_fields": [
764
+ "type",
765
+ "identity_id",
766
+ "email",
767
+ "role",
768
+ "updated_at"
769
+ ],
770
+ "enums": {
771
+ "role": [
772
+ "admin",
773
+ "rep",
774
+ "sales_director"
775
+ ]
776
+ }
777
+ },
778
+ "two_factor": {
779
+ "family": "security",
780
+ "canonical_path": "auth/totp/<identity_id>.md",
781
+ "append_only": false,
782
+ "portability": "tenant_private",
783
+ "required_fields": [
784
+ "type",
785
+ "identity_id",
786
+ "owner",
787
+ "enabled",
788
+ "last_counter",
789
+ "updated_at"
790
+ ],
791
+ "patterns": {
792
+ "identity_id": "^[a-f0-9]{64}$"
793
+ }
794
+ },
795
+ "social_feed_source": {
796
+ "family": "crm",
797
+ "canonical_path": "users/social/<profile_id>/sources/<feed_id>.md",
798
+ "append_only": false,
799
+ "portability": "tenant_private",
800
+ "required_fields": [
801
+ "type",
802
+ "owner",
803
+ "profile_id",
804
+ "feed_id",
805
+ "url",
806
+ "platform",
807
+ "handle",
808
+ "enabled",
809
+ "position",
810
+ "created_at",
811
+ "updated_at"
812
+ ]
813
+ },
814
+ "social_feed_item": {
815
+ "family": "crm",
816
+ "canonical_path": "users/social/<profile_id>/items/<item_id>.md",
817
+ "append_only": true,
818
+ "portability": "tenant_private",
819
+ "required_fields": [
820
+ "type",
821
+ "owner",
822
+ "profile_id",
823
+ "item_id",
824
+ "feed_id",
825
+ "platform",
826
+ "source_url",
827
+ "observed_at",
828
+ "post"
829
+ ]
830
+ },
831
+ "social_scan_run": {
832
+ "family": "crm",
833
+ "canonical_path": "users/social/<profile_id>/runs/<run_id>.md",
834
+ "append_only": true,
835
+ "portability": "tenant_private",
836
+ "required_fields": [
837
+ "type",
838
+ "owner",
839
+ "profile_id",
840
+ "run_id",
841
+ "started_at",
842
+ "sources",
843
+ "items_added"
844
+ ]
845
+ },
846
+ "user_memory": {
847
+ "family": "crm",
848
+ "canonical_path": "users/brain/<profile_id>/memories/<memory_id>.md",
849
+ "append_only": false,
850
+ "portability": "tenant_private",
851
+ "required_fields": [
852
+ "type",
853
+ "owner",
854
+ "profile_id",
855
+ "memory_id",
856
+ "category",
857
+ "title",
858
+ "content",
859
+ "created_at",
860
+ "updated_at"
861
+ ],
862
+ "enums": {
863
+ "category": [
864
+ "chat_thread",
865
+ "note",
866
+ "objection",
867
+ "preference",
868
+ "call_insight"
869
+ ]
870
+ }
871
+ },
872
+ "user": {
873
+ "family": "crm",
874
+ "canonical_path": "auth/users/<identity_id>.md",
875
+ "append_only": false,
876
+ "portability": "tenant_private",
877
+ "required_fields": [
878
+ "type",
879
+ "identity_id",
880
+ "email",
881
+ "status",
882
+ "updated_at"
883
+ ],
884
+ "enums": {
885
+ "status": [
886
+ "invited",
887
+ "active",
888
+ "disabled",
889
+ "deleted"
890
+ ]
891
+ }
892
+ },
893
+ "passkey": {
894
+ "family": "crm",
895
+ "canonical_path": "auth/passkeys/<credential_hash>.md",
896
+ "append_only": false,
897
+ "portability": "tenant_private",
898
+ "required_fields": [
899
+ "type",
900
+ "credential_hash",
901
+ "credential_id",
902
+ "owner",
903
+ "public_key",
904
+ "sign_count",
905
+ "updated_at"
906
+ ]
907
+ },
908
+ "setup_code": {
909
+ "family": "crm",
910
+ "canonical_path": "auth/setup-codes/<code_hash>.md",
911
+ "append_only": false,
912
+ "portability": "tenant_private",
913
+ "required_fields": [
914
+ "type",
915
+ "code_hash",
916
+ "owner",
917
+ "expires_at",
918
+ "updated_at"
919
+ ]
920
+ },
921
+ "user_policy": {
922
+ "family": "crm",
923
+ "canonical_path": "auth/user-policy.md",
924
+ "append_only": false,
925
+ "portability": "tenant_private",
926
+ "required_fields": [
927
+ "type",
928
+ "enforce",
929
+ "allow_shared_password",
930
+ "updated_at"
931
+ ]
932
+ },
933
+ "email_watch": {
934
+ "family": "crm",
935
+ "canonical_path": "emails/watches/<watch_id>.md",
936
+ "append_only": false,
937
+ "portability": "tenant_private",
938
+ "required_fields": [
939
+ "type",
940
+ "id",
941
+ "owner",
942
+ "account_id",
943
+ "thread_id",
944
+ "status",
945
+ "updated_at"
946
+ ],
947
+ "enums": {
948
+ "status": [
949
+ "waiting",
950
+ "replied",
951
+ "stopped"
952
+ ]
953
+ }
954
+ },
955
+ "campaign": {
956
+ "family": "crm",
957
+ "canonical_path": "campaigns/<id>.md",
958
+ "append_only": false,
959
+ "portability": "tenant_private",
960
+ "required_fields": [
961
+ "type",
962
+ "id",
963
+ "name",
964
+ "campaign_type",
965
+ "status",
966
+ "author",
967
+ "created_at",
968
+ "updated_at",
969
+ "target_filter",
970
+ "steps"
971
+ ],
972
+ "enums": {
973
+ "campaign_type": [
974
+ "drip",
975
+ "blast",
976
+ "sequence",
977
+ "newsletter"
978
+ ],
979
+ "status": [
980
+ "draft",
981
+ "scheduled",
982
+ "sending",
983
+ "sent",
984
+ "paused",
985
+ "cancelled"
986
+ ]
987
+ },
988
+ "patterns": {
989
+ "id": "^camp-[a-f0-9]{12}$"
990
+ },
991
+ "notes": "A multi-step outbound email campaign plus its recipient set and delivery stats. tenant_private: it names real recipients."
992
+ },
993
+ "cron_health_status": {
994
+ "family": "crm",
995
+ "canonical_path": "integrations/cron-status.md",
996
+ "append_only": false,
997
+ "portability": "tenant_private",
998
+ "required_fields": [
999
+ "type",
1000
+ "checked_at",
1001
+ "integrations"
1002
+ ],
1003
+ "notes": "Singleton snapshot of third-party integration connectivity, rewritten each health check. `integrations` is a map of provider -> state, not a scalar enum."
1004
+ },
1005
+ "local_lists_status": {
1006
+ "family": "crm",
1007
+ "canonical_path": "integrations/local-lists.md",
1008
+ "append_only": false,
1009
+ "portability": "tenant_private",
1010
+ "required_fields": [
1011
+ "type",
1012
+ "finished_at",
1013
+ "result"
1014
+ ],
1015
+ "notes": "Singleton result of the last local-territory list rebuild across sales reps. `error` is empty on success, so it is optional."
1016
+ }
1017
+ }
1018
+ }