@weave-kit/engine 1.0.0 → 1.2.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/CHANGELOG.md +38 -0
- package/README.md +210 -210
- package/dist/adapters/auth/index.d.ts +1 -1
- package/dist/adapters/auth/index.d.ts.map +1 -1
- package/dist/adapters/auth/index.js +1 -1
- package/dist/adapters/auth/index.js.map +1 -1
- package/dist/adapters/auth/subject.d.ts +6 -0
- package/dist/adapters/auth/subject.d.ts.map +1 -1
- package/dist/adapters/auth/subject.js +16 -1
- package/dist/adapters/auth/subject.js.map +1 -1
- package/dist/adapters/events/index.d.ts.map +1 -1
- package/dist/adapters/events/index.js +4 -2
- package/dist/adapters/events/index.js.map +1 -1
- package/dist/adapters/rest/audit.d.ts.map +1 -1
- package/dist/adapters/rest/audit.js +8 -7
- package/dist/adapters/rest/audit.js.map +1 -1
- package/dist/adapters/rest/capabilities.d.ts +23 -0
- package/dist/adapters/rest/capabilities.d.ts.map +1 -0
- package/dist/adapters/rest/capabilities.js +27 -0
- package/dist/adapters/rest/capabilities.js.map +1 -0
- package/dist/adapters/rest/common.d.ts +10 -1
- package/dist/adapters/rest/common.d.ts.map +1 -1
- package/dist/adapters/rest/common.js +4 -0
- package/dist/adapters/rest/common.js.map +1 -1
- package/dist/adapters/rest/identityAdmin.d.ts +6 -3
- package/dist/adapters/rest/identityAdmin.d.ts.map +1 -1
- package/dist/adapters/rest/identityAdmin.js +53 -9
- package/dist/adapters/rest/identityAdmin.js.map +1 -1
- package/dist/adapters/rest/identitySync.d.ts +23 -0
- package/dist/adapters/rest/identitySync.d.ts.map +1 -0
- package/dist/adapters/rest/identitySync.js +28 -0
- package/dist/adapters/rest/identitySync.js.map +1 -0
- package/dist/adapters/rest/index.d.ts +5 -0
- package/dist/adapters/rest/index.d.ts.map +1 -1
- package/dist/adapters/rest/index.js +2 -0
- package/dist/adapters/rest/index.js.map +1 -1
- package/dist/adapters/rest/plugin.d.ts +6 -0
- package/dist/adapters/rest/plugin.d.ts.map +1 -1
- package/dist/adapters/rest/plugin.js +9 -9
- package/dist/adapters/rest/plugin.js.map +1 -1
- package/dist/adapters/rest/workflow.js +9 -9
- package/dist/adapters/rest/workflow.js.map +1 -1
- package/dist/cli/commands/identity.d.ts +5 -1
- package/dist/cli/commands/identity.d.ts.map +1 -1
- package/dist/cli/commands/identity.js +29 -0
- package/dist/cli/commands/identity.js.map +1 -1
- package/dist/cli/commands/object-create.js +2 -2
- package/dist/cli/index.js +16 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/project-types/manifest.d.ts +2 -2
- package/dist/cli/project-types/manifest.d.ts.map +1 -1
- package/dist/cli/project-types/manifest.js +2 -2
- package/dist/cli/project-types/manifest.js.map +1 -1
- package/dist/cli/scaffold.d.ts.map +1 -1
- package/dist/cli/scaffold.js +2 -5
- package/dist/cli/scaffold.js.map +1 -1
- package/dist/cli/types/commands.d.ts +12 -0
- package/dist/cli/types/commands.d.ts.map +1 -1
- package/dist/cli/types/index.d.ts +1 -1
- package/dist/cli/types/index.d.ts.map +1 -1
- package/dist/cli/types/values.d.ts +2 -0
- package/dist/cli/types/values.d.ts.map +1 -1
- package/dist/cli/types/values.js +2 -0
- package/dist/cli/types/values.js.map +1 -1
- package/dist/core/audit/types.d.ts +4 -0
- package/dist/core/audit/types.d.ts.map +1 -1
- package/dist/core/audit/types.js.map +1 -1
- package/dist/core/limiter/index.d.ts +1 -1
- package/dist/core/limiter/index.d.ts.map +1 -1
- package/dist/core/limiter/index.js +1 -1
- package/dist/core/limiter/index.js.map +1 -1
- package/dist/core/limiter/quota.d.ts +6 -3
- package/dist/core/limiter/quota.d.ts.map +1 -1
- package/dist/core/limiter/quota.js +7 -4
- package/dist/core/limiter/quota.js.map +1 -1
- package/dist/core/object/display.d.ts +2 -2
- package/dist/core/object/display.js +2 -2
- package/dist/core/object/validate/field.d.ts.map +1 -1
- package/dist/core/object/validate/field.js +4 -2
- package/dist/core/object/validate/field.js.map +1 -1
- package/dist/core/provider/capabilities/index.d.ts +3 -0
- package/dist/core/provider/capabilities/index.d.ts.map +1 -0
- package/dist/core/provider/capabilities/index.js +2 -0
- package/dist/core/provider/capabilities/index.js.map +1 -0
- package/dist/core/provider/capabilities/types.d.ts +22 -0
- package/dist/core/provider/capabilities/types.d.ts.map +1 -0
- package/dist/core/provider/capabilities/types.js +3 -0
- package/dist/core/provider/capabilities/types.js.map +1 -0
- package/dist/core/provider/identity/directory.d.ts +23 -0
- package/dist/core/provider/identity/directory.d.ts.map +1 -1
- package/dist/core/provider/identity/index.d.ts +1 -1
- package/dist/core/provider/identity/index.d.ts.map +1 -1
- package/dist/core/provider/identity/index.js.map +1 -1
- package/dist/core/provider/identity/types.d.ts +6 -0
- package/dist/core/provider/identity/types.d.ts.map +1 -1
- package/dist/core/provider/index.d.ts +1 -0
- package/dist/core/provider/index.d.ts.map +1 -1
- package/dist/core/provider/index.js +1 -0
- package/dist/core/provider/index.js.map +1 -1
- package/dist/core/proxy/types.d.ts +2 -2
- package/dist/core/rbac/index.d.ts +1 -0
- package/dist/core/rbac/index.d.ts.map +1 -1
- package/dist/core/rbac/index.js +1 -0
- package/dist/core/rbac/index.js.map +1 -1
- package/dist/core/rbac/rls.d.ts.map +1 -1
- package/dist/core/rbac/rls.js +9 -3
- package/dist/core/rbac/rls.js.map +1 -1
- package/dist/core/rbac/rowScope.d.ts.map +1 -1
- package/dist/core/rbac/rowScope.js +19 -15
- package/dist/core/rbac/rowScope.js.map +1 -1
- package/dist/core/rbac/scopeMarker.d.ts +10 -0
- package/dist/core/rbac/scopeMarker.d.ts.map +1 -0
- package/dist/core/rbac/scopeMarker.js +25 -0
- package/dist/core/rbac/scopeMarker.js.map +1 -0
- package/dist/core/script/types.d.ts +2 -0
- package/dist/core/script/types.d.ts.map +1 -1
- package/dist/core/script/types.js.map +1 -1
- package/dist/core/types/field-type.d.ts +1 -1
- package/dist/core/types/field-type.d.ts.map +1 -1
- package/dist/core/types/fields.d.ts +2 -0
- package/dist/core/types/fields.d.ts.map +1 -1
- package/dist/core/types/principal.d.ts +3 -0
- package/dist/core/types/principal.d.ts.map +1 -1
- package/dist/core/types/principal.js +6 -0
- package/dist/core/types/principal.js.map +1 -1
- package/dist/core/types/registry.js +1 -1
- package/dist/core/types/values.d.ts +7 -1
- package/dist/core/types/values.d.ts.map +1 -1
- package/dist/core/types/values.js +7 -1
- package/dist/core/types/values.js.map +1 -1
- package/dist/layout-format.d.ts +4 -4
- package/dist/layout-format.d.ts.map +1 -1
- package/dist/layout-format.js +2 -2
- package/dist/runtime/data-access/formula.js +1 -1
- package/dist/runtime/data-access/index.d.ts +1 -1
- package/dist/runtime/data-access/index.d.ts.map +1 -1
- package/dist/runtime/data-access/index.js +1 -1
- package/dist/runtime/data-access/index.js.map +1 -1
- package/dist/runtime/data-access/query.d.ts.map +1 -1
- package/dist/runtime/data-access/query.js +13 -16
- package/dist/runtime/data-access/query.js.map +1 -1
- package/dist/runtime/data-access/rbac.js +3 -3
- package/dist/runtime/data-access/rbac.js.map +1 -1
- package/dist/runtime/data-access/sql-executor.d.ts +2 -1
- package/dist/runtime/data-access/sql-executor.d.ts.map +1 -1
- package/dist/runtime/data-access/sql-executor.js +7 -2
- package/dist/runtime/data-access/sql-executor.js.map +1 -1
- package/dist/runtime/data-access/types.d.ts +4 -0
- package/dist/runtime/data-access/types.d.ts.map +1 -1
- package/dist/runtime/data-access/types.js +5 -1
- package/dist/runtime/data-access/types.js.map +1 -1
- package/dist/runtime/data-access/workflow.js +27 -27
- package/dist/runtime/engine.d.ts +27 -0
- package/dist/runtime/engine.d.ts.map +1 -1
- package/dist/runtime/engine.js +19 -2
- package/dist/runtime/engine.js.map +1 -1
- package/dist/runtime/identity/admin.d.ts +13 -5
- package/dist/runtime/identity/admin.d.ts.map +1 -1
- package/dist/runtime/identity/admin.js +24 -4
- package/dist/runtime/identity/admin.js.map +1 -1
- package/dist/runtime/identity/store.d.ts +7 -1
- package/dist/runtime/identity/store.d.ts.map +1 -1
- package/dist/runtime/identity/store.js +57 -24
- package/dist/runtime/identity/store.js.map +1 -1
- package/dist/runtime/metadata/revision.js +2 -2
- package/dist/runtime/record-meta/store.js +2 -2
- package/dist/subsystems/audit/store.d.ts.map +1 -1
- package/dist/subsystems/audit/store.js +6 -4
- package/dist/subsystems/audit/store.js.map +1 -1
- package/dist/subsystems/script/backend/types.d.ts +1 -0
- package/dist/subsystems/script/backend/types.d.ts.map +1 -1
- package/dist/subsystems/script/bridge.d.ts.map +1 -1
- package/dist/subsystems/script/bridge.js +2 -1
- package/dist/subsystems/script/bridge.js.map +1 -1
- package/dist/subsystems/workflow/store.js +13 -13
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -5
- package/dist/cli/commands/workflow-migrate.d.ts +0 -11
- package/dist/cli/commands/workflow-migrate.d.ts.map +0 -1
- package/dist/cli/commands/workflow-migrate.js +0 -120
- package/dist/cli/commands/workflow-migrate.js.map +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { READ_SCOPES, ROW_SCOPE_MARKERS, SCOPE_SOURCES } from '../types/index.js';
|
|
2
2
|
import { SchemaError } from '../types/errors.js';
|
|
3
|
+
import { scopeFieldName } from './scopeMarker.js';
|
|
3
4
|
const q = (name) => `"${name}"`;
|
|
4
5
|
/** qualify a column when a table alias is in play (`p."owner_id"`), else bare */
|
|
5
6
|
const col = (alias, name) => alias === undefined ? q(name) : `${alias}.${q(name)}`;
|
|
@@ -16,10 +17,10 @@ function markerField(def, marker) {
|
|
|
16
17
|
}
|
|
17
18
|
/** record internal uuids of the department subtree rooted at `$1` (a subject's department) */
|
|
18
19
|
function departmentSubtreeSql() {
|
|
19
|
-
return `(WITH RECURSIVE sub AS (
|
|
20
|
-
SELECT id::text AS id FROM weavekit_department WHERE id::text = $1
|
|
21
|
-
UNION ALL
|
|
22
|
-
SELECT d.id::text FROM weavekit_department d JOIN sub s ON d.parent_id::text = s.id
|
|
20
|
+
return `(WITH RECURSIVE sub AS (
|
|
21
|
+
SELECT id::text AS id FROM weavekit_department WHERE id::text = $1
|
|
22
|
+
UNION ALL
|
|
23
|
+
SELECT d.id::text FROM weavekit_department d JOIN sub s ON d.parent_id::text = s.id
|
|
23
24
|
) SELECT id FROM sub)`;
|
|
24
25
|
}
|
|
25
26
|
/** own scope: the record's ownership column identifies the subject */
|
|
@@ -37,7 +38,7 @@ function ownFragment(ownership, alias) {
|
|
|
37
38
|
function departmentColumnFragment(dept, alias) {
|
|
38
39
|
if (dept.source === SCOPE_SOURCES.EXTERNAL) {
|
|
39
40
|
return {
|
|
40
|
-
sql: `(${col(alias, dept.name)} IN (SELECT external_id FROM weavekit_department WHERE id::text = $1)
|
|
41
|
+
sql: `(${col(alias, dept.name)} IN (SELECT external_id FROM weavekit_department WHERE id::text = $1)
|
|
41
42
|
OR ${col(alias, dept.name)} IN (SELECT external_id FROM weavekit_department WHERE id::text IN ${departmentSubtreeSql()}))`,
|
|
42
43
|
params: [],
|
|
43
44
|
};
|
|
@@ -50,7 +51,7 @@ function departmentByOwnerFragment(ownership, alias) {
|
|
|
50
51
|
? `u.external_id = ${col(alias, ownership.name)}`
|
|
51
52
|
: `u.id::text = ${col(alias, ownership.name)}`;
|
|
52
53
|
return {
|
|
53
|
-
sql: `EXISTS (SELECT 1 FROM weavekit_user u WHERE ${userMatch}
|
|
54
|
+
sql: `EXISTS (SELECT 1 FROM weavekit_user u WHERE ${userMatch}
|
|
54
55
|
AND (u.department_id::text = $1 OR u.department_id::text IN ${departmentSubtreeSql()}))`,
|
|
55
56
|
params: [],
|
|
56
57
|
};
|
|
@@ -70,18 +71,21 @@ function departmentByOwnerFragment(ownership, alias) {
|
|
|
70
71
|
*/
|
|
71
72
|
export function buildRowScope(def, scope, subject, roles, locale, alias) {
|
|
72
73
|
const base = baseRowScope(def, scope, subject, roles, locale, alias);
|
|
73
|
-
//
|
|
74
|
-
// subject or an object without a
|
|
75
|
-
|
|
76
|
-
|
|
74
|
+
// scope boundary applies on top of RBAC (even for `all`); a scope-less
|
|
75
|
+
// subject or an object without a scope column leaves the scope unchanged.
|
|
76
|
+
// The row-scope key is the generic `scope` marker (the `tenant` alias still
|
|
77
|
+
// works), valued by `subject.scopeId ?? subject.tenantId`.
|
|
78
|
+
const scopeField = scopeFieldName(def);
|
|
79
|
+
const scopeValue = subject.scopeId ?? subject.tenantId;
|
|
80
|
+
if (scopeField === undefined || scopeValue === undefined)
|
|
77
81
|
return base;
|
|
78
|
-
const
|
|
79
|
-
sql: `${col(alias,
|
|
80
|
-
params: [
|
|
82
|
+
const scopeFragment = {
|
|
83
|
+
sql: `${col(alias, scopeField)} = $${base === undefined ? 1 : 2}`,
|
|
84
|
+
params: [scopeValue],
|
|
81
85
|
};
|
|
82
86
|
if (base === undefined)
|
|
83
|
-
return
|
|
84
|
-
return { sql: `${base.sql} AND ${
|
|
87
|
+
return scopeFragment;
|
|
88
|
+
return { sql: `${base.sql} AND ${scopeFragment.sql}`, params: [...base.params, ...scopeFragment.params] };
|
|
85
89
|
}
|
|
86
90
|
function baseRowScope(def, scope, subject, roles, locale, alias) {
|
|
87
91
|
if (scope === undefined || scope === READ_SCOPES.ALL)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rowScope.js","sourceRoot":"","sources":["../../../src/core/rbac/rowScope.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElF,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"rowScope.js","sourceRoot":"","sources":["../../../src/core/rbac/rowScope.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ObjectDefinition } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* The object's row-scope field name, from the generic `scope` marker OR the
|
|
4
|
+
* retained `tenant` alias (they are the same mechanism). `undefined` = the
|
|
5
|
+
* object is not row-scoped.
|
|
6
|
+
*/
|
|
7
|
+
export declare function scopeFieldName(def: ObjectDefinition): string | undefined;
|
|
8
|
+
/** which marker an object uses for its row-scope column (for RLS GUC selection) */
|
|
9
|
+
export declare function scopeMarkerOf(def: ObjectDefinition): 'scope' | 'tenant' | undefined;
|
|
10
|
+
//# sourceMappingURL=scopeMarker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scopeMarker.d.ts","sourceRoot":"","sources":["../../../src/core/rbac/scopeMarker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAG1D;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAMxE;AAED,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAQnF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ROW_SCOPE_MARKERS } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* The object's row-scope field name, from the generic `scope` marker OR the
|
|
4
|
+
* retained `tenant` alias (they are the same mechanism). `undefined` = the
|
|
5
|
+
* object is not row-scoped.
|
|
6
|
+
*/
|
|
7
|
+
export function scopeFieldName(def) {
|
|
8
|
+
const field = def.fields.find((f) => {
|
|
9
|
+
const raw = f;
|
|
10
|
+
return raw[ROW_SCOPE_MARKERS.SCOPE] === true || raw[ROW_SCOPE_MARKERS.TENANT] === true;
|
|
11
|
+
});
|
|
12
|
+
return field?.name;
|
|
13
|
+
}
|
|
14
|
+
/** which marker an object uses for its row-scope column (for RLS GUC selection) */
|
|
15
|
+
export function scopeMarkerOf(def) {
|
|
16
|
+
const field = def.fields.find((f) => {
|
|
17
|
+
const raw = f;
|
|
18
|
+
return raw[ROW_SCOPE_MARKERS.SCOPE] === true || raw[ROW_SCOPE_MARKERS.TENANT] === true;
|
|
19
|
+
});
|
|
20
|
+
if (field === undefined)
|
|
21
|
+
return undefined;
|
|
22
|
+
const raw = field;
|
|
23
|
+
return raw[ROW_SCOPE_MARKERS.SCOPE] === true ? 'scope' : 'tenant';
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=scopeMarker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scopeMarker.js","sourceRoot":"","sources":["../../../src/core/rbac/scopeMarker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,GAAqB;IAClD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QAClC,MAAM,GAAG,GAAG,CAAuC,CAAC;QACpD,OAAO,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACzF,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,EAAE,IAAI,CAAC;AACrB,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,aAAa,CAAC,GAAqB;IACjD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QAClC,MAAM,GAAG,GAAG,CAAuC,CAAC;QACpD,OAAO,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACzF,CAAC,CAAC,CAAC;IACH,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,GAAG,GAAG,KAA2C,CAAC;IACxD,OAAO,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpE,CAAC"}
|
|
@@ -30,6 +30,8 @@ export interface ScriptUser {
|
|
|
30
30
|
departmentId?: string;
|
|
31
31
|
/** tenant of the subject (multi-tenancy) */
|
|
32
32
|
tenantId?: string;
|
|
33
|
+
/** generic row-scope of the subject (canonical; `scopeId ?? tenantId`) */
|
|
34
|
+
scopeId?: string;
|
|
33
35
|
}
|
|
34
36
|
/** filter/sort shapes are structurally compatible with the data-access layer */
|
|
35
37
|
export interface ScriptSort {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/script/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,8EAA8E;AAC9E,eAAO,MAAM,YAAY;;;;;;;;;;;;CAYf,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,OAAO,YAAY,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAExE,gDAAgD;AAChD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/script/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/script/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,cAAc;IAC7B,YAAY,EAAE,aAAa;IAC3B,aAAa,EAAE,cAAc;IAC7B,YAAY,EAAE,aAAa;IAC3B,iBAAiB,EAAE,kBAAkB;IACrC,gBAAgB,EAAE,iBAAiB;IACnC,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,WAAW;CACf,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/script/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,QAAQ;IACjB,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,cAAc;IAC7B,YAAY,EAAE,aAAa;IAC3B,aAAa,EAAE,cAAc;IAC7B,YAAY,EAAE,aAAa;IAC3B,iBAAiB,EAAE,kBAAkB;IACrC,gBAAgB,EAAE,iBAAiB;IACnC,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,WAAW;CACf,CAAC;AAwIX,6DAA6D;AAC7D,MAAM,CAAC,MAAM,sBAAsB,GAAqB;IACtD,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK;IAChB,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACxC,KAAK,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;CACtB,CAAC"}
|
|
@@ -76,7 +76,7 @@ export interface FieldTypeRegistration {
|
|
|
76
76
|
keyEligible?: boolean;
|
|
77
77
|
/** relation-like (carries `target`). Defaults from `base`. */
|
|
78
78
|
relationLike?: boolean;
|
|
79
|
-
/** frontend hints (consumed by
|
|
79
|
+
/** frontend hints (consumed by the frontend client) */
|
|
80
80
|
ui?: FieldTypeUiHints;
|
|
81
81
|
/** OpenAPI `format` keyword for string-based types (e.g. `email`, `uri`) */
|
|
82
82
|
openApiFormat?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-type.d.ts","sourceRoot":"","sources":["../../../src/core/types/field-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;;;;;;;;;;GAeG;AAEH,yFAAyF;AACzF,eAAO,MAAM,uBAAuB,kCAAkC,CAAC;AAEvE,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wEAAwE;AACxE,eAAO,MAAM,UAAU;;;;;;;CAOb,CAAC;AACX,MAAM,MAAM,QAAQ,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAElE,mEAAmE;AACnE,MAAM,WAAW,QAAQ;IACvB,sCAAsC;IACtC,IAAI,EAAE,QAAQ,CAAC;IACf,iCAAiC;IACjC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC;CAC5C;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,CAAC;AAEhG,6DAA6D;AAC7D,MAAM,WAAW,qBAAqB;IACpC,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,mGAAmG;IACnG,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;iFAC6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,
|
|
1
|
+
{"version":3,"file":"field-type.d.ts","sourceRoot":"","sources":["../../../src/core/types/field-type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;;;;;;;;;;GAeG;AAEH,yFAAyF;AACzF,eAAO,MAAM,uBAAuB,kCAAkC,CAAC;AAEvE,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wEAAwE;AACxE,eAAO,MAAM,UAAU;;;;;;;CAOb,CAAC;AACX,MAAM,MAAM,QAAQ,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAElE,mEAAmE;AACnE,MAAM,WAAW,QAAQ;IACvB,sCAAsC;IACtC,IAAI,EAAE,QAAQ,CAAC;IACf,iCAAiC;IACjC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,iEAAiE;IACjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC;CAC5C;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,CAAC;AAEhG,6DAA6D;AAC7D,MAAM,WAAW,qBAAqB;IACpC,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,mGAAmG;IACnG,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;iFAC6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uDAAuD;IACvD,EAAE,CAAC,EAAE,gBAAgB,CAAC;IACtB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2FAA2F;IAC3F,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,uEAAuE;IACvE,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B;;;;;OAKG;IACH,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE;AAED,+CAA+C;AAC/C,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC"}
|
|
@@ -47,6 +47,8 @@ export interface StringField extends FieldBase {
|
|
|
47
47
|
departmentSource?: ScopeSource;
|
|
48
48
|
/** tenant marker: every read/write is implicitly scoped to the subject's tenant (at most one per object) */
|
|
49
49
|
tenant?: boolean;
|
|
50
|
+
/** generic row-scope marker (canonical name; alias of `tenant`); at most one of `scope`/`tenant` per object */
|
|
51
|
+
scope?: boolean;
|
|
50
52
|
}
|
|
51
53
|
export interface TextField extends FieldBase {
|
|
52
54
|
type: typeof FIELD_TYPES.TEXT;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../src/core/types/fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,WAAW,EACX,aAAa,EACd,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE9F,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,IAAI,EAAE,gBAAgB,CAAC;IACvB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qFAAqF;IACrF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,IAAI,EAAE,OAAO,WAAW,CAAC,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sFAAsF;IACtF,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,wFAAwF;IACxF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,4GAA4G;IAC5G,MAAM,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../src/core/types/fields.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ export type AccessPrincipal = {
|
|
|
19
19
|
capability: SystemCapability;
|
|
20
20
|
reason?: string;
|
|
21
21
|
tenantId?: string;
|
|
22
|
+
scopeId?: string;
|
|
22
23
|
};
|
|
23
24
|
/** build a user principal */
|
|
24
25
|
export declare function userPrincipal(subject: IdentitySubject): AccessPrincipal;
|
|
@@ -28,6 +29,8 @@ export declare function systemPrincipal(capability: SystemCapability, reason?: s
|
|
|
28
29
|
export declare function principalSubject(principal: AccessPrincipal): IdentitySubject | undefined;
|
|
29
30
|
/** the tenant a principal acts within (user subject's tenant, or a system principal's) */
|
|
30
31
|
export declare function principalTenantId(principal: AccessPrincipal): string | undefined;
|
|
32
|
+
/** the row-scope a principal acts within (canonical; `scopeId ?? tenantId`) */
|
|
33
|
+
export declare function principalScopeId(principal: AccessPrincipal): string | undefined;
|
|
31
34
|
/** true for a system principal */
|
|
32
35
|
export declare function isSystemPrincipal(principal: AccessPrincipal): principal is Extract<AccessPrincipal, {
|
|
33
36
|
kind: 'system';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"principal.d.ts","sourceRoot":"","sources":["../../../src/core/types/principal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,OAAO,mBAAmB,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAE5F,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,gBAAgB,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"principal.d.ts","sourceRoot":"","sources":["../../../src/core/types/principal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC;AACX,MAAM,MAAM,gBAAgB,GAAG,OAAO,mBAAmB,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAE5F,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,eAAe,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,UAAU,EAAE,gBAAgB,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3G,6BAA6B;AAC7B,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CAEvE;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,UAAU,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,CAOjH;AAED,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,eAAe,GAAG,eAAe,GAAG,SAAS,CAExF;AAED,0FAA0F;AAC1F,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAEhF;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAI/E;AAED,kCAAkC;AAClC,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,eAAe,GACzB,SAAS,IAAI,OAAO,CAAC,eAAe,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAE3D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,CAEnE"}
|
|
@@ -30,6 +30,12 @@ export function principalSubject(principal) {
|
|
|
30
30
|
export function principalTenantId(principal) {
|
|
31
31
|
return principal.kind === 'user' ? principal.subject.tenantId : principal.tenantId;
|
|
32
32
|
}
|
|
33
|
+
/** the row-scope a principal acts within (canonical; `scopeId ?? tenantId`) */
|
|
34
|
+
export function principalScopeId(principal) {
|
|
35
|
+
return principal.kind === 'user'
|
|
36
|
+
? (principal.subject.scopeId ?? principal.subject.tenantId)
|
|
37
|
+
: (principal.scopeId ?? principal.tenantId);
|
|
38
|
+
}
|
|
33
39
|
/** true for a system principal */
|
|
34
40
|
export function isSystemPrincipal(principal) {
|
|
35
41
|
return principal.kind === 'system';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"principal.js","sourceRoot":"","sources":["../../../src/core/types/principal.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;CACxB,CAAC;AAOX,6BAA6B;AAC7B,MAAM,UAAU,aAAa,CAAC,OAAwB;IACpD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,eAAe,CAAC,UAA4B,EAAE,MAAe,EAAE,QAAiB;IAC9F,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU;QACV,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,gBAAgB,CAAC,SAA0B;IACzD,OAAO,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACnE,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,iBAAiB,CAAC,SAA0B;IAC1D,OAAO,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;AACrF,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,iBAAiB,CAC/B,SAA0B;IAE1B,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAA0B;IACzD,OAAO,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrE,CAAC"}
|
|
1
|
+
{"version":3,"file":"principal.js","sourceRoot":"","sources":["../../../src/core/types/principal.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;CACxB,CAAC;AAOX,6BAA6B;AAC7B,MAAM,UAAU,aAAa,CAAC,OAAwB;IACpD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,eAAe,CAAC,UAA4B,EAAE,MAAe,EAAE,QAAiB;IAC9F,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU;QACV,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,gBAAgB,CAAC,SAA0B;IACzD,OAAO,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACnE,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,iBAAiB,CAAC,SAA0B;IAC1D,OAAO,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;AACrF,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB,CAAC,SAA0B;IACzD,OAAO,SAAS,CAAC,IAAI,KAAK,MAAM;QAC9B,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3D,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,iBAAiB,CAC/B,SAA0B;IAE1B,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAA0B;IACzD,OAAO,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AACrE,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { FIELD_TYPES, PG_FIELD_TYPES } from './values.js';
|
|
|
3
3
|
* Field-type registry — the single source for the engine's field-type
|
|
4
4
|
* descriptors. PG-native types carry `base: undefined`; custom types may carry a
|
|
5
5
|
* `base` they fully inherit (storage/describe/gen-types/MCP behaviour) plus a
|
|
6
|
-
* small `ui` hints block consumed by
|
|
6
|
+
* small `ui` hints block consumed by the frontend client. Schema-level gating lives
|
|
7
7
|
* in the config `features.fieldTypes` whitelist (see validate.ts), NOT here.
|
|
8
8
|
*
|
|
9
9
|
* The same registration shape carries user/plugin types (`buildFieldTypeRegistry`),
|
|
@@ -116,12 +116,18 @@ export declare const READ_SCOPES: {
|
|
|
116
116
|
readonly ALL: "all";
|
|
117
117
|
};
|
|
118
118
|
export type ReadScope = typeof READ_SCOPES[keyof typeof READ_SCOPES];
|
|
119
|
-
/** field markers that declare row-level scope columns (ownership/department/tenant) */
|
|
119
|
+
/** field markers that declare row-level scope columns (ownership/department/tenant/scope) */
|
|
120
120
|
export declare const ROW_SCOPE_MARKERS: {
|
|
121
121
|
readonly OWNERSHIP: "ownership";
|
|
122
122
|
readonly DEPARTMENT: "department";
|
|
123
123
|
/** tenant column: every read/write is implicitly scoped to the subject's tenant */
|
|
124
124
|
readonly TENANT: "tenant";
|
|
125
|
+
/**
|
|
126
|
+
* generic row-scope column: same semantics as `tenant` (a single column scopes
|
|
127
|
+
* every read/write to the subject's scope value). `scope` is the canonical
|
|
128
|
+
* name; `tenant` is the retained alias. An object may declare at most one.
|
|
129
|
+
*/
|
|
130
|
+
readonly SCOPE: "scope";
|
|
125
131
|
};
|
|
126
132
|
export type RowScopeMarker = typeof ROW_SCOPE_MARKERS[keyof typeof ROW_SCOPE_MARKERS];
|
|
127
133
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../src/core/types/values.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;CAoBjB,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;CAc7B,CAAC;AAEX,wEAAwE;AACxE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGd,CAAC;AACX,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAC5E;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEzD,kFAAkF;AAClF,eAAO,MAAM,qBAAqB;;;CAGxB,CAAC;AACX,MAAM,MAAM,kBAAkB,GAAG,OAAO,qBAAqB,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AAElG,kEAAkE;AAClE,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,OAAO,iBAAiB,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAEtF,2CAA2C;AAC3C,eAAO,MAAM,WAAW;;;;CAId,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAErE,
|
|
1
|
+
{"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../src/core/types/values.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;CAoBjB,CAAC;AAEX;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;CAc7B,CAAC;AAEX,wEAAwE;AACxE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGd,CAAC;AACX,8DAA8D;AAC9D,MAAM,MAAM,gBAAgB,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAC5E;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEzD,kFAAkF;AAClF,eAAO,MAAM,qBAAqB;;;CAGxB,CAAC;AACX,MAAM,MAAM,kBAAkB,GAAG,OAAO,qBAAqB,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAC;AAElG,kEAAkE;AAClE,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,OAAO,iBAAiB,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAEtF,2CAA2C;AAC3C,eAAO,MAAM,WAAW;;;;CAId,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAErE,6FAA6F;AAC7F,eAAO,MAAM,iBAAiB;;;IAG5B,mFAAmF;;IAEnF;;;;OAIG;;CAEK,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,OAAO,iBAAiB,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAEtF;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE3E,mFAAmF;AACnF,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAElD,0BAA0B;AAC1B,eAAO,MAAM,WAAW;;;;CAId,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAErE,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB;;CAEnB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,OAAO,gBAAgB,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAEpF,sCAAsC;AACtC,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEjF,6DAA6D;AAC7D,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEjF,iEAAiE;AACjE,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEjF;;;;GAIG;AACH,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,OAAO,YAAY,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAEzE,0DAA0D;AAC1D,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -75,12 +75,18 @@ export const READ_SCOPES = {
|
|
|
75
75
|
DEPARTMENT: 'department',
|
|
76
76
|
ALL: 'all',
|
|
77
77
|
};
|
|
78
|
-
/** field markers that declare row-level scope columns (ownership/department/tenant) */
|
|
78
|
+
/** field markers that declare row-level scope columns (ownership/department/tenant/scope) */
|
|
79
79
|
export const ROW_SCOPE_MARKERS = {
|
|
80
80
|
OWNERSHIP: 'ownership',
|
|
81
81
|
DEPARTMENT: 'department',
|
|
82
82
|
/** tenant column: every read/write is implicitly scoped to the subject's tenant */
|
|
83
83
|
TENANT: 'tenant',
|
|
84
|
+
/**
|
|
85
|
+
* generic row-scope column: same semantics as `tenant` (a single column scopes
|
|
86
|
+
* every read/write to the subject's scope value). `scope` is the canonical
|
|
87
|
+
* name; `tenant` is the retained alias. An object may declare at most one.
|
|
88
|
+
*/
|
|
89
|
+
SCOPE: 'scope',
|
|
84
90
|
};
|
|
85
91
|
/**
|
|
86
92
|
* where a scope column's values come from:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"values.js","sourceRoot":"","sources":["../../../src/core/types/values.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACN,CAAC;AAEX;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,cAAc,EAAE,eAAe;IAC/B,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,WAAW;IACvB,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,YAAY;CAChB,CAAC;AAEX,wEAAwE;AACxE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,cAAc;IACjB,GAAG,0BAA0B;CACrB,CAAC;AAUX,kFAAkF;AAClF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,eAAe;IACrB,UAAU,EAAE,qBAAqB;CACzB,CAAC;AAGX,kEAAkE;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAGX,2CAA2C;AAC3C,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,EAAE,KAAK;IACV,UAAU,EAAE,YAAY;IACxB,GAAG,EAAE,KAAK;CACF,CAAC;AAGX,
|
|
1
|
+
{"version":3,"file":"values.js","sourceRoot":"","sources":["../../../src/core/types/values.ts"],"names":[],"mappings":"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"}
|
package/dist/layout-format.d.ts
CHANGED
|
@@ -7,8 +7,8 @@ export { resolveLabel } from './core/object/display.js';
|
|
|
7
7
|
* — e.g. `pages/app.layout.json` — while object pages live in per-object dirs
|
|
8
8
|
* `pages/<object>/<view>.layout.json` mirroring `objects/<name>/`) — engine-owned
|
|
9
9
|
* single source. Pure types + pure functions,
|
|
10
|
-
* zero runtime imports (
|
|
11
|
-
*
|
|
10
|
+
* zero runtime imports. **FROZEN (2026-10): the `./layout` subpath export was
|
|
11
|
+
* removed and no renderer consumes this.** Field entries are
|
|
12
12
|
* reference-only: `{ui_id, object, field}` point at schema fields; every
|
|
13
13
|
* attribute comes from `schema.json`. Naming: content blocks (field/tabs/
|
|
14
14
|
* accordion/grid/section/subtable/list/blocks) vs shell blocks (sidebar/outlet/
|
|
@@ -147,7 +147,7 @@ export interface LayoutBlock {
|
|
|
147
147
|
}
|
|
148
148
|
/**
|
|
149
149
|
* Sidebar nav **data** as stored in layout.json — no active flags (that is a UI
|
|
150
|
-
* render concern;
|
|
150
|
+
* render concern; the frontend's `NavItem` is a superset with optional
|
|
151
151
|
* `icon`/`active`, so these items are directly assignable to it). `icon` is a
|
|
152
152
|
* **name string** resolved to a component by the UI layer (the engine stays
|
|
153
153
|
* headless — it never imports icon components).
|
|
@@ -155,7 +155,7 @@ export interface LayoutBlock {
|
|
|
155
155
|
*/
|
|
156
156
|
export interface SidebarItem {
|
|
157
157
|
label: string;
|
|
158
|
-
/** icon name (lucide-style), resolved to a component by
|
|
158
|
+
/** icon name (lucide-style), resolved to a component by the frontend */
|
|
159
159
|
icon?: string;
|
|
160
160
|
/** built-in route / legacy config / external link */
|
|
161
161
|
href?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout-format.d.ts","sourceRoot":"","sources":["../src/layout-format.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"layout-format.d.ts","sourceRoot":"","sources":["../src/layout-format.ts"],"names":[],"mappings":"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"}
|
package/dist/layout-format.js
CHANGED
|
@@ -5,8 +5,8 @@ export { resolveLabel } from './core/object/display.js';
|
|
|
5
5
|
* — e.g. `pages/app.layout.json` — while object pages live in per-object dirs
|
|
6
6
|
* `pages/<object>/<view>.layout.json` mirroring `objects/<name>/`) — engine-owned
|
|
7
7
|
* single source. Pure types + pure functions,
|
|
8
|
-
* zero runtime imports (
|
|
9
|
-
*
|
|
8
|
+
* zero runtime imports. **FROZEN (2026-10): the `./layout` subpath export was
|
|
9
|
+
* removed and no renderer consumes this.** Field entries are
|
|
10
10
|
* reference-only: `{ui_id, object, field}` point at schema fields; every
|
|
11
11
|
* attribute comes from `schema.json`. Naming: content blocks (field/tabs/
|
|
12
12
|
* accordion/grid/section/subtable/list/blocks) vs shell blocks (sidebar/outlet/
|
|
@@ -89,7 +89,7 @@ async function resolveAggregateValue(object, parent, name, record, db, registry,
|
|
|
89
89
|
scope = buildRowScopeFor(registry, child, p.read, auth.subject, auth.roles, auth.locale);
|
|
90
90
|
}
|
|
91
91
|
const table = child.name;
|
|
92
|
-
let sql = `SELECT ${name === null ? '1' : q(name)} AS v FROM ${q(table)}
|
|
92
|
+
let sql = `SELECT ${name === null ? '1' : q(name)} AS v FROM ${q(table)}
|
|
93
93
|
WHERE ${q(DETAILS_COLUMNS.PARENT_TYPE)} = $1 AND ${q(DETAILS_COLUMNS.PARENT_ID)} = $2`;
|
|
94
94
|
const params = [object.name, pkVal];
|
|
95
95
|
if (scope !== undefined) {
|
|
@@ -2,7 +2,7 @@ export { FILTER_OPS, SORT_DIRS, PAGINATION, WRITE_MODES } from "./values.js";
|
|
|
2
2
|
export type { FilterOp, SortDir, WriteMode } from "./values.js";
|
|
3
3
|
export type { Filter, FilterGroup, FilterValue, Sort, FindOptions, FindResult, DataAccessContext, ObjectDataAccess, Queryable, } from "./types.js";
|
|
4
4
|
export { buildWhere, buildOrderBy, buildColumns, resolvePagination, buildFindSql, buildCountSql, } from "./builder.js";
|
|
5
|
-
export { isSystemCtx, subjectOf, tenantOf } from "./types.js";
|
|
5
|
+
export { isSystemCtx, subjectOf, tenantOf, scopeOf } from "./types.js";
|
|
6
6
|
export { CURSOR_VERSION, decodeCursor, encodeCursor } from "./cursor.js";
|
|
7
7
|
export { QUERY_BUDGET_DEFAULTS, assertQueryBudget, countFilterConditions, resolveQueryBudget, } from "./query-budget.js";
|
|
8
8
|
export type { QueryBudget } from "./query-budget.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/data-access/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC7E,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAChE,YAAY,EACV,MAAM,EACN,WAAW,EACX,WAAW,EACX,IAAI,EACJ,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/data-access/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC7E,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAChE,YAAY,EACV,MAAM,EACN,WAAW,EACX,WAAW,EACX,IAAI,EACJ,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,YAAY,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EACL,SAAS,EACT,SAAS,EACT,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EACV,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { FILTER_OPS, SORT_DIRS, PAGINATION, WRITE_MODES } from "./values.js";
|
|
2
2
|
export { buildWhere, buildOrderBy, buildColumns, resolvePagination, buildFindSql, buildCountSql, } from "./builder.js";
|
|
3
|
-
export { isSystemCtx, subjectOf, tenantOf } from "./types.js";
|
|
3
|
+
export { isSystemCtx, subjectOf, tenantOf, scopeOf } from "./types.js";
|
|
4
4
|
export { CURSOR_VERSION, decodeCursor, encodeCursor } from "./cursor.js";
|
|
5
5
|
export { QUERY_BUDGET_DEFAULTS, assertQueryBudget, countFilterConditions, resolveQueryBudget, } from "./query-budget.js";
|
|
6
6
|
export { validateRecord } from "./validate.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/data-access/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAa7E,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/data-access/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAa7E,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EACL,SAAS,EACT,SAAS,EACT,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAKzD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/runtime/data-access/query.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyI,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE9L,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAA+D,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAyD,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC9N,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIhF,OAAO,EAQL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACtB,MAAM,eAAe,CAAC;AAGvB,OAAO,
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/runtime/data-access/query.ts"],"names":[],"mappings":"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"}
|