@yiaany/ghostapi 0.1.2 → 0.1.4

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.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,28 @@ All notable changes to GhostAPI will be documented in this file.
4
4
 
5
5
  The format follows the spirit of [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project uses semantic versioning once public releases begin.
6
6
 
7
+ ## 0.1.4 - 2026-07-18
8
+
9
+ ### Fixed
10
+
11
+ - Revalidated npm README copy-paste snippets for the 30 second curl flow and OpenAI SDK setup.
12
+ - Updated generated Stripe setup snippets to use local `host`, `port`, and `protocol` options instead of the old `apiBase` example.
13
+ - Kept example keys explicit as `sk_test_ghostapi` and `sk-ghostapi` so public docs do not look redacted or broken.
14
+
15
+ ## 0.1.3 - 2026-07-18
16
+
17
+ ### Fixed
18
+
19
+ - Corrected npm installation commands to use the published package name `@yiaany/ghostapi`.
20
+ - Replaced unscoped package examples with `npx @yiaany/ghostapi` so copy-paste install works from npm.
21
+ - Updated Stripe SDK examples to point at local GhostAPI host, port, and protocol options.
22
+
23
+ ### Changed
24
+
25
+ - Shortened the npm README around install, a 30 second local win, MCP setup, and SDK examples.
26
+ - Updated npm package description and keywords for MCP, Stripe, OpenAI, Cursor, proxy, and sandbox discoverability.
27
+ - Moved React dashboard build dependencies out of runtime dependencies.
28
+
7
29
  ## 0.1.0 - 2026-07-14
8
30
 
9
31
  ### Added
package/README.md CHANGED
@@ -2,263 +2,137 @@
2
2
 
3
3
  **The local internet for AI coding agents.**
4
4
 
5
- GhostAPI runs on your machine and simulates third-party APIs like Stripe, Twilio, Resend, GitHub, Discord, OpenAI, and generic REST services. Point your app or coding agent at `localhost`, get realistic provider-shaped responses, inspect everything in a dashboard, replay scenarios, and never hit production by accident.
5
+ GhostAPI runs a local API sandbox on `http://127.0.0.1:8080` so coding agents can build and test Stripe, OpenAI, Twilio, Resend, GitHub, Discord, and REST integrations without touching production.
6
6
 
7
7
  ```bash
8
- npx ghostapi start --open
8
+ npx @yiaany/ghostapi start --open
9
9
  ```
10
10
 
11
11
  ```text
12
- Your app or agent -> http://127.0.0.1:8080 -> GhostAPI -> local state, cache, scenarios, chaos, dashboard
12
+ Your app or agent -> http://127.0.0.1:8080 -> GhostAPI -> dashboard, local state, scenarios, MCP tools
13
13
  ```
14
14
 
15
- ## Why GhostAPI Exists
15
+ ## Install
16
16
 
17
- AI agents are becoming excellent at writing integration code. They also run that code.
17
+ Run without installing:
18
18
 
19
- That is dangerous when the code touches real providers:
20
-
21
- - Stripe charges can become real money movement.
22
- - Twilio calls can send real SMS messages.
23
- - Resend calls can send real email.
24
- - GitHub calls can mutate real repositories.
25
- - OpenAI calls can spend real tokens and leak test data.
26
- - Production API keys can end up in logs, prompts, screenshots, or cache files.
27
-
28
- GhostAPI gives agents a safe world to develop in: local, observable, stateful, replayable, and controlled by MCP.
29
-
30
- ## What You Get
31
-
32
- - **Local API proxy** on `127.0.0.1:8080`.
33
- - **Provider-shaped mocks** for Stripe, Twilio, Resend, GitHub, Discord, OpenAI, and generic REST.
34
- - **Live dashboard** at `/dashboard` with traffic, request/response inspection, setup generation, scenarios, and Chaos Mode.
35
- - **MCP server** so Claude CLI, Claude Desktop, Cline, Aider, Codex, OpenCode CLI/Desktop, Gemini CLI, Goose, OpenClaw, Hermes Desktop, and other agents can inspect state and control API behavior.
36
- - **Scenario presets** for repeatable flows like payment failures and issue creation.
37
- - **Custom scenarios** saved from traffic or imported as JSON.
38
- - **Generated tests** from captured request/response events.
39
- - **Safety reports** that flag live provider hosts and live-looking keys.
40
- - **Copy-ready agent prompts** for Cursor, Claude, Cline, Aider, Codex, OpenCode, Gemini CLI, Goose, OpenClaw, Hermes, and any MCP client.
41
- - **Chaos Mode** for realistic `429`, `503`, and latency testing.
42
- - **Secret masking** before logs, cache, dashboard, events, or prompts.
43
- - **One-click repo setup** for agent rules and MCP config.
44
-
45
- ## Quick Start
19
+ ```bash
20
+ npx @yiaany/ghostapi start --open
21
+ ```
46
22
 
47
- Install globally:
23
+ Or install globally:
48
24
 
49
25
  ```bash
50
- npm install -g ghostapi
26
+ npm i -g @yiaany/ghostapi
51
27
  ghostapi start --open
52
28
  ```
53
29
 
54
- Or run without installing:
30
+ Dashboard:
55
31
 
56
- ```bash
57
- npx ghostapi start --open
32
+ ```text
33
+ http://127.0.0.1:8080/dashboard
58
34
  ```
59
35
 
60
- Open the dashboard manually:
36
+ Health check:
61
37
 
62
38
  ```bash
63
- ghostapi open
39
+ curl http://127.0.0.1:8080/health
64
40
  ```
65
41
 
66
- Health check:
42
+ ## 30 Second Win
43
+
44
+ Start GhostAPI:
67
45
 
68
46
  ```bash
69
- curl http://127.0.0.1:8080/health
47
+ npx @yiaany/ghostapi start --open
70
48
  ```
71
49
 
72
50
  Send a local API request:
73
51
 
74
52
  ```bash
75
- curl -X POST http://127.0.0.1:8080/tasks \
53
+ curl -X POST http://127.0.0.1:8080/v1/customers \
76
54
  -H "content-type: application/json" \
77
- -d '{"title":"Write integration tests","status":"open"}'
55
+ -H "authorization: Bearer sk_test_ghostapi" \
56
+ -d '{"email":"ada@example.com","name":"Ada Lovelace"}'
78
57
  ```
79
58
 
80
- Dashboard:
59
+ Open the dashboard and inspect the captured request:
81
60
 
82
61
  ```text
83
62
  http://127.0.0.1:8080/dashboard
84
63
  ```
85
64
 
86
- ## Agent Setup In One Command
87
-
88
- Generate copy-ready setup for the current repo:
89
-
90
- ```bash
91
- ghostapi setup
92
- ```
93
-
94
- Write setup files safely without overwriting existing files:
95
-
96
- ```bash
97
- ghostapi setup --write
98
- ```
99
-
100
- This detects SDKs in `package.json` and generates:
101
-
102
- - `.cursorrules`
103
- - `AGENTS.md`
104
- - `.cursor/mcp.json`
105
- - `cline_mcp_settings.json`
106
- - `claude_desktop_config.json`
107
- - `.ghostapi/agent-configs/*` snippets for Claude CLI, Claude Desktop, Cline, Aider, Codex, OpenCode CLI, OpenCode Desktop, Gemini CLI, Goose, OpenClaw, Hermes Desktop, and universal MCP clients
108
- - local env snippets
109
- - SDK client patches for detected providers
110
-
111
- The dashboard also includes **Agent Setup**, a copy-first onboarding modal for your agent stack.
112
-
113
- ## MCP Server
65
+ ## MCP Setup
114
66
 
115
67
  Start the MCP server:
116
68
 
117
69
  ```bash
118
- ghostapi mcp
70
+ npx @yiaany/ghostapi mcp
119
71
  ```
120
72
 
121
- Use this universal stdio MCP block in any client that supports MCP:
73
+ Universal stdio MCP config:
122
74
 
123
75
  ```json
124
76
  {
125
77
  "mcpServers": {
126
78
  "ghostapi": {
127
- "command": "ghostapi",
128
- "args": ["mcp"]
79
+ "command": "npx",
80
+ "args": ["-y", "@yiaany/ghostapi", "mcp"]
129
81
  }
130
82
  }
131
83
  }
132
84
  ```
133
85
 
134
- GhostAPI generates ready-to-copy snippets for:
135
-
136
- - Claude CLI
137
- - Claude Desktop
138
- - Cline
139
- - Aider
140
- - Codex
141
- - OpenCode CLI
142
- - OpenCode Desktop
143
- - Gemini CLI
144
- - Goose
145
- - OpenClaw
146
- - Hermes Desktop
147
- - any generic stdio MCP client
148
-
149
- Some clients use different config file locations or command names across versions. GhostAPI writes the canonical server block under `.ghostapi/agent-configs/` so you can paste the same `ghostapi mcp` server into the right place for your client.
86
+ Generate repo-specific setup snippets for Cursor, Claude, Cline, Aider, Codex, OpenCode, Gemini CLI, Goose, OpenClaw, Hermes Desktop, and generic MCP clients:
150
87
 
151
- If you are developing from source, use:
152
-
153
- ```json
154
- {
155
- "mcpServers": {
156
- "ghostapi": {
157
- "command": "node",
158
- "args": ["dist/cli/index.js", "mcp"]
159
- }
160
- }
161
- }
88
+ ```bash
89
+ npx @yiaany/ghostapi setup --write
162
90
  ```
163
91
 
164
- Available tools:
92
+ ## MCP Tools
165
93
 
166
94
  | Tool | Purpose |
167
95
  | --- | --- |
168
96
  | `inspect_state` | Read local API objects from `.ghostapi/state.json`. |
97
+ | `get_traffic_logs` | Inspect recent local traffic. |
169
98
  | `set_api_behavior` | Force a deterministic response for `method + path`. |
170
- | `get_traffic_logs` | Read recent local traffic events. |
171
- | `toggle_chaos_mode` | Enable or disable local failure injection. |
172
-
173
- This is the core product loop: the agent writes code, GhostAPI simulates the outside world, and MCP lets the agent inspect and control that world.
174
-
175
- ## Scenario Presets
176
-
177
- GhostAPI ships with replayable API flows:
99
+ | `toggle_chaos_mode` | Enable local latency and error injection. |
178
100
 
179
- - Stripe customer create
180
- - Stripe payment intent failure
181
- - Resend email send
182
- - GitHub issue create
101
+ ## Stripe Locally
183
102
 
184
- From the dashboard, open **Scenarios** and choose:
103
+ Install Stripe:
185
104
 
186
- - **Replay** to apply deterministic behavior overrides.
187
- - **Export** to copy portable scenario JSON.
188
- - **Share** to copy a compact `ghostapi://scenario/...` payload.
189
-
190
- Scenario APIs:
191
-
192
- ```http
193
- GET /api/scenarios
194
- POST /api/scenarios
195
- POST /api/scenarios/save-from-traffic
196
- POST /api/scenarios/:id/replay
197
- GET /api/scenarios/:id/export
198
- POST /api/scenarios/:id/share
105
+ ```bash
106
+ npm install stripe
199
107
  ```
200
108
 
201
- ## Agent Prompts, Tests, And Safety Reports
109
+ Point the Stripe SDK at GhostAPI:
202
110
 
203
- The dashboard includes copy-first actions for agent workflows:
204
-
205
- - **Copy Agent Prompt** gives any coding agent a clean GhostAPI operating prompt.
206
- - **Generate Test** turns a selected traffic event into a Vitest API test.
207
- - **Safety Report** scans the repo for live provider hosts and live-looking keys.
208
- - **Save current traffic** turns recent events into a replayable custom scenario.
209
-
210
- API endpoints:
111
+ ```ts
112
+ import Stripe from "stripe";
211
113
 
212
- ```http
213
- GET /api/agent-prompt
214
- GET /api/events/:id/test
215
- GET /api/safety-report
114
+ export const stripe = new Stripe(process.env.STRIPE_SECRET_KEY ?? "sk_test_ghostapi", {
115
+ host: process.env.GHOSTAPI_HOST ?? "127.0.0.1",
116
+ port: Number(process.env.GHOSTAPI_PORT ?? "8080"),
117
+ protocol: process.env.GHOSTAPI_PROTOCOL ?? "http"
118
+ });
216
119
  ```
217
120
 
218
- CLI safety report:
121
+ Now Stripe-shaped calls go to GhostAPI instead of real Stripe:
219
122
 
220
- ```bash
221
- ghostapi report
123
+ ```text
124
+ POST http://127.0.0.1:8080/v1/payment_intents
222
125
  ```
223
126
 
224
- ## Chaos Mode
127
+ ## OpenAI Locally
225
128
 
226
- Chaos Mode helps test retry logic and failure handling.
227
-
228
- When enabled:
229
-
230
- - 85% of requests pass through normally.
231
- - 15% get a simulated failure or delay.
232
- - Failures are provider-shaped `429` or upstream errors like `503`.
233
- - Latency is randomized between 2 and 5 seconds.
234
-
235
- Enable it from the dashboard or via MCP.
236
-
237
- ## Provider Support
238
-
239
- | Provider | Support |
240
- | --- | --- |
241
- | Stripe | Detection, validation, provider-shaped responses/errors, stateful objects. |
242
- | Twilio | Detection, validation, Twilio-shaped errors. |
243
- | Resend | Detection, validation, email-shaped mocks. |
244
- | GitHub | Detection and realistic REST-style mocks. |
245
- | Discord | Detection and local responses. |
246
- | OpenAI | Detection for chat, responses, embeddings, models, images, audio, files, assistants, threads, vector stores. |
247
- | Generic REST | Best-effort resource inference for unknown APIs. |
248
-
249
- ## Using SDKs Locally
250
-
251
- Stripe example:
252
-
253
- ```ts
254
- import Stripe from "stripe";
129
+ Install OpenAI:
255
130
 
256
- export const stripe = new Stripe(process.env.STRIPE_SECRET_KEY ?? "sk_test_ghostapi", {
257
- apiBase: process.env.GHOSTAPI_STRIPE_BASE_URL ?? "http://127.0.0.1:8080"
258
- });
131
+ ```bash
132
+ npm install openai
259
133
  ```
260
134
 
261
- OpenAI example:
135
+ Point the OpenAI SDK at GhostAPI:
262
136
 
263
137
  ```ts
264
138
  import OpenAI from "openai";
@@ -269,86 +143,48 @@ export const openai = new OpenAI({
269
143
  });
270
144
  ```
271
145
 
272
- ## CLI
273
-
274
- ```bash
275
- ghostapi start [--host 127.0.0.1] [--port 8080] [--model gpt-4o-mini] [--offline] [--https] [--open]
276
- ghostapi open [--host 127.0.0.1] [--port 8080] [--https]
277
- ghostapi setup [--write]
278
- ghostapi report
279
- ghostapi mcp
280
- ghostapi doctor [--port 8080]
281
- ghostapi init
282
- ghostapi clear cache|state|events|all
283
- ghostapi model get
284
- ghostapi model set <model>
285
- ghostapi providers list
286
- ghostapi providers inspect <provider>
287
- ```
288
-
289
- ## Local Files
290
-
291
- GhostAPI writes local development data under `.ghostapi/`:
292
-
293
- | Path | Purpose |
294
- | --- | --- |
295
- | `.ghostapi/config.json` | Project config. |
296
- | `.ghostapi/state.json` | Local API object state. |
297
- | `.ghostapi/events.jsonl` | Persisted request events. |
298
- | `.ghostapi/behaviors.json` | Deterministic behavior overrides from MCP/scenarios. |
299
- | `.ghostapi/cache/*` | Cached mock responses. |
300
-
301
- These files are local development artifacts and should not contain production secrets.
146
+ ## Agent Prompt
302
147
 
303
- ## Safety Model
304
-
305
- - No real provider calls by default.
306
- - Offline fallback works without an LLM key.
307
- - Secrets are masked from logs, dashboard, cache keys, event history, and AI prompts.
308
- - Dashboard mutation APIs reject hostile cross-origin requests.
309
- - Setup writing never overwrites existing files.
310
- - Chaos Mode is opt-in.
311
-
312
- ## Development
148
+ ```text
149
+ Use the GhostAPI MCP server.
313
150
 
314
- Install dependencies:
151
+ Keep all third-party API calls local on http://127.0.0.1:8080.
152
+ Do not call real providers.
315
153
 
316
- ```bash
317
- npm install
154
+ Use GhostAPI MCP tools to inspect state, read traffic logs, configure deterministic responses, and test failure scenarios.
318
155
  ```
319
156
 
320
- Run from source:
157
+ ## Common Commands
321
158
 
322
159
  ```bash
323
- npm run dev
160
+ npx @yiaany/ghostapi start --open
161
+ npx @yiaany/ghostapi open
162
+ npx @yiaany/ghostapi setup --write
163
+ npx @yiaany/ghostapi mcp
164
+ npx @yiaany/ghostapi report
165
+ npx @yiaany/ghostapi doctor --port 8080
166
+ npx @yiaany/ghostapi clear cache|state|events|all
167
+ npx @yiaany/ghostapi providers list
168
+ npx @yiaany/ghostapi providers inspect stripe
324
169
  ```
325
170
 
326
- Verify:
171
+ ## Why
327
172
 
328
- ```bash
329
- npm run typecheck
330
- npm test
331
- npm run build
332
- npm pack --dry-run
333
- ```
173
+ AI agents are great at writing integration code. They also run that code. GhostAPI gives them a safe local world where failures are realistic, traffic is visible, scenarios are replayable, and production keys never need to be used.
334
174
 
335
- Current hardening status:
175
+ ## Safety
336
176
 
337
- - Typecheck passing.
338
- - Test suite passing: 21 files, 97 tests.
339
- - Build passing.
340
- - Package dry-run passing.
341
- - Real dashboard and HTTP smoke checks passing.
177
+ - No real provider calls by default.
178
+ - Keep SDKs pointed at `http://127.0.0.1:8080`.
179
+ - Use test-looking keys like `sk_test_ghostapi`.
180
+ - Secrets are masked before logs, cache, dashboard, events, and prompts.
181
+ - Chaos Mode is opt-in.
342
182
 
343
- ## Roadmap
183
+ ## Docs
344
184
 
345
- - Scenario import and custom scenario builder.
346
- - Record/replay from real traffic.
347
- - More provider packs.
348
- - CI mode for agent-generated integration tests.
349
- - Shared team workspaces.
350
- - Hosted docs and landing site.
185
+ - GitHub: https://github.com/ghostapi/ghostapi
186
+ - Issues: https://github.com/ghostapi/ghostapi/issues
351
187
 
352
188
  ## License
353
189
 
354
- MIT. See [LICENSE](./LICENSE).
190
+ MIT
@@ -75,9 +75,9 @@ function generateStripeOfflineMock(request) {
75
75
  const path = request.path;
76
76
  const body = copyObjectBody(request.body);
77
77
  if (isLikelyCollectionPath(request.method, path)) {
78
- return { object: "list", data: [stripeObjectForPath(path, body)], has_more: false, url: path };
78
+ return annotateMock({ object: "list", data: [annotateMock(stripeObjectForPath(path, body), request, "stripe")], has_more: false, url: path }, request, "stripe");
79
79
  }
80
- return stripeObjectForPath(path, body);
80
+ return annotateMock(stripeObjectForPath(path, body), request, "stripe");
81
81
  }
82
82
  function stripeObjectForPath(path, body) {
83
83
  const now = Math.floor(Date.now() / 1000);
@@ -128,20 +128,20 @@ function stripeObjectForPath(path, body) {
128
128
  function generateOpenAiOfflineMock(request) {
129
129
  const model = readString(copyObjectBody(request.body).model, "gpt-4o-mini");
130
130
  if (request.path.includes("/chat/completions")) {
131
- return {
131
+ return annotateMock({
132
132
  id: `chatcmpl_mock_${Date.now().toString(36)}`,
133
133
  object: "chat.completion",
134
134
  created: Math.floor(Date.now() / 1000),
135
135
  model,
136
136
  choices: [{ index: 0, message: { role: "assistant", content: "Mock response from GhostAPI." }, finish_reason: "stop" }],
137
137
  usage: { prompt_tokens: 12, completion_tokens: 6, total_tokens: 18 }
138
- };
138
+ }, request, "openai");
139
139
  }
140
- return { id: `openai_mock_${Date.now().toString(36)}`, object: inferResourceName(request.path), model, created: Math.floor(Date.now() / 1000) };
140
+ return annotateMock({ id: `openai_mock_${Date.now().toString(36)}`, object: inferResourceName(request.path), model, created: Math.floor(Date.now() / 1000) }, request, "openai");
141
141
  }
142
142
  function generateTwilioOfflineMock(request) {
143
143
  const body = copyObjectBody(request.body);
144
- return {
144
+ return annotateMock({
145
145
  sid: `SM${Date.now().toString(36).padEnd(32, "0").slice(0, 32)}`,
146
146
  account_sid: "AC00000000000000000000000000000000",
147
147
  status: "queued",
@@ -150,25 +150,25 @@ function generateTwilioOfflineMock(request) {
150
150
  to: readString(body.To ?? body.to, "+15550000002"),
151
151
  body: readString(body.Body ?? body.body, "Mock message from GhostAPI."),
152
152
  date_created: new Date().toUTCString()
153
- };
153
+ }, request, "twilio");
154
154
  }
155
- function generateResendOfflineMock(_request) {
156
- return { id: `email_mock_${Date.now().toString(36)}` };
155
+ function generateResendOfflineMock(request) {
156
+ return annotateMock({ id: `email_mock_${Date.now().toString(36)}` }, request, "resend");
157
157
  }
158
158
  function generateGithubOfflineMock(request) {
159
159
  const body = copyObjectBody(request.body);
160
- return {
160
+ return annotateMock({
161
161
  id: Date.now(),
162
162
  node_id: `NODE_mock_${Date.now().toString(36)}`,
163
163
  name: readString(body.name, inferResourceName(request.path)),
164
164
  full_name: readString(body.full_name, `ghostapi/${inferResourceName(request.path)}`),
165
165
  html_url: "https://github.com/ghostapi/mock",
166
166
  private: false
167
- };
167
+ }, request, "github");
168
168
  }
169
169
  function generateDiscordOfflineMock(request) {
170
170
  const body = copyObjectBody(request.body);
171
- return {
171
+ return annotateMock({
172
172
  id: String(Date.now()),
173
173
  type: 0,
174
174
  content: readString(body.content, "Mock Discord message from GhostAPI."),
@@ -176,7 +176,7 @@ function generateDiscordOfflineMock(request) {
176
176
  author: { id: "000000000000000001", username: "ghostapi", bot: true },
177
177
  timestamp: new Date().toISOString(),
178
178
  path: request.path
179
- };
179
+ }, request, "discord");
180
180
  }
181
181
  function generateGenericOfflineMock(request) {
182
182
  const resource = inferResourceName(request.path);
@@ -203,6 +203,9 @@ function copyObjectBody(body) {
203
203
  return {};
204
204
  return body;
205
205
  }
206
+ function annotateMock(body, request, provider) {
207
+ return { ...body, provider, method: request.method, path: request.path };
208
+ }
206
209
  function readString(value, fallback) {
207
210
  return typeof value === "string" && value.trim() !== "" ? value : fallback;
208
211
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aiGenerator.js","sourceRoot":"","sources":["../../src/ai/aiGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aiGenerator.js","sourceRoot":"","sources":["../../src/ai/aiGenerator.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ export async function generateSafetyReport(projectRoot = process.cwd()) {
16
16
  if (/sk_live_[A-Za-z0-9]+/.test(content)) {
17
17
  findings.push({ severity: "high", message: "Live-looking Stripe key appears in source.", file });
18
18
  }
19
- if (/STRIPE_SECRET_KEY|OPENAI_API_KEY|TWILIO_AUTH_TOKEN/.test(content) && !/GHOSTAPI_|apiBase|baseURL/.test(content)) {
19
+ if (/STRIPE_SECRET_KEY|OPENAI_API_KEY|TWILIO_AUTH_TOKEN/.test(content) && !/GHOSTAPI_|host:|baseURL/.test(content)) {
20
20
  findings.push({ severity: "medium", message: "Provider secret is referenced without an obvious GhostAPI local override nearby.", file });
21
21
  }
22
22
  }
@@ -55,7 +55,7 @@ async function collectFiles(root, dir, limit, acc = []) {
55
55
  function buildRecommendations(detected, findings) {
56
56
  const recommendations = ["Run ghostapi setup --write to generate agent rules and MCP snippets.", "Use ghostapi start --open during local integration work."];
57
57
  if (detected.includes("stripe"))
58
- recommendations.push("Configure Stripe with apiBase: process.env.GHOSTAPI_STRIPE_BASE_URL ?? 'http://127.0.0.1:8080'.");
58
+ recommendations.push("Configure Stripe with host: '127.0.0.1', port: 8080, and protocol: 'http' for local GhostAPI calls.");
59
59
  if (detected.includes("openai"))
60
60
  recommendations.push("Configure OpenAI with baseURL: process.env.GHOSTAPI_OPENAI_BASE_URL ?? 'http://127.0.0.1:8080/v1'.");
61
61
  if (findings.some((finding) => finding.severity === "high"))
@@ -1 +1 @@
1
- {"version":3,"file":"safetyReport.js","sourceRoot":"","sources":["../../src/report/safetyReport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"safetyReport.js","sourceRoot":"","sources":["../../src/report/safetyReport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAoB,MAAM,yBAAyB,CAAC;AAexF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC;AACrF,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEnG,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;IACpE,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAoB,EAAE,CAAC;IAErC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;IAChE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QAChE,IAAI,qDAAqD,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxE,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,6CAA6C,EAAE,IAAI,EAAE,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,4CAA4C,EAAE,IAAI,EAAE,CAAC,CAAC;QACnG,CAAC;QACD,IAAI,oDAAoD,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACnH,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,kFAAkF,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3I,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW;QACX,QAAQ;QACR,QAAQ;QACR,eAAe,EAAE,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,IAAY,EAAE,GAAW,EAAE,KAAa,EAAE,MAAgB,EAAE;IACtF,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK;QAAE,OAAO,GAAG,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAChE,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK;YAAE,MAAM;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,MAAM,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/E,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,SAAS;QAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAC1D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,IAAI,GAAG,OAAO;YAAE,SAAS;QAClC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAuB,EAAE,QAAyB;IAC9E,MAAM,eAAe,GAAG,CAAC,sEAAsE,EAAE,0DAA0D,CAAC,CAAC;IAC7J,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,eAAe,CAAC,IAAI,CAAC,qGAAqG,CAAC,CAAC;IAC7J,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,eAAe,CAAC,IAAI,CAAC,oGAAoG,CAAC,CAAC;IAC5J,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC;QAAE,eAAe,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;IAC/J,OAAO,eAAe,CAAC;AACzB,CAAC"}
@@ -20,7 +20,7 @@ function buildCursorRules(detected) {
20
20
  ""
21
21
  ];
22
22
  if (detected.includes("stripe")) {
23
- lines.push("## Stripe", "", "This project depends on `stripe`. Configure the Stripe client to use GhostAPI in local development:", "", "```ts", "import Stripe from \"stripe\";", "", "export const stripe = new Stripe(process.env.STRIPE_SECRET_KEY ?? \"sk_test_ghostapi\", {", " apiBase: process.env.GHOSTAPI_STRIPE_BASE_URL ?? \"http://127.0.0.1:8080\"", "});", "```", "", "Prefer `GHOSTAPI_STRIPE_BASE_URL=http://127.0.0.1:8080` in local env files instead of hard-coding production URLs.", "When writing tests, assert behavior against GhostAPI responses and avoid using live Stripe credentials.", "");
23
+ lines.push("## Stripe", "", "This project depends on `stripe`. Configure the Stripe client to use GhostAPI in local development:", "", "```ts", "import Stripe from \"stripe\";", "", "export const stripe = new Stripe(process.env.STRIPE_SECRET_KEY ?? \"sk_test_ghostapi\", {", " host: process.env.GHOSTAPI_HOST ?? \"127.0.0.1\",", " port: Number(process.env.GHOSTAPI_PORT ?? \"8080\"),", " protocol: process.env.GHOSTAPI_PROTOCOL ?? \"http\"", "});", "```", "", "Prefer `GHOSTAPI_HOST=127.0.0.1`, `GHOSTAPI_PORT=8080`, and `GHOSTAPI_PROTOCOL=http` in local env files instead of hard-coding production URLs.", "When writing tests, assert behavior against GhostAPI responses and avoid using live Stripe credentials.", "");
24
24
  }
25
25
  if (detected.length === 0) {
26
26
  lines.push("## No Known SDKs Detected", "", "No first-class provider SDK was found in `package.json`. For raw HTTP clients, set the API base URL to `http://127.0.0.1:8080` during local development.", "");
@@ -1 +1 @@
1
- {"version":3,"file":"aiRules.js","sourceRoot":"","sources":["../../src/rules/aiRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAStE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;IAC/D,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,OAAO;QACL,QAAQ,EAAE,cAAc;QACxB,WAAW;QACX,QAAQ;QACR,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAkB;IAC1C,MAAM,KAAK,GAAG;QACZ,wBAAwB;QACxB,EAAE;QACF,kFAAkF;QAClF,oGAAoG;QACpG,wEAAwE;QACxE,yIAAyI;QACzI,EAAE;KACH,CAAC;IAEF,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CACR,WAAW,EACX,EAAE,EACF,qGAAqG,EACrG,EAAE,EACF,OAAO,EACP,gCAAgC,EAChC,EAAE,EACF,2FAA2F,EAC3F,8EAA8E,EAC9E,KAAK,EACL,KAAK,EACL,EAAE,EACF,oHAAoH,EACpH,yGAAyG,EACzG,EAAE,CACH,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CACR,2BAA2B,EAC3B,EAAE,EACF,0JAA0J,EAC1J,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CACR,kBAAkB,EAClB,EAAE,EACF,4JAA4J,EAC5J,EAAE,CACH,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"aiRules.js","sourceRoot":"","sources":["../../src/rules/aiRules.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAStE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;IAC/D,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACzC,OAAO;QACL,QAAQ,EAAE,cAAc;QACxB,WAAW;QACX,QAAQ;QACR,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAkB;IAC1C,MAAM,KAAK,GAAG;QACZ,wBAAwB;QACxB,EAAE;QACF,kFAAkF;QAClF,oGAAoG;QACpG,wEAAwE;QACxE,yIAAyI;QACzI,EAAE;KACH,CAAC;IAEF,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CACR,WAAW,EACX,EAAE,EACF,qGAAqG,EACrG,EAAE,EACF,OAAO,EACP,gCAAgC,EAChC,EAAE,EACF,2FAA2F,EAC3F,qDAAqD,EACrD,wDAAwD,EACxD,uDAAuD,EACvD,KAAK,EACL,KAAK,EACL,EAAE,EACF,iJAAiJ,EACjJ,yGAAyG,EACzG,EAAE,CACH,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CACR,2BAA2B,EAC3B,EAAE,EACF,0JAA0J,EAC1J,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CACR,kBAAkB,EAClB,EAAE,EACF,4JAA4J,EAC5J,EAAE,CACH,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -123,8 +123,10 @@ function buildPatches(detected) {
123
123
  appliesTo: ".env.local",
124
124
  content: [
125
125
  "GHOSTAPI_BASE_URL=http://127.0.0.1:8080",
126
- "GHOSTAPI_STRIPE_BASE_URL=http://127.0.0.1:8080",
127
- "GHOSTAPI_OPENAI_BASE_URL=http://127.0.0.1:8080"
126
+ "GHOSTAPI_HOST=127.0.0.1",
127
+ "GHOSTAPI_PORT=8080",
128
+ "GHOSTAPI_PROTOCOL=http",
129
+ "GHOSTAPI_OPENAI_BASE_URL=http://127.0.0.1:8080/v1"
128
130
  ].join("\n")
129
131
  }
130
132
  ];
@@ -136,7 +138,9 @@ function buildPatches(detected) {
136
138
  "import Stripe from \"stripe\";",
137
139
  "",
138
140
  "export const stripe = new Stripe(process.env.STRIPE_SECRET_KEY ?? \"sk_test_ghostapi\", {",
139
- " apiBase: process.env.GHOSTAPI_STRIPE_BASE_URL ?? \"http://127.0.0.1:8080\"",
141
+ " host: process.env.GHOSTAPI_HOST ?? \"127.0.0.1\",",
142
+ " port: Number(process.env.GHOSTAPI_PORT ?? \"8080\"),",
143
+ " protocol: process.env.GHOSTAPI_PROTOCOL ?? \"http\"",
140
144
  "});"
141
145
  ].join("\n")
142
146
  });
@@ -1 +1 @@
1
- {"version":3,"file":"setupGenerator.js","sourceRoot":"","sources":["../../src/setup/setupGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setupGenerator.js","sourceRoot":"","sources":["../../src/setup/setupGenerator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@yiaany/ghostapi",
3
- "version": "0.1.2",
4
- "description": "Local zero-config internet simulator and mock server for AI coding agents.",
3
+ "version": "0.1.4",
4
+ "description": "The local internet for AI coding agents.",
5
5
  "type": "module",
6
6
  "repository": {
7
7
  "type": "git",
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "homepage": "https://github.com/ghostapi/ghostapi#readme",
14
14
  "bin": {
15
- "ghostapi": "./dist/cli/index.js"
15
+ "ghostapi": "dist/cli/index.js"
16
16
  },
17
17
  "files": [
18
18
  "dist",
@@ -33,6 +33,12 @@
33
33
  "test": "vitest run"
34
34
  },
35
35
  "keywords": [
36
+ "mcp",
37
+ "stripe",
38
+ "openai",
39
+ "cursor",
40
+ "proxy",
41
+ "sandbox",
36
42
  "mock-server",
37
43
  "local-development",
38
44
  "ai-agents",
@@ -45,8 +51,6 @@
45
51
  "dependencies": {
46
52
  "@modelcontextprotocol/sdk": "^1.29.0",
47
53
  "express": "^4.19.2",
48
- "react": "^19.2.3",
49
- "react-dom": "^19.2.3",
50
54
  "selfsigned": "^5.5.0",
51
55
  "zod": "^4.4.3"
52
56
  },
@@ -56,6 +60,8 @@
56
60
  "@types/react": "^19.2.7",
57
61
  "@types/react-dom": "^19.2.3",
58
62
  "@vitejs/plugin-react": "^4.7.0",
63
+ "react": "^19.2.3",
64
+ "react-dom": "^19.2.3",
59
65
  "tsx": "^4.16.2",
60
66
  "typescript": "^5.5.3",
61
67
  "vite": "^5.4.21",