digital-brain 0.1.7 → 1.0.5
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 +20 -2
- package/bin/digital-brain.js +137 -21
- package/docs/INTEGRATIONS.md +72 -0
- package/docs/PRIVACY.md +3 -1
- package/docs/SETUP.md +33 -1
- package/examples/sample-vault/{04 People/Interpreted Relationships/Close Friend.md → 06 AI Memory/Generated Relationship Drafts/Close Friend (WhatsApp).md } +4 -3
- package/examples/sample-vault/{04 People/Interpreted Relationships/Mom.md → 06 AI Memory/Generated Relationship Drafts/Mom (WhatsApp).md } +4 -3
- package/examples/sample-vault/{08 Sources/WhatsApp/Analysis/Interpreted/Project Team.md → 06 AI Memory/Generated Relationship Drafts/Project Team (WhatsApp).md } +4 -3
- package/examples/sample-vault/06 AI Memory/Interpreted Relationship Memory.md +3 -3
- package/examples/sample-vault/06 AI Memory/Person Context Index.md +26 -0
- package/examples/sample-vault/06 AI Memory/Person Reply Context.md +26 -0
- package/examples/sample-vault/08 Sources/{WhatsApp/Analysis/Interpreted/Close Friend.md → Analysis/Interpreted/Close Friend (WhatsApp).md } +4 -3
- package/examples/sample-vault/08 Sources/{WhatsApp/Analysis/Interpreted/Mom.md → Analysis/Interpreted/Mom (WhatsApp).md } +4 -3
- package/examples/sample-vault/{04 People/Interpreted Relationships/Project Team.md → 08 Sources/Analysis/Interpreted/Project Team (WhatsApp).md } +4 -3
- package/examples/sample-vault/08 Sources/Analysis/Relationship Map.md +38 -0
- package/examples/sample-vault/08 Sources/Analysis/interpreted_relationship_models.json +175 -0
- package/examples/sample-vault/08 Sources/Analysis/person_identity_map.json +78 -0
- package/examples/sample-vault/08 Sources/Analysis/relationship_profiles.json +122 -0
- package/examples/sample-vault/08 Sources/WhatsApp/Analysis/Interpreted/Close Friend (WhatsApp).md +44 -0
- package/examples/sample-vault/08 Sources/WhatsApp/Analysis/Interpreted/Mom (WhatsApp).md +45 -0
- package/examples/sample-vault/08 Sources/WhatsApp/Analysis/Interpreted/Project Team (WhatsApp).md +45 -0
- package/examples/sample-vault/08 Sources/WhatsApp/Analysis/Relationship Map.md +9 -3
- package/examples/sample-vault/08 Sources/WhatsApp/Analysis/interpreted_relationship_models.json +18 -0
- package/examples/sample-vault/08 Sources/WhatsApp/Analysis/person_identity_map.json +78 -0
- package/examples/sample-vault/08 Sources/WhatsApp/Analysis/relationship_profiles.json +18 -0
- package/examples/sample-vault/08 Sources/WhatsApp/Raw/2026-01-01.jsonl +6 -6
- package/lib/fs.js +7 -1
- package/package.json +2 -1
- package/scripts/digital_brain_imessage_sync.py +175 -0
- package/scripts/digital_brain_linkedin_export_import.py +214 -0
- package/scripts/digital_brain_relationship_extractor.py +189 -12
- package/scripts/digital_brain_relationship_interpreter.py +104 -15
- package/scripts/digital_brain_slack_export_import.py +181 -0
- package/scripts/digital_brain_whatsapp_mac_sync.py +37 -8
- package/templates/vault/00 Home/How AI Should Use This Vault.md +1 -1
- package/templates/vault/00 Home/Start Here.md +2 -1
- package/templates/vault/04 People/Relationship Overrides.md +2 -1
- package/templates/vault/06 AI Memory/Generated Relationship Drafts/README.md +5 -0
- package/templates/vault/06 AI Memory/Interpreted Relationship Memory.md +1 -2
- package/templates/vault/06 AI Memory/Person Context Index.md +4 -0
- package/templates/vault/06 AI Memory/Person Reply Context.md +4 -0
- package/templates/vault/08 Sources/README.md +5 -0
- package/templates/vault/08 Sources/WhatsApp/Outbound/README.md +2 -2
- package/templates/vault/AGENTS.md +5 -1
- package/templates/vault/CLAUDE.md +3 -0
- package/templates/vault/GEMINI.md +4 -0
- package/whatsapp-web/send.mjs +32 -5
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
# Mom
|
|
1
|
+
# Mom (WhatsApp)
|
|
2
2
|
|
|
3
|
-
Generated: 2026-06-
|
|
3
|
+
Generated: 2026-06-09T23:15:09.587707+00:00
|
|
4
|
+
Source: WhatsApp
|
|
4
5
|
Role: mother
|
|
5
6
|
Role confidence: high
|
|
6
7
|
Closeness: medium
|
|
7
8
|
Conversation difficulty: low
|
|
8
9
|
Typing style: very short
|
|
9
10
|
|
|
10
|
-
These are private working notes. Edit them where wrong.
|
|
11
|
+
Generated draft, not truth. These are private working notes. Edit them where wrong.
|
|
11
12
|
|
|
12
13
|
## Role / Relationship Label
|
|
13
14
|
- mother (high confidence).
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
# Project Team
|
|
1
|
+
# Project Team (WhatsApp)
|
|
2
2
|
|
|
3
|
-
Generated: 2026-06-
|
|
3
|
+
Generated: 2026-06-09T23:15:09.588601+00:00
|
|
4
|
+
Source: WhatsApp
|
|
4
5
|
Role: work collaborator
|
|
5
6
|
Role confidence: medium
|
|
6
7
|
Closeness: low/unclear
|
|
7
8
|
Conversation difficulty: practical/low-emotional
|
|
8
9
|
Typing style: short
|
|
9
10
|
|
|
10
|
-
These are private working notes. Edit them where wrong.
|
|
11
|
+
Generated draft, not truth. These are private working notes. Edit them where wrong.
|
|
11
12
|
|
|
12
13
|
## Role / Relationship Label
|
|
13
14
|
- work collaborator (medium confidence).
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Relationship Map
|
|
2
|
+
|
|
3
|
+
Window: last 365 days
|
|
4
|
+
|
|
5
|
+
Generated signals. Treat as editable working notes.
|
|
6
|
+
|
|
7
|
+
## Mom (WhatsApp)
|
|
8
|
+
|
|
9
|
+
- Source: WhatsApp
|
|
10
|
+
- Canonical person: Mom (person::mom)
|
|
11
|
+
- Guess: warm personal relationship
|
|
12
|
+
- Messages: 2 (1 inbound, 1 outbound)
|
|
13
|
+
- Dates: 2026-01-01 to 2026-01-01
|
|
14
|
+
- Scores: sentiment 0.159, warmth 0.5, friction 0.0, operational 1.5
|
|
15
|
+
- Tags: direct-chat, light, warm, logistics-heavy
|
|
16
|
+
- Typing style: very short; avg 4.0 words; lowercase 0.0; emoji 0.0; slang none
|
|
17
|
+
|
|
18
|
+
## Project Team (WhatsApp)
|
|
19
|
+
|
|
20
|
+
- Source: WhatsApp
|
|
21
|
+
- Canonical person: Project Team (group::whatsapp::project team)
|
|
22
|
+
- Guess: group, likely social or mixed context
|
|
23
|
+
- Messages: 2 (1 inbound, 1 outbound)
|
|
24
|
+
- Dates: 2026-01-01 to 2026-01-01
|
|
25
|
+
- Scores: sentiment 0, warmth 0.0, friction 0.0, operational 3.0
|
|
26
|
+
- Tags: group-chat, light, logistics-heavy, question-heavy
|
|
27
|
+
- Typing style: short; avg 6.0 words; lowercase 0.0; emoji 0.0; slang none
|
|
28
|
+
|
|
29
|
+
## Close Friend (WhatsApp)
|
|
30
|
+
|
|
31
|
+
- Source: WhatsApp
|
|
32
|
+
- Canonical person: Close Friend (person::close friend)
|
|
33
|
+
- Guess: warm personal relationship
|
|
34
|
+
- Messages: 2 (1 inbound, 1 outbound)
|
|
35
|
+
- Dates: 2026-01-01 to 2026-01-01
|
|
36
|
+
- Scores: sentiment 0.159, warmth 1.0, friction 0.0, operational 0.5
|
|
37
|
+
- Tags: direct-chat, light, warm, logistics-heavy
|
|
38
|
+
- Typing style: short; avg 5.0 words; lowercase 0.0; emoji 0.0; slang none
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"chatName": "Mom",
|
|
4
|
+
"sourceSystem": "WhatsApp",
|
|
5
|
+
"displayName": "Mom (WhatsApp)",
|
|
6
|
+
"identityName": "Mom",
|
|
7
|
+
"canonicalPersonKey": "person::mom",
|
|
8
|
+
"identityConfidence": "medium",
|
|
9
|
+
"identityEvidence": "WhatsApp direct chat identity",
|
|
10
|
+
"messageCount": 2,
|
|
11
|
+
"inbound": 1,
|
|
12
|
+
"outbound": 1,
|
|
13
|
+
"outboundShare": 0.5,
|
|
14
|
+
"firstSeen": "2026-01-01",
|
|
15
|
+
"lastSeen": "2026-01-01",
|
|
16
|
+
"isGroup": false,
|
|
17
|
+
"sentimentScore": 0.159,
|
|
18
|
+
"warmthScore": 0.5,
|
|
19
|
+
"frictionScore": 0.0,
|
|
20
|
+
"operationalScore": 1.5,
|
|
21
|
+
"questionCount": 0,
|
|
22
|
+
"relationshipGuess": "warm personal relationship",
|
|
23
|
+
"tags": [
|
|
24
|
+
"direct-chat",
|
|
25
|
+
"light",
|
|
26
|
+
"warm",
|
|
27
|
+
"logistics-heavy"
|
|
28
|
+
],
|
|
29
|
+
"typingStyle": {
|
|
30
|
+
"sampleSize": 1,
|
|
31
|
+
"avgChars": 24.0,
|
|
32
|
+
"avgWords": 4.0,
|
|
33
|
+
"lowercaseShare": 0.0,
|
|
34
|
+
"uppercaseShare": 0.0,
|
|
35
|
+
"questionShare": 0.0,
|
|
36
|
+
"exclamationShare": 0.0,
|
|
37
|
+
"emojiShare": 0.0,
|
|
38
|
+
"slang": [],
|
|
39
|
+
"signature": "very short"
|
|
40
|
+
},
|
|
41
|
+
"role": "mother",
|
|
42
|
+
"roleConfidence": "high",
|
|
43
|
+
"roleReason": "manual override",
|
|
44
|
+
"closeness": "medium",
|
|
45
|
+
"conversationDifficulty": "low",
|
|
46
|
+
"reciprocity": "balanced",
|
|
47
|
+
"howToContinue": [
|
|
48
|
+
"Use warmer language than a work chat.",
|
|
49
|
+
"Do not make the interaction purely transactional.",
|
|
50
|
+
"Track open loops, plans, dates, and commitments."
|
|
51
|
+
],
|
|
52
|
+
"boundaries": [
|
|
53
|
+
"Do not expose private summaries unless asked."
|
|
54
|
+
],
|
|
55
|
+
"replyStyle": [
|
|
56
|
+
"Keep replies very short unless context demands detail.",
|
|
57
|
+
"Match style without exaggerating or parodying the person."
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"chatName": "Project Team",
|
|
62
|
+
"sourceSystem": "WhatsApp",
|
|
63
|
+
"displayName": "Project Team (WhatsApp)",
|
|
64
|
+
"identityName": "Project Team",
|
|
65
|
+
"canonicalPersonKey": "group::whatsapp::project team",
|
|
66
|
+
"identityConfidence": "medium",
|
|
67
|
+
"identityEvidence": "group chat kept source-specific",
|
|
68
|
+
"messageCount": 2,
|
|
69
|
+
"inbound": 1,
|
|
70
|
+
"outbound": 1,
|
|
71
|
+
"outboundShare": 0.5,
|
|
72
|
+
"firstSeen": "2026-01-01",
|
|
73
|
+
"lastSeen": "2026-01-01",
|
|
74
|
+
"isGroup": true,
|
|
75
|
+
"sentimentScore": 0,
|
|
76
|
+
"warmthScore": 0.0,
|
|
77
|
+
"frictionScore": 0.0,
|
|
78
|
+
"operationalScore": 3.0,
|
|
79
|
+
"questionCount": 1,
|
|
80
|
+
"relationshipGuess": "group, likely social or mixed context",
|
|
81
|
+
"tags": [
|
|
82
|
+
"group-chat",
|
|
83
|
+
"light",
|
|
84
|
+
"logistics-heavy",
|
|
85
|
+
"question-heavy"
|
|
86
|
+
],
|
|
87
|
+
"typingStyle": {
|
|
88
|
+
"sampleSize": 1,
|
|
89
|
+
"avgChars": 33.0,
|
|
90
|
+
"avgWords": 6.0,
|
|
91
|
+
"lowercaseShare": 0.0,
|
|
92
|
+
"uppercaseShare": 0.0,
|
|
93
|
+
"questionShare": 0.0,
|
|
94
|
+
"exclamationShare": 0.0,
|
|
95
|
+
"emojiShare": 0.0,
|
|
96
|
+
"slang": [],
|
|
97
|
+
"signature": "short"
|
|
98
|
+
},
|
|
99
|
+
"role": "work collaborator",
|
|
100
|
+
"roleConfidence": "medium",
|
|
101
|
+
"roleReason": "matched chat name",
|
|
102
|
+
"closeness": "low/unclear",
|
|
103
|
+
"conversationDifficulty": "practical/low-emotional",
|
|
104
|
+
"reciprocity": "balanced",
|
|
105
|
+
"howToContinue": [
|
|
106
|
+
"Lead with context, next steps, and clear asks.",
|
|
107
|
+
"Keep emotional interpretation light.",
|
|
108
|
+
"Track open loops, plans, dates, and commitments."
|
|
109
|
+
],
|
|
110
|
+
"boundaries": [
|
|
111
|
+
"Do not expose private summaries unless asked."
|
|
112
|
+
],
|
|
113
|
+
"replyStyle": [
|
|
114
|
+
"Use concise replies with one clear point.",
|
|
115
|
+
"Match style without exaggerating or parodying the person."
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"chatName": "Close Friend",
|
|
120
|
+
"sourceSystem": "WhatsApp",
|
|
121
|
+
"displayName": "Close Friend (WhatsApp)",
|
|
122
|
+
"identityName": "Close Friend",
|
|
123
|
+
"canonicalPersonKey": "person::close friend",
|
|
124
|
+
"identityConfidence": "medium",
|
|
125
|
+
"identityEvidence": "WhatsApp direct chat identity",
|
|
126
|
+
"messageCount": 2,
|
|
127
|
+
"inbound": 1,
|
|
128
|
+
"outbound": 1,
|
|
129
|
+
"outboundShare": 0.5,
|
|
130
|
+
"firstSeen": "2026-01-01",
|
|
131
|
+
"lastSeen": "2026-01-01",
|
|
132
|
+
"isGroup": false,
|
|
133
|
+
"sentimentScore": 0.159,
|
|
134
|
+
"warmthScore": 1.0,
|
|
135
|
+
"frictionScore": 0.0,
|
|
136
|
+
"operationalScore": 0.5,
|
|
137
|
+
"questionCount": 0,
|
|
138
|
+
"relationshipGuess": "warm personal relationship",
|
|
139
|
+
"tags": [
|
|
140
|
+
"direct-chat",
|
|
141
|
+
"light",
|
|
142
|
+
"warm",
|
|
143
|
+
"logistics-heavy"
|
|
144
|
+
],
|
|
145
|
+
"typingStyle": {
|
|
146
|
+
"sampleSize": 1,
|
|
147
|
+
"avgChars": 30.0,
|
|
148
|
+
"avgWords": 5.0,
|
|
149
|
+
"lowercaseShare": 0.0,
|
|
150
|
+
"uppercaseShare": 0.0,
|
|
151
|
+
"questionShare": 0.0,
|
|
152
|
+
"exclamationShare": 0.0,
|
|
153
|
+
"emojiShare": 0.0,
|
|
154
|
+
"slang": [],
|
|
155
|
+
"signature": "short"
|
|
156
|
+
},
|
|
157
|
+
"role": "operational contact",
|
|
158
|
+
"roleConfidence": "low",
|
|
159
|
+
"roleReason": "logistics-heavy communication",
|
|
160
|
+
"closeness": "medium",
|
|
161
|
+
"conversationDifficulty": "low",
|
|
162
|
+
"reciprocity": "balanced",
|
|
163
|
+
"howToContinue": [
|
|
164
|
+
"Keep tone neutral until the user labels this relationship.",
|
|
165
|
+
"Track open loops, plans, dates, and commitments."
|
|
166
|
+
],
|
|
167
|
+
"boundaries": [
|
|
168
|
+
"Do not expose private summaries unless asked."
|
|
169
|
+
],
|
|
170
|
+
"replyStyle": [
|
|
171
|
+
"Keep replies very short unless context demands detail.",
|
|
172
|
+
"Match style without exaggerating or parodying the person."
|
|
173
|
+
]
|
|
174
|
+
}
|
|
175
|
+
]
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"canonicalPersonKey": "person::mom",
|
|
4
|
+
"displayName": "Mom",
|
|
5
|
+
"aliases": [
|
|
6
|
+
"Mom"
|
|
7
|
+
],
|
|
8
|
+
"sources": [
|
|
9
|
+
"WhatsApp"
|
|
10
|
+
],
|
|
11
|
+
"sourceProfiles": [
|
|
12
|
+
{
|
|
13
|
+
"sourceSystem": "WhatsApp",
|
|
14
|
+
"chatName": "Mom",
|
|
15
|
+
"displayName": "Mom (WhatsApp)",
|
|
16
|
+
"messageCount": 2,
|
|
17
|
+
"firstSeen": "2026-01-01",
|
|
18
|
+
"lastSeen": "2026-01-01",
|
|
19
|
+
"relationshipGuess": "warm personal relationship",
|
|
20
|
+
"typingStyle": {
|
|
21
|
+
"sampleSize": 1,
|
|
22
|
+
"avgChars": 24.0,
|
|
23
|
+
"avgWords": 4.0,
|
|
24
|
+
"lowercaseShare": 0.0,
|
|
25
|
+
"uppercaseShare": 0.0,
|
|
26
|
+
"questionShare": 0.0,
|
|
27
|
+
"exclamationShare": 0.0,
|
|
28
|
+
"emojiShare": 0.0,
|
|
29
|
+
"slang": [],
|
|
30
|
+
"signature": "very short"
|
|
31
|
+
},
|
|
32
|
+
"identityConfidence": "medium",
|
|
33
|
+
"identityEvidence": "WhatsApp direct chat identity"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"totalMessages": 2,
|
|
37
|
+
"firstSeen": "2026-01-01",
|
|
38
|
+
"lastSeen": "2026-01-01"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"canonicalPersonKey": "person::close friend",
|
|
42
|
+
"displayName": "Close Friend",
|
|
43
|
+
"aliases": [
|
|
44
|
+
"Close Friend"
|
|
45
|
+
],
|
|
46
|
+
"sources": [
|
|
47
|
+
"WhatsApp"
|
|
48
|
+
],
|
|
49
|
+
"sourceProfiles": [
|
|
50
|
+
{
|
|
51
|
+
"sourceSystem": "WhatsApp",
|
|
52
|
+
"chatName": "Close Friend",
|
|
53
|
+
"displayName": "Close Friend (WhatsApp)",
|
|
54
|
+
"messageCount": 2,
|
|
55
|
+
"firstSeen": "2026-01-01",
|
|
56
|
+
"lastSeen": "2026-01-01",
|
|
57
|
+
"relationshipGuess": "warm personal relationship",
|
|
58
|
+
"typingStyle": {
|
|
59
|
+
"sampleSize": 1,
|
|
60
|
+
"avgChars": 30.0,
|
|
61
|
+
"avgWords": 5.0,
|
|
62
|
+
"lowercaseShare": 0.0,
|
|
63
|
+
"uppercaseShare": 0.0,
|
|
64
|
+
"questionShare": 0.0,
|
|
65
|
+
"exclamationShare": 0.0,
|
|
66
|
+
"emojiShare": 0.0,
|
|
67
|
+
"slang": [],
|
|
68
|
+
"signature": "short"
|
|
69
|
+
},
|
|
70
|
+
"identityConfidence": "medium",
|
|
71
|
+
"identityEvidence": "WhatsApp direct chat identity"
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"totalMessages": 2,
|
|
75
|
+
"firstSeen": "2026-01-01",
|
|
76
|
+
"lastSeen": "2026-01-01"
|
|
77
|
+
}
|
|
78
|
+
]
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"chatName": "Mom",
|
|
4
|
+
"sourceSystem": "WhatsApp",
|
|
5
|
+
"displayName": "Mom (WhatsApp)",
|
|
6
|
+
"identityName": "Mom",
|
|
7
|
+
"canonicalPersonKey": "person::mom",
|
|
8
|
+
"identityConfidence": "medium",
|
|
9
|
+
"identityEvidence": "WhatsApp direct chat identity",
|
|
10
|
+
"messageCount": 2,
|
|
11
|
+
"inbound": 1,
|
|
12
|
+
"outbound": 1,
|
|
13
|
+
"outboundShare": 0.5,
|
|
14
|
+
"firstSeen": "2026-01-01",
|
|
15
|
+
"lastSeen": "2026-01-01",
|
|
16
|
+
"isGroup": false,
|
|
17
|
+
"sentimentScore": 0.159,
|
|
18
|
+
"warmthScore": 0.5,
|
|
19
|
+
"frictionScore": 0.0,
|
|
20
|
+
"operationalScore": 1.5,
|
|
21
|
+
"questionCount": 0,
|
|
22
|
+
"relationshipGuess": "warm personal relationship",
|
|
23
|
+
"tags": [
|
|
24
|
+
"direct-chat",
|
|
25
|
+
"light",
|
|
26
|
+
"warm",
|
|
27
|
+
"logistics-heavy"
|
|
28
|
+
],
|
|
29
|
+
"typingStyle": {
|
|
30
|
+
"sampleSize": 1,
|
|
31
|
+
"avgChars": 24.0,
|
|
32
|
+
"avgWords": 4.0,
|
|
33
|
+
"lowercaseShare": 0.0,
|
|
34
|
+
"uppercaseShare": 0.0,
|
|
35
|
+
"questionShare": 0.0,
|
|
36
|
+
"exclamationShare": 0.0,
|
|
37
|
+
"emojiShare": 0.0,
|
|
38
|
+
"slang": [],
|
|
39
|
+
"signature": "very short"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"chatName": "Project Team",
|
|
44
|
+
"sourceSystem": "WhatsApp",
|
|
45
|
+
"displayName": "Project Team (WhatsApp)",
|
|
46
|
+
"identityName": "Project Team",
|
|
47
|
+
"canonicalPersonKey": "group::whatsapp::project team",
|
|
48
|
+
"identityConfidence": "medium",
|
|
49
|
+
"identityEvidence": "group chat kept source-specific",
|
|
50
|
+
"messageCount": 2,
|
|
51
|
+
"inbound": 1,
|
|
52
|
+
"outbound": 1,
|
|
53
|
+
"outboundShare": 0.5,
|
|
54
|
+
"firstSeen": "2026-01-01",
|
|
55
|
+
"lastSeen": "2026-01-01",
|
|
56
|
+
"isGroup": true,
|
|
57
|
+
"sentimentScore": 0,
|
|
58
|
+
"warmthScore": 0.0,
|
|
59
|
+
"frictionScore": 0.0,
|
|
60
|
+
"operationalScore": 3.0,
|
|
61
|
+
"questionCount": 1,
|
|
62
|
+
"relationshipGuess": "group, likely social or mixed context",
|
|
63
|
+
"tags": [
|
|
64
|
+
"group-chat",
|
|
65
|
+
"light",
|
|
66
|
+
"logistics-heavy",
|
|
67
|
+
"question-heavy"
|
|
68
|
+
],
|
|
69
|
+
"typingStyle": {
|
|
70
|
+
"sampleSize": 1,
|
|
71
|
+
"avgChars": 33.0,
|
|
72
|
+
"avgWords": 6.0,
|
|
73
|
+
"lowercaseShare": 0.0,
|
|
74
|
+
"uppercaseShare": 0.0,
|
|
75
|
+
"questionShare": 0.0,
|
|
76
|
+
"exclamationShare": 0.0,
|
|
77
|
+
"emojiShare": 0.0,
|
|
78
|
+
"slang": [],
|
|
79
|
+
"signature": "short"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"chatName": "Close Friend",
|
|
84
|
+
"sourceSystem": "WhatsApp",
|
|
85
|
+
"displayName": "Close Friend (WhatsApp)",
|
|
86
|
+
"identityName": "Close Friend",
|
|
87
|
+
"canonicalPersonKey": "person::close friend",
|
|
88
|
+
"identityConfidence": "medium",
|
|
89
|
+
"identityEvidence": "WhatsApp direct chat identity",
|
|
90
|
+
"messageCount": 2,
|
|
91
|
+
"inbound": 1,
|
|
92
|
+
"outbound": 1,
|
|
93
|
+
"outboundShare": 0.5,
|
|
94
|
+
"firstSeen": "2026-01-01",
|
|
95
|
+
"lastSeen": "2026-01-01",
|
|
96
|
+
"isGroup": false,
|
|
97
|
+
"sentimentScore": 0.159,
|
|
98
|
+
"warmthScore": 1.0,
|
|
99
|
+
"frictionScore": 0.0,
|
|
100
|
+
"operationalScore": 0.5,
|
|
101
|
+
"questionCount": 0,
|
|
102
|
+
"relationshipGuess": "warm personal relationship",
|
|
103
|
+
"tags": [
|
|
104
|
+
"direct-chat",
|
|
105
|
+
"light",
|
|
106
|
+
"warm",
|
|
107
|
+
"logistics-heavy"
|
|
108
|
+
],
|
|
109
|
+
"typingStyle": {
|
|
110
|
+
"sampleSize": 1,
|
|
111
|
+
"avgChars": 30.0,
|
|
112
|
+
"avgWords": 5.0,
|
|
113
|
+
"lowercaseShare": 0.0,
|
|
114
|
+
"uppercaseShare": 0.0,
|
|
115
|
+
"questionShare": 0.0,
|
|
116
|
+
"exclamationShare": 0.0,
|
|
117
|
+
"emojiShare": 0.0,
|
|
118
|
+
"slang": [],
|
|
119
|
+
"signature": "short"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
]
|
package/examples/sample-vault/08 Sources/WhatsApp/Analysis/Interpreted/Close Friend (WhatsApp).md
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Close Friend (WhatsApp)
|
|
2
|
+
|
|
3
|
+
Generated: 2026-06-09T23:15:09.589124+00:00
|
|
4
|
+
Source: WhatsApp
|
|
5
|
+
Role: operational contact
|
|
6
|
+
Role confidence: low
|
|
7
|
+
Closeness: medium
|
|
8
|
+
Conversation difficulty: low
|
|
9
|
+
Typing style: short
|
|
10
|
+
|
|
11
|
+
Generated draft, not truth. These are private working notes. Edit them where wrong.
|
|
12
|
+
|
|
13
|
+
## Role / Relationship Label
|
|
14
|
+
- operational contact (low confidence).
|
|
15
|
+
- Reason: logistics-heavy communication.
|
|
16
|
+
|
|
17
|
+
## Closeness And Importance
|
|
18
|
+
- Closeness: medium.
|
|
19
|
+
- Reciprocity: balanced.
|
|
20
|
+
- Conversation difficulty: low.
|
|
21
|
+
|
|
22
|
+
## Communication Pattern
|
|
23
|
+
- Messages: 2 (1 inbound, 1 outbound).
|
|
24
|
+
- Tags: direct-chat, light, warm, logistics-heavy.
|
|
25
|
+
|
|
26
|
+
## Typing Style To Match
|
|
27
|
+
- Signature: short.
|
|
28
|
+
- Average length: 5.0 words / 30.0 chars.
|
|
29
|
+
- Lowercase share: 0.0.
|
|
30
|
+
- Question share: 0.0.
|
|
31
|
+
- Exclamation share: 0.0.
|
|
32
|
+
- Emoji share: 0.0.
|
|
33
|
+
- Slang: none detected.
|
|
34
|
+
|
|
35
|
+
## How To Continue This Relationship
|
|
36
|
+
- Keep tone neutral until the user labels this relationship.
|
|
37
|
+
- Track open loops, plans, dates, and commitments.
|
|
38
|
+
|
|
39
|
+
## Reply Guidance
|
|
40
|
+
- Keep replies very short unless context demands detail.
|
|
41
|
+
- Match style without exaggerating or parodying the person.
|
|
42
|
+
|
|
43
|
+
## What Not To Assume
|
|
44
|
+
- Do not expose private summaries unless asked.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Mom (WhatsApp)
|
|
2
|
+
|
|
3
|
+
Generated: 2026-06-09T23:15:09.587707+00:00
|
|
4
|
+
Source: WhatsApp
|
|
5
|
+
Role: mother
|
|
6
|
+
Role confidence: high
|
|
7
|
+
Closeness: medium
|
|
8
|
+
Conversation difficulty: low
|
|
9
|
+
Typing style: very short
|
|
10
|
+
|
|
11
|
+
Generated draft, not truth. These are private working notes. Edit them where wrong.
|
|
12
|
+
|
|
13
|
+
## Role / Relationship Label
|
|
14
|
+
- mother (high confidence).
|
|
15
|
+
- Reason: manual override.
|
|
16
|
+
|
|
17
|
+
## Closeness And Importance
|
|
18
|
+
- Closeness: medium.
|
|
19
|
+
- Reciprocity: balanced.
|
|
20
|
+
- Conversation difficulty: low.
|
|
21
|
+
|
|
22
|
+
## Communication Pattern
|
|
23
|
+
- Messages: 2 (1 inbound, 1 outbound).
|
|
24
|
+
- Tags: direct-chat, light, warm, logistics-heavy.
|
|
25
|
+
|
|
26
|
+
## Typing Style To Match
|
|
27
|
+
- Signature: very short.
|
|
28
|
+
- Average length: 4.0 words / 24.0 chars.
|
|
29
|
+
- Lowercase share: 0.0.
|
|
30
|
+
- Question share: 0.0.
|
|
31
|
+
- Exclamation share: 0.0.
|
|
32
|
+
- Emoji share: 0.0.
|
|
33
|
+
- Slang: none detected.
|
|
34
|
+
|
|
35
|
+
## How To Continue This Relationship
|
|
36
|
+
- Use warmer language than a work chat.
|
|
37
|
+
- Do not make the interaction purely transactional.
|
|
38
|
+
- Track open loops, plans, dates, and commitments.
|
|
39
|
+
|
|
40
|
+
## Reply Guidance
|
|
41
|
+
- Keep replies very short unless context demands detail.
|
|
42
|
+
- Match style without exaggerating or parodying the person.
|
|
43
|
+
|
|
44
|
+
## What Not To Assume
|
|
45
|
+
- Do not expose private summaries unless asked.
|
package/examples/sample-vault/08 Sources/WhatsApp/Analysis/Interpreted/Project Team (WhatsApp).md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Project Team (WhatsApp)
|
|
2
|
+
|
|
3
|
+
Generated: 2026-06-09T23:15:09.588601+00:00
|
|
4
|
+
Source: WhatsApp
|
|
5
|
+
Role: work collaborator
|
|
6
|
+
Role confidence: medium
|
|
7
|
+
Closeness: low/unclear
|
|
8
|
+
Conversation difficulty: practical/low-emotional
|
|
9
|
+
Typing style: short
|
|
10
|
+
|
|
11
|
+
Generated draft, not truth. These are private working notes. Edit them where wrong.
|
|
12
|
+
|
|
13
|
+
## Role / Relationship Label
|
|
14
|
+
- work collaborator (medium confidence).
|
|
15
|
+
- Reason: matched chat name.
|
|
16
|
+
|
|
17
|
+
## Closeness And Importance
|
|
18
|
+
- Closeness: low/unclear.
|
|
19
|
+
- Reciprocity: balanced.
|
|
20
|
+
- Conversation difficulty: practical/low-emotional.
|
|
21
|
+
|
|
22
|
+
## Communication Pattern
|
|
23
|
+
- Messages: 2 (1 inbound, 1 outbound).
|
|
24
|
+
- Tags: group-chat, light, logistics-heavy, question-heavy.
|
|
25
|
+
|
|
26
|
+
## Typing Style To Match
|
|
27
|
+
- Signature: short.
|
|
28
|
+
- Average length: 6.0 words / 33.0 chars.
|
|
29
|
+
- Lowercase share: 0.0.
|
|
30
|
+
- Question share: 0.0.
|
|
31
|
+
- Exclamation share: 0.0.
|
|
32
|
+
- Emoji share: 0.0.
|
|
33
|
+
- Slang: none detected.
|
|
34
|
+
|
|
35
|
+
## How To Continue This Relationship
|
|
36
|
+
- Lead with context, next steps, and clear asks.
|
|
37
|
+
- Keep emotional interpretation light.
|
|
38
|
+
- Track open loops, plans, dates, and commitments.
|
|
39
|
+
|
|
40
|
+
## Reply Guidance
|
|
41
|
+
- Use concise replies with one clear point.
|
|
42
|
+
- Match style without exaggerating or parodying the person.
|
|
43
|
+
|
|
44
|
+
## What Not To Assume
|
|
45
|
+
- Do not expose private summaries unless asked.
|
|
@@ -4,8 +4,10 @@ Window: last 365 days
|
|
|
4
4
|
|
|
5
5
|
Generated signals. Treat as editable working notes.
|
|
6
6
|
|
|
7
|
-
## Mom
|
|
7
|
+
## Mom (WhatsApp)
|
|
8
8
|
|
|
9
|
+
- Source: WhatsApp
|
|
10
|
+
- Canonical person: Mom (person::mom)
|
|
9
11
|
- Guess: warm personal relationship
|
|
10
12
|
- Messages: 2 (1 inbound, 1 outbound)
|
|
11
13
|
- Dates: 2026-01-01 to 2026-01-01
|
|
@@ -13,8 +15,10 @@ Generated signals. Treat as editable working notes.
|
|
|
13
15
|
- Tags: direct-chat, light, warm, logistics-heavy
|
|
14
16
|
- Typing style: very short; avg 4.0 words; lowercase 0.0; emoji 0.0; slang none
|
|
15
17
|
|
|
16
|
-
## Project Team
|
|
18
|
+
## Project Team (WhatsApp)
|
|
17
19
|
|
|
20
|
+
- Source: WhatsApp
|
|
21
|
+
- Canonical person: Project Team (group::whatsapp::project team)
|
|
18
22
|
- Guess: group, likely social or mixed context
|
|
19
23
|
- Messages: 2 (1 inbound, 1 outbound)
|
|
20
24
|
- Dates: 2026-01-01 to 2026-01-01
|
|
@@ -22,8 +26,10 @@ Generated signals. Treat as editable working notes.
|
|
|
22
26
|
- Tags: group-chat, light, logistics-heavy, question-heavy
|
|
23
27
|
- Typing style: short; avg 6.0 words; lowercase 0.0; emoji 0.0; slang none
|
|
24
28
|
|
|
25
|
-
## Close Friend
|
|
29
|
+
## Close Friend (WhatsApp)
|
|
26
30
|
|
|
31
|
+
- Source: WhatsApp
|
|
32
|
+
- Canonical person: Close Friend (person::close friend)
|
|
27
33
|
- Guess: warm personal relationship
|
|
28
34
|
- Messages: 2 (1 inbound, 1 outbound)
|
|
29
35
|
- Dates: 2026-01-01 to 2026-01-01
|
package/examples/sample-vault/08 Sources/WhatsApp/Analysis/interpreted_relationship_models.json
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
[
|
|
2
2
|
{
|
|
3
3
|
"chatName": "Mom",
|
|
4
|
+
"sourceSystem": "WhatsApp",
|
|
5
|
+
"displayName": "Mom (WhatsApp)",
|
|
6
|
+
"identityName": "Mom",
|
|
7
|
+
"canonicalPersonKey": "person::mom",
|
|
8
|
+
"identityConfidence": "medium",
|
|
9
|
+
"identityEvidence": "WhatsApp direct chat identity",
|
|
4
10
|
"messageCount": 2,
|
|
5
11
|
"inbound": 1,
|
|
6
12
|
"outbound": 1,
|
|
@@ -53,6 +59,12 @@
|
|
|
53
59
|
},
|
|
54
60
|
{
|
|
55
61
|
"chatName": "Project Team",
|
|
62
|
+
"sourceSystem": "WhatsApp",
|
|
63
|
+
"displayName": "Project Team (WhatsApp)",
|
|
64
|
+
"identityName": "Project Team",
|
|
65
|
+
"canonicalPersonKey": "group::whatsapp::project team",
|
|
66
|
+
"identityConfidence": "medium",
|
|
67
|
+
"identityEvidence": "group chat kept source-specific",
|
|
56
68
|
"messageCount": 2,
|
|
57
69
|
"inbound": 1,
|
|
58
70
|
"outbound": 1,
|
|
@@ -105,6 +117,12 @@
|
|
|
105
117
|
},
|
|
106
118
|
{
|
|
107
119
|
"chatName": "Close Friend",
|
|
120
|
+
"sourceSystem": "WhatsApp",
|
|
121
|
+
"displayName": "Close Friend (WhatsApp)",
|
|
122
|
+
"identityName": "Close Friend",
|
|
123
|
+
"canonicalPersonKey": "person::close friend",
|
|
124
|
+
"identityConfidence": "medium",
|
|
125
|
+
"identityEvidence": "WhatsApp direct chat identity",
|
|
108
126
|
"messageCount": 2,
|
|
109
127
|
"inbound": 1,
|
|
110
128
|
"outbound": 1,
|