@happyvertical/smrt-sales 0.55.7 → 0.55.8
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/dist/agreements.js +1 -1
- package/dist/chunks/{__smrt-register__-6w_3qeOs.js → __smrt-register__-DFr5ksXZ.js} +2 -2
- package/dist/chunks/{__smrt-register__-6w_3qeOs.js.map → __smrt-register__-DFr5ksXZ.js.map} +1 -1
- package/dist/chunks/{crm-B-irXbbr.js → crm-DaUkdNoG.js} +126 -55
- package/dist/chunks/crm-DaUkdNoG.js.map +1 -0
- package/dist/commissions.js +1 -1
- package/dist/crm/index.d.ts +1 -0
- package/dist/crm/index.d.ts.map +1 -1
- package/dist/crm/models/Lead.d.ts.map +1 -1
- package/dist/crm/models/Opportunity.d.ts.map +1 -1
- package/dist/crm/models/PipelineDefinition.d.ts.map +1 -1
- package/dist/crm/models/PipelineStage.d.ts.map +1 -1
- package/dist/crm/models/SalesActivity.d.ts.map +1 -1
- package/dist/crm/recipes.d.ts +115 -0
- package/dist/crm/recipes.d.ts.map +1 -0
- package/dist/crm.js +3 -3
- package/dist/index.js +3 -3
- package/dist/manifest.json +311 -35
- package/dist/referrals.js +1 -1
- package/dist/smrt-knowledge.json +222 -39
- package/package.json +8 -8
- package/dist/chunks/crm-B-irXbbr.js.map +0 -1
package/dist/smrt-knowledge.json
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
"sensitiveFieldsExcluded": true,
|
|
4
4
|
"generatedAt": "1970-01-01T00:00:00.000Z",
|
|
5
5
|
"packageName": "@happyvertical/smrt-sales",
|
|
6
|
-
"packageVersion": "0.55.
|
|
6
|
+
"packageVersion": "0.55.8",
|
|
7
7
|
"sourceManifestPath": "dist/manifest.json",
|
|
8
8
|
"agentDocPath": "AGENTS.md",
|
|
9
9
|
"sourceHashes": {
|
|
10
|
-
"manifest": "
|
|
11
|
-
"packageJson": "
|
|
10
|
+
"manifest": "1887146936b7a4eb60c24a5b62240cc447fba429693c4330dd90683323e85362",
|
|
11
|
+
"packageJson": "90f6fd25c8e143e0a5f0ed202edb263576b8e59195a6a9b9c19a9a2abb7d78ec",
|
|
12
12
|
"agents": "3100099d7cef116237e4deb4f83e32d836f3cc26e0f68a7dd55f14de942eda11",
|
|
13
13
|
"moduleDoc:agents/agreements.md": "eb6ff147a0f60ee627d3337e8e9394d06fda955b4a4fff228537a9bd2803f886",
|
|
14
14
|
"moduleDoc:agents/commissions.md": "e047024aafe5edcf072c1a6b7ea253c24cb15f2fa1beb2edd13651e735921f73",
|
|
@@ -5412,35 +5412,40 @@
|
|
|
5412
5412
|
"type": "text",
|
|
5413
5413
|
"required": true,
|
|
5414
5414
|
"columnType": "TEXT",
|
|
5415
|
-
"default": ""
|
|
5415
|
+
"default": "",
|
|
5416
|
+
"description": "What you call this lead."
|
|
5416
5417
|
},
|
|
5417
5418
|
{
|
|
5418
5419
|
"name": "contactName",
|
|
5419
5420
|
"type": "text",
|
|
5420
5421
|
"required": false,
|
|
5421
5422
|
"columnType": "TEXT",
|
|
5422
|
-
"default": ""
|
|
5423
|
+
"default": "",
|
|
5424
|
+
"description": "The person to talk to."
|
|
5423
5425
|
},
|
|
5424
5426
|
{
|
|
5425
5427
|
"name": "email",
|
|
5426
5428
|
"type": "text",
|
|
5427
5429
|
"required": false,
|
|
5428
5430
|
"columnType": "TEXT",
|
|
5429
|
-
"default": ""
|
|
5431
|
+
"default": "",
|
|
5432
|
+
"description": "Their email address."
|
|
5430
5433
|
},
|
|
5431
5434
|
{
|
|
5432
5435
|
"name": "phone",
|
|
5433
5436
|
"type": "text",
|
|
5434
5437
|
"required": false,
|
|
5435
5438
|
"columnType": "TEXT",
|
|
5436
|
-
"default": ""
|
|
5439
|
+
"default": "",
|
|
5440
|
+
"description": "Their phone number."
|
|
5437
5441
|
},
|
|
5438
5442
|
{
|
|
5439
5443
|
"name": "organizationName",
|
|
5440
5444
|
"type": "text",
|
|
5441
5445
|
"required": false,
|
|
5442
5446
|
"columnType": "TEXT",
|
|
5443
|
-
"default": ""
|
|
5447
|
+
"default": "",
|
|
5448
|
+
"description": "The company they are with."
|
|
5444
5449
|
},
|
|
5445
5450
|
{
|
|
5446
5451
|
"name": "profileId",
|
|
@@ -5454,14 +5459,16 @@
|
|
|
5454
5459
|
"type": "foreignKey",
|
|
5455
5460
|
"required": false,
|
|
5456
5461
|
"related": "SalesRepresentative",
|
|
5457
|
-
"columnType": "UUID"
|
|
5462
|
+
"columnType": "UUID",
|
|
5463
|
+
"description": "The sales representative who owns this lead."
|
|
5458
5464
|
},
|
|
5459
5465
|
{
|
|
5460
5466
|
"name": "status",
|
|
5461
5467
|
"type": "text",
|
|
5462
5468
|
"required": false,
|
|
5463
5469
|
"columnType": "TEXT",
|
|
5464
|
-
"default": "new"
|
|
5470
|
+
"default": "new",
|
|
5471
|
+
"description": "Where the lead stands, for example new or qualified."
|
|
5465
5472
|
},
|
|
5466
5473
|
{
|
|
5467
5474
|
"name": "sourceKind",
|
|
@@ -5802,69 +5809,79 @@
|
|
|
5802
5809
|
"type": "text",
|
|
5803
5810
|
"required": true,
|
|
5804
5811
|
"columnType": "TEXT",
|
|
5805
|
-
"default": ""
|
|
5812
|
+
"default": "",
|
|
5813
|
+
"description": "What you call this deal."
|
|
5806
5814
|
},
|
|
5807
5815
|
{
|
|
5808
5816
|
"name": "leadId",
|
|
5809
5817
|
"type": "foreignKey",
|
|
5810
5818
|
"required": false,
|
|
5811
5819
|
"related": "Lead",
|
|
5812
|
-
"columnType": "UUID"
|
|
5820
|
+
"columnType": "UUID",
|
|
5821
|
+
"description": "The lead it came from."
|
|
5813
5822
|
},
|
|
5814
5823
|
{
|
|
5815
5824
|
"name": "ownerRepId",
|
|
5816
5825
|
"type": "foreignKey",
|
|
5817
5826
|
"required": false,
|
|
5818
5827
|
"related": "SalesRepresentative",
|
|
5819
|
-
"columnType": "UUID"
|
|
5828
|
+
"columnType": "UUID",
|
|
5829
|
+
"description": "The sales representative who owns this deal."
|
|
5820
5830
|
},
|
|
5821
5831
|
{
|
|
5822
5832
|
"name": "pipelineId",
|
|
5823
5833
|
"type": "foreignKey",
|
|
5824
5834
|
"required": false,
|
|
5825
5835
|
"related": "PipelineDefinition",
|
|
5826
|
-
"columnType": "UUID"
|
|
5836
|
+
"columnType": "UUID",
|
|
5837
|
+
"description": "The pipeline it moves through."
|
|
5827
5838
|
},
|
|
5828
5839
|
{
|
|
5829
5840
|
"name": "stageId",
|
|
5830
5841
|
"type": "foreignKey",
|
|
5831
5842
|
"required": false,
|
|
5832
5843
|
"related": "PipelineStage",
|
|
5833
|
-
"columnType": "UUID"
|
|
5844
|
+
"columnType": "UUID",
|
|
5845
|
+
"description": "The stage it is at now."
|
|
5834
5846
|
},
|
|
5835
5847
|
{
|
|
5836
5848
|
"name": "expectedValueCents",
|
|
5837
5849
|
"type": "integer",
|
|
5838
5850
|
"required": false,
|
|
5839
5851
|
"columnType": "INTEGER",
|
|
5840
|
-
"default": 0
|
|
5852
|
+
"default": 0,
|
|
5853
|
+
"description": "What you expect the deal to be worth, in cents."
|
|
5841
5854
|
},
|
|
5842
5855
|
{
|
|
5843
5856
|
"name": "currency",
|
|
5844
5857
|
"type": "text",
|
|
5845
5858
|
"required": false,
|
|
5846
5859
|
"columnType": "TEXT",
|
|
5847
|
-
"default": "USD"
|
|
5860
|
+
"default": "USD",
|
|
5861
|
+
"description": "The currency of that value."
|
|
5848
5862
|
},
|
|
5849
5863
|
{
|
|
5850
5864
|
"name": "probability",
|
|
5851
5865
|
"type": "decimal",
|
|
5852
5866
|
"required": false,
|
|
5853
5867
|
"columnType": "REAL",
|
|
5854
|
-
"default": 0
|
|
5868
|
+
"default": 0,
|
|
5869
|
+
"description": "How likely it is to close, as a decimal (0.5 is 50%)."
|
|
5855
5870
|
},
|
|
5856
5871
|
{
|
|
5857
5872
|
"name": "expectedCloseAt",
|
|
5858
5873
|
"type": "datetime",
|
|
5859
5874
|
"required": false,
|
|
5860
|
-
"columnType": "TIMESTAMP"
|
|
5875
|
+
"columnType": "TIMESTAMP",
|
|
5876
|
+
"description": "When you expect it to close."
|
|
5861
5877
|
},
|
|
5862
5878
|
{
|
|
5863
5879
|
"name": "status",
|
|
5864
5880
|
"type": "text",
|
|
5865
5881
|
"required": false,
|
|
5866
5882
|
"columnType": "TEXT",
|
|
5867
|
-
"default": "open"
|
|
5883
|
+
"default": "open",
|
|
5884
|
+
"description": "open, won or lost."
|
|
5868
5885
|
},
|
|
5869
5886
|
{
|
|
5870
5887
|
"name": "outcomeReason",
|
|
@@ -6319,35 +6336,40 @@
|
|
|
6319
6336
|
"type": "text",
|
|
6320
6337
|
"required": true,
|
|
6321
6338
|
"columnType": "TEXT",
|
|
6322
|
-
"default": ""
|
|
6339
|
+
"default": "",
|
|
6340
|
+
"description": "A short code for the pipeline."
|
|
6323
6341
|
},
|
|
6324
6342
|
{
|
|
6325
6343
|
"name": "name",
|
|
6326
6344
|
"type": "text",
|
|
6327
6345
|
"required": false,
|
|
6328
6346
|
"columnType": "TEXT",
|
|
6329
|
-
"default": ""
|
|
6347
|
+
"default": "",
|
|
6348
|
+
"description": "What the pipeline is called."
|
|
6330
6349
|
},
|
|
6331
6350
|
{
|
|
6332
6351
|
"name": "isDefault",
|
|
6333
6352
|
"type": "boolean",
|
|
6334
6353
|
"required": false,
|
|
6335
6354
|
"columnType": "BOOLEAN",
|
|
6336
|
-
"default": false
|
|
6355
|
+
"default": false,
|
|
6356
|
+
"description": "Whether this is the default pipeline for new deals."
|
|
6337
6357
|
},
|
|
6338
6358
|
{
|
|
6339
6359
|
"name": "status",
|
|
6340
6360
|
"type": "text",
|
|
6341
6361
|
"required": false,
|
|
6342
6362
|
"columnType": "TEXT",
|
|
6343
|
-
"default": "active"
|
|
6363
|
+
"default": "active",
|
|
6364
|
+
"description": "Whether the pipeline is active (accepts new deals) or archived."
|
|
6344
6365
|
},
|
|
6345
6366
|
{
|
|
6346
6367
|
"name": "metadata",
|
|
6347
6368
|
"type": "text",
|
|
6348
6369
|
"required": false,
|
|
6349
6370
|
"columnType": "TEXT",
|
|
6350
|
-
"default": "{}"
|
|
6371
|
+
"default": "{}",
|
|
6372
|
+
"description": "Extra details kept with the pipeline."
|
|
6351
6373
|
}
|
|
6352
6374
|
],
|
|
6353
6375
|
"relationships": [],
|
|
@@ -6526,49 +6548,56 @@
|
|
|
6526
6548
|
"type": "foreignKey",
|
|
6527
6549
|
"required": true,
|
|
6528
6550
|
"related": "PipelineDefinition",
|
|
6529
|
-
"columnType": "UUID"
|
|
6551
|
+
"columnType": "UUID",
|
|
6552
|
+
"description": "The pipeline this stage belongs to."
|
|
6530
6553
|
},
|
|
6531
6554
|
{
|
|
6532
6555
|
"name": "key",
|
|
6533
6556
|
"type": "text",
|
|
6534
6557
|
"required": true,
|
|
6535
6558
|
"columnType": "TEXT",
|
|
6536
|
-
"default": ""
|
|
6559
|
+
"default": "",
|
|
6560
|
+
"description": "A short code for the stage."
|
|
6537
6561
|
},
|
|
6538
6562
|
{
|
|
6539
6563
|
"name": "name",
|
|
6540
6564
|
"type": "text",
|
|
6541
6565
|
"required": false,
|
|
6542
6566
|
"columnType": "TEXT",
|
|
6543
|
-
"default": ""
|
|
6567
|
+
"default": "",
|
|
6568
|
+
"description": "What the stage is called."
|
|
6544
6569
|
},
|
|
6545
6570
|
{
|
|
6546
6571
|
"name": "sortOrder",
|
|
6547
6572
|
"type": "integer",
|
|
6548
6573
|
"required": false,
|
|
6549
6574
|
"columnType": "INTEGER",
|
|
6550
|
-
"default": 0
|
|
6575
|
+
"default": 0,
|
|
6576
|
+
"description": "Where it comes in the pipeline."
|
|
6551
6577
|
},
|
|
6552
6578
|
{
|
|
6553
6579
|
"name": "probability",
|
|
6554
6580
|
"type": "decimal",
|
|
6555
6581
|
"required": false,
|
|
6556
6582
|
"columnType": "REAL",
|
|
6557
|
-
"default": 0
|
|
6583
|
+
"default": 0,
|
|
6584
|
+
"description": "How likely a deal at this stage is to close, as a decimal."
|
|
6558
6585
|
},
|
|
6559
6586
|
{
|
|
6560
6587
|
"name": "isWon",
|
|
6561
6588
|
"type": "boolean",
|
|
6562
6589
|
"required": false,
|
|
6563
6590
|
"columnType": "BOOLEAN",
|
|
6564
|
-
"default": false
|
|
6591
|
+
"default": false,
|
|
6592
|
+
"description": "Whether reaching this stage closes the deal as won."
|
|
6565
6593
|
},
|
|
6566
6594
|
{
|
|
6567
6595
|
"name": "isLost",
|
|
6568
6596
|
"type": "boolean",
|
|
6569
6597
|
"required": false,
|
|
6570
6598
|
"columnType": "BOOLEAN",
|
|
6571
|
-
"default": false
|
|
6599
|
+
"default": false,
|
|
6600
|
+
"description": "Whether reaching this stage closes the deal as lost."
|
|
6572
6601
|
},
|
|
6573
6602
|
{
|
|
6574
6603
|
"name": "metadata",
|
|
@@ -6714,40 +6743,46 @@
|
|
|
6714
6743
|
"type": "text",
|
|
6715
6744
|
"required": false,
|
|
6716
6745
|
"columnType": "TEXT",
|
|
6717
|
-
"default": "lead"
|
|
6746
|
+
"default": "lead",
|
|
6747
|
+
"description": "What the activity is about: a lead or an opportunity."
|
|
6718
6748
|
},
|
|
6719
6749
|
{
|
|
6720
6750
|
"name": "subjectId",
|
|
6721
6751
|
"type": "text",
|
|
6722
6752
|
"required": true,
|
|
6723
6753
|
"columnType": "TEXT",
|
|
6724
|
-
"default": ""
|
|
6754
|
+
"default": "",
|
|
6755
|
+
"description": "The lead or opportunity it is about."
|
|
6725
6756
|
},
|
|
6726
6757
|
{
|
|
6727
6758
|
"name": "activityKind",
|
|
6728
6759
|
"type": "text",
|
|
6729
6760
|
"required": false,
|
|
6730
6761
|
"columnType": "TEXT",
|
|
6731
|
-
"default": "note"
|
|
6762
|
+
"default": "note",
|
|
6763
|
+
"description": "The kind of activity, for example call, note or email."
|
|
6732
6764
|
},
|
|
6733
6765
|
{
|
|
6734
6766
|
"name": "summary",
|
|
6735
6767
|
"type": "text",
|
|
6736
6768
|
"required": false,
|
|
6737
6769
|
"columnType": "TEXT",
|
|
6738
|
-
"default": ""
|
|
6770
|
+
"default": "",
|
|
6771
|
+
"description": "What happened or what needs doing."
|
|
6739
6772
|
},
|
|
6740
6773
|
{
|
|
6741
6774
|
"name": "dueAt",
|
|
6742
6775
|
"type": "datetime",
|
|
6743
6776
|
"required": false,
|
|
6744
|
-
"columnType": "TIMESTAMP"
|
|
6777
|
+
"columnType": "TIMESTAMP",
|
|
6778
|
+
"description": "When it is due."
|
|
6745
6779
|
},
|
|
6746
6780
|
{
|
|
6747
6781
|
"name": "completedAt",
|
|
6748
6782
|
"type": "datetime",
|
|
6749
6783
|
"required": false,
|
|
6750
|
-
"columnType": "TIMESTAMP"
|
|
6784
|
+
"columnType": "TIMESTAMP",
|
|
6785
|
+
"description": "When it was done."
|
|
6751
6786
|
},
|
|
6752
6787
|
{
|
|
6753
6788
|
"name": "actorProfileId",
|
|
@@ -14404,5 +14439,153 @@
|
|
|
14404
14439
|
"module": "svelte",
|
|
14405
14440
|
"content": "# smrt-sales/svelte\n\nPer-module semantics for `@happyvertical/smrt-sales/svelte`. Package orientation, the\ncross-module invariants (currency, tenancy, cross-package refs, roles vs.\nmoney), and the Gotchas that apply before editing anything live in\n[../AGENTS.md](../AGENTS.md) — read that first.\n\nProps-driven presentational components (no data fetching, no model-class imports, Provider-free smrt-ui primitives, `--smrt-*` tokens only): CRM — `SalesDashboard`, `LeadCreateForm`, `LeadList`, `LeadDetail`, `OpportunityBoard`, `OpportunityDetail`; referrer portal — `ReferralLinkManager`, `ReferralStatusList`, `ReferrerEarningsSummary`, `CommissionBreakdown` (trace-explained amounts), `PayoutHistoryList`, `ExecutedAgreementsList`; operator — `AttributionConflictQueue` (award editor + required resolution reason), `PayoutBatchReview`, `CommissionExpenseSummary` (explicitly distinct from client invoices). Monetary props stay integer cents; `format.ts` converts at render. View-model prop types are exported interfaces (never inline intersected generics in `$props()`). Pure helpers are unit-tested and Lead intake/inbox/detail components have mounted runtime tests through `vitest.ui.config.ts`.\n\n`LeadCreateForm` validates the required name and email-or-phone contact rule, normalizes email, and emits a host-mapped `LeadCreateDraft`; source choices, duplicate results, errors, and owner choices come from the host. `LeadList` accepts controlled filter/count, sort, page, selection/link, and row-action props; the host owns inbox fetching and callback mutations. `LeadDetail` renders a complete host-supplied timeline, an optional linked-opportunity summary snippet, and callback-only assignment, start/reopen, disqualification, human-activity, next-action, completion, and qualification controls. Its `busy` prop disables every mutation affordance; the host owns tenancy, authorization, service invocation, refresh, and any policy around due dates or reminders.\n"
|
|
14406
14441
|
}
|
|
14407
|
-
]
|
|
14442
|
+
],
|
|
14443
|
+
"recipes": [
|
|
14444
|
+
{
|
|
14445
|
+
"id": "sales.pipeline",
|
|
14446
|
+
"className": "SalesPipelineRecipe",
|
|
14447
|
+
"label": "Leads & pipeline",
|
|
14448
|
+
"summary": "Capture leads and move them through your sales stages.",
|
|
14449
|
+
"synonyms": [
|
|
14450
|
+
"crm",
|
|
14451
|
+
"prospects",
|
|
14452
|
+
"opportunities",
|
|
14453
|
+
"deals",
|
|
14454
|
+
"funnel"
|
|
14455
|
+
],
|
|
14456
|
+
"models": [
|
|
14457
|
+
"@happyvertical/smrt-sales:Lead",
|
|
14458
|
+
"@happyvertical/smrt-sales:Opportunity",
|
|
14459
|
+
"@happyvertical/smrt-sales:PipelineDefinition",
|
|
14460
|
+
"@happyvertical/smrt-sales:PipelineStage",
|
|
14461
|
+
"@happyvertical/smrt-sales:SalesActivity"
|
|
14462
|
+
],
|
|
14463
|
+
"nav": [
|
|
14464
|
+
{
|
|
14465
|
+
"label": "Leads",
|
|
14466
|
+
"model": "@happyvertical/smrt-sales:Lead",
|
|
14467
|
+
"icon": "users",
|
|
14468
|
+
"description": "People who might become customers, and where each one stands."
|
|
14469
|
+
},
|
|
14470
|
+
{
|
|
14471
|
+
"label": "Opportunities",
|
|
14472
|
+
"model": "@happyvertical/smrt-sales:Opportunity",
|
|
14473
|
+
"icon": "briefcase",
|
|
14474
|
+
"description": "Deals in progress, with their value and next step."
|
|
14475
|
+
},
|
|
14476
|
+
{
|
|
14477
|
+
"label": "Pipelines",
|
|
14478
|
+
"model": "@happyvertical/smrt-sales:PipelineDefinition",
|
|
14479
|
+
"icon": "layers",
|
|
14480
|
+
"description": "The stages a deal moves through on its way to a sale."
|
|
14481
|
+
}
|
|
14482
|
+
],
|
|
14483
|
+
"requires": [],
|
|
14484
|
+
"section": {
|
|
14485
|
+
"id": "sales",
|
|
14486
|
+
"label": "Sales",
|
|
14487
|
+
"icon": "shoppingBag",
|
|
14488
|
+
"description": "Customers, orders and quotes: everything you sell."
|
|
14489
|
+
},
|
|
14490
|
+
"options": {
|
|
14491
|
+
"@happyvertical/smrt-sales:Lead": {
|
|
14492
|
+
"fields": {
|
|
14493
|
+
"profileId": {
|
|
14494
|
+
"visibility": "hidden"
|
|
14495
|
+
},
|
|
14496
|
+
"mergedIntoId": {
|
|
14497
|
+
"visibility": "hidden"
|
|
14498
|
+
},
|
|
14499
|
+
"sourceKind": {
|
|
14500
|
+
"visibility": "hidden"
|
|
14501
|
+
},
|
|
14502
|
+
"sourceId": {
|
|
14503
|
+
"visibility": "hidden"
|
|
14504
|
+
},
|
|
14505
|
+
"acquisitionContext": {
|
|
14506
|
+
"visibility": "hidden"
|
|
14507
|
+
},
|
|
14508
|
+
"intakeRef": {
|
|
14509
|
+
"visibility": "hidden"
|
|
14510
|
+
},
|
|
14511
|
+
"metadata": {
|
|
14512
|
+
"visibility": "hidden"
|
|
14513
|
+
},
|
|
14514
|
+
"qualifiedAt": {
|
|
14515
|
+
"visibility": "hidden"
|
|
14516
|
+
}
|
|
14517
|
+
}
|
|
14518
|
+
},
|
|
14519
|
+
"@happyvertical/smrt-sales:Opportunity": {
|
|
14520
|
+
"fields": {
|
|
14521
|
+
"sourceKind": {
|
|
14522
|
+
"visibility": "hidden"
|
|
14523
|
+
},
|
|
14524
|
+
"sourceId": {
|
|
14525
|
+
"visibility": "hidden"
|
|
14526
|
+
},
|
|
14527
|
+
"metadata": {
|
|
14528
|
+
"visibility": "hidden"
|
|
14529
|
+
},
|
|
14530
|
+
"outcomeReason": {
|
|
14531
|
+
"visibility": "hidden"
|
|
14532
|
+
},
|
|
14533
|
+
"wonAt": {
|
|
14534
|
+
"visibility": "hidden"
|
|
14535
|
+
},
|
|
14536
|
+
"lostAt": {
|
|
14537
|
+
"visibility": "hidden"
|
|
14538
|
+
}
|
|
14539
|
+
}
|
|
14540
|
+
},
|
|
14541
|
+
"@happyvertical/smrt-sales:PipelineStage": {
|
|
14542
|
+
"fields": {
|
|
14543
|
+
"metadata": {
|
|
14544
|
+
"visibility": "hidden"
|
|
14545
|
+
}
|
|
14546
|
+
}
|
|
14547
|
+
},
|
|
14548
|
+
"@happyvertical/smrt-sales:SalesActivity": {
|
|
14549
|
+
"fields": {
|
|
14550
|
+
"metadata": {
|
|
14551
|
+
"visibility": "hidden"
|
|
14552
|
+
},
|
|
14553
|
+
"actorProfileId": {
|
|
14554
|
+
"visibility": "hidden"
|
|
14555
|
+
}
|
|
14556
|
+
}
|
|
14557
|
+
}
|
|
14558
|
+
},
|
|
14559
|
+
"help": {
|
|
14560
|
+
"markdown": "## Overview\n\nLeads and pipeline is a light CRM. You capture leads, turn the promising ones\ninto opportunities, and move each through the stages of a pipeline. Activities\nrecord calls, notes and follow-ups.\n\n## Tasks\n\n### Capture a lead\n\n1. Create a new lead.\n2. Enter the **{field:name}**, **{field:email}** and **{field:phone}**.\n3. Keep **{field:status}** up to date as you qualify them.\n\n### Work an opportunity\n\n1. Create a pipeline, then add its stages in order.\n2. Create a new opportunity and pick the **{field:leadId}**.\n3. Choose the **{field:pipelineId}** and **{field:stageId}**, and enter the\n **{field:expectedValueCents}** and **{field:expectedCloseAt}**.\n4. Move the **{field:stageId}** along as the deal progresses.\n",
|
|
14561
|
+
"fieldRefs": [
|
|
14562
|
+
"email",
|
|
14563
|
+
"expectedCloseAt",
|
|
14564
|
+
"expectedValueCents",
|
|
14565
|
+
"leadId",
|
|
14566
|
+
"name",
|
|
14567
|
+
"phone",
|
|
14568
|
+
"pipelineId",
|
|
14569
|
+
"stageId",
|
|
14570
|
+
"status"
|
|
14571
|
+
]
|
|
14572
|
+
},
|
|
14573
|
+
"demo": {
|
|
14574
|
+
"mode": "server",
|
|
14575
|
+
"reasons": [
|
|
14576
|
+
"Needs a server because its package does not build for a browser: node:crypto; and its package depends on @happyvertical/smrt-tenancy, which do not build for a browser (#3624)."
|
|
14577
|
+
]
|
|
14578
|
+
}
|
|
14579
|
+
}
|
|
14580
|
+
],
|
|
14581
|
+
"browser": {
|
|
14582
|
+
"status": "server-only",
|
|
14583
|
+
"issues": [
|
|
14584
|
+
"#3624"
|
|
14585
|
+
],
|
|
14586
|
+
"reason": "node:crypto",
|
|
14587
|
+
"via": [
|
|
14588
|
+
"@happyvertical/smrt-tenancy"
|
|
14589
|
+
]
|
|
14590
|
+
}
|
|
14408
14591
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@happyvertical/smrt-sales",
|
|
3
|
-
"version": "0.55.
|
|
3
|
+
"version": "0.55.8",
|
|
4
4
|
"smrtJsdoc": "strict",
|
|
5
5
|
"description": "Modular sales for the SMRT framework: agreement execution, CRM, referral intake, neutral commissions, and reusable Svelte surfaces",
|
|
6
6
|
"type": "module",
|
|
@@ -42,18 +42,18 @@
|
|
|
42
42
|
"./manifest.json": "./dist/manifest.json"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@happyvertical/signatures": "^0.
|
|
46
|
-
"@happyvertical/smrt-assets": "0.55.
|
|
47
|
-
"@happyvertical/smrt-core": "0.55.
|
|
48
|
-
"@happyvertical/smrt-tenancy": "0.55.
|
|
49
|
-
"@happyvertical/smrt-ui": "0.55.
|
|
50
|
-
"@happyvertical/sql": "^0.
|
|
45
|
+
"@happyvertical/signatures": "^0.103.1",
|
|
46
|
+
"@happyvertical/smrt-assets": "0.55.8",
|
|
47
|
+
"@happyvertical/smrt-core": "0.55.8",
|
|
48
|
+
"@happyvertical/smrt-tenancy": "0.55.8",
|
|
49
|
+
"@happyvertical/smrt-ui": "0.55.8",
|
|
50
|
+
"@happyvertical/sql": "^0.103.1"
|
|
51
51
|
},
|
|
52
52
|
"peerDependencies": {
|
|
53
53
|
"svelte": "^5.57.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@happyvertical/smrt-vitest": "0.55.
|
|
56
|
+
"@happyvertical/smrt-vitest": "0.55.8",
|
|
57
57
|
"@sveltejs/package": "^2.5.8",
|
|
58
58
|
"@sveltejs/vite-plugin-svelte": "^7.3.0",
|
|
59
59
|
"@types/node": "24.13.6",
|