@weave-kit/engine 2.0.0 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -1
- package/README.md +3 -3
- package/dist/adapters/events/index.js +2 -2
- package/dist/adapters/events/index.js.map +1 -1
- package/dist/adapters/mcp/http.d.ts +7 -0
- package/dist/adapters/mcp/http.d.ts.map +1 -1
- package/dist/adapters/mcp/http.js +56 -20
- package/dist/adapters/mcp/http.js.map +1 -1
- package/dist/adapters/mcp/index.d.ts +6 -0
- package/dist/adapters/mcp/index.d.ts.map +1 -1
- package/dist/adapters/mcp/index.js +1 -0
- package/dist/adapters/mcp/index.js.map +1 -1
- package/dist/adapters/rest/audit.js +2 -2
- package/dist/adapters/rest/audit.js.map +1 -1
- package/dist/cli/commands/deploy.js +1 -1
- package/dist/cli/commands/deploy.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +7 -4
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/core/i18n/ar.js +1 -1
- package/dist/core/i18n/ar.js.map +1 -1
- package/dist/core/i18n/de.js +1 -1
- package/dist/core/i18n/de.js.map +1 -1
- package/dist/core/i18n/es.js +1 -1
- package/dist/core/i18n/es.js.map +1 -1
- package/dist/core/i18n/fr.js +1 -1
- package/dist/core/i18n/fr.js.map +1 -1
- package/dist/core/i18n/hi.js +1 -1
- package/dist/core/i18n/hi.js.map +1 -1
- package/dist/core/i18n/id.js +1 -1
- package/dist/core/i18n/ja.js +1 -1
- package/dist/core/i18n/ko.js +1 -1
- package/dist/core/i18n/ko.js.map +1 -1
- package/dist/core/i18n/pt.js +1 -1
- package/dist/core/i18n/pt.js.map +1 -1
- package/dist/core/i18n/ru.js +1 -1
- package/dist/core/i18n/ru.js.map +1 -1
- package/dist/core/i18n/vi.js +1 -1
- package/dist/core/i18n/vi.js.map +1 -1
- package/dist/core/i18n/zh-hant.js +1 -1
- package/dist/core/i18n/zh.js +1 -1
- package/dist/core/i18n/zh.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 +1 -3
- package/dist/core/limiter/quota.d.ts.map +1 -1
- package/dist/core/limiter/quota.js +1 -3
- package/dist/core/limiter/quota.js.map +1 -1
- package/dist/core/rbac/rls.d.ts +1 -1
- package/dist/core/rbac/rls.d.ts.map +1 -1
- package/dist/core/rbac/rls.js +5 -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 +2 -3
- package/dist/core/rbac/rowScope.js.map +1 -1
- package/dist/core/storage/pool.d.ts +13 -4
- package/dist/core/storage/pool.d.ts.map +1 -1
- package/dist/core/storage/pool.js +27 -5
- package/dist/core/storage/pool.js.map +1 -1
- package/dist/core/storage/schema-scope.d.ts +7 -4
- package/dist/core/storage/schema-scope.d.ts.map +1 -1
- package/dist/core/storage/schema-scope.js +7 -4
- package/dist/core/storage/schema-scope.js.map +1 -1
- package/dist/experimental.d.ts +1 -0
- package/dist/experimental.d.ts.map +1 -1
- package/dist/experimental.js +1 -0
- package/dist/experimental.js.map +1 -1
- package/dist/runtime/config-types.d.ts +434 -0
- package/dist/runtime/config-types.d.ts.map +1 -0
- package/dist/runtime/config-types.js +2 -0
- package/dist/runtime/config-types.js.map +1 -0
- package/dist/runtime/data-access/query-helpers.d.ts +74 -0
- package/dist/runtime/data-access/query-helpers.d.ts.map +1 -0
- package/dist/runtime/data-access/query-helpers.js +238 -0
- package/dist/runtime/data-access/query-helpers.js.map +1 -0
- package/dist/runtime/data-access/query.d.ts.map +1 -1
- package/dist/runtime/data-access/query.js +4 -232
- package/dist/runtime/data-access/query.js.map +1 -1
- package/dist/runtime/engine.d.ts +4 -452
- package/dist/runtime/engine.d.ts.map +1 -1
- package/dist/runtime/engine.js +22 -195
- package/dist/runtime/engine.js.map +1 -1
- package/dist/runtime/guards.d.ts +31 -0
- package/dist/runtime/guards.d.ts.map +1 -0
- package/dist/runtime/guards.js +70 -0
- package/dist/runtime/guards.js.map +1 -0
- package/dist/runtime/register-http-routes.d.ts +40 -0
- package/dist/runtime/register-http-routes.d.ts.map +1 -0
- package/dist/runtime/register-http-routes.js +138 -0
- package/dist/runtime/register-http-routes.js.map +1 -0
- package/dist/subsystems/audit/store.js +3 -3
- package/dist/subsystems/audit/store.js.map +1 -1
- package/dist/subsystems/script/bridge.d.ts.map +1 -1
- package/dist/subsystems/script/bridge.js +1 -2
- package/dist/subsystems/script/bridge.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/core/rbac/rls.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export declare function policyName(def: ObjectDefinition): string;
|
|
|
4
4
|
/**
|
|
5
5
|
* The read-policy predicate for one object, or `undefined` when no declared role
|
|
6
6
|
* can read (default deny — no policy is created, RLS denies everything). When the
|
|
7
|
-
* object declares a
|
|
7
|
+
* object declares a scope column, a scope predicate (`weavekit.scope_id` GUC)
|
|
8
8
|
* is AND'd on top — an unset GUC is NULL → fail-closed.
|
|
9
9
|
*/
|
|
10
10
|
export declare function buildRlsPolicy(def: ObjectDefinition): string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rls.d.ts","sourceRoot":"","sources":["../../../src/core/rbac/rls.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,mBAAmB,CAAC;AAKrE,OAAO,EAA0C,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"rls.d.ts","sourceRoot":"","sources":["../../../src/core/rbac/rls.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAa,MAAM,mBAAmB,CAAC;AAKrE,OAAO,EAA0C,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAiCzF,wBAAgB,UAAU,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAExD;AAUD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAQxE;AA4BD,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAQjE;AAED,8DAA8D;AAC9D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,oBAAoB,CAAC;AAEzD,qEAAqE;AACrE,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;IACrE,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA6ED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,gBAAgB,GAAG,eAAe,EAAE,CAYrG;AAkCD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGnD"}
|
package/dist/core/rbac/rls.js
CHANGED
|
@@ -6,8 +6,10 @@ import { buildRowScopeFor, resolvePermissionFor } from './details.js';
|
|
|
6
6
|
const q = (id) => `"${id}"`;
|
|
7
7
|
/**
|
|
8
8
|
* Row-level security policy generation for the script sandbox's restricted SQL
|
|
9
|
-
* (`this.db.query`). The engine's own data access runs as the table
|
|
10
|
-
* bypasses RLS (no `FORCE`), so row scoping stays in the application
|
|
9
|
+
* (`this.db.query`). The engine's own data access normally runs as the table
|
|
10
|
+
* owner, which bypasses RLS (no `FORCE`), so row scoping stays in the application
|
|
11
|
+
* layer there — **except** under `EngineConfig.rls.enforce`, where the engine's
|
|
12
|
+
* customer-table access runs under the object role (see object-path RLS below).
|
|
11
13
|
* `db.query` switches to a dedicated non-owner role (`SET LOCAL ROLE`) that IS
|
|
12
14
|
* subject to RLS, and the subject is carried in session GUCs:
|
|
13
15
|
*
|
|
@@ -40,7 +42,7 @@ function markerField(def, marker) {
|
|
|
40
42
|
/**
|
|
41
43
|
* The read-policy predicate for one object, or `undefined` when no declared role
|
|
42
44
|
* can read (default deny — no policy is created, RLS denies everything). When the
|
|
43
|
-
* object declares a
|
|
45
|
+
* object declares a scope column, a scope predicate (`weavekit.scope_id` GUC)
|
|
44
46
|
* is AND'd on top — an unset GUC is NULL → fail-closed.
|
|
45
47
|
*/
|
|
46
48
|
export function buildRlsPolicy(def) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rls.js","sourceRoot":"","sources":["../../../src/core/rbac/rls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAqB,MAAM,cAAc,CAAC;AAGzF,MAAM,CAAC,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;AAEpC
|
|
1
|
+
{"version":3,"file":"rls.js","sourceRoot":"","sources":["../../../src/core/rbac/rls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rowScope.d.ts","sourceRoot":"","sources":["../../../src/core/rbac/rowScope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAA+B,MAAM,mBAAmB,CAAC;AAElG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB;AAsED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,SAAS,GAAG,SAAS,EAC5B,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,gBAAgB,GAAG,SAAS,
|
|
1
|
+
{"version":3,"file":"rowScope.d.ts","sourceRoot":"","sources":["../../../src/core/rbac/rowScope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAA+B,MAAM,mBAAmB,CAAC;AAElG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB;AAsED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,SAAS,GAAG,SAAS,EAC5B,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,gBAAgB,GAAG,SAAS,CAc9B"}
|
|
@@ -73,10 +73,9 @@ export function buildRowScope(def, scope, subject, roles, locale, alias) {
|
|
|
73
73
|
const base = baseRowScope(def, scope, subject, roles, locale, alias);
|
|
74
74
|
// scope boundary applies on top of RBAC (even for `all`); a scope-less
|
|
75
75
|
// subject or an object without a scope column leaves the scope unchanged.
|
|
76
|
-
// The row-scope key is the
|
|
77
|
-
// works), valued by `subject.scopeId ?? subject.scopeId`.
|
|
76
|
+
// The row-scope key is the `scope` marker, valued by `subject.scopeId`.
|
|
78
77
|
const scopeField = scopeFieldName(def);
|
|
79
|
-
const scopeValue = subject.scopeId
|
|
78
|
+
const scopeValue = subject.scopeId;
|
|
80
79
|
if (scopeField === undefined || scopeValue === undefined)
|
|
81
80
|
return base;
|
|
82
81
|
const scopeFragment = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rowScope.js","sourceRoot":"","sources":["../../../src/core/rbac/rowScope.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rowScope.js","sourceRoot":"","sources":["../../../src/core/rbac/rowScope.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,19 @@ import pg from 'pg';
|
|
|
2
2
|
/** create a pg connection pool from a DATABASE_URL connection string */
|
|
3
3
|
export declare function createPool(databaseUrl: string, options?: pg.PoolConfig): pg.Pool;
|
|
4
4
|
/**
|
|
5
|
-
* Pool config that
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
5
|
+
* Pool config that makes the engine's own tables resolvable when `systemSchema`
|
|
6
|
+
* is set, **without disturbing the connection's existing `search_path`**.
|
|
7
|
+
*
|
|
8
|
+
* The runtime references its `weavekit_*` / record-meta / link tables unqualified
|
|
9
|
+
* (only `migrate` DDL uses explicit qualification), so they must be on the search
|
|
10
|
+
* path. Replacing the path via `options` would drop the object schema — which may
|
|
11
|
+
* come from the URL `options`, the role default or `PGOPTIONS` (and a later
|
|
12
|
+
* `-c search_path` wins anyway, so appending inside `options` does not work).
|
|
13
|
+
*
|
|
14
|
+
* Instead we **append** the system schema to whatever path is already in effect,
|
|
15
|
+
* per physical connection. `pg-pool` awaits `onConnect` before handing the client
|
|
16
|
+
* out, so the setting is present for every query; a failure rejects acquisition
|
|
17
|
+
* (fail-closed). `undefined` → the plain pool.
|
|
9
18
|
*/
|
|
10
19
|
export declare function searchPathOptions(systemSchema?: string): pg.PoolConfig;
|
|
11
20
|
//# sourceMappingURL=pool.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/core/storage/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/core/storage/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAIpB,wEAAwE;AACxE,wBAAgB,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,GAAE,EAAE,CAAC,UAAe,GAAG,EAAE,CAAC,IAAI,CAEpF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,UAAU,CAYtE"}
|
|
@@ -1,15 +1,37 @@
|
|
|
1
1
|
import pg from 'pg';
|
|
2
|
+
import { assertSchemaName } from './schema-scope.js';
|
|
3
|
+
import { sqlIdent } from './sql-literals.js';
|
|
2
4
|
/** create a pg connection pool from a DATABASE_URL connection string */
|
|
3
5
|
export function createPool(databaseUrl, options = {}) {
|
|
4
6
|
return new pg.Pool({ connectionString: databaseUrl, ...options });
|
|
5
7
|
}
|
|
6
8
|
/**
|
|
7
|
-
* Pool config that
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* Pool config that makes the engine's own tables resolvable when `systemSchema`
|
|
10
|
+
* is set, **without disturbing the connection's existing `search_path`**.
|
|
11
|
+
*
|
|
12
|
+
* The runtime references its `weavekit_*` / record-meta / link tables unqualified
|
|
13
|
+
* (only `migrate` DDL uses explicit qualification), so they must be on the search
|
|
14
|
+
* path. Replacing the path via `options` would drop the object schema — which may
|
|
15
|
+
* come from the URL `options`, the role default or `PGOPTIONS` (and a later
|
|
16
|
+
* `-c search_path` wins anyway, so appending inside `options` does not work).
|
|
17
|
+
*
|
|
18
|
+
* Instead we **append** the system schema to whatever path is already in effect,
|
|
19
|
+
* per physical connection. `pg-pool` awaits `onConnect` before handing the client
|
|
20
|
+
* out, so the setting is present for every query; a failure rejects acquisition
|
|
21
|
+
* (fail-closed). `undefined` → the plain pool.
|
|
11
22
|
*/
|
|
12
23
|
export function searchPathOptions(systemSchema) {
|
|
13
|
-
|
|
24
|
+
if (systemSchema === undefined)
|
|
25
|
+
return {};
|
|
26
|
+
assertSchemaName(systemSchema);
|
|
27
|
+
const schema = sqlIdent(systemSchema);
|
|
28
|
+
return {
|
|
29
|
+
onConnect: async (client) => {
|
|
30
|
+
const res = await client.query("SELECT current_setting('search_path') AS path");
|
|
31
|
+
const current = res.rows[0]?.path?.trim() ?? '';
|
|
32
|
+
const next = current === '' ? schema : `${current}, ${schema}`;
|
|
33
|
+
await client.query('SELECT set_config(\'search_path\', $1, false)', [next]);
|
|
34
|
+
},
|
|
35
|
+
};
|
|
14
36
|
}
|
|
15
37
|
//# sourceMappingURL=pool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/core/storage/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/core/storage/pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,wEAAwE;AACxE,MAAM,UAAU,UAAU,CAAC,WAAmB,EAAE,UAAyB,EAAE;IACzE,OAAO,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,iBAAiB,CAAC,YAAqB;IACrD,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1C,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACtC,OAAO;QACL,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC1B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAmB,+CAA+C,CAAC,CAAC;YAClG,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,MAAM,EAAE,CAAC;YAC/D,MAAM,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -7,10 +7,13 @@
|
|
|
7
7
|
* tables. `EngineConfig.systemSchema` moves them into a dedicated schema so a
|
|
8
8
|
* DBA reviewing the customer schema does not see engine plumbing.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
* identifier for an engine table is qualified with the configured
|
|
12
|
-
*
|
|
13
|
-
*
|
|
10
|
+
* Migration DDL and the metadata cache use **explicit qualification**: every
|
|
11
|
+
* emitted identifier for an engine table is qualified with the configured
|
|
12
|
+
* schema. The runtime data-access path instead references engine tables
|
|
13
|
+
* unqualified and resolves them via `search_path` — `searchPathOptions` appends
|
|
14
|
+
* the system schema to the effective path (see `pool.ts`). Identifiers left
|
|
15
|
+
* unqualified (customer + identity object tables) resolve to the object schema.
|
|
16
|
+
* `undefined` reproduces the legacy behaviour exactly.
|
|
14
17
|
*/
|
|
15
18
|
/** the schema that holds engine-owned tables; `undefined` = connection default */
|
|
16
19
|
export interface SchemaScope {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-scope.d.ts","sourceRoot":"","sources":["../../../src/core/storage/schema-scope.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema-scope.d.ts","sourceRoot":"","sources":["../../../src/core/storage/schema-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,kFAAkF;AAClF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,EAAE,WAAgB,CAAC;AAEpD,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAInD;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW,CAIpE;AAED,wDAAwD;AACxD,wBAAgB,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAErD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,MAAM,CAGtE"}
|
|
@@ -7,10 +7,13 @@
|
|
|
7
7
|
* tables. `EngineConfig.systemSchema` moves them into a dedicated schema so a
|
|
8
8
|
* DBA reviewing the customer schema does not see engine plumbing.
|
|
9
9
|
*
|
|
10
|
-
*
|
|
11
|
-
* identifier for an engine table is qualified with the configured
|
|
12
|
-
*
|
|
13
|
-
*
|
|
10
|
+
* Migration DDL and the metadata cache use **explicit qualification**: every
|
|
11
|
+
* emitted identifier for an engine table is qualified with the configured
|
|
12
|
+
* schema. The runtime data-access path instead references engine tables
|
|
13
|
+
* unqualified and resolves them via `search_path` — `searchPathOptions` appends
|
|
14
|
+
* the system schema to the effective path (see `pool.ts`). Identifiers left
|
|
15
|
+
* unqualified (customer + identity object tables) resolve to the object schema.
|
|
16
|
+
* `undefined` reproduces the legacy behaviour exactly.
|
|
14
17
|
*/
|
|
15
18
|
/** a validated lowercase PostgreSQL identifier */
|
|
16
19
|
const IDENTIFIER = /^[a-z_][a-z0-9_]*$/;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-scope.js","sourceRoot":"","sources":["../../../src/core/storage/schema-scope.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"schema-scope.js","sourceRoot":"","sources":["../../../src/core/storage/schema-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,kDAAkD;AAClD,MAAM,UAAU,GAAG,oBAAoB,CAAC;AAOxC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAgB,EAAE,CAAC;AAEpD,gEAAgE;AAChE,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,qDAAqD,CAAC,CAAC;IACtG,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,iBAAiB,CAAC,YAAqB;IACrD,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,oBAAoB,CAAC;IAC5D,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC/B,OAAO,EAAE,YAAY,EAAE,CAAC;AAC1B,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,QAAQ,CAAC,KAAmB;IAC1C,OAAO,KAAK,EAAE,YAAY,KAAK,SAAS,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,KAAmB;IAC5D,MAAM,MAAM,GAAG,KAAK,EAAE,YAAY,CAAC;IACnC,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,MAAM,IAAI,GAAG,CAAC;AACtE,CAAC"}
|
package/dist/experimental.d.ts
CHANGED
|
@@ -11,4 +11,5 @@ export * from './runtime/metadata/index.js';
|
|
|
11
11
|
export * from './runtime/tunnel/index.js';
|
|
12
12
|
export * from './adapters/ops/index.js';
|
|
13
13
|
export * from './infrastructure/index.js';
|
|
14
|
+
export { buildDeploymentReport, type DeploymentReport, type DeploymentReportInput, } from './cli/commands/doctor.js';
|
|
14
15
|
//# sourceMappingURL=experimental.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experimental.d.ts","sourceRoot":"","sources":["../src/experimental.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"experimental.d.ts","sourceRoot":"","sources":["../src/experimental.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EACL,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,GAC3B,MAAM,0BAA0B,CAAC"}
|
package/dist/experimental.js
CHANGED
|
@@ -11,4 +11,5 @@ export * from './runtime/metadata/index.js';
|
|
|
11
11
|
export * from './runtime/tunnel/index.js';
|
|
12
12
|
export * from './adapters/ops/index.js';
|
|
13
13
|
export * from './infrastructure/index.js';
|
|
14
|
+
export { buildDeploymentReport, } from './cli/commands/doctor.js';
|
|
14
15
|
//# sourceMappingURL=experimental.js.map
|
package/dist/experimental.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experimental.js","sourceRoot":"","sources":["../src/experimental.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"experimental.js","sourceRoot":"","sources":["../src/experimental.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EACL,qBAAqB,GAGtB,MAAM,0BAA0B,CAAC"}
|