@weave-kit/engine 0.11.0 → 1.1.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 +66 -0
- package/README.md +40 -20
- 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/source.d.ts +3 -0
- package/dist/adapters/auth/source.d.ts.map +1 -1
- package/dist/adapters/auth/source.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 +15 -0
- package/dist/adapters/auth/subject.js.map +1 -1
- package/dist/adapters/auth/verify.d.ts +2 -0
- package/dist/adapters/auth/verify.d.ts.map +1 -1
- package/dist/adapters/events/index.d.ts.map +1 -1
- package/dist/adapters/events/index.js +6 -1
- package/dist/adapters/events/index.js.map +1 -1
- package/dist/adapters/graphql/http.d.ts.map +1 -1
- package/dist/adapters/graphql/http.js +4 -2
- package/dist/adapters/graphql/http.js.map +1 -1
- package/dist/adapters/graphql/resolvers.d.ts.map +1 -1
- package/dist/adapters/graphql/resolvers.js +1 -0
- package/dist/adapters/graphql/resolvers.js.map +1 -1
- package/dist/adapters/graphql/security.d.ts.map +1 -1
- package/dist/adapters/graphql/security.js +14 -4
- package/dist/adapters/graphql/security.js.map +1 -1
- package/dist/adapters/graphql/types.d.ts +2 -0
- package/dist/adapters/graphql/types.d.ts.map +1 -1
- package/dist/adapters/mcp/generate.d.ts.map +1 -1
- package/dist/adapters/mcp/generate.js +1 -0
- package/dist/adapters/mcp/generate.js.map +1 -1
- package/dist/adapters/mcp/http.d.ts.map +1 -1
- package/dist/adapters/mcp/http.js +21 -7
- package/dist/adapters/mcp/http.js.map +1 -1
- package/dist/adapters/mcp/tools.d.ts.map +1 -1
- package/dist/adapters/mcp/tools.js +4 -0
- package/dist/adapters/mcp/tools.js.map +1 -1
- package/dist/adapters/mcp/types.d.ts +2 -0
- package/dist/adapters/mcp/types.d.ts.map +1 -1
- package/dist/adapters/mcp/types.js.map +1 -1
- package/dist/adapters/openapi/document.d.ts.map +1 -1
- package/dist/adapters/openapi/document.js +2 -1
- package/dist/adapters/openapi/document.js.map +1 -1
- package/dist/adapters/openapi/types.d.ts +1 -0
- package/dist/adapters/openapi/types.d.ts.map +1 -1
- package/dist/adapters/ops/index.d.ts.map +1 -1
- package/dist/adapters/ops/index.js +2 -1
- package/dist/adapters/ops/index.js.map +1 -1
- package/dist/adapters/rest/audit.d.ts.map +1 -1
- package/dist/adapters/rest/audit.js +14 -2
- package/dist/adapters/rest/audit.js.map +1 -1
- package/dist/adapters/rest/ingress.d.ts.map +1 -1
- package/dist/adapters/rest/ingress.js +4 -1
- package/dist/adapters/rest/ingress.js.map +1 -1
- package/dist/adapters/rest/plugin.d.ts.map +1 -1
- package/dist/adapters/rest/plugin.js +14 -5
- package/dist/adapters/rest/plugin.js.map +1 -1
- package/dist/adapters/rest/proxy.d.ts.map +1 -1
- package/dist/adapters/rest/proxy.js +4 -1
- package/dist/adapters/rest/proxy.js.map +1 -1
- package/dist/cli/commands/deploy.d.ts.map +1 -1
- package/dist/cli/commands/deploy.js +60 -1
- package/dist/cli/commands/deploy.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +6 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +159 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/migrate.d.ts.map +1 -1
- package/dist/cli/commands/migrate.js +13 -0
- package/dist/cli/commands/migrate.js.map +1 -1
- package/dist/cli/commands/object-create.js +2 -2
- package/dist/cli/index.js +11 -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 +18 -0
- package/dist/cli/types/commands.d.ts.map +1 -1
- package/dist/cli/types/index.d.ts +3 -3
- package/dist/cli/types/index.d.ts.map +1 -1
- package/dist/cli/types/index.js +1 -1
- package/dist/cli/types/index.js.map +1 -1
- package/dist/cli/types/values.d.ts +9 -0
- package/dist/cli/types/values.d.ts.map +1 -1
- package/dist/cli/types/values.js +8 -0
- package/dist/cli/types/values.js.map +1 -1
- package/dist/core/audit/types.d.ts +23 -3
- package/dist/core/audit/types.d.ts.map +1 -1
- package/dist/core/audit/types.js.map +1 -1
- package/dist/core/i18n/ar.d.ts.map +1 -1
- package/dist/core/i18n/ar.js +1 -0
- package/dist/core/i18n/ar.js.map +1 -1
- package/dist/core/i18n/de.d.ts.map +1 -1
- package/dist/core/i18n/de.js +1 -0
- package/dist/core/i18n/de.js.map +1 -1
- package/dist/core/i18n/en.d.ts +1 -0
- package/dist/core/i18n/en.d.ts.map +1 -1
- package/dist/core/i18n/en.js +1 -0
- package/dist/core/i18n/en.js.map +1 -1
- package/dist/core/i18n/es.d.ts.map +1 -1
- package/dist/core/i18n/es.js +1 -0
- package/dist/core/i18n/es.js.map +1 -1
- package/dist/core/i18n/fr.d.ts.map +1 -1
- package/dist/core/i18n/fr.js +1 -0
- package/dist/core/i18n/fr.js.map +1 -1
- package/dist/core/i18n/hi.d.ts.map +1 -1
- package/dist/core/i18n/hi.js +1 -0
- package/dist/core/i18n/hi.js.map +1 -1
- package/dist/core/i18n/id.d.ts.map +1 -1
- package/dist/core/i18n/id.js +1 -0
- package/dist/core/i18n/id.js.map +1 -1
- package/dist/core/i18n/ja.d.ts.map +1 -1
- package/dist/core/i18n/ja.js +1 -0
- package/dist/core/i18n/ja.js.map +1 -1
- package/dist/core/i18n/ko.d.ts.map +1 -1
- package/dist/core/i18n/ko.js +1 -0
- package/dist/core/i18n/ko.js.map +1 -1
- package/dist/core/i18n/pt.d.ts.map +1 -1
- package/dist/core/i18n/pt.js +1 -0
- package/dist/core/i18n/pt.js.map +1 -1
- package/dist/core/i18n/ru.d.ts.map +1 -1
- package/dist/core/i18n/ru.js +1 -0
- package/dist/core/i18n/ru.js.map +1 -1
- package/dist/core/i18n/vi.d.ts.map +1 -1
- package/dist/core/i18n/vi.js +1 -0
- package/dist/core/i18n/vi.js.map +1 -1
- package/dist/core/i18n/zh-hant.d.ts.map +1 -1
- package/dist/core/i18n/zh-hant.js +1 -0
- package/dist/core/i18n/zh-hant.js.map +1 -1
- package/dist/core/i18n/zh.d.ts.map +1 -1
- package/dist/core/i18n/zh.js +1 -0
- package/dist/core/i18n/zh.js.map +1 -1
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -0
- package/dist/core/index.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 +5 -0
- package/dist/core/limiter/quota.d.ts.map +1 -1
- package/dist/core/limiter/quota.js +7 -0
- 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/system-objects.d.ts.map +1 -1
- package/dist/core/object/system-objects.js +2 -0
- package/dist/core/object/system-objects.js.map +1 -1
- 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/observability/index.d.ts +64 -0
- package/dist/core/observability/index.d.ts.map +1 -0
- package/dist/core/observability/index.js +41 -0
- package/dist/core/observability/index.js.map +1 -0
- package/dist/core/provider/identity/directory.d.ts +3 -0
- package/dist/core/provider/identity/directory.d.ts.map +1 -1
- package/dist/core/provider/identity/types.d.ts +2 -0
- package/dist/core/provider/identity/types.d.ts.map +1 -1
- package/dist/core/proxy/types.d.ts +5 -2
- package/dist/core/proxy/types.d.ts.map +1 -1
- package/dist/core/proxy/types.js.map +1 -1
- package/dist/core/rbac/rls.d.ts +3 -1
- package/dist/core/rbac/rls.d.ts.map +1 -1
- package/dist/core/rbac/rls.js +12 -1
- 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 +15 -0
- package/dist/core/rbac/rowScope.js.map +1 -1
- 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/storage/impact.d.ts +49 -0
- package/dist/core/storage/impact.d.ts.map +1 -0
- package/dist/core/storage/impact.js +130 -0
- package/dist/core/storage/impact.js.map +1 -0
- package/dist/core/storage/index.d.ts +2 -0
- package/dist/core/storage/index.d.ts.map +1 -1
- package/dist/core/storage/index.js +1 -0
- package/dist/core/storage/index.js.map +1 -1
- package/dist/core/storage/system-tables.d.ts.map +1 -1
- package/dist/core/storage/system-tables.js +2 -0
- package/dist/core/storage/system-tables.js.map +1 -1
- package/dist/core/tools/pipeline.d.ts +25 -0
- package/dist/core/tools/pipeline.d.ts.map +1 -1
- package/dist/core/tools/types.d.ts +8 -0
- package/dist/core/tools/types.d.ts.map +1 -1
- package/dist/core/trace.d.ts +29 -0
- package/dist/core/trace.d.ts.map +1 -0
- package/dist/core/trace.js +41 -0
- package/dist/core/trace.js.map +1 -0
- 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 +11 -3
- package/dist/core/types/principal.d.ts.map +1 -1
- package/dist/core/types/principal.js +19 -5
- package/dist/core/types/principal.js.map +1 -1
- package/dist/core/types/registry.js +1 -1
- package/dist/core/types/values.d.ts +3 -1
- package/dist/core/types/values.d.ts.map +1 -1
- package/dist/core/types/values.js +3 -1
- package/dist/core/types/values.js.map +1 -1
- package/dist/core/types/workflow.d.ts +7 -1
- package/dist/core/types/workflow.d.ts.map +1 -1
- package/dist/core/types/workflow.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.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/cursor.d.ts +2 -0
- package/dist/runtime/data-access/cursor.d.ts.map +1 -1
- package/dist/runtime/data-access/cursor.js +1 -1
- package/dist/runtime/data-access/cursor.js.map +1 -1
- package/dist/runtime/data-access/index.d.ts +2 -2
- package/dist/runtime/data-access/index.d.ts.map +1 -1
- package/dist/runtime/data-access/index.js +2 -2
- package/dist/runtime/data-access/index.js.map +1 -1
- package/dist/runtime/data-access/query-budget.d.ts.map +1 -1
- package/dist/runtime/data-access/query-budget.js +6 -3
- package/dist/runtime/data-access/query-budget.js.map +1 -1
- package/dist/runtime/data-access/query.d.ts +5 -0
- package/dist/runtime/data-access/query.d.ts.map +1 -1
- package/dist/runtime/data-access/query.js +43 -3
- package/dist/runtime/data-access/query.js.map +1 -1
- package/dist/runtime/data-access/rbac.d.ts +2 -0
- package/dist/runtime/data-access/rbac.d.ts.map +1 -1
- package/dist/runtime/data-access/rbac.js +29 -20
- package/dist/runtime/data-access/rbac.js.map +1 -1
- package/dist/runtime/data-access/sql-executor.d.ts +2 -0
- package/dist/runtime/data-access/sql-executor.d.ts.map +1 -1
- package/dist/runtime/data-access/sql-executor.js +3 -0
- package/dist/runtime/data-access/sql-executor.js.map +1 -1
- package/dist/runtime/data-access/types.d.ts +6 -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/engine.d.ts +34 -3
- package/dist/runtime/engine.d.ts.map +1 -1
- package/dist/runtime/engine.js +39 -6
- package/dist/runtime/engine.js.map +1 -1
- package/dist/runtime/tools/executor.d.ts +2 -0
- package/dist/runtime/tools/executor.d.ts.map +1 -1
- package/dist/runtime/tools/executor.js +9 -0
- package/dist/runtime/tools/executor.js.map +1 -1
- package/dist/subsystems/audit/index.d.ts +12 -1
- package/dist/subsystems/audit/index.d.ts.map +1 -1
- package/dist/subsystems/audit/index.js +16 -0
- package/dist/subsystems/audit/index.js.map +1 -1
- package/dist/subsystems/audit/store.d.ts.map +1 -1
- package/dist/subsystems/audit/store.js +32 -11
- package/dist/subsystems/audit/store.js.map +1 -1
- package/dist/subsystems/evidence/index.d.ts +2 -1
- package/dist/subsystems/evidence/index.d.ts.map +1 -1
- package/dist/subsystems/evidence/index.js +1 -1
- package/dist/subsystems/evidence/index.js.map +1 -1
- package/dist/subsystems/evidence/store.d.ts +7 -1
- package/dist/subsystems/evidence/store.d.ts.map +1 -1
- package/dist/subsystems/evidence/store.js +68 -0
- package/dist/subsystems/evidence/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 +7 -2
- package/dist/subsystems/script/bridge.js.map +1 -1
- package/dist/version.d.ts +8 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +8 -1
- package/dist/version.js.map +1 -1
- package/package.json +2 -5
|
@@ -2,6 +2,6 @@ export { createSlidingWindow } from './sliding-window.js';
|
|
|
2
2
|
export type { SlidingWindow, SlidingWindowOptions } from './sliding-window.js';
|
|
3
3
|
export { COUNTER_PERIODS } from './counter.js';
|
|
4
4
|
export type { CounterConsume, CounterPeriod, CounterStore } from './counter.js';
|
|
5
|
-
export { assertQuota, consumeQuota, periodBounds } from './quota.js';
|
|
5
|
+
export { assertQuota, consumeQuota, periodBounds, scopedQuotaKey } from './quota.js';
|
|
6
6
|
export type { QuotaDecision, QuotaPolicy } from './quota.js';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/limiter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/limiter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACrF,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { createSlidingWindow } from './sliding-window.js';
|
|
2
2
|
export { COUNTER_PERIODS } from './counter.js';
|
|
3
|
-
export { assertQuota, consumeQuota, periodBounds } from './quota.js';
|
|
3
|
+
export { assertQuota, consumeQuota, periodBounds, scopedQuotaKey } from './quota.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/limiter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/limiter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -32,6 +32,11 @@ export declare function periodBounds(now: Date, period: CounterPeriod): {
|
|
|
32
32
|
start: Date;
|
|
33
33
|
resetAt: Date;
|
|
34
34
|
};
|
|
35
|
+
/**
|
|
36
|
+
* Namespace a quota/counter key by tenant (multi-tenancy). An absent tenant
|
|
37
|
+
* leaves the key unchanged (single-tenant), so existing keys are unaffected.
|
|
38
|
+
*/
|
|
39
|
+
export declare function scopedQuotaKey(tenantId: string | undefined, key: string): string;
|
|
35
40
|
/**
|
|
36
41
|
* Consume `amount` (default 1) against `policy`; never throws — inspect
|
|
37
42
|
* `allowed`. Use this when the caller wants to decide what a denial means.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../../src/core/limiter/quota.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAmB,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAEtF;;;;;GAKG;AAEH,mCAAmC;AACnC,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,+CAA+C;AAC/C,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,WAAW,EAAE,IAAI,CAAC;IAClB,+CAA+C;IAC/C,OAAO,EAAE,IAAI,CAAC;CACf;AAED,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,CAS7F;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,WAAW,EACnB,MAAM,SAAI,EACV,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,aAAa,CAAC,CAWxB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,SAAI,EACV,GAAG,CAAC,EAAE,IAAI,GACT,OAAO,CAAC,aAAa,CAAC,CAMxB"}
|
|
1
|
+
{"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../../src/core/limiter/quota.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAmB,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAEtF;;;;;GAKG;AAEH,mCAAmC;AACnC,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,+CAA+C;AAC/C,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,WAAW,EAAE,IAAI,CAAC;IAClB,+CAA+C;IAC/C,OAAO,EAAE,IAAI,CAAC;CACf;AAED,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,CAS7F;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,WAAW,EACnB,MAAM,SAAI,EACV,GAAG,GAAE,IAAiB,GACrB,OAAO,CAAC,aAAa,CAAC,CAWxB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,SAAI,EACV,GAAG,CAAC,EAAE,IAAI,GACT,OAAO,CAAC,aAAa,CAAC,CAMxB"}
|
|
@@ -11,6 +11,13 @@ export function periodBounds(now, period) {
|
|
|
11
11
|
const resetAt = new Date(start.getTime() + 24 * 60 * 60 * 1000);
|
|
12
12
|
return { start, resetAt };
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Namespace a quota/counter key by tenant (multi-tenancy). An absent tenant
|
|
16
|
+
* leaves the key unchanged (single-tenant), so existing keys are unaffected.
|
|
17
|
+
*/
|
|
18
|
+
export function scopedQuotaKey(tenantId, key) {
|
|
19
|
+
return tenantId === undefined || tenantId === '' ? key : `${tenantId}:${key}`;
|
|
20
|
+
}
|
|
14
21
|
/**
|
|
15
22
|
* Consume `amount` (default 1) against `policy`; never throws — inspect
|
|
16
23
|
* `allowed`. Use this when the caller wants to decide what a denial means.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota.js","sourceRoot":"","sources":["../../../src/core/limiter/quota.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAyC,MAAM,cAAc,CAAC;AAgCtF,wEAAwE;AACxE,MAAM,UAAU,YAAY,CAAC,GAAS,EAAE,MAAqB;IAC3D,IAAI,MAAM,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC5B,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC5F,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAChE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAmB,EACnB,GAAW,EACX,MAAmB,EACnB,MAAM,GAAG,CAAC,EACV,MAAY,IAAI,IAAI,EAAE;IAEtB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjF,OAAO;QACL,OAAO;QACP,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK;QACL,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAC5C,WAAW,EAAE,KAAK;QAClB,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAmB,EACnB,GAAW,EACX,MAAmB,EACnB,MAAc,EACd,MAAM,GAAG,CAAC,EACV,GAAU;IAEV,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACrE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"quota.js","sourceRoot":"","sources":["../../../src/core/limiter/quota.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAyC,MAAM,cAAc,CAAC;AAgCtF,wEAAwE;AACxE,MAAM,UAAU,YAAY,CAAC,GAAS,EAAE,MAAqB;IAC3D,IAAI,MAAM,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnF,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAC5B,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAC5F,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAChE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,QAA4B,EAAE,GAAW;IACtE,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC;AAChF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAAmB,EACnB,GAAW,EACX,MAAmB,EACnB,MAAM,GAAG,CAAC,EACV,MAAY,IAAI,IAAI,EAAE;IAEtB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjF,OAAO;QACL,OAAO;QACP,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK;QACL,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAC5C,WAAW,EAAE,KAAK;QAClB,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAmB,EACnB,GAAW,EACX,MAAmB,EACnB,MAAc,EACd,MAAM,GAAG,CAAC,EACV,GAAU;IAEV,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACrE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,IAAI,WAAW,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;IACvG,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -3,8 +3,8 @@ import { type Locale } from '../i18n/index.js';
|
|
|
3
3
|
* Resolve an object/field display name from its per-locale `labels` map: the
|
|
4
4
|
* requested locale, then the default locale, then the first declared entry,
|
|
5
5
|
* then `fallback` (usually the object/field name). This is the engine's single
|
|
6
|
-
* label-resolution rule — used by the CLI, the mapping report and the
|
|
7
|
-
* layout generator
|
|
6
|
+
* label-resolution rule — used by the CLI, the mapping report and the (frozen)
|
|
7
|
+
* default layout generator.
|
|
8
8
|
*/
|
|
9
9
|
export declare function resolveLabel(labels: Record<string, string> | undefined, fallback: string, locale?: Locale): string;
|
|
10
10
|
//# sourceMappingURL=display.d.ts.map
|
|
@@ -3,8 +3,8 @@ import { DEFAULT_LOCALE } from '../i18n/index.js';
|
|
|
3
3
|
* Resolve an object/field display name from its per-locale `labels` map: the
|
|
4
4
|
* requested locale, then the default locale, then the first declared entry,
|
|
5
5
|
* then `fallback` (usually the object/field name). This is the engine's single
|
|
6
|
-
* label-resolution rule — used by the CLI, the mapping report and the
|
|
7
|
-
* layout generator
|
|
6
|
+
* label-resolution rule — used by the CLI, the mapping report and the (frozen)
|
|
7
|
+
* default layout generator.
|
|
8
8
|
*/
|
|
9
9
|
export function resolveLabel(labels, fallback, locale) {
|
|
10
10
|
if (labels === undefined)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-objects.d.ts","sourceRoot":"","sources":["../../../src/core/object/system-objects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAI1D;;;;;;;;GAQG;AAEH,sDAAsD;AACtD,eAAO,MAAM,mBAAmB,mDAA0E,CAAC;AAC3G,MAAM,MAAM,gBAAgB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"system-objects.d.ts","sourceRoot":"","sources":["../../../src/core/object/system-objects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAI1D;;;;;;;;GAQG;AAEH,sDAAsD;AACtD,eAAO,MAAM,mBAAmB,mDAA0E,CAAC;AAC3G,MAAM,MAAM,gBAAgB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAyDlE,yEAAyE;AACzE,wBAAgB,aAAa,IAAI,gBAAgB,EAAE,CAMlD"}
|
|
@@ -20,6 +20,7 @@ const USER = {
|
|
|
20
20
|
constraints: [{ type: 'unique', fields: ['external_source', 'external_id'] }],
|
|
21
21
|
fields: [
|
|
22
22
|
{ name: 'id', type: 'uuid', primary: true, required: true },
|
|
23
|
+
{ name: 'tenant_id', type: 'string' },
|
|
23
24
|
{ name: 'external_source', type: 'string' },
|
|
24
25
|
{ name: 'external_id', type: 'string' },
|
|
25
26
|
{ name: 'roles', type: 'jsonb' },
|
|
@@ -49,6 +50,7 @@ const DEPARTMENT = {
|
|
|
49
50
|
constraints: [{ type: 'unique', fields: ['external_source', 'external_id'] }],
|
|
50
51
|
fields: [
|
|
51
52
|
{ name: 'id', type: 'uuid', primary: true, required: true },
|
|
53
|
+
{ name: 'tenant_id', type: 'string' },
|
|
52
54
|
{ name: 'external_source', type: 'string' },
|
|
53
55
|
{ name: 'external_id', type: 'string' },
|
|
54
56
|
{ name: 'name', type: 'string' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-objects.js","sourceRoot":"","sources":["../../../src/core/object/system-objects.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"system-objects.js","sourceRoot":"","sources":["../../../src/core/object/system-objects.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/core/object/validate/field.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAoB,eAAe,EAA6B,MAAM,sBAAsB,CAAC;AACzG,OAAO,EAML,KAAK,YAAY,EAEjB,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAaL,KAAK,EAAE,EACR,MAAM,iBAAiB,CAAC;AAyIzB,0EAA0E;AAC1E,MAAM,WAAW,oBAAoB;IACnC,qFAAqF;IACrF,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,yEAAyE;IACzE,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,2FAA2F;IAC3F,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AASD,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,GAAE,oBAAyB,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"field.d.ts","sourceRoot":"","sources":["../../../../src/core/object/validate/field.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAoB,eAAe,EAA6B,MAAM,sBAAsB,CAAC;AACzG,OAAO,EAML,KAAK,YAAY,EAEjB,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAaL,KAAK,EAAE,EACR,MAAM,iBAAiB,CAAC;AAyIzB,0EAA0E;AAC1E,MAAM,WAAW,oBAAoB;IACnC,qFAAqF;IACrF,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,yEAAyE;IACzE,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,2FAA2F;IAC3F,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AASD,mFAAmF;AACnF,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,GAAE,oBAAyB,GAAG,eAAe,CA+fvG"}
|
|
@@ -14,7 +14,7 @@ const REGISTERED_FIELD_TYPE_RE = new RegExp(FIELD_TYPE_NAME_PATTERN);
|
|
|
14
14
|
const DEPRECATED_DATETIME_ALIAS = 'datetime';
|
|
15
15
|
/** extra keys allowed per field type */
|
|
16
16
|
const EXTRA_KEYS = {
|
|
17
|
-
string: ['minLength', 'maxLength', 'regex', 'required', 'unique', 'default', 'formula', ROW_SCOPE_MARKERS.OWNERSHIP, ROW_SCOPE_MARKERS.DEPARTMENT, 'ownershipSource', 'departmentSource'], text: ['maxLength', 'required', 'unique', 'default', 'formula'],
|
|
17
|
+
string: ['minLength', 'maxLength', 'regex', 'required', 'unique', 'default', 'formula', ROW_SCOPE_MARKERS.OWNERSHIP, ROW_SCOPE_MARKERS.DEPARTMENT, ROW_SCOPE_MARKERS.TENANT, 'ownershipSource', 'departmentSource'], text: ['maxLength', 'required', 'unique', 'default', 'formula'],
|
|
18
18
|
char: ['length', 'required', 'unique', 'default', 'formula'],
|
|
19
19
|
smallint: ['min', 'max', 'required', 'unique', 'default', 'formula'],
|
|
20
20
|
integer: ['min', 'max', 'required', 'unique', 'default', 'formula'],
|
|
@@ -211,6 +211,7 @@ export function validateField(raw, vc, options = {}) {
|
|
|
211
211
|
const regex = expectString(raw, 'regex', vc);
|
|
212
212
|
const ownership = expectBoolean(raw, ROW_SCOPE_MARKERS.OWNERSHIP, vc);
|
|
213
213
|
const department = expectBoolean(raw, ROW_SCOPE_MARKERS.DEPARTMENT, vc);
|
|
214
|
+
const tenant = expectBoolean(raw, ROW_SCOPE_MARKERS.TENANT, vc);
|
|
214
215
|
const ownershipSource = expectScopeSource(raw, 'ownershipSource', vc);
|
|
215
216
|
const departmentSource = expectScopeSource(raw, 'departmentSource', vc);
|
|
216
217
|
if (regex !== undefined) {
|
|
@@ -237,6 +238,7 @@ export function validateField(raw, vc, options = {}) {
|
|
|
237
238
|
default: raw.default,
|
|
238
239
|
ownership,
|
|
239
240
|
department,
|
|
241
|
+
tenant,
|
|
240
242
|
ownershipSource,
|
|
241
243
|
departmentSource,
|
|
242
244
|
};
|
|
@@ -709,7 +711,7 @@ function expectScopeSource(raw, key, vc) {
|
|
|
709
711
|
return value;
|
|
710
712
|
}
|
|
711
713
|
/** engine-semantic attrs a registered type does NOT inherit from its base (computed/RBAC) */
|
|
712
|
-
const SEMANTIC_ATTRS = new Set(['formula', ROW_SCOPE_MARKERS.OWNERSHIP, ROW_SCOPE_MARKERS.DEPARTMENT]);
|
|
714
|
+
const SEMANTIC_ATTRS = new Set(['formula', ROW_SCOPE_MARKERS.OWNERSHIP, ROW_SCOPE_MARKERS.DEPARTMENT, ROW_SCOPE_MARKERS.TENANT]);
|
|
713
715
|
/** type-check one declared extra-attribute value against its AttrSpec */
|
|
714
716
|
function checkAttrValue(value, attr, spec, vc) {
|
|
715
717
|
switch (spec.type) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../../../src/core/object/validate/field.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../../../src/core/object/validate/field.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Low-level observability contract (protocol-neutral).
|
|
3
|
+
*
|
|
4
|
+
* The engine **emits** metrics and finished spans through these sinks; it does
|
|
5
|
+
* NOT ship a backend, dashboard, alerting or exporter — those are product /
|
|
6
|
+
* enterprise concerns (see the enterprise-seams reference). The default is a
|
|
7
|
+
* no-op, so telemetry has zero overhead unless a host injects a sink.
|
|
8
|
+
*
|
|
9
|
+
* Label discipline (contract): label values MUST be low-cardinality and
|
|
10
|
+
* PII-free. Never put tenant data, record ids, SQL text, credentials or other
|
|
11
|
+
* secrets in labels — those belong in the (audited) data path, not in metrics.
|
|
12
|
+
*/
|
|
13
|
+
/** engine metric names — single source of truth (see AGENTS.md: no ad-hoc literals) */
|
|
14
|
+
export declare const METRIC_NAMES: {
|
|
15
|
+
/** HTTP request duration in ms (histogram); labels: method, route, status */
|
|
16
|
+
readonly HTTP_REQUEST_DURATION_MS: "http.request.duration_ms";
|
|
17
|
+
/** HTTP response count (counter); labels: method, route, status */
|
|
18
|
+
readonly HTTP_RESPONSE: "http.response";
|
|
19
|
+
/** RBAC denial (counter); labels: object, action */
|
|
20
|
+
readonly RBAC_DENY: "rbac.deny";
|
|
21
|
+
/** audit event persisted (counter); labels: mode */
|
|
22
|
+
readonly AUDIT_SUCCESS: "audit.success";
|
|
23
|
+
/** audit persistence failure (counter); labels: mode */
|
|
24
|
+
readonly AUDIT_FAILURE: "audit.failure";
|
|
25
|
+
/** query rejected by the query budget (counter); labels: object, limit */
|
|
26
|
+
readonly QUERY_BUDGET_REJECT: "query.budget.reject";
|
|
27
|
+
/** pool clients by state (gauge); labels: state (idle|waiting|total) */
|
|
28
|
+
readonly POOL_STATE: "pool.state";
|
|
29
|
+
/** tool/workflow execution latency in ms (histogram); labels: kind */
|
|
30
|
+
readonly EXECUTION_DURATION_MS: "execution.duration_ms";
|
|
31
|
+
};
|
|
32
|
+
export type MetricName = typeof METRIC_NAMES[keyof typeof METRIC_NAMES];
|
|
33
|
+
/** low-cardinality, PII-free metric labels (see the label-discipline contract above) */
|
|
34
|
+
export type MetricLabels = Record<string, string>;
|
|
35
|
+
/** metric emission seam — implement once per telemetry backend (OTel/Prometheus/…); must not throw into the caller */
|
|
36
|
+
export interface MetricsSink {
|
|
37
|
+
/** monotonically increasing counter (default increment 1) */
|
|
38
|
+
counter(name: MetricName, value?: number, labels?: MetricLabels): void;
|
|
39
|
+
/** instantaneous value (last-write-wins) */
|
|
40
|
+
gauge(name: MetricName, value: number, labels?: MetricLabels): void;
|
|
41
|
+
/** distribution observation (e.g. a latency in ms) */
|
|
42
|
+
histogram(name: MetricName, value: number, labels?: MetricLabels): void;
|
|
43
|
+
}
|
|
44
|
+
/** a finished, protocol-neutral span (the engine does not manage span lifecycles) */
|
|
45
|
+
export interface TraceSpan {
|
|
46
|
+
name: string;
|
|
47
|
+
traceId?: string;
|
|
48
|
+
spanId?: string;
|
|
49
|
+
parentSpanId?: string;
|
|
50
|
+
startedAt: Date;
|
|
51
|
+
endedAt: Date;
|
|
52
|
+
durationMs: number;
|
|
53
|
+
status: 'ok' | 'error';
|
|
54
|
+
/** low-cardinality, PII-free attributes (same discipline as metric labels) */
|
|
55
|
+
attributes?: MetricLabels;
|
|
56
|
+
}
|
|
57
|
+
/** trace emission seam — the engine records finished spans; correlation uses the inbound traceparent */
|
|
58
|
+
export interface TraceSink {
|
|
59
|
+
recordSpan(span: TraceSpan): void;
|
|
60
|
+
}
|
|
61
|
+
/** discard everything (telemetry disabled) */
|
|
62
|
+
export declare const NOOP_METRICS_SINK: MetricsSink;
|
|
63
|
+
export declare const NOOP_TRACE_SINK: TraceSink;
|
|
64
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/observability/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,uFAAuF;AACvF,eAAO,MAAM,YAAY;IACvB,6EAA6E;;IAE7E,mEAAmE;;IAEnE,oDAAoD;;IAEpD,oDAAoD;;IAEpD,wDAAwD;;IAExD,0EAA0E;;IAE1E,wEAAwE;;IAExE,sEAAsE;;CAE9D,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,OAAO,YAAY,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAExE,wFAAwF;AACxF,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAElD,sHAAsH;AACtH,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACvE,4CAA4C;IAC5C,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACpE,sDAAsD;IACtD,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACzE;AAED,qFAAqF;AACrF,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,YAAY,CAAC;CAC3B;AAED,wGAAwG;AACxG,MAAM,WAAW,SAAS;IACxB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;CACnC;AAED,8CAA8C;AAC9C,eAAO,MAAM,iBAAiB,EAAE,WAI/B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SAE7B,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Low-level observability contract (protocol-neutral).
|
|
3
|
+
*
|
|
4
|
+
* The engine **emits** metrics and finished spans through these sinks; it does
|
|
5
|
+
* NOT ship a backend, dashboard, alerting or exporter — those are product /
|
|
6
|
+
* enterprise concerns (see the enterprise-seams reference). The default is a
|
|
7
|
+
* no-op, so telemetry has zero overhead unless a host injects a sink.
|
|
8
|
+
*
|
|
9
|
+
* Label discipline (contract): label values MUST be low-cardinality and
|
|
10
|
+
* PII-free. Never put tenant data, record ids, SQL text, credentials or other
|
|
11
|
+
* secrets in labels — those belong in the (audited) data path, not in metrics.
|
|
12
|
+
*/
|
|
13
|
+
/** engine metric names — single source of truth (see AGENTS.md: no ad-hoc literals) */
|
|
14
|
+
export const METRIC_NAMES = {
|
|
15
|
+
/** HTTP request duration in ms (histogram); labels: method, route, status */
|
|
16
|
+
HTTP_REQUEST_DURATION_MS: 'http.request.duration_ms',
|
|
17
|
+
/** HTTP response count (counter); labels: method, route, status */
|
|
18
|
+
HTTP_RESPONSE: 'http.response',
|
|
19
|
+
/** RBAC denial (counter); labels: object, action */
|
|
20
|
+
RBAC_DENY: 'rbac.deny',
|
|
21
|
+
/** audit event persisted (counter); labels: mode */
|
|
22
|
+
AUDIT_SUCCESS: 'audit.success',
|
|
23
|
+
/** audit persistence failure (counter); labels: mode */
|
|
24
|
+
AUDIT_FAILURE: 'audit.failure',
|
|
25
|
+
/** query rejected by the query budget (counter); labels: object, limit */
|
|
26
|
+
QUERY_BUDGET_REJECT: 'query.budget.reject',
|
|
27
|
+
/** pool clients by state (gauge); labels: state (idle|waiting|total) */
|
|
28
|
+
POOL_STATE: 'pool.state',
|
|
29
|
+
/** tool/workflow execution latency in ms (histogram); labels: kind */
|
|
30
|
+
EXECUTION_DURATION_MS: 'execution.duration_ms',
|
|
31
|
+
};
|
|
32
|
+
/** discard everything (telemetry disabled) */
|
|
33
|
+
export const NOOP_METRICS_SINK = {
|
|
34
|
+
counter: () => { },
|
|
35
|
+
gauge: () => { },
|
|
36
|
+
histogram: () => { },
|
|
37
|
+
};
|
|
38
|
+
export const NOOP_TRACE_SINK = {
|
|
39
|
+
recordSpan: () => { },
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/observability/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,uFAAuF;AACvF,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,6EAA6E;IAC7E,wBAAwB,EAAE,0BAA0B;IACpD,mEAAmE;IACnE,aAAa,EAAE,eAAe;IAC9B,oDAAoD;IACpD,SAAS,EAAE,WAAW;IACtB,oDAAoD;IACpD,aAAa,EAAE,eAAe;IAC9B,wDAAwD;IACxD,aAAa,EAAE,eAAe;IAC9B,0EAA0E;IAC1E,mBAAmB,EAAE,qBAAqB;IAC1C,wEAAwE;IACxE,UAAU,EAAE,YAAY;IACxB,sEAAsE;IACtE,qBAAqB,EAAE,uBAAuB;CACtC,CAAC;AAmCX,8CAA8C;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAgB;IAC5C,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;IACjB,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAc;IACxC,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;CACrB,CAAC"}
|
|
@@ -56,6 +56,9 @@ export interface IdentityUserCreate {
|
|
|
56
56
|
* Replaceable persistence for the local identity directory (default: PG over
|
|
57
57
|
* `weavekit_user`/`weavekit_department`). The engine-only `external_source` +
|
|
58
58
|
* `external_id` pair is the natural key an upsert matches on.
|
|
59
|
+
*
|
|
60
|
+
* Stable seam (`@enterprise-reserved`): SSO/SCIM directory sync is enterprise E1;
|
|
61
|
+
* the engine ships the PG store.
|
|
59
62
|
*/
|
|
60
63
|
export interface IdentityStore {
|
|
61
64
|
/** look a user up by internal id OR external id (`ref` is matched against both) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../../../../src/core/provider/identity/directory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,gEAAgE;AAChE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB;AAED,sEAAsE;AACtE,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzB;AAED,wEAAwE;AACxE,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1B;AAED,oCAAoC;AACpC,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1B;AAED,8EAA8E;AAC9E,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1B;AAED
|
|
1
|
+
{"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../../../../src/core/provider/identity/directory.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,8 @@ export interface IdentitySubject {
|
|
|
17
17
|
roles: string[];
|
|
18
18
|
/** department whose subtree the subject may read (department scope) */
|
|
19
19
|
departmentId?: string;
|
|
20
|
+
/** tenant the subject belongs to (multi-tenancy; absent = single-tenant) */
|
|
21
|
+
tenantId?: string;
|
|
20
22
|
}
|
|
21
23
|
/** an authenticated but not-yet-resolved identity (a verifier's output) */
|
|
22
24
|
export interface VerifiedIdentity {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/provider/identity/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/provider/identity/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,uEAAuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,GAAG,EAAE,MAAM,CAAC;IACZ,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,iFAAiF;AACjF,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,yDAAyD;IACzD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,oEAAoE;AACpE,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAClC,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,eAAe,GAAG,IAAI,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC"}
|
|
@@ -39,7 +39,7 @@ export interface ProxyAllow {
|
|
|
39
39
|
export declare const DEFAULT_PROXY_ALLOW: ProxyAllow;
|
|
40
40
|
/**
|
|
41
41
|
* A resolvable remote (customer engine) — injected by the application layer
|
|
42
|
-
* (
|
|
42
|
+
* (cloud). `id` is the customer-engine connection id and doubles as the
|
|
43
43
|
* `:instance` route segment; documented distinctly from the governance app
|
|
44
44
|
* "instance" to avoid confusion.
|
|
45
45
|
*/
|
|
@@ -79,7 +79,10 @@ export interface ProxyResponse {
|
|
|
79
79
|
/**
|
|
80
80
|
* Narrow injection seam so core never depends on the application layer: the
|
|
81
81
|
* engine doesn't parse connections or read tables, it only trusts this resolver.
|
|
82
|
-
* The application layer (
|
|
82
|
+
* The application layer (cloud) implements it from its own `connections`.
|
|
83
|
+
*
|
|
84
|
+
* Stable seam (`@enterprise-reserved`): target governance / Cloud control plane
|
|
85
|
+
* is enterprise; the engine only frames and forwards.
|
|
83
86
|
*/
|
|
84
87
|
export interface ProxyTargetResolver {
|
|
85
88
|
/** Resolve a target by instance; `null` when unregistered (→ 404). Whoever can access which connection is the app's call. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/proxy/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD;;;;;;;;;GASG;AAEH,oDAAoD;AACpD,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE3E,yEAAyE;AACzE,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,OAAO,gBAAgB,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAEnF;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,kIAAkI;IAClI,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,6HAA6H;IAC7H,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,+GAA+G;AAC/G,eAAO,MAAM,mBAAmB,EAAE,UAGjC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,iFAAiF;IACjF,GAAG,EAAE,MAAM,CAAC;IACZ,6LAA6L;IAC7L,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;2EAEuE;IACvE,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,kGAAkG;AAClG,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oHAAoH;IACpH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/proxy/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD;;;;;;;;;GASG;AAEH,oDAAoD;AACpD,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,OAAO,aAAa,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE3E,yEAAyE;AACzE,eAAO,MAAM,gBAAgB;;;CAGnB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,OAAO,gBAAgB,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAC;AAEnF;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,kIAAkI;IAClI,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,6HAA6H;IAC7H,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,+GAA+G;AAC/G,eAAO,MAAM,mBAAmB,EAAE,UAGjC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,iFAAiF;IACjF,GAAG,EAAE,MAAM,CAAC;IACZ,6LAA6L;IAC7L,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;2EAEuE;IACvE,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,kGAAkG;AAClG,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,CAAC;IACpB,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oHAAoH;IACpH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,kEAAkE;AAClE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,6HAA6H;IAC7H,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACjF,2EAA2E;IAC3E,IAAI,CAAC,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CACzD;AAiBD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAY3F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/proxy/types.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,oDAAoD;AACpD,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX,yEAAyE;AACzE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACN,CAAC;AAeX,+GAA+G;AAC/G,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC;IACxG,KAAK,EAAE,CAAC,WAAW,CAAC;CACrB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/proxy/types.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,oDAAoD;AACpD,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;CACR,CAAC;AAGX,yEAAyE;AACzE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACN,CAAC;AAeX,+GAA+G;AAC/G,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC;IACxG,KAAK,EAAE,CAAC,WAAW,CAAC;CACrB,CAAC;AA2DF,oGAAoG;AACpG,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACjD,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACrD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,IAAY,EAAE,KAAiB;IAChF,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;IACnF,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1B,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/core/rbac/rls.d.ts
CHANGED
|
@@ -2,7 +2,9 @@ import type { ObjectDefinition } from '../types/index.js';
|
|
|
2
2
|
export declare function policyName(def: ObjectDefinition): string;
|
|
3
3
|
/**
|
|
4
4
|
* The read-policy predicate for one object, or `undefined` when no declared role
|
|
5
|
-
* can read (default deny — no policy is created, RLS denies everything).
|
|
5
|
+
* can read (default deny — no policy is created, RLS denies everything). When the
|
|
6
|
+
* object declares a tenant column, a tenant predicate (`weavekit.tenant_id` GUC)
|
|
7
|
+
* is AND'd on top — an unset GUC is NULL → fail-closed.
|
|
6
8
|
*/
|
|
7
9
|
export declare function buildRlsPolicy(def: ObjectDefinition): string | undefined;
|
|
8
10
|
/** the policy DDL for a fresh table (drop+create keeps it idempotent across runs) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rls.d.ts","sourceRoot":"","sources":["../../../src/core/rbac/rls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAiC1D,wBAAgB,UAAU,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAExD;AAUD
|
|
1
|
+
{"version":3,"file":"rls.d.ts","sourceRoot":"","sources":["../../../src/core/rbac/rls.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAiC1D,wBAAgB,UAAU,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,CAExD;AAUD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAMxE;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;AAkCD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGnD"}
|
package/dist/core/rbac/rls.js
CHANGED
|
@@ -36,9 +36,20 @@ function markerField(def, marker) {
|
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
38
|
* The read-policy predicate for one object, or `undefined` when no declared role
|
|
39
|
-
* can read (default deny — no policy is created, RLS denies everything).
|
|
39
|
+
* can read (default deny — no policy is created, RLS denies everything). When the
|
|
40
|
+
* object declares a tenant column, a tenant predicate (`weavekit.tenant_id` GUC)
|
|
41
|
+
* is AND'd on top — an unset GUC is NULL → fail-closed.
|
|
40
42
|
*/
|
|
41
43
|
export function buildRlsPolicy(def) {
|
|
44
|
+
const base = baseRlsPolicy(def);
|
|
45
|
+
if (base === undefined)
|
|
46
|
+
return undefined;
|
|
47
|
+
const tenant = markerField(def, ROW_SCOPE_MARKERS.TENANT);
|
|
48
|
+
if (tenant === undefined)
|
|
49
|
+
return base;
|
|
50
|
+
return `(${base}) AND current_setting('weavekit.tenant_id', true) = ${q(tenant)}`;
|
|
51
|
+
}
|
|
52
|
+
function baseRlsPolicy(def) {
|
|
42
53
|
if (def.permissions === undefined) {
|
|
43
54
|
// open mode — any subject reaching the role-gated db.query path may read all rows
|
|
44
55
|
return 'true';
|