straylight-ai 0.5.0 → 1.0.0

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 (2) hide show
  1. package/README.md +42 -18
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -22,11 +22,19 @@ This will:
22
22
 
23
23
  ## Add a Service
24
24
 
25
- 1. Open http://localhost:9470
26
- 2. Click "Add Service"
25
+ 1. Open http://localhost:9470 and go to **Services**
26
+ 2. Click **Add Service**
27
27
  3. Select a template (GitHub, Stripe, OpenAI, AWS, and more) or create a custom service
28
28
  4. Paste your API key — it goes straight into the encrypted vault
29
29
 
30
+ ## Web Dashboard
31
+
32
+ The dashboard at http://localhost:9470 has three pages:
33
+
34
+ - **Dashboard** — Live system metrics: health status, vault state, uptime, API call counts, credential access stats, audit event breakdown, service status overview, and recent activity feed. Polls every 15 seconds.
35
+ - **Services** — Add, configure, and manage your service credentials. Supports 16+ templates with multiple auth methods per service.
36
+ - **Help** — Searchable user guide with getting started steps, key concepts, MCP tools reference, supported services directory, FAQ, and troubleshooting.
37
+
30
38
  ## Connect to Your AI Coding Assistant
31
39
 
32
40
  ### Claude Code
@@ -49,7 +57,6 @@ Any MCP-compatible AI coding assistant works. The MCP server speaks the standard
49
57
  | `npx straylight-ai start` | Start the container |
50
58
  | `npx straylight-ai stop` | Stop the container |
51
59
  | `npx straylight-ai status` | Check health and service status |
52
- | `npx straylight-ai logs` | View container logs |
53
60
 
54
61
  ## MCP Tools
55
62
 
@@ -59,8 +66,8 @@ Once registered, your AI coding assistant has access to:
59
66
  |------|-------------|
60
67
  | `straylight_api_call` | Make an authenticated HTTP request. Credentials injected automatically. |
61
68
  | `straylight_exec` | Run a command with credentials as environment variables. Output sanitized. |
62
- | `straylight_db_query` | Query a database with dynamic temporary credentials. |
63
- | `straylight_scan` | Scan project files for exposed secrets. |
69
+ | `straylight_db_query` | Query a database with dynamic temporary credentials that auto-expire. |
70
+ | `straylight_scan` | Scan project files for exposed secrets across 14 pattern categories. |
64
71
  | `straylight_read_file` | Read a file with secrets automatically redacted. |
65
72
  | `straylight_check` | Check whether a credential is available for a service. |
66
73
  | `straylight_services` | List all configured services and their status. |
@@ -81,20 +88,19 @@ Your AI assistant calls a Straylight MCP tool. The container fetches the credent
81
88
 
82
89
  ## Database Credentials
83
90
 
84
- Configure a database once in the dashboard. When your AI coding assistant needs data, it calls `straylight_db_query` — Straylight provisions a temporary database user, runs the query, and returns the results. The AI never sees the password.
91
+ Configure a database once on the Services page. When your AI coding assistant needs data, it calls `straylight_db_query` — Straylight provisions a temporary database user, runs the query, and returns the results. The AI never sees the password.
85
92
 
86
93
  ```
87
94
  // AI calls:
88
95
  straylight_db_query(service="my-postgres", query="SELECT id, name FROM users LIMIT 10")
89
96
  ```
90
97
 
91
- - Credentials are read-only by default and auto-expire (515 min TTL)
98
+ - Credentials are read-only by default and auto-expire (5-15 min TTL)
92
99
  - Supported: PostgreSQL, MySQL/MariaDB, Redis
93
- - [Full documentation](https://aj-geddes.github.io/straylight-ai/docs/database-credentials)
94
100
 
95
101
  ## Cloud Credentials
96
102
 
97
- Configure an AWS, GCP, or Azure account in the dashboard. When the AI needs to run a cloud CLI command, it calls `straylight_exec` with a named service — Straylight generates short-lived temporary credentials, injects them as environment variables, and returns the sanitized output.
103
+ Configure an AWS, GCP, or Azure account on the Services page. When the AI needs to run a cloud CLI command, it calls `straylight_exec` with a named service — Straylight generates short-lived temporary credentials, injects them as environment variables, and returns the sanitized output.
98
104
 
99
105
  ```
100
106
  // AI calls:
@@ -104,7 +110,6 @@ straylight_exec(service="aws-prod", command="aws s3 ls s3://my-bucket")
104
110
  - AWS: STS AssumeRole with inline session policies
105
111
  - GCP: Workload Identity Federation tokens
106
112
  - Azure: short-lived access tokens
107
- - [Full documentation](https://aj-geddes.github.io/straylight-ai/docs/cloud-credentials)
108
113
 
109
114
  ## Secret Scanner
110
115
 
@@ -117,7 +122,6 @@ straylight_scan(path="/home/user/my-project")
117
122
 
118
123
  - Detects AWS keys, GitHub PATs, Stripe keys, connection strings, private keys, and more
119
124
  - Returns file paths, line numbers, secret types, and severity
120
- - [Full documentation](https://aj-geddes.github.io/straylight-ai/docs/secret-scanner)
121
125
 
122
126
  ## File Firewall
123
127
 
@@ -131,16 +135,15 @@ straylight_read_file(path="docker-compose.yml")
131
135
 
132
136
  - Blocked file patterns: `.env*`, `*credentials*`, `*secret*`, `*.pem`, SSH keys
133
137
  - Legitimate files served clean — structure intact, secrets masked
134
- - [Full documentation](https://aj-geddes.github.io/straylight-ai/docs/file-firewall)
135
138
 
136
139
  ## Audit Trail
137
140
 
138
141
  Every credential access, API call, and command execution is logged with a timestamp, service name, tool used, and session ID. No credentials appear in the log.
139
142
 
140
- View the audit log in the dashboard at http://localhost:9470 or query it via the API.
141
-
142
- - Append-only local log, no retention cap on the free tier
143
- - [Full documentation](https://aj-geddes.github.io/straylight-ai/docs/audit-trail)
143
+ View the audit feed on the Dashboard page at http://localhost:9470, including:
144
+ - Event counts by type and by service
145
+ - Credential access frequency
146
+ - Recent activity with tool and request details
144
147
 
145
148
  ## Supported Services
146
149
 
@@ -152,7 +155,10 @@ View the audit log in the dashboard at http://localhost:9470 or query it via the
152
155
  - **Transport-layer injection** — credentials never exposed to the AI
153
156
  - **Output sanitization** — credential patterns stripped from all responses
154
157
  - **Dynamic database credentials** — temporary users with automatic revocation
155
- - **Non-root container** — UID 10001, minimal Alpine image
158
+ - **Temporary cloud credentials** — AWS STS, GCP, Azure tokens generated per invocation
159
+ - **Non-root container** — UID 10001, minimal Alpine 3.23 image
160
+ - **Go 1.25.8** — all stdlib CVEs patched
161
+ - **OpenBao 2.5.2** — all known CVEs patched
156
162
 
157
163
  ## Optional: Claude Code Hooks
158
164
 
@@ -173,10 +179,28 @@ For extra protection, add hooks that block credential-accessing commands and san
173
179
  }
174
180
  ```
175
181
 
182
+ ## FAQ
183
+
184
+ **Does my AI coding assistant ever see my credentials?**
185
+ No. Credentials stay inside the vault. The proxy injects them into HTTP requests. The AI only receives the API response, which is also sanitized for credential patterns.
186
+
187
+ **What happens if I restart the container?**
188
+ Credentials persist in the named Docker volume `straylight-ai-data`. The container re-unseals the vault and is operational within seconds.
189
+
190
+ **Can I use services not on the template list?**
191
+ Yes. Select "Custom Service" and provide the base URL and auth method.
192
+
193
+ **Does this work offline?**
194
+ Yes. Straylight runs entirely on your machine. You only need network access to reach the target APIs themselves.
195
+
196
+ **Is there a cloud/hosted version?**
197
+ No. Straylight is local-only by design. Your credentials never leave your machine.
198
+
176
199
  ## Links
177
200
 
178
201
  - [Documentation](https://aj-geddes.github.io/straylight-ai/docs/quickstart)
179
202
  - [GitHub](https://github.com/aj-geddes/straylight-ai)
203
+ - [Changelog](https://github.com/aj-geddes/straylight-ai/blob/main/CHANGELOG.md)
180
204
  - [Issues](https://github.com/aj-geddes/straylight-ai/issues)
181
205
 
182
206
  ## License
@@ -185,4 +209,4 @@ Apache-2.0
185
209
 
186
210
  ---
187
211
 
188
- Built by [High Velocity Solutions LLC](https://highvelocitysolutions.com)
212
+ Built by [High Velocity Solutions LLC](https://highvelocitysolutions-llc.com)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "straylight-ai",
3
- "version": "0.5.0",
3
+ "version": "1.0.0",
4
4
  "description": "Zero-knowledge credential proxy for AI agents",
5
5
  "bin": {
6
6
  "straylight-ai": "bin/cli.js",