evolcore 0.0.2 → 0.0.3
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/CHANGELOG.md +44 -793
- package/dist/agents/claude-runner.js +197 -17
- package/dist/agents/codex-runner.js +46 -3
- package/dist/aun/outbox.js +8 -0
- package/dist/channels/aun.js +21 -4
- package/dist/channels/contact-bind-code.js +134 -0
- package/dist/channels/dingtalk.js +979 -149
- package/dist/channels/feishu.js +130 -54
- package/dist/channels/wecom-card.js +101 -0
- package/dist/channels/wecom-onboarding.js +82 -0
- package/dist/channels/wecom-state.js +191 -0
- package/dist/channels/wecom.js +755 -163
- package/dist/cli/agent-command.js +2 -1
- package/dist/cli/aun-commands.js +88 -33
- package/dist/cli/bench.js +2 -2
- package/dist/cli/contact.js +71 -0
- package/dist/cli/ctl-command.js +2 -2
- package/dist/cli/daemon-commands.js +77 -214
- package/dist/cli/handoff-command.js +2 -2
- package/dist/cli/help.js +9 -5
- package/dist/cli/index.js +132 -116
- package/dist/cli/init-channel.js +92 -97
- package/dist/cli/init.js +63 -26
- package/dist/cli/model.js +2 -1
- package/dist/cli/net-check.js +2 -2
- package/dist/cli/queue-command.js +30 -6
- package/dist/cli/raw-key-input.js +25 -0
- package/dist/cli/response.js +5 -6
- package/dist/cli/restart-monitor.js +25 -1
- package/dist/cli/stats.js +6 -4
- package/dist/cli/trigger-command.js +55 -15
- package/dist/cli/version.js +6 -1
- package/dist/config/builtin-role-templates.js +22 -10
- package/dist/config/builtin-roles.js +7 -1
- package/dist/config/config-manager.js +221 -17
- package/dist/config/contact-alias.js +68 -0
- package/dist/config/contact-book-store.js +454 -0
- package/dist/config/contact-book-v2-startup.js +35 -0
- package/dist/config/contact-book.js +156 -303
- package/dist/config/contact-operation-service.js +110 -0
- package/dist/config/peer-role-resolver.js +133 -54
- package/dist/config/role-ranks.js +18 -0
- package/dist/config/role-service.js +16 -19
- package/dist/config/role-store.js +16 -5
- package/dist/config/roles.js +10 -1
- package/dist/config-store.js +0 -2
- package/dist/core/auth/authorization-audit.js +10 -1
- package/dist/core/auth/operation-authorizer.js +2 -0
- package/dist/core/auth/operation-catalog.js +56 -0
- package/dist/core/command/command-handler.js +105 -10
- package/dist/core/command/connect-menu.js +374 -0
- package/dist/core/command/menu-handler.js +114 -16
- package/dist/core/command/role-menu.js +128 -29
- package/dist/core/command/slash-handler.js +28 -18
- package/dist/core/daemon-file-cache.js +12 -6
- package/dist/core/event-catalog.js +70 -0
- package/dist/core/evolagent-registry.js +0 -1
- package/dist/core/evolagent.js +20 -9
- package/dist/core/message/im-renderer.js +2 -0
- package/dist/core/message/message-bridge.js +79 -8
- package/dist/core/message/message-queue.js +10 -0
- package/dist/core/message/message-utils.js +8 -2
- package/dist/core/message/response-engine.js +269 -25
- package/dist/core/message/send-receipt.js +24 -0
- package/dist/core/message/stream-debouncer.js +11 -2
- package/dist/core/permission/tool-policy.js +47 -15
- package/dist/core/protected-paths.js +2 -0
- package/dist/core/session/session-fs-store.js +44 -3
- package/dist/core/session/session-manager.js +61 -5
- package/dist/index.js +62 -6
- package/dist/ipc.js +34 -5
- package/dist/stats/billing.js +20 -8
- package/dist/trigger/manager.js +3 -0
- package/dist/trigger/parser.js +77 -2
- package/dist/trigger/patch.js +8 -1
- package/dist/trigger/scheduler.js +3 -1
- package/dist/trigger/validation.js +13 -0
- package/dist/utils/aid-bind.js +43 -29
- package/dist/utils/instance-registry.js +14 -7
- package/dist/utils/log-writer.js +46 -0
- package/dist/utils/media-cache.js +4 -1
- package/dist/utils/model-prices.jsonl +6 -3
- package/dist/utils/restart-safety.js +31 -0
- package/dist/utils/system-memory.js +62 -0
- package/kits/docs/INDEX.md +2 -1
- package/kits/docs/evolcore/INDEX.md +5 -3
- package/kits/docs/evolcore/agent.md +9 -1
- package/kits/docs/evolcore/aid.md +5 -2
- package/kits/docs/evolcore/contact.md +57 -0
- package/kits/docs/evolcore/fs.md +9 -0
- package/kits/docs/evolcore/group.md +12 -3
- package/kits/docs/evolcore/model.md +4 -1
- package/kits/docs/evolcore/msg.md +9 -3
- package/kits/docs/evolcore/response.md +16 -21
- package/kits/docs/evolcore/rpc.md +2 -0
- package/kits/docs/evolcore/stats.md +15 -2
- package/kits/docs/evolcore/storage.md +1 -0
- package/kits/docs/evolcore/trigger.md +17 -2
- package/kits/eck_manifest.json +12 -0
- package/kits/migrations/migrate-contact-book-v2.mjs +747 -0
- package/kits/schemas/_meta.json +7 -4
- package/kits/schemas/agent-config.schema.6.json +322 -0
- package/kits/schemas/contact-book.schema.2.json +43 -0
- package/kits/schemas/relation-config.schema.5.json +47 -0
- package/kits/schemas/role-config.schema.1.json +1 -0
- package/kits/schemas/role-registry.schema.1.json +2 -2
- package/kits/templates/roles/admin.json +1 -0
- package/kits/templates/roles/member.json +1 -0
- package/kits/templates/roles/owner.json +1 -0
- package/kits/templates/roles/visitor.json +1 -0
- package/kits/templates/system-fragments/commands.md +3 -1
- package/package.json +4 -4
- package/assets/brand/evolcore/README.md +0 -19
- package/assets/brand/evolcore/evolcore-app-icon.png +0 -0
- package/assets/brand/evolcore/evolcore-app-icon.svg +0 -13
- package/assets/brand/evolcore/evolcore-brand-board.png +0 -0
- package/assets/brand/evolcore/evolcore-brand-board.svg +0 -126
- package/assets/brand/evolcore/evolcore-logo-kit.zip +0 -0
- package/assets/brand/evolcore/evolcore-logo-reverse.png +0 -0
- package/assets/brand/evolcore/evolcore-logo-reverse.svg +0 -14
- package/assets/brand/evolcore/evolcore-logo.png +0 -0
- package/assets/brand/evolcore/evolcore-logo.svg +0 -14
- package/assets/brand/evolcore/evolcore-mark.png +0 -0
- package/assets/brand/evolcore/evolcore-mark.svg +0 -10
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1200" role="img" aria-labelledby="title desc">
|
|
2
|
-
<title id="title">Evolcore brand concept board</title>
|
|
3
|
-
<desc id="desc">A premium identity board showing the Evolcore logo, symbol, geometry, palette, typography and applications.</desc>
|
|
4
|
-
<defs>
|
|
5
|
-
<pattern id="grid" width="48" height="48" patternUnits="userSpaceOnUse">
|
|
6
|
-
<path d="M48 0H0V48" fill="none" stroke="#183027" stroke-width="1"/>
|
|
7
|
-
</pattern>
|
|
8
|
-
<filter id="shadow" x="-20%" y="-20%" width="140%" height="140%">
|
|
9
|
-
<feDropShadow dx="0" dy="18" stdDeviation="24" flood-color="#000" flood-opacity=".26"/>
|
|
10
|
-
</filter>
|
|
11
|
-
</defs>
|
|
12
|
-
|
|
13
|
-
<rect width="1920" height="1200" fill="#050A08"/>
|
|
14
|
-
<text x="72" y="62" fill="#7E928B" font-family="Lato, Arial, sans-serif" font-size="14" font-weight="700" letter-spacing="4">EVOLCORE / IDENTITY CONCEPT 01</text>
|
|
15
|
-
<text x="1848" y="62" text-anchor="end" fill="#7E928B" font-family="Lato, Arial, sans-serif" font-size="14" font-weight="700" letter-spacing="4">CONNECTED CORE</text>
|
|
16
|
-
|
|
17
|
-
<g transform="translate(72 96)">
|
|
18
|
-
<rect width="1104" height="438" rx="18" fill="#0B1713"/>
|
|
19
|
-
<path d="M0 364C286 247 564 502 1104 212V438H0Z" fill="#0E211A" opacity=".72"/>
|
|
20
|
-
<g transform="translate(86 118) scale(1.46)">
|
|
21
|
-
<g fill="none" stroke="#F2F7F5" stroke-linecap="round" stroke-linejoin="round">
|
|
22
|
-
<path d="M91 34.5A39 39 0 1 0 91 93.5" stroke-width="11"/>
|
|
23
|
-
<path d="M105 35.5 73 56.5M111 64H74M105 92.5 73 71.5" stroke-width="9"/>
|
|
24
|
-
</g>
|
|
25
|
-
<circle cx="66" cy="64" r="10" fill="#42E8B4"/>
|
|
26
|
-
<circle cx="66" cy="64" r="3.5" fill="#091512"/>
|
|
27
|
-
</g>
|
|
28
|
-
<text x="300" y="258" fill="#F2F7F5" font-family="Lato, 'Helvetica Neue', Arial, sans-serif" font-size="128" font-weight="500" letter-spacing="-5">evol</text>
|
|
29
|
-
<text x="535" y="258" fill="#F2F7F5" font-family="Lato, 'Helvetica Neue', Arial, sans-serif" font-size="128" font-weight="800" letter-spacing="-5">core</text>
|
|
30
|
-
<text x="92" y="380" fill="#42E8B4" font-family="Lato, Arial, sans-serif" font-size="17" font-weight="700" letter-spacing="4">ONE CONNECTION LAYER</text>
|
|
31
|
-
<text x="1012" y="380" text-anchor="end" fill="#7E928B" font-family="Lato, Arial, sans-serif" font-size="14" font-weight="700" letter-spacing="3">AI AGENT INFRASTRUCTURE</text>
|
|
32
|
-
</g>
|
|
33
|
-
|
|
34
|
-
<g transform="translate(1200 96)">
|
|
35
|
-
<rect width="648" height="438" rx="18" fill="#E9F0ED"/>
|
|
36
|
-
<text x="42" y="52" fill="#66756F" font-family="Lato, Arial, sans-serif" font-size="13" font-weight="700" letter-spacing="3">01 / THE MARK</text>
|
|
37
|
-
<g transform="translate(186 70) scale(2.25)">
|
|
38
|
-
<circle cx="64" cy="64" r="48" fill="none" stroke="#B8C8C2" stroke-width=".8" stroke-dasharray="3 3"/>
|
|
39
|
-
<path d="M64 9V119M9 64H119" stroke="#B8C8C2" stroke-width=".8"/>
|
|
40
|
-
<g fill="none" stroke="#091512" stroke-linecap="round" stroke-linejoin="round">
|
|
41
|
-
<path d="M91 34.5A39 39 0 1 0 91 93.5" stroke-width="11"/>
|
|
42
|
-
<path d="M105 35.5 73 56.5M111 64H74M105 92.5 73 71.5" stroke-width="9"/>
|
|
43
|
-
</g>
|
|
44
|
-
<circle cx="66" cy="64" r="10" fill="#42E8B4"/>
|
|
45
|
-
<circle cx="66" cy="64" r="3.5" fill="#091512"/>
|
|
46
|
-
</g>
|
|
47
|
-
<text x="42" y="396" fill="#091512" font-family="Lato, Arial, sans-serif" font-size="17" font-weight="700" letter-spacing="1.6">CHANNELS → CORE → CONTINUITY</text>
|
|
48
|
-
</g>
|
|
49
|
-
|
|
50
|
-
<g transform="translate(72 558)">
|
|
51
|
-
<rect width="420" height="570" rx="18" fill="#42E8B4"/>
|
|
52
|
-
<text x="34" y="48" fill="#091512" font-family="Lato, Arial, sans-serif" font-size="13" font-weight="800" letter-spacing="3">02 / APP ICON</text>
|
|
53
|
-
<g filter="url(#shadow)" transform="translate(66 112)">
|
|
54
|
-
<rect width="288" height="288" rx="66" fill="#091512"/>
|
|
55
|
-
<g transform="translate(54 54) scale(1.4)">
|
|
56
|
-
<g fill="none" stroke="#F2F7F5" stroke-linecap="round" stroke-linejoin="round">
|
|
57
|
-
<path d="M91 34.5A39 39 0 1 0 91 93.5" stroke-width="11"/>
|
|
58
|
-
<path d="M105 35.5 73 56.5M111 64H74M105 92.5 73 71.5" stroke-width="9"/>
|
|
59
|
-
</g>
|
|
60
|
-
<circle cx="66" cy="64" r="10" fill="#42E8B4"/>
|
|
61
|
-
<circle cx="66" cy="64" r="3.5" fill="#091512"/>
|
|
62
|
-
</g>
|
|
63
|
-
</g>
|
|
64
|
-
<text x="34" y="506" fill="#091512" font-family="Lato, Arial, sans-serif" font-size="42" font-weight="800" letter-spacing="-1">Recognizable</text>
|
|
65
|
-
<text x="34" y="536" fill="#315C4E" font-family="Lato, Arial, sans-serif" font-size="16" font-weight="700" letter-spacing="2">AT 16 PX AND BEYOND</text>
|
|
66
|
-
</g>
|
|
67
|
-
|
|
68
|
-
<g transform="translate(516 558)">
|
|
69
|
-
<rect width="660" height="276" rx="18" fill="#101D19"/>
|
|
70
|
-
<text x="34" y="48" fill="#7E928B" font-family="Lato, Arial, sans-serif" font-size="13" font-weight="700" letter-spacing="3">03 / COLOR SYSTEM</text>
|
|
71
|
-
<g transform="translate(34 82)">
|
|
72
|
-
<rect width="182" height="128" rx="10" fill="#091512" stroke="#294038"/>
|
|
73
|
-
<rect x="198" width="182" height="128" rx="10" fill="#42E8B4"/>
|
|
74
|
-
<rect x="396" width="182" height="128" rx="10" fill="#F2F7F5"/>
|
|
75
|
-
<text x="16" y="98" fill="#F2F7F5" font-family="Lato, Arial, sans-serif" font-size="16" font-weight="800">CORE</text>
|
|
76
|
-
<text x="16" y="118" fill="#7E928B" font-family="Lato, Arial, sans-serif" font-size="12" font-weight="700" letter-spacing="1">#091512</text>
|
|
77
|
-
<text x="214" y="98" fill="#091512" font-family="Lato, Arial, sans-serif" font-size="16" font-weight="800">SIGNAL</text>
|
|
78
|
-
<text x="214" y="118" fill="#315C4E" font-family="Lato, Arial, sans-serif" font-size="12" font-weight="700" letter-spacing="1">#42E8B4</text>
|
|
79
|
-
<text x="412" y="98" fill="#091512" font-family="Lato, Arial, sans-serif" font-size="16" font-weight="800">CLOUD</text>
|
|
80
|
-
<text x="412" y="118" fill="#66756F" font-family="Lato, Arial, sans-serif" font-size="12" font-weight="700" letter-spacing="1">#F2F7F5</text>
|
|
81
|
-
</g>
|
|
82
|
-
</g>
|
|
83
|
-
|
|
84
|
-
<g transform="translate(516 858)">
|
|
85
|
-
<rect width="660" height="270" rx="18" fill="#E9F0ED"/>
|
|
86
|
-
<text x="34" y="48" fill="#66756F" font-family="Lato, Arial, sans-serif" font-size="13" font-weight="700" letter-spacing="3">04 / TYPOGRAPHY</text>
|
|
87
|
-
<text x="34" y="142" fill="#091512" font-family="Lato, Arial, sans-serif" font-size="78" font-weight="500" letter-spacing="-3">evol</text>
|
|
88
|
-
<text x="186" y="142" fill="#091512" font-family="Lato, Arial, sans-serif" font-size="78" font-weight="800" letter-spacing="-3">core</text>
|
|
89
|
-
<text x="34" y="202" fill="#091512" font-family="Lato, Arial, sans-serif" font-size="24" font-weight="700" letter-spacing="5">AGENT CONNECTION LAYER</text>
|
|
90
|
-
<text x="34" y="236" fill="#66756F" font-family="DejaVu Sans Mono, monospace" font-size="14">gateway.connect(agent, channel)</text>
|
|
91
|
-
</g>
|
|
92
|
-
|
|
93
|
-
<g transform="translate(1200 558)">
|
|
94
|
-
<rect width="648" height="570" rx="18" fill="#0B1713"/>
|
|
95
|
-
<rect width="648" height="570" rx="18" fill="url(#grid)" opacity=".8"/>
|
|
96
|
-
<text x="34" y="48" fill="#7E928B" font-family="Lato, Arial, sans-serif" font-size="13" font-weight="700" letter-spacing="3">05 / PRODUCT SURFACE</text>
|
|
97
|
-
<g transform="translate(48 86)" filter="url(#shadow)">
|
|
98
|
-
<rect width="552" height="358" rx="18" fill="#E9F0ED"/>
|
|
99
|
-
<path d="M0 64H552" stroke="#C7D3CE"/>
|
|
100
|
-
<circle cx="28" cy="32" r="6" fill="#FD6A5E"/>
|
|
101
|
-
<circle cx="48" cy="32" r="6" fill="#F6C451"/>
|
|
102
|
-
<circle cx="68" cy="32" r="6" fill="#42E8B4"/>
|
|
103
|
-
<rect x="112" y="19" width="328" height="26" rx="13" fill="#D6E0DC"/>
|
|
104
|
-
<text x="276" y="37" text-anchor="middle" fill="#66756F" font-family="DejaVu Sans Mono, monospace" font-size="10">core.evol.ai</text>
|
|
105
|
-
<g transform="translate(28 90) scale(.42)">
|
|
106
|
-
<g fill="none" stroke="#091512" stroke-linecap="round" stroke-linejoin="round">
|
|
107
|
-
<path d="M91 34.5A39 39 0 1 0 91 93.5" stroke-width="11"/>
|
|
108
|
-
<path d="M105 35.5 73 56.5M111 64H74M105 92.5 73 71.5" stroke-width="9"/>
|
|
109
|
-
</g>
|
|
110
|
-
<circle cx="66" cy="64" r="10" fill="#42E8B4"/>
|
|
111
|
-
<circle cx="66" cy="64" r="3.5" fill="#091512"/>
|
|
112
|
-
</g>
|
|
113
|
-
<text x="90" y="125" fill="#091512" font-family="Lato, Arial, sans-serif" font-size="24" font-weight="800">evolcore</text>
|
|
114
|
-
<text x="28" y="182" fill="#66756F" font-family="Lato, Arial, sans-serif" font-size="14" font-weight="700" letter-spacing="2">CONNECTED AGENTS</text>
|
|
115
|
-
<text x="28" y="226" fill="#091512" font-family="Lato, Arial, sans-serif" font-size="42" font-weight="800">12</text>
|
|
116
|
-
<text x="206" y="182" fill="#66756F" font-family="Lato, Arial, sans-serif" font-size="14" font-weight="700" letter-spacing="2">CHANNELS</text>
|
|
117
|
-
<text x="206" y="226" fill="#091512" font-family="Lato, Arial, sans-serif" font-size="42" font-weight="800">06</text>
|
|
118
|
-
<rect x="28" y="270" width="496" height="54" rx="12" fill="#091512"/>
|
|
119
|
-
<circle cx="54" cy="297" r="7" fill="#42E8B4"/>
|
|
120
|
-
<text x="76" y="302" fill="#F2F7F5" font-family="DejaVu Sans Mono, monospace" font-size="13">all systems connected</text>
|
|
121
|
-
<text x="496" y="302" text-anchor="end" fill="#42E8B4" font-family="DejaVu Sans Mono, monospace" font-size="12">LIVE</text>
|
|
122
|
-
</g>
|
|
123
|
-
<text x="48" y="500" fill="#F2F7F5" font-family="Lato, Arial, sans-serif" font-size="34" font-weight="800">Many paths.</text>
|
|
124
|
-
<text x="48" y="540" fill="#42E8B4" font-family="Lato, Arial, sans-serif" font-size="34" font-weight="800">One evolving core.</text>
|
|
125
|
-
</g>
|
|
126
|
-
</svg>
|
|
Binary file
|
|
Binary file
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 240" role="img" aria-labelledby="title desc">
|
|
2
|
-
<title id="title">Evolcore reverse logo</title>
|
|
3
|
-
<desc id="desc">White Evolcore wordmark for dark backgrounds.</desc>
|
|
4
|
-
<g transform="translate(36 38) scale(1.28)">
|
|
5
|
-
<g fill="none" stroke="#F2F7F5" stroke-linecap="round" stroke-linejoin="round">
|
|
6
|
-
<path d="M91 34.5A39 39 0 1 0 91 93.5" stroke-width="11"/>
|
|
7
|
-
<path d="M105 35.5 73 56.5M111 64H74M105 92.5 73 71.5" stroke-width="9"/>
|
|
8
|
-
</g>
|
|
9
|
-
<circle cx="66" cy="64" r="10" fill="#42E8B4"/>
|
|
10
|
-
<circle cx="66" cy="64" r="3.5" fill="#091512"/>
|
|
11
|
-
</g>
|
|
12
|
-
<text x="215" y="153" fill="#F2F7F5" font-family="Lato, 'Helvetica Neue', Arial, sans-serif" font-size="112" font-weight="500" letter-spacing="-4">evol</text>
|
|
13
|
-
<text x="421" y="153" fill="#F2F7F5" font-family="Lato, 'Helvetica Neue', Arial, sans-serif" font-size="112" font-weight="800" letter-spacing="-4">core</text>
|
|
14
|
-
</svg>
|
|
Binary file
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 240" role="img" aria-labelledby="title desc">
|
|
2
|
-
<title id="title">Evolcore logo</title>
|
|
3
|
-
<desc id="desc">Evolcore wordmark with a connected core symbol.</desc>
|
|
4
|
-
<g transform="translate(36 38) scale(1.28)">
|
|
5
|
-
<g fill="none" stroke="#091512" stroke-linecap="round" stroke-linejoin="round">
|
|
6
|
-
<path d="M91 34.5A39 39 0 1 0 91 93.5" stroke-width="11"/>
|
|
7
|
-
<path d="M105 35.5 73 56.5M111 64H74M105 92.5 73 71.5" stroke-width="9"/>
|
|
8
|
-
</g>
|
|
9
|
-
<circle cx="66" cy="64" r="10" fill="#42E8B4"/>
|
|
10
|
-
<circle cx="66" cy="64" r="3.5" fill="#091512"/>
|
|
11
|
-
</g>
|
|
12
|
-
<text x="215" y="153" fill="#091512" font-family="Lato, 'Helvetica Neue', Arial, sans-serif" font-size="112" font-weight="500" letter-spacing="-4">evol</text>
|
|
13
|
-
<text x="421" y="153" fill="#091512" font-family="Lato, 'Helvetica Neue', Arial, sans-serif" font-size="112" font-weight="800" letter-spacing="-4">core</text>
|
|
14
|
-
</svg>
|
|
Binary file
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" role="img" aria-labelledby="title desc">
|
|
2
|
-
<title id="title">Evolcore symbol</title>
|
|
3
|
-
<desc id="desc">Three signal paths converge into a core inside an open circular form.</desc>
|
|
4
|
-
<g fill="none" stroke="#091512" stroke-linecap="round" stroke-linejoin="round">
|
|
5
|
-
<path d="M91 34.5A39 39 0 1 0 91 93.5" stroke-width="11"/>
|
|
6
|
-
<path d="M105 35.5 73 56.5M111 64H74M105 92.5 73 71.5" stroke-width="9"/>
|
|
7
|
-
</g>
|
|
8
|
-
<circle cx="66" cy="64" r="10" fill="#42E8B4"/>
|
|
9
|
-
<circle cx="66" cy="64" r="3.5" fill="#091512"/>
|
|
10
|
-
</svg>
|