audit-ledger-mcp 0.3.0 → 0.3.2
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 +49 -8
- package/dist/client.d.ts +9 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js.map +1 -1
- package/dist/tools/verify_decision.d.ts +3 -3
- package/dist/tools/verify_decision.d.ts.map +1 -1
- package/dist/tools/verify_decision.js +3 -3
- package/dist/tools/verify_decision.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,6 +6,14 @@ Built for teams shipping AI in regulated contexts: EU AI Act Article 12 logging,
|
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/audit-ledger-mcp) [](./LICENSE) [](https://modelcontextprotocol.io)
|
|
8
8
|
|
|
9
|
+
> **The AI Audit Ledger family.** This MCP server *writes* decisions to the
|
|
10
|
+
> [ledger](https://github.com/shahidh68/audit-ledger) (what happened, tamper-evident). The
|
|
11
|
+
> [**AI Decision Evidence Hub**](https://github.com/shahidh68/evidence-hub) sits *above* it
|
|
12
|
+
> (read-only) and proves *audit-readiness* — what evidence each decision has, what's missing,
|
|
13
|
+
> who owns each gap, and a 0–100 score. Family:
|
|
14
|
+
> [audit-ledger](https://github.com/shahidh68/audit-ledger) · **audit-ledger-mcp** ·
|
|
15
|
+
> [evidence-hub](https://github.com/shahidh68/evidence-hub).
|
|
16
|
+
|
|
9
17
|
**[Try the live dashboard →](https://d2pfirb2397ixy.cloudfront.net/?demo=1)** · 30 synthetic decisions written via this MCP server, queryable and verifiable.
|
|
10
18
|
|
|
11
19
|
<p align="center">
|
|
@@ -73,7 +81,7 @@ When sandbox mode is active, you'll see a banner on stderr:
|
|
|
73
81
|
}
|
|
74
82
|
```
|
|
75
83
|
|
|
76
|
-
Restart Claude Desktop. The
|
|
84
|
+
Restart Claude Desktop. The four tools appear in the MCP menu immediately. Try asking Claude to "record this decision: should X be approved?" and watch a record land in the sandbox dashboard.
|
|
77
85
|
|
|
78
86
|
---
|
|
79
87
|
|
|
@@ -85,7 +93,7 @@ For real workloads, deploy your own audit ledger and point the MCP server at it:
|
|
|
85
93
|
npm install -g audit-ledger-mcp
|
|
86
94
|
```
|
|
87
95
|
|
|
88
|
-
Configure with
|
|
96
|
+
Configure with the API URL plus your tenant keys (any of them being set switches off sandbox mode). `AUDIT_HMAC_KEY` is technically optional for backwards compatibility but strongly recommended — see the note above the value below:
|
|
89
97
|
|
|
90
98
|
```bash
|
|
91
99
|
export AUDIT_API_URL="https://<api-id>.execute-api.<region>.amazonaws.com/prod"
|
|
@@ -122,13 +130,16 @@ Edit your `claude_desktop_config.json` (macOS: `~/Library/Application Support/Cl
|
|
|
122
130
|
"env": {
|
|
123
131
|
"AUDIT_API_URL": "https://<api-id>.execute-api.<region>.amazonaws.com/prod",
|
|
124
132
|
"AUDIT_WRITE_KEY": "<your-tenant-write-key>",
|
|
125
|
-
"AUDIT_READ_KEY": "<your-tenant-read-key>"
|
|
133
|
+
"AUDIT_READ_KEY": "<your-tenant-read-key>",
|
|
134
|
+
"AUDIT_HMAC_KEY": "<your-tenant-hmac-secret>"
|
|
126
135
|
}
|
|
127
136
|
}
|
|
128
137
|
}
|
|
129
138
|
}
|
|
130
139
|
```
|
|
131
140
|
|
|
141
|
+
`AUDIT_HMAC_KEY` is the tenant secret used to keyed-hash PII locally before any payload leaves the MCP server process. Generate it once with `node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"` and store the result in the `env` block above. The MCP never transmits this value, only reads it.
|
|
142
|
+
|
|
132
143
|
Restart Claude Desktop. You'll see "audit-ledger" in the MCP tools menu. Ask Claude something like *"Record this decision: I declined the application because…"* and watch it call `record_decision` automatically.
|
|
133
144
|
|
|
134
145
|
### Cursor
|
|
@@ -144,7 +155,8 @@ In Cursor settings → MCP → add server:
|
|
|
144
155
|
"env": {
|
|
145
156
|
"AUDIT_API_URL": "https://<api-id>.execute-api.<region>.amazonaws.com/prod",
|
|
146
157
|
"AUDIT_WRITE_KEY": "<your-tenant-write-key>",
|
|
147
|
-
"AUDIT_READ_KEY": "<your-tenant-read-key>"
|
|
158
|
+
"AUDIT_READ_KEY": "<your-tenant-read-key>",
|
|
159
|
+
"AUDIT_HMAC_KEY": "<your-tenant-hmac-secret>"
|
|
148
160
|
}
|
|
149
161
|
}
|
|
150
162
|
}
|
|
@@ -167,9 +179,10 @@ client = MultiServerMCPClient({
|
|
|
167
179
|
"args": ["-y", "audit-ledger-mcp"],
|
|
168
180
|
"transport": "stdio",
|
|
169
181
|
"env": {
|
|
170
|
-
"AUDIT_API_URL":
|
|
182
|
+
"AUDIT_API_URL": os.environ["AUDIT_API_URL"],
|
|
171
183
|
"AUDIT_WRITE_KEY": os.environ["AUDIT_WRITE_KEY"],
|
|
172
|
-
"AUDIT_READ_KEY":
|
|
184
|
+
"AUDIT_READ_KEY": os.environ["AUDIT_READ_KEY"],
|
|
185
|
+
"AUDIT_HMAC_KEY": os.environ["AUDIT_HMAC_KEY"],
|
|
173
186
|
},
|
|
174
187
|
}
|
|
175
188
|
})
|
|
@@ -180,7 +193,7 @@ agent = create_react_agent(
|
|
|
180
193
|
tools,
|
|
181
194
|
)
|
|
182
195
|
|
|
183
|
-
# The agent can now call record_decision, verify_decision, list_decisions
|
|
196
|
+
# The agent can now call record_decision, verify_decision, verify_completeness, list_decisions
|
|
184
197
|
result = await agent.ainvoke({
|
|
185
198
|
"messages": [{"role": "user", "content": "Triage this loan application…"}]
|
|
186
199
|
})
|
|
@@ -189,7 +202,7 @@ result = await agent.ainvoke({
|
|
|
189
202
|
### Custom client (raw MCP)
|
|
190
203
|
|
|
191
204
|
```bash
|
|
192
|
-
AUDIT_API_URL=... AUDIT_WRITE_KEY=... npx -y audit-ledger-mcp
|
|
205
|
+
AUDIT_API_URL=... AUDIT_WRITE_KEY=... AUDIT_READ_KEY=... AUDIT_HMAC_KEY=... npx -y audit-ledger-mcp
|
|
193
206
|
```
|
|
194
207
|
|
|
195
208
|
The server speaks MCP over stdio. Send `initialize`, `tools/list`, and `tools/call` requests per the [MCP specification](https://modelcontextprotocol.io/specification).
|
|
@@ -299,6 +312,33 @@ List recent decisions for the calling tenant.
|
|
|
299
312
|
|
|
300
313
|
---
|
|
301
314
|
|
|
315
|
+
## Companion: AI Decision Evidence Hub
|
|
316
|
+
|
|
317
|
+
This MCP server **writes** decisions to the ledger — the immutable record of *what
|
|
318
|
+
happened*. The **[AI Decision Evidence Hub](https://github.com/shahidh68/evidence-hub)**
|
|
319
|
+
is the read-only layer **above** the ledger that answers the next question an auditor
|
|
320
|
+
asks: *is each decision audit-ready?*
|
|
321
|
+
|
|
322
|
+
For every recorded decision it produces:
|
|
323
|
+
|
|
324
|
+
- an **audit-readiness score (0–100)** across nine evidence categories (model, data,
|
|
325
|
+
policy, human review, monitoring, prompt, integrity, retention, decision);
|
|
326
|
+
- exactly **what evidence is present vs missing**, and **who owns** each gap;
|
|
327
|
+
- an exportable, per-decision **audit pack** for regulators;
|
|
328
|
+
- a dashboard (cross-linked with the ledger's), plus a manifest-based resolver that
|
|
329
|
+
auto-fills static evidence.
|
|
330
|
+
|
|
331
|
+
It reads the ledger over its API and never modifies a record. Serverless on AWS
|
|
332
|
+
(Lambda + DynamoDB). See its
|
|
333
|
+
[Customer Guide](https://github.com/shahidh68/evidence-hub/blob/master/docs/CUSTOMER-GUIDE.md)
|
|
334
|
+
and [Admin Runbook](https://github.com/shahidh68/evidence-hub/blob/master/docs/ADMIN-RUNBOOK.md).
|
|
335
|
+
|
|
336
|
+
**The family:** [audit-ledger](https://github.com/shahidh68/audit-ledger) (what happened) ·
|
|
337
|
+
**audit-ledger-mcp** (this server — how agents write decisions) ·
|
|
338
|
+
[evidence-hub](https://github.com/shahidh68/evidence-hub) (audit-readiness).
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
302
342
|
## Development
|
|
303
343
|
|
|
304
344
|
```bash
|
|
@@ -316,6 +356,7 @@ The server is TypeScript on Node 20+, ESM, stdio transport, using `@modelcontext
|
|
|
316
356
|
## Related
|
|
317
357
|
|
|
318
358
|
- **[shahidh68/audit-ledger](https://github.com/shahidh68/audit-ledger)** — the AWS infrastructure this server talks to. CDK stack, Python and Node SDKs, compliance dashboard, full architecture documentation.
|
|
359
|
+
- **[shahidh68/evidence-hub](https://github.com/shahidh68/evidence-hub)** — the AI Decision Evidence Hub: the read-only audit-readiness layer above the ledger. Scores each decision's evidence, tracks gaps and owners, and generates audit packs. ([Customer Guide](https://github.com/shahidh68/evidence-hub/blob/master/docs/CUSTOMER-GUIDE.md) · [Admin Runbook](https://github.com/shahidh68/evidence-hub/blob/master/docs/ADMIN-RUNBOOK.md))
|
|
319
360
|
|
|
320
361
|
---
|
|
321
362
|
|
package/dist/client.d.ts
CHANGED
|
@@ -29,10 +29,16 @@ export interface DecisionRecord {
|
|
|
29
29
|
human_in_loop: boolean;
|
|
30
30
|
}
|
|
31
31
|
export interface TamperCheckResult {
|
|
32
|
+
/** Event ID echoed back by the API. */
|
|
33
|
+
event_id: string;
|
|
34
|
+
/** True when the DynamoDB and S3 copies of the record are byte-identical after canonical serialisation. */
|
|
32
35
|
integrity_verified: boolean;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
/** Human-readable explanation of the integrity result. */
|
|
37
|
+
integrity_note: string;
|
|
38
|
+
/** The record as currently held in DynamoDB. */
|
|
39
|
+
current_record: DecisionRecord;
|
|
40
|
+
/** The record as written to S3 Object Lock (the immutable archive). */
|
|
41
|
+
archived_record: DecisionRecord;
|
|
36
42
|
}
|
|
37
43
|
export interface CompletenessResult {
|
|
38
44
|
tenant_id: string;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;aAGvB,MAAM,CAAC,EAAE,MAAM;aACf,IAAI,CAAC,EAAE,MAAM;gBAF7B,OAAO,EAAE,MAAM,EACC,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,IAAI,CAAC,EAAE,MAAM,YAAA;CAKhC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAAa,gBAAiB,SAAQ,KAAK;aAGvB,MAAM,CAAC,EAAE,MAAM;aACf,IAAI,CAAC,EAAE,MAAM;gBAF7B,OAAO,EAAE,MAAM,EACC,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,IAAI,CAAC,EAAE,MAAM,YAAA;CAKhC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,2GAA2G;IAC3G,kBAAkB,EAAE,OAAO,CAAC;IAC5B,0DAA0D;IAC1D,cAAc,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,cAAc,EAAE,cAAc,CAAC;IAC/B,uEAAuE;IACvE,eAAe,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,6EAA6E;IAC7E,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;gBAE3B,MAAM,EAAE,YAAY;IAQ1B,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAwBzF,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmB3D,kBAAkB,CAAC,IAAI,GAAE;QAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,6EAA6E;QAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAuB9B,aAAa,CAAC,IAAI,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IA2BpF;;;OAGG;YACW,cAAc;CA0B7B"}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAUH,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAGvB;IACA;IAHlB,YACE,OAAe,EACC,MAAe,EACf,IAAa;QAE7B,KAAK,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAC;QAHnB,WAAM,GAAN,MAAM,CAAS;QACf,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,8 +32,8 @@ export declare const verifyDecisionToolDefinition: {
|
|
|
32
32
|
export declare function executeVerifyDecision(client: AuditLedgerClient, rawInput: unknown): Promise<{
|
|
33
33
|
event_id: string;
|
|
34
34
|
integrity_verified: boolean;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
integrity_note: string;
|
|
36
|
+
current_record: unknown;
|
|
37
|
+
archived_record: unknown;
|
|
38
38
|
}>;
|
|
39
39
|
//# sourceMappingURL=verify_decision.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify_decision.d.ts","sourceRoot":"","sources":["../../src/tools/verify_decision.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,eAAO,MAAM,yBAAyB;;;;;;EAKpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;CAW/B,CAAC;AAEX,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,
|
|
1
|
+
{"version":3,"file":"verify_decision.d.ts","sourceRoot":"","sources":["../../src/tools/verify_decision.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,eAAO,MAAM,yBAAyB;;;;;;EAKpC,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;CAW/B,CAAC;AAEX,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,iBAAiB,EACzB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC,CAUD"}
|
|
@@ -28,9 +28,9 @@ export async function executeVerifyDecision(client, rawInput) {
|
|
|
28
28
|
return {
|
|
29
29
|
event_id: input.event_id,
|
|
30
30
|
integrity_verified: result.integrity_verified,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
integrity_note: result.integrity_note,
|
|
32
|
+
current_record: result.current_record,
|
|
33
|
+
archived_record: result.archived_record,
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
36
|
//# sourceMappingURL=verify_decision.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify_decision.js","sourceRoot":"","sources":["../../src/tools/verify_decision.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,CAAC,iDAAiD,CAAC;CAC/D,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,4VAA4V;IAC9V,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE;SAChH;QACD,QAAQ,EAAE,CAAC,UAAU,CAAC;KACvB;CACO,CAAC;AAEX,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAyB,EACzB,QAAiB;IAQjB,MAAM,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3D,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;QAC7C,
|
|
1
|
+
{"version":3,"file":"verify_decision.js","sourceRoot":"","sources":["../../src/tools/verify_decision.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,CAAC,iDAAiD,CAAC;CAC/D,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,IAAI,EAAE,iBAAiB;IACvB,WAAW,EACT,4VAA4V;IAC9V,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE;SAChH;QACD,QAAQ,EAAE,CAAC,UAAU,CAAC;KACvB;CACO,CAAC;AAEX,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAyB,EACzB,QAAiB;IAQjB,MAAM,KAAK,GAAG,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3D,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;QAC7C,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "audit-ledger-mcp",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "MCP server for AI Audit Ledger — record AI decisions to a tamper-evident ledger from any agent (Claude, Cursor, LangGraph, custom).",
|
|
5
5
|
"mcpName": "io.github.shahidh68/audit-ledger-mcp",
|
|
6
6
|
"type": "module",
|