@stratum-hq/core 1.5.0 → 1.6.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/README.md +10 -8
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/types/config.d.ts +34 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/usage.d.ts +1 -1
- package/dist/types/usage.js +1 -1
- package/dist/utils/ancestry.d.ts +1 -1
- package/dist/utils/ancestry.js +1 -1
- package/dist/utils/errors.d.ts +15 -2
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +28 -3
- package/dist/utils/errors.js.map +1 -1
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# @stratum-hq/core
|
|
2
2
|
|
|
3
|
-
Shared foundation for all [Stratum](https://github.com/stratum-hq/Stratum) packages
|
|
3
|
+
Shared foundation for all [Stratum](https://github.com/stratum-hq/Stratum) packages: TypeScript types, Zod validation schemas, error classes, utility functions, and constants. Every other Stratum package depends on it.
|
|
4
|
+
|
|
5
|
+
Read the documentation at [docs.stratum-hq.org/packages/core](https://docs.stratum-hq.org/packages/core/).
|
|
4
6
|
|
|
5
7
|
## Installation
|
|
6
8
|
|
|
@@ -27,7 +29,7 @@ import {
|
|
|
27
29
|
IsolationStrategy.SHARED_RLS; // "SHARED_RLS"
|
|
28
30
|
PermissionMode.LOCKED; // "LOCKED"
|
|
29
31
|
|
|
30
|
-
// Zod schemas
|
|
32
|
+
// Zod schemas: validate untrusted input
|
|
31
33
|
SlugSchema.parse("acme_corp"); // passes
|
|
32
34
|
SlugSchema.parse("INVALID"); // throws ZodError
|
|
33
35
|
|
|
@@ -44,12 +46,12 @@ try {
|
|
|
44
46
|
|
|
45
47
|
## What's Exported
|
|
46
48
|
|
|
47
|
-
- **Types
|
|
48
|
-
- **Enums
|
|
49
|
-
- **Zod schemas
|
|
50
|
-
- **Ancestry utilities
|
|
51
|
-
- **Errors
|
|
52
|
-
- **Constants
|
|
49
|
+
- **Types**: `TenantNode`, `TenantContext`, `ResolvedConfigEntry`, `ResolvedPermission`, `CreateTenantInput`, `SetConfigInput`, `AuditEntry`, `ConsentRecord`, `Region`, `AbacPolicy`, and more.
|
|
50
|
+
- **Enums**: `IsolationStrategy` (`SHARED_RLS`, `SCHEMA_PER_TENANT`, `DB_PER_TENANT`), `PermissionMode` (`LOCKED`, `INHERITED`, `DELEGATED`), `RevocationMode` (`CASCADE`, `SOFT`, `PERMANENT`), `TenantStatus`.
|
|
51
|
+
- **Zod schemas**: `SlugSchema`, `UUIDSchema`, `PaginationSchema`, `CreateTenantInputSchema`, `SetConfigInputSchema`, `CreatePermissionInputSchema`, `AuditLogQuerySchema`, and their input types.
|
|
52
|
+
- **Ancestry utilities**: `buildAncestryPath`, `parseAncestryPath`, `getDepth`, `isAncestorOf`, `isDescendantOf`, `getAncestorIds`.
|
|
53
|
+
- **Errors**: `StratumError` plus `TenantNotFoundError`, `ConfigLockedError`, `PermissionRevocationDeniedError`, `IsolationViolationError`, `UnauthorizedError`, `ForbiddenError`, and others.
|
|
54
|
+
- **Constants**: `MAX_SLUG_LENGTH` (63), `DEFAULT_CACHE_TTL_MS`, `DEFAULT_PAGE_SIZE`, `MAX_PAGE_SIZE`, `API_KEY_PREFIX`, `TENANT_HEADER`.
|
|
53
55
|
|
|
54
56
|
## Links
|
|
55
57
|
|
package/dist/index.d.ts
CHANGED
|
@@ -7,11 +7,11 @@ export { TenantEvent, WebhookSchema, CreateWebhookInputSchema, UpdateWebhookInpu
|
|
|
7
7
|
export { RegionStatus, RegionSchema, CreateRegionInputSchema, UpdateRegionInputSchema, MigrateRegionInputSchema, type Region, type CreateRegionInput, type UpdateRegionInput, type MigrateRegionInput, } from "./types/region.js";
|
|
8
8
|
export { IsolationStrategy, TenantStatus, TenantNodeSchema, CreateTenantInputSchema, UpdateTenantInputSchema, MoveTenantInputSchema, type TenantNode, type CreateTenantInput, type UpdateTenantInput, type MoveTenantInput, type TenantContext, type ResolvedTenantContext, type ResolvedPermission, } from "./types/tenant.js";
|
|
9
9
|
export { PermissionMode, RevocationMode, PermissionPolicySchema, CreatePermissionInputSchema, UpdatePermissionInputSchema, type PermissionPolicy, type CreatePermissionInput, type UpdatePermissionInput, } from "./types/permission.js";
|
|
10
|
-
export { ConfigEntrySchema, SetConfigInputSchema, type ConfigEntry, type SetConfigInput, type BatchSetConfigEntry, type ResolvedConfigEntry, type ResolvedConfig, type BatchSetConfigKeyResult, type BatchSetConfigResult, type ConfigDiffEntry, type ConfigDiffItem, type ConfigDiffTenantInfo, type ConfigDiff, type DriftStatus, type DriftDetail, type DriftResult, type BatchDriftResult, } from "./types/config.js";
|
|
10
|
+
export { ConfigEntrySchema, SetConfigInputSchema, type ConfigEntry, type SetConfigInput, type BatchSetConfigEntry, type ResolvedConfigEntry, type ResolveConfigOptions, type ResolvedConfig, type BatchSetConfigKeyResult, type BatchSetConfigResult, type ConfigDiffEntry, type ConfigDiffItem, type ConfigDiffTenantInfo, type ConfigDiff, type DriftStatus, type DriftDetail, type DriftResult, type BatchDriftResult, } from "./types/config.js";
|
|
11
11
|
export { SUPPORTED_ISOLATION_STRATEGIES, SUPPORTED_ISOLATION_STRATEGIES_V1, isSupportedIsolationStrategy, } from "./types/isolation.js";
|
|
12
12
|
export { parseAncestryPath, buildAncestryPath, getDepth, isAncestorOf, isDescendantOf, getParentPath, appendToPath, getAncestorIds, getSelfId, } from "./utils/ancestry.js";
|
|
13
13
|
export { SLUG_REGEX, SlugSchema, UUIDSchema, PaginationSchema, validateSlug, isValidSlug, type PaginationInput, type PaginatedResult, } from "./utils/validation.js";
|
|
14
14
|
export { CreateAbacPolicyInputSchema, AbacEvaluationRequestSchema, type AbacOperator, type AbacCondition, type AbacPolicy, type CreateAbacPolicyInput, type AbacEvaluationRequest, type AbacEvaluationResult, type ResolvedAbacPolicy, } from "./types/abac.js";
|
|
15
|
-
export { ErrorCode, StratumError, TenantNotFoundError, TenantAlreadyExistsError, TenantHasChildrenError, TenantCycleDetectedError, TenantArchivedError, TenantSuspendedError, TenantPendingError, TenantProvisioningError, InvalidTenantStateError, TenantContextNotFoundError, IsolationViolationError, IsolationStrategyUnsupportedError, PermissionLockedError, PermissionNotFoundError, PermissionRevocationDeniedError, ConfigLockedError, ConfigNotFoundError, ValidationError, UnauthorizedError, ForbiddenError, RegionInUseError, RegionNotActiveError, WebhookNotFoundError, WebhookDeliveryError, WebhookUrlValidationError, RegionNotFoundError, AbacPolicyNotFoundError, InvalidAbacOperatorError, AbacPolicyLockedError, } from "./utils/errors.js";
|
|
15
|
+
export { ErrorCode, StratumError, TenantNotFoundError, TenantAlreadyExistsError, TenantHasChildrenError, TenantCycleDetectedError, TenantArchivedError, TenantSuspendedError, TenantPendingError, TenantProvisioningError, InvalidTenantStateError, TenantContextNotFoundError, IsolationViolationError, IsolationStrategyUnsupportedError, PermissionLockedError, PermissionNotFoundError, PermissionRevocationDeniedError, ConfigLockedError, ConfigNotFoundError, ValidationError, UnauthorizedError, ForbiddenError, RegionInUseError, RegionNotActiveError, WebhookNotFoundError, WebhookDeliveryError, WebhookUrlValidationError, RegionNotFoundError, AbacPolicyNotFoundError, InvalidAbacOperatorError, AbacPolicyLockedError, DecryptionError, } from "./utils/errors.js";
|
|
16
16
|
export { MAX_SLUG_LENGTH, DEFAULT_CACHE_TTL_MS, DEFAULT_PAGE_SIZE, MAX_PAGE_SIZE, API_KEY_PREFIX, API_KEY_BYTES, TENANT_HEADER, } from "./constants.js";
|
|
17
17
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SLUG_REGEX = exports.getSelfId = exports.getAncestorIds = exports.appendToPath = exports.getParentPath = exports.isDescendantOf = exports.isAncestorOf = exports.getDepth = exports.buildAncestryPath = exports.parseAncestryPath = exports.isSupportedIsolationStrategy = exports.SUPPORTED_ISOLATION_STRATEGIES_V1 = exports.SUPPORTED_ISOLATION_STRATEGIES = exports.SetConfigInputSchema = exports.ConfigEntrySchema = exports.UpdatePermissionInputSchema = exports.CreatePermissionInputSchema = exports.PermissionPolicySchema = exports.RevocationMode = exports.PermissionMode = exports.MoveTenantInputSchema = exports.UpdateTenantInputSchema = exports.CreateTenantInputSchema = exports.TenantNodeSchema = exports.TenantStatus = exports.IsolationStrategy = exports.MigrateRegionInputSchema = exports.UpdateRegionInputSchema = exports.CreateRegionInputSchema = exports.RegionSchema = exports.RegionStatus = exports.WebhookDeliverySchema = exports.WebhookDeliveryStatus = exports.WebhookEventSchema = exports.UpdateWebhookInputSchema = exports.CreateWebhookInputSchema = exports.WebhookSchema = exports.TenantEvent = exports.UsageAggregateQuerySchema = exports.UsageEventSchema = exports.RecordUsageInputSchema = exports.RecordAuditEventInputSchema = exports.AuditLogQuerySchema = exports.AuditEntrySchema = exports.scopeSatisfies = exports.ApiKeyScopeSchema = exports.API_KEY_SCOPES = exports.GrantConsentInputSchema = exports.ConsentRecordSchema = exports.ConsentPurpose = void 0;
|
|
4
|
-
exports.TENANT_HEADER = exports.API_KEY_BYTES = exports.API_KEY_PREFIX = exports.MAX_PAGE_SIZE = exports.DEFAULT_PAGE_SIZE = exports.DEFAULT_CACHE_TTL_MS = exports.MAX_SLUG_LENGTH = exports.AbacPolicyLockedError = exports.InvalidAbacOperatorError = exports.AbacPolicyNotFoundError = exports.RegionNotFoundError = exports.WebhookUrlValidationError = exports.WebhookDeliveryError = exports.WebhookNotFoundError = exports.RegionNotActiveError = exports.RegionInUseError = exports.ForbiddenError = exports.UnauthorizedError = exports.ValidationError = exports.ConfigNotFoundError = exports.ConfigLockedError = exports.PermissionRevocationDeniedError = exports.PermissionNotFoundError = exports.PermissionLockedError = exports.IsolationStrategyUnsupportedError = exports.IsolationViolationError = exports.TenantContextNotFoundError = exports.InvalidTenantStateError = exports.TenantProvisioningError = exports.TenantPendingError = exports.TenantSuspendedError = exports.TenantArchivedError = exports.TenantCycleDetectedError = exports.TenantHasChildrenError = exports.TenantAlreadyExistsError = exports.TenantNotFoundError = exports.StratumError = exports.ErrorCode = exports.AbacEvaluationRequestSchema = exports.CreateAbacPolicyInputSchema = exports.isValidSlug = exports.validateSlug = exports.PaginationSchema = exports.UUIDSchema = exports.SlugSchema = void 0;
|
|
4
|
+
exports.TENANT_HEADER = exports.API_KEY_BYTES = exports.API_KEY_PREFIX = exports.MAX_PAGE_SIZE = exports.DEFAULT_PAGE_SIZE = exports.DEFAULT_CACHE_TTL_MS = exports.MAX_SLUG_LENGTH = exports.DecryptionError = exports.AbacPolicyLockedError = exports.InvalidAbacOperatorError = exports.AbacPolicyNotFoundError = exports.RegionNotFoundError = exports.WebhookUrlValidationError = exports.WebhookDeliveryError = exports.WebhookNotFoundError = exports.RegionNotActiveError = exports.RegionInUseError = exports.ForbiddenError = exports.UnauthorizedError = exports.ValidationError = exports.ConfigNotFoundError = exports.ConfigLockedError = exports.PermissionRevocationDeniedError = exports.PermissionNotFoundError = exports.PermissionLockedError = exports.IsolationStrategyUnsupportedError = exports.IsolationViolationError = exports.TenantContextNotFoundError = exports.InvalidTenantStateError = exports.TenantProvisioningError = exports.TenantPendingError = exports.TenantSuspendedError = exports.TenantArchivedError = exports.TenantCycleDetectedError = exports.TenantHasChildrenError = exports.TenantAlreadyExistsError = exports.TenantNotFoundError = exports.StratumError = exports.ErrorCode = exports.AbacEvaluationRequestSchema = exports.CreateAbacPolicyInputSchema = exports.isValidSlug = exports.validateSlug = exports.PaginationSchema = exports.UUIDSchema = exports.SlugSchema = void 0;
|
|
5
5
|
// Consent types
|
|
6
6
|
var consent_js_1 = require("./types/consent.js");
|
|
7
7
|
Object.defineProperty(exports, "ConsentPurpose", { enumerable: true, get: function () { return consent_js_1.ConsentPurpose; } });
|
|
@@ -115,6 +115,7 @@ Object.defineProperty(exports, "RegionNotFoundError", { enumerable: true, get: f
|
|
|
115
115
|
Object.defineProperty(exports, "AbacPolicyNotFoundError", { enumerable: true, get: function () { return errors_js_1.AbacPolicyNotFoundError; } });
|
|
116
116
|
Object.defineProperty(exports, "InvalidAbacOperatorError", { enumerable: true, get: function () { return errors_js_1.InvalidAbacOperatorError; } });
|
|
117
117
|
Object.defineProperty(exports, "AbacPolicyLockedError", { enumerable: true, get: function () { return errors_js_1.AbacPolicyLockedError; } });
|
|
118
|
+
Object.defineProperty(exports, "DecryptionError", { enumerable: true, get: function () { return errors_js_1.DecryptionError; } });
|
|
118
119
|
// Constants
|
|
119
120
|
var constants_js_1 = require("./constants.js");
|
|
120
121
|
Object.defineProperty(exports, "MAX_SLUG_LENGTH", { enumerable: true, get: function () { return constants_js_1.MAX_SLUG_LENGTH; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,gBAAgB;AAChB,iDAM4B;AAL1B,4GAAA,cAAc,OAAA;AACd,iHAAA,mBAAmB,OAAA;AACnB,qHAAA,uBAAuB,OAAA;AAKzB,gBAAgB;AAChB,iDAI4B;AAH1B,4GAAA,cAAc,OAAA;AACd,+GAAA,iBAAiB,OAAA;AAGnB,+CAAmD;AAA1C,2GAAA,cAAc,OAAA;AAEvB,cAAc;AACd,6CAQ0B;AAPxB,4GAAA,gBAAgB,OAAA;AAChB,+GAAA,mBAAmB,OAAA;AACnB,uHAAA,2BAA2B,OAAA;AAO7B,uBAAuB;AACvB,6CAQ0B;AAPxB,kHAAA,sBAAsB,OAAA;AACtB,4GAAA,gBAAgB,OAAA;AAChB,qHAAA,yBAAyB,OAAA;AAO3B,gBAAgB;AAChB,iDAc4B;AAb1B,yGAAA,WAAW,OAAA;AACX,2GAAA,aAAa,OAAA;AACb,sHAAA,wBAAwB,OAAA;AACxB,sHAAA,wBAAwB,OAAA;AACxB,gHAAA,kBAAkB,OAAA;AAClB,mHAAA,qBAAqB,OAAA;AACrB,mHAAA,qBAAqB,OAAA;AASvB,eAAe;AACf,+CAU2B;AATzB,yGAAA,YAAY,OAAA;AACZ,yGAAA,YAAY,OAAA;AACZ,oHAAA,uBAAuB,OAAA;AACvB,oHAAA,uBAAuB,OAAA;AACvB,qHAAA,wBAAwB,OAAA;AAO1B,QAAQ;AACR,+CAc2B;AAbzB,8GAAA,iBAAiB,OAAA;AACjB,yGAAA,YAAY,OAAA;AACZ,6GAAA,gBAAgB,OAAA;AAChB,oHAAA,uBAAuB,OAAA;AACvB,oHAAA,uBAAuB,OAAA;AACvB,kHAAA,qBAAqB,OAAA;AAUvB,uDAS+B;AAR7B,+GAAA,cAAc,OAAA;AACd,+GAAA,cAAc,OAAA;AACd,uHAAA,sBAAsB,OAAA;AACtB,4HAAA,2BAA2B,OAAA;AAC3B,4HAAA,2BAA2B,OAAA;AAM7B,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/config.d.ts
CHANGED
|
@@ -58,10 +58,33 @@ export type BatchSetConfigEntry = SetConfigInput & {
|
|
|
58
58
|
};
|
|
59
59
|
export interface ResolvedConfigEntry {
|
|
60
60
|
key: string;
|
|
61
|
+
/** The value, or `null` when `masked` is true. */
|
|
61
62
|
value: unknown;
|
|
62
63
|
source_tenant_id: string;
|
|
63
64
|
inherited: boolean;
|
|
64
65
|
locked: boolean;
|
|
66
|
+
/** Present and true when the value was set with `sensitive: true`. */
|
|
67
|
+
sensitive?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Present and true when a sensitive value inherited from an ancestor was
|
|
70
|
+
* withheld from this read. `value` is then `null`; `source_tenant_id` names
|
|
71
|
+
* the tenant that set it.
|
|
72
|
+
*/
|
|
73
|
+
masked?: boolean;
|
|
74
|
+
}
|
|
75
|
+
/** Options for reading a tenant's resolved config. */
|
|
76
|
+
export interface ResolveConfigOptions {
|
|
77
|
+
/**
|
|
78
|
+
* Return sensitive values inherited from ancestors decrypted. By default they
|
|
79
|
+
* come back masked. Only for trusted server-side code that needs the secret
|
|
80
|
+
* itself; do not pass the result back to a client.
|
|
81
|
+
*/
|
|
82
|
+
revealSensitive?: boolean;
|
|
83
|
+
/**
|
|
84
|
+
* The tenant the reader acts for. An inherited sensitive value that this
|
|
85
|
+
* tenant set is returned decrypted; any other stays masked.
|
|
86
|
+
*/
|
|
87
|
+
viewerTenantId?: string;
|
|
65
88
|
}
|
|
66
89
|
export type ResolvedConfig = Record<string, ResolvedConfigEntry>;
|
|
67
90
|
export interface BatchSetConfigKeyResult {
|
|
@@ -70,16 +93,27 @@ export interface BatchSetConfigKeyResult {
|
|
|
70
93
|
entry?: ConfigEntry;
|
|
71
94
|
error?: string;
|
|
72
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* The outcome of a batch config write. The batch is atomic: when any entry is
|
|
98
|
+
* locked by an ancestor or invalid, nothing is written, `rolled_back` is true,
|
|
99
|
+
* `succeeded` is 0, and every result has status `"error"`. The entries that
|
|
100
|
+
* caused the rollback carry their own reason; the others say they were not
|
|
101
|
+
* applied because of those keys.
|
|
102
|
+
*/
|
|
73
103
|
export interface BatchSetConfigResult {
|
|
74
104
|
results: BatchSetConfigKeyResult[];
|
|
75
105
|
succeeded: number;
|
|
76
106
|
failed: number;
|
|
107
|
+
/** True when the batch was rolled back and nothing was written. */
|
|
108
|
+
rolled_back?: boolean;
|
|
77
109
|
}
|
|
78
110
|
/** Per-key diff entry showing the value and status for one tenant side. */
|
|
79
111
|
export interface ConfigDiffEntry {
|
|
80
112
|
value: unknown;
|
|
81
113
|
status: "inherited" | "own" | "locked";
|
|
82
114
|
source: string;
|
|
115
|
+
/** Present and true when an inherited sensitive value was withheld (see {@link ResolvedConfigEntry.masked}). */
|
|
116
|
+
masked?: boolean;
|
|
83
117
|
}
|
|
84
118
|
/** A single key comparison between two tenants. */
|
|
85
119
|
export interface ConfigDiffItem {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAKH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;EAI/B,CAAC;AAKH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnE,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,kDAAkD;IAClD,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,sDAAsD;AACtD,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAEjE,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,uBAAuB,EAAE,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,2EAA2E;AAC3E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,gHAAgH;IAChH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,mDAAmD;AACnD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;CAClC;AAED,sDAAsD;AACtD,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,iCAAiC;AACjC,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,IAAI,EAAE,cAAc,EAAE,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;AAErE,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE;QACP,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH"}
|
package/dist/types/usage.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { z } from "zod";
|
|
|
3
3
|
* Input to record a single usage event for a tenant.
|
|
4
4
|
*
|
|
5
5
|
* `quantity` defaults to 1 (one countable unit) and must be a non-negative
|
|
6
|
-
* integer
|
|
6
|
+
* integer: metering counts up; credits / adjustments are out of scope.
|
|
7
7
|
* `occurred_at` is when the usage happened (ISO 8601); it defaults to insert
|
|
8
8
|
* time and is the timestamp aggregation windows filter on, so a back-dated
|
|
9
9
|
* import still lands in the right billing window. `idempotency_key`, when
|
package/dist/types/usage.js
CHANGED
|
@@ -7,7 +7,7 @@ const timestamptz_js_1 = require("../utils/timestamptz.js");
|
|
|
7
7
|
* Input to record a single usage event for a tenant.
|
|
8
8
|
*
|
|
9
9
|
* `quantity` defaults to 1 (one countable unit) and must be a non-negative
|
|
10
|
-
* integer
|
|
10
|
+
* integer: metering counts up; credits / adjustments are out of scope.
|
|
11
11
|
* `occurred_at` is when the usage happened (ISO 8601); it defaults to insert
|
|
12
12
|
* time and is the timestamp aggregation windows filter on, so a back-dated
|
|
13
13
|
* import still lands in the right billing window. `idempotency_key`, when
|
package/dist/utils/ancestry.d.ts
CHANGED
|
@@ -50,7 +50,7 @@ export declare function appendToPath(parentPath: string, childId: string): strin
|
|
|
50
50
|
*/
|
|
51
51
|
export declare function getAncestorIds(path: string): string[];
|
|
52
52
|
/**
|
|
53
|
-
* Get the last ID in an ancestry path
|
|
53
|
+
* Get the last ID in an ancestry path: the tenant's direct parent
|
|
54
54
|
* (ancestry paths exclude self). Returns null for a root tenant ("/").
|
|
55
55
|
*/
|
|
56
56
|
export declare function getSelfId(path: string): string | null;
|
package/dist/utils/ancestry.js
CHANGED
|
@@ -92,7 +92,7 @@ function getAncestorIds(path) {
|
|
|
92
92
|
return parseAncestryPath(path);
|
|
93
93
|
}
|
|
94
94
|
/**
|
|
95
|
-
* Get the last ID in an ancestry path
|
|
95
|
+
* Get the last ID in an ancestry path: the tenant's direct parent
|
|
96
96
|
* (ancestry paths exclude self). Returns null for a root tenant ("/").
|
|
97
97
|
*/
|
|
98
98
|
function getSelfId(path) {
|
package/dist/utils/errors.d.ts
CHANGED
|
@@ -27,7 +27,8 @@ export declare enum ErrorCode {
|
|
|
27
27
|
WEBHOOK_NOT_FOUND = "WEBHOOK_NOT_FOUND",
|
|
28
28
|
WEBHOOK_DELIVERY_FAILED = "WEBHOOK_DELIVERY_FAILED",
|
|
29
29
|
WEBHOOK_URL_INVALID = "WEBHOOK_URL_INVALID",
|
|
30
|
-
REGION_NOT_FOUND = "REGION_NOT_FOUND"
|
|
30
|
+
REGION_NOT_FOUND = "REGION_NOT_FOUND",
|
|
31
|
+
DECRYPTION_FAILED = "DECRYPTION_FAILED"
|
|
31
32
|
}
|
|
32
33
|
export declare class StratumError extends Error {
|
|
33
34
|
readonly code: ErrorCode;
|
|
@@ -49,7 +50,8 @@ export declare class TenantAlreadyExistsError extends StratumError {
|
|
|
49
50
|
constructor(slug: string);
|
|
50
51
|
}
|
|
51
52
|
export declare class TenantHasChildrenError extends StratumError {
|
|
52
|
-
|
|
53
|
+
/** `action` names the blocked transition. */
|
|
54
|
+
constructor(tenantId: string, action?: "archive" | "suspend");
|
|
53
55
|
}
|
|
54
56
|
export declare class TenantCycleDetectedError extends StratumError {
|
|
55
57
|
constructor(tenantId: string, newParentId: string);
|
|
@@ -168,4 +170,15 @@ export declare class InvalidAbacOperatorError extends StratumError {
|
|
|
168
170
|
export declare class AbacPolicyLockedError extends StratumError {
|
|
169
171
|
constructor(policyName: string, lockerTenantId: string);
|
|
170
172
|
}
|
|
173
|
+
/**
|
|
174
|
+
* A stored encrypted value could not be decrypted: it is not in the Stratum
|
|
175
|
+
* ciphertext format, or it fails authentication because it was encrypted
|
|
176
|
+
* under a different key or HKDF salt (or was altered). The message never
|
|
177
|
+
* contains the value. `cause` holds the underlying error.
|
|
178
|
+
*/
|
|
179
|
+
export declare class DecryptionError extends StratumError {
|
|
180
|
+
constructor(reason: "format" | "authentication", options?: {
|
|
181
|
+
cause?: unknown;
|
|
182
|
+
});
|
|
183
|
+
}
|
|
171
184
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,qBAAqB,0BAA0B;IAC/C,kBAAkB,uBAAuB;IACzC,qBAAqB,0BAA0B;IAC/C,gBAAgB,qBAAqB;IACrC,qBAAqB,0BAA0B;IAC/C,mBAAmB,wBAAwB;IAC3C,qBAAqB,0BAA0B;IAC/C,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,cAAc,mBAAmB;IACjC,0BAA0B,+BAA+B;IACzD,oBAAoB,yBAAyB;IAC7C,wBAAwB,6BAA6B;IACrD,mBAAmB,wBAAwB;IAC3C,8BAA8B,mCAAmC;IACjE,iBAAiB,sBAAsB;IACvC,oBAAoB,yBAAyB;IAC7C,4BAA4B,iCAAiC;IAC7D,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;IAC7B,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,iBAAiB,sBAAsB;IACvC,uBAAuB,4BAA4B;IACnD,mBAAmB,wBAAwB;IAC3C,gBAAgB,qBAAqB;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/errors.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AbacPolicyLockedError = exports.InvalidAbacOperatorError = exports.AbacPolicyNotFoundError = exports.RegionNotFoundError = exports.WebhookUrlValidationError = exports.WebhookDeliveryError = exports.WebhookNotFoundError = exports.RegionNotActiveError = exports.RegionInUseError = exports.ForbiddenError = exports.UnauthorizedError = exports.ValidationError = exports.ConfigNotFoundError = exports.ConfigLockedError = exports.PermissionRevocationDeniedError = exports.PermissionNotFoundError = exports.PermissionLockedError = exports.IsolationStrategyUnsupportedError = exports.IsolationViolationError = exports.TenantContextNotFoundError = exports.InvalidTenantStateError = exports.TenantProvisioningError = exports.TenantPendingError = exports.TenantSuspendedError = exports.TenantArchivedError = exports.TenantCycleDetectedError = exports.TenantHasChildrenError = exports.TenantAlreadyExistsError = exports.TenantNotFoundError = exports.StratumError = exports.ErrorCode = void 0;
|
|
3
|
+
exports.DecryptionError = exports.AbacPolicyLockedError = exports.InvalidAbacOperatorError = exports.AbacPolicyNotFoundError = exports.RegionNotFoundError = exports.WebhookUrlValidationError = exports.WebhookDeliveryError = exports.WebhookNotFoundError = exports.RegionNotActiveError = exports.RegionInUseError = exports.ForbiddenError = exports.UnauthorizedError = exports.ValidationError = exports.ConfigNotFoundError = exports.ConfigLockedError = exports.PermissionRevocationDeniedError = exports.PermissionNotFoundError = exports.PermissionLockedError = exports.IsolationStrategyUnsupportedError = exports.IsolationViolationError = exports.TenantContextNotFoundError = exports.InvalidTenantStateError = exports.TenantProvisioningError = exports.TenantPendingError = exports.TenantSuspendedError = exports.TenantArchivedError = exports.TenantCycleDetectedError = exports.TenantHasChildrenError = exports.TenantAlreadyExistsError = exports.TenantNotFoundError = exports.StratumError = exports.ErrorCode = void 0;
|
|
4
4
|
var ErrorCode;
|
|
5
5
|
(function (ErrorCode) {
|
|
6
6
|
ErrorCode["ABAC_POLICY_NOT_FOUND"] = "ABAC_POLICY_NOT_FOUND";
|
|
@@ -32,6 +32,7 @@ var ErrorCode;
|
|
|
32
32
|
ErrorCode["WEBHOOK_DELIVERY_FAILED"] = "WEBHOOK_DELIVERY_FAILED";
|
|
33
33
|
ErrorCode["WEBHOOK_URL_INVALID"] = "WEBHOOK_URL_INVALID";
|
|
34
34
|
ErrorCode["REGION_NOT_FOUND"] = "REGION_NOT_FOUND";
|
|
35
|
+
ErrorCode["DECRYPTION_FAILED"] = "DECRYPTION_FAILED";
|
|
35
36
|
})(ErrorCode || (exports.ErrorCode = ErrorCode = {}));
|
|
36
37
|
class StratumError extends Error {
|
|
37
38
|
code;
|
|
@@ -70,8 +71,11 @@ class TenantAlreadyExistsError extends StratumError {
|
|
|
70
71
|
}
|
|
71
72
|
exports.TenantAlreadyExistsError = TenantAlreadyExistsError;
|
|
72
73
|
class TenantHasChildrenError extends StratumError {
|
|
73
|
-
|
|
74
|
-
|
|
74
|
+
/** `action` names the blocked transition. */
|
|
75
|
+
constructor(tenantId, action = "archive") {
|
|
76
|
+
super(ErrorCode.TENANT_HAS_CHILDREN, action === "suspend"
|
|
77
|
+
? `Cannot suspend tenant ${tenantId}: it has active children. Suspend or archive its children first.`
|
|
78
|
+
: `Cannot archive tenant ${tenantId}: it has active children. Archive children first.`, 409);
|
|
75
79
|
this.name = "TenantHasChildrenError";
|
|
76
80
|
}
|
|
77
81
|
}
|
|
@@ -298,4 +302,25 @@ class AbacPolicyLockedError extends StratumError {
|
|
|
298
302
|
}
|
|
299
303
|
}
|
|
300
304
|
exports.AbacPolicyLockedError = AbacPolicyLockedError;
|
|
305
|
+
/**
|
|
306
|
+
* A stored encrypted value could not be decrypted: it is not in the Stratum
|
|
307
|
+
* ciphertext format, or it fails authentication because it was encrypted
|
|
308
|
+
* under a different key or HKDF salt (or was altered). The message never
|
|
309
|
+
* contains the value. `cause` holds the underlying error.
|
|
310
|
+
*/
|
|
311
|
+
class DecryptionError extends StratumError {
|
|
312
|
+
constructor(reason, options) {
|
|
313
|
+
super(ErrorCode.DECRYPTION_FAILED, reason === "format"
|
|
314
|
+
? "Cannot decrypt a stored value: Invalid encrypted value format"
|
|
315
|
+
: "Cannot decrypt a stored value: it was encrypted under a different " +
|
|
316
|
+
"STRATUM_ENCRYPTION_KEY or STRATUM_HKDF_SALT, or it was altered. During a key " +
|
|
317
|
+
"or salt change, set STRATUM_ENCRYPTION_KEY_PREVIOUS and STRATUM_HKDF_SALT_PREVIOUS " +
|
|
318
|
+
"to the earlier values.", 500);
|
|
319
|
+
this.name = "DecryptionError";
|
|
320
|
+
if (options && "cause" in options) {
|
|
321
|
+
Object.defineProperty(this, "cause", { value: options.cause, writable: true, configurable: true });
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
exports.DecryptionError = DecryptionError;
|
|
301
326
|
//# sourceMappingURL=errors.js.map
|
package/dist/utils/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":";;;AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stratum-hq/core",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.6.0",
|
|
4
|
+
"description": "Shared types, Zod schemas, and errors for the Stratum multi-tenancy packages",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"multi-tenancy",
|
|
7
|
+
"multitenancy",
|
|
7
8
|
"multi-tenant",
|
|
8
9
|
"saas",
|
|
9
10
|
"tenant",
|
|
11
|
+
"tenant-isolation",
|
|
12
|
+
"zod",
|
|
10
13
|
"typescript",
|
|
11
14
|
"validation",
|
|
12
15
|
"schemas",
|
|
@@ -45,7 +48,7 @@
|
|
|
45
48
|
},
|
|
46
49
|
"license": "MIT",
|
|
47
50
|
"author": "Christian Crank",
|
|
48
|
-
"homepage": "https://
|
|
51
|
+
"homepage": "https://docs.stratum-hq.org/packages/core/",
|
|
49
52
|
"bugs": "https://github.com/stratum-hq/Stratum/issues",
|
|
50
53
|
"engines": {
|
|
51
54
|
"node": ">=20.0.0"
|