@vmise/aipi-companion 0.4.0 → 0.4.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/README.md CHANGED
@@ -44,7 +44,7 @@ Ask Codex to **open my AIPI dashboard**, run `aipi open`, or run `npm run dashbo
44
44
  - Automatic recognition of common frontend calls, backend routes, database tables, and integration gaps
45
45
  - A living Project summary separating backend problems, frontend corrections, schema issues, evidence freshness, goals, tasks, and iteration history
46
46
 
47
- The local companion binds only to `127.0.0.1` and defaults to `http://127.0.0.1:49152`. `aipi open` starts or reuses the daemon, creates a short-lived session token, and opens the cloud dashboard with the local connection parameters. Visiting `/dashboard/` directly shows the shell only; use `aipi open` so the URL includes `#port=...&token=...`.
47
+ The local companion binds only to `127.0.0.1` and defaults to `http://127.0.0.1:49152`. `aipi open` starts or reuses the daemon and opens an authenticated, same-origin local dashboard for the selected project. The hosted dashboard connects through the opt-in outbound pairing bridge instead of asking a public page to call browser loopback.
48
48
 
49
49
  ## Deployment and installation model
50
50
 
@@ -55,23 +55,26 @@ Install and initialize the companion:
55
55
  ```bash
56
56
  cd /path/to/your/project
57
57
  npx @vmise/aipi-companion init
58
- npx @vmise/aipi-companion open --app https://aipi.website/dashboard/
59
58
  ```
60
59
 
61
60
  For one-off execution, use:
62
61
 
63
62
  ```bash
64
- npx @vmise/aipi-companion open --app https://aipi.website/dashboard/
63
+ npx @vmise/aipi-companion open
65
64
  ```
66
65
 
67
- Register the local MCP server in the IDE:
66
+ Setup configures project-local MCP connections for Codex, Cursor and VS Code, starts or reuses the companion, registers the source folder, and opens the project's local dashboard. Running the package without arguments performs the same setup. No global installation is needed. Reload your IDE after first setup and accept its project trust prompt if shown. Codex project configuration applies to trusted projects ([configuration documentation](https://learn.chatgpt.com/docs/extend/mcp?surface=cli)).
67
+
68
+ For automation, `init --no-open` performs setup without launching a browser; `init --config-only` only writes configuration. Existing project settings and unrelated MCP entries are preserved. Plain `npm install` only downloads the package; use the command above to launch setup.
69
+
70
+ The generated Cursor MCP entry looks like:
68
71
 
69
72
  ```json
70
73
  {
71
74
  "mcpServers": {
72
75
  "aipi": {
73
- "command": "aipi",
74
- "args": ["mcp"]
76
+ "command": "npx",
77
+ "args": ["-y", "@vmise/aipi-companion", "mcp", "--root", "/path/to/your/project"]
75
78
  }
76
79
  }
77
80
  }
@@ -79,6 +82,24 @@ Register the local MCP server in the IDE:
79
82
 
80
83
  `aipi init` writes `.aipirc.json`, detects common source roots such as `apps/web`, `apps/api`, `prisma`, and `supabase`, and injects the AIPI MCP entry into local Cursor and VS Code config. `aipi daemon` owns the loopback server, while `aipi mcp` is a thin client: it reuses an existing daemon or starts one silently before serving MCP over stdio.
81
84
 
85
+ Use `aipi status` for a quick connection check and `aipi doctor --root .` to verify the project and IDE configuration. To collect framework-neutral OpenTelemetry evidence while running a development process, use:
86
+
87
+ ```bash
88
+ npx @vmise/aipi-companion run -- npm run dev
89
+ ```
90
+
91
+ This starts or reuses the companion, selects the current project, and supplies an authenticated local OTLP/HTTP JSON endpoint to the child process. The application still needs its normal OpenTelemetry SDK or auto-instrumentation package; AIPI does not inject third-party instrumentation into source code.
92
+
93
+ When direct browser-to-loopback access is blocked, a configured AIPI remote Worker can provide a short-lived outbound pairing relay. Keep the access token out of shell history:
94
+
95
+ ```bash
96
+ AIPI_ACCESS_TOKEN="..." npx @vmise/aipi-companion pair \
97
+ --relay https://your-aipi-remote-worker.example \
98
+ --app https://aipi.website/dashboard/
99
+ ```
100
+
101
+ Pairing expires after ten minutes, uses different dashboard and companion secrets, relays only allowlisted dashboard operations, and does not expose MCP tool calls. The same-origin local dashboard remains the no-account default.
102
+
82
103
  See the hosted [installation guide](https://aipi.website/install.html) for the cloud dashboard, pairing flow, data boundary, and troubleshooting model.
83
104
 
84
105
  ## Codex tools
@@ -128,7 +149,7 @@ The prototype now includes shared packages for redaction and evidence, repositor
128
149
  packages/
129
150
  ├── core/ redaction, route normalization, run comparison, fix plans
130
151
  ├── collection-schema/ repository-native project/request serialization
131
- ├── contract-engine/ Next.js + Zod route tracing and deterministic type diffs
152
+ ├── contract-engine/ Next.js, Node HTTP, Supabase + Zod tracing and deterministic diffs
132
153
  ├── integration-map/ endpoint context and issue model
133
154
  ├── local-observer/ redacted loopback request/response capture
134
155
  ├── remote-registry/ file/Supabase registry and blast-radius engine
@@ -216,13 +237,15 @@ AIPI requires Node.js 22 or later. Production dependencies are deliberately limi
216
237
  ```bash
217
238
  npm run validate
218
239
  npm run build
240
+ npm run test:regression
241
+ npm run test:integration
219
242
  npm test
220
243
  npm run benchmark:startup
221
244
  npm run demo:aipi
222
245
  npm run dashboard
223
246
  ```
224
247
 
225
- The self-test starts disposable local and remote APIs, captures traffic, traces the demo Next.js route, detects its Zod contract mismatch, diagnoses a runtime failure, generates a Vitest fixture, verifies cross-repository blast radius, exercises both MCP handshakes, loads the dashboard, and imports an OpenAPI document.
248
+ The port-free regression test validates adapters, AST extraction, Zod constraints, traffic redaction, fixture anonymization, and honest unknown blast-radius status without opening a network socket. The integration test additionally starts disposable local and remote APIs, captures traffic, traces the demo route, detects its contract mismatch, diagnoses a runtime failure, generates a Vitest fixture, verifies cross-repository blast radius, exercises both MCP handshakes, loads the dashboard, and imports an OpenAPI document. GitHub Actions runs both layers independently on Linux, macOS, and Windows.
226
249
 
227
250
  Source scans now capture the Git commit, branch, working-tree state, and changed files for every configured root. Project summaries and verification tools report whether the current repository still matches the evidence baseline.
228
251
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vmise/aipi-companion",
3
- "version": "0.4.0",
3
+ "version": "0.4.4",
4
4
  "description": "AIPI local companion and MCP server for AI-powered API intelligence.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,6 +17,7 @@
17
17
  },
18
18
  "files": [
19
19
  "scripts/aipi-cli-bundle.mjs",
20
+ "scripts/aipi-mcp-bundle.mjs",
20
21
  "README.md",
21
22
  "LICENSE"
22
23
  ],
@@ -43,7 +44,12 @@
43
44
  "observe": "node packages/cli/bin/api-forge.mjs observe",
44
45
  "guard": "node packages/cli/bin/api-forge.mjs guard",
45
46
  "cli": "node packages/cli/bin/api-forge.mjs",
46
- "test": "node scripts/self-test.mjs && tsx scripts/cloud-smoke.ts",
47
+ "test": "npm run test:regression && npm run test:setup && npm run test:handshake && npm run test:integration && npm run test:cloud",
48
+ "test:regression": "node scripts/regression-test.mjs",
49
+ "test:setup": "node scripts/setup-smoke.mjs",
50
+ "test:handshake": "node scripts/handshake-smoke.mjs",
51
+ "test:integration": "node scripts/self-test.mjs && node scripts/origin-smoke.mjs",
52
+ "test:cloud": "tsx scripts/cloud-smoke.mjs",
47
53
  "validate": "node scripts/validate-project.mjs"
48
54
  },
49
55
  "license": "MIT",