agentme 0.30.1 → 0.30.2

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
+ ![Overview](.assets/126-overview.svg)
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.1",
3
+ "version": "0.30.2",
4
4
  "description": "",
5
5
  "dependencies": {
6
6
  "filedist": "^0.39.0"