@vmise/aipi-companion 0.4.0 → 0.4.3
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 +31 -8
- package/package.json +8 -2
- package/scripts/aipi-cli-bundle.mjs +2348 -1400
- package/scripts/aipi-mcp-bundle.mjs +287274 -0
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
|
|
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
|
|
63
|
+
npx @vmise/aipi-companion open
|
|
65
64
|
```
|
|
66
65
|
|
|
67
|
-
|
|
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": "
|
|
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
|
|
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
|
|
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.
|
|
3
|
+
"version": "0.4.3",
|
|
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": "
|
|
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",
|