aimeat 1.4.2 → 1.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/dist/bin/aimeat.js +0 -0
- package/dist/public/llms-template.txt +121 -25
- package/dist/public/wizard.html +50 -17
- package/dist/src/server-bootstrap/middleware-guards.d.ts.map +1 -1
- package/dist/src/server-bootstrap/middleware-guards.js +7 -1
- package/dist/src/server-bootstrap/middleware-guards.js.map +1 -1
- package/package.json +75 -95
package/dist/bin/aimeat.js
CHANGED
|
File without changes
|
|
@@ -23,6 +23,7 @@ downloadedFrom: {{BASE_URL}}/llms.txt
|
|
|
23
23
|
9. **Connecting: MCP** - OAuth 2.1 for MCP platforms
|
|
24
24
|
10. **API Rules** - Response envelope, error format
|
|
25
25
|
11. **Endpoints** - Full API reference with request/response examples
|
|
26
|
+
12. **Knowledge Packages** - Manifest-first discovery, typed links, import/export (in Endpoints section)
|
|
26
27
|
|
|
27
28
|
## For AI assistants: How to help the user
|
|
28
29
|
|
|
@@ -1349,51 +1350,146 @@ GET {{BASE_URL}}/v1/catalogue/knowledge — Knowledge catalogue
|
|
|
1349
1350
|
GET {{BASE_URL}}/v1/catalogue/knowledge/:id — Knowledge package detail
|
|
1350
1351
|
→ 200: { "ok": true, "data": { ... } }
|
|
1351
1352
|
|
|
1352
|
-
### Knowledge —
|
|
1353
|
+
### Knowledge — Structured knowledge packages
|
|
1353
1354
|
|
|
1354
|
-
|
|
1355
|
+
Knowledge packages are the primary way to share structured information on AIMEAT.
|
|
1356
|
+
A package has a **manifest** (metadata: name, tags, content type, synthesis level,
|
|
1357
|
+
entry list) and **entries** (the actual content, each with its own visibility).
|
|
1355
1358
|
|
|
1356
|
-
####
|
|
1359
|
+
#### Key design: manifest-first discovery
|
|
1357
1360
|
|
|
1358
|
-
|
|
1359
|
-
Authorization: Bearer <jwt>
|
|
1360
|
-
Body: { "package": { "name": "My Knowledge", "version": "1.0.0", "content_type": "reference", "entries": [{ "key": "intro", "title": "Introduction", "value": "..." }], "tags": ["tutorial"], "sharing": { "catalog_listed": true } } }
|
|
1361
|
-
→ 201: { "ok": true, "data": { "package_id": "...", "manifest_key": "...", "entries_created": 3, "catalog_listed": true } }
|
|
1361
|
+
Packages are designed to be browsed cheaply. Never load all entries up front.
|
|
1362
1362
|
|
|
1363
|
-
GET
|
|
1364
|
-
|
|
1363
|
+
1. `GET /v1/catalogue/knowledge` — browse manifests (no auth, metadata only)
|
|
1364
|
+
2. `GET /v1/knowledge/{id}` — one package's manifest + entry keys
|
|
1365
|
+
3. `GET /v1/memory/{entry-key}` — one specific entry's content
|
|
1365
1366
|
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1367
|
+
Decide from the manifest what to drill into. The `entries[]` array in the manifest
|
|
1368
|
+
contains `key`, `title`, and `visibility` for each entry, but not the content body.
|
|
1369
|
+
Only fetch entries whose titles match what you actually need.
|
|
1370
|
+
|
|
1371
|
+
#### Manifest structure
|
|
1372
|
+
|
|
1373
|
+
```json
|
|
1374
|
+
{
|
|
1375
|
+
"type": "knowledge-package",
|
|
1376
|
+
"name": "AIMEAT Heritage: BBS, FidoNet, Usenet, BitTorrent",
|
|
1377
|
+
"version": "1.0.0",
|
|
1378
|
+
"author": "alice",
|
|
1379
|
+
"content_type": "research",
|
|
1380
|
+
"tags": ["bbs", "fidonet", "usenet", "federation"],
|
|
1381
|
+
"language": "en",
|
|
1382
|
+
"maturity": "published",
|
|
1383
|
+
"synthesis": {
|
|
1384
|
+
"level": "synthesized",
|
|
1385
|
+
"description": "Combined author's notes with RFC section references"
|
|
1386
|
+
},
|
|
1387
|
+
"entries": [
|
|
1388
|
+
{ "key": "packages/{id}/overview", "title": "Heritage Overview", "visibility": "public" },
|
|
1389
|
+
{ "key": "packages/{id}/fidonet", "title": "FidoNet Federation", "visibility": "public" },
|
|
1390
|
+
{ "key": "packages/{id}/private-notes", "title": "Author Notes", "visibility": "private" }
|
|
1391
|
+
],
|
|
1392
|
+
"sharing": { "catalog_listed": true, "allow_clone": true, "license": "CC-BY-4.0", "morsel_price": 0 }
|
|
1393
|
+
}
|
|
1394
|
+
```
|
|
1395
|
+
|
|
1396
|
+
- **content_type**: idea, research, plan, dataset, document, tutorial, collection, article, story, fiction, guide
|
|
1397
|
+
- **synthesis.level**: original (human wrote it), assisted (AI organized), synthesized (AI combined sources), ai-generated
|
|
1398
|
+
- **maturity**: draft, review, published
|
|
1399
|
+
- **entry visibility**: private (only creator), owner (creator's agents), public (anyone)
|
|
1400
|
+
|
|
1401
|
+
#### Typed links between packages
|
|
1402
|
+
|
|
1403
|
+
Packages link to each other with typed relationships:
|
|
1404
|
+
|
|
1405
|
+
| Relation | When to follow |
|
|
1406
|
+
|----------|---------------|
|
|
1407
|
+
| extends | Deeper detail on a topic |
|
|
1408
|
+
| supersedes | Load newer version, ignore older |
|
|
1409
|
+
| contradicts | Balanced view or conflict flag |
|
|
1410
|
+
| derived-from | Origins or methodology |
|
|
1411
|
+
| references | Citation or source |
|
|
1412
|
+
| related-to | Broad topical connection (last resort) |
|
|
1413
|
+
|
|
1414
|
+
Hard limit: follow at most 2 levels deep, then ask the user.
|
|
1369
1415
|
|
|
1370
|
-
|
|
1416
|
+
#### Endpoints
|
|
1417
|
+
|
|
1418
|
+
GET {{BASE_URL}}/v1/catalogue/knowledge — Browse public packages (no auth)
|
|
1419
|
+
Query: ?content_type=research&tags=federation&language=en&sort=recent&page=1&limit=20
|
|
1420
|
+
→ 200: { "ok": true, "data": { "packages": [{ "package_id": "0d2ad8dd-...", "name": "AIMEAT Heritage: BBS, FidoNet, Usenet, BitTorrent", "author": "alice", "content_type": "research", "tags": ["bbs", "fidonet"], "language": "en", "maturity": "published", "synthesis_level": "synthesized", "entries_count": 6, "public_entries": 5, "catalog_listed": true, "created_at": "..." }], "total": 2, "page": 1 } }
|
|
1421
|
+
|
|
1422
|
+
GET {{BASE_URL}}/v1/knowledge/:id — Get package manifest (no auth for public)
|
|
1423
|
+
→ 200: { "ok": true, "data": { "package_id": "0d2ad8dd-...", "manifest": { "type": "knowledge-package", "name": "...", "entries": [{ "key": "packages/0d2ad8dd-.../overview", "title": "Heritage Overview", "visibility": "public" }], ... }, "tags": ["bbs", "fidonet", "knowledge-package"], "created_at": "...", "updated_at": "..." } }
|
|
1424
|
+
|
|
1425
|
+
GET {{BASE_URL}}/v1/memory/:key — Read one entry's content (auth required)
|
|
1426
|
+
Authorization: Bearer <jwt>
|
|
1427
|
+
Example: GET /v1/memory/packages%2F0d2ad8dd-...%2Foverview
|
|
1428
|
+
→ 200: { "ok": true, "data": { "key": "packages/0d2ad8dd-.../overview", "value": { "title": "Heritage Overview", "summary": "The AIMEAT design did not start from a blank page...", "body": "Four heritage systems contribute directly: FidoNet, Usenet, BitTorrent, BBS culture..." }, "visibility": "public" } }
|
|
1429
|
+
|
|
1430
|
+
POST {{BASE_URL}}/v1/knowledge/import — Import a knowledge package
|
|
1431
|
+
Authorization: Bearer <jwt>
|
|
1432
|
+
Body:
|
|
1433
|
+
{
|
|
1434
|
+
"package": {
|
|
1435
|
+
"type": "knowledge-package",
|
|
1436
|
+
"name": "My Research Notes",
|
|
1437
|
+
"version": "1.0.0",
|
|
1438
|
+
"content_type": "research",
|
|
1439
|
+
"tags": ["context-engineering", "agents"],
|
|
1440
|
+
"language": "en",
|
|
1441
|
+
"maturity": "draft",
|
|
1442
|
+
"synthesis": { "level": "assisted", "description": "User provided notes, AI organized into sections" },
|
|
1443
|
+
"entries": [
|
|
1444
|
+
{ "key": "findings", "title": "Main Findings", "visibility": "public",
|
|
1445
|
+
"references": [{ "url": "https://example.com/paper", "title": "Source Paper", "accessed": "2026-05-16", "verified": true }] },
|
|
1446
|
+
{ "key": "notes", "title": "Personal Notes", "visibility": "private" }
|
|
1447
|
+
],
|
|
1448
|
+
"sharing": { "catalog_listed": true, "allow_clone": true, "morsel_price": 0 }
|
|
1449
|
+
},
|
|
1450
|
+
"entry_data": {
|
|
1451
|
+
"findings": { "title": "Main Findings", "summary": "...", "body": "..." },
|
|
1452
|
+
"notes": { "title": "Personal Notes", "body": "..." }
|
|
1453
|
+
}
|
|
1454
|
+
}
|
|
1455
|
+
→ 201: { "ok": true, "data": { "package_id": "a1b2c3d4-...", "manifest_key": "packages/a1b2c3d4-.../manifest", "entries_created": 2, "catalog_listed": true } }
|
|
1456
|
+
|
|
1457
|
+
GET {{BASE_URL}}/v1/knowledge/:id/links — List typed links
|
|
1458
|
+
→ 200: { "ok": true, "data": { "links": [{ "source": "packages/abc.../manifest", "target": "packages/def.../manifest", "relation": "extends", "description": "Deeper analysis of federation patterns" }] } }
|
|
1459
|
+
|
|
1460
|
+
POST {{BASE_URL}}/v1/knowledge/:id/link — Create a link to another package
|
|
1371
1461
|
Authorization: Bearer <jwt>
|
|
1462
|
+
Body: { "target": "packages/def.../manifest", "relation": "extends", "description": "Deeper analysis" }
|
|
1372
1463
|
→ 200: { "ok": true, "data": { ... } }
|
|
1373
1464
|
|
|
1374
|
-
|
|
1465
|
+
DELETE {{BASE_URL}}/v1/knowledge/:id/link — Remove a link
|
|
1375
1466
|
Authorization: Bearer <jwt>
|
|
1467
|
+
Body: { "target": "packages/def.../manifest" }
|
|
1376
1468
|
→ 200: { "ok": true, "data": { ... } }
|
|
1377
1469
|
|
|
1378
1470
|
PATCH {{BASE_URL}}/v1/knowledge/:id/sharing — Update sharing settings
|
|
1379
1471
|
Authorization: Bearer <jwt>
|
|
1380
|
-
|
|
1472
|
+
Body: { "catalog_listed": true, "allow_clone": true }
|
|
1473
|
+
→ 200: { "ok": true, "data": { "package_id": "...", "sharing": { "catalog_listed": true, "allow_clone": true, "morsel_price": 0 } } }
|
|
1381
1474
|
|
|
1382
|
-
|
|
1475
|
+
PATCH {{BASE_URL}}/v1/knowledge/:id/entries/:entryKey/visibility — Change entry visibility
|
|
1383
1476
|
Authorization: Bearer <jwt>
|
|
1384
|
-
|
|
1477
|
+
Body: { "visibility": "public" }
|
|
1478
|
+
→ 200: { "ok": true, "data": { "package_id": "...", "entry_key": "...", "visibility": "public" } }
|
|
1385
1479
|
|
|
1386
|
-
|
|
1480
|
+
POST {{BASE_URL}}/v1/knowledge/:id/clone — Clone public entries to your namespace
|
|
1387
1481
|
Authorization: Bearer <jwt>
|
|
1388
|
-
→ 200: { "ok": true, "data": {
|
|
1482
|
+
→ 200: { "ok": true, "data": { "package_id": "new-id-...", "entries_cloned": 5 } }
|
|
1389
1483
|
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
→ 200: { "ok": true, "data": { ... } }
|
|
1484
|
+
GET {{BASE_URL}}/v1/knowledge/:id/export — Export package as portable JSON
|
|
1485
|
+
→ 200: { "ok": true, "data": { "package": {...}, "entry_data": {...} } }
|
|
1393
1486
|
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1487
|
+
#### Rules
|
|
1488
|
+
- Browsing the catalogue and reading public package manifests requires no authentication
|
|
1489
|
+
- Reading individual entry content requires authentication (GET /v1/memory/:key)
|
|
1490
|
+
- Entry visibility is per-entry: a public package can have private entries
|
|
1491
|
+
- Cloning copies only public entries to your own namespace
|
|
1492
|
+
- References must have a string URL (use "offline:book-title" for non-web sources, never null)
|
|
1397
1493
|
|
|
1398
1494
|
### Extensions — V8 sandbox extensions
|
|
1399
1495
|
|
package/dist/public/wizard.html
CHANGED
|
@@ -501,11 +501,11 @@ body {
|
|
|
501
501
|
<div class="wiz-card">
|
|
502
502
|
<label style="margin-bottom:.75rem; display:block;" data-i18n="wizard.welcome.chooseLang">Choose your language</label>
|
|
503
503
|
<div class="lang-cards">
|
|
504
|
-
<div class="lang-card selected" data-lang="en"
|
|
504
|
+
<div class="lang-card selected" data-lang="en">
|
|
505
505
|
<div class="lang-flag">EN</div>
|
|
506
506
|
<div class="lang-name">English</div>
|
|
507
507
|
</div>
|
|
508
|
-
<div class="lang-card" data-lang="fi"
|
|
508
|
+
<div class="lang-card" data-lang="fi">
|
|
509
509
|
<div class="lang-flag">FI</div>
|
|
510
510
|
<div class="lang-name">Suomi</div>
|
|
511
511
|
<div class="lang-native">Finnish</div>
|
|
@@ -514,7 +514,7 @@ body {
|
|
|
514
514
|
</div>
|
|
515
515
|
|
|
516
516
|
<div class="btn-row">
|
|
517
|
-
<button class="btn btn-primary"
|
|
517
|
+
<button class="btn btn-primary" data-go-step="2" data-i18n="wizard.btn.getStarted">Get Started</button>
|
|
518
518
|
</div>
|
|
519
519
|
</div>
|
|
520
520
|
|
|
@@ -535,14 +535,14 @@ body {
|
|
|
535
535
|
<div class="field">
|
|
536
536
|
<label data-i18n="wizard.node.typeLabel">Node Type</label>
|
|
537
537
|
<div class="radio-group">
|
|
538
|
-
<label class="radio-card selected"
|
|
538
|
+
<label class="radio-card selected">
|
|
539
539
|
<input type="radio" name="nodeType" value="personal" checked>
|
|
540
540
|
<div>
|
|
541
541
|
<div class="radio-label" data-i18n="wizard.node.typePersonal">Personal</div>
|
|
542
542
|
<div class="radio-desc" data-i18n="wizard.node.typePersonalDesc">For your own data and AI agents</div>
|
|
543
543
|
</div>
|
|
544
544
|
</label>
|
|
545
|
-
<label class="radio-card"
|
|
545
|
+
<label class="radio-card">
|
|
546
546
|
<input type="radio" name="nodeType" value="full">
|
|
547
547
|
<div>
|
|
548
548
|
<div class="radio-label" data-i18n="wizard.node.typeFull">Full</div>
|
|
@@ -560,8 +560,8 @@ body {
|
|
|
560
560
|
</div>
|
|
561
561
|
|
|
562
562
|
<div class="btn-row">
|
|
563
|
-
<button class="btn btn-secondary"
|
|
564
|
-
<button class="btn btn-primary"
|
|
563
|
+
<button class="btn btn-secondary" data-go-step="1" data-i18n="wizard.btn.back">Back</button>
|
|
564
|
+
<button class="btn btn-primary" data-go-step="3" data-i18n="wizard.btn.next">Next</button>
|
|
565
565
|
</div>
|
|
566
566
|
</div>
|
|
567
567
|
|
|
@@ -577,13 +577,13 @@ body {
|
|
|
577
577
|
<div class="field">
|
|
578
578
|
<label data-i18n="wizard.identity.modeLabel">Identity Mode</label>
|
|
579
579
|
<div class="radio-group">
|
|
580
|
-
<label class="radio-card selected"
|
|
580
|
+
<label class="radio-card selected">
|
|
581
581
|
<input type="radio" name="identityMode" value="create" checked>
|
|
582
582
|
<div>
|
|
583
583
|
<div class="radio-label" data-i18n="wizard.identity.modeCreate">Create new identity</div>
|
|
584
584
|
</div>
|
|
585
585
|
</label>
|
|
586
|
-
<label class="radio-card"
|
|
586
|
+
<label class="radio-card">
|
|
587
587
|
<input type="radio" name="identityMode" value="import">
|
|
588
588
|
<div>
|
|
589
589
|
<div class="radio-label" data-i18n="wizard.identity.modeImport">Import existing identity</div>
|
|
@@ -669,8 +669,8 @@ body {
|
|
|
669
669
|
</div>
|
|
670
670
|
|
|
671
671
|
<div class="btn-row">
|
|
672
|
-
<button class="btn btn-secondary"
|
|
673
|
-
<button class="btn btn-primary"
|
|
672
|
+
<button class="btn btn-secondary" data-go-step="2" data-i18n="wizard.btn.back">Back</button>
|
|
673
|
+
<button class="btn btn-primary" id="validateBtn" data-i18n="wizard.btn.next">Next</button>
|
|
674
674
|
</div>
|
|
675
675
|
</div>
|
|
676
676
|
|
|
@@ -685,14 +685,14 @@ body {
|
|
|
685
685
|
<div class="field">
|
|
686
686
|
<label data-i18n="wizard.network.anchorLabel">Anchor Operator</label>
|
|
687
687
|
<div class="radio-group">
|
|
688
|
-
<label class="radio-card selected"
|
|
688
|
+
<label class="radio-card selected">
|
|
689
689
|
<input type="radio" name="anchor" value="standalone" checked>
|
|
690
690
|
<div>
|
|
691
691
|
<div class="radio-label" data-i18n="wizard.network.standalone">Standalone (no federation)</div>
|
|
692
692
|
<div class="radio-desc" data-i18n="wizard.network.standaloneDesc">Independent node, no connection to other nodes</div>
|
|
693
693
|
</div>
|
|
694
694
|
</label>
|
|
695
|
-
<label class="radio-card"
|
|
695
|
+
<label class="radio-card">
|
|
696
696
|
<input type="radio" name="anchor" value="custom">
|
|
697
697
|
<div>
|
|
698
698
|
<div class="radio-label" data-i18n="wizard.network.custom">Custom anchor</div>
|
|
@@ -711,8 +711,8 @@ body {
|
|
|
711
711
|
</div>
|
|
712
712
|
|
|
713
713
|
<div class="btn-row">
|
|
714
|
-
<button class="btn btn-secondary"
|
|
715
|
-
<button class="btn btn-primary"
|
|
714
|
+
<button class="btn btn-secondary" data-go-step="3" data-i18n="wizard.btn.back">Back</button>
|
|
715
|
+
<button class="btn btn-primary" data-go-step="5" data-i18n="wizard.btn.next">Next</button>
|
|
716
716
|
</div>
|
|
717
717
|
</div>
|
|
718
718
|
|
|
@@ -763,8 +763,8 @@ body {
|
|
|
763
763
|
<div id="initResult"></div>
|
|
764
764
|
|
|
765
765
|
<div class="btn-row" id="step5Buttons">
|
|
766
|
-
<button class="btn btn-secondary"
|
|
767
|
-
<button class="btn btn-success" id="initBtn"
|
|
766
|
+
<button class="btn btn-secondary" data-go-step="4" data-i18n="wizard.btn.back">Back</button>
|
|
767
|
+
<button class="btn btn-success" id="initBtn" data-i18n="wizard.btn.initialize">Initialize Node</button>
|
|
768
768
|
</div>
|
|
769
769
|
</div>
|
|
770
770
|
|
|
@@ -1314,6 +1314,39 @@ function escapeHtml(str) {
|
|
|
1314
1314
|
if (browserLang.startsWith('fi')) {
|
|
1315
1315
|
setLang('fi');
|
|
1316
1316
|
}
|
|
1317
|
+
|
|
1318
|
+
// ── Event bindings (CSP-safe, no inline onclick) ──
|
|
1319
|
+
|
|
1320
|
+
// Language cards
|
|
1321
|
+
document.querySelectorAll('.lang-card').forEach(function(card) {
|
|
1322
|
+
card.addEventListener('click', function() {
|
|
1323
|
+
setLang(card.getAttribute('data-lang'));
|
|
1324
|
+
});
|
|
1325
|
+
});
|
|
1326
|
+
|
|
1327
|
+
// Step navigation buttons
|
|
1328
|
+
document.querySelectorAll('[data-go-step]').forEach(function(btn) {
|
|
1329
|
+
btn.addEventListener('click', function() {
|
|
1330
|
+
goToStep(parseInt(btn.getAttribute('data-go-step')));
|
|
1331
|
+
});
|
|
1332
|
+
});
|
|
1333
|
+
|
|
1334
|
+
// Radio card selection (all radio groups)
|
|
1335
|
+
document.querySelectorAll('.radio-card').forEach(function(card) {
|
|
1336
|
+
card.addEventListener('click', function() {
|
|
1337
|
+
var radio = card.querySelector('input[type="radio"]');
|
|
1338
|
+
if (!radio) return;
|
|
1339
|
+
selectRadio(card, radio.name, radio.value);
|
|
1340
|
+
if (radio.name === 'identityMode') toggleIdentityMode();
|
|
1341
|
+
if (radio.name === 'anchor') toggleGenesis();
|
|
1342
|
+
});
|
|
1343
|
+
});
|
|
1344
|
+
|
|
1345
|
+
// Validate step 3 and go to step 4
|
|
1346
|
+
document.getElementById('validateBtn').addEventListener('click', validateAndGoStep4);
|
|
1347
|
+
|
|
1348
|
+
// Initialize node
|
|
1349
|
+
document.getElementById('initBtn').addEventListener('click', doInit);
|
|
1317
1350
|
})();
|
|
1318
1351
|
</script>
|
|
1319
1352
|
</body>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware-guards.d.ts","sourceRoot":"","sources":["../../../src/server-bootstrap/middleware-guards.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAczE;;;GAGG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,OAAO,CAAC,OAAO,EACpB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE;IAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;CAAE,EACjD,wBAAwB,EAAE,MAAM,IAAI,GACnC;IAAE,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC;IAAC,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC;IAAC,wBAAwB,EAAE,MAAM,IAAI,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"middleware-guards.d.ts","sourceRoot":"","sources":["../../../src/server-bootstrap/middleware-guards.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAczE;;;GAGG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,OAAO,CAAC,OAAO,EACpB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE;IAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;CAAE,EACjD,wBAAwB,EAAE,MAAM,IAAI,GACnC;IAAE,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC;IAAC,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC;IAAC,wBAAwB,EAAE,MAAM,IAAI,CAAA;CAAE,CAkH1H"}
|
|
@@ -111,7 +111,13 @@ export function setupGuards(app, config, storage, maintenanceCache, invalidateHa
|
|
|
111
111
|
];
|
|
112
112
|
const wizardPath = wizardCandidates.find(p => existsSync(p));
|
|
113
113
|
if (wizardPath) {
|
|
114
|
-
|
|
114
|
+
let html = readFileSync(wizardPath, 'utf-8');
|
|
115
|
+
const nonce = res.locals.cspNonce || '';
|
|
116
|
+
if (nonce) {
|
|
117
|
+
html = html.replace(/<script(?=[ >])/g, `<script nonce="${nonce}"`);
|
|
118
|
+
html = html.replace(/<style(?=[ >])/g, `<style nonce="${nonce}"`);
|
|
119
|
+
}
|
|
120
|
+
res.type('text/html').send(html);
|
|
115
121
|
}
|
|
116
122
|
else {
|
|
117
123
|
res.redirect(302, '/v1/setup/status');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware-guards.js","sourceRoot":"","sources":["../../../src/server-bootstrap/middleware-guards.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"middleware-guards.js","sourceRoot":"","sources":["../../../src/server-bootstrap/middleware-guards.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aimeat",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.4",
|
|
4
4
|
"description": "AIME AT - AI Memory Exchange and Action Transfer - reference implementation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/src/index.js",
|
|
@@ -16,81 +16,6 @@
|
|
|
16
16
|
"docs/AIMEAT_Help_Prompt.md",
|
|
17
17
|
"docs/csm-examples/"
|
|
18
18
|
],
|
|
19
|
-
"scripts": {
|
|
20
|
-
"dev": "tsx scripts/kill-port.ts && node --env-file=.env --import tsx src/index.ts start",
|
|
21
|
-
"dev:watch": "tsx watch src/index.ts",
|
|
22
|
-
"build": "tsc && node --input-type=module -e \"import fs from 'fs';fs.cpSync('locales','dist/locales',{recursive:true});fs.cpSync('public','dist/public',{recursive:true});fs.cpSync('src/static','dist/static',{recursive:true});fs.cpSync('.env.example','dist/.env.example');\"",
|
|
23
|
-
"start": "node --env-file=.env dist/src/index.js start",
|
|
24
|
-
"test": "vitest run",
|
|
25
|
-
"test:coverage": "vitest run --coverage",
|
|
26
|
-
"test:watch": "vitest",
|
|
27
|
-
"test:api": "tsx test/api-full.ts",
|
|
28
|
-
"test:e2e:admin-features": "tsx test/e2e-admin-features.ts",
|
|
29
|
-
"test:e2e:anonymous": "tsx test/e2e-anonymous.ts",
|
|
30
|
-
"test:e2e:auth-lib": "tsx test/e2e-auth-lib.ts",
|
|
31
|
-
"test:e2e:board-ttl": "tsx test/e2e-board-ttl.ts",
|
|
32
|
-
"test:e2e:calibrator": "tsx test/e2e-calibrator.ts",
|
|
33
|
-
"test:e2e:concurrency": "tsx test/e2e-concurrency.ts",
|
|
34
|
-
"test:e2e:disputes": "tsx test/e2e-disputes.ts",
|
|
35
|
-
"test:e2e:extensions": "tsx test/e2e-extensions.ts",
|
|
36
|
-
"test:e2e:federation": "tsx test/e2e-federation.ts",
|
|
37
|
-
"test:e2e:hooks": "tsx test/e2e-hooks.ts",
|
|
38
|
-
"test:e2e:knowledge": "tsx test/e2e-knowledge.ts",
|
|
39
|
-
"test:e2e:libs": "tsx test/e2e-libs.ts",
|
|
40
|
-
"test:e2e:mcp": "tsx test/e2e-mcp.ts",
|
|
41
|
-
"test:e2e:micro-memory": "tsx test/e2e-micro-memory.ts",
|
|
42
|
-
"test:e2e:packages": "tsx test/e2e-packages.ts",
|
|
43
|
-
"test:e2e:personal-node": "tsx test/e2e-personal-node.ts",
|
|
44
|
-
"test:e2e:phase0": "tsx test/e2e-phase0.ts",
|
|
45
|
-
"test:e2e:portal": "tsx test/e2e-portal.ts",
|
|
46
|
-
"test:e2e:security": "tsx test/e2e-security.ts",
|
|
47
|
-
"test:e2e:storage-visibility": "tsx test/e2e-storage-visibility.ts",
|
|
48
|
-
"test:e2e:cortex-ui": "tsx test/cortex-ui-e2e.ts",
|
|
49
|
-
"test:e2e:docker": "bash test/docker/e2e-runner.sh --all",
|
|
50
|
-
"test:e2e:docker:full": "bash test/docker/e2e-runner.sh test/api-full.ts",
|
|
51
|
-
"test:e2e:docker:admin-features": "bash test/docker/e2e-runner.sh test/e2e-admin-features.ts",
|
|
52
|
-
"test:e2e:docker:anonymous": "bash test/docker/e2e-runner.sh test/e2e-anonymous.ts",
|
|
53
|
-
"test:e2e:docker:auth-lib": "bash test/docker/e2e-runner.sh test/e2e-auth-lib.ts",
|
|
54
|
-
"test:e2e:docker:board-ttl": "bash test/docker/e2e-runner.sh test/e2e-board-ttl.ts",
|
|
55
|
-
"test:e2e:docker:concurrency": "bash test/docker/e2e-runner.sh test/e2e-concurrency.ts",
|
|
56
|
-
"test:e2e:docker:disputes": "bash test/docker/e2e-runner.sh test/e2e-disputes.ts",
|
|
57
|
-
"test:e2e:docker:extensions": "bash test/docker/e2e-runner.sh test/e2e-extensions.ts",
|
|
58
|
-
"test:e2e:docker:federation": "bash test/docker/e2e-runner.sh test/e2e-federation.ts",
|
|
59
|
-
"test:e2e:docker:hooks": "bash test/docker/e2e-runner.sh test/e2e-hooks.ts",
|
|
60
|
-
"test:e2e:docker:knowledge": "bash test/docker/e2e-runner.sh test/e2e-knowledge.ts",
|
|
61
|
-
"test:e2e:docker:libs": "bash test/docker/e2e-runner.sh test/e2e-libs.ts",
|
|
62
|
-
"test:e2e:docker:mcp": "bash test/docker/e2e-runner.sh test/e2e-mcp.ts",
|
|
63
|
-
"test:e2e:docker:micro-memory": "bash test/docker/e2e-runner.sh test/e2e-micro-memory.ts",
|
|
64
|
-
"test:e2e:docker:packages": "bash test/docker/e2e-runner.sh test/e2e-packages.ts",
|
|
65
|
-
"test:e2e:docker:personal-node": "bash test/docker/e2e-runner.sh test/e2e-personal-node.ts",
|
|
66
|
-
"test:e2e:docker:phase0": "bash test/docker/e2e-runner.sh test/e2e-phase0.ts",
|
|
67
|
-
"test:e2e:docker:portal": "bash test/docker/e2e-runner.sh test/e2e-portal.ts",
|
|
68
|
-
"test:e2e:docker:security": "bash test/docker/e2e-runner.sh test/e2e-security.ts",
|
|
69
|
-
"test:e2e:docker:storage-visibility": "bash test/docker/e2e-runner.sh test/e2e-storage-visibility.ts",
|
|
70
|
-
"test:e2e": "node --env-file=.env.test.memory --import tsx test/run-e2e-ci.ts",
|
|
71
|
-
"test:e2e:memory": "node --env-file=.env.test.memory --import tsx test/run-e2e-ci.ts",
|
|
72
|
-
"test:e2e:sqlite": "node --env-file=.env.test.sqlite --import tsx test/run-e2e-ci.ts",
|
|
73
|
-
"test:e2e:mongodb": "node --env-file=.env.test.mongodb --import tsx test/run-e2e-ci.ts",
|
|
74
|
-
"test:playwright": "node --env-file=.env.test.memory --import tsx test/run-playwright-ci.ts",
|
|
75
|
-
"test:playwright:memory": "node --env-file=.env.test.memory --import tsx test/run-playwright-ci.ts",
|
|
76
|
-
"test:playwright:sqlite": "node --env-file=.env.test.sqlite --import tsx test/run-playwright-ci.ts",
|
|
77
|
-
"test:playwright:mongodb": "node --env-file=.env.test.mongodb --import tsx test/run-playwright-ci.ts",
|
|
78
|
-
"test:e2e:all-backends": "node --env-file=.env.test.memory --import tsx test/run-e2e-ci.ts --all && node --env-file=.env.test.sqlite --import tsx test/run-e2e-ci.ts --all && node --env-file=.env.test.mongodb --import tsx test/run-e2e-ci.ts --all",
|
|
79
|
-
"test:e2e:ci": "node --import tsx test/run-e2e-ci.ts --all",
|
|
80
|
-
"test:e2e:ci:filter": "node --import tsx test/run-e2e-ci.ts",
|
|
81
|
-
"lint": "eslint src/",
|
|
82
|
-
"typecheck": "tsc --noEmit",
|
|
83
|
-
"generate:types": "openapi-typescript ../openapi.yaml -o src/generated/api-types.ts",
|
|
84
|
-
"db:generate": "prisma generate",
|
|
85
|
-
"db:push": "prisma db push",
|
|
86
|
-
"db:init": "node --env-file=.env --import tsx scripts/db-init.ts",
|
|
87
|
-
"db:reset": "node --env-file=.env --import tsx scripts/db-reset.ts",
|
|
88
|
-
"seed:examples": "node --import tsx scripts/seed-digital-signage.ts",
|
|
89
|
-
"indexnow": "node --env-file=.env --import tsx scripts/indexnow.ts",
|
|
90
|
-
"audit": "pnpm audit --audit-level=high",
|
|
91
|
-
"audit:fix": "pnpm audit --fix",
|
|
92
|
-
"prepublishOnly": "pnpm build"
|
|
93
|
-
},
|
|
94
19
|
"keywords": [
|
|
95
20
|
"aimeat",
|
|
96
21
|
"ai",
|
|
@@ -109,7 +34,6 @@
|
|
|
109
34
|
"bugs": {
|
|
110
35
|
"url": "https://github.com/miikkij/aimeat-protocol/issues"
|
|
111
36
|
},
|
|
112
|
-
"packageManager": "pnpm@10.27.0",
|
|
113
37
|
"dependencies": {
|
|
114
38
|
"@clack/prompts": "^1.0.1",
|
|
115
39
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
@@ -174,22 +98,78 @@
|
|
|
174
98
|
"optionalDependencies": {
|
|
175
99
|
"@prisma/client": "^6.19.2"
|
|
176
100
|
},
|
|
177
|
-
"
|
|
178
|
-
"
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
"
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
101
|
+
"scripts": {
|
|
102
|
+
"dev": "tsx scripts/kill-port.ts && node --env-file=.env --import tsx src/index.ts start",
|
|
103
|
+
"dev:watch": "tsx watch src/index.ts",
|
|
104
|
+
"build": "tsc && node --input-type=module -e \"import fs from 'fs';fs.cpSync('locales','dist/locales',{recursive:true});fs.cpSync('public','dist/public',{recursive:true});fs.cpSync('src/static','dist/static',{recursive:true});fs.cpSync('.env.example','dist/.env.example');\"",
|
|
105
|
+
"start": "node --env-file=.env dist/src/index.js start",
|
|
106
|
+
"test": "vitest run",
|
|
107
|
+
"test:coverage": "vitest run --coverage",
|
|
108
|
+
"test:watch": "vitest",
|
|
109
|
+
"test:api": "tsx test/api-full.ts",
|
|
110
|
+
"test:e2e:admin-features": "tsx test/e2e-admin-features.ts",
|
|
111
|
+
"test:e2e:anonymous": "tsx test/e2e-anonymous.ts",
|
|
112
|
+
"test:e2e:auth-lib": "tsx test/e2e-auth-lib.ts",
|
|
113
|
+
"test:e2e:board-ttl": "tsx test/e2e-board-ttl.ts",
|
|
114
|
+
"test:e2e:calibrator": "tsx test/e2e-calibrator.ts",
|
|
115
|
+
"test:e2e:concurrency": "tsx test/e2e-concurrency.ts",
|
|
116
|
+
"test:e2e:disputes": "tsx test/e2e-disputes.ts",
|
|
117
|
+
"test:e2e:extensions": "tsx test/e2e-extensions.ts",
|
|
118
|
+
"test:e2e:federation": "tsx test/e2e-federation.ts",
|
|
119
|
+
"test:e2e:hooks": "tsx test/e2e-hooks.ts",
|
|
120
|
+
"test:e2e:knowledge": "tsx test/e2e-knowledge.ts",
|
|
121
|
+
"test:e2e:libs": "tsx test/e2e-libs.ts",
|
|
122
|
+
"test:e2e:mcp": "tsx test/e2e-mcp.ts",
|
|
123
|
+
"test:e2e:micro-memory": "tsx test/e2e-micro-memory.ts",
|
|
124
|
+
"test:e2e:packages": "tsx test/e2e-packages.ts",
|
|
125
|
+
"test:e2e:personal-node": "tsx test/e2e-personal-node.ts",
|
|
126
|
+
"test:e2e:phase0": "tsx test/e2e-phase0.ts",
|
|
127
|
+
"test:e2e:portal": "tsx test/e2e-portal.ts",
|
|
128
|
+
"test:e2e:security": "tsx test/e2e-security.ts",
|
|
129
|
+
"test:e2e:storage-visibility": "tsx test/e2e-storage-visibility.ts",
|
|
130
|
+
"test:e2e:cortex-ui": "tsx test/cortex-ui-e2e.ts",
|
|
131
|
+
"test:e2e:docker": "bash test/docker/e2e-runner.sh --all",
|
|
132
|
+
"test:e2e:docker:full": "bash test/docker/e2e-runner.sh test/api-full.ts",
|
|
133
|
+
"test:e2e:docker:admin-features": "bash test/docker/e2e-runner.sh test/e2e-admin-features.ts",
|
|
134
|
+
"test:e2e:docker:anonymous": "bash test/docker/e2e-runner.sh test/e2e-anonymous.ts",
|
|
135
|
+
"test:e2e:docker:auth-lib": "bash test/docker/e2e-runner.sh test/e2e-auth-lib.ts",
|
|
136
|
+
"test:e2e:docker:board-ttl": "bash test/docker/e2e-runner.sh test/e2e-board-ttl.ts",
|
|
137
|
+
"test:e2e:docker:concurrency": "bash test/docker/e2e-runner.sh test/e2e-concurrency.ts",
|
|
138
|
+
"test:e2e:docker:disputes": "bash test/docker/e2e-runner.sh test/e2e-disputes.ts",
|
|
139
|
+
"test:e2e:docker:extensions": "bash test/docker/e2e-runner.sh test/e2e-extensions.ts",
|
|
140
|
+
"test:e2e:docker:federation": "bash test/docker/e2e-runner.sh test/e2e-federation.ts",
|
|
141
|
+
"test:e2e:docker:hooks": "bash test/docker/e2e-runner.sh test/e2e-hooks.ts",
|
|
142
|
+
"test:e2e:docker:knowledge": "bash test/docker/e2e-runner.sh test/e2e-knowledge.ts",
|
|
143
|
+
"test:e2e:docker:libs": "bash test/docker/e2e-runner.sh test/e2e-libs.ts",
|
|
144
|
+
"test:e2e:docker:mcp": "bash test/docker/e2e-runner.sh test/e2e-mcp.ts",
|
|
145
|
+
"test:e2e:docker:micro-memory": "bash test/docker/e2e-runner.sh test/e2e-micro-memory.ts",
|
|
146
|
+
"test:e2e:docker:packages": "bash test/docker/e2e-runner.sh test/e2e-packages.ts",
|
|
147
|
+
"test:e2e:docker:personal-node": "bash test/docker/e2e-runner.sh test/e2e-personal-node.ts",
|
|
148
|
+
"test:e2e:docker:phase0": "bash test/docker/e2e-runner.sh test/e2e-phase0.ts",
|
|
149
|
+
"test:e2e:docker:portal": "bash test/docker/e2e-runner.sh test/e2e-portal.ts",
|
|
150
|
+
"test:e2e:docker:security": "bash test/docker/e2e-runner.sh test/e2e-security.ts",
|
|
151
|
+
"test:e2e:docker:storage-visibility": "bash test/docker/e2e-runner.sh test/e2e-storage-visibility.ts",
|
|
152
|
+
"test:e2e": "node --env-file=.env.test.memory --import tsx test/run-e2e-ci.ts",
|
|
153
|
+
"test:e2e:memory": "node --env-file=.env.test.memory --import tsx test/run-e2e-ci.ts",
|
|
154
|
+
"test:e2e:sqlite": "node --env-file=.env.test.sqlite --import tsx test/run-e2e-ci.ts",
|
|
155
|
+
"test:e2e:mongodb": "node --env-file=.env.test.mongodb --import tsx test/run-e2e-ci.ts",
|
|
156
|
+
"test:playwright": "node --env-file=.env.test.memory --import tsx test/run-playwright-ci.ts",
|
|
157
|
+
"test:playwright:memory": "node --env-file=.env.test.memory --import tsx test/run-playwright-ci.ts",
|
|
158
|
+
"test:playwright:sqlite": "node --env-file=.env.test.sqlite --import tsx test/run-playwright-ci.ts",
|
|
159
|
+
"test:playwright:mongodb": "node --env-file=.env.test.mongodb --import tsx test/run-playwright-ci.ts",
|
|
160
|
+
"test:e2e:all-backends": "node --env-file=.env.test.memory --import tsx test/run-e2e-ci.ts --all && node --env-file=.env.test.sqlite --import tsx test/run-e2e-ci.ts --all && node --env-file=.env.test.mongodb --import tsx test/run-e2e-ci.ts --all",
|
|
161
|
+
"test:e2e:ci": "node --import tsx test/run-e2e-ci.ts --all",
|
|
162
|
+
"test:e2e:ci:filter": "node --import tsx test/run-e2e-ci.ts",
|
|
163
|
+
"lint": "eslint src/",
|
|
164
|
+
"typecheck": "tsc --noEmit",
|
|
165
|
+
"generate:types": "openapi-typescript ../openapi.yaml -o src/generated/api-types.ts",
|
|
166
|
+
"db:generate": "prisma generate",
|
|
167
|
+
"db:push": "prisma db push",
|
|
168
|
+
"db:init": "node --env-file=.env --import tsx scripts/db-init.ts",
|
|
169
|
+
"db:reset": "node --env-file=.env --import tsx scripts/db-reset.ts",
|
|
170
|
+
"seed:examples": "node --import tsx scripts/seed-digital-signage.ts",
|
|
171
|
+
"indexnow": "node --env-file=.env --import tsx scripts/indexnow.ts",
|
|
172
|
+
"audit": "pnpm audit --audit-level=high",
|
|
173
|
+
"audit:fix": "pnpm audit --fix"
|
|
194
174
|
}
|
|
195
|
-
}
|
|
175
|
+
}
|