@tenova/swt3-ai 0.2.8 → 0.2.9
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 +10 -6
- package/dist/demo.js +85 -0
- package/dist/demo.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ npm install @tenova/swt3-ai
|
|
|
23
23
|
npx swt3-demo
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
You'll see the full SWT3 witnessing pipeline: hash, extract, clear, anchor, verify,
|
|
26
|
+
You'll see the full SWT3 witnessing pipeline: hash, extract, clear, anchor, verify — plus a **Regulatory Coverage Summary** mapping each procedure to EU AI Act articles. The demo shows 3/12 obligations covered, with the 9 uncovered gaps listed by article citation. When you're ready to close those gaps, keep reading.
|
|
27
27
|
|
|
28
28
|
## Three Lines of Code
|
|
29
29
|
|
|
@@ -177,7 +177,7 @@ console.log(response.choices[0].message.content);
|
|
|
177
177
|
// - Full factor data for independent verification
|
|
178
178
|
```
|
|
179
179
|
|
|
180
|
-
When you're ready for production, [create a free account](https://sovereign.tenova.io/signup) to get your tenant ID and API key. Point the SDK at your enclave and every inference is witnessed, anchored, and verifiable.
|
|
180
|
+
When you're ready for production, [create a free account](https://sovereign.tenova.io/signup?ref=sdk) to get your tenant ID and API key. Point the SDK at your enclave and every inference is witnessed, anchored, and verifiable.
|
|
181
181
|
|
|
182
182
|
## Local SDK vs Axiom Engine
|
|
183
183
|
|
|
@@ -194,7 +194,7 @@ When you're ready for production, [create a free account](https://sovereign.teno
|
|
|
194
194
|
| **Survives an audit** | **No** | **Yes** |
|
|
195
195
|
|
|
196
196
|
> **Local anchors prove it to you. Axiom proves it to your auditor.**
|
|
197
|
-
> [Create a free account →](https://sovereign.tenova.io/signup)
|
|
197
|
+
> [Create a free account →](https://sovereign.tenova.io/signup?ref=sdk)
|
|
198
198
|
|
|
199
199
|
## What Happens Per Inference
|
|
200
200
|
|
|
@@ -203,7 +203,7 @@ When you're ready for production, [create a free account](https://sovereign.teno
|
|
|
203
203
|
3. **Extract**: Model hash, latency, token count, refusal status as numeric factors
|
|
204
204
|
4. **Clear**: Raw text is purged from the wire payload (configurable clearing level)
|
|
205
205
|
5. **Buffer**: Factors queued in background, flushed to the SWT3 ledger asynchronously
|
|
206
|
-
6. **Return**: Your original response returns untouched,
|
|
206
|
+
6. **Return**: Your original response returns untouched. Witnessing runs in a background thread — median overhead is <1ms on the hot path (hash + buffer, no network call)
|
|
207
207
|
|
|
208
208
|
For streaming: chunks arrive to the developer in real-time. The SDK accumulates content in the background and witnesses after the stream completes.
|
|
209
209
|
|
|
@@ -283,6 +283,10 @@ const witness = new Witness({
|
|
|
283
283
|
});
|
|
284
284
|
```
|
|
285
285
|
|
|
286
|
+
## Zero Lock-in
|
|
287
|
+
|
|
288
|
+
Remove the `witness.wrap()` call. Your code works exactly as before. Anchors already minted remain in the ledger.
|
|
289
|
+
|
|
286
290
|
## Cross-Language Parity
|
|
287
291
|
|
|
288
292
|
This SDK produces **identical SWT3 fingerprints** to the Python SDK (`swt3-ai`) and the Axiom ingestion endpoint. A unified audit trail across your entire stack:
|
|
@@ -370,13 +374,13 @@ SWT3 AI Witness is available as a managed service through [Axiom Sovereign Engin
|
|
|
370
374
|
| **Enclave** | 1 year | + OSCAL, Gate API, attestations, webhook feeds | $9,500/mo |
|
|
371
375
|
| **Sovereign** | Custom | + White-glove ATO sprint, mock assessment, on-prem | [Book Assessment](https://calendly.com/tenova-axiom/30min) |
|
|
372
376
|
|
|
373
|
-
1,
|
|
377
|
+
1,600+ downloads across npm and PyPI. 151 procedures. 13 frameworks. Patent pending.
|
|
374
378
|
|
|
375
379
|
## Ready to Witness Your AI?
|
|
376
380
|
|
|
377
381
|
Get an API key and start witnessing in under 10 minutes:
|
|
378
382
|
|
|
379
|
-
- [Create a Free Account](https://sovereign.tenova.io/signup) - instant API key, start witnessing in 5 minutes
|
|
383
|
+
- [Create a Free Account](https://sovereign.tenova.io/signup?ref=sdk) - instant API key, start witnessing in 5 minutes
|
|
380
384
|
- [Quickstart Guide](https://sovereign.tenova.io/guides/ai-witness-quickstart.html) - 10-minute integration walkthrough
|
|
381
385
|
- [Book a Strategy Call](https://calendly.com/tenova-axiom/30min) - enterprise, on-prem, or Sovereign tier
|
|
382
386
|
|
package/dist/demo.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* No API keys. No account. No network calls.
|
|
9
9
|
*/
|
|
10
10
|
import { createHash } from "node:crypto";
|
|
11
|
+
import { writeFileSync } from "node:fs";
|
|
11
12
|
const isColor = process.stdout.isTTY;
|
|
12
13
|
const B = isColor ? "\x1b[1m" : "";
|
|
13
14
|
const D = isColor ? "\x1b[2m" : "";
|
|
@@ -78,9 +79,11 @@ async function main() {
|
|
|
78
79
|
console.log();
|
|
79
80
|
console.log(`${C}5. Minting SWT3 Witness Anchors...${R}`);
|
|
80
81
|
console.log();
|
|
82
|
+
const anchors = [];
|
|
81
83
|
for (const [procId, fa, fb, fc, verdict, desc] of procedures) {
|
|
82
84
|
const fp = mintFingerprint(tenant, procId, fa, fb, fc, tsMs);
|
|
83
85
|
const anchor = `SWT3-E-${provider}-AI-${procId}-${verdict}-${epoch}-${fp}`;
|
|
86
|
+
anchors.push(anchor);
|
|
84
87
|
const color = verdict === "PASS" ? G : A;
|
|
85
88
|
console.log(` ${color}■ ${verdict}${R} ${W}${procId}${R} ${D}${desc}${R}`);
|
|
86
89
|
console.log(` ${D}${anchor}${R}`);
|
|
@@ -140,6 +143,88 @@ async function main() {
|
|
|
140
143
|
console.log(` ${D}Book a pilot: ${C}https://calendly.com/tenova-axiom/30min${R}`);
|
|
141
144
|
console.log(` ${D}GitHub: ${C}https://github.com/tenova-labs/swt3-ai${R}`);
|
|
142
145
|
console.log();
|
|
146
|
+
// ── Write HTML coverage report (best-effort) ──
|
|
147
|
+
try {
|
|
148
|
+
const html = generateHtmlReport(coverageMap, uncovered, anchors, daysLeft);
|
|
149
|
+
writeFileSync("swt3-coverage-report.html", html, "utf-8");
|
|
150
|
+
console.log(` ${G}[SWT3] Coverage report saved \u2192 swt3-coverage-report.html${R}`);
|
|
151
|
+
console.log();
|
|
152
|
+
}
|
|
153
|
+
catch { /* best-effort — never fail the demo */ }
|
|
154
|
+
}
|
|
155
|
+
function generateHtmlReport(coverageMap, uncoveredList, anchorList, daysLeft) {
|
|
156
|
+
const ts = new Date().toISOString().replace("T", " ").slice(0, 19);
|
|
157
|
+
const coveredRows = coverageMap.map(([p, a, d, v]) => `<tr><td style="font-family:monospace">${p}</td><td>${a}</td><td>${d}</td><td style="color:#4ADE80;font-weight:700">[${v}]</td></tr>`).join("\n");
|
|
158
|
+
const uncoveredRows = uncoveredList.map(([p, a, d]) => `<tr><td style="font-family:monospace;color:#FBBF24">${p}</td><td>${a}</td><td>${d}</td></tr>`).join("\n");
|
|
159
|
+
const anchorText = anchorList.join("\n");
|
|
160
|
+
const countdown = daysLeft > 0
|
|
161
|
+
? `EU AI Act enforcement in ${daysLeft} days (August 2, 2026)`
|
|
162
|
+
: "EU AI Act enforcement has begun.";
|
|
163
|
+
return `<!DOCTYPE html>
|
|
164
|
+
<html lang="en">
|
|
165
|
+
<head>
|
|
166
|
+
<meta charset="UTF-8">
|
|
167
|
+
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
|
168
|
+
<title>SWT3 AI Witness \u2014 Coverage Report</title>
|
|
169
|
+
<style>
|
|
170
|
+
*{margin:0;padding:0;box-sizing:border-box}
|
|
171
|
+
body{background:#070504;color:#E0D9D1;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;padding:2.5rem;line-height:1.6}
|
|
172
|
+
.c{max-width:800px;margin:0 auto}
|
|
173
|
+
h1{color:#E8A87C;font-size:1.5rem;margin-bottom:.25rem}
|
|
174
|
+
h2{color:#E8A87C;font-size:1.1rem;margin:1.5rem 0 .75rem}
|
|
175
|
+
.meta{color:#6B7280;font-size:.8rem;margin-bottom:1.5rem}
|
|
176
|
+
.score{font-size:2.5rem;font-weight:800;margin:1rem 0}
|
|
177
|
+
.score .pass{color:#4ADE80}
|
|
178
|
+
.score .total{color:#6B7280}
|
|
179
|
+
table{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.9rem}
|
|
180
|
+
th{text-align:left;padding:.5rem .75rem;color:#E8A87C;border-bottom:1px solid #222;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
|
|
181
|
+
td{padding:.5rem .75rem;border-bottom:1px solid #151312}
|
|
182
|
+
pre{background:#111;padding:1rem;border-radius:8px;overflow-x:auto;font-size:.8rem;color:#9CA3AF;margin:.75rem 0;border:1px solid #222}
|
|
183
|
+
.countdown{font-size:1rem;font-weight:600;color:#FBBF24;margin:1.5rem 0}
|
|
184
|
+
.cta{display:inline-block;margin-top:1.25rem;padding:.75rem 2rem;background:#E8A87C;color:#070504;font-weight:700;text-decoration:none;border-radius:6px;font-size:.9rem;letter-spacing:.03em}
|
|
185
|
+
.cta:hover{opacity:.9}
|
|
186
|
+
.footer{color:#6B7280;font-size:.75rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #222}
|
|
187
|
+
.warn{color:#FBBF24}
|
|
188
|
+
.sep{border:none;border-top:1px solid #222;margin:1.5rem 0}
|
|
189
|
+
</style>
|
|
190
|
+
</head>
|
|
191
|
+
<body>
|
|
192
|
+
<div class="c">
|
|
193
|
+
<h1>SWT3 AI Witness \u2014 Coverage Report</h1>
|
|
194
|
+
<p class="meta">Generated ${ts} UTC | SWT3 Protocol v0.2.9 | Demo Environment</p>
|
|
195
|
+
|
|
196
|
+
<div class="score"><span class="pass">3</span><span class="total"> / 12 obligations covered</span></div>
|
|
197
|
+
|
|
198
|
+
<h2>Covered \u2014 EU AI Act Article Mapping</h2>
|
|
199
|
+
<table>
|
|
200
|
+
<tr><th>Procedure</th><th>EU AI Act</th><th>Obligation</th><th>Status</th></tr>
|
|
201
|
+
${coveredRows}
|
|
202
|
+
</table>
|
|
203
|
+
|
|
204
|
+
<h2 class="warn">Uncovered Obligations (${uncoveredList.length})</h2>
|
|
205
|
+
<table>
|
|
206
|
+
<tr><th>Procedure</th><th>EU AI Act</th><th>Obligation</th></tr>
|
|
207
|
+
${uncoveredRows}
|
|
208
|
+
</table>
|
|
209
|
+
|
|
210
|
+
<hr class="sep">
|
|
211
|
+
|
|
212
|
+
<p class="countdown">${countdown}</p>
|
|
213
|
+
|
|
214
|
+
<h2>Anchor Evidence (Demo)</h2>
|
|
215
|
+
<pre>${anchorText}</pre>
|
|
216
|
+
|
|
217
|
+
<p>Full conformity requires all 12 procedures across inference, model governance, guardrails, and explainability domains.</p>
|
|
218
|
+
<a class="cta" href="https://sovereign.tenova.io/signup?ref=sdk_demo">Close the Gap \u2014 Free Account</a>
|
|
219
|
+
|
|
220
|
+
<div class="footer">
|
|
221
|
+
<p>SWT3 Protocol \u2014 Patent Pending \u2014 Apache 2.0</p>
|
|
222
|
+
<p>TeNova: Defining the AI Accountability Standard.</p>
|
|
223
|
+
<p style="margin-top:.5rem">This report was generated locally by the SWT3 AI Witness SDK demo. No data was transmitted.</p>
|
|
224
|
+
</div>
|
|
225
|
+
</div>
|
|
226
|
+
</body>
|
|
227
|
+
</html>`;
|
|
143
228
|
}
|
|
144
229
|
main();
|
|
145
230
|
//# sourceMappingURL=demo.js.map
|
package/dist/demo.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"demo.js","sourceRoot":"","sources":["../src/demo.ts"],"names":[],"mappings":"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"}
|