docs: add Email Agent to the Hub map and activate it in routing (AUD-74)
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
"meta": {
|
||||
"title": "Central AI Hub",
|
||||
"output": "docs/hub-architecture-map.html",
|
||||
"quality_profile": "showcase",
|
||||
"quality_profile": "standard",
|
||||
"views": [
|
||||
{
|
||||
"id": "fast-command",
|
||||
@@ -38,11 +38,12 @@
|
||||
{ "id": "art", "type": "backend", "label": "Artemis", "sublabel": "phone screen", "pos": [790, 370], "size": [160, 64] },
|
||||
{ "id": "pc", "type": "backend", "label": "Paperclip", "sublabel": "slow jobs", "pos": [790, 480], "size": [160, 64] },
|
||||
{ "id": "web", "type": "cloud", "label": "Web search", "sublabel": "Tavily", "pos": [790, 590], "size": [160, 64] },
|
||||
{ "id": "app", "type": "backend", "label": "Apprise / NTFY", "sublabel": "notify + email", "pos": [790, 700], "size": [160, 64] }
|
||||
{ "id": "app", "type": "backend", "label": "Apprise / NTFY", "sublabel": "notify + email", "pos": [790, 700], "size": [160, 64] },
|
||||
{ "id": "email", "type": "backend", "label": "Email Agent", "sublabel": "inbox triage :8790", "pos": [790, 810], "size": [160, 64], "tag": "live" }
|
||||
],
|
||||
"boundaries": [
|
||||
{ "kind": "region", "label": "Ways in", "wraps": ["phone", "admin", "esp32", "dsh"], "pad": 26 },
|
||||
{ "kind": "region", "label": "Peers and services", "wraps": ["ha", "spk", "net", "art", "pc", "web", "app"], "pad": 26 }
|
||||
{ "kind": "region", "label": "Peers and services", "wraps": ["ha", "spk", "net", "art", "pc", "web", "app", "email"], "pad": 26 }
|
||||
],
|
||||
"connections": [
|
||||
{ "id": "phone-in", "from": "phone", "to": "hub", "label": "voice or text" },
|
||||
@@ -56,6 +57,7 @@
|
||||
{ "id": "to-pc", "from": "hub", "to": "pc", "label": "file job" },
|
||||
{ "id": "to-web", "from": "hub", "to": "web", "label": "search" },
|
||||
{ "id": "to-app", "from": "hub", "to": "app", "label": "notify" },
|
||||
{ "id": "to-email", "from": "hub", "to": "email", "label": "ask + notify" },
|
||||
{ "id": "pc-back", "from": "pc", "to": "hub", "label": "result", "variant": "dashed" }
|
||||
]
|
||||
}
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 147 KiB After Width: | Height: | Size: 187 KiB |
@@ -4883,7 +4883,7 @@
|
||||
|
||||
<!-- Main Diagram -->
|
||||
<div class="diagram-container" data-detail-level="read">
|
||||
<svg viewBox="0 0 1016 852" role="img" aria-labelledby="archify-diagram-title archify-diagram-description" data-preset="classic" data-quality-profile="standard">
|
||||
<svg viewBox="0 0 1016 962" role="img" aria-labelledby="archify-diagram-title archify-diagram-description" data-preset="classic" data-quality-profile="standard">
|
||||
<title id="archify-diagram-title">Central AI Hub</title>
|
||||
<desc id="archify-diagram-description">A architecture diagram generated by Archify.</desc>
|
||||
<!-- Definitions -->
|
||||
@@ -4912,7 +4912,7 @@
|
||||
<rect data-graph-role="structural-frame" data-composition-frame-kind="region" data-composition-frame-id="0" x="14" y="54" width="202" height="470" rx="12" class="c-region" stroke-width="1"/>
|
||||
<text x="22" y="72" class="t-cloud" font-size="9" font-weight="600">Ways in</text>
|
||||
|
||||
<rect data-graph-role="structural-frame" data-composition-frame-kind="region" data-composition-frame-id="1" x="764" y="14" width="212" height="770" rx="12" class="c-region" stroke-width="1"/>
|
||||
<rect data-graph-role="structural-frame" data-composition-frame-kind="region" data-composition-frame-id="1" x="764" y="14" width="212" height="880" rx="12" class="c-region" stroke-width="1"/>
|
||||
<text x="772" y="32" class="t-cloud" font-size="9" font-weight="600">Peers and services</text>
|
||||
|
||||
<!-- Connection paths (before components for correct z-order) -->
|
||||
@@ -4921,13 +4921,14 @@
|
||||
<path data-edge-from="esp32" data-edge-to="hub" data-edge-label="command" data-edge-key="2" data-edge-id="esp-in" data-composition-points="190,352;290,352;290,307;390,307" d="M 190 352 L 282 352 Q 290 352 290 344 L 290 315 Q 290 307 298 307 L 390 307" class="a-default" stroke-width="1.5" marker-end="url(#arrowhead)"/>
|
||||
<path data-edge-from="dsh" data-edge-to="hub" data-edge-label="action request" data-edge-key="3" data-edge-id="dsh-in" data-composition-points="190,472;290,472;290,321;390,321" d="M 190 472 L 282 472 Q 290 472 290 464 L 290 329 Q 290 321 298 321 L 390 321" class="a-default" stroke-width="1.5" marker-end="url(#arrowhead)"/>
|
||||
<path data-edge-from="hub" data-edge-to="ha" data-edge-label="do it" data-edge-key="4" data-edge-id="to-ha" data-composition-points="580,276;685,276;685,72;790,72" d="M 580 276 L 677 276 Q 685 276 685 268 L 685 80 Q 685 72 693 72 L 790 72" class="a-default" stroke-width="1.5" marker-end="url(#arrowhead)"/>
|
||||
<path data-edge-from="hub" data-edge-to="spk" data-edge-label="speak" data-edge-key="5" data-edge-id="to-spk" data-composition-points="580,282.85714285714283;685,282.85714285714283;685,182;790,182" d="M 580 282.85714285714283 L 677 282.85714285714283 Q 685 282.85714285714283 685 274.85714285714283 L 685 190 Q 685 182 693 182 L 790 182" class="a-default" stroke-width="1.5" marker-end="url(#arrowhead)"/>
|
||||
<path data-edge-from="hub" data-edge-to="net" data-edge-label="confirm" data-edge-key="6" data-edge-id="to-net" data-composition-points="580,289.7142857142857;790,289.7142857142857" d="M 580 289.7142857142857 L 790 289.7142857142857" class="a-default" stroke-width="1.5" marker-end="url(#arrowhead)"/>
|
||||
<path data-edge-from="hub" data-edge-to="art" data-edge-label="screen control" data-edge-key="7" data-edge-id="to-art" data-composition-points="580,296.57142857142856;685,296.57142857142856;685,402;790,402" d="M 580 296.57142857142856 L 677 296.57142857142856 Q 685 296.57142857142856 685 304.57142857142856 L 685 394 Q 685 402 693 402 L 790 402" class="a-default" stroke-width="1.5" marker-end="url(#arrowhead)"/>
|
||||
<path data-edge-from="hub" data-edge-to="pc" data-edge-label="file job" data-edge-key="8" data-edge-id="to-pc" data-composition-points="580,310.2857142857143;685,310.2857142857143;685,519;790,519" d="M 580 310.2857142857143 L 677 310.2857142857143 Q 685 310.2857142857143 685 318.2857142857143 L 685 511 Q 685 519 693 519 L 790 519" class="a-default" stroke-width="1.5" marker-end="url(#arrowhead)"/>
|
||||
<path data-edge-from="hub" data-edge-to="web" data-edge-label="search" data-edge-key="9" data-edge-id="to-web" data-composition-points="580,317.14285714285717;685,317.14285714285717;685,622;790,622" d="M 580 317.14285714285717 L 677 317.14285714285717 Q 685 317.14285714285717 685 325.14285714285717 L 685 614 Q 685 622 693 622 L 790 622" class="a-default" stroke-width="1.5" marker-end="url(#arrowhead)"/>
|
||||
<path data-edge-from="hub" data-edge-to="app" data-edge-label="notify" data-edge-key="10" data-edge-id="to-app" data-composition-points="580,324;685,324;685,732;790,732" d="M 580 324 L 677 324 Q 685 324 685 332 L 685 724 Q 685 732 693 732 L 790 732" class="a-default" stroke-width="1.5" marker-end="url(#arrowhead)"/>
|
||||
<path data-edge-from="pc" data-edge-to="hub" data-edge-label="result" data-edge-key="11" data-edge-id="pc-back" data-composition-points="790,505;685,505;685,303.42857142857144;580,303.42857142857144" d="M 790 505 L 693 505 Q 685 505 685 497 L 685 311.42857142857144 Q 685 303.42857142857144 677 303.42857142857144 L 580 303.42857142857144" class="a-dashed" stroke-width="1.5" marker-end="url(#arrowhead-dashed)"/>
|
||||
<path data-edge-from="hub" data-edge-to="spk" data-edge-label="speak" data-edge-key="5" data-edge-id="to-spk" data-composition-points="580,282;685,282;685,182;790,182" d="M 580 282 L 677 282 Q 685 282 685 274 L 685 190 Q 685 182 693 182 L 790 182" class="a-default" stroke-width="1.5" marker-end="url(#arrowhead)"/>
|
||||
<path data-edge-from="hub" data-edge-to="net" data-edge-label="confirm" data-edge-key="6" data-edge-id="to-net" data-composition-points="580,288;790,288" d="M 580 288 L 790 288" class="a-default" stroke-width="1.5" marker-end="url(#arrowhead)"/>
|
||||
<path data-edge-from="hub" data-edge-to="art" data-edge-label="screen control" data-edge-key="7" data-edge-id="to-art" data-composition-points="580,294;685,294;685,402;790,402" d="M 580 294 L 677 294 Q 685 294 685 302 L 685 394 Q 685 402 693 402 L 790 402" class="a-default" stroke-width="1.5" marker-end="url(#arrowhead)"/>
|
||||
<path data-edge-from="hub" data-edge-to="pc" data-edge-label="file job" data-edge-key="8" data-edge-id="to-pc" data-composition-points="580,306;685,306;685,519;790,519" d="M 580 306 L 677 306 Q 685 306 685 314 L 685 511 Q 685 519 693 519 L 790 519" class="a-default" stroke-width="1.5" marker-end="url(#arrowhead)"/>
|
||||
<path data-edge-from="hub" data-edge-to="web" data-edge-label="search" data-edge-key="9" data-edge-id="to-web" data-composition-points="580,312;685,312;685,622;790,622" d="M 580 312 L 677 312 Q 685 312 685 320 L 685 614 Q 685 622 693 622 L 790 622" class="a-default" stroke-width="1.5" marker-end="url(#arrowhead)"/>
|
||||
<path data-edge-from="hub" data-edge-to="app" data-edge-label="notify" data-edge-key="10" data-edge-id="to-app" data-composition-points="580,318;685,318;685,732;790,732" d="M 580 318 L 677 318 Q 685 318 685 326 L 685 724 Q 685 732 693 732 L 790 732" class="a-default" stroke-width="1.5" marker-end="url(#arrowhead)"/>
|
||||
<path data-edge-from="hub" data-edge-to="email" data-edge-label="ask + notify" data-edge-key="11" data-edge-id="to-email" data-composition-points="580,324;685,324;685,842;790,842" d="M 580 324 L 677 324 Q 685 324 685 332 L 685 834 Q 685 842 693 842 L 790 842" class="a-default" stroke-width="1.5" marker-end="url(#arrowhead)"/>
|
||||
<path data-edge-from="pc" data-edge-to="hub" data-edge-label="result" data-edge-key="12" data-edge-id="pc-back" data-composition-points="790,505;685,505;685,300;580,300" d="M 790 505 L 693 505 Q 685 505 685 497 L 685 308 Q 685 300 677 300 L 580 300" class="a-dashed" stroke-width="1.5" marker-end="url(#arrowhead-dashed)"/>
|
||||
|
||||
<!-- Components -->
|
||||
<g id="node-phone" data-node-id="phone" data-node-label="Phone app" tabindex="0" role="button" aria-label="Focus Phone app, wake word + voice, Ways in" aria-pressed="false" data-node-kind="frontend" data-node-sublabel="wake word + voice" data-node-context="Ways in">
|
||||
@@ -5073,6 +5074,18 @@
|
||||
<text data-detail="context" x="870" y="746" class="t-muted" font-size="9" text-anchor="middle">notify + email</text>
|
||||
</g>
|
||||
|
||||
<g id="node-email" data-node-id="email" data-node-label="Email Agent" tabindex="0" role="button" aria-label="Focus Email Agent, inbox triage :8790, Peers and services" aria-pressed="false" data-node-kind="backend" data-node-sublabel="inbox triage :8790" data-node-tag="live" data-node-context="Peers and services">
|
||||
<title>Email Agent · inbox triage :8790 · Peers and services · live</title>
|
||||
<rect x="790" y="810" width="160" height="64" rx="6" class="c-mask"/>
|
||||
<rect x="790" y="810" width="160" height="64" rx="6" class="c-backend" stroke-width="1.5"/>
|
||||
<g aria-hidden="true" data-semantic-sigil="backend" class="semantic-sigil s-backend" transform="translate(796 816) scale(0.6875)">
|
||||
<path d="M6 3 3 8l3 5M10 3l3 5-3 5"/>
|
||||
</g>
|
||||
<text data-detail-anchor x="870" y="840" class="t-primary" font-size="11" font-weight="600" text-anchor="middle">Email Agent</text>
|
||||
<text data-detail="context" x="870" y="856" class="t-muted" font-size="9" text-anchor="middle">inbox triage :8790</text>
|
||||
<text data-detail="fine" x="870" y="866" class="t-backend" font-size="7" text-anchor="middle">live</text>
|
||||
</g>
|
||||
|
||||
<!-- Connection labels -->
|
||||
<g data-detail="context" data-edge-from="phone" data-edge-to="hub" data-edge-label="voice or text" data-edge-key="0" data-edge-id="phone-in">
|
||||
<rect x="253.8" y="175.5" width="72.4" height="14" rx="3" class="c-mask"/>
|
||||
@@ -5095,56 +5108,60 @@
|
||||
<text x="685" y="164" class="t-muted" font-size="8" text-anchor="middle">do it</text>
|
||||
</g>
|
||||
<g data-detail="context" data-edge-from="hub" data-edge-to="spk" data-edge-label="speak" data-edge-key="5" data-edge-id="to-spk">
|
||||
<rect x="668" y="212.42857142857142" width="34" height="14" rx="3" class="c-mask"/>
|
||||
<text x="685" y="222.42857142857142" class="t-muted" font-size="8" text-anchor="middle">speak</text>
|
||||
<rect x="668" y="212" width="34" height="14" rx="3" class="c-mask"/>
|
||||
<text x="685" y="222" class="t-muted" font-size="8" text-anchor="middle">speak</text>
|
||||
</g>
|
||||
<g data-detail="context" data-edge-from="hub" data-edge-to="net" data-edge-label="confirm" data-edge-key="6" data-edge-id="to-net">
|
||||
<rect x="663.2" y="269.7142857142857" width="43.6" height="14" rx="3" class="c-mask"/>
|
||||
<text x="685" y="279.7142857142857" class="t-muted" font-size="8" text-anchor="middle">confirm</text>
|
||||
<rect x="663.2" y="268" width="43.6" height="14" rx="3" class="c-mask"/>
|
||||
<text x="685" y="278" class="t-muted" font-size="8" text-anchor="middle">confirm</text>
|
||||
</g>
|
||||
<g data-detail="context" data-edge-from="hub" data-edge-to="art" data-edge-label="screen control" data-edge-key="7" data-edge-id="to-art">
|
||||
<rect x="646.4" y="329.2857142857143" width="77.2" height="14" rx="3" class="c-mask"/>
|
||||
<text x="685" y="339.2857142857143" class="t-muted" font-size="8" text-anchor="middle">screen control</text>
|
||||
<rect x="646.4" y="328" width="77.2" height="14" rx="3" class="c-mask"/>
|
||||
<text x="685" y="338" class="t-muted" font-size="8" text-anchor="middle">screen control</text>
|
||||
</g>
|
||||
<g data-detail="context" data-edge-from="hub" data-edge-to="pc" data-edge-label="file job" data-edge-key="8" data-edge-id="to-pc">
|
||||
<rect x="660.8" y="394.6428571428571" width="48.4" height="14" rx="3" class="c-mask"/>
|
||||
<text x="685" y="404.6428571428571" class="t-muted" font-size="8" text-anchor="middle">file job</text>
|
||||
<rect x="660.8" y="392.5" width="48.4" height="14" rx="3" class="c-mask"/>
|
||||
<text x="685" y="402.5" class="t-muted" font-size="8" text-anchor="middle">file job</text>
|
||||
</g>
|
||||
<g data-detail="context" data-edge-from="hub" data-edge-to="web" data-edge-label="search" data-edge-key="9" data-edge-id="to-web">
|
||||
<rect x="665.6" y="449.57142857142856" width="38.8" height="14" rx="3" class="c-mask"/>
|
||||
<text x="685" y="459.57142857142856" class="t-muted" font-size="8" text-anchor="middle">search</text>
|
||||
<rect x="665.6" y="447" width="38.8" height="14" rx="3" class="c-mask"/>
|
||||
<text x="685" y="457" class="t-muted" font-size="8" text-anchor="middle">search</text>
|
||||
</g>
|
||||
<g data-detail="context" data-edge-from="hub" data-edge-to="app" data-edge-label="notify" data-edge-key="10" data-edge-id="to-app">
|
||||
<rect x="665.6" y="508" width="38.8" height="14" rx="3" class="c-mask"/>
|
||||
<text x="685" y="518" class="t-muted" font-size="8" text-anchor="middle">notify</text>
|
||||
<rect x="665.6" y="505" width="38.8" height="14" rx="3" class="c-mask"/>
|
||||
<text x="685" y="515" class="t-muted" font-size="8" text-anchor="middle">notify</text>
|
||||
</g>
|
||||
<g data-detail="context" data-edge-from="pc" data-edge-to="hub" data-edge-label="result" data-edge-key="11" data-edge-id="pc-back">
|
||||
<rect x="665.6" y="384.2142857142857" width="38.8" height="14" rx="3" class="c-mask"/>
|
||||
<text x="685" y="394.2142857142857" class="t-messagebus" font-size="8" text-anchor="middle">result</text>
|
||||
<g data-detail="context" data-edge-from="hub" data-edge-to="email" data-edge-label="ask + notify" data-edge-key="11" data-edge-id="to-email">
|
||||
<rect x="651.2" y="563" width="67.6" height="14" rx="3" class="c-mask"/>
|
||||
<text x="685" y="573" class="t-muted" font-size="8" text-anchor="middle">ask + notify</text>
|
||||
</g>
|
||||
<g data-detail="context" data-edge-from="pc" data-edge-to="hub" data-edge-label="result" data-edge-key="12" data-edge-id="pc-back">
|
||||
<rect x="665.6" y="382.5" width="38.8" height="14" rx="3" class="c-mask"/>
|
||||
<text x="685" y="392.5" class="t-messagebus" font-size="8" text-anchor="middle">result</text>
|
||||
</g>
|
||||
|
||||
<!-- Legend -->
|
||||
<g data-legend data-legend-bridge>
|
||||
<text x="40" y="816" class="t-primary" font-size="12" font-weight="650">Legend</text>
|
||||
<g data-legend-semantic-kind="frontend" data-legend-kind="frontend" data-legend-label="Frontend" data-legend-x="40" data-legend-baseline="836" data-legend-width="83">
|
||||
<rect x="40" y="827" width="16" height="10" rx="2.5" class="c-frontend" stroke-width="1"/>
|
||||
<text x="62" y="836" class="t-muted" font-size="10" font-weight="500">Frontend</text>
|
||||
<text x="40" y="926" class="t-primary" font-size="12" font-weight="650">Legend</text>
|
||||
<g data-legend-semantic-kind="frontend" data-legend-kind="frontend" data-legend-label="Frontend" data-legend-x="40" data-legend-baseline="946" data-legend-width="83">
|
||||
<rect x="40" y="937" width="16" height="10" rx="2.5" class="c-frontend" stroke-width="1"/>
|
||||
<text x="62" y="946" class="t-muted" font-size="10" font-weight="500">Frontend</text>
|
||||
</g>
|
||||
<g data-legend-semantic-kind="backend" data-legend-kind="backend" data-legend-label="Backend" data-legend-x="145" data-legend-baseline="836" data-legend-width="78">
|
||||
<rect x="145" y="827" width="16" height="10" rx="2.5" class="c-backend" stroke-width="1"/>
|
||||
<text x="167" y="836" class="t-muted" font-size="10" font-weight="500">Backend</text>
|
||||
<g data-legend-semantic-kind="backend" data-legend-kind="backend" data-legend-label="Backend" data-legend-x="145" data-legend-baseline="946" data-legend-width="78">
|
||||
<rect x="145" y="937" width="16" height="10" rx="2.5" class="c-backend" stroke-width="1"/>
|
||||
<text x="167" y="946" class="t-muted" font-size="10" font-weight="500">Backend</text>
|
||||
</g>
|
||||
<g data-legend-semantic-kind="cloud" data-legend-kind="cloud" data-legend-label="Cloud" data-legend-x="245" data-legend-baseline="836" data-legend-width="68">
|
||||
<rect x="245" y="827" width="16" height="10" rx="2.5" class="c-cloud" stroke-width="1"/>
|
||||
<text x="267" y="836" class="t-muted" font-size="10" font-weight="500">Cloud</text>
|
||||
<g data-legend-semantic-kind="cloud" data-legend-kind="cloud" data-legend-label="Cloud" data-legend-x="245" data-legend-baseline="946" data-legend-width="68">
|
||||
<rect x="245" y="937" width="16" height="10" rx="2.5" class="c-cloud" stroke-width="1"/>
|
||||
<text x="267" y="946" class="t-muted" font-size="10" font-weight="500">Cloud</text>
|
||||
</g>
|
||||
<g data-legend-semantic-kind="security" data-legend-kind="security" data-legend-label="Security" data-legend-x="335" data-legend-baseline="836" data-legend-width="83">
|
||||
<rect x="335" y="827" width="16" height="10" rx="2.5" class="c-security" stroke-width="1"/>
|
||||
<text x="357" y="836" class="t-muted" font-size="10" font-weight="500">Security</text>
|
||||
<g data-legend-semantic-kind="security" data-legend-kind="security" data-legend-label="Security" data-legend-x="335" data-legend-baseline="946" data-legend-width="83">
|
||||
<rect x="335" y="937" width="16" height="10" rx="2.5" class="c-security" stroke-width="1"/>
|
||||
<text x="357" y="946" class="t-muted" font-size="10" font-weight="500">Security</text>
|
||||
</g>
|
||||
<g data-legend-semantic-kind="external" data-legend-kind="external" data-legend-label="External" data-legend-x="440" data-legend-baseline="836" data-legend-width="83">
|
||||
<rect x="440" y="827" width="16" height="10" rx="2.5" class="c-external" stroke-width="1"/>
|
||||
<text x="462" y="836" class="t-muted" font-size="10" font-weight="500">External</text>
|
||||
<g data-legend-semantic-kind="external" data-legend-kind="external" data-legend-label="External" data-legend-x="440" data-legend-baseline="946" data-legend-width="83">
|
||||
<rect x="440" y="937" width="16" height="10" rx="2.5" class="c-external" stroke-width="1"/>
|
||||
<text x="462" y="946" class="t-muted" font-size="10" font-weight="500">External</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
@@ -17,6 +17,7 @@ flowchart LR
|
||||
PC["Paperclip<br/>work bench"]
|
||||
WEB["Web search"]
|
||||
APP["Apprise / NTFY"]
|
||||
EMAIL["Email Agent<br/>inbox triage"]
|
||||
end
|
||||
|
||||
PHONE --> HUB
|
||||
@@ -30,6 +31,7 @@ flowchart LR
|
||||
HUB --> WEB
|
||||
HUB --> APP
|
||||
HUB -- "ask only (query)" --> NET
|
||||
HUB -- "ask only (query)" --> EMAIL
|
||||
HUB -- "slow job (approved)" --> PC
|
||||
ADMIN -- "control + tap to approve" --> NET
|
||||
PC -. result .-> HUB
|
||||
|
||||
@@ -46,7 +46,7 @@ short. Add a topic only when a project really answers it.
|
||||
|
||||
| Topic (what the user says) | Project | Kind | Status |
|
||||
|---|---|---|---|
|
||||
| email, inbox, mail, message, unread | `email_agent` | query `/ask` | placeholder — not built |
|
||||
| email, inbox, mail, message, unread | `email_agent` | query `/ask` | active service |
|
||||
| school, Compass, homework, timetable, class, NHS appointment | `compass_nhs` | query `/ask` | placeholder — not built |
|
||||
| screen time, internet use, time limits, what did the kids do online | `internet_control` | query `/ask` | placeholder — not built |
|
||||
| lights, lamp, switch, plug, timer, reminder, calendar event, device, thermostat | `home_assistant` | command (direct) | active service |
|
||||
@@ -76,7 +76,6 @@ so the file is ready. Replace the placeholder when the project declares its
|
||||
|
||||
| Project | Expected topics (placeholder) | First build step |
|
||||
|---|---|---|
|
||||
| `email_agent` | email, inbox, mail | brief build order step 5 |
|
||||
| `compass_nhs` | school, homework, timetable | brief build order step 5 |
|
||||
| `internet_control` | screen time, internet use, limits | brief build order step 6 |
|
||||
| `artemis` | phone screen control | brief build order step 7 |
|
||||
|
||||
Reference in New Issue
Block a user