@sentropic/h2a 0.97.5 → 0.97.7
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/index.d.ts +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/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/drive/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/drive/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import { type H2AActorRegistration, type H2AOrgMembershipGrant, type H2ASubagentBinding, type H2AEnvelope, type H2AJournalEntry, type H2AJournalPayload, type H2ANegotiationRecord, type H2ADecisionDossier, type H2ADeclarationInteret, type H2APostureConfianceResult, type H2APostureConflitResult, type H2APresenterBias } from "@sentropic/h2a";
|
|
1
|
+
import { type H2AActorRegistration, type H2AOrgMembershipGrant, type H2ASubagentBinding, type H2AEnvelope, type H2AJournalEntry, type H2AJournalPayload, type H2ANegotiationRecord, type H2ADecisionDossier, type H2ADeclarationInteret, type H2APostureConfianceResult, type H2APostureConflitResult, type H2APresenterBias, type H2ASignature } from "@sentropic/h2a";
|
|
2
|
+
import { type ConsentProjection } from '../drive/consent.js';
|
|
3
|
+
import { type H2ADriveAuthorizeResult, type H2ADriveInstructionPayload } from '../drive/index.js';
|
|
2
4
|
import { type LocalStorePaths } from "./paths.js";
|
|
3
5
|
export interface CreateLocalStoreOptions {
|
|
4
6
|
root: string;
|
|
7
|
+
/** Emit every consent verification measurement (MCP server); CLI defaults to alerts only. */
|
|
8
|
+
alwaysEmitConsentBudget?: boolean;
|
|
5
9
|
/**
|
|
6
10
|
* Timeout (ms) for acquiring any per-store advisory file lock. Defaults to
|
|
7
11
|
* 5000. Tests use a much smaller value to exercise the timeout path
|
|
@@ -93,6 +97,13 @@ export interface H2ADerivedDecisionDossier {
|
|
|
93
97
|
}
|
|
94
98
|
export interface LocalStore {
|
|
95
99
|
paths: LocalStorePaths;
|
|
100
|
+
readDriveConsentChain(from: string, to: string): H2AJournalEntry<unknown>[];
|
|
101
|
+
findDriveConsent(from: string, to: string, now?: number): ConsentProjection;
|
|
102
|
+
recordDriveConsentEnvelope(event: H2AJournalPayload<unknown>, now?: number): ConsentProjection;
|
|
103
|
+
commitDriveConsentAdmission(payload: H2ADriveInstructionPayload, signature: H2ASignature, now?: number): H2ADriveAuthorizeResult | {
|
|
104
|
+
ok: false;
|
|
105
|
+
reason: "replayed" | "bad-signature";
|
|
106
|
+
};
|
|
96
107
|
registerInstance(reg: H2AActorRegistration): void;
|
|
97
108
|
listInstances(): H2AActorRegistration[];
|
|
98
109
|
findInstance(id: string): H2AActorRegistration | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/runtime/local-files/store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/runtime/local-files/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,
|