@emilia-protocol/gate 0.14.0 → 0.15.1
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/CHANGELOG.md +60 -1
- package/README.md +32 -1
- package/aeb-consumption-store.js +3 -0
- package/dist/aeb-consumption-store.d.ts +88 -0
- package/dist/aeb-consumption-store.d.ts.map +1 -0
- package/dist/aeb-consumption-store.js +471 -0
- package/dist/aeb-consumption-store.js.map +1 -0
- package/dist/capability-receipt.d.ts +8 -0
- package/dist/capability-receipt.d.ts.map +1 -1
- package/dist/capability-receipt.js +17 -0
- package/dist/capability-receipt.js.map +1 -1
- package/dist/index.d.ts +13 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -4
- package/dist/index.js.map +1 -1
- package/dist/proposal-to-effect-postgres.d.ts +144 -0
- package/dist/proposal-to-effect-postgres.d.ts.map +1 -0
- package/dist/proposal-to-effect-postgres.js +1578 -0
- package/dist/proposal-to-effect-postgres.js.map +1 -0
- package/dist/proposal-to-effect-status-head-store.d.ts +72 -0
- package/dist/proposal-to-effect-status-head-store.d.ts.map +1 -0
- package/dist/proposal-to-effect-status-head-store.js +355 -0
- package/dist/proposal-to-effect-status-head-store.js.map +1 -0
- package/dist/proposal-to-effect-status.d.ts +55 -0
- package/dist/proposal-to-effect-status.d.ts.map +1 -0
- package/dist/proposal-to-effect-status.js +294 -0
- package/dist/proposal-to-effect-status.js.map +1 -0
- package/dist/proposal-to-effect.d.ts +151 -3
- package/dist/proposal-to-effect.d.ts.map +1 -1
- package/dist/proposal-to-effect.js +589 -46
- package/dist/proposal-to-effect.js.map +1 -1
- package/dist/remedy-case-set-postgres.d.ts +73 -0
- package/dist/remedy-case-set-postgres.d.ts.map +1 -0
- package/dist/remedy-case-set-postgres.js +846 -0
- package/dist/remedy-case-set-postgres.js.map +1 -0
- package/dist/remedy-case-set.d.ts +53 -0
- package/dist/remedy-case-set.d.ts.map +1 -0
- package/dist/remedy-case-set.js +571 -0
- package/dist/remedy-case-set.js.map +1 -0
- package/dist/remedy-program-adapters.d.ts +137 -0
- package/dist/remedy-program-adapters.d.ts.map +1 -0
- package/dist/remedy-program-adapters.js +590 -0
- package/dist/remedy-program-adapters.js.map +1 -0
- package/dist/trust-program-revocation.js.map +1 -1
- package/package.json +283 -63
- package/proposal-to-effect-postgres.js +3 -0
- package/proposal-to-effect-status-head-store.js +2 -0
- package/proposal-to-effect-status.js +2 -0
- package/remedy-case-set-postgres.js +3 -0
- package/remedy-case-set.js +3 -0
- package/remedy-program-adapters.js +3 -0
- package/src/aeb-consumption-store.ts +568 -0
- package/src/capability-receipt.ts +17 -0
- package/src/index.ts +66 -3
- package/src/proposal-to-effect-postgres.ts +1833 -0
- package/src/proposal-to-effect-status-head-store.ts +449 -0
- package/src/proposal-to-effect-status.ts +388 -0
- package/src/proposal-to-effect.ts +755 -50
- package/src/remedy-case-set-postgres.ts +1008 -0
- package/src/remedy-case-set.ts +603 -0
- package/src/remedy-program-adapters.ts +657 -0
- package/src/trust-program-revocation.ts +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposal-to-effect-postgres.js","sourceRoot":"","sources":["../src/proposal-to-effect-postgres.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Durable relying-party custody for accepted EP-STATUS-v1 heads.
|
|
3
|
+
*
|
|
4
|
+
* The presenter supplies only a candidate status artifact. The store loads the
|
|
5
|
+
* authenticated predecessor, passes that predecessor to trusted verification
|
|
6
|
+
* code, and advances the exact tenant/relying-party/target head only when one
|
|
7
|
+
* database-side compare-and-advance still observes that predecessor. This
|
|
8
|
+
* keeps cryptographic work outside database transactions without opening a
|
|
9
|
+
* time-of-check/time-of-use acceptance race.
|
|
10
|
+
*/
|
|
11
|
+
import { type StatusTarget, type StatusVerification } from '@emilia-protocol/verify/status';
|
|
12
|
+
export declare const PROPOSAL_TO_EFFECT_STATUS_HEAD_STORE_VERSION = "EP-GATE-PTE-STATUS-HEAD-PG-v1";
|
|
13
|
+
export declare const PROPOSAL_TO_EFFECT_STATUS_HEAD_TABLE = "ep_aeb_status_heads";
|
|
14
|
+
export declare const PROPOSAL_TO_EFFECT_STATUS_HEAD_SQL: Readonly<{
|
|
15
|
+
get: "SELECT status_digest, sequence, status_state, previous_status_digest,\n issued_at, next_update, status_json, predecessor_status_json\nFROM ep_aeb_private.get_status_head(\n $1::text, $2::text, $3::text, $4::text, $5::text, $6::text\n)";
|
|
16
|
+
compareAndAdvance: "SELECT accepted, reason\nFROM ep_aeb_private.compare_and_advance_status_head(\n $1::text, $2::text, $3::text, $4::text, $5::text, $6::text,\n $7::text, $8::text, $9::bigint, $10::text, $11::text,\n $12::timestamptz, $13::timestamptz, $14::text\n)";
|
|
17
|
+
}>;
|
|
18
|
+
type MaybePromise<T> = T | Promise<T>;
|
|
19
|
+
type QueryResult = {
|
|
20
|
+
rowCount: number | null;
|
|
21
|
+
rows?: Record<string, unknown>[];
|
|
22
|
+
};
|
|
23
|
+
export type ProposalToEffectStatusHeadPgClient = {
|
|
24
|
+
query: (text: string, params?: any[]) => Promise<QueryResult>;
|
|
25
|
+
release: () => void;
|
|
26
|
+
};
|
|
27
|
+
export type ProposalToEffectStatusHeadPgPool = {
|
|
28
|
+
connect: () => Promise<ProposalToEffectStatusHeadPgClient>;
|
|
29
|
+
};
|
|
30
|
+
export interface ProposalToEffectStatusHeadAcceptance {
|
|
31
|
+
accepted: boolean;
|
|
32
|
+
source: 'advanced' | 'existing' | null;
|
|
33
|
+
reason: string | null;
|
|
34
|
+
verification: StatusVerification;
|
|
35
|
+
}
|
|
36
|
+
export interface ProposalToEffectStatusHeadAcceptanceInput {
|
|
37
|
+
target: Readonly<StatusTarget>;
|
|
38
|
+
status: unknown;
|
|
39
|
+
/**
|
|
40
|
+
* Trusted verification callback. Its argument is loaded from durable
|
|
41
|
+
* relying-party custody; no presenter-provided predecessor is accepted.
|
|
42
|
+
*/
|
|
43
|
+
verify(previousStatus: unknown | undefined): MaybePromise<StatusVerification>;
|
|
44
|
+
}
|
|
45
|
+
export interface ProposalToEffectStatusHeadStore {
|
|
46
|
+
durable: true;
|
|
47
|
+
readonly tenantId: string;
|
|
48
|
+
readonly relyingPartyId: string;
|
|
49
|
+
accept(input: ProposalToEffectStatusHeadAcceptanceInput): Promise<ProposalToEffectStatusHeadAcceptance>;
|
|
50
|
+
}
|
|
51
|
+
export interface PostgresProposalToEffectStatusHeadStoreOptions {
|
|
52
|
+
/** Pool authenticated as a tenant-bound member of ep_aeb_executor. */
|
|
53
|
+
pool?: ProposalToEffectStatusHeadPgPool;
|
|
54
|
+
tenantId?: string;
|
|
55
|
+
relyingPartyId?: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Create a durable accepted-head store. The PostgreSQL principal must be bound
|
|
59
|
+
* to tenantId in ep_aeb_private.tenant_principals and inherit ep_aeb_executor.
|
|
60
|
+
*/
|
|
61
|
+
export declare function createPostgresProposalToEffectStatusHeadStore({ pool, tenantId, relyingPartyId, }?: PostgresProposalToEffectStatusHeadStoreOptions): ProposalToEffectStatusHeadStore;
|
|
62
|
+
declare const _default: {
|
|
63
|
+
PROPOSAL_TO_EFFECT_STATUS_HEAD_STORE_VERSION: string;
|
|
64
|
+
PROPOSAL_TO_EFFECT_STATUS_HEAD_TABLE: string;
|
|
65
|
+
PROPOSAL_TO_EFFECT_STATUS_HEAD_SQL: Readonly<{
|
|
66
|
+
get: "SELECT status_digest, sequence, status_state, previous_status_digest,\n issued_at, next_update, status_json, predecessor_status_json\nFROM ep_aeb_private.get_status_head(\n $1::text, $2::text, $3::text, $4::text, $5::text, $6::text\n)";
|
|
67
|
+
compareAndAdvance: "SELECT accepted, reason\nFROM ep_aeb_private.compare_and_advance_status_head(\n $1::text, $2::text, $3::text, $4::text, $5::text, $6::text,\n $7::text, $8::text, $9::bigint, $10::text, $11::text,\n $12::timestamptz, $13::timestamptz, $14::text\n)";
|
|
68
|
+
}>;
|
|
69
|
+
createPostgresProposalToEffectStatusHeadStore: typeof createPostgresProposalToEffectStatusHeadStore;
|
|
70
|
+
};
|
|
71
|
+
export default _default;
|
|
72
|
+
//# sourceMappingURL=proposal-to-effect-status-head-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposal-to-effect-status-head-store.d.ts","sourceRoot":"","sources":["../src/proposal-to-effect-status-head-store.ts"],"names":[],"mappings":"AACA;;;;;;;;;GASG;AAEH,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,gCAAgC,CAAC;AAExC,eAAO,MAAM,4CAA4C,kCACxB,CAAC;AAClC,eAAO,MAAM,oCAAoC,wBAAwB,CAAC;AAE1E,eAAO,MAAM,kCAAkC;;;EAY7C,CAAC;AAEH,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtC,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9D,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,OAAO,EAAE,MAAM,OAAO,CAAC,kCAAkC,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,WAAW,oCAAoC;IACnD,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC;IACvC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,YAAY,EAAE,kBAAkB,CAAC;CAClC;AAED,MAAM,WAAW,yCAAyC;IACxD,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,MAAM,CAAC,cAAc,EAAE,OAAO,GAAG,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,+BAA+B;IAC9C,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,MAAM,CACJ,KAAK,EAAE,yCAAyC,GAC/C,OAAO,CAAC,oCAAoC,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,8CAA8C;IAC7D,sEAAsE;IACtE,IAAI,CAAC,EAAE,gCAAgC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAiOD;;;GAGG;AACH,wBAAgB,6CAA6C,CAAC,EAC5D,IAAI,EACJ,QAAQ,EACR,cAAc,GACf,GAAE,8CAAmD,GAAG,+BAA+B,CA6HvF;;;;;;;;;;AAED,wBAKE"}
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
/**
|
|
4
|
+
* Durable relying-party custody for accepted EP-STATUS-v1 heads.
|
|
5
|
+
*
|
|
6
|
+
* The presenter supplies only a candidate status artifact. The store loads the
|
|
7
|
+
* authenticated predecessor, passes that predecessor to trusted verification
|
|
8
|
+
* code, and advances the exact tenant/relying-party/target head only when one
|
|
9
|
+
* database-side compare-and-advance still observes that predecessor. This
|
|
10
|
+
* keeps cryptographic work outside database transactions without opening a
|
|
11
|
+
* time-of-check/time-of-use acceptance race.
|
|
12
|
+
*/
|
|
13
|
+
import { statusArtifactDigest, } from '@emilia-protocol/verify/status';
|
|
14
|
+
export const PROPOSAL_TO_EFFECT_STATUS_HEAD_STORE_VERSION = 'EP-GATE-PTE-STATUS-HEAD-PG-v1';
|
|
15
|
+
export const PROPOSAL_TO_EFFECT_STATUS_HEAD_TABLE = 'ep_aeb_status_heads';
|
|
16
|
+
export const PROPOSAL_TO_EFFECT_STATUS_HEAD_SQL = Object.freeze({
|
|
17
|
+
get: `SELECT status_digest, sequence, status_state, previous_status_digest,
|
|
18
|
+
issued_at, next_update, status_json, predecessor_status_json
|
|
19
|
+
FROM ep_aeb_private.get_status_head(
|
|
20
|
+
$1::text, $2::text, $3::text, $4::text, $5::text, $6::text
|
|
21
|
+
)`,
|
|
22
|
+
compareAndAdvance: `SELECT accepted, reason
|
|
23
|
+
FROM ep_aeb_private.compare_and_advance_status_head(
|
|
24
|
+
$1::text, $2::text, $3::text, $4::text, $5::text, $6::text,
|
|
25
|
+
$7::text, $8::text, $9::bigint, $10::text, $11::text,
|
|
26
|
+
$12::timestamptz, $13::timestamptz, $14::text
|
|
27
|
+
)`,
|
|
28
|
+
});
|
|
29
|
+
const DIGEST_PATTERN = /^sha256:[0-9a-f]{64}$/;
|
|
30
|
+
const TARGET_TYPES = new Set(['receipt', 'commit', 'delegation']);
|
|
31
|
+
const TARGET_USAGES = new Set(['authorization', 'execution', 'delegation']);
|
|
32
|
+
function dataRecord(value) {
|
|
33
|
+
if (value === null || typeof value !== 'object' || Array.isArray(value))
|
|
34
|
+
return false;
|
|
35
|
+
const prototype = Object.getPrototypeOf(value);
|
|
36
|
+
if (prototype !== Object.prototype && prototype !== null)
|
|
37
|
+
return false;
|
|
38
|
+
return Reflect.ownKeys(value).every((key) => {
|
|
39
|
+
if (typeof key !== 'string')
|
|
40
|
+
return false;
|
|
41
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, key);
|
|
42
|
+
return Boolean(descriptor?.enumerable && Object.hasOwn(descriptor, 'value'));
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
function denseDataArray(value) {
|
|
46
|
+
if (!Array.isArray(value) || Object.getPrototypeOf(value) !== Array.prototype)
|
|
47
|
+
return false;
|
|
48
|
+
const keys = Reflect.ownKeys(value);
|
|
49
|
+
if (keys.length !== value.length + 1 || !keys.includes('length'))
|
|
50
|
+
return false;
|
|
51
|
+
for (let index = 0; index < value.length; index += 1) {
|
|
52
|
+
const descriptor = Object.getOwnPropertyDescriptor(value, String(index));
|
|
53
|
+
if (!descriptor?.enumerable || !Object.hasOwn(descriptor, 'value'))
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
function snapshotJson(value, seen = new WeakSet()) {
|
|
59
|
+
if (value === null || typeof value === 'string' || typeof value === 'boolean')
|
|
60
|
+
return value;
|
|
61
|
+
if (typeof value === 'number') {
|
|
62
|
+
if (Number.isFinite(value))
|
|
63
|
+
return value;
|
|
64
|
+
throw new TypeError('status head contains a non-finite JSON number');
|
|
65
|
+
}
|
|
66
|
+
if (typeof value !== 'object' || seen.has(value)) {
|
|
67
|
+
throw new TypeError('status head is outside the JSON data model');
|
|
68
|
+
}
|
|
69
|
+
seen.add(value);
|
|
70
|
+
if (denseDataArray(value)) {
|
|
71
|
+
return value.map((member) => snapshotJson(member, seen));
|
|
72
|
+
}
|
|
73
|
+
if (!dataRecord(value))
|
|
74
|
+
throw new TypeError('status head is not a plain data object');
|
|
75
|
+
const snapshot = {};
|
|
76
|
+
for (const key of Object.keys(value))
|
|
77
|
+
snapshot[key] = snapshotJson(value[key], seen);
|
|
78
|
+
return snapshot;
|
|
79
|
+
}
|
|
80
|
+
function assertText(value, label, maximumBytes) {
|
|
81
|
+
if (typeof value !== 'string'
|
|
82
|
+
|| Buffer.byteLength(value, 'utf8') < 1
|
|
83
|
+
|| Buffer.byteLength(value, 'utf8') > maximumBytes
|
|
84
|
+
|| /[\u0000-\u001f\u007f]/.test(value)) {
|
|
85
|
+
throw new TypeError(`proposal-to-effect status head ${label} is invalid`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function digest(value) {
|
|
89
|
+
return typeof value === 'string' && DIGEST_PATTERN.test(value);
|
|
90
|
+
}
|
|
91
|
+
function normalizedInstant(value, nullable = false) {
|
|
92
|
+
if (nullable && value === null)
|
|
93
|
+
return null;
|
|
94
|
+
if (typeof value !== 'string')
|
|
95
|
+
return null;
|
|
96
|
+
const milliseconds = Date.parse(value);
|
|
97
|
+
if (!Number.isFinite(milliseconds))
|
|
98
|
+
return null;
|
|
99
|
+
return new Date(milliseconds).toISOString();
|
|
100
|
+
}
|
|
101
|
+
function safeInteger(value) {
|
|
102
|
+
const parsed = typeof value === 'string' && /^[0-9]+$/.test(value)
|
|
103
|
+
? Number(value) : value;
|
|
104
|
+
return Number.isSafeInteger(parsed) && parsed >= 0
|
|
105
|
+
? parsed : null;
|
|
106
|
+
}
|
|
107
|
+
function targetSnapshot(value) {
|
|
108
|
+
if (!dataRecord(value)
|
|
109
|
+
|| Reflect.ownKeys(value).length !== 4
|
|
110
|
+
|| !Object.hasOwn(value, 'type')
|
|
111
|
+
|| !Object.hasOwn(value, 'id')
|
|
112
|
+
|| !Object.hasOwn(value, 'digest')
|
|
113
|
+
|| !Object.hasOwn(value, 'usage')
|
|
114
|
+
|| !TARGET_TYPES.has(value.type)
|
|
115
|
+
|| !TARGET_USAGES.has(value.usage)
|
|
116
|
+
|| typeof value.id !== 'string'
|
|
117
|
+
|| Buffer.byteLength(value.id, 'utf8') < 1
|
|
118
|
+
|| Buffer.byteLength(value.id, 'utf8') > 512
|
|
119
|
+
|| /[\u0000-\u001f\u007f]/.test(value.id)
|
|
120
|
+
|| !digest(value.digest)) {
|
|
121
|
+
throw new TypeError('proposal-to-effect status head target is invalid');
|
|
122
|
+
}
|
|
123
|
+
return Object.freeze({
|
|
124
|
+
type: value.type,
|
|
125
|
+
id: value.id,
|
|
126
|
+
digest: value.digest,
|
|
127
|
+
usage: value.usage,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
function exactRowCount(result, operation) {
|
|
131
|
+
if (!result || !Number.isSafeInteger(result.rowCount) || result.rowCount < 0) {
|
|
132
|
+
throw new Error(`${operation}: malformed PostgreSQL result`);
|
|
133
|
+
}
|
|
134
|
+
return result.rowCount;
|
|
135
|
+
}
|
|
136
|
+
function parseJsonText(value, label) {
|
|
137
|
+
if (typeof value !== 'string'
|
|
138
|
+
|| Buffer.byteLength(value, 'utf8') < 2
|
|
139
|
+
|| Buffer.byteLength(value, 'utf8') > 1_048_576) {
|
|
140
|
+
throw new Error(`malformed PostgreSQL status head: ${label}`);
|
|
141
|
+
}
|
|
142
|
+
try {
|
|
143
|
+
return snapshotJson(JSON.parse(value));
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
throw new Error(`malformed PostgreSQL status head: ${label}`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
function storedHead(result) {
|
|
150
|
+
const rows = exactRowCount(result, 'load status head');
|
|
151
|
+
if (rows === 0 && (!result.rows || result.rows.length === 0))
|
|
152
|
+
return null;
|
|
153
|
+
if (rows !== 1 || result.rows?.length !== 1 || !dataRecord(result.rows[0])) {
|
|
154
|
+
throw new Error('malformed PostgreSQL status head: row cardinality');
|
|
155
|
+
}
|
|
156
|
+
const row = result.rows[0];
|
|
157
|
+
const sequence = safeInteger(row.sequence);
|
|
158
|
+
const issuedAt = normalizedInstant(row.issued_at);
|
|
159
|
+
const nextUpdate = normalizedInstant(row.next_update, true);
|
|
160
|
+
const statusState = row.status_state;
|
|
161
|
+
const previousStatusDigest = row.previous_status_digest;
|
|
162
|
+
if (!digest(row.status_digest)
|
|
163
|
+
|| sequence === null
|
|
164
|
+
|| (statusState !== 'not_revoked' && statusState !== 'revoked')
|
|
165
|
+
|| (previousStatusDigest !== null && !digest(previousStatusDigest))
|
|
166
|
+
|| !issuedAt
|
|
167
|
+
|| (statusState === 'not_revoked' && !nextUpdate)
|
|
168
|
+
|| (statusState === 'revoked' && nextUpdate !== null)) {
|
|
169
|
+
throw new Error('malformed PostgreSQL status head: metadata');
|
|
170
|
+
}
|
|
171
|
+
const status = parseJsonText(row.status_json, 'status_json');
|
|
172
|
+
const predecessorStatus = row.predecessor_status_json === null
|
|
173
|
+
? undefined : parseJsonText(row.predecessor_status_json, 'predecessor_status_json');
|
|
174
|
+
if (statusArtifactDigest(status) !== row.status_digest
|
|
175
|
+
|| (sequence === 0
|
|
176
|
+
&& (previousStatusDigest !== null || predecessorStatus !== undefined))
|
|
177
|
+
|| (sequence > 0
|
|
178
|
+
&& (previousStatusDigest === null
|
|
179
|
+
|| predecessorStatus === undefined
|
|
180
|
+
|| statusArtifactDigest(predecessorStatus) !== previousStatusDigest))) {
|
|
181
|
+
throw new Error('malformed PostgreSQL status head: chain');
|
|
182
|
+
}
|
|
183
|
+
return {
|
|
184
|
+
statusDigest: row.status_digest,
|
|
185
|
+
sequence,
|
|
186
|
+
statusState,
|
|
187
|
+
previousStatusDigest,
|
|
188
|
+
issuedAt,
|
|
189
|
+
nextUpdate,
|
|
190
|
+
status,
|
|
191
|
+
predecessorStatus,
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
function candidateMetadata(status, verification) {
|
|
195
|
+
if (!dataRecord(status)
|
|
196
|
+
|| !digest(verification.status_digest)
|
|
197
|
+
|| !Number.isSafeInteger(verification.sequence)
|
|
198
|
+
|| verification.sequence === null
|
|
199
|
+
|| verification.sequence < 0
|
|
200
|
+
|| verification.status_digest !== statusArtifactDigest(status)
|
|
201
|
+
|| status.sequence !== verification.sequence
|
|
202
|
+
|| (status.status !== 'not_revoked' && status.status !== 'revoked')
|
|
203
|
+
|| (status.previous_status_digest !== null
|
|
204
|
+
&& !digest(status.previous_status_digest))) {
|
|
205
|
+
throw new Error('verified status head metadata is inconsistent');
|
|
206
|
+
}
|
|
207
|
+
const issuedAt = normalizedInstant(status.issued_at);
|
|
208
|
+
const nextUpdate = normalizedInstant(status.next_update, true);
|
|
209
|
+
const verificationNextUpdate = normalizedInstant(verification.next_update, true);
|
|
210
|
+
if (!issuedAt
|
|
211
|
+
|| nextUpdate !== verificationNextUpdate
|
|
212
|
+
|| (status.status === 'not_revoked' && !nextUpdate)
|
|
213
|
+
|| (status.status === 'revoked' && nextUpdate !== null)) {
|
|
214
|
+
throw new Error('verified status head timing is inconsistent');
|
|
215
|
+
}
|
|
216
|
+
return {
|
|
217
|
+
statusDigest: verification.status_digest,
|
|
218
|
+
sequence: verification.sequence,
|
|
219
|
+
statusState: status.status,
|
|
220
|
+
previousStatusDigest: status.previous_status_digest,
|
|
221
|
+
issuedAt,
|
|
222
|
+
nextUpdate,
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
function verificationRefusal(verification) {
|
|
226
|
+
return {
|
|
227
|
+
accepted: false,
|
|
228
|
+
source: null,
|
|
229
|
+
reason: verification.reasons[0] ?? 'status_verification_failed',
|
|
230
|
+
verification,
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Create a durable accepted-head store. The PostgreSQL principal must be bound
|
|
235
|
+
* to tenantId in ep_aeb_private.tenant_principals and inherit ep_aeb_executor.
|
|
236
|
+
*/
|
|
237
|
+
export function createPostgresProposalToEffectStatusHeadStore({ pool, tenantId, relyingPartyId, } = {}) {
|
|
238
|
+
if (!pool || typeof pool.connect !== 'function') {
|
|
239
|
+
throw new TypeError('createPostgresProposalToEffectStatusHeadStore requires an ep_aeb_executor pg pool');
|
|
240
|
+
}
|
|
241
|
+
assertText(tenantId, 'tenantId', 512);
|
|
242
|
+
assertText(relyingPartyId, 'relyingPartyId', 512);
|
|
243
|
+
const store = {
|
|
244
|
+
durable: true,
|
|
245
|
+
tenantId,
|
|
246
|
+
relyingPartyId,
|
|
247
|
+
async accept(input) {
|
|
248
|
+
const target = targetSnapshot(input?.target);
|
|
249
|
+
const candidate = snapshotJson(input?.status);
|
|
250
|
+
if (typeof input?.verify !== 'function') {
|
|
251
|
+
throw new TypeError('proposal-to-effect status head verify callback is required');
|
|
252
|
+
}
|
|
253
|
+
const candidateDigest = statusArtifactDigest(candidate);
|
|
254
|
+
if (!digest(candidateDigest)) {
|
|
255
|
+
throw new TypeError('proposal-to-effect status head digest is invalid');
|
|
256
|
+
}
|
|
257
|
+
const client = await pool.connect();
|
|
258
|
+
if (!client || typeof client.query !== 'function' || typeof client.release !== 'function') {
|
|
259
|
+
throw new TypeError('status head pg pool returned an invalid client');
|
|
260
|
+
}
|
|
261
|
+
try {
|
|
262
|
+
const current = storedHead(await client.query(PROPOSAL_TO_EFFECT_STATUS_HEAD_SQL.get, [tenantId, relyingPartyId, target.type, target.id, target.digest, target.usage]));
|
|
263
|
+
const exactReplay = current?.statusDigest === candidateDigest;
|
|
264
|
+
const statusForVerification = exactReplay ? current.status : candidate;
|
|
265
|
+
const previousForVerification = exactReplay
|
|
266
|
+
? current.predecessorStatus
|
|
267
|
+
: current?.status;
|
|
268
|
+
const verification = await input.verify(previousForVerification);
|
|
269
|
+
if (!dataRecord(verification)
|
|
270
|
+
|| typeof verification.valid !== 'boolean'
|
|
271
|
+
|| !Array.isArray(verification.reasons)) {
|
|
272
|
+
throw new Error('status head verifier returned a malformed result');
|
|
273
|
+
}
|
|
274
|
+
if (!verification.valid || verification.outcome === 'indeterminate') {
|
|
275
|
+
return verificationRefusal(verification);
|
|
276
|
+
}
|
|
277
|
+
const metadata = candidateMetadata(statusForVerification, verification);
|
|
278
|
+
if (exactReplay) {
|
|
279
|
+
if (metadata.statusDigest !== current.statusDigest
|
|
280
|
+
|| metadata.sequence !== current.sequence
|
|
281
|
+
|| metadata.statusState !== current.statusState
|
|
282
|
+
|| metadata.previousStatusDigest !== current.previousStatusDigest
|
|
283
|
+
|| metadata.issuedAt !== current.issuedAt
|
|
284
|
+
|| metadata.nextUpdate !== current.nextUpdate) {
|
|
285
|
+
throw new Error('authenticated status head replay metadata mismatch');
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
if (!exactReplay && ((!current
|
|
289
|
+
&& (metadata.sequence !== 0 || metadata.previousStatusDigest !== null))
|
|
290
|
+
|| (current
|
|
291
|
+
&& (current.statusState === 'revoked'
|
|
292
|
+
|| metadata.sequence !== current.sequence + 1
|
|
293
|
+
|| metadata.previousStatusDigest !== current.statusDigest)))) {
|
|
294
|
+
return {
|
|
295
|
+
accepted: false,
|
|
296
|
+
source: null,
|
|
297
|
+
reason: 'status_head_conflict',
|
|
298
|
+
verification,
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
const result = await client.query(PROPOSAL_TO_EFFECT_STATUS_HEAD_SQL.compareAndAdvance, [
|
|
302
|
+
tenantId,
|
|
303
|
+
relyingPartyId,
|
|
304
|
+
target.type,
|
|
305
|
+
target.id,
|
|
306
|
+
target.digest,
|
|
307
|
+
target.usage,
|
|
308
|
+
current?.statusDigest ?? null,
|
|
309
|
+
metadata.statusDigest,
|
|
310
|
+
metadata.sequence,
|
|
311
|
+
metadata.statusState,
|
|
312
|
+
metadata.previousStatusDigest,
|
|
313
|
+
metadata.issuedAt,
|
|
314
|
+
metadata.nextUpdate,
|
|
315
|
+
JSON.stringify(exactReplay ? current.status : candidate),
|
|
316
|
+
]);
|
|
317
|
+
const rows = exactRowCount(result, 'advance status head');
|
|
318
|
+
const accepted = result.rows?.[0]?.accepted;
|
|
319
|
+
const reason = result.rows?.[0]?.reason;
|
|
320
|
+
if (rows !== 1
|
|
321
|
+
|| result.rows?.length !== 1
|
|
322
|
+
|| typeof accepted !== 'boolean'
|
|
323
|
+
|| (reason !== null && typeof reason !== 'string')
|
|
324
|
+
|| (accepted && reason !== null)) {
|
|
325
|
+
throw new Error('advance status head: malformed PostgreSQL result');
|
|
326
|
+
}
|
|
327
|
+
if (!accepted) {
|
|
328
|
+
return {
|
|
329
|
+
accepted: false,
|
|
330
|
+
source: null,
|
|
331
|
+
reason: 'status_head_conflict',
|
|
332
|
+
verification,
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
return {
|
|
336
|
+
accepted: true,
|
|
337
|
+
source: exactReplay ? 'existing' : 'advanced',
|
|
338
|
+
reason: null,
|
|
339
|
+
verification,
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
finally {
|
|
343
|
+
client.release();
|
|
344
|
+
}
|
|
345
|
+
},
|
|
346
|
+
};
|
|
347
|
+
return Object.freeze(store);
|
|
348
|
+
}
|
|
349
|
+
export default {
|
|
350
|
+
PROPOSAL_TO_EFFECT_STATUS_HEAD_STORE_VERSION,
|
|
351
|
+
PROPOSAL_TO_EFFECT_STATUS_HEAD_TABLE,
|
|
352
|
+
PROPOSAL_TO_EFFECT_STATUS_HEAD_SQL,
|
|
353
|
+
createPostgresProposalToEffectStatusHeadStore,
|
|
354
|
+
};
|
|
355
|
+
//# sourceMappingURL=proposal-to-effect-status-head-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposal-to-effect-status-head-store.js","sourceRoot":"","sources":["../src/proposal-to-effect-status-head-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server-pinned EP-STATUS-v1 verification for Proposal-to-Effect AEB legs.
|
|
3
|
+
*
|
|
4
|
+
* Signed non-revocation status and relying-party consumption state answer
|
|
5
|
+
* different questions. This helper authenticates the former with
|
|
6
|
+
* verifyStatusArtifact and requires an authenticated local answer for the
|
|
7
|
+
* latter. The later atomic AEB reserve remains the race-closing operation.
|
|
8
|
+
*/
|
|
9
|
+
import type { AebDigest } from '@emilia-protocol/verify/aeb-adapter-contract';
|
|
10
|
+
import { type RevokerAuthorityPin, type StatusTarget } from '@emilia-protocol/verify/status';
|
|
11
|
+
import type { ProposalToEffectOptions } from './proposal-to-effect.js';
|
|
12
|
+
import type { ProposalToEffectStatusHeadStore } from './proposal-to-effect-status-head-store.js';
|
|
13
|
+
export { PROPOSAL_TO_EFFECT_STATUS_HEAD_STORE_VERSION, PROPOSAL_TO_EFFECT_STATUS_HEAD_TABLE, PROPOSAL_TO_EFFECT_STATUS_HEAD_SQL, createPostgresProposalToEffectStatusHeadStore, } from './proposal-to-effect-status-head-store.js';
|
|
14
|
+
export type { PostgresProposalToEffectStatusHeadStoreOptions, ProposalToEffectStatusHeadAcceptance, ProposalToEffectStatusHeadAcceptanceInput, ProposalToEffectStatusHeadPgClient, ProposalToEffectStatusHeadPgPool, ProposalToEffectStatusHeadStore, } from './proposal-to-effect-status-head-store.js';
|
|
15
|
+
type MaybePromise<T> = T | Promise<T>;
|
|
16
|
+
type ProposalToEffectStatusVerifier = ProposalToEffectOptions['aeb']['statusVerifier'];
|
|
17
|
+
export type ProposalToEffectStatusVerifierInput = Parameters<ProposalToEffectStatusVerifier>[0];
|
|
18
|
+
export type ProposalToEffectStatusExpected = Readonly<ProposalToEffectStatusVerifierInput['expected']>;
|
|
19
|
+
export interface ProposalToEffectStatusResolverContext {
|
|
20
|
+
expected: ProposalToEffectStatusExpected;
|
|
21
|
+
target: Readonly<StatusTarget>;
|
|
22
|
+
}
|
|
23
|
+
export interface ProposalToEffectConsumptionState {
|
|
24
|
+
/** Must be true; presenter assertions and unauthenticated cache data fail. */
|
|
25
|
+
authenticated: boolean;
|
|
26
|
+
consumed: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface ProposalToEffectConsumptionResolverContext extends ProposalToEffectStatusResolverContext {
|
|
29
|
+
status_digest: AebDigest;
|
|
30
|
+
sequence: number;
|
|
31
|
+
}
|
|
32
|
+
export interface ProposalToEffectStatusVerifierOptions {
|
|
33
|
+
/** Copied at factory construction; callers cannot swap the authority pin later. */
|
|
34
|
+
authorityPin: RevokerAuthorityPin;
|
|
35
|
+
/** Trusted code mapping the closed PTE expected binding to one exact status target. */
|
|
36
|
+
targetMapper(input: {
|
|
37
|
+
expected: ProposalToEffectStatusExpected;
|
|
38
|
+
}): MaybePromise<StatusTarget>;
|
|
39
|
+
/** Server-side certificate lookup. The presenter never supplies this certificate. */
|
|
40
|
+
certificateResolver(input: ProposalToEffectStatusResolverContext): MaybePromise<unknown>;
|
|
41
|
+
/**
|
|
42
|
+
* Durable relying-party status custody. It loads the accepted predecessor,
|
|
43
|
+
* verifies the candidate against that predecessor, and compare-and-advances
|
|
44
|
+
* one fixed tenant/relying-party/target head atomically.
|
|
45
|
+
*/
|
|
46
|
+
statusHeadStore: ProposalToEffectStatusHeadStore;
|
|
47
|
+
/** Authenticated local consumption lookup; this is not inferred from EP-STATUS-v1. */
|
|
48
|
+
consumptionStateResolver(input: ProposalToEffectConsumptionResolverContext): MaybePromise<ProposalToEffectConsumptionState>;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Build the server-side verifier expected by
|
|
52
|
+
* `ProposalToEffectOptions.aeb.statusVerifier`.
|
|
53
|
+
*/
|
|
54
|
+
export declare function createProposalToEffectStatusVerifier(options: ProposalToEffectStatusVerifierOptions): ProposalToEffectStatusVerifier;
|
|
55
|
+
//# sourceMappingURL=proposal-to-effect-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposal-to-effect-status.d.ts","sourceRoot":"","sources":["../src/proposal-to-effect-status.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAkB,MAAM,8CAA8C,CAAC;AAC9F,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAElB,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAEV,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,+BAA+B,EAChC,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EACL,4CAA4C,EAC5C,oCAAoC,EACpC,kCAAkC,EAClC,6CAA6C,GAC9C,MAAM,2CAA2C,CAAC;AACnD,YAAY,EACV,8CAA8C,EAC9C,oCAAoC,EACpC,yCAAyC,EACzC,kCAAkC,EAClC,gCAAgC,EAChC,+BAA+B,GAChC,MAAM,2CAA2C,CAAC;AAEnD,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACtC,KAAK,8BAA8B,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,CAAC;AAEvF,MAAM,MAAM,mCAAmC,GAC7C,UAAU,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC;AAChD,MAAM,MAAM,8BAA8B,GACxC,QAAQ,CAAC,mCAAmC,CAAC,UAAU,CAAC,CAAC,CAAC;AAE5D,MAAM,WAAW,qCAAqC;IACpD,QAAQ,EAAE,8BAA8B,CAAC;IACzC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gCAAgC;IAC/C,8EAA8E;IAC9E,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,0CACf,SAAQ,qCAAqC;IAC7C,aAAa,EAAE,SAAS,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qCAAqC;IACpD,mFAAmF;IACnF,YAAY,EAAE,mBAAmB,CAAC;IAClC,uFAAuF;IACvF,YAAY,CAAC,KAAK,EAAE;QAClB,QAAQ,EAAE,8BAA8B,CAAC;KAC1C,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC/B,qFAAqF;IACrF,mBAAmB,CACjB,KAAK,EAAE,qCAAqC,GAC3C,YAAY,CAAC,OAAO,CAAC,CAAC;IACzB;;;;OAIG;IACH,eAAe,EAAE,+BAA+B,CAAC;IACjD,sFAAsF;IACtF,wBAAwB,CACtB,KAAK,EAAE,0CAA0C,GAChD,YAAY,CAAC,gCAAgC,CAAC,CAAC;CACnD;AAyKD;;;GAGG;AACH,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,qCAAqC,GAC7C,8BAA8B,CA6HhC"}
|