gcyphrq 0.12.6

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,199 @@
1
+ {
2
+ "nodes": [
3
+ { "id": "cdn", "label": "Service", "name": "CloudFront CDN", "type": "CDN", "region": "global" },
4
+ { "id": "waf", "label": "Service", "name": "WAF", "type": "Firewall", "region": "global" },
5
+ { "id": "api-gateway", "label": "Service", "name": "API Gateway", "type": "HTTP", "region": "us-east-1", "port": 443 },
6
+ { "id": "auth-service", "label": "Service", "name": "Auth Service", "type": "RPC", "region": "us-east-1", "port": 9090 },
7
+ { "id": "user-service", "label": "Service", "name": "User Service", "type": "RPC", "region": "us-east-1", "port": 9091 },
8
+ { "id": "billing-service", "label": "Service", "name": "Billing Service", "type": "RPC", "region": "us-east-1", "port": 9092 },
9
+ { "id": "notification-service", "label": "Service", "name": "Notification Service", "type": "RPC", "region": "us-east-1", "port": 9093 },
10
+ { "id": "search-service", "label": "Service", "name": "Search Service", "type": "RPC", "region": "us-east-1", "port": 9094 },
11
+ { "id": "analytics-service", "label": "Service", "name": "Analytics Service", "type": "RPC", "region": "us-east-1", "port": 9095 },
12
+ { "id": "payment-service", "label": "Service", "name": "Payment Service", "type": "RPC", "region": "us-east-1", "port": 9096 },
13
+ { "id": "inventory-service", "label": "Service", "name": "Inventory Service", "type": "RPC", "region": "us-east-1", "port": 9097 },
14
+ { "id": "order-service", "label": "Service", "name": "Order Service", "type": "RPC", "region": "us-east-1", "port": 9098 },
15
+ { "id": "recommendation-service", "label": "Service", "name": "Recommendation Service", "type": "RPC", "region": "us-east-1", "port": 9099 },
16
+ { "id": "ml-pipeline", "label": "Service", "name": "ML Pipeline", "type": "Batch", "region": "us-east-1" },
17
+ { "id": "report-generator", "label": "Service", "name": "Report Generator", "type": "Batch", "region": "us-east-1" },
18
+ { "id": "email-worker", "label": "Service", "name": "Email Worker", "type": "Worker", "region": "us-east-1" },
19
+ { "id": "sms-worker", "label": "Service", "name": "SMS Worker", "type": "Worker", "region": "us-east-1" },
20
+ { "id": "push-worker", "label": "Service", "name": "Push Notification Worker", "type": "Worker", "region": "us-east-1" },
21
+ { "id": "image-processor", "label": "Service", "name": "Image Processor", "type": "Worker", "region": "us-east-1" },
22
+ { "id": "data-export-worker", "label": "Service", "name": "Data Export Worker", "type": "Worker", "region": "us-east-1" },
23
+ { "id": "kafka-cluster", "label": "Infrastructure", "name": "Kafka Cluster", "type": "MessageQueue", "region": "us-east-1", "partitions": 12 },
24
+ { "id": "rabbitmq-cluster", "label": "Infrastructure", "name": "RabbitMQ Cluster", "type": "MessageQueue", "region": "us-east-1", "partitions": 6 },
25
+ { "id": "redis-primary", "label": "Database", "name": "Redis Primary", "type": "Cache", "region": "us-east-1", "port": 6379 },
26
+ { "id": "redis-replica", "label": "Database", "name": "Redis Replica", "type": "Cache", "region": "us-west-2", "port": 6379 },
27
+ { "id": "postgres-primary", "label": "Database", "name": "PostgreSQL Primary", "type": "Relational", "region": "us-east-1", "port": 5432 },
28
+ { "id": "postgres-replica", "label": "Database", "name": "PostgreSQL Replica", "type": "Relational", "region": "us-west-2", "port": 5432 },
29
+ { "id": "elasticsearch", "label": "Database", "name": "Elasticsearch Cluster", "type": "Search", "region": "us-east-1", "port": 9200 },
30
+ { "id": "timescaledb", "label": "Database", "name": "TimescaleDB", "type": "TimeSeries", "region": "us-east-1", "port": 5433 },
31
+ { "id": "s3-bucket", "label": "Storage", "name": "S3 Data Bucket", "type": "ObjectStorage", "region": "us-east-1" },
32
+ { "id": "s3-logs", "label": "Storage", "name": "S3 Logs Bucket", "type": "ObjectStorage", "region": "us-east-1" },
33
+ { "id": "s3-backups", "label": "Storage", "name": "S3 Backups Bucket", "type": "ObjectStorage", "region": "us-east-1" },
34
+ { "id": "s3-assets", "label": "Storage", "name": "S3 Assets Bucket", "type": "ObjectStorage", "region": "us-east-1" },
35
+ { "id": "prometheus", "label": "Monitoring", "name": "Prometheus", "type": "Metrics", "region": "us-east-1", "port": 9090 },
36
+ { "id": "grafana", "label": "Monitoring", "name": "Grafana", "type": "Dashboard", "region": "us-east-1", "port": 3000 },
37
+ { "id": "loki", "label": "Monitoring", "name": "Loki", "type": "LogAggregator", "region": "us-east-1", "port": 3100 },
38
+ { "id": "jaeger", "label": "Monitoring", "name": "Jaeger", "type": "Tracing", "region": "us-east-1", "port": 16686 },
39
+ { "id": "vault", "label": "Security", "name": "Vault", "type": "SecretsManager", "region": "us-east-1", "port": 8200 },
40
+ { "id": "consul", "label": "Infrastructure", "name": "Consul", "type": "ServiceDiscovery", "region": "us-east-1", "port": 8500 },
41
+ { "id": "envoy-proxy", "label": "Infrastructure", "name": "Envoy Sidecar", "type": "ServiceMesh", "region": "us-east-1", "port": 8080 },
42
+ { "id": "stripe-api", "label": "External", "name": "Stripe API", "type": "PaymentGateway", "region": "external" },
43
+ { "id": "sendgrid-api", "label": "External", "name": "SendGrid API", "type": "EmailGateway", "region": "external" },
44
+ { "id": "twilio-api", "label": "External", "name": "Twilio API", "type": "SMSGateway", "region": "external" },
45
+ { "id": "firebase-fcm", "label": "External", "name": "Firebase FCM", "type": "PushGateway", "region": "external" },
46
+ { "id": "aws-sns", "label": "External", "name": "AWS SNS", "type": "PushGateway", "region": "external" },
47
+ { "id": "k8s-cluster", "label": "Infrastructure", "name": "EKS Cluster", "type": "Orchestrator", "region": "us-east-1" },
48
+ { "id": "k8s-cluster-w", "label": "Infrastructure", "name": "EKS Cluster (West)", "type": "Orchestrator", "region": "us-west-2" },
49
+ { "id": "terraform-state", "label": "Storage", "name": "Terraform State", "type": "ObjectStorage", "region": "us-east-1" },
50
+ { "id": "github-repo", "label": "External", "name": "GitHub Repo", "type": "SourceControl", "region": "external" },
51
+ { "id": "github-runner", "label": "Infrastructure", "name": "GitHub Runner", "type": "CI", "region": "us-east-1" },
52
+ { "id": "docker-registry", "label": "Infrastructure", "name": "ECR Registry", "type": "ContainerRegistry", "region": "us-east-1" },
53
+ { "id": "load-balancer", "label": "Infrastructure", "name": "ALB", "type": "LoadBalancer", "region": "us-east-1" }
54
+ ],
55
+ "edges": [
56
+ { "source": "cdn", "target": "waf", "type": "HTTPS" },
57
+ { "source": "waf", "target": "load-balancer", "type": "HTTPS" },
58
+ { "source": "load-balancer", "target": "api-gateway", "type": "HTTPS" },
59
+ { "source": "api-gateway", "target": "auth-service", "type": "RPC" },
60
+ { "source": "api-gateway", "target": "user-service", "type": "RPC" },
61
+ { "source": "api-gateway", "target": "billing-service", "type": "RPC" },
62
+ { "source": "api-gateway", "target": "search-service", "type": "RPC" },
63
+ { "source": "api-gateway", "target": "order-service", "type": "RPC" },
64
+ { "source": "api-gateway", "target": "recommendation-service", "type": "RPC" },
65
+ { "source": "api-gateway", "target": "analytics-service", "type": "RPC" },
66
+ { "source": "auth-service", "target": "redis-primary", "type": "TCP" },
67
+ { "source": "auth-service", "target": "postgres-primary", "type": "TCP" },
68
+ { "source": "auth-service", "target": "vault", "type": "HTTPS" },
69
+ { "source": "user-service", "target": "postgres-primary", "type": "TCP" },
70
+ { "source": "user-service", "target": "redis-primary", "type": "TCP" },
71
+ { "source": "user-service", "target": "kafka-cluster", "type": "TCP" },
72
+ { "source": "user-service", "target": "s3-assets", "type": "HTTPS" },
73
+ { "source": "user-service", "target": "image-processor", "type": "RPC" },
74
+ { "source": "billing-service", "target": "postgres-primary", "type": "TCP" },
75
+ { "source": "billing-service", "target": "payment-service", "type": "RPC" },
76
+ { "source": "billing-service", "target": "kafka-cluster", "type": "TCP" },
77
+ { "source": "payment-service", "target": "stripe-api", "type": "HTTPS" },
78
+ { "source": "payment-service", "target": "postgres-primary", "type": "TCP" },
79
+ { "source": "payment-service", "target": "kafka-cluster", "type": "TCP" },
80
+ { "source": "payment-service", "target": "vault", "type": "HTTPS" },
81
+ { "source": "notification-service", "target": "rabbitmq-cluster", "type": "TCP" },
82
+ { "source": "notification-service", "target": "redis-primary", "type": "TCP" },
83
+ { "source": "email-worker", "target": "rabbitmq-cluster", "type": "TCP" },
84
+ { "source": "email-worker", "target": "sendgrid-api", "type": "HTTPS" },
85
+ { "source": "sms-worker", "target": "rabbitmq-cluster", "type": "TCP" },
86
+ { "source": "sms-worker", "target": "twilio-api", "type": "HTTPS" },
87
+ { "source": "push-worker", "target": "rabbitmq-cluster", "type": "TCP" },
88
+ { "source": "push-worker", "target": "firebase-fcm", "type": "HTTPS" },
89
+ { "source": "push-worker", "target": "aws-sns", "type": "HTTPS" },
90
+ { "source": "search-service", "target": "elasticsearch", "type": "HTTP" },
91
+ { "source": "search-service", "target": "redis-primary", "type": "TCP" },
92
+ { "source": "analytics-service", "target": "timescaledb", "type": "TCP" },
93
+ { "source": "analytics-service", "target": "elasticsearch", "type": "HTTP" },
94
+ { "source": "analytics-service", "target": "kafka-cluster", "type": "TCP" },
95
+ { "source": "analytics-service", "target": "s3-bucket", "type": "HTTPS" },
96
+ { "source": "order-service", "target": "postgres-primary", "type": "TCP" },
97
+ { "source": "order-service", "target": "kafka-cluster", "type": "TCP" },
98
+ { "source": "order-service", "target": "inventory-service", "type": "RPC" },
99
+ { "source": "order-service", "target": "payment-service", "type": "RPC" },
100
+ { "source": "order-service", "target": "notification-service", "type": "RPC" },
101
+ { "source": "inventory-service", "target": "postgres-primary", "type": "TCP" },
102
+ { "source": "inventory-service", "target": "redis-primary", "type": "TCP" },
103
+ { "source": "inventory-service", "target": "kafka-cluster", "type": "TCP" },
104
+ { "source": "recommendation-service", "target": "redis-primary", "type": "TCP" },
105
+ { "source": "recommendation-service", "target": "elasticsearch", "type": "HTTP" },
106
+ { "source": "recommendation-service", "target": "ml-pipeline", "type": "RPC" },
107
+ { "source": "ml-pipeline", "target": "s3-bucket", "type": "HTTPS" },
108
+ { "source": "ml-pipeline", "target": "postgres-primary", "type": "TCP" },
109
+ { "source": "report-generator", "target": "postgres-primary", "type": "TCP" },
110
+ { "source": "report-generator", "target": "timescaledb", "type": "TCP" },
111
+ { "source": "report-generator", "target": "s3-bucket", "type": "HTTPS" },
112
+ { "source": "report-generator", "target": "kafka-cluster", "type": "TCP" },
113
+ { "source": "image-processor", "target": "s3-assets", "type": "HTTPS" },
114
+ { "source": "image-processor", "target": "s3-bucket", "type": "HTTPS" },
115
+ { "source": "data-export-worker", "target": "kafka-cluster", "type": "TCP" },
116
+ { "source": "data-export-worker", "target": "postgres-primary", "type": "TCP" },
117
+ { "source": "data-export-worker", "target": "s3-bucket", "type": "HTTPS" },
118
+ { "source": "kafka-cluster", "target": "analytics-service", "type": "TCP" },
119
+ { "source": "kafka-cluster", "target": "report-generator", "type": "TCP" },
120
+ { "source": "kafka-cluster", "target": "data-export-worker", "type": "TCP" },
121
+ { "source": "rabbitmq-cluster", "target": "email-worker", "type": "TCP" },
122
+ { "source": "rabbitmq-cluster", "target": "sms-worker", "type": "TCP" },
123
+ { "source": "rabbitmq-cluster", "target": "push-worker", "type": "TCP" },
124
+ { "source": "redis-primary", "target": "redis-replica", "type": "Replication" },
125
+ { "source": "postgres-primary", "target": "postgres-replica", "type": "Replication" },
126
+ { "source": "postgres-primary", "target": "s3-backups", "type": "Backup" },
127
+ { "source": "auth-service", "target": "envoy-proxy", "type": "Sidecar" },
128
+ { "source": "user-service", "target": "envoy-proxy", "type": "Sidecar" },
129
+ { "source": "billing-service", "target": "envoy-proxy", "type": "Sidecar" },
130
+ { "source": "notification-service", "target": "envoy-proxy", "type": "Sidecar" },
131
+ { "source": "search-service", "target": "envoy-proxy", "type": "Sidecar" },
132
+ { "source": "analytics-service", "target": "envoy-proxy", "type": "Sidecar" },
133
+ { "source": "payment-service", "target": "envoy-proxy", "type": "Sidecar" },
134
+ { "source": "inventory-service", "target": "envoy-proxy", "type": "Sidecar" },
135
+ { "source": "order-service", "target": "envoy-proxy", "type": "Sidecar" },
136
+ { "source": "recommendation-service", "target": "envoy-proxy", "type": "Sidecar" },
137
+ { "source": "envoy-proxy", "target": "consul", "type": "HTTP" },
138
+ { "source": "auth-service", "target": "prometheus", "type": "Metrics" },
139
+ { "source": "user-service", "target": "prometheus", "type": "Metrics" },
140
+ { "source": "billing-service", "target": "prometheus", "type": "Metrics" },
141
+ { "source": "notification-service", "target": "prometheus", "type": "Metrics" },
142
+ { "source": "search-service", "target": "prometheus", "type": "Metrics" },
143
+ { "source": "analytics-service", "target": "prometheus", "type": "Metrics" },
144
+ { "source": "payment-service", "target": "prometheus", "type": "Metrics" },
145
+ { "source": "inventory-service", "target": "prometheus", "type": "Metrics" },
146
+ { "source": "order-service", "target": "prometheus", "type": "Metrics" },
147
+ { "source": "recommendation-service", "target": "prometheus", "type": "Metrics" },
148
+ { "source": "prometheus", "target": "grafana", "type": "HTTP" },
149
+ { "source": "auth-service", "target": "loki", "type": "LogStream" },
150
+ { "source": "user-service", "target": "loki", "type": "LogStream" },
151
+ { "source": "billing-service", "target": "loki", "type": "LogStream" },
152
+ { "source": "notification-service", "target": "loki", "type": "LogStream" },
153
+ { "source": "search-service", "target": "loki", "type": "LogStream" },
154
+ { "source": "analytics-service", "target": "loki", "type": "LogStream" },
155
+ { "source": "payment-service", "target": "loki", "type": "LogStream" },
156
+ { "source": "inventory-service", "target": "loki", "type": "LogStream" },
157
+ { "source": "order-service", "target": "loki", "type": "LogStream" },
158
+ { "source": "recommendation-service", "target": "loki", "type": "LogStream" },
159
+ { "source": "loki", "target": "s3-logs", "type": "LogArchive" },
160
+ { "source": "auth-service", "target": "jaeger", "type": "Trace" },
161
+ { "source": "user-service", "target": "jaeger", "type": "Trace" },
162
+ { "source": "billing-service", "target": "jaeger", "type": "Trace" },
163
+ { "source": "notification-service", "target": "jaeger", "type": "Trace" },
164
+ { "source": "search-service", "target": "jaeger", "type": "Trace" },
165
+ { "source": "analytics-service", "target": "jaeger", "type": "Trace" },
166
+ { "source": "payment-service", "target": "jaeger", "type": "Trace" },
167
+ { "source": "inventory-service", "target": "jaeger", "type": "Trace" },
168
+ { "source": "order-service", "target": "jaeger", "type": "Trace" },
169
+ { "source": "recommendation-service", "target": "jaeger", "type": "Trace" },
170
+ { "source": "k8s-cluster", "target": "auth-service", "type": "Hosts" },
171
+ { "source": "k8s-cluster", "target": "user-service", "type": "Hosts" },
172
+ { "source": "k8s-cluster", "target": "billing-service", "type": "Hosts" },
173
+ { "source": "k8s-cluster", "target": "notification-service", "type": "Hosts" },
174
+ { "source": "k8s-cluster", "target": "search-service", "type": "Hosts" },
175
+ { "source": "k8s-cluster", "target": "analytics-service", "type": "Hosts" },
176
+ { "source": "k8s-cluster", "target": "payment-service", "type": "Hosts" },
177
+ { "source": "k8s-cluster", "target": "inventory-service", "type": "Hosts" },
178
+ { "source": "k8s-cluster", "target": "order-service", "type": "Hosts" },
179
+ { "source": "k8s-cluster", "target": "recommendation-service", "type": "Hosts" },
180
+ { "source": "k8s-cluster", "target": "email-worker", "type": "Hosts" },
181
+ { "source": "k8s-cluster", "target": "sms-worker", "type": "Hosts" },
182
+ { "source": "k8s-cluster", "target": "push-worker", "type": "Hosts" },
183
+ { "source": "k8s-cluster", "target": "image-processor", "type": "Hosts" },
184
+ { "source": "k8s-cluster", "target": "data-export-worker", "type": "Hosts" },
185
+ { "source": "k8s-cluster", "target": "ml-pipeline", "type": "Hosts" },
186
+ { "source": "k8s-cluster", "target": "report-generator", "type": "Hosts" },
187
+ { "source": "k8s-cluster-w", "target": "redis-replica", "type": "Hosts" },
188
+ { "source": "k8s-cluster-w", "target": "postgres-replica", "type": "Hosts" },
189
+ { "source": "github-repo", "target": "github-runner", "type": "Triggers" },
190
+ { "source": "github-runner", "target": "docker-registry", "type": "Pushes" },
191
+ { "source": "docker-registry", "target": "k8s-cluster", "type": "Pulls" },
192
+ { "source": "docker-registry", "target": "k8s-cluster-w", "type": "Pulls" },
193
+ { "source": "terraform-state", "target": "k8s-cluster", "type": "Manages" },
194
+ { "source": "terraform-state", "target": "k8s-cluster-w", "type": "Manages" },
195
+ { "source": "terraform-state", "target": "s3-backups", "type": "Manages" },
196
+ { "source": "terraform-state", "target": "vault", "type": "Manages" },
197
+ { "source": "terraform-state", "target": "load-balancer", "type": "Manages" }
198
+ ]
199
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "nodes": [
3
+ { "id": "alice", "label": "User", "name": "Alice" },
4
+ { "id": "bob", "label": "User", "name": "Bob" },
5
+ { "id": "charlie", "label": "User", "name": "Charlie" }
6
+ ],
7
+ "edges": [
8
+ { "source": "alice", "target": "bob", "type": "FRIEND" },
9
+ { "source": "bob", "target": "charlie", "type": "FRIEND" }
10
+ ]
11
+ }
package/package.json ADDED
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "gcyphrq",
3
+ "version": "0.12.6",
4
+ "description": "A CLI tool and library that executes Cypher graph queries against an in-memory graph built on Graphology",
5
+ "type": "module",
6
+ "main": "dist/lib.js",
7
+ "types": "dist/lib.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/lib.d.ts",
11
+ "import": "./dist/lib.js"
12
+ },
13
+ "./cli": {
14
+ "types": null,
15
+ "import": "./dist/index.js"
16
+ }
17
+ },
18
+ "bin": {
19
+ "gcyphrq": "./dist/index.js"
20
+ },
21
+ "files": [
22
+ "dist",
23
+ "README.md",
24
+ "LICENSE",
25
+ "examples",
26
+ "docs"
27
+ ],
28
+ "author": "Pascal Le Levier",
29
+ "license": "MIT",
30
+ "repository": {
31
+ "type": "git",
32
+ "url": "https://github.com/plelevier/gcyphrq"
33
+ },
34
+ "keywords": [
35
+ "cypher",
36
+ "graph",
37
+ "query",
38
+ "graphology",
39
+ "neo4j",
40
+ "cli",
41
+ "in-memory"
42
+ ],
43
+ "engines": {
44
+ "node": ">=20"
45
+ },
46
+ "scripts": {
47
+ "build": "node build.mjs",
48
+ "start": "tsx src/index.ts",
49
+ "dev": "tsx watch src/index.ts",
50
+ "test": "vitest run",
51
+ "test:watch": "vitest",
52
+ "bump": "npm version patch",
53
+ "prepublishOnly": "npm run build && npm test"
54
+ },
55
+ "dependencies": {
56
+ "@neo4j-cypher/antlr4": "^1.0.0",
57
+ "antlr4": "4.10.1",
58
+ "graphology": "^0.26.0"
59
+ },
60
+ "devDependencies": {
61
+ "@types/node": "^22.0.0",
62
+ "esbuild": "^0.28.1",
63
+ "tsx": "^4.22.4",
64
+ "typescript": "^5.8.3",
65
+ "vitest": "^4.1.9"
66
+ },
67
+ "allowScripts": {
68
+ "esbuild@0.28.1": true,
69
+ "fsevents@2.3.3": true
70
+ }
71
+ }