Spaces:
Running
Running
Add GROUND tool + reorder categories + fix rainbow cascade
Browse filesCategories now: Express β Regulate β Understand β Reconnect
12 tools with cascading rainbow (red β purple top to bottom):
- Express: SEND (red), TEND (orange-red), NVC (orange)
- Regulate: SOMA (amber), LOVE (yellow), GROUND (lime)
- Understand: FEEL (green), NEED (teal), STORY (cyan)
- Reconnect: REPAIR (blue), APPRECIATE (indigo), WISDOM (violet)
GROUND = 5-4-3-2-1 sensory grounding (external senses)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- README.md +6 -5
- app.py +31 -1
- static/index.html +74 -52
README.md
CHANGED
|
@@ -16,20 +16,21 @@ license: mit
|
|
| 16 |
|
| 17 |
## The ARI Toolkit
|
| 18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
### Regulate
|
| 20 |
- **SOMA** - Body check-in. What does your body know?
|
| 21 |
- **LOVE** - Slow down, breathe, return to presence
|
|
|
|
| 22 |
|
| 23 |
### Understand
|
| 24 |
- **FEEL** - Identify feelings in the conversation
|
| 25 |
- **NEED** - Extract underlying needs
|
| 26 |
- **STORY** - "The story I'm making up..." Own your narrative
|
| 27 |
|
| 28 |
-
### Express
|
| 29 |
-
- **SEND** - Send your message to your partner
|
| 30 |
-
- **TEND** - Transform your message with clarity and warmth
|
| 31 |
-
- **PRACTICE NVC** - Guided I-statement builder
|
| 32 |
-
|
| 33 |
### Reconnect
|
| 34 |
- **REPAIR** - Craft genuine repair after ruptures
|
| 35 |
- **APPRECIATE** - Catch the good. What's working?
|
|
|
|
| 16 |
|
| 17 |
## The ARI Toolkit
|
| 18 |
|
| 19 |
+
### Express
|
| 20 |
+
- **SEND** - Send your message to your partner
|
| 21 |
+
- **TEND** - Transform your message with clarity and warmth
|
| 22 |
+
- **PRACTICE NVC** - Guided I-statement builder
|
| 23 |
+
|
| 24 |
### Regulate
|
| 25 |
- **SOMA** - Body check-in. What does your body know?
|
| 26 |
- **LOVE** - Slow down, breathe, return to presence
|
| 27 |
+
- **GROUND** - 5-4-3-2-1 senses. Orient to the present
|
| 28 |
|
| 29 |
### Understand
|
| 30 |
- **FEEL** - Identify feelings in the conversation
|
| 31 |
- **NEED** - Extract underlying needs
|
| 32 |
- **STORY** - "The story I'm making up..." Own your narrative
|
| 33 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
### Reconnect
|
| 35 |
- **REPAIR** - Craft genuine repair after ruptures
|
| 36 |
- **APPRECIATE** - Catch the good. What's working?
|
app.py
CHANGED
|
@@ -399,7 +399,37 @@ Never:
|
|
| 399 |
- Push them to apologize more than they mean
|
| 400 |
- Make it about being "right\"""",
|
| 401 |
|
| 402 |
-
# TOOL 12:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 403 |
"appreciate": """Help someone find and express genuine appreciation for their partner.
|
| 404 |
|
| 405 |
ABSOLUTE RULE - NO FIRST PERSON:
|
|
|
|
| 399 |
- Push them to apologize more than they mean
|
| 400 |
- Make it about being "right\"""",
|
| 401 |
|
| 402 |
+
# TOOL 12: GROUND (5-4-3-2-1 sensory grounding)
|
| 403 |
+
"ground": """Guide someone through 5-4-3-2-1 sensory grounding to orient to the present.
|
| 404 |
+
|
| 405 |
+
ABSOLUTE RULE - NO FIRST PERSON:
|
| 406 |
+
- NEVER say "I invite you", "I notice"
|
| 407 |
+
- Use: "Notice...", "Look around...", "Find..."
|
| 408 |
+
|
| 409 |
+
THE TECHNIQUE:
|
| 410 |
+
5 things you can SEE
|
| 411 |
+
4 things you can HEAR
|
| 412 |
+
3 things you can TOUCH/FEEL
|
| 413 |
+
2 things you can SMELL
|
| 414 |
+
1 thing you can TASTE
|
| 415 |
+
|
| 416 |
+
APPROACH:
|
| 417 |
+
- Guide them through ONE sense at a time
|
| 418 |
+
- Keep it simple and grounding
|
| 419 |
+
- This is about orienting to the external environment
|
| 420 |
+
- Different from SOMA (internal body) - this is external senses
|
| 421 |
+
|
| 422 |
+
FORMAT (be concise):
|
| 423 |
+
Start with sight (easiest): "Look around. Name 5 things you can see right now - a lamp, a wall, your hands on the keyboard..."
|
| 424 |
+
|
| 425 |
+
Then guide through the rest briefly. End with: "You're here. You're present. What do you want to bring to this conversation from this grounded place?"
|
| 426 |
+
|
| 427 |
+
Never:
|
| 428 |
+
- Use first-person language
|
| 429 |
+
- Rush through all 5 senses at once
|
| 430 |
+
- Make it complicated""",
|
| 431 |
+
|
| 432 |
+
# TOOL 13: APPRECIATE (Gottman's 5:1 - catch the good)
|
| 433 |
"appreciate": """Help someone find and express genuine appreciation for their partner.
|
| 434 |
|
| 435 |
ABSOLUTE RULE - NO FIRST PERSON:
|
static/index.html
CHANGED
|
@@ -129,39 +129,43 @@
|
|
| 129 |
}
|
| 130 |
|
| 131 |
/* Rainbow sidebar colors */
|
| 132 |
-
/* Rainbow sidebar colors: Cascading Red β Purple (top to bottom) */
|
| 133 |
-
/*
|
| 134 |
-
.tool-desc.
|
| 135 |
border-left-color: #ef4444;
|
| 136 |
background: rgba(239, 68, 68, 0.1);
|
| 137 |
}
|
| 138 |
-
.tool-desc.
|
| 139 |
border-left-color: #f97316;
|
| 140 |
background: rgba(249, 115, 22, 0.1);
|
| 141 |
}
|
| 142 |
-
|
| 143 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 144 |
border-left-color: #f59e0b;
|
| 145 |
background: rgba(245, 158, 11, 0.1);
|
| 146 |
}
|
| 147 |
-
.tool-desc.
|
| 148 |
border-left-color: #eab308;
|
| 149 |
background: rgba(234, 179, 8, 0.1);
|
| 150 |
}
|
| 151 |
-
.tool-desc.
|
| 152 |
border-left-color: #84cc16;
|
| 153 |
background: rgba(132, 204, 22, 0.1);
|
| 154 |
}
|
| 155 |
-
/*
|
| 156 |
-
.tool-desc.
|
| 157 |
border-left-color: #22c55e;
|
| 158 |
background: rgba(34, 197, 94, 0.1);
|
| 159 |
}
|
| 160 |
-
.tool-desc.
|
| 161 |
border-left-color: #14b8a6;
|
| 162 |
background: rgba(20, 184, 166, 0.1);
|
| 163 |
}
|
| 164 |
-
.tool-desc.
|
| 165 |
border-left-color: #0ea5e9;
|
| 166 |
background: rgba(14, 165, 233, 0.1);
|
| 167 |
}
|
|
@@ -498,78 +502,87 @@
|
|
| 498 |
gap: 4px;
|
| 499 |
}
|
| 500 |
|
| 501 |
-
/* Rainbow button colors: Cascading Red β Purple (top to bottom) */
|
| 502 |
-
/*
|
| 503 |
-
.tool-btn.
|
| 504 |
border-color: #ef4444;
|
| 505 |
color: #ef4444;
|
| 506 |
}
|
| 507 |
-
.tool-btn.
|
| 508 |
background: #ef4444;
|
| 509 |
color: white;
|
| 510 |
}
|
| 511 |
|
| 512 |
-
.tool-btn.
|
| 513 |
border-color: #f97316;
|
| 514 |
color: #f97316;
|
| 515 |
}
|
| 516 |
-
.tool-btn.
|
| 517 |
background: #f97316;
|
| 518 |
color: white;
|
| 519 |
}
|
| 520 |
|
| 521 |
-
|
| 522 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 523 |
border-color: #f59e0b;
|
| 524 |
color: #f59e0b;
|
| 525 |
}
|
| 526 |
-
.tool-btn.
|
| 527 |
background: #f59e0b;
|
| 528 |
color: white;
|
| 529 |
}
|
| 530 |
|
| 531 |
-
.tool-btn.
|
| 532 |
border-color: #eab308;
|
| 533 |
color: #eab308;
|
| 534 |
}
|
| 535 |
-
.tool-btn.
|
| 536 |
background: #eab308;
|
| 537 |
color: white;
|
| 538 |
}
|
| 539 |
|
| 540 |
-
.tool-btn.
|
| 541 |
border-color: #84cc16;
|
| 542 |
color: #84cc16;
|
| 543 |
}
|
| 544 |
-
.tool-btn.
|
| 545 |
background: #84cc16;
|
| 546 |
color: white;
|
| 547 |
}
|
| 548 |
|
| 549 |
-
/*
|
| 550 |
-
.tool-btn.
|
| 551 |
border-color: #22c55e;
|
| 552 |
color: #22c55e;
|
| 553 |
}
|
| 554 |
-
.tool-btn.
|
| 555 |
background: #22c55e;
|
| 556 |
color: white;
|
| 557 |
}
|
| 558 |
|
| 559 |
-
.tool-btn.
|
| 560 |
border-color: #14b8a6;
|
| 561 |
color: #14b8a6;
|
| 562 |
}
|
| 563 |
-
.tool-btn.
|
| 564 |
background: #14b8a6;
|
| 565 |
color: white;
|
| 566 |
}
|
| 567 |
|
| 568 |
-
.tool-btn.
|
| 569 |
border-color: #0ea5e9;
|
| 570 |
color: #0ea5e9;
|
| 571 |
}
|
| 572 |
-
.tool-btn.
|
| 573 |
background: #0ea5e9;
|
| 574 |
color: white;
|
| 575 |
}
|
|
@@ -909,6 +922,20 @@
|
|
| 909 |
<div class="tool-list">
|
| 910 |
<h3>ARI Tools</h3>
|
| 911 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 912 |
<div class="category-label">Regulate</div>
|
| 913 |
<div class="tool-desc soma-desc" onclick="showToolInfo('soma')">
|
| 914 |
<h4>SOMA</h4>
|
|
@@ -918,6 +945,10 @@
|
|
| 918 |
<h4>LOVE</h4>
|
| 919 |
<p>Slow down. Take a breath. Return to presence.</p>
|
| 920 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
| 921 |
|
| 922 |
<div class="category-label">Understand</div>
|
| 923 |
<div class="tool-desc feel-desc" onclick="showToolInfo('feel')">
|
|
@@ -933,20 +964,6 @@
|
|
| 933 |
<p>"The story I'm making up..." Own your narrative.</p>
|
| 934 |
</div>
|
| 935 |
|
| 936 |
-
<div class="category-label">Express</div>
|
| 937 |
-
<div class="tool-desc send-desc">
|
| 938 |
-
<h4>SEND</h4>
|
| 939 |
-
<p>Send your message to your partner.</p>
|
| 940 |
-
</div>
|
| 941 |
-
<div class="tool-desc tend-desc" onclick="showToolInfo('tend')">
|
| 942 |
-
<h4>TEND</h4>
|
| 943 |
-
<p>Transform with clarity and warmth.</p>
|
| 944 |
-
</div>
|
| 945 |
-
<div class="tool-desc nvc-desc" onclick="showToolInfo('nvc')">
|
| 946 |
-
<h4>PRACTICE NVC</h4>
|
| 947 |
-
<p>Guided I-statement builder.</p>
|
| 948 |
-
</div>
|
| 949 |
-
|
| 950 |
<div class="category-label">Reconnect</div>
|
| 951 |
<div class="tool-desc repair-desc" onclick="showToolInfo('repair')">
|
| 952 |
<h4>REPAIR</h4>
|
|
@@ -1043,10 +1060,17 @@
|
|
| 1043 |
|
| 1044 |
<!-- Tool Buttons - Categorized -->
|
| 1045 |
<div class="tool-buttons-container">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1046 |
<div class="tool-row">
|
| 1047 |
<span class="row-label">Regulate</span>
|
| 1048 |
<button class="tool-btn soma" onclick="useTool('soma')">SOMA</button>
|
| 1049 |
<button class="tool-btn love" onclick="useTool('love')">LOVE</button>
|
|
|
|
| 1050 |
</div>
|
| 1051 |
<div class="tool-row">
|
| 1052 |
<span class="row-label">Understand</span>
|
|
@@ -1054,12 +1078,6 @@
|
|
| 1054 |
<button class="tool-btn need" onclick="useTool('need')">NEED</button>
|
| 1055 |
<button class="tool-btn story" onclick="useTool('story')">STORY</button>
|
| 1056 |
</div>
|
| 1057 |
-
<div class="tool-row">
|
| 1058 |
-
<span class="row-label">Express</span>
|
| 1059 |
-
<button class="tool-btn send" onclick="sendMessage()">SEND</button>
|
| 1060 |
-
<button class="tool-btn tend" onclick="useTool('tend')">TEND</button>
|
| 1061 |
-
<button class="tool-btn nvc" onclick="useTool('nvc')">PRACTICE NVC</button>
|
| 1062 |
-
</div>
|
| 1063 |
<div class="tool-row">
|
| 1064 |
<span class="row-label">Reconnect</span>
|
| 1065 |
<button class="tool-btn repair" onclick="useTool('repair')">REPAIR</button>
|
|
@@ -1111,6 +1129,7 @@
|
|
| 1111 |
const TOOL_MAP = {
|
| 1112 |
tend: { name: 'TEND Transform', icon: 'β¨', api: 'tend' },
|
| 1113 |
soma: { name: 'Somatic Check-in', icon: 'π«', api: 'somatic_checkin' },
|
|
|
|
| 1114 |
feel: { name: 'Feelings Check', icon: 'π', api: null, interactive: true },
|
| 1115 |
need: { name: 'Needs Check', icon: 'π―', api: null, interactive: true },
|
| 1116 |
nvc: { name: 'Practice NVC', icon: 'π', api: 'guided_nvc' },
|
|
@@ -1546,6 +1565,9 @@ Real grief, real limits. 1-2 sentences.`
|
|
| 1546 |
inputText = 'Guide me through a body check-in. Help me notice what sensations are present.';
|
| 1547 |
}
|
| 1548 |
break;
|
|
|
|
|
|
|
|
|
|
| 1549 |
}
|
| 1550 |
|
| 1551 |
addToolLoading();
|
|
|
|
| 129 |
}
|
| 130 |
|
| 131 |
/* Rainbow sidebar colors */
|
| 132 |
+
/* Rainbow sidebar colors: Cascading Red β Purple (12 tools top to bottom) */
|
| 133 |
+
/* Express (top) */
|
| 134 |
+
.tool-desc.send-desc {
|
| 135 |
border-left-color: #ef4444;
|
| 136 |
background: rgba(239, 68, 68, 0.1);
|
| 137 |
}
|
| 138 |
+
.tool-desc.tend-desc {
|
| 139 |
border-left-color: #f97316;
|
| 140 |
background: rgba(249, 115, 22, 0.1);
|
| 141 |
}
|
| 142 |
+
.tool-desc.nvc-desc {
|
| 143 |
+
border-left-color: #fb923c;
|
| 144 |
+
background: rgba(251, 146, 60, 0.1);
|
| 145 |
+
}
|
| 146 |
+
/* Regulate */
|
| 147 |
+
.tool-desc.soma-desc {
|
| 148 |
border-left-color: #f59e0b;
|
| 149 |
background: rgba(245, 158, 11, 0.1);
|
| 150 |
}
|
| 151 |
+
.tool-desc.love-desc {
|
| 152 |
border-left-color: #eab308;
|
| 153 |
background: rgba(234, 179, 8, 0.1);
|
| 154 |
}
|
| 155 |
+
.tool-desc.ground-desc {
|
| 156 |
border-left-color: #84cc16;
|
| 157 |
background: rgba(132, 204, 22, 0.1);
|
| 158 |
}
|
| 159 |
+
/* Understand */
|
| 160 |
+
.tool-desc.feel-desc {
|
| 161 |
border-left-color: #22c55e;
|
| 162 |
background: rgba(34, 197, 94, 0.1);
|
| 163 |
}
|
| 164 |
+
.tool-desc.need-desc {
|
| 165 |
border-left-color: #14b8a6;
|
| 166 |
background: rgba(20, 184, 166, 0.1);
|
| 167 |
}
|
| 168 |
+
.tool-desc.story-desc {
|
| 169 |
border-left-color: #0ea5e9;
|
| 170 |
background: rgba(14, 165, 233, 0.1);
|
| 171 |
}
|
|
|
|
| 502 |
gap: 4px;
|
| 503 |
}
|
| 504 |
|
| 505 |
+
/* Rainbow button colors: Cascading Red β Purple (12 tools top to bottom) */
|
| 506 |
+
/* Express row (top) */
|
| 507 |
+
.tool-btn.send {
|
| 508 |
border-color: #ef4444;
|
| 509 |
color: #ef4444;
|
| 510 |
}
|
| 511 |
+
.tool-btn.send:hover, .tool-btn.send.active {
|
| 512 |
background: #ef4444;
|
| 513 |
color: white;
|
| 514 |
}
|
| 515 |
|
| 516 |
+
.tool-btn.tend {
|
| 517 |
border-color: #f97316;
|
| 518 |
color: #f97316;
|
| 519 |
}
|
| 520 |
+
.tool-btn.tend:hover, .tool-btn.tend.active {
|
| 521 |
background: #f97316;
|
| 522 |
color: white;
|
| 523 |
}
|
| 524 |
|
| 525 |
+
.tool-btn.nvc {
|
| 526 |
+
border-color: #fb923c;
|
| 527 |
+
color: #fb923c;
|
| 528 |
+
}
|
| 529 |
+
.tool-btn.nvc:hover, .tool-btn.nvc.active {
|
| 530 |
+
background: #fb923c;
|
| 531 |
+
color: white;
|
| 532 |
+
}
|
| 533 |
+
|
| 534 |
+
/* Regulate row */
|
| 535 |
+
.tool-btn.soma {
|
| 536 |
border-color: #f59e0b;
|
| 537 |
color: #f59e0b;
|
| 538 |
}
|
| 539 |
+
.tool-btn.soma:hover, .tool-btn.soma.active {
|
| 540 |
background: #f59e0b;
|
| 541 |
color: white;
|
| 542 |
}
|
| 543 |
|
| 544 |
+
.tool-btn.love {
|
| 545 |
border-color: #eab308;
|
| 546 |
color: #eab308;
|
| 547 |
}
|
| 548 |
+
.tool-btn.love:hover, .tool-btn.love.active {
|
| 549 |
background: #eab308;
|
| 550 |
color: white;
|
| 551 |
}
|
| 552 |
|
| 553 |
+
.tool-btn.ground {
|
| 554 |
border-color: #84cc16;
|
| 555 |
color: #84cc16;
|
| 556 |
}
|
| 557 |
+
.tool-btn.ground:hover, .tool-btn.ground.active {
|
| 558 |
background: #84cc16;
|
| 559 |
color: white;
|
| 560 |
}
|
| 561 |
|
| 562 |
+
/* Understand row */
|
| 563 |
+
.tool-btn.feel {
|
| 564 |
border-color: #22c55e;
|
| 565 |
color: #22c55e;
|
| 566 |
}
|
| 567 |
+
.tool-btn.feel:hover, .tool-btn.feel.active {
|
| 568 |
background: #22c55e;
|
| 569 |
color: white;
|
| 570 |
}
|
| 571 |
|
| 572 |
+
.tool-btn.need {
|
| 573 |
border-color: #14b8a6;
|
| 574 |
color: #14b8a6;
|
| 575 |
}
|
| 576 |
+
.tool-btn.need:hover, .tool-btn.need.active {
|
| 577 |
background: #14b8a6;
|
| 578 |
color: white;
|
| 579 |
}
|
| 580 |
|
| 581 |
+
.tool-btn.story {
|
| 582 |
border-color: #0ea5e9;
|
| 583 |
color: #0ea5e9;
|
| 584 |
}
|
| 585 |
+
.tool-btn.story:hover, .tool-btn.story.active {
|
| 586 |
background: #0ea5e9;
|
| 587 |
color: white;
|
| 588 |
}
|
|
|
|
| 922 |
<div class="tool-list">
|
| 923 |
<h3>ARI Tools</h3>
|
| 924 |
|
| 925 |
+
<div class="category-label">Express</div>
|
| 926 |
+
<div class="tool-desc send-desc">
|
| 927 |
+
<h4>SEND</h4>
|
| 928 |
+
<p>Send your message to your partner.</p>
|
| 929 |
+
</div>
|
| 930 |
+
<div class="tool-desc tend-desc" onclick="showToolInfo('tend')">
|
| 931 |
+
<h4>TEND</h4>
|
| 932 |
+
<p>Transform with clarity and warmth.</p>
|
| 933 |
+
</div>
|
| 934 |
+
<div class="tool-desc nvc-desc" onclick="showToolInfo('nvc')">
|
| 935 |
+
<h4>PRACTICE NVC</h4>
|
| 936 |
+
<p>Guided I-statement builder.</p>
|
| 937 |
+
</div>
|
| 938 |
+
|
| 939 |
<div class="category-label">Regulate</div>
|
| 940 |
<div class="tool-desc soma-desc" onclick="showToolInfo('soma')">
|
| 941 |
<h4>SOMA</h4>
|
|
|
|
| 945 |
<h4>LOVE</h4>
|
| 946 |
<p>Slow down. Take a breath. Return to presence.</p>
|
| 947 |
</div>
|
| 948 |
+
<div class="tool-desc ground-desc" onclick="useTool('ground')">
|
| 949 |
+
<h4>GROUND</h4>
|
| 950 |
+
<p>5-4-3-2-1 senses. Orient to the present.</p>
|
| 951 |
+
</div>
|
| 952 |
|
| 953 |
<div class="category-label">Understand</div>
|
| 954 |
<div class="tool-desc feel-desc" onclick="showToolInfo('feel')">
|
|
|
|
| 964 |
<p>"The story I'm making up..." Own your narrative.</p>
|
| 965 |
</div>
|
| 966 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 967 |
<div class="category-label">Reconnect</div>
|
| 968 |
<div class="tool-desc repair-desc" onclick="showToolInfo('repair')">
|
| 969 |
<h4>REPAIR</h4>
|
|
|
|
| 1060 |
|
| 1061 |
<!-- Tool Buttons - Categorized -->
|
| 1062 |
<div class="tool-buttons-container">
|
| 1063 |
+
<div class="tool-row">
|
| 1064 |
+
<span class="row-label">Express</span>
|
| 1065 |
+
<button class="tool-btn send" onclick="sendMessage()">SEND</button>
|
| 1066 |
+
<button class="tool-btn tend" onclick="useTool('tend')">TEND</button>
|
| 1067 |
+
<button class="tool-btn nvc" onclick="useTool('nvc')">PRACTICE NVC</button>
|
| 1068 |
+
</div>
|
| 1069 |
<div class="tool-row">
|
| 1070 |
<span class="row-label">Regulate</span>
|
| 1071 |
<button class="tool-btn soma" onclick="useTool('soma')">SOMA</button>
|
| 1072 |
<button class="tool-btn love" onclick="useTool('love')">LOVE</button>
|
| 1073 |
+
<button class="tool-btn ground" onclick="useTool('ground')">GROUND</button>
|
| 1074 |
</div>
|
| 1075 |
<div class="tool-row">
|
| 1076 |
<span class="row-label">Understand</span>
|
|
|
|
| 1078 |
<button class="tool-btn need" onclick="useTool('need')">NEED</button>
|
| 1079 |
<button class="tool-btn story" onclick="useTool('story')">STORY</button>
|
| 1080 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1081 |
<div class="tool-row">
|
| 1082 |
<span class="row-label">Reconnect</span>
|
| 1083 |
<button class="tool-btn repair" onclick="useTool('repair')">REPAIR</button>
|
|
|
|
| 1129 |
const TOOL_MAP = {
|
| 1130 |
tend: { name: 'TEND Transform', icon: 'β¨', api: 'tend' },
|
| 1131 |
soma: { name: 'Somatic Check-in', icon: 'π«', api: 'somatic_checkin' },
|
| 1132 |
+
ground: { name: 'Ground', icon: 'πΏ', api: 'ground' },
|
| 1133 |
feel: { name: 'Feelings Check', icon: 'π', api: null, interactive: true },
|
| 1134 |
need: { name: 'Needs Check', icon: 'π―', api: null, interactive: true },
|
| 1135 |
nvc: { name: 'Practice NVC', icon: 'π', api: 'guided_nvc' },
|
|
|
|
| 1565 |
inputText = 'Guide me through a body check-in. Help me notice what sensations are present.';
|
| 1566 |
}
|
| 1567 |
break;
|
| 1568 |
+
case 'ground':
|
| 1569 |
+
inputText = 'Guide me through 5-4-3-2-1 grounding. Help me orient to the present moment through my senses.';
|
| 1570 |
+
break;
|
| 1571 |
}
|
| 1572 |
|
| 1573 |
addToolLoading();
|