@abloatai/transaction 0.55.0 → 0.57.0
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/CONVENTIONS.md +34 -0
- package/dist/auth/hostedEndpoints.d.ts +21 -5
- package/dist/auth/hostedEndpoints.d.ts.map +1 -1
- package/dist/auth/hostedEndpoints.js +21 -5
- package/dist/auth/hostedEndpoints.js.map +1 -1
- package/dist/auth/index.d.ts +1 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +1 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/coordination/index.d.ts +2 -2
- package/dist/coordination/index.d.ts.map +1 -1
- package/dist/coordination/index.js +1 -1
- package/dist/coordination/index.js.map +1 -1
- package/dist/coordination/schema.d.ts +0 -3
- package/dist/coordination/schema.d.ts.map +1 -1
- package/dist/coordination/schema.js +4 -5
- package/dist/coordination/schema.js.map +1 -1
- package/dist/errorCodes.d.ts +1 -0
- package/dist/errorCodes.d.ts.map +1 -1
- package/dist/errorCodes.js +1 -0
- package/dist/errorCodes.js.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +4 -1
- package/dist/errors.js.map +1 -1
- package/dist/log/syncDeltaRow.d.ts +3 -3
- package/dist/readSetContext.d.ts.map +1 -1
- package/dist/readSetContext.js +8 -3
- package/dist/readSetContext.js.map +1 -1
- package/dist/resources/httpResources.d.ts +43 -22
- package/dist/resources/httpResources.d.ts.map +1 -1
- package/dist/resources/httpResources.js +81 -4
- package/dist/resources/httpResources.js.map +1 -1
- package/dist/resources/modelCreate.d.ts +21 -0
- package/dist/resources/modelCreate.d.ts.map +1 -0
- package/dist/resources/modelCreate.js +49 -0
- package/dist/resources/modelCreate.js.map +1 -0
- package/dist/resources/modelOperations.d.ts +24 -2
- package/dist/resources/modelOperations.d.ts.map +1 -1
- package/dist/resources/modelOperations.js.map +1 -1
- package/dist/resources/writeOptionsSchema.d.ts +14 -0
- package/dist/resources/writeOptionsSchema.d.ts.map +1 -1
- package/dist/resources/writeOptionsSchema.js +23 -2
- package/dist/resources/writeOptionsSchema.js.map +1 -1
- package/dist/schema/audit.d.ts +15 -0
- package/dist/schema/audit.d.ts.map +1 -0
- package/dist/schema/audit.js +90 -0
- package/dist/schema/audit.js.map +1 -0
- package/dist/schema/ddl.d.ts.map +1 -1
- package/dist/schema/ddl.js +68 -1
- package/dist/schema/ddl.js.map +1 -1
- package/dist/schema/index.d.ts +3 -1
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +3 -1
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/model.d.ts +14 -0
- package/dist/schema/model.d.ts.map +1 -1
- package/dist/schema/model.js +2 -0
- package/dist/schema/model.js.map +1 -1
- package/dist/schema/openapi.d.ts.map +1 -1
- package/dist/schema/openapi.js +104 -2
- package/dist/schema/openapi.js.map +1 -1
- package/dist/schema/roles.d.ts +27 -0
- package/dist/schema/roles.d.ts.map +1 -1
- package/dist/schema/roles.js +40 -0
- package/dist/schema/roles.js.map +1 -1
- package/dist/schema/schema.d.ts +23 -4
- package/dist/schema/schema.d.ts.map +1 -1
- package/dist/schema/schema.js +30 -1
- package/dist/schema/schema.js.map +1 -1
- package/dist/schema/serialize.d.ts +4 -1
- package/dist/schema/serialize.d.ts.map +1 -1
- package/dist/schema/serialize.js +5 -1
- package/dist/schema/serialize.js.map +1 -1
- package/dist/schema/subject.d.ts +18 -0
- package/dist/schema/subject.d.ts.map +1 -0
- package/dist/schema/subject.js +27 -0
- package/dist/schema/subject.js.map +1 -0
- package/dist/server/adapter.d.ts +2 -0
- package/dist/server/adapter.d.ts.map +1 -1
- package/dist/server/readConfig.d.ts +3 -0
- package/dist/server/readConfig.d.ts.map +1 -1
- package/dist/server/readConfig.js +0 -21
- package/dist/server/readConfig.js.map +1 -1
- package/dist/source/adapters/drizzle.d.ts.map +1 -1
- package/dist/source/adapters/drizzle.js +37 -6
- package/dist/source/adapters/drizzle.js.map +1 -1
- package/dist/source/adapters/kysely.d.ts +2 -0
- package/dist/source/adapters/kysely.d.ts.map +1 -1
- package/dist/source/adapters/kysely.js +33 -5
- package/dist/source/adapters/kysely.js.map +1 -1
- package/dist/source/adapters/kyselyMutationCore.d.ts +4 -1
- package/dist/source/adapters/kyselyMutationCore.d.ts.map +1 -1
- package/dist/source/adapters/kyselyMutationCore.js +17 -8
- package/dist/source/adapters/kyselyMutationCore.js.map +1 -1
- package/dist/source/adapters/memory.d.ts.map +1 -1
- package/dist/source/adapters/memory.js +1 -0
- package/dist/source/adapters/memory.js.map +1 -1
- package/dist/source/adapters/prisma.d.ts.map +1 -1
- package/dist/source/adapters/prisma.js +59 -7
- package/dist/source/adapters/prisma.js.map +1 -1
- package/dist/source/contract.d.ts +14 -0
- package/dist/source/contract.d.ts.map +1 -1
- package/dist/source/contract.js +10 -0
- package/dist/source/contract.js.map +1 -1
- package/dist/source/factory.d.ts +7 -1
- package/dist/source/factory.d.ts.map +1 -1
- package/dist/source/factory.js +116 -5
- package/dist/source/factory.js.map +1 -1
- package/dist/source/index.d.ts +2 -1
- package/dist/source/index.d.ts.map +1 -1
- package/dist/source/index.js +1 -0
- package/dist/source/index.js.map +1 -1
- package/dist/source/migrations.d.ts.map +1 -1
- package/dist/source/migrations.js +21 -0
- package/dist/source/migrations.js.map +1 -1
- package/dist/source/subjectAuthorization.d.ts +16 -0
- package/dist/source/subjectAuthorization.d.ts.map +1 -0
- package/dist/source/subjectAuthorization.js +126 -0
- package/dist/source/subjectAuthorization.js.map +1 -0
- package/dist/source/types.d.ts +52 -2
- package/dist/source/types.d.ts.map +1 -1
- package/dist/source/types.js +1 -0
- package/dist/source/types.js.map +1 -1
- package/dist/syncLog/contract.d.ts +45 -3
- package/dist/syncLog/contract.d.ts.map +1 -1
- package/dist/syncLog/contract.js +46 -4
- package/dist/syncLog/contract.js.map +1 -1
- package/dist/testing/fixtures/httpResponses.d.ts +6 -0
- package/dist/testing/fixtures/httpResponses.d.ts.map +1 -1
- package/dist/testing/fixtures/httpResponses.js +1 -0
- package/dist/testing/fixtures/httpResponses.js.map +1 -1
- package/dist/transport/httpClient.d.ts +8 -1
- package/dist/transport/httpClient.d.ts.map +1 -1
- package/dist/transport/httpClient.js +51 -20
- package/dist/transport/httpClient.js.map +1 -1
- package/dist/transport/httpCommitRequest.d.ts +45 -0
- package/dist/transport/httpCommitRequest.d.ts.map +1 -0
- package/dist/transport/httpCommitRequest.js +67 -0
- package/dist/transport/httpCommitRequest.js.map +1 -0
- package/dist/transport/httpTransport.d.ts.map +1 -1
- package/dist/transport/httpTransport.js +69 -106
- package/dist/transport/httpTransport.js.map +1 -1
- package/dist/transport/httpTransportHelpers.d.ts +10 -0
- package/dist/transport/httpTransportHelpers.d.ts.map +1 -0
- package/dist/transport/httpTransportHelpers.js +46 -0
- package/dist/transport/httpTransportHelpers.js.map +1 -0
- package/dist/wire/apiLifecycle.d.ts +63 -0
- package/dist/wire/apiLifecycle.d.ts.map +1 -0
- package/dist/wire/apiLifecycle.js +89 -0
- package/dist/wire/apiLifecycle.js.map +1 -0
- package/dist/wire/auth.d.ts.map +1 -1
- package/dist/wire/auth.js +6 -3
- package/dist/wire/auth.js.map +1 -1
- package/dist/wire/commit.d.ts +74 -9
- package/dist/wire/commit.d.ts.map +1 -1
- package/dist/wire/commit.js +18 -5
- package/dist/wire/commit.js.map +1 -1
- package/dist/wire/index.d.ts +5 -2
- package/dist/wire/index.d.ts.map +1 -1
- package/dist/wire/index.js +12 -1
- package/dist/wire/index.js.map +1 -1
- package/dist/wire/modelMutations.js +3 -2
- package/dist/wire/modelMutations.js.map +1 -1
- package/dist/wire/rateLimit.d.ts +82 -0
- package/dist/wire/rateLimit.d.ts.map +1 -0
- package/dist/wire/rateLimit.js +142 -0
- package/dist/wire/rateLimit.js.map +1 -0
- package/package.json +1 -1
- package/src/auth/hostedEndpoints.ts +23 -5
- package/src/auth/index.ts +2 -0
- package/src/coordination/index.ts +0 -2
- package/src/coordination/schema.ts +4 -7
- package/src/errorCodes.ts +6 -0
- package/src/errors.ts +4 -1
- package/src/readSetContext.ts +8 -2
- package/src/resources/httpResources.ts +116 -25
- package/src/resources/modelCreate.ts +73 -0
- package/src/resources/modelOperations.ts +29 -2
- package/src/resources/writeOptionsSchema.ts +30 -2
- package/src/schema/audit.ts +121 -0
- package/src/schema/ddl.ts +71 -1
- package/src/schema/index.ts +16 -0
- package/src/schema/model.ts +17 -0
- package/src/schema/openapi.ts +123 -2
- package/src/schema/roles.ts +53 -0
- package/src/schema/schema.ts +68 -3
- package/src/schema/serialize.ts +8 -1
- package/src/schema/subject.ts +43 -0
- package/src/server/adapter.ts +2 -0
- package/src/server/readConfig.ts +4 -0
- package/src/source/adapters/drizzle.ts +50 -6
- package/src/source/adapters/kysely.ts +47 -4
- package/src/source/adapters/kyselyMutationCore.ts +21 -9
- package/src/source/adapters/memory.ts +1 -0
- package/src/source/adapters/prisma.ts +70 -7
- package/src/source/contract.ts +11 -0
- package/src/source/factory.ts +141 -5
- package/src/source/index.ts +6 -0
- package/src/source/migrations.ts +21 -0
- package/src/source/subjectAuthorization.ts +182 -0
- package/src/source/types.ts +56 -2
- package/src/syncLog/contract.ts +47 -5
- package/src/testing/fixtures/httpResponses.ts +7 -0
- package/src/transport/httpClient.ts +85 -23
- package/src/transport/httpCommitRequest.ts +104 -0
- package/src/transport/httpTransport.ts +92 -142
- package/src/transport/httpTransportHelpers.ts +63 -0
- package/src/wire/apiLifecycle.ts +94 -0
- package/src/wire/auth.ts +6 -3
- package/src/wire/commit.ts +20 -5
- package/src/wire/index.ts +31 -0
- package/src/wire/modelMutations.ts +2 -2
- package/src/wire/rateLimit.ts +155 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Canonical create identity and result correlation shared by every client. */
|
|
2
|
+
import type { CommitOperationResult } from '../wire/commit.js';
|
|
3
|
+
/** Resolve the two supported single-create id spellings. The sibling wins. */
|
|
4
|
+
export declare function resolveCreateId(explicitId: string | null | undefined, data: unknown): string | undefined;
|
|
5
|
+
/** Stable across transports and client instances when an idempotency key is supplied. */
|
|
6
|
+
export declare function createModelId(modelName: string, idempotencyKey?: string | null): string;
|
|
7
|
+
/**
|
|
8
|
+
* Return server-authored create rows in input order.
|
|
9
|
+
*
|
|
10
|
+
* Fresh receipts carry operationResults. Durable idempotency replays redact
|
|
11
|
+
* row data, so that path verifies every expected id with a point read. It may
|
|
12
|
+
* fail under a write-only policy, but it can never report a partial collection
|
|
13
|
+
* as success.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveCreatedRows<T>(input: {
|
|
16
|
+
readonly modelName: string;
|
|
17
|
+
readonly ids: readonly string[];
|
|
18
|
+
readonly operationResults?: readonly CommitOperationResult[];
|
|
19
|
+
readonly readRow: (id: string) => Promise<T | undefined>;
|
|
20
|
+
}): Promise<T[]>;
|
|
21
|
+
//# sourceMappingURL=modelCreate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelCreate.d.ts","sourceRoot":"","sources":["../../src/resources/modelCreate.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAI/E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,8EAA8E;AAC9E,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACrC,IAAI,EAAE,OAAO,GACZ,MAAM,GAAG,SAAS,CAOpB;AAED,yFAAyF;AACzF,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAC7B,MAAM,CAUR;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC7D,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;CAC1D,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAwBf"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/** Canonical create identity and result correlation shared by every client. */
|
|
2
|
+
import { v5 as uuidv5 } from 'uuid';
|
|
3
|
+
import { AbloConnectionError } from '../errors.js';
|
|
4
|
+
/** Resolve the two supported single-create id spellings. The sibling wins. */
|
|
5
|
+
export function resolveCreateId(explicitId, data) {
|
|
6
|
+
if (typeof explicitId === 'string' && explicitId.length > 0)
|
|
7
|
+
return explicitId;
|
|
8
|
+
const inData = typeof data === 'object' && data !== null
|
|
9
|
+
? data.id
|
|
10
|
+
: undefined;
|
|
11
|
+
return typeof inData === 'string' && inData.length > 0 ? inData : undefined;
|
|
12
|
+
}
|
|
13
|
+
/** Stable across transports and client instances when an idempotency key is supplied. */
|
|
14
|
+
export function createModelId(modelName, idempotencyKey) {
|
|
15
|
+
if (idempotencyKey) {
|
|
16
|
+
return uuidv5(`${modelName}:${idempotencyKey}`, 'aa4ba6d4-bf0b-5b38-9c45-116f79a6e548');
|
|
17
|
+
}
|
|
18
|
+
return typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function'
|
|
19
|
+
? crypto.randomUUID()
|
|
20
|
+
: `id_${Date.now()}_${Math.random().toString(36).slice(2, 10)}`;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Return server-authored create rows in input order.
|
|
24
|
+
*
|
|
25
|
+
* Fresh receipts carry operationResults. Durable idempotency replays redact
|
|
26
|
+
* row data, so that path verifies every expected id with a point read. It may
|
|
27
|
+
* fail under a write-only policy, but it can never report a partial collection
|
|
28
|
+
* as success.
|
|
29
|
+
*/
|
|
30
|
+
export async function resolveCreatedRows(input) {
|
|
31
|
+
if (input.operationResults?.length === input.ids.length) {
|
|
32
|
+
const byId = new Map(input.operationResults.map((result) => [
|
|
33
|
+
result.row.id,
|
|
34
|
+
result.row,
|
|
35
|
+
]));
|
|
36
|
+
const ordered = input.ids.map((id) => byId.get(id));
|
|
37
|
+
if (ordered.every((row) => row !== undefined)) {
|
|
38
|
+
return ordered;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
const rows = await Promise.all(input.ids.map((id) => input.readRow(id)));
|
|
42
|
+
const missing = input.ids.filter((_id, index) => rows[index] === undefined);
|
|
43
|
+
if (missing.length > 0) {
|
|
44
|
+
throw new AbloConnectionError(`${input.modelName} create confirmed, but ${missing.length} of ${input.ids.length} ` +
|
|
45
|
+
'server rows could not be recovered from its receipt or verified by id.', { code: 'commit_no_result', details: { missingIds: missing } });
|
|
46
|
+
}
|
|
47
|
+
return rows;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=modelCreate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelCreate.js","sourceRoot":"","sources":["../../src/resources/modelCreate.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAE/E,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,8EAA8E;AAC9E,MAAM,UAAU,eAAe,CAC7B,UAAqC,EACrC,IAAa;IAEb,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAC/E,MAAM,MAAM,GACV,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;QACvC,CAAC,CAAE,IAAkC,CAAC,EAAE;QACxC,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,aAAa,CAC3B,SAAiB,EACjB,cAA8B;IAE9B,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,MAAM,CACX,GAAG,SAAS,IAAI,cAAc,EAAE,EAChC,sCAAsC,CACvC,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU;QAC7E,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;QACrB,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACpE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAI,KAK3C;IACC,IAAI,KAAK,CAAC,gBAAgB,EAAE,MAAM,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,GAAG,CAClB,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YACpC,MAAM,CAAC,GAAiC,CAAC,EAAE;YAC5C,MAAM,CAAC,GAAG;SACX,CAAC,CACH,CAAC;QACF,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAkC,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,CAAC;YAC9E,OAAO,OAAc,CAAC;QACxB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC;IAC5E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,mBAAmB,CAC3B,GAAG,KAAK,CAAC,SAAS,0BAA0B,OAAO,CAAC,MAAM,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG;YAClF,wEAAwE,EAC1E,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,CAC/D,CAAC;IACJ,CAAC;IACD,OAAO,IAAW,CAAC;AACrB,CAAC"}
|
|
@@ -14,7 +14,7 @@ import type { ResolveClaimMeta } from '../types/global.js';
|
|
|
14
14
|
import type { AbloError } from '../errors.js';
|
|
15
15
|
import type { StaleNotification, TrackDependency } from '../coordination/schema.js';
|
|
16
16
|
import type { FieldRef, FieldSelector } from '../schema/fieldRef.js';
|
|
17
|
-
import type { BaseModelFields } from '../schema/schema.js';
|
|
17
|
+
import type { BaseModelFields, Clearable } from '../schema/schema.js';
|
|
18
18
|
import type { ClaimHeartbeatPlan } from '../coordination/claimHeartbeatLoop.js';
|
|
19
19
|
import type { Duration } from '../utils/duration.js';
|
|
20
20
|
import type { Claim, ClaimHeartbeat, ClaimHeartbeatOptions, HeldClaim, HeldLease } from '../types/streams.js';
|
|
@@ -174,6 +174,13 @@ export interface ServerReadOptions<T> {
|
|
|
174
174
|
*/
|
|
175
175
|
expand?: readonly string[];
|
|
176
176
|
}
|
|
177
|
+
/** Options for an explicit complete collection traversal. */
|
|
178
|
+
export interface ListAllOptions<T> extends Omit<ServerReadOptions<T>, 'cursor'> {
|
|
179
|
+
/** Maximum pages to read before refusing an unexpectedly broad traversal. @default 100 */
|
|
180
|
+
maxPages?: number;
|
|
181
|
+
/** Stops traversal between page requests and row yields. */
|
|
182
|
+
signal?: AbortSignal;
|
|
183
|
+
}
|
|
177
184
|
/** Options for the single-row async server read `get({ id })`. A subset of
|
|
178
185
|
* {@link ServerReadOptions} — `where`/`limit`/`orderBy` are fixed by the id. */
|
|
179
186
|
export type ServerRetrieveOptions = Pick<ServerReadOptions<unknown>, 'type' | 'expand'>;
|
|
@@ -468,14 +475,29 @@ export interface ModelCreateParams<T, CreateInput> extends ModelWriteOptions {
|
|
|
468
475
|
readonly id?: string | null;
|
|
469
476
|
readonly claim?: Claim<T> | ClaimTargetOptions<CreateInput> | null;
|
|
470
477
|
}
|
|
478
|
+
/**
|
|
479
|
+
* Creating many rows at once: the same verb, handed a list.
|
|
480
|
+
*
|
|
481
|
+
* One atomic commit, so the batch lands whole or not at all, and the rows come
|
|
482
|
+
* back in the order they were given. There is no `id` beside `data` here the
|
|
483
|
+
* way there is for a single create, since one id cannot address many rows;
|
|
484
|
+
* write it into each row instead, which the create input has always allowed.
|
|
485
|
+
*/
|
|
486
|
+
export type ModelCreateManyParams<CreateInput> = Pick<ModelWriteOptions, 'idempotencyKey' | 'reads' | 'track'> & {
|
|
487
|
+
readonly data: readonly CreateInput[];
|
|
488
|
+
};
|
|
471
489
|
export interface ModelUpdateParams<T, Fields = T> extends ModelWriteOptions {
|
|
472
490
|
readonly id: string;
|
|
473
491
|
/**
|
|
474
492
|
* Patch only fields declared by the model's Zod input shape. Hydrated rows
|
|
475
493
|
* also carry framework fields, relations, methods, and computed values; none
|
|
476
494
|
* of those are writable data.
|
|
495
|
+
*
|
|
496
|
+
* Send a field to change it, omit it to leave it, send `null` to clear it —
|
|
497
|
+
* see {@link Clearable}. `undefined` is not a clear: it is dropped from the
|
|
498
|
+
* payload and the old value survives.
|
|
477
499
|
*/
|
|
478
|
-
readonly data:
|
|
500
|
+
readonly data: Clearable<ClaimableFields<Fields>>;
|
|
479
501
|
readonly claim?: Claim<T> | ClaimTargetOptions<Fields> | null;
|
|
480
502
|
}
|
|
481
503
|
export interface ModelDeleteParams<T, Fields = T> extends ModelWriteOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelOperations.d.ts","sourceRoot":"","sources":["../../src/resources/modelOperations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"modelOperations.d.ts","sourceRoot":"","sources":["../../src/resources/modelOperations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelOperations.js","sourceRoot":"","sources":["../../src/resources/modelOperations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA+EH,qFAAqF;AACrF,MAAM,UAAU,6BAA6B,CAAC,OAM7C;IACC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,MAAM,QAAQ,GAAG,UAAU,EAAE,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;IAC/D,MAAM,SAAS,GAAG,UAAU,EAAE,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC;IACjE,MAAM,MAAM,GAAG,UAAU,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IACpD,OAAO;QACL,IAAI,EAAE,UAAU;YACd,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM;YAC5B,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK;QAC3B,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,UAAU,EAAE,QAAQ,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE;YACnC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,eAAe,CAC7B,QAA0D,EAC1D,KAAwB;IAExB,IAAI,CAAC;QACH,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;IACxE,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB,CACjC,IAAa,EACb,KAAgB;IAEhB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,KAAK,gBAAgB,CAAC;QACtE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;QAC5B,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC;
|
|
1
|
+
{"version":3,"file":"modelOperations.js","sourceRoot":"","sources":["../../src/resources/modelOperations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA+EH,qFAAqF;AACrF,MAAM,UAAU,6BAA6B,CAAC,OAM7C;IACC,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,MAAM,QAAQ,GAAG,UAAU,EAAE,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;IAC/D,MAAM,SAAS,GAAG,UAAU,EAAE,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC;IACjE,MAAM,MAAM,GAAG,UAAU,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IACpD,OAAO;QACL,IAAI,EAAE,UAAU;YACd,CAAC,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM;YAC5B,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK;QAC3B,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,UAAU,EAAE,QAAQ,KAAK,SAAS;YACpC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE;YACnC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,eAAe,CAC7B,QAA0D,EAC1D,KAAwB;IAExB,IAAI,CAAC;QACH,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,sEAAsE;IACxE,CAAC;AACH,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB,CACjC,IAAa,EACb,KAAgB;IAEhB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,IAAI,IAAI,KAAK,gBAAgB,CAAC;QACtE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE;QAC5B,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC;AAuQD,MAAM,UAAU,cAAc,CAC5B,OAAqD;IAErD,OAAO;QACL,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,OAAO;QACb,OAAO;QACP,IAAI,EAAE,OAAO,CAAC,MAAM;QACpB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI;KACzB,CAAC;AACJ,CAAC"}
|
|
@@ -80,4 +80,18 @@ export type WriteOptionsInput = z.infer<typeof writeOptionsSchema>;
|
|
|
80
80
|
* untouched. A `null` or `undefined` value passes.
|
|
81
81
|
*/
|
|
82
82
|
export declare function assertWriteOptions(value: unknown, context?: string): void;
|
|
83
|
+
/**
|
|
84
|
+
* Refuse a per-model write that does not name its row.
|
|
85
|
+
*
|
|
86
|
+
* `update` and `delete` address the row through the URL, so an absent `id`
|
|
87
|
+
* used to be spelled into the path by `encodeURIComponent` as the literal
|
|
88
|
+
* string `"undefined"`. The request was well-formed, it matched no row, and it
|
|
89
|
+
* came back as an ordinary receipt: `delete({ where: { id } })` reported
|
|
90
|
+
* success and deleted nothing. `{ where }` is the shape the commit protocol
|
|
91
|
+
* takes one layer down, so reaching for it here is an easy and quiet mistake.
|
|
92
|
+
*
|
|
93
|
+
* The typed surface already rejects it at compile time. This is the same
|
|
94
|
+
* refusal for callers who reach the transport without those types.
|
|
95
|
+
*/
|
|
96
|
+
export declare function assertWriteTarget(action: 'update' | 'delete', modelName: string, id: unknown): void;
|
|
83
97
|
//# sourceMappingURL=writeOptionsSchema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeOptionsSchema.d.ts","sourceRoot":"","sources":["../../src/resources/writeOptionsSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"writeOptionsSchema.d.ts","sourceRoot":"","sources":["../../src/resources/writeOptionsSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,OAAO,EACL,iBAAiB,EAKlB,MAAM,2BAA2B,CAAC;AAQnC,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6B7B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAezE;AAgBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,QAAQ,GAAG,QAAQ,EAC3B,SAAS,EAAE,MAAM,EACjB,EAAE,EAAE,OAAO,GACV,IAAI,CASN"}
|
|
@@ -16,9 +16,10 @@
|
|
|
16
16
|
* asserts the shape rather than replacing the value with a parsed copy.
|
|
17
17
|
*/
|
|
18
18
|
import { z } from 'zod';
|
|
19
|
+
import { logPositionSchema } from '../syncLog/contract.js';
|
|
19
20
|
import { AbloValidationError } from '../errors.js';
|
|
20
21
|
import { commitWaitSchema } from '../wire/commit.js';
|
|
21
|
-
import { onStaleModeSchema, MAX_READ_SET_ENTRIES, readDependencyListSchema,
|
|
22
|
+
import { onStaleModeSchema, MAX_READ_SET_ENTRIES, readDependencyListSchema, readSetProjectionEntryCount, trackDependencyListSchema, } from '../coordination/schema.js';
|
|
22
23
|
// Re-exported, not redeclared. `coordination/schema.ts` owns this enum — it is
|
|
23
24
|
// what the wire schemas and the server validate against — while the published
|
|
24
25
|
// SDK barrel exports the name from this module. Declaring it twice put a second
|
|
@@ -34,7 +35,7 @@ export const writeOptionsSchema = z.object({
|
|
|
34
35
|
/** Resolve when queued locally (default) or once the server confirms. */
|
|
35
36
|
wait: commitWaitSchema.optional(),
|
|
36
37
|
/** Stale guard: the sync watermark the caller's reasoning was based on. */
|
|
37
|
-
readAt:
|
|
38
|
+
readAt: logPositionSchema.nullish(),
|
|
38
39
|
/** What the server does when the target moved past `readAt`. */
|
|
39
40
|
onStale: onStaleModeSchema.nullish(),
|
|
40
41
|
/** The held claim's fencing token (Option B), sourced from the claim handle
|
|
@@ -77,4 +78,24 @@ export function assertWriteOptions(value, context) {
|
|
|
77
78
|
}
|
|
78
79
|
const _writeOptionsContractInSync = true;
|
|
79
80
|
void _writeOptionsContractInSync;
|
|
81
|
+
/**
|
|
82
|
+
* Refuse a per-model write that does not name its row.
|
|
83
|
+
*
|
|
84
|
+
* `update` and `delete` address the row through the URL, so an absent `id`
|
|
85
|
+
* used to be spelled into the path by `encodeURIComponent` as the literal
|
|
86
|
+
* string `"undefined"`. The request was well-formed, it matched no row, and it
|
|
87
|
+
* came back as an ordinary receipt: `delete({ where: { id } })` reported
|
|
88
|
+
* success and deleted nothing. `{ where }` is the shape the commit protocol
|
|
89
|
+
* takes one layer down, so reaching for it here is an easy and quiet mistake.
|
|
90
|
+
*
|
|
91
|
+
* The typed surface already rejects it at compile time. This is the same
|
|
92
|
+
* refusal for callers who reach the transport without those types.
|
|
93
|
+
*/
|
|
94
|
+
export function assertWriteTarget(action, modelName, id) {
|
|
95
|
+
if (typeof id === 'string' && id.length > 0)
|
|
96
|
+
return;
|
|
97
|
+
const namedAFilter = typeof id === 'object' && id !== null && 'where' in id;
|
|
98
|
+
throw new AbloValidationError(`A ${modelName} ${action} has to name the row it acts on: ${action}({ id })` +
|
|
99
|
+
(namedAFilter ? ', not a `where` filter.' : '.'), { code: 'invalid_body', param: 'id' });
|
|
100
|
+
}
|
|
80
101
|
//# sourceMappingURL=writeOptionsSchema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeOptionsSchema.js","sourceRoot":"","sources":["../../src/resources/writeOptionsSchema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"writeOptionsSchema.js","sourceRoot":"","sources":["../../src/resources/writeOptionsSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SchemaJSON } from './serialize.js';
|
|
2
|
+
export interface SchemaAuditFinding {
|
|
3
|
+
readonly code: 'scope_routing_without_access_policy';
|
|
4
|
+
readonly severity: 'error';
|
|
5
|
+
readonly model: string;
|
|
6
|
+
readonly message: string;
|
|
7
|
+
readonly fix: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Finds mutable models whose sync-group routing is narrower than their row-read
|
|
11
|
+
* policy. A correctly filtered list or routed stream is not evidence that a
|
|
12
|
+
* foreign row is unreadable; only the policy is the authorization boundary.
|
|
13
|
+
*/
|
|
14
|
+
export declare function auditSchemaAccessPolicies(schema: SchemaJSON): readonly SchemaAuditFinding[];
|
|
15
|
+
//# sourceMappingURL=audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/schema/audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG5D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,qCAAqC,CAAC;IACrD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACtB;AA+ED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,kBAAkB,EAAE,CA2B3F"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { resolveTenancy } from './tenancy.js';
|
|
2
|
+
function tableName(key, model) {
|
|
3
|
+
return model.tableName ?? key;
|
|
4
|
+
}
|
|
5
|
+
function fieldColumn(model, field) {
|
|
6
|
+
return model.fields[field]?.column ?? field;
|
|
7
|
+
}
|
|
8
|
+
function camelToSnake(value) {
|
|
9
|
+
return value.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
|
|
10
|
+
}
|
|
11
|
+
function reachesScope(key, models, seen = new Set()) {
|
|
12
|
+
if (seen.has(key))
|
|
13
|
+
return false;
|
|
14
|
+
const model = models[key];
|
|
15
|
+
if (!model)
|
|
16
|
+
return false;
|
|
17
|
+
if (model.scope)
|
|
18
|
+
return true;
|
|
19
|
+
const nextSeen = new Set(seen).add(key);
|
|
20
|
+
return Object.values(model.relations).some((relation) => relation.type === 'belongsTo' && reachesScope(relation.target, models, nextSeen));
|
|
21
|
+
}
|
|
22
|
+
function routingAnchors(model, models) {
|
|
23
|
+
const anchors = [];
|
|
24
|
+
if (model.scope) {
|
|
25
|
+
anchors.push({ description: `scope root ${String(model.scope)}`, column: 'id' });
|
|
26
|
+
}
|
|
27
|
+
for (const role of model.entityRoles ?? []) {
|
|
28
|
+
anchors.push({
|
|
29
|
+
description: `entity role ${role.kind}`,
|
|
30
|
+
column: fieldColumn(model, role.source.field),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
for (const [relationName, relation] of Object.entries(model.relations)) {
|
|
34
|
+
if (relation.type !== 'belongsTo' || !reachesScope(relation.target, models))
|
|
35
|
+
continue;
|
|
36
|
+
const target = models[relation.target];
|
|
37
|
+
if (!target)
|
|
38
|
+
continue;
|
|
39
|
+
anchors.push({
|
|
40
|
+
description: `parent scope ${relationName}`,
|
|
41
|
+
column: relation.foreignKeyColumn,
|
|
42
|
+
parentTable: tableName(relation.target, target),
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return anchors;
|
|
46
|
+
}
|
|
47
|
+
function policyMatches(anchor, model) {
|
|
48
|
+
const tenancy = resolveTenancy(model);
|
|
49
|
+
if (tenancy.kind === 'source')
|
|
50
|
+
return true;
|
|
51
|
+
if (tenancy.kind === 'column') {
|
|
52
|
+
return tenancy.column === anchor.column || tenancy.column === camelToSnake(anchor.column);
|
|
53
|
+
}
|
|
54
|
+
if (tenancy.kind === 'parent') {
|
|
55
|
+
return tenancy.via.localKey === anchor.column &&
|
|
56
|
+
(anchor.parentTable === undefined || tenancy.via.parentTable === anchor.parentTable);
|
|
57
|
+
}
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Finds mutable models whose sync-group routing is narrower than their row-read
|
|
62
|
+
* policy. A correctly filtered list or routed stream is not evidence that a
|
|
63
|
+
* foreign row is unreadable; only the policy is the authorization boundary.
|
|
64
|
+
*/
|
|
65
|
+
export function auditSchemaAccessPolicies(schema) {
|
|
66
|
+
const findings = [];
|
|
67
|
+
for (const [key, model] of Object.entries(schema.models)) {
|
|
68
|
+
if (model.mutable === false || model.routingOnly === true)
|
|
69
|
+
continue;
|
|
70
|
+
const mismatched = routingAnchors(model, schema.models)
|
|
71
|
+
.filter((anchor) => !policyMatches(anchor, model));
|
|
72
|
+
if (mismatched.length === 0)
|
|
73
|
+
continue;
|
|
74
|
+
const policy = resolveTenancy(model);
|
|
75
|
+
const routedBy = mismatched.map(({ description, column }) => `${description} (${column})`).join(', ');
|
|
76
|
+
findings.push({
|
|
77
|
+
code: 'scope_routing_without_access_policy',
|
|
78
|
+
severity: 'error',
|
|
79
|
+
model: key,
|
|
80
|
+
message: `Model "${key}" routes changes by ${routedBy}, but its row-access policy is ` +
|
|
81
|
+
`by ${policy.kind}. Sync groups route delivery; they do not authorize reads. ` +
|
|
82
|
+
`A filtered list or correctly routed live stream is not an authorization proof.`,
|
|
83
|
+
fix: `Make policy follow the same customer/workspace boundary on every reachable model, ` +
|
|
84
|
+
`use policy: { by: 'source' } with one Ablo organization per hard tenant, or set ` +
|
|
85
|
+
`groups.routingOnly: true to explicitly acknowledge an intentionally broader read policy.`,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return findings;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/schema/audit.ts"],"names":[],"mappings":"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"}
|
package/dist/schema/ddl.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ddl.d.ts","sourceRoot":"","sources":["../../src/schema/ddl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAa,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"ddl.d.ts","sourceRoot":"","sources":["../../src/schema/ddl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAa,MAAM,WAAW,CAAC;AAKzE,MAAM,WAAW,aAAa;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;6CACyC;IACzC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC;;;;0DAIsD;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;OAOG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,iFAAiF;IACjF,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAUD,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,6EAA6E;AAC7E,wBAAgB,CAAC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE5C;AAID,wBAAgB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAiB9E;AAsJD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,gBAAqB,GAC1B,aAAa,CA8Ff;AA+CD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,aAAa,EAAE,EAC/B,IAAI,EAAE;IACJ,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B;sEACkE;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC9C;qEACiE;IACjE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC,GACA,aAAa,CA0Nf"}
|
package/dist/schema/ddl.js
CHANGED
|
@@ -70,6 +70,19 @@ export function sqlType(fieldType) {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
const BASE_COLUMNS = new Set(['id']);
|
|
73
|
+
function subjectPredicate(model, rule) {
|
|
74
|
+
const meta = model.fields[rule.field];
|
|
75
|
+
if (!meta) {
|
|
76
|
+
throw new AbloValidationError(`subject field ${JSON.stringify(rule.field)} is not declared`, {
|
|
77
|
+
code: 'schema_definition_invalid',
|
|
78
|
+
param: 'subject.field',
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
const column = meta.column ?? camelToSnake(rule.field);
|
|
82
|
+
const prefix = `${rule.group}:`.replace(/'/g, "''");
|
|
83
|
+
return (`COALESCE(NULLIF(current_setting('app.current_subject_groups', true), ''), '[]')::jsonb ` +
|
|
84
|
+
`? ('${prefix}' || ${q(column)}::text)`);
|
|
85
|
+
}
|
|
73
86
|
// ── Foreign keys (relation-driven, sync-safe) ────────────────────────────────
|
|
74
87
|
/**
|
|
75
88
|
* A Postgres-identifier-safe constraint name ≤63 bytes. When the natural
|
|
@@ -250,7 +263,21 @@ export function generateProvisionPlan(schema, targetSchema, opts = {}) {
|
|
|
250
263
|
statements.push(`ALTER TABLE ${qt} ENABLE ROW LEVEL SECURITY;`);
|
|
251
264
|
statements.push(`ALTER TABLE ${qt} FORCE ROW LEVEL SECURITY;`);
|
|
252
265
|
const policy = `${table}_tenant_isolation`;
|
|
253
|
-
const
|
|
266
|
+
const predicates = [
|
|
267
|
+
`${q(orgCol)} = current_setting('app.current_org_id', true)`,
|
|
268
|
+
...(model.subject ? [subjectPredicate(model, model.subject)] : []),
|
|
269
|
+
];
|
|
270
|
+
const predicate = predicates.length === 1
|
|
271
|
+
? predicates[0]
|
|
272
|
+
: predicates.map((part) => `(${part})`).join(' AND ');
|
|
273
|
+
statements.push(`DROP POLICY IF EXISTS ${q(policy)} ON ${qt};`);
|
|
274
|
+
statements.push(`CREATE POLICY ${q(policy)} ON ${qt}\n USING (${predicate})\n WITH CHECK (${predicate});`);
|
|
275
|
+
}
|
|
276
|
+
else if (model.subject) {
|
|
277
|
+
statements.push(`ALTER TABLE ${qt} ENABLE ROW LEVEL SECURITY;`);
|
|
278
|
+
statements.push(`ALTER TABLE ${qt} FORCE ROW LEVEL SECURITY;`);
|
|
279
|
+
const policy = `${table}_subject_isolation`;
|
|
280
|
+
const predicate = subjectPredicate(model, model.subject);
|
|
254
281
|
statements.push(`DROP POLICY IF EXISTS ${q(policy)} ON ${qt};`);
|
|
255
282
|
statements.push(`CREATE POLICY ${q(policy)} ON ${qt}\n USING (${predicate})\n WITH CHECK (${predicate});`);
|
|
256
283
|
}
|
|
@@ -484,6 +511,46 @@ export function generateMigrationPlan(steps, opts) {
|
|
|
484
511
|
concurrent.push(...fk.concurrent);
|
|
485
512
|
}
|
|
486
513
|
}
|
|
514
|
+
// Subject authorization is metadata rather than a field diff. Reconcile when
|
|
515
|
+
// that metadata changes, or when the protected field's physical column
|
|
516
|
+
// changes. An identical empty migration must remain a true no-op.
|
|
517
|
+
for (const [key, model] of Object.entries(next.models)) {
|
|
518
|
+
if ((model.plane ?? 'tenant') === 'control')
|
|
519
|
+
continue;
|
|
520
|
+
const previousModel = prev?.models[key];
|
|
521
|
+
const subjectChanged = JSON.stringify(previousModel?.subject) !== JSON.stringify(model.subject);
|
|
522
|
+
const subjectColumnChanged = steps.some((step) => 'model' in step && step.model === key &&
|
|
523
|
+
step.kind === 'alter_field' &&
|
|
524
|
+
(step.field === model.subject?.field || step.field === previousModel?.subject?.field) &&
|
|
525
|
+
step.changes.column !== undefined);
|
|
526
|
+
if (!subjectChanged && !subjectColumnChanged)
|
|
527
|
+
continue;
|
|
528
|
+
const table = model.tableName ?? key;
|
|
529
|
+
const qt = qtFor(table);
|
|
530
|
+
const orgCol = tenancyColumn(resolveTenancy(model));
|
|
531
|
+
const tenantPolicy = `${table}_tenant_isolation`;
|
|
532
|
+
const subjectPolicy = `${table}_subject_isolation`;
|
|
533
|
+
if (orgCol || model.subject) {
|
|
534
|
+
statements.push(`ALTER TABLE ${qt} ENABLE ROW LEVEL SECURITY;`);
|
|
535
|
+
statements.push(`ALTER TABLE ${qt} FORCE ROW LEVEL SECURITY;`);
|
|
536
|
+
statements.push(`DROP POLICY IF EXISTS ${q(tenantPolicy)} ON ${qt};`);
|
|
537
|
+
statements.push(`DROP POLICY IF EXISTS ${q(subjectPolicy)} ON ${qt};`);
|
|
538
|
+
const parts = [
|
|
539
|
+
...(orgCol ? [`${q(orgCol)} = current_setting('app.current_org_id', true)`] : []),
|
|
540
|
+
...(model.subject ? [subjectPredicate(model, model.subject)] : []),
|
|
541
|
+
];
|
|
542
|
+
const predicate = parts.length === 1
|
|
543
|
+
? parts[0]
|
|
544
|
+
: parts.map((part) => `(${part})`).join(' AND ');
|
|
545
|
+
const policy = orgCol ? tenantPolicy : subjectPolicy;
|
|
546
|
+
statements.push(`CREATE POLICY ${q(policy)} ON ${qt}\n USING (${predicate})\n WITH CHECK (${predicate});`);
|
|
547
|
+
}
|
|
548
|
+
else if (previousModel?.subject) {
|
|
549
|
+
statements.push(`DROP POLICY IF EXISTS ${q(subjectPolicy)} ON ${qt};`);
|
|
550
|
+
statements.push(`ALTER TABLE ${qt} NO FORCE ROW LEVEL SECURITY;`);
|
|
551
|
+
statements.push(`ALTER TABLE ${qt} DISABLE ROW LEVEL SECURITY;`);
|
|
552
|
+
}
|
|
553
|
+
}
|
|
487
554
|
return { appSchema: targetSchema, statements, concurrent };
|
|
488
555
|
}
|
|
489
556
|
//# sourceMappingURL=ddl.js.map
|
package/dist/schema/ddl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ddl.js","sourceRoot":"","sources":["../../src/schema/ddl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ddl.js","sourceRoot":"","sources":["../../src/schema/ddl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAInD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAsC7D,gFAAgF;AAEhF,gFAAgF;AAChF,SAAS,IAAI,CAAC,GAAW;IACvB,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAChF,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;AAC/B,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,aAAa,CAAC,cAAsB;IAClD,OAAO,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,UAAkB;IAC7C,OAAO,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,UAAkB;IAC7C,OAAO,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAU,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,CAAC,CAAC,UAAkB;IAClC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AAC/C,CAAC;AAED,gFAAgF;AAEhF,MAAM,UAAU,OAAO,CAAC,SAA8C;IACpE,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB,KAAK,QAAQ;YACX,uEAAuE;YACvE,6CAA6C;YAC7C,OAAO,kBAAkB,CAAC;QAC5B,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,MAAM;YACT,OAAO,aAAa,CAAC;QACvB,KAAK,MAAM,CAAC;QACZ;YACE,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAErC,SAAS,gBAAgB,CAAC,KAAgB,EAAE,IAAiB;IAC3D,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,mBAAmB,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;YAC3F,IAAI,EAAE,2BAA2B;YACjC,KAAK,EAAE,eAAe;SACvB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpD,OAAO,CACL,yFAAyF;QACzF,OAAO,MAAM,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CACxC,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,KAAa,EAAE,GAAW,EAAE,MAAc;IAChE,MAAM,IAAI,GAAG,GAAG,KAAK,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;IACzC,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC,GAAG,IAAI,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAChF,OAAO,GAAG,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;AACvC,CAAC;AAaD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,SAAS,oBAAoB,CAC3B,KAAa,EACb,KAAgB,EAChB,MAA4B,EAC5B,EAAU;IAEV,MAAM,EAAE,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IAC/B,0EAA0E;IAC1E,qEAAqE;IACrE,MAAM,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,IAAI,MAAM;QAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QACjD,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;YAAE,SAAS,CAAC,qDAAqD;QAC7F,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,IAAI;YAAE,SAAS,CAAC,8DAA8D;QACtG,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW;YAAE,SAAS,CAAC,2DAA2D;QACvF,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,SAAS;YAAE,SAAS,CAAC,4CAA4C;QACzG,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,sCAAsC;QACvE,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC;QACxD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,2EAA2E;QAC3E,8EAA8E;QAC9E,8EAA8E;QAC9E,UAAU,CAAC,IAAI,CACb,eAAe;YACb,6DAA6D,GAAG,yDAAyD;YACzH,mBAAmB,EAAE,oBAAoB,CAAC,CAAC,KAAK,CAAC,KAAK;YACtD,aAAa;YACb,iEAAiE,GAAG,WAAW;YAC/E,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,IAAI;YAC3E,cAAc,QAAQ,KAAK,CAAC,CAAC,IAAI,CAAC,kEAAkE;YACpG,oBAAoB,CACvB,CAAC;QACF,6EAA6E;QAC7E,2EAA2E;QAC3E,yEAAyE;QACzE,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtE,UAAU,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACpC,CAAC;AAED,+EAA+E;AAE/E;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAkB,EAClB,YAAoB,EACpB,OAAyB,EAAE;IAE3B,MAAM,SAAS,GAAG,YAAY,CAAC;IAC/B,MAAM,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IACxB,MAAM,UAAU,GAAa,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;IAClG,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,qEAAqE;QACrE,qDAAqD;QACrD,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,SAAS;YAAE,SAAS;QACtD,4EAA4E;QAC5E,8EAA8E;QAC9E,4EAA4E;QAC5E,mCAAmC;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC;QACrC,MAAM,EAAE,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAE/B,0EAA0E;QAC1E,6EAA6E;QAC7E,4EAA4E;QAC5E,yEAAyE;QACzE,0EAA0E;QAC1E,oDAAoD;QACpD,kEAAkE;QAClE,4EAA4E;QAC5E,oEAAoE;QACpE,MAAM,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG;YAClB,KAAK,CAAC,CAAC,IAAI,CAAC,mBAAmB;YAC/B,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC;QACF,UAAU,CAAC,IAAI,CAAC,8BAA8B,EAAE,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEtF,KAAK,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,MAAM;gBAAE,SAAS;YACtD,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,6BAA6B,CAAC,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/F,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1E,MAAM,KAAK,GAAG,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC;gBACrC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpF,UAAU,CAAC,IAAI,CACb,eAAe;oBACb,iEAAiE,KAAK,WAAW;oBACjF,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,OAAO,OAAO;oBACvF,aAAa;oBACb,SAAS,CACZ,CAAC;YACJ,CAAC;QACH,CAAC;QAED,2EAA2E;QAC3E,qEAAqE;QACrE,IAAI,MAAM,EAAE,CAAC;YACX,UAAU,CAAC,IAAI,CACb,8BAA8B,CAAC,CAAC,GAAG,KAAK,IAAI,MAAM,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CACrF,CAAC;YACF,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,6BAA6B,CAAC,CAAC;YAChE,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,4BAA4B,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,GAAG,KAAK,mBAAmB,CAAC;YAC3C,MAAM,UAAU,GAAG;gBACjB,GAAG,CAAC,CAAC,MAAM,CAAC,gDAAgD;gBAC5D,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;YACF,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC;gBACvC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE;gBAChB,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxD,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAChE,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,SAAS,oBAAoB,SAAS,IAAI,CAAC,CAAC;QAC/G,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,6BAA6B,CAAC,CAAC;YAChE,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,4BAA4B,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,GAAG,KAAK,oBAAoB,CAAC;YAC5C,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YACzD,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAChE,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,SAAS,oBAAoB,SAAS,IAAI,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,uCAAuC;IACvC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,SAAS;gBAAE,SAAS;YAClD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC;YAC7B,MAAM,EAAE,GAAG,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACzD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;YAClC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AAC/C,CAAC;AAED,+EAA+E;AAE/E,SAAS,mBAAmB,CAAC,KAAa,EAAE,GAAW,EAAE,EAAU,EAAE,MAAyB;IAC5F,MAAM,KAAK,GAAG,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC;IACrC,MAAM,KAAK,GAAG,CAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,QAAQ,OAAO,KAAK,CAAC,CAAC;IAChG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,GAAW;IAC3C,OAAO,GAAG,KAAK,IAAI,GAAG,MAAM,CAAC;AAC/B,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB,EAAE,IAA2C;IAClF,OAAO,IAAI,EAAE,MAAM,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,KAA6B,EAAE,SAAoB;IACrE,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,QAAQ;YACX,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,mBAAmB,CAAC,4DAA4D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;YAC5J,CAAC;YACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAClC,KAAK,MAAM;YACT,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC;QAC/D,KAAK,MAAM;YACT,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC;QACjE,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM,CAAC;QACZ;YACE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;IACpD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,KAA+B,EAC/B,IAUC;IAED,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,GAAG,EAAE,EAAE,WAAW,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;IAC/E,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;IAC3B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,wEAAwE;IACxE,4EAA4E;IAC5E,0EAA0E;IAC1E,6EAA6E;IAC7E,sEAAsE;IACtE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAClD,UAAU,CAAC,IAAI,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IACrD,MAAM,YAAY,GAAG,CAAC,MAAyB,EAAE,GAAW,EAAiB,EAAE;QAC7E,MAAM,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,OAAO,CAAC,CAAC,SAAS,IAAI,GAAG,CAAC;IAC5B,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,KAAa,EAA6B,EAAE,CAC9E,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;IAEhE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,sEAAsE;gBACtE,kEAAkE;gBAClE,wDAAwD;gBACxD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpC,IAAI,CAAC,GAAG;oBAAE,MAAM;gBAChB,MAAM,GAAG,GAAe,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxG,KAAK,MAAM,CAAC,IAAI,qBAAqB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;oBACpE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;wBAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACzD,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,YAAY;gBACf,UAAU,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBAClE,MAAM;YAER,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC5C,qEAAqE;gBACrE,sEAAsE;gBACtE,IAAI,SAAS,IAAI,OAAO,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;oBAClD,UAAU,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC9E,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7C,IAAI,CAAC,KAAK;oBAAE,MAAM;gBAClB,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChD,wEAAwE;gBACxE,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,6BAA6B,CAAC,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;oBAC9D,UAAU,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAChF,CAAC;gBACD,uEAAuE;gBACvE,wEAAwE;gBACxE,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACpH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;wBAC1B,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACxB,UAAU,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClG,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7C,IAAI,CAAC,KAAK;oBAAE,MAAM;gBAClB,MAAM,QAAQ,GAAG,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC9D,UAAU,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC/G,MAAM;YACR,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7C,IAAI,CAAC,KAAK;oBAAE,MAAM;gBAClB,MAAM,QAAQ,GAAG,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC1D,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC9C,IAAI,OAAO,KAAK,KAAK;oBAAE,MAAM;gBAC7B,UAAU,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC3F,MAAM;YACR,CAAC;YAED,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7C,IAAI,CAAC,KAAK;oBAAE,MAAM;gBAClB,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC7D,IAAI,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;gBAExB,iEAAiE;gBACjE,gBAAgB;gBAChB,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;oBACd,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;oBAC/F,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrB,CAAC;gBAED,sDAAsD;gBACtD,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;oBACZ,MAAM,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACnC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;wBACnC,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,0BAA0B,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBACtE,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,6BAA6B,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;oBACrF,CAAC;yBAAM,CAAC;wBACN,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC;oBACzG,CAAC;gBACH,CAAC;gBAED,wEAAwE;gBACxE,sEAAsE;gBACtE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,IAAI,QAAQ,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC1D,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC/F,CAAC;qBAAM,IAAI,QAAQ,EAAE,IAAI,KAAK,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnE,UAAU,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;gBACrF,CAAC;gBAED,sEAAsE;gBACtE,wEAAwE;gBACxE,gEAAgE;gBAChE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBACnB,IAAI,EAAE,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;wBAC9B,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;oBAC7E,CAAC;yBAAM,CAAC;wBACN,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;wBAC/C,IAAI,EAAE,KAAK,SAAS,IAAI,QAAQ,EAAE,CAAC;4BACjC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBAClH,CAAC;wBACD,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;oBAC5E,CAAC;gBACH,CAAC;gBAED,YAAY;gBACZ,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;oBACf,UAAU,CAAC,IAAI,CACb,EAAE,CAAC,OAAO,CAAC,EAAE;wBACX,CAAC,CAAC,8BAA8B,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI;wBAChF,CAAC,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,CAC9D,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,gFAAgF;IAChF,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,+EAA+E;IAC/E,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,SAAS;gBAAE,SAAS;YACpD,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC;YACnC,MAAM,EAAE,GAAG,oBAAoB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC7D,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;YAClC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,uEAAuE;IACvE,kEAAkE;IAClE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,SAAS;YAAE,SAAS;QACtD,MAAM,aAAa,GAAG,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChG,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/C,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,GAAG;YACrC,IAAI,CAAC,IAAI,KAAK,aAAa;YAC3B,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC;YACrF,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAClC,CAAC;QACF,IAAI,CAAC,cAAc,IAAI,CAAC,oBAAoB;YAAE,SAAS;QACvD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,IAAI,GAAG,CAAC;QACrC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,GAAG,KAAK,mBAAmB,CAAC;QACjD,MAAM,aAAa,GAAG,GAAG,KAAK,oBAAoB,CAAC;QACnD,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAC5B,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,6BAA6B,CAAC,CAAC;YAChE,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,4BAA4B,CAAC,CAAC;YAC/D,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACtE,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACvE,MAAM,KAAK,GAAG;gBACZ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC;YACF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC;gBAClC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE;gBACX,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;YACrD,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,SAAS,oBAAoB,SAAS,IAAI,CAAC,CAAC;QAC/G,CAAC;aAAM,IAAI,aAAa,EAAE,OAAO,EAAE,CAAC;YAClC,UAAU,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACvE,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,+BAA+B,CAAC,CAAC;YAClE,UAAU,CAAC,IAAI,CAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AAC7D,CAAC"}
|
package/dist/schema/index.d.ts
CHANGED
|
@@ -31,8 +31,10 @@ export { syncDeltaActionSchema, wireDeltaDataSchema, participantRefSchema, syncD
|
|
|
31
31
|
export { model, scopeKindOf, LoadStrategy, DEFAULT_LOAD_STRATEGY, loadsAtBootstrap, type ModelDef, type ModelOptions, type PersistOptions, type RelationRecord, type GrantsRef, type ConflictAxis, } from './model.js';
|
|
32
32
|
export { coordination, humansOverwrite, humansReject, humansNotify, agentsOverwrite, agentsReject, agentsNotify, systemOverwrite, systemReject, systemNotify, type ConflictRule, } from './coordination.js';
|
|
33
33
|
export { mutable, readOnly, type SugarOptions } from './sugar.js';
|
|
34
|
-
export { defineSchema, composeIdentitySyncGroups, type Schema, type SchemaRecord, type Model, type Row, type InferCreate, type InferRow, type InferModelNames, type BaseModelFields, type InsertValue, type UpsertValue, type UpdateValue, type DeleteId, type DefineSchemaOptions, type Casing, type CasingConvention, type CasingFn, composeEntitySyncGroups, intersectRequestedWithAllowed, type IdentityRole, type IdentityContext, type IdentityRoleSource, type EntityRole, type EntityContext, type EntityRoleSource, type RoleSource, type RoleContext, type SyncGroup, type SyncGroupRef, type SyncGroupInput, identityRole, entityRole, extractIdentityIds, extractEntityIds, syncGroup, identityAnchor, IDENTITY_ANCHOR_KINDS, type IdentityAnchorKind, syncGroupSchema, syncGroupRefSchema, syncGroupInputSchema, isSyncGroupInput, identityRoleSchema, entityRoleSchema, roleSchema, roleSourceSchema, scopeSchema, grantsRefSchema, groupsInputSchema, type GroupsInput, type SessionSettings, type SessionSettingSource, RESERVED_SESSION_SETTINGS, } from './schema.js';
|
|
34
|
+
export { defineSchema, composeIdentitySyncGroups, type Schema, type SchemaRecord, type Model, type Row, type InferCreate, type InferRow, type InferModelNames, type BaseModelFields, type InsertValue, type UpsertValue, type UpdateValue, type Clearable, type DeleteId, type DefineSchemaOptions, type Casing, type CasingConvention, type CasingFn, composeEntitySyncGroups, syncGroupsForRow, InvalidRecordSubjectError, type RecordSyncGroupSpec, intersectRequestedWithAllowed, type IdentityRole, type IdentityContext, type IdentityRoleSource, type EntityRole, type EntityContext, type EntityRoleSource, type RoleSource, type RoleContext, type SyncGroup, type SyncGroupRef, type SyncGroupInput, identityRole, entityRole, extractIdentityIds, extractEntityIds, syncGroup, identityAnchor, IDENTITY_ANCHOR_KINDS, type IdentityAnchorKind, syncGroupSchema, syncGroupRefSchema, syncGroupInputSchema, isSyncGroupInput, identityRoleSchema, entityRoleSchema, roleSchema, roleSourceSchema, scopeSchema, grantsRefSchema, groupsInputSchema, type GroupsInput, type SessionSettings, type SessionSettingSource, RESERVED_SESSION_SETTINGS, } from './schema.js';
|
|
35
35
|
export { serializeSchema, parseSchema, toSchemaJSON, fromSchemaJSON, schemaHash, modelHash, type SchemaJSON, type ModelJSON, type RelationJSON, } from './serialize.js';
|
|
36
|
+
export { auditSchemaAccessPolicies, type SchemaAuditFinding, } from './audit.js';
|
|
37
|
+
export { subjectRuleSchema, subjectGroupForRow, subjectAuthorized, type SubjectRule, } from './subject.js';
|
|
36
38
|
export { selectModels, omitModels, omittedModelError } from './select.js';
|
|
37
39
|
export { generateProvisionPlan, generateMigrationPlan, appSchemaName, camelToSnake, snakeToCamel, q, sqlType, type ProvisionPlan, type MigrationPlan, } from './ddl.js';
|
|
38
40
|
export { PG_LOCK_NOT_AVAILABLE, resolveDdlLockTimeout, resolveDdlMaxLockAttempts, ddlLockRetryBackoffMs, type DdlLockEnv, } from './ddlLock.js';
|