@sentropic/h2a 0.97.6 → 0.97.8
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/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/dist/cli-contract.js +1 -1
- package/dist/cli-contract.js.map +1 -1
- package/dist/cli.d.ts +12 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +85 -48
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/mcp.d.ts +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +5 -0
- package/dist/mcp.js.map +1 -1
- package/dist/runtime/drive/consent-tools.d.ts +17 -0
- package/dist/runtime/drive/consent-tools.d.ts.map +1 -0
- package/dist/runtime/drive/consent-tools.js +102 -0
- package/dist/runtime/drive/consent-tools.js.map +1 -0
- package/dist/runtime/drive/consent.d.ts +46 -0
- package/dist/runtime/drive/consent.d.ts.map +1 -0
- package/dist/runtime/drive/consent.js +150 -0
- package/dist/runtime/drive/consent.js.map +1 -0
- package/dist/runtime/drive/index.d.ts +9 -6
- package/dist/runtime/drive/index.d.ts.map +1 -1
- package/dist/runtime/drive/index.js +33 -3
- package/dist/runtime/drive/index.js.map +1 -1
- package/dist/runtime/local-files/store.d.ts +12 -1
- package/dist/runtime/local-files/store.d.ts.map +1 -1
- package/dist/runtime/local-files/store.js +338 -2
- package/dist/runtime/local-files/store.js.map +1 -1
- package/dist/runtime/mcp/server.d.ts.map +1 -1
- package/dist/runtime/mcp/server.js +4 -0
- package/dist/runtime/mcp/server.js.map +1 -1
- package/dist/runtime/mcp/tools.d.ts.map +1 -1
- package/dist/runtime/mcp/tools.js +5 -0
- package/dist/runtime/mcp/tools.js.map +1 -1
- package/dist/runtime/upgrade/index.d.ts +239 -3
- package/dist/runtime/upgrade/index.d.ts.map +1 -1
- package/dist/runtime/upgrade/index.js +2052 -9
- package/dist/runtime/upgrade/index.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
import { appendFileSync, existsSync, mkdirSync, readFileSync, readdirSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
1
|
+
import { appendFileSync, openSync, closeSync, fsyncSync, existsSync, mkdirSync, readFileSync, readdirSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { dirname, join } from "node:path";
|
|
3
|
-
import { H2A_ARTIFACT_KINDS, H2A_AUTHORITY_MATRIX, H2A_DECLARATION_INTERET_BODY_KIND, appendJournalEntry, assertValidNegotiationState, canSignArtifactKind, computeHash, createJournalEntry, deriveDecisionDossier as deriveDecisionDossierCore, derivePostureConflit, derivePostureConfiance as derivePostureConfianceCore, evaluatePresenterBias, isH2AEnvelope, validateH2AEnvelope, isH2ADeclarationInteret, validateSubagentBinding, verifyCanonical, verifyJournalChain } from "@sentropic/h2a";
|
|
3
|
+
import { H2A_ARTIFACT_KINDS, H2A_AUTHORITY_MATRIX, H2A_DECLARATION_INTERET_BODY_KIND, H2A_DEFAULT_MAX_SKEW_MS, appendJournalEntry, assertValidNegotiationState, canSignArtifactKind, computeHash, createJournalEntry, deriveDecisionDossier as deriveDecisionDossierCore, derivePostureConflit, derivePostureConfiance as derivePostureConfianceCore, evaluatePresenterBias, isH2AEnvelope, validateH2AEnvelope, isH2ADeclarationInteret, validateSubagentBinding, verifyCanonical, verifyJournalChain } from "@sentropic/h2a";
|
|
4
|
+
import { MCP_IDENTITY_TIMEOUT_MS } from '../mcp/identity-state.js';
|
|
5
|
+
import { consentPairId, isConsentId, projectConsent, verified, evidence, instant, DRIVE_CONSENT_LIMIT } from '../drive/consent.js';
|
|
6
|
+
import { authorizeDrive } from '../drive/index.js';
|
|
4
7
|
import { withLockSync } from "./locks.js";
|
|
5
8
|
import { withLeaseSync } from "./lease.js";
|
|
6
9
|
import { getActiveMcpTrace } from "../mcp/phase-trace.js";
|
|
@@ -462,6 +465,8 @@ export function createLocalStore(options) {
|
|
|
462
465
|
return readNegotiationJournalUnlocked(negotiationId);
|
|
463
466
|
}
|
|
464
467
|
function appendNegotiationEvent(negotiationId, payload) {
|
|
468
|
+
if (isConsentId(negotiationId))
|
|
469
|
+
throw new Error("Reserved drive-consent namespace");
|
|
465
470
|
ensureDir(negotiationDir(paths, negotiationId));
|
|
466
471
|
return lock(negotiationLock(negotiationId), () => {
|
|
467
472
|
const file = negotiationJournalFile(paths, negotiationId);
|
|
@@ -474,6 +479,334 @@ export function createLocalStore(options) {
|
|
|
474
479
|
return entry;
|
|
475
480
|
}, lockOpts);
|
|
476
481
|
}
|
|
482
|
+
function readDriveConsentChain(from, to) {
|
|
483
|
+
return readNegotiationJournalUnlocked(consentPairId(from, to));
|
|
484
|
+
}
|
|
485
|
+
// Derived domain index only: never a source of authority or a verified-head
|
|
486
|
+
// shortcut. External changes rebuild from the entire journal. Full historical
|
|
487
|
+
// verification also runs at startup and periodically, outside registryLock.
|
|
488
|
+
const consentWindow = 48 * 60 * 60 * 1000;
|
|
489
|
+
const consentIndexes = new Map();
|
|
490
|
+
const consentFailures = new Map();
|
|
491
|
+
const consentMaintenance = { indexes: consentIndexes, verify: verifyConsentHistory };
|
|
492
|
+
function consentStamp(id) {
|
|
493
|
+
const file = negotiationJournalFile(paths, id);
|
|
494
|
+
if (!existsSync(file))
|
|
495
|
+
return '';
|
|
496
|
+
const s = statSync(file, { bigint: true });
|
|
497
|
+
return [s.ino, s.size, s.mtimeNs, s.ctimeNs].join(':');
|
|
498
|
+
}
|
|
499
|
+
function indexConsentEntry(index, entry) {
|
|
500
|
+
index.last = entry;
|
|
501
|
+
const body = entry.body;
|
|
502
|
+
if (body?.kind === 'drive-consent.audit') {
|
|
503
|
+
if (typeof body.observedAt === 'number') {
|
|
504
|
+
index.high = Math.max(index.high, body.observedAt);
|
|
505
|
+
if (body.admissionId)
|
|
506
|
+
index.admissions.set(body.admissionId, body.observedAt);
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
else
|
|
510
|
+
index.entries.push(entry);
|
|
511
|
+
}
|
|
512
|
+
function pruneConsentIndex(index, now) {
|
|
513
|
+
const regCache = new Map();
|
|
514
|
+
const reg = (id) => {
|
|
515
|
+
if (!regCache.has(id))
|
|
516
|
+
regCache.set(id, findInstance(id));
|
|
517
|
+
return regCache.get(id);
|
|
518
|
+
};
|
|
519
|
+
// Compute liveness before applying receipt age: a negative may have been
|
|
520
|
+
// received long before the live request it overrides in an existing journal.
|
|
521
|
+
const live = new Set();
|
|
522
|
+
const known = new Set();
|
|
523
|
+
// Retain decisive evidence and its request: O(negatives + conflicts), not
|
|
524
|
+
// O(history). projectConsent still verifies it; no verdict is cached.
|
|
525
|
+
const terminalHashes = new Set();
|
|
526
|
+
const decisiveGrantHashes = new Set();
|
|
527
|
+
const grantHashes = new Map();
|
|
528
|
+
for (const entry of index.entries) {
|
|
529
|
+
if (!evidence(entry.body))
|
|
530
|
+
continue;
|
|
531
|
+
const p = entry.body.payload;
|
|
532
|
+
if (p.kind === 'h2a.drive.consent.revocation' || p.kind === 'h2a.drive.consent.refusal') {
|
|
533
|
+
terminalHashes.add(p.requestHash);
|
|
534
|
+
}
|
|
535
|
+
else if (p.kind === 'h2a.drive.consent.grant') {
|
|
536
|
+
const hash = computeHash(p), previous = grantHashes.get(p.requestHash);
|
|
537
|
+
if (previous !== undefined && previous !== hash ||
|
|
538
|
+
p.principal === undefined && typeof p.to === 'string' && reg(p.to)?.principal !== undefined) {
|
|
539
|
+
decisiveGrantHashes.add(p.requestHash);
|
|
540
|
+
}
|
|
541
|
+
grantHashes.set(p.requestHash, hash);
|
|
542
|
+
}
|
|
543
|
+
}
|
|
544
|
+
let lastExpired;
|
|
545
|
+
for (const entry of index.entries) {
|
|
546
|
+
if (!evidence(entry.body) || entry.body.payload.kind !== 'h2a.drive.consent.request')
|
|
547
|
+
continue;
|
|
548
|
+
const p = entry.body.payload;
|
|
549
|
+
known.add(p.requestId);
|
|
550
|
+
const end = Date.parse(String(p.requestedNotAfter));
|
|
551
|
+
if (!Number.isFinite(end) || end > now)
|
|
552
|
+
live.add(p.requestId);
|
|
553
|
+
else if ((!lastExpired || end > lastExpired.end) &&
|
|
554
|
+
typeof p.from === 'string' && typeof p.to === 'string' &&
|
|
555
|
+
projectConsent({ findInstance: reg, listInstanceKeys, listKeyEvents }, p.from, p.to, [entry], now).requests > 0) {
|
|
556
|
+
lastExpired = { id: p.requestId, end };
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
// Keep one request witness even beyond receipt age: pair revocation is
|
|
560
|
+
// considered by the source of truth only when a valid request exists.
|
|
561
|
+
if (lastExpired)
|
|
562
|
+
live.add(lastExpired.id);
|
|
563
|
+
index.entries = index.entries.filter(entry => {
|
|
564
|
+
if (!evidence(entry.body))
|
|
565
|
+
return Date.parse(entry.createdAt) >= now - consentWindow;
|
|
566
|
+
const p = entry.body.payload;
|
|
567
|
+
if (p.kind === 'h2a.drive.consent.request') {
|
|
568
|
+
const hash = computeHash(p);
|
|
569
|
+
if (terminalHashes.has(hash) || decisiveGrantHashes.has(hash))
|
|
570
|
+
return true;
|
|
571
|
+
}
|
|
572
|
+
if (known.has(p.requestId) && (p.kind === 'h2a.drive.consent.refusal' ||
|
|
573
|
+
p.kind === 'h2a.drive.consent.grant' && decisiveGrantHashes.has(p.requestHash)))
|
|
574
|
+
return true;
|
|
575
|
+
if (p.kind === 'h2a.drive.consent.revocation') {
|
|
576
|
+
// pair:true can ALSO be request-related in historical journals; that
|
|
577
|
+
// terminal meaning survives its pair window, exactly as in projection.
|
|
578
|
+
return known.has(p.requestId) || p.pair === true && instant(p.notAfter) > now;
|
|
579
|
+
}
|
|
580
|
+
if (known.has(p.requestId))
|
|
581
|
+
return live.has(p.requestId);
|
|
582
|
+
return Date.parse(entry.createdAt) >= now - consentWindow;
|
|
583
|
+
});
|
|
584
|
+
for (const [id, at] of index.admissions) {
|
|
585
|
+
if (at >= now - consentWindow)
|
|
586
|
+
break;
|
|
587
|
+
index.admissions.delete(id);
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
function rebuildConsentIndex(id) {
|
|
591
|
+
const stamp = consentStamp(id);
|
|
592
|
+
const entries = readNegotiationJournalUnlocked(id);
|
|
593
|
+
if (stamp !== consentStamp(id))
|
|
594
|
+
throw Error('consent-unavailable: journal changed during rebuild');
|
|
595
|
+
const index = { stamp, entries: [], high: 0, admissions: new Map() };
|
|
596
|
+
for (const entry of entries)
|
|
597
|
+
indexConsentEntry(index, entry);
|
|
598
|
+
pruneConsentIndex(index, index.high);
|
|
599
|
+
consentIndexes.set(id, index);
|
|
600
|
+
consentFailures.delete(id);
|
|
601
|
+
return index;
|
|
602
|
+
}
|
|
603
|
+
function consentIndex(id, now) {
|
|
604
|
+
let index = consentMaintenance.indexes.get(id);
|
|
605
|
+
if (!index || index.stamp !== consentStamp(id))
|
|
606
|
+
index = rebuildConsentIndex(id);
|
|
607
|
+
if (consentFailures.has(id))
|
|
608
|
+
throw consentFailures.get(id);
|
|
609
|
+
if (!Number.isFinite(now) || now < index.high)
|
|
610
|
+
throw Error('consent-unavailable: receiver clock rollback');
|
|
611
|
+
pruneConsentIndex(index, index.high);
|
|
612
|
+
return index;
|
|
613
|
+
}
|
|
614
|
+
function verifyConsentHistory() {
|
|
615
|
+
const markerPath = join(paths.root, 'drive-consent-budget.json');
|
|
616
|
+
// Replay before rechecking: even a recovered store reports its outstanding crossing.
|
|
617
|
+
try {
|
|
618
|
+
const marker = JSON.parse(readFileSync(markerPath, 'utf8'));
|
|
619
|
+
console.error(JSON.stringify({ ...marker, event: 'drive-consent.full-verification',
|
|
620
|
+
due: true, replayed: true, action: 'ESCALATE debt -> due' }));
|
|
621
|
+
}
|
|
622
|
+
catch { /* Observability must never make a read-only store unavailable. */ }
|
|
623
|
+
const started = performance.now();
|
|
624
|
+
try {
|
|
625
|
+
if (!existsSync(paths.negotiations))
|
|
626
|
+
return;
|
|
627
|
+
for (const dir of readdirSync(paths.negotiations)) {
|
|
628
|
+
if (!dir.startsWith('drive-consent__'))
|
|
629
|
+
continue;
|
|
630
|
+
// Pair IDs contain the sha256: prefix too; both colons are escaped
|
|
631
|
+
// by safePathSegment. Hashes themselves contain no underscores.
|
|
632
|
+
const id = dir.replaceAll('__', ':');
|
|
633
|
+
try {
|
|
634
|
+
rebuildConsentIndex(id);
|
|
635
|
+
}
|
|
636
|
+
catch (error) {
|
|
637
|
+
consentFailures.set(id, error);
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
finally {
|
|
642
|
+
const durationMs = performance.now() - started;
|
|
643
|
+
// Reserve 90% of identity acquisition for all other startup work.
|
|
644
|
+
const budgetFraction = 0.1;
|
|
645
|
+
const thresholdMs = MCP_IDENTITY_TIMEOUT_MS * budgetFraction;
|
|
646
|
+
const alertThresholdMs = MCP_IDENTITY_TIMEOUT_MS * 0.05;
|
|
647
|
+
const due = durationMs >= thresholdMs;
|
|
648
|
+
const track = '01M39VC11XBNSE8W2ASMQRRKZV';
|
|
649
|
+
// Emit independently of marker persistence, including on EACCES/EROFS roots.
|
|
650
|
+
if (options.alwaysEmitConsentBudget || durationMs >= alertThresholdMs) {
|
|
651
|
+
console.error(JSON.stringify({ event: 'drive-consent.full-verification', durationMs,
|
|
652
|
+
alertThresholdMs, thresholdMs, budgetFraction, identityDeadlineMs: MCP_IDENTITY_TIMEOUT_MS,
|
|
653
|
+
due, track, action: due ? 'ESCALATE debt -> due' : 'observe' }));
|
|
654
|
+
}
|
|
655
|
+
try {
|
|
656
|
+
if (due)
|
|
657
|
+
writeFileSync(markerPath, JSON.stringify({ durationMs, thresholdMs,
|
|
658
|
+
identityDeadlineMs: MCP_IDENTITY_TIMEOUT_MS, crossedAt: new Date().toISOString(), track }) + '\n');
|
|
659
|
+
else
|
|
660
|
+
unlinkSync(markerPath);
|
|
661
|
+
}
|
|
662
|
+
catch { /* Best effort only: marker failures never block store creation. */ }
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
verifyConsentHistory();
|
|
666
|
+
// Weak reference avoids retaining short-lived CLI/MCP stores indefinitely.
|
|
667
|
+
const historyRef = new WeakRef(consentMaintenance);
|
|
668
|
+
const historyTimer = setInterval(() => {
|
|
669
|
+
const maintenance = historyRef.deref();
|
|
670
|
+
if (maintenance)
|
|
671
|
+
maintenance.verify();
|
|
672
|
+
else
|
|
673
|
+
clearInterval(historyTimer);
|
|
674
|
+
}, 60_000);
|
|
675
|
+
historyTimer.unref();
|
|
676
|
+
// Scan/rebuild before taking registryLock, then check the file stamp under
|
|
677
|
+
// the original registry -> pair lock order. Never scan under registryLock.
|
|
678
|
+
function consentTransaction(from, to, fn, clock) {
|
|
679
|
+
assertWritable('drive-consent');
|
|
680
|
+
if (lockMode !== 'pid')
|
|
681
|
+
throw new Error('consent-unavailable: unsupported lease topology');
|
|
682
|
+
const id = consentPairId(from, to);
|
|
683
|
+
ensureDir(negotiationDir(paths, id));
|
|
684
|
+
const now = clock ?? Date.now();
|
|
685
|
+
const index = consentIndex(id, now);
|
|
686
|
+
return lock(registryLock, () => lock(negotiationLock(id), () => {
|
|
687
|
+
if (index.stamp !== consentStamp(id))
|
|
688
|
+
throw Error('consent-unavailable: journal changed before admission');
|
|
689
|
+
const append = (body, type = 'event') => {
|
|
690
|
+
const event = { id: 'consent:' + computeHash({ body, previous: index.last?.contentHash, now }), type, actor: { instance: to, role: 'AGENTS', scope: 'drive-consent' }, negotiationId: id, createdAt: new Date(now).toISOString(), body };
|
|
691
|
+
const entry = index.last ? appendJournalEntry(index.last, event) : createJournalEntry(event);
|
|
692
|
+
const fd = openSync(negotiationJournalFile(paths, id), 'a', 0o600);
|
|
693
|
+
try {
|
|
694
|
+
appendFileSync(fd, JSON.stringify(entry) + '\n', 'utf8');
|
|
695
|
+
fsyncSync(fd);
|
|
696
|
+
}
|
|
697
|
+
finally {
|
|
698
|
+
closeSync(fd);
|
|
699
|
+
}
|
|
700
|
+
for (const dir of [negotiationDir(paths, id), paths.negotiations]) {
|
|
701
|
+
const d = openSync(dir, 'r');
|
|
702
|
+
try {
|
|
703
|
+
fsyncSync(d);
|
|
704
|
+
}
|
|
705
|
+
finally {
|
|
706
|
+
closeSync(d);
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
indexConsentEntry(index, entry);
|
|
710
|
+
index.stamp = consentStamp(id);
|
|
711
|
+
};
|
|
712
|
+
return fn(index.entries, append, now, index);
|
|
713
|
+
}, lockOpts), lockOpts);
|
|
714
|
+
}
|
|
715
|
+
function consentError(error) {
|
|
716
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
717
|
+
return { decision: { ok: false, reason: /corrupt journal|JSON/.test(message) ? 'consent-invalid' : 'consent-unavailable' }, anomalies: [message], requests: 0, limit: DRIVE_CONSENT_LIMIT };
|
|
718
|
+
}
|
|
719
|
+
function findDriveConsent(from, to, clock) {
|
|
720
|
+
try {
|
|
721
|
+
const now = clock ?? Date.now();
|
|
722
|
+
const index = consentIndex(consentPairId(from, to), now);
|
|
723
|
+
const result = projectConsent({ findInstance, listInstanceKeys, listKeyEvents }, from, to, index.entries, now);
|
|
724
|
+
if (!result.decision.ok && result.decision.reason === 'unauthorized')
|
|
725
|
+
return result;
|
|
726
|
+
if (readOnly || lockMode !== 'pid')
|
|
727
|
+
throw Error('consent-unavailable: admission store unavailable');
|
|
728
|
+
return result;
|
|
729
|
+
}
|
|
730
|
+
catch (error) {
|
|
731
|
+
return consentError(error);
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
function recordDriveConsentEnvelope(event, clock) {
|
|
735
|
+
if (!evidence(event.body))
|
|
736
|
+
throw new Error('consent-invalid: malformed evidence');
|
|
737
|
+
const body = event.body;
|
|
738
|
+
const from = body.payload.from, to = body.payload.to;
|
|
739
|
+
if (typeof from !== 'string' || typeof to !== 'string' || event.negotiationId !== consentPairId(from, to))
|
|
740
|
+
throw new Error('consent-invalid: pair');
|
|
741
|
+
return consentTransaction(from, to, (entries, append, now, index) => {
|
|
742
|
+
const p = body.payload;
|
|
743
|
+
if (p.kind === 'h2a.drive.consent.request') {
|
|
744
|
+
const created = instant(p.createdAt);
|
|
745
|
+
if (!Number.isFinite(created) || Math.abs(created - now) > H2A_DEFAULT_MAX_SKEW_MS)
|
|
746
|
+
throw new Error('consent-invalid: request clock skew');
|
|
747
|
+
}
|
|
748
|
+
else if (!(p.kind === 'h2a.drive.consent.revocation' && p.pair === true) ||
|
|
749
|
+
(typeof p.requestId === 'string' && typeof p.requestHash === 'string')) {
|
|
750
|
+
const matchesRequest = (e) => evidence(e.body) &&
|
|
751
|
+
e.body.payload.kind === 'h2a.drive.consent.request' &&
|
|
752
|
+
e.body.payload.requestId === p.requestId && computeHash(e.body.payload) === p.requestHash;
|
|
753
|
+
// Old requests can have left the derived index; absence there alone
|
|
754
|
+
// does not establish that the signed request is absent from the chain.
|
|
755
|
+
if (!entries.some(matchesRequest)) {
|
|
756
|
+
const history = readDriveConsentChain(from, to);
|
|
757
|
+
if (!history.some(matchesRequest) && !(p.kind === 'h2a.drive.consent.revocation' && p.pair === true))
|
|
758
|
+
throw new Error('consent-invalid: orphan evidence');
|
|
759
|
+
// A late terminal event must bring back its signed request witness,
|
|
760
|
+
// including any conflicting evidence, before projecting the append.
|
|
761
|
+
entries.push(...history.filter(e => evidence(e.body) && e.body.payload.requestId === p.requestId));
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
// The receipt timestamp is always assigned here, never by the caller.
|
|
765
|
+
const candidate = { ...event, createdAt: new Date(now).toISOString() };
|
|
766
|
+
const previous = index.last;
|
|
767
|
+
const entry = previous ? appendJournalEntry(previous, candidate) : createJournalEntry(candidate);
|
|
768
|
+
const result = projectConsent({ findInstance, listInstanceKeys, listKeyEvents }, from, to, [...entries, entry], now);
|
|
769
|
+
if (result.anomalies.includes(event.id))
|
|
770
|
+
throw new Error('consent-invalid: rejected evidence');
|
|
771
|
+
const by = body.signature.by;
|
|
772
|
+
const expected = body.payload.kind === 'h2a.drive.consent.request' ? from : to;
|
|
773
|
+
if (!(by === expected || (body.payload.kind === 'h2a.drive.consent.revocation' && by === from)) || !verified({ findInstance, listInstanceKeys, listKeyEvents }, body.payload, body.signature, by))
|
|
774
|
+
throw new Error('consent-invalid: signer');
|
|
775
|
+
// append assigns a local event id; full signed body remains immutable.
|
|
776
|
+
if (!entries.some(e => computeHash(e.body) === computeHash(body)))
|
|
777
|
+
append(body, event.type);
|
|
778
|
+
append({ kind: 'drive-consent.audit', observedAt: now, decision: result.decision, limit: DRIVE_CONSENT_LIMIT });
|
|
779
|
+
return result;
|
|
780
|
+
}, clock);
|
|
781
|
+
}
|
|
782
|
+
function commitDriveConsentAdmission(payload, signature, clock) {
|
|
783
|
+
try {
|
|
784
|
+
return consentTransaction(payload.from, payload.to, (entries, append, now, index) => {
|
|
785
|
+
const result = projectConsent({ findInstance, listInstanceKeys, listKeyEvents }, payload.from, payload.to, entries, now);
|
|
786
|
+
const authority = authorizeDrive({ findInstance, findDriveConsent: () => result }, payload, { now });
|
|
787
|
+
if (authority.ok && !('via' in authority))
|
|
788
|
+
return authority;
|
|
789
|
+
if (!authority.ok) {
|
|
790
|
+
append({ kind: 'drive-consent.audit', observedAt: now, decision: authority, limit: DRIVE_CONSENT_LIMIT });
|
|
791
|
+
return authority;
|
|
792
|
+
}
|
|
793
|
+
if (!result.decision.ok) {
|
|
794
|
+
append({ kind: 'drive-consent.audit', observedAt: now, decision: result.decision, limit: DRIVE_CONSENT_LIMIT });
|
|
795
|
+
return result.decision;
|
|
796
|
+
}
|
|
797
|
+
if (!verified({ findInstance, listInstanceKeys, listKeyEvents }, payload, signature, payload.from))
|
|
798
|
+
return { ok: false, reason: 'bad-signature' };
|
|
799
|
+
const admissionId = computeHash({ from: payload.from, to: payload.to, nonce: payload.nonce });
|
|
800
|
+
if (index.admissions.has(admissionId))
|
|
801
|
+
return { ok: false, reason: 'replayed' };
|
|
802
|
+
append({ kind: 'drive-consent.audit', event: 'drive-admitted', observedAt: now, admissionId, payloadHash: computeHash(payload), instructionHash: computeHash(payload.instruction), decision: result.decision, execution: 'unknown', limit: DRIVE_CONSENT_LIMIT });
|
|
803
|
+
return result.decision;
|
|
804
|
+
}, clock);
|
|
805
|
+
}
|
|
806
|
+
catch (error) {
|
|
807
|
+
return consentError(error).decision;
|
|
808
|
+
}
|
|
809
|
+
}
|
|
477
810
|
function asPlainRecord(value) {
|
|
478
811
|
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
479
812
|
return undefined;
|
|
@@ -695,6 +1028,8 @@ export function createLocalStore(options) {
|
|
|
695
1028
|
return derivePosturesConflitFor(record, readNegotiationJournalUnlocked(negotiationId));
|
|
696
1029
|
}
|
|
697
1030
|
function stabilizeNegotiation(negotiationId, options = {}) {
|
|
1031
|
+
if (isConsentId(negotiationId) || readNegotiation(negotiationId)?.subject === "drive-consent")
|
|
1032
|
+
throw new Error("Cannot stabilize drive-consent");
|
|
698
1033
|
ensureDir(negotiationDir(paths, negotiationId));
|
|
699
1034
|
return lock(negotiationLock(negotiationId), () => {
|
|
700
1035
|
const record = readNegotiation(negotiationId);
|
|
@@ -1046,6 +1381,7 @@ export function createLocalStore(options) {
|
|
|
1046
1381
|
addInstanceKey,
|
|
1047
1382
|
listInstanceKeys,
|
|
1048
1383
|
listKeyEvents,
|
|
1384
|
+
readDriveConsentChain, findDriveConsent, recordDriveConsentEnvelope, commitDriveConsentAdmission,
|
|
1049
1385
|
revokeInstanceKey,
|
|
1050
1386
|
grantOrgMembership,
|
|
1051
1387
|
listOrgMembership,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/runtime/local-files/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/runtime/local-files/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/runtime/mcp/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/runtime/mcp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { handleDriveConsent, CONSENT_TOOLS } from "../drive/consent-tools.js";
|
|
1
2
|
import { createLocalStore } from "../local-files/store.js";
|
|
2
3
|
import { handleAppendJournal, handleAttestComprehension, handleBlockageList, handleBlockageRaise, handleBlockageResolve, handleConflictPosture, handleConductor, handleConductorClaim, handleConductorRelease, handleConductorLaunchCheck, handleConductorLaunch, handleCounteroffer, handleDeclareConflitInteret, handleDiscoverInstances, handleDiscoverSessions, handleLoopCreate, handleLoopDone, handleLoopJoin, handleLoopList, handleLoopReport, handleLoopStatus, handleLoopStop, handleEscalate, handleInbox, handleSend, handleNhiAttest, handleNhiExport, handleNhiInventory, handleNhiOffboard, handleNhiReport, handleOffer, handleOpenNegotiation, handleRegisterInstance, handleSessionClose, handleSessionOpen, handleSign, handleStabilize } from "./handlers.js";
|
|
3
4
|
import { NotificationDispatcher } from "./notifications.js";
|
|
@@ -93,6 +94,7 @@ export function createMcpServer(options) {
|
|
|
93
94
|
const store = options.store ??
|
|
94
95
|
createLocalStore({
|
|
95
96
|
root: options.root,
|
|
97
|
+
alwaysEmitConsentBudget: true,
|
|
96
98
|
...(options.storeInitialize === false ? { initialize: false } : {})
|
|
97
99
|
});
|
|
98
100
|
const sessions = new SessionRegistry(options.root, {
|
|
@@ -167,6 +169,8 @@ export function createMcpServer(options) {
|
|
|
167
169
|
};
|
|
168
170
|
}
|
|
169
171
|
}
|
|
172
|
+
if (CONSENT_TOOLS.includes(name))
|
|
173
|
+
return handleDriveConsent(store, options.getSendContext ? options.getSendContext() : options.sendContext, name, args);
|
|
170
174
|
const toolName = name;
|
|
171
175
|
switch (toolName) {
|
|
172
176
|
case "h2a_register_instance":
|