agentme 0.30.1 → 0.30.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.
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 560" font-family="'Segoe UI', system-ui, sans-serif">
|
|
2
|
+
<!-- Background -->
|
|
3
|
+
<rect width="900" height="560" fill="#f8f9fa" rx="8"/>
|
|
4
|
+
|
|
5
|
+
<!-- Title -->
|
|
6
|
+
<text x="450" y="38" text-anchor="middle" font-size="18" font-weight="700" fill="#1a1a2e">Pragmatic Hexagonal Architecture</text>
|
|
7
|
+
<text x="450" y="58" text-anchor="middle" font-size="12" fill="#6b7280">agentme-edr-126</text>
|
|
8
|
+
|
|
9
|
+
<!-- ── EXTERNAL (left) ── -->
|
|
10
|
+
<rect x="20" y="90" width="150" height="380" rx="10" fill="#e8eaf6" stroke="#7986cb" stroke-width="1.5"/>
|
|
11
|
+
<text x="95" y="115" text-anchor="middle" font-size="13" font-weight="700" fill="#3949ab">External</text>
|
|
12
|
+
<text x="95" y="132" text-anchor="middle" font-size="10" fill="#5c6bc0">(inbound triggers)</text>
|
|
13
|
+
|
|
14
|
+
<!-- Inbound external items -->
|
|
15
|
+
<rect x="35" y="145" width="120" height="30" rx="6" fill="#c5cae9" stroke="#7986cb" stroke-width="1"/>
|
|
16
|
+
<text x="95" y="165" text-anchor="middle" font-size="12" fill="#1a237e">HTTP Client</text>
|
|
17
|
+
<rect x="35" y="185" width="120" height="30" rx="6" fill="#c5cae9" stroke="#7986cb" stroke-width="1"/>
|
|
18
|
+
<text x="95" y="205" text-anchor="middle" font-size="12" fill="#1a237e">CLI User</text>
|
|
19
|
+
<rect x="35" y="225" width="120" height="30" rx="6" fill="#c5cae9" stroke="#7986cb" stroke-width="1"/>
|
|
20
|
+
<text x="95" y="245" text-anchor="middle" font-size="12" fill="#1a237e">Kafka Topic</text>
|
|
21
|
+
<rect x="35" y="265" width="120" height="30" rx="6" fill="#c5cae9" stroke="#7986cb" stroke-width="1"/>
|
|
22
|
+
<text x="95" y="285" text-anchor="middle" font-size="12" fill="#1a237e">gRPC Client</text>
|
|
23
|
+
<rect x="35" y="305" width="120" height="30" rx="6" fill="#c5cae9" stroke="#7986cb" stroke-width="1"/>
|
|
24
|
+
<text x="95" y="325" text-anchor="middle" font-size="12" fill="#1a237e">WebSocket</text>
|
|
25
|
+
|
|
26
|
+
<!-- ── EXTERNAL (right) ── -->
|
|
27
|
+
<rect x="730" y="90" width="150" height="380" rx="10" fill="#fce4ec" stroke="#e57373" stroke-width="1.5"/>
|
|
28
|
+
<text x="805" y="115" text-anchor="middle" font-size="13" font-weight="700" fill="#c62828">External</text>
|
|
29
|
+
<text x="805" y="132" text-anchor="middle" font-size="10" fill="#e53935">(outbound targets)</text>
|
|
30
|
+
|
|
31
|
+
<!-- Outbound external items -->
|
|
32
|
+
<rect x="745" y="145" width="120" height="30" rx="6" fill="#f8bbd9" stroke="#e57373" stroke-width="1"/>
|
|
33
|
+
<text x="805" y="165" text-anchor="middle" font-size="12" fill="#880e4f">PostgreSQL</text>
|
|
34
|
+
<rect x="745" y="185" width="120" height="30" rx="6" fill="#f8bbd9" stroke="#e57373" stroke-width="1"/>
|
|
35
|
+
<text x="805" y="205" text-anchor="middle" font-size="12" fill="#880e4f">Stripe API</text>
|
|
36
|
+
<rect x="745" y="225" width="120" height="30" rx="6" fill="#f8bbd9" stroke="#e57373" stroke-width="1"/>
|
|
37
|
+
<text x="805" y="245" text-anchor="middle" font-size="12" fill="#880e4f">S3 / Storage</text>
|
|
38
|
+
<rect x="745" y="265" width="120" height="30" rx="6" fill="#f8bbd9" stroke="#e57373" stroke-width="1"/>
|
|
39
|
+
<text x="805" y="285" text-anchor="middle" font-size="12" fill="#880e4f">Redis Cache</text>
|
|
40
|
+
<rect x="745" y="305" width="120" height="30" rx="6" fill="#f8bbd9" stroke="#e57373" stroke-width="1"/>
|
|
41
|
+
<text x="805" y="325" text-anchor="middle" font-size="12" fill="#880e4f">WhatsApp API</text>
|
|
42
|
+
|
|
43
|
+
<!-- ── ADAPTERS (inbound) ── -->
|
|
44
|
+
<rect x="195" y="90" width="155" height="380" rx="10" fill="#e8f5e9" stroke="#66bb6a" stroke-width="1.5"/>
|
|
45
|
+
<text x="272" y="115" text-anchor="middle" font-size="13" font-weight="700" fill="#2e7d32">Adapters</text>
|
|
46
|
+
<text x="272" y="132" text-anchor="middle" font-size="10" fill="#388e3c">(inbound)</text>
|
|
47
|
+
|
|
48
|
+
<!-- Inbound adapters -->
|
|
49
|
+
<rect x="210" y="145" width="125" height="30" rx="6" fill="#c8e6c9" stroke="#66bb6a" stroke-width="1"/>
|
|
50
|
+
<text x="272" y="165" text-anchor="middle" font-size="12" fill="#1b5e20">adapters/http/</text>
|
|
51
|
+
<rect x="210" y="185" width="125" height="30" rx="6" fill="#c8e6c9" stroke="#66bb6a" stroke-width="1"/>
|
|
52
|
+
<text x="272" y="205" text-anchor="middle" font-size="12" fill="#1b5e20">adapters/cli/</text>
|
|
53
|
+
<rect x="210" y="225" width="125" height="30" rx="6" fill="#c8e6c9" stroke="#66bb6a" stroke-width="1"/>
|
|
54
|
+
<text x="272" y="245" text-anchor="middle" font-size="12" fill="#1b5e20">adapters/kafka/</text>
|
|
55
|
+
<rect x="210" y="265" width="125" height="30" rx="6" fill="#c8e6c9" stroke="#66bb6a" stroke-width="1"/>
|
|
56
|
+
<text x="272" y="285" text-anchor="middle" font-size="12" fill="#1b5e20">adapters/grpc/</text>
|
|
57
|
+
<rect x="210" y="305" width="125" height="30" rx="6" fill="#c8e6c9" stroke="#66bb6a" stroke-width="1"/>
|
|
58
|
+
<text x="272" y="325" text-anchor="middle" font-size="12" fill="#1b5e20">adapters/ws/</text>
|
|
59
|
+
|
|
60
|
+
<!-- ── ADAPTERS (outbound/connectors) ── -->
|
|
61
|
+
<rect x="550" y="90" width="155" height="380" rx="10" fill="#fff3e0" stroke="#ffa726" stroke-width="1.5"/>
|
|
62
|
+
<text x="627" y="115" text-anchor="middle" font-size="13" font-weight="700" fill="#e65100">Adapters</text>
|
|
63
|
+
<text x="627" y="132" text-anchor="middle" font-size="10" fill="#ef6c00">(outbound connectors)</text>
|
|
64
|
+
|
|
65
|
+
<!-- Outbound connectors -->
|
|
66
|
+
<rect x="565" y="145" width="125" height="30" rx="6" fill="#ffe0b2" stroke="#ffa726" stroke-width="1"/>
|
|
67
|
+
<text x="627" y="162" text-anchor="middle" font-size="10" fill="#bf360c">connectors/</text>
|
|
68
|
+
<text x="627" y="173" text-anchor="middle" font-size="10" fill="#bf360c">postgres/</text>
|
|
69
|
+
<rect x="565" y="185" width="125" height="30" rx="6" fill="#ffe0b2" stroke="#ffa726" stroke-width="1"/>
|
|
70
|
+
<text x="627" y="202" text-anchor="middle" font-size="10" fill="#bf360c">connectors/</text>
|
|
71
|
+
<text x="627" y="213" text-anchor="middle" font-size="10" fill="#bf360c">stripe-api/</text>
|
|
72
|
+
<rect x="565" y="225" width="125" height="30" rx="6" fill="#ffe0b2" stroke="#ffa726" stroke-width="1"/>
|
|
73
|
+
<text x="627" y="242" text-anchor="middle" font-size="10" fill="#bf360c">connectors/</text>
|
|
74
|
+
<text x="627" y="253" text-anchor="middle" font-size="10" fill="#bf360c">s3-datalake/</text>
|
|
75
|
+
<rect x="565" y="265" width="125" height="30" rx="6" fill="#ffe0b2" stroke="#ffa726" stroke-width="1"/>
|
|
76
|
+
<text x="627" y="282" text-anchor="middle" font-size="10" fill="#bf360c">connectors/</text>
|
|
77
|
+
<text x="627" y="293" text-anchor="middle" font-size="10" fill="#bf360c">redis-cache/</text>
|
|
78
|
+
<rect x="565" y="305" width="125" height="30" rx="6" fill="#ffe0b2" stroke="#ffa726" stroke-width="1"/>
|
|
79
|
+
<text x="627" y="322" text-anchor="middle" font-size="10" fill="#bf360c">connectors/</text>
|
|
80
|
+
<text x="627" y="333" text-anchor="middle" font-size="10" fill="#bf360c">whatsapp/</text>
|
|
81
|
+
|
|
82
|
+
<!-- ── APPLICATION (center) ── -->
|
|
83
|
+
<rect x="375" y="90" width="150" height="380" rx="12" fill="#e3f2fd" stroke="#42a5f5" stroke-width="2"/>
|
|
84
|
+
<text x="450" y="118" text-anchor="middle" font-size="14" font-weight="700" fill="#0d47a1">Application</text>
|
|
85
|
+
<text x="450" y="135" text-anchor="middle" font-size="10" fill="#1565c0">(business logic)</text>
|
|
86
|
+
|
|
87
|
+
<!-- App items -->
|
|
88
|
+
<rect x="390" y="148" width="120" height="28" rx="6" fill="#bbdefb" stroke="#42a5f5" stroke-width="1"/>
|
|
89
|
+
<text x="450" y="166" text-anchor="middle" font-size="11" fill="#0d47a1">app/create-user</text>
|
|
90
|
+
<rect x="390" y="185" width="120" height="28" rx="6" fill="#bbdefb" stroke="#42a5f5" stroke-width="1"/>
|
|
91
|
+
<text x="450" y="203" text-anchor="middle" font-size="11" fill="#0d47a1">app/process-event</text>
|
|
92
|
+
<rect x="390" y="222" width="120" height="28" rx="6" fill="#bbdefb" stroke="#42a5f5" stroke-width="1"/>
|
|
93
|
+
<text x="450" y="240" text-anchor="middle" font-size="11" fill="#0d47a1">app/feature-group/</text>
|
|
94
|
+
<rect x="390" y="259" width="120" height="28" rx="6" fill="#bbdefb" stroke="#42a5f5" stroke-width="1"/>
|
|
95
|
+
<text x="450" y="277" text-anchor="middle" font-size="11" fill="#0d47a1">app/create-dir</text>
|
|
96
|
+
|
|
97
|
+
<!-- Shared -->
|
|
98
|
+
<rect x="390" y="305" width="120" height="45" rx="6" fill="#e1f5fe" stroke="#29b6f6" stroke-width="1" stroke-dasharray="5,3"/>
|
|
99
|
+
<text x="450" y="325" text-anchor="middle" font-size="11" font-weight="600" fill="#01579b">shared/</text>
|
|
100
|
+
<text x="450" y="340" text-anchor="middle" font-size="10" fill="#0277bd">logging, errors…</text>
|
|
101
|
+
|
|
102
|
+
<!-- ── ARROWS: External → Inbound Adapters ── -->
|
|
103
|
+
<defs>
|
|
104
|
+
<marker id="arrow-in" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto">
|
|
105
|
+
<path d="M0,0 L0,6 L8,3 z" fill="#388e3c"/>
|
|
106
|
+
</marker>
|
|
107
|
+
<marker id="arrow-out" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto">
|
|
108
|
+
<path d="M0,0 L0,6 L8,3 z" fill="#e65100"/>
|
|
109
|
+
</marker>
|
|
110
|
+
<marker id="arrow-app-in" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto">
|
|
111
|
+
<path d="M0,0 L0,6 L8,3 z" fill="#0d47a1"/>
|
|
112
|
+
</marker>
|
|
113
|
+
<marker id="arrow-app-out" markerWidth="8" markerHeight="8" refX="6" refY="3" orient="auto">
|
|
114
|
+
<path d="M0,0 L0,6 L8,3 z" fill="#0d47a1"/>
|
|
115
|
+
</marker>
|
|
116
|
+
</defs>
|
|
117
|
+
|
|
118
|
+
<!-- External(L) → Inbound Adapters -->
|
|
119
|
+
<line x1="170" y1="160" x2="208" y2="160" stroke="#388e3c" stroke-width="1.5" marker-end="url(#arrow-in)"/>
|
|
120
|
+
<line x1="170" y1="200" x2="208" y2="200" stroke="#388e3c" stroke-width="1.5" marker-end="url(#arrow-in)"/>
|
|
121
|
+
<line x1="170" y1="240" x2="208" y2="240" stroke="#388e3c" stroke-width="1.5" marker-end="url(#arrow-in)"/>
|
|
122
|
+
<line x1="170" y1="280" x2="208" y2="280" stroke="#388e3c" stroke-width="1.5" marker-end="url(#arrow-in)"/>
|
|
123
|
+
<line x1="170" y1="320" x2="208" y2="320" stroke="#388e3c" stroke-width="1.5" marker-end="url(#arrow-in)"/>
|
|
124
|
+
|
|
125
|
+
<!-- Inbound Adapters → Application -->
|
|
126
|
+
<line x1="350" y1="160" x2="373" y2="162" stroke="#0d47a1" stroke-width="1.5" marker-end="url(#arrow-app-in)"/>
|
|
127
|
+
<line x1="350" y1="200" x2="373" y2="198" stroke="#0d47a1" stroke-width="1.5" marker-end="url(#arrow-app-in)"/>
|
|
128
|
+
<line x1="350" y1="240" x2="373" y2="236" stroke="#0d47a1" stroke-width="1.5" marker-end="url(#arrow-app-in)"/>
|
|
129
|
+
<line x1="350" y1="280" x2="373" y2="270" stroke="#0d47a1" stroke-width="1.5" marker-end="url(#arrow-app-in)"/>
|
|
130
|
+
|
|
131
|
+
<!-- Application → Outbound Connectors -->
|
|
132
|
+
<line x1="527" y1="162" x2="563" y2="160" stroke="#e65100" stroke-width="1.5" marker-end="url(#arrow-out)"/>
|
|
133
|
+
<line x1="527" y1="198" x2="563" y2="200" stroke="#e65100" stroke-width="1.5" marker-end="url(#arrow-out)"/>
|
|
134
|
+
<line x1="527" y1="236" x2="563" y2="240" stroke="#e65100" stroke-width="1.5" marker-end="url(#arrow-out)"/>
|
|
135
|
+
<line x1="527" y1="270" x2="563" y2="280" stroke="#e65100" stroke-width="1.5" marker-end="url(#arrow-out)"/>
|
|
136
|
+
|
|
137
|
+
<!-- Outbound Connectors → External(R) -->
|
|
138
|
+
<line x1="690" y1="160" x2="743" y2="160" stroke="#e65100" stroke-width="1.5" marker-end="url(#arrow-out)"/>
|
|
139
|
+
<line x1="690" y1="200" x2="743" y2="200" stroke="#e65100" stroke-width="1.5" marker-end="url(#arrow-out)"/>
|
|
140
|
+
<line x1="690" y1="240" x2="743" y2="240" stroke="#e65100" stroke-width="1.5" marker-end="url(#arrow-out)"/>
|
|
141
|
+
<line x1="690" y1="280" x2="743" y2="280" stroke="#e65100" stroke-width="1.5" marker-end="url(#arrow-out)"/>
|
|
142
|
+
<line x1="690" y1="320" x2="743" y2="320" stroke="#e65100" stroke-width="1.5" marker-end="url(#arrow-out)"/>
|
|
143
|
+
|
|
144
|
+
<!-- ── LEGEND / LABELS ── -->
|
|
145
|
+
<line x1="200" y1="490" x2="240" y2="490" stroke="#388e3c" stroke-width="2" marker-end="url(#arrow-in)"/>
|
|
146
|
+
<text x="248" y="494" font-size="11" fill="#333">inbound trigger</text>
|
|
147
|
+
<line x1="370" y1="490" x2="410" y2="490" stroke="#0d47a1" stroke-width="2" marker-end="url(#arrow-app-in)"/>
|
|
148
|
+
<text x="418" y="494" font-size="11" fill="#333">app call</text>
|
|
149
|
+
<line x1="520" y1="490" x2="560" y2="490" stroke="#e65100" stroke-width="2" marker-end="url(#arrow-out)"/>
|
|
150
|
+
<text x="568" y="494" font-size="11" fill="#333">outbound call</text>
|
|
151
|
+
|
|
152
|
+
<!-- Pragma note -->
|
|
153
|
+
<rect x="280" y="460" width="340" height="22" rx="4" fill="none" stroke="#bdbdbd" stroke-width="1" stroke-dasharray="4,2"/>
|
|
154
|
+
<text x="450" y="475" text-anchor="middle" font-size="10" fill="#757575">Application MAY import Adapters — pragmatic coupling is accepted</text>
|
|
155
|
+
</svg>
|
|
@@ -29,6 +29,8 @@ Every application MUST be organized into these three conceptual layers:
|
|
|
29
29
|
| **Adapters** | Bridge between External and Application — translate external protocols into application calls and vice versa |
|
|
30
30
|
| **Application** | Business logic that delegates I/O to adapters |
|
|
31
31
|
|
|
32
|
+

|
|
33
|
+
|
|
32
34
|
#### 02-adapter-naming-conventions
|
|
33
35
|
|
|
34
36
|
Adapters MUST follow these naming conventions:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentme",
|
|
3
|
-
"version": "0.30.
|
|
3
|
+
"version": "0.30.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"filedist": "^0.39.0"
|
|
@@ -18,6 +18,6 @@
|
|
|
18
18
|
"url": "https://github.com/flaviostutz/agentme.git"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"xdrs-core": "^0.
|
|
21
|
+
"xdrs-core": "^0.46.2"
|
|
22
22
|
}
|
|
23
23
|
}
|