callman-core 1.27.0 → 1.28.1

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.
Files changed (186) hide show
  1. package/ai-packs/db-queries.md +10 -1
  2. package/ai-packs/diagram-components.md +373 -0
  3. package/ai-packs/scenario-nodes.md +451 -0
  4. package/dist/ai/index.d.ts +1 -0
  5. package/dist/ai/index.d.ts.map +1 -1
  6. package/dist/ai/index.js +1 -0
  7. package/dist/ai/index.js.map +1 -1
  8. package/dist/ai/prompts/scenario.d.ts.map +1 -1
  9. package/dist/ai/prompts/scenario.js +9 -8
  10. package/dist/ai/prompts/scenario.js.map +1 -1
  11. package/dist/ai/prompts/scenarioNodeReference.d.ts +16 -0
  12. package/dist/ai/prompts/scenarioNodeReference.d.ts.map +1 -0
  13. package/dist/ai/prompts/scenarioNodeReference.js +882 -0
  14. package/dist/ai/prompts/scenarioNodeReference.js.map +1 -0
  15. package/dist/curl/bodyFormat.d.ts +4 -0
  16. package/dist/curl/bodyFormat.d.ts.map +1 -0
  17. package/dist/curl/bodyFormat.js +80 -0
  18. package/dist/curl/bodyFormat.js.map +1 -0
  19. package/dist/curl/index.d.ts +5 -0
  20. package/dist/curl/index.d.ts.map +1 -0
  21. package/dist/curl/index.js +4 -0
  22. package/dist/curl/index.js.map +1 -0
  23. package/dist/curl/parseCurl.d.ts +4 -0
  24. package/dist/curl/parseCurl.d.ts.map +1 -0
  25. package/dist/curl/parseCurl.js +288 -0
  26. package/dist/curl/parseCurl.js.map +1 -0
  27. package/dist/curl/rows.d.ts +6 -0
  28. package/dist/curl/rows.d.ts.map +1 -0
  29. package/dist/curl/rows.js +23 -0
  30. package/dist/curl/rows.js.map +1 -0
  31. package/dist/curl/types.d.ts +21 -0
  32. package/dist/curl/types.d.ts.map +1 -0
  33. package/dist/curl/types.js +6 -0
  34. package/dist/curl/types.js.map +1 -0
  35. package/dist/diagram/componentCatalog.d.ts +31 -0
  36. package/dist/diagram/componentCatalog.d.ts.map +1 -0
  37. package/dist/diagram/componentCatalog.data.d.ts +3 -0
  38. package/dist/diagram/componentCatalog.data.d.ts.map +1 -0
  39. package/dist/diagram/componentCatalog.data.js +287 -0
  40. package/dist/diagram/componentCatalog.data.js.map +1 -0
  41. package/dist/diagram/componentCatalog.js +71 -0
  42. package/dist/diagram/componentCatalog.js.map +1 -0
  43. package/dist/diagram/edgeSemantics.d.ts +28 -0
  44. package/dist/diagram/edgeSemantics.d.ts.map +1 -0
  45. package/dist/diagram/edgeSemantics.js +78 -0
  46. package/dist/diagram/edgeSemantics.js.map +1 -0
  47. package/dist/diagram/elkGraph.d.ts +80 -0
  48. package/dist/diagram/elkGraph.d.ts.map +1 -0
  49. package/dist/diagram/elkGraph.js +283 -0
  50. package/dist/diagram/elkGraph.js.map +1 -0
  51. package/dist/diagram/index.d.ts +7 -0
  52. package/dist/diagram/index.d.ts.map +1 -0
  53. package/dist/diagram/index.js +13 -0
  54. package/dist/diagram/index.js.map +1 -0
  55. package/dist/diagram/migrations.d.ts +3 -0
  56. package/dist/diagram/migrations.d.ts.map +1 -0
  57. package/dist/diagram/migrations.js +33 -0
  58. package/dist/diagram/migrations.js.map +1 -0
  59. package/dist/diagram/normalize.d.ts +4 -0
  60. package/dist/diagram/normalize.d.ts.map +1 -0
  61. package/dist/diagram/normalize.js +68 -0
  62. package/dist/diagram/normalize.js.map +1 -0
  63. package/dist/diagram/schema.d.ts +116 -0
  64. package/dist/diagram/schema.d.ts.map +1 -0
  65. package/dist/diagram/schema.js +135 -0
  66. package/dist/diagram/schema.js.map +1 -0
  67. package/dist/http-file/detect.d.ts +12 -0
  68. package/dist/http-file/detect.d.ts.map +1 -0
  69. package/dist/http-file/detect.js +108 -0
  70. package/dist/http-file/detect.js.map +1 -0
  71. package/dist/http-file/flatImport.d.ts +33 -0
  72. package/dist/http-file/flatImport.d.ts.map +1 -0
  73. package/dist/http-file/flatImport.js +102 -0
  74. package/dist/http-file/flatImport.js.map +1 -0
  75. package/dist/http-file/index.d.ts +4 -0
  76. package/dist/http-file/index.d.ts.map +1 -0
  77. package/dist/http-file/index.js +7 -0
  78. package/dist/http-file/index.js.map +1 -0
  79. package/dist/http-file/parseHttpFile.d.ts +13 -0
  80. package/dist/http-file/parseHttpFile.d.ts.map +1 -0
  81. package/dist/http-file/parseHttpFile.js +154 -0
  82. package/dist/http-file/parseHttpFile.js.map +1 -0
  83. package/dist/index.d.ts +4 -0
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +8 -0
  86. package/dist/index.js.map +1 -1
  87. package/dist/request/requestBody.d.ts +55 -0
  88. package/dist/request/requestBody.d.ts.map +1 -0
  89. package/dist/request/requestBody.js +198 -0
  90. package/dist/request/requestBody.js.map +1 -0
  91. package/dist/runner/requestRunner.d.ts.map +1 -1
  92. package/dist/runner/requestRunner.js +127 -43
  93. package/dist/runner/requestRunner.js.map +1 -1
  94. package/dist/runner/runCollection.d.ts +1 -1
  95. package/dist/runner/runCollection.d.ts.map +1 -1
  96. package/dist/runner/runCollection.js +9 -2
  97. package/dist/runner/runCollection.js.map +1 -1
  98. package/dist/scenario-runner/adapters/helpers/request-helpers.d.ts +2 -1
  99. package/dist/scenario-runner/adapters/helpers/request-helpers.d.ts.map +1 -1
  100. package/dist/scenario-runner/adapters/helpers/request-helpers.js +8 -40
  101. package/dist/scenario-runner/adapters/helpers/request-helpers.js.map +1 -1
  102. package/dist/scenario-runner/adapters/request-executor.d.ts.map +1 -1
  103. package/dist/scenario-runner/adapters/request-executor.js +2 -29
  104. package/dist/scenario-runner/adapters/request-executor.js.map +1 -1
  105. package/dist/scenario-runner/index.d.ts +1 -0
  106. package/dist/scenario-runner/index.d.ts.map +1 -1
  107. package/dist/scenario-runner/index.js +1 -0
  108. package/dist/scenario-runner/index.js.map +1 -1
  109. package/dist/scenario-runner/labels.d.ts +3 -0
  110. package/dist/scenario-runner/labels.d.ts.map +1 -0
  111. package/dist/scenario-runner/labels.js +20 -0
  112. package/dist/scenario-runner/labels.js.map +1 -0
  113. package/dist/scenario-runner/runScenario.d.ts.map +1 -1
  114. package/dist/scenario-runner/runScenario.js +4 -11
  115. package/dist/scenario-runner/runScenario.js.map +1 -1
  116. package/dist/script/legacy.d.ts.map +1 -1
  117. package/dist/script/legacy.js +24 -9
  118. package/dist/script/legacy.js.map +1 -1
  119. package/dist/types/index.d.ts +18 -1
  120. package/dist/types/index.d.ts.map +1 -1
  121. package/dist/variables/resolver.d.ts.map +1 -1
  122. package/dist/variables/resolver.js +27 -5
  123. package/dist/variables/resolver.js.map +1 -1
  124. package/dist-cjs/ai/index.js +4 -1
  125. package/dist-cjs/ai/index.js.map +1 -1
  126. package/dist-cjs/ai/prompts/scenario.js +9 -8
  127. package/dist-cjs/ai/prompts/scenario.js.map +1 -1
  128. package/dist-cjs/ai/prompts/scenarioNodeReference.js +886 -0
  129. package/dist-cjs/ai/prompts/scenarioNodeReference.js.map +1 -0
  130. package/dist-cjs/curl/bodyFormat.js +85 -0
  131. package/dist-cjs/curl/bodyFormat.js.map +1 -0
  132. package/dist-cjs/curl/index.js +15 -0
  133. package/dist-cjs/curl/index.js.map +1 -0
  134. package/dist-cjs/curl/parseCurl.js +293 -0
  135. package/dist-cjs/curl/parseCurl.js.map +1 -0
  136. package/dist-cjs/curl/rows.js +30 -0
  137. package/dist-cjs/curl/rows.js.map +1 -0
  138. package/dist-cjs/curl/types.js +7 -0
  139. package/dist-cjs/curl/types.js.map +1 -0
  140. package/dist-cjs/diagram/componentCatalog.data.js +290 -0
  141. package/dist-cjs/diagram/componentCatalog.data.js.map +1 -0
  142. package/dist-cjs/diagram/componentCatalog.js +79 -0
  143. package/dist-cjs/diagram/componentCatalog.js.map +1 -0
  144. package/dist-cjs/diagram/edgeSemantics.js +86 -0
  145. package/dist-cjs/diagram/edgeSemantics.js.map +1 -0
  146. package/dist-cjs/diagram/elkGraph.js +293 -0
  147. package/dist-cjs/diagram/elkGraph.js.map +1 -0
  148. package/dist-cjs/diagram/index.js +33 -0
  149. package/dist-cjs/diagram/index.js.map +1 -0
  150. package/dist-cjs/diagram/migrations.js +37 -0
  151. package/dist-cjs/diagram/migrations.js.map +1 -0
  152. package/dist-cjs/diagram/normalize.js +73 -0
  153. package/dist-cjs/diagram/normalize.js.map +1 -0
  154. package/dist-cjs/diagram/schema.js +144 -0
  155. package/dist-cjs/diagram/schema.js.map +1 -0
  156. package/dist-cjs/http-file/detect.js +113 -0
  157. package/dist-cjs/http-file/detect.js.map +1 -0
  158. package/dist-cjs/http-file/flatImport.js +109 -0
  159. package/dist-cjs/http-file/flatImport.js.map +1 -0
  160. package/dist-cjs/http-file/index.js +21 -0
  161. package/dist-cjs/http-file/index.js.map +1 -0
  162. package/dist-cjs/http-file/parseHttpFile.js +160 -0
  163. package/dist-cjs/http-file/parseHttpFile.js.map +1 -0
  164. package/dist-cjs/index.js +14 -1
  165. package/dist-cjs/index.js.map +1 -1
  166. package/dist-cjs/request/requestBody.js +206 -0
  167. package/dist-cjs/request/requestBody.js.map +1 -0
  168. package/dist-cjs/runner/requestRunner.js +127 -43
  169. package/dist-cjs/runner/requestRunner.js.map +1 -1
  170. package/dist-cjs/runner/runCollection.js +9 -2
  171. package/dist-cjs/runner/runCollection.js.map +1 -1
  172. package/dist-cjs/scenario-runner/adapters/helpers/request-helpers.js +7 -42
  173. package/dist-cjs/scenario-runner/adapters/helpers/request-helpers.js.map +1 -1
  174. package/dist-cjs/scenario-runner/adapters/request-executor.js +3 -30
  175. package/dist-cjs/scenario-runner/adapters/request-executor.js.map +1 -1
  176. package/dist-cjs/scenario-runner/index.js +4 -1
  177. package/dist-cjs/scenario-runner/index.js.map +1 -1
  178. package/dist-cjs/scenario-runner/labels.js +24 -0
  179. package/dist-cjs/scenario-runner/labels.js.map +1 -0
  180. package/dist-cjs/scenario-runner/runScenario.js +4 -11
  181. package/dist-cjs/scenario-runner/runScenario.js.map +1 -1
  182. package/dist-cjs/script/legacy.js +24 -9
  183. package/dist-cjs/script/legacy.js.map +1 -1
  184. package/dist-cjs/variables/resolver.js +27 -5
  185. package/dist-cjs/variables/resolver.js.map +1 -1
  186. package/package.json +1 -1
@@ -36,8 +36,17 @@ pm.expect(res.rowCount).to.be.above(0);
36
36
 
37
37
  Notes: a trailing `;` is stripped (except Oracle PL/SQL blocks, which keep it). **Oracle** returns column names UPPERCASE — read `res.rows[0].EMAIL`, not `.email`. `res.rowCount` is the row count for SELECT and the affected-row count for INSERT/UPDATE/DELETE.
38
38
 
39
+ ## SQL Server (mssql)
40
+ Single statement per query; a trailing `;` is stripped; `GO` batch separators are REJECTED (client-tool syntax, not T-SQL). Positional params bind as named inputs: `params[0]` → `@p1`, `params[1]` → `@p2`… (scenario db node only — `pm.db.query` has no params).
41
+
42
+ ```sql
43
+ SELECT TOP 1 id, amount FROM dbo.orders WHERE customer_id = @p1 ORDER BY created_at DESC
44
+ ```
45
+
39
46
  ## Redis (`pm.redis.command`)
40
- `command` is a single string. Only **GET, SET, DEL, EXISTS, TTL** are supported. Quote a value that contains spaces.
47
+ `command` is a single string. Supported commands: **GET, SET, DEL, EXISTS, TTL, HGET, HSET, HGETALL, HDEL, LPUSH, RPUSH, LRANGE, LLEN, SADD, SMEMBERS, SISMEMBER, INCR, DECR, INCRBY, EXPIRE, PERSIST, TYPE, ZADD, ZRANGE, ZSCORE, SCAN**. Quote a value that contains spaces.
48
+
49
+ Structured replies land in `res.result` as real values: `HGETALL` → object, `LRANGE`/`SMEMBERS`/`ZRANGE` → array, `EXISTS`/`SISMEMBER`/`EXPIRE`/`PERSIST` → boolean; `res.resultText` is the stringified form. `SCAN pattern [count]` is Callman-managed: the cursor loop runs internally (capped at 1000 keys / 100 iterations) and returns `{ keys, count, truncated }` — no raw cursors.
41
50
 
42
51
  ```js
43
52
  const res = await pm.redis.command({ connectionId: "…", command: `GET session:${id}` });
@@ -0,0 +1,373 @@
1
+ <!-- GENERATED FILE — do not edit by hand. Source: callman_core (npm run ai:packs). -->
2
+
3
+ # Diagram components and edge notation
4
+
5
+ A diagram node's `type` MUST be one of the keys below (`callman-core` `DIAGRAM_COMPONENT_CATALOG`). Sizes are the defaults the studio uses; `container` types hold children via `parentId`.
6
+
7
+ ## Edge notation
8
+
9
+ | Semantic | Meaning | Style tuple |
10
+ | --- | --- | --- |
11
+ | `sync` | Request / response call | dashed=false, strokeWidth=1.5 |
12
+ | `async` | Fire-and-forget, event or callback | dashed=true, dashPattern="6 4", strokeWidth=1.5 |
13
+ | `fallback` | Retry, fallback or optional path | dashed=true, dashPattern="1 3", strokeWidth=1.25 |
14
+ | `bus` | Message bus or stream | dashed=false, strokeWidth=3 |
15
+
16
+ ## Generic (`generic`)
17
+
18
+ | Type | Label | Default size | Aliases |
19
+ | --- | --- | --- | --- |
20
+ | `line` | Line | 160×0 | connector, edge, link |
21
+ | `arrow` | Arrow | 160×0 | connector, directed, link |
22
+ | `line.dashed` | Dashed Line | 160×0 | dotted, connector |
23
+ | `rect` | Rectangle | 140×64 | box, card |
24
+ | `square` | Square | 90×90 | |
25
+ | `ellipse` | Ellipse | 140×64 | oval |
26
+ | `circle` | Circle | 90×90 | |
27
+ | `diamond` | Diamond | 140×64 | rhombus |
28
+ | `triangle` | Triangle | 140×64 | |
29
+ | `hexagon` | Hexagon | 140×64 | |
30
+ | `pentagon` | Pentagon | 140×64 | |
31
+ | `octagon` | Octagon | 140×64 | |
32
+ | `parallelogram` | Parallelogram | 140×64 | |
33
+ | `trapezoid` | Trapezoid | 140×64 | |
34
+ | `cylinder` | Cylinder | 140×64 | can, tube |
35
+ | `cloud-shape` | Cloud | 140×64 | |
36
+ | `callout` | Callout | 140×64 | speech, bubble |
37
+ | `text` | Text | 120×36 | |
38
+ | `sticky` | Sticky note | 140×100 | postit, comment |
39
+ | `card` | Card | 140×64 | |
40
+ | `frame` | Frame / Container (container) | 220×160 | group, container, boundary |
41
+ | `pool.horizontal` | Pool (horizontal) (swimlane) | 360×220 | swimlane, lane, container, subsystem |
42
+ | `pool.vertical` | Pool (vertical) (swimlane) | 220×360 | swimlane, lane, container, subsystem |
43
+ | `image` | Image | 140×64 | picture |
44
+
45
+ ## Flowchart (`flowchart`)
46
+
47
+ | Type | Label | Default size | Aliases |
48
+ | --- | --- | --- | --- |
49
+ | `flow.process` | Process | 140×64 | step, action |
50
+ | `flow.alt-process` | Alternate Process | 140×64 | |
51
+ | `flow.decision` | Decision | 140×100 | if, branch |
52
+ | `flow.terminator` | Start / End | 130×56 | terminator, begin, stop |
53
+ | `flow.data` | Data (I/O) | 140×64 | input, output, io |
54
+ | `flow.document` | Document | 140×64 | |
55
+ | `flow.multi-document` | Multi-Document | 140×64 | |
56
+ | `flow.predefined` | Predefined Process | 140×64 | subroutine |
57
+ | `flow.manual-input` | Manual Input | 140×64 | |
58
+ | `flow.manual-op` | Manual Operation | 140×64 | |
59
+ | `flow.preparation` | Preparation | 140×64 | |
60
+ | `flow.stored-data` | Stored Data | 140×64 | |
61
+ | `flow.database` | Database | 140×64 | db, store |
62
+ | `flow.display` | Display | 140×64 | |
63
+ | `flow.delay` | Delay | 140×64 | |
64
+ | `flow.merge` | Merge | 140×64 | |
65
+ | `flow.or` | Or | 140×64 | |
66
+ | `flow.connector` | On-page Connector | 48×48 | |
67
+ | `flow.off-page` | Off-page Connector | 140×64 | |
68
+ | `flow.annotation` | Annotation | 140×64 | |
69
+
70
+ ## UML (`uml`)
71
+
72
+ | Type | Label | Default size | Aliases |
73
+ | --- | --- | --- | --- |
74
+ | `uml.class` | Class | 140×64 | entity |
75
+ | `uml.abstract` | Abstract Class | 140×64 | |
76
+ | `uml.interface` | Interface | 140×64 | |
77
+ | `uml.enum` | Enum | 140×64 | |
78
+ | `uml.object` | Object | 140×64 | |
79
+ | `uml.package` | Package | 140×64 | |
80
+ | `uml.component` | Component | 140×64 | |
81
+ | `uml.node` | Node / Deployment | 140×64 | |
82
+ | `uml.actor` | Actor | 60×100 | user, role |
83
+ | `uml.usecase` | Use Case | 140×64 | |
84
+ | `uml.boundary` | Boundary | 140×64 | |
85
+ | `uml.control` | Control | 140×64 | |
86
+ | `uml.entity` | Entity | 140×64 | |
87
+ | `uml.state` | State | 140×64 | |
88
+ | `uml.initial` | Initial State | 36×36 | |
89
+ | `uml.final` | Final State | 40×40 | |
90
+ | `uml.decision` | Decision | 60×60 | |
91
+ | `uml.note` | Note / Comment | 140×64 | comment |
92
+
93
+ ## ERD (`erd`)
94
+
95
+ | Type | Label | Default size | Aliases |
96
+ | --- | --- | --- | --- |
97
+ | `erd.entity` | Entity | 140×64 | table |
98
+ | `erd.weak-entity` | Weak Entity | 140×64 | |
99
+ | `erd.attribute` | Attribute | 140×64 | |
100
+ | `erd.key-attribute` | Key Attribute | 140×64 | pk, primary key |
101
+ | `erd.multivalued` | Multivalued Attribute | 140×64 | |
102
+ | `erd.derived` | Derived Attribute | 140×64 | |
103
+ | `erd.relationship` | Relationship | 140×64 | |
104
+ | `erd.identifying` | Identifying Relationship | 140×64 | |
105
+
106
+ ## Architecture (`networking`)
107
+
108
+ | Type | Label | Default size | Aliases |
109
+ | --- | --- | --- | --- |
110
+ | `net.user` | User / Client | 60×100 | client, person |
111
+ | `net.admin` | Admin | 60×100 | |
112
+ | `net.browser` | Browser | 140×64 | |
113
+ | `net.mobile` | Mobile Device | 90×130 | phone |
114
+ | `net.desktop` | Desktop | 140×64 | |
115
+ | `net.iot` | IoT Device | 140×64 | |
116
+ | `net.server` | Server | 140×64 | |
117
+ | `net.service` | Service | 140×64 | microservice |
118
+ | `net.monolith` | Monolith | 140×64 | |
119
+ | `net.api-gateway` | API Gateway | 140×64 | api, gateway |
120
+ | `net.load-balancer` | Load Balancer | 140×64 | lb |
121
+ | `net.reverse-proxy` | Reverse Proxy | 140×64 | proxy |
122
+ | `net.firewall` | Firewall | 140×64 | waf |
123
+ | `net.router` | Router | 140×64 | |
124
+ | `net.switch` | Switch | 140×64 | |
125
+ | `net.dns` | DNS | 140×64 | |
126
+ | `net.cdn` | CDN | 140×64 | edge |
127
+ | `net.cache` | Cache | 140×64 | |
128
+ | `net.queue` | Queue | 140×64 | mq |
129
+ | `net.websocket` | Web Socket | 140×64 | ws |
130
+ | `net.rest` | REST endpoint | 140×64 | http, api |
131
+ | `net.internet` | Internet / Cloud | 140×64 | wan |
132
+ | `net.datacenter` | Datacenter | 140×64 | |
133
+ | `net.container` | Container | 140×64 | |
134
+ | `net.pod` | Pod | 140×64 | |
135
+ | `net.vm` | Virtual Machine | 140×64 | vm |
136
+
137
+ ## Databases (`database`)
138
+
139
+ | Type | Label | Default size | Aliases |
140
+ | --- | --- | --- | --- |
141
+ | `db.postgres` | PostgreSQL | 176×56 | postgres, pg |
142
+ | `db.mysql` | MySQL | 176×56 | |
143
+ | `db.mariadb` | MariaDB | 176×56 | |
144
+ | `db.mongodb` | MongoDB | 176×56 | mongo |
145
+ | `db.redis` | Redis | 176×56 | |
146
+ | `db.sqlite` | SQLite | 176×56 | |
147
+ | `db.mssql` | MS SQL Server | 176×56 | sqlserver, mssql |
148
+ | `db.oracle` | Oracle | 176×56 | |
149
+ | `db.cassandra` | Cassandra | 176×56 | |
150
+ | `db.elasticsearch` | Elasticsearch | 176×56 | elastic, es |
151
+ | `db.neo4j` | Neo4j | 176×56 | graph |
152
+ | `db.couchdb` | CouchDB | 176×56 | couch |
153
+ | `db.couchbase` | Couchbase | 176×56 | |
154
+ | `db.clickhouse` | ClickHouse | 176×56 | |
155
+ | `db.cockroachdb` | CockroachDB | 176×56 | cockroach |
156
+ | `db.influxdb` | InfluxDB | 176×56 | influx, tsdb |
157
+ | `db.snowflake` | Snowflake | 176×56 | |
158
+ | `db.supabase` | Supabase | 176×56 | |
159
+
160
+ ## Messaging (`messaging`)
161
+
162
+ | Type | Label | Default size | Aliases |
163
+ | --- | --- | --- | --- |
164
+ | `mq.kafka` | Apache Kafka | 176×56 | kafka |
165
+ | `mq.rabbitmq` | RabbitMQ | 176×56 | rabbit, amqp |
166
+ | `mq.nats` | NATS | 176×56 | |
167
+ | `mq.pulsar` | Apache Pulsar | 176×56 | pulsar |
168
+ | `mq.mqtt` | MQTT | 176×56 | |
169
+ | `mq.pubsub` | Pub/Sub | 176×56 | pubsub |
170
+ | `mq.activemq` | ActiveMQ | 176×56 | jms |
171
+
172
+ ## Languages (`language`)
173
+
174
+ | Type | Label | Default size | Aliases |
175
+ | --- | --- | --- | --- |
176
+ | `lang.node` | Node.js | 176×56 | node, js runtime |
177
+ | `lang.python` | Python | 176×56 | py |
178
+ | `lang.java` | Java | 176×56 | jvm |
179
+ | `lang.go` | Go | 176×56 | golang |
180
+ | `lang.rust` | Rust | 176×56 | |
181
+ | `lang.dotnet` | C# / .NET | 176×56 | csharp, c# |
182
+ | `lang.typescript` | TypeScript | 176×56 | ts |
183
+ | `lang.javascript` | JavaScript | 176×56 | js |
184
+ | `lang.ruby` | Ruby | 176×56 | |
185
+ | `lang.php` | PHP | 176×56 | |
186
+ | `lang.kotlin` | Kotlin | 176×56 | |
187
+ | `lang.swift` | Swift | 176×56 | |
188
+ | `lang.scala` | Scala | 176×56 | |
189
+ | `lang.elixir` | Elixir | 176×56 | |
190
+ | `lang.cpp` | C++ | 176×56 | cpp |
191
+
192
+ ## Frameworks (`framework`)
193
+
194
+ | Type | Label | Default size | Aliases |
195
+ | --- | --- | --- | --- |
196
+ | `fw.express` | Express | 176×56 | |
197
+ | `fw.nestjs` | NestJS | 176×56 | nest |
198
+ | `fw.spring` | Spring Boot | 176×56 | spring |
199
+ | `fw.django` | Django | 176×56 | |
200
+ | `fw.flask` | Flask | 176×56 | |
201
+ | `fw.fastapi` | FastAPI | 176×56 | |
202
+ | `fw.rails` | Rails | 176×56 | ruby on rails |
203
+ | `fw.laravel` | Laravel | 176×56 | |
204
+ | `fw.dotnet` | .NET | 176×56 | |
205
+ | `fw.react` | React | 176×56 | |
206
+ | `fw.vue` | Vue | 176×56 | vuejs |
207
+ | `fw.angular` | Angular | 176×56 | |
208
+ | `fw.next` | Next.js | 176×56 | nextjs |
209
+ | `fw.nuxt` | Nuxt | 176×56 | nuxtjs |
210
+ | `fw.svelte` | Svelte | 176×56 | sveltekit |
211
+ | `fw.electron` | Electron | 176×56 | |
212
+ | `fw.tailwind` | Tailwind | 176×56 | tailwindcss |
213
+ | `fw.graphql` | GraphQL | 176×56 | |
214
+
215
+ ## DevOps / CI-CD (`devops`)
216
+
217
+ | Type | Label | Default size | Aliases |
218
+ | --- | --- | --- | --- |
219
+ | `ops.docker` | Docker | 176×56 | |
220
+ | `ops.k8s` | Kubernetes | 176×56 | k8s |
221
+ | `ops.nginx` | Nginx | 176×56 | |
222
+ | `ops.haproxy` | HAProxy | 176×56 | lb |
223
+ | `ops.traefik` | Traefik | 176×56 | traefik |
224
+ | `ops.terraform` | Terraform | 176×56 | iac |
225
+ | `ops.ansible` | Ansible | 176×56 | |
226
+ | `ops.jenkins` | Jenkins | 176×56 | ci |
227
+ | `ops.gha` | GitHub Actions | 176×56 | ci, actions |
228
+ | `ops.gitlab` | GitLab CI | 176×56 | ci |
229
+ | `ops.argocd` | ArgoCD | 176×56 | gitops |
230
+ | `ops.helm` | Helm | 176×56 | |
231
+ | `ops.istio` | Istio | 176×56 | service mesh |
232
+ | `ops.envoy` | Envoy | 176×56 | proxy |
233
+ | `ops.consul` | Consul | 176×56 | |
234
+ | `ops.vault` | Vault | 176×56 | secrets |
235
+ | `ops.pm2` | PM2 | 176×56 | |
236
+ | `ops.maven` | Maven | 176×56 | build |
237
+
238
+ ## Auth / Identity (`auth`)
239
+
240
+ | Type | Label | Default size | Aliases |
241
+ | --- | --- | --- | --- |
242
+ | `auth.oidc` | OpenID Connect | 176×56 | oidc |
243
+ | `auth.jwt` | JWT | 176×56 | token |
244
+ | `auth.keycloak` | Keycloak | 176×56 | |
245
+ | `auth.auth0` | Auth0 | 176×56 | |
246
+ | `auth.okta` | Okta | 176×56 | |
247
+ | `auth.firebase` | Firebase Auth | 176×56 | firebase |
248
+ | `auth.oauth` | OAuth 2.0 | 176×56 | oauth |
249
+ | `auth.saml` | SAML | 176×56 | |
250
+ | `auth.ldap` | LDAP | 176×56 | |
251
+
252
+ ## Observability (`observability`)
253
+
254
+ | Type | Label | Default size | Aliases |
255
+ | --- | --- | --- | --- |
256
+ | `obs.prometheus` | Prometheus | 176×56 | metrics |
257
+ | `obs.grafana` | Grafana | 176×56 | dashboard |
258
+ | `obs.datadog` | Datadog | 176×56 | |
259
+ | `obs.sentry` | Sentry | 176×56 | errors |
260
+ | `obs.elasticsearch` | Elasticsearch | 176×56 | elk |
261
+ | `obs.logstash` | Logstash | 176×56 | elk |
262
+ | `obs.kibana` | Kibana | 176×56 | elk |
263
+ | `obs.jaeger` | Jaeger | 176×56 | tracing |
264
+ | `obs.otel` | OpenTelemetry | 176×56 | otel, tracing |
265
+ | `obs.newrelic` | New Relic | 176×56 | |
266
+
267
+ ## AWS (`aws`)
268
+
269
+ | Type | Label | Default size | Aliases |
270
+ | --- | --- | --- | --- |
271
+ | `aws.ec2` | EC2 | 176×56 | aws |
272
+ | `aws.lambda` | Lambda | 176×56 | aws |
273
+ | `aws.s3` | S3 | 176×56 | aws |
274
+ | `aws.ebs` | EBS | 176×56 | aws |
275
+ | `aws.efs` | EFS | 176×56 | aws |
276
+ | `aws.rds` | RDS | 176×56 | aws |
277
+ | `aws.aurora` | Aurora | 176×56 | aws |
278
+ | `aws.dynamodb` | DynamoDB | 176×56 | aws |
279
+ | `aws.elasticache` | ElastiCache | 176×56 | aws |
280
+ | `aws.redshift` | Redshift | 176×56 | aws |
281
+ | `aws.vpc` | VPC | 176×56 | aws |
282
+ | `aws.subnet` | Subnet | 176×56 | aws |
283
+ | `aws.internet-gateway` | Internet Gateway | 176×56 | aws |
284
+ | `aws.nat-gateway` | NAT Gateway | 176×56 | aws |
285
+ | `aws.elb` | ELB | 176×56 | aws |
286
+ | `aws.alb` | ALB | 176×56 | aws |
287
+ | `aws.nlb` | NLB | 176×56 | aws |
288
+ | `aws.api-gateway` | API Gateway | 176×56 | aws |
289
+ | `aws.cloudfront` | CloudFront | 176×56 | aws |
290
+ | `aws.route-53` | Route 53 | 176×56 | aws |
291
+ | `aws.sqs` | SQS | 176×56 | aws |
292
+ | `aws.sns` | SNS | 176×56 | aws |
293
+ | `aws.eventbridge` | EventBridge | 176×56 | aws |
294
+ | `aws.kinesis` | Kinesis | 176×56 | aws |
295
+ | `aws.step-functions` | Step Functions | 176×56 | aws |
296
+ | `aws.ecs` | ECS | 176×56 | aws |
297
+ | `aws.eks` | EKS | 176×56 | aws |
298
+ | `aws.fargate` | Fargate | 176×56 | aws |
299
+ | `aws.ecr` | ECR | 176×56 | aws |
300
+ | `aws.iam` | IAM | 176×56 | aws |
301
+ | `aws.cognito` | Cognito | 176×56 | aws |
302
+ | `aws.secrets-manager` | Secrets Manager | 176×56 | aws |
303
+ | `aws.kms` | KMS | 176×56 | aws |
304
+ | `aws.cloudwatch` | CloudWatch | 176×56 | aws |
305
+ | `aws.cloudtrail` | CloudTrail | 176×56 | aws |
306
+ | `aws.glue` | Glue | 176×56 | aws |
307
+ | `aws.athena` | Athena | 176×56 | aws |
308
+ | `aws.sagemaker` | SageMaker | 176×56 | aws |
309
+ | `aws.appsync` | AppSync | 176×56 | aws |
310
+ | `aws.amplify` | Amplify | 176×56 | aws |
311
+
312
+ ## Azure (`azure`)
313
+
314
+ | Type | Label | Default size | Aliases |
315
+ | --- | --- | --- | --- |
316
+ | `azure.virtual-machine` | Virtual Machine | 176×56 | azure |
317
+ | `azure.vm-scale-set` | VM Scale Set | 176×56 | azure |
318
+ | `azure.app-service` | App Service | 176×56 | azure |
319
+ | `azure.functions` | Functions | 176×56 | azure |
320
+ | `azure.container-instances` | Container Instances | 176×56 | azure |
321
+ | `azure.aks` | AKS | 176×56 | azure |
322
+ | `azure.container-registry` | Container Registry | 176×56 | azure |
323
+ | `azure.blob-storage` | Blob Storage | 176×56 | azure |
324
+ | `azure.files` | Files | 176×56 | azure |
325
+ | `azure.disk` | Disk | 176×56 | azure |
326
+ | `azure.sql-database` | SQL Database | 176×56 | azure |
327
+ | `azure.cosmos-db` | Cosmos DB | 176×56 | azure |
328
+ | `azure.cache-for-redis` | Cache for Redis | 176×56 | azure |
329
+ | `azure.synapse` | Synapse | 176×56 | azure |
330
+ | `azure.virtual-network` | Virtual Network | 176×56 | azure |
331
+ | `azure.load-balancer` | Load Balancer | 176×56 | azure |
332
+ | `azure.application-gateway` | Application Gateway | 176×56 | azure |
333
+ | `azure.front-door` | Front Door | 176×56 | azure |
334
+ | `azure.service-bus` | Service Bus | 176×56 | azure |
335
+ | `azure.event-hub` | Event Hub | 176×56 | azure |
336
+ | `azure.event-grid` | Event Grid | 176×56 | azure |
337
+ | `azure.key-vault` | Key Vault | 176×56 | azure |
338
+ | `azure.entra-id` | Entra ID | 176×56 | azure |
339
+ | `azure.monitor` | Monitor | 176×56 | azure |
340
+ | `azure.application-insights` | Application Insights | 176×56 | azure |
341
+ | `azure.logic-apps` | Logic Apps | 176×56 | azure |
342
+ | `azure.api-management` | API Management | 176×56 | azure |
343
+
344
+ ## GCP (`gcp`)
345
+
346
+ | Type | Label | Default size | Aliases |
347
+ | --- | --- | --- | --- |
348
+ | `gcp.compute-engine` | Compute Engine | 176×56 | gcp, google |
349
+ | `gcp.app-engine` | App Engine | 176×56 | gcp, google |
350
+ | `gcp.cloud-functions` | Cloud Functions | 176×56 | gcp, google |
351
+ | `gcp.cloud-run` | Cloud Run | 176×56 | gcp, google |
352
+ | `gcp.gke` | GKE | 176×56 | gcp, google |
353
+ | `gcp.artifact-registry` | Artifact Registry | 176×56 | gcp, google |
354
+ | `gcp.cloud-storage` | Cloud Storage | 176×56 | gcp, google |
355
+ | `gcp.persistent-disk` | Persistent Disk | 176×56 | gcp, google |
356
+ | `gcp.cloud-sql` | Cloud SQL | 176×56 | gcp, google |
357
+ | `gcp.cloud-spanner` | Cloud Spanner | 176×56 | gcp, google |
358
+ | `gcp.firestore` | Firestore | 176×56 | gcp, google |
359
+ | `gcp.bigtable` | Bigtable | 176×56 | gcp, google |
360
+ | `gcp.bigquery` | BigQuery | 176×56 | gcp, google |
361
+ | `gcp.memorystore` | Memorystore | 176×56 | gcp, google |
362
+ | `gcp.vpc` | VPC | 176×56 | gcp, google |
363
+ | `gcp.cloud-load-balancing` | Cloud Load Balancing | 176×56 | gcp, google |
364
+ | `gcp.cloud-cdn` | Cloud CDN | 176×56 | gcp, google |
365
+ | `gcp.cloud-dns` | Cloud DNS | 176×56 | gcp, google |
366
+ | `gcp.pub-sub` | Pub/Sub | 176×56 | gcp, google |
367
+ | `gcp.dataflow` | Dataflow | 176×56 | gcp, google |
368
+ | `gcp.cloud-tasks` | Cloud Tasks | 176×56 | gcp, google |
369
+ | `gcp.iam` | IAM | 176×56 | gcp, google |
370
+ | `gcp.secret-manager` | Secret Manager | 176×56 | gcp, google |
371
+ | `gcp.cloud-kms` | Cloud KMS | 176×56 | gcp, google |
372
+ | `gcp.cloud-monitoring` | Cloud Monitoring | 176×56 | gcp, google |
373
+ | `gcp.vertex-ai` | Vertex AI | 176×56 | gcp, google |