sparda-mcp 0.71.3 → 0.71.5

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
@@ -1,8 +1,6 @@
1
1
  # SPARDA
2
2
 
3
- <div align="center">
4
- <img src="assets/logo-presentation.png" alt="SPARDA Banner" width="800" />
5
- </div>
3
+ <div align="center">`r`n <img src="https://raw.githubusercontent.com/zakariagharzouli/sparda/main/assets/sparda-readme-banner-dark-1600x480.png" alt="SPARDA — AI writes. SPARDA proves." width="800" />`r`n</div>
6
4
 
7
5
  <br/>
8
6
 
@@ -16,7 +14,7 @@
16
14
  **The trust layer for AI-written backends.** SPARDA compiles your backend — routes, database queries, state mutations, guards, side-effects — into one deterministic behavior graph, then **statically proves what can and can't break before you ship**: no unguarded mutation, no broken invariant, no non-atomic aggregate write.
17
15
 
18
16
  [![npm](https://img.shields.io/npm/v/sparda-mcp)](https://www.npmjs.com/package/sparda-mcp)
19
- [![CI](https://github.com/zyx77550/sparda/actions/workflows/ci.yml/badge.svg)](https://github.com/zyx77550/sparda/actions/workflows/ci.yml)
17
+ [![CI](https://github.com/zakariagharzouli/sparda/actions/workflows/ci.yml/badge.svg)](https://github.com/zakariagharzouli/sparda/actions/workflows/ci.yml)
20
18
  ![node](https://img.shields.io/badge/node-%3E%3D18-brightgreen)
21
19
  ![runtime deps](https://img.shields.io/badge/runtime%20deps-4%20pinned-4c1)
22
20
  [![license](https://img.shields.io/badge/license-BUSL--1.1-blue)](./LICENSE)
@@ -184,7 +182,7 @@ If any Critical or High finding is found, `apocalypse` exits with a non-zero cod
184
182
  **One step in your workflow — findings land in the GitHub Security tab (SARIF):**
185
183
 
186
184
  ```yaml
187
- - uses: zyx77550/sparda@main
185
+ - uses: zakariagharzouli/sparda@main
188
186
  with:
189
187
  sarif: 'true'
190
188
  ```
@@ -263,11 +261,6 @@ To undo everything: **`npx sparda-mcp remove`** restores your code byte-for-byte
263
261
 
264
262
  ## The promise — every word is backed by a test in CI
265
263
 
266
- <div align="center">
267
- <img src="assets/features-presentation.png" alt="SPARDA Features" width="800" />
268
- </div>
269
-
270
- <br/>
271
264
 
272
265
  1. **Three minutes, one command.** AST scan, router generation, reversible injection — no config.
273
266
  2. **Try it for free, leave for free.** `npx sparda-mcp remove` restores your code **byte-for-byte** (tested on JS, TS, Python, even Windows CRLF files). No trace, no lock-in.
@@ -405,10 +398,5 @@ crippled to upsell you.
405
398
  You may not resell SPARDA or offer it as a competing commercial service.
406
399
  Each version converts to Apache 2.0 four years after its release.
407
400
 
408
- <div align="center">
409
- <img src="assets/github-star.png" alt="Leave a Star" width="600" />
410
- </div>
411
-
412
- <br/>
413
401
 
414
402
  By [Residual Labs](https://residual-labs.fr)
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "sparda-mcp",
3
- "version": "0.71.3",
4
- "mcpName": "io.github.zyx77550/sparda-mcp",
3
+ "version": "0.71.5",
4
+ "mcpName": "io.github.zakariagharzouli/sparda-mcp",
5
5
  "description": "AI writes. SPARDA proves. A deterministic, offline gate that catches when an AI edit removes a guard, exposes a route, or breaks an invariant \u2014 no API key, right in the agent edit loop.",
6
6
  "type": "module",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "git+https://github.com/zyx77550/sparda.git"
9
+ "url": "git+https://github.com/zakariagharzouli/sparda.git"
10
10
  },
11
- "homepage": "https://github.com/zyx77550/sparda#readme",
11
+ "homepage": "https://github.com/zakariagharzouli/sparda#readme",
12
12
  "bugs": {
13
- "url": "https://github.com/zyx77550/sparda/issues"
13
+ "url": "https://github.com/zakariagharzouli/sparda/issues"
14
14
  },
15
15
  "bin": {
16
16
  "sparda": "src/index.js"
@@ -205,7 +205,7 @@ function toSarif(findings, canonical) {
205
205
  tool: {
206
206
  driver: {
207
207
  name: 'sparda-apocalypse',
208
- informationUri: 'https://github.com/zyx77550/sparda',
208
+ informationUri: 'https://github.com/zakariagharzouli/sparda',
209
209
  rules: [...new Set(findings.map((f) => f.rule))].sort().map((id) => ({ id })),
210
210
  },
211
211
  },
@@ -275,7 +275,7 @@ function proveMarkdown({ verdict, report, findings, coverage, seal }) {
275
275
  }
276
276
  lines.push(
277
277
  '',
278
- `<sub>Proven locally by [SPARDA](https://github.com/zyx77550/sparda) — deterministic, no keys · seal \`${seal}\`</sub>`,
278
+ `<sub>Proven locally by [SPARDA](https://github.com/zakariagharzouli/sparda) — deterministic, no keys · seal \`${seal}\`</sub>`,
279
279
  );
280
280
  return lines.join('\n');
281
281
  }
@@ -40,7 +40,7 @@ export async function runUbg(opts) {
40
40
  ` ◐ 0 routes — SPARDA saw the framework but no route handlers. Run with --verbose,`,
41
41
  );
42
42
  console.log(
43
- ` or open an issue with your layout: github.com/zyx77550/sparda/issues`,
43
+ ` or open an issue with your layout: github.com/zakariagharzouli/sparda/issues`,
44
44
  );
45
45
  }
46
46
  }
package/src/detect.js CHANGED
@@ -106,7 +106,7 @@ export function detectStack(cwd) {
106
106
  if (known)
107
107
  throw err(
108
108
  `${known} detected — not supported yet. Express, NestJS, FastAPI & Flask in v0.`,
109
- '+1 the framework vote: github.com/zyx77550/sparda/issues/1',
109
+ '+1 the framework vote: github.com/zakariagharzouli/sparda/issues/1',
110
110
  );
111
111
  }
112
112
  for (const f of ['requirements.txt', 'pyproject.toml']) {
package/src/index.js CHANGED
@@ -334,7 +334,7 @@ By Residual Labs — residual-labs.fr`);
334
334
  if (opts.verbose && err?.stack) console.error(err.stack);
335
335
  else
336
336
  console.error(
337
- ' (run with --verbose for details — or open an issue: github.com/zyx77550/sparda/issues)',
337
+ ' (run with --verbose for details — or open an issue: github.com/zakariagharzouli/sparda/issues)',
338
338
  );
339
339
  process.exit(err?.code === 'USER' ? 1 : 2);
340
340
  }
@@ -359,7 +359,7 @@ export async function startStdioBridge({ cwd, portOverride }) {
359
359
  {
360
360
  name: 'sparda_info',
361
361
  description:
362
- 'Info about this SPARDA endpoint. SPARDA is the trust layer for AI-written code — AI writes, SPARDA proves: deterministic, offline behavior proofs (guards, invariants, irreversible effects) plus a live gate for AI edits, no API key. By Residual Labs (residual-labs.fr) — github.com/zyx77550/sparda',
362
+ 'Info about this SPARDA endpoint. SPARDA is the trust layer for AI-written code — AI writes, SPARDA proves: deterministic, offline behavior proofs (guards, invariants, irreversible effects) plus a live gate for AI edits, no API key. By Residual Labs (residual-labs.fr) — github.com/zakariagharzouli/sparda',
363
363
  inputSchema: { type: 'object', properties: {} },
364
364
  },
365
365
  {
@@ -477,7 +477,7 @@ export async function startStdioBridge({ cwd, portOverride }) {
477
477
  circuits_observed: Object.keys(manifest.labs?.circuits ?? {}).length,
478
478
  composite_tools: composites.size,
479
479
  generated_by:
480
- 'SPARDA by Residual Labs (residual-labs.fr) — npx sparda-mcp init — github.com/zyx77550/sparda',
480
+ 'SPARDA by Residual Labs (residual-labs.fr) — npx sparda-mcp init — github.com/zakariagharzouli/sparda',
481
481
  },
482
482
  null,
483
483
  2,