@stratum-hq/lib 0.2.1 → 0.2.4
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/dist/__tests__/migrate-schemas.test.d.ts +2 -0
- package/dist/__tests__/migrate-schemas.test.d.ts.map +1 -0
- package/dist/__tests__/migrate-schemas.test.js +225 -0
- package/dist/__tests__/migrate-schemas.test.js.map +1 -0
- package/dist/__tests__/stratum-als.test.d.ts +2 -0
- package/dist/__tests__/stratum-als.test.d.ts.map +1 -0
- package/dist/__tests__/stratum-als.test.js +49 -0
- package/dist/__tests__/stratum-als.test.js.map +1 -0
- package/dist/crypto.d.ts +3 -1
- package/dist/crypto.d.ts.map +1 -1
- package/dist/crypto.js +28 -4
- package/dist/crypto.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/migrate-schemas.d.ts +22 -0
- package/dist/migrate-schemas.d.ts.map +1 -0
- package/dist/migrate-schemas.js +128 -0
- package/dist/migrate-schemas.js.map +1 -0
- package/dist/migrate.d.ts +8 -0
- package/dist/migrate.d.ts.map +1 -0
- package/dist/migrate.js +61 -0
- package/dist/migrate.js.map +1 -0
- package/dist/migrations/001_init.sql +145 -0
- package/dist/migrations/002_schema_isolation.sql +6 -0
- package/dist/migrations/003_db_isolation.sql +12 -0
- package/dist/migrations/004_webhooks.sql +53 -0
- package/dist/migrations/005_audit_logs.sql +21 -0
- package/dist/migrations/006_api_key_scopes.sql +2 -0
- package/dist/migrations/007_sensitive_config.sql +1 -0
- package/dist/migrations/008_api_key_management.sql +7 -0
- package/dist/migrations/009_consent.sql +18 -0
- package/dist/migrations/010_multi_region.sql +19 -0
- package/dist/migrations/011_demo_bootstrap.sql +5 -0
- package/dist/migrations/012_roles.sql +18 -0
- package/dist/migrations/013_api_key_hmac.sql +4 -0
- package/dist/migrations/014_sort_order.sql +5 -0
- package/dist/migrations/015_region_url_encryption.sql +5 -0
- package/dist/migrations/016_migration_alias.sql +8 -0
- package/dist/migrations/017_abac_policies.sql +16 -0
- package/dist/services/__tests__/abac-service.test.d.ts +2 -0
- package/dist/services/__tests__/abac-service.test.d.ts.map +1 -0
- package/dist/services/__tests__/abac-service.test.js +108 -0
- package/dist/services/__tests__/abac-service.test.js.map +1 -0
- package/dist/services/abac-service.d.ts +41 -0
- package/dist/services/abac-service.d.ts.map +1 -0
- package/dist/services/abac-service.js +268 -0
- package/dist/services/abac-service.js.map +1 -0
- package/dist/services/event-service.d.ts +7 -0
- package/dist/services/event-service.d.ts.map +1 -1
- package/dist/services/event-service.js +3 -0
- package/dist/services/event-service.js.map +1 -1
- package/dist/services/key-rotation-service.d.ts +5 -5
- package/dist/services/key-rotation-service.d.ts.map +1 -1
- package/dist/services/key-rotation-service.js +42 -29
- package/dist/services/key-rotation-service.js.map +1 -1
- package/dist/stratum.d.ts +45 -3
- package/dist/stratum.d.ts.map +1 -1
- package/dist/stratum.js +106 -23
- package/dist/stratum.js.map +1 -1
- package/package.json +21 -2
package/dist/stratum.js
CHANGED
|
@@ -50,17 +50,68 @@ const retentionService = __importStar(require("./services/retention-service.js")
|
|
|
50
50
|
const regionService = __importStar(require("./services/region-service.js"));
|
|
51
51
|
const keyRotationService = __importStar(require("./services/key-rotation-service.js"));
|
|
52
52
|
const roleService = __importStar(require("./services/role-service.js"));
|
|
53
|
+
const abacService = __importStar(require("./services/abac-service.js"));
|
|
53
54
|
const telemetry_js_1 = require("./telemetry.js");
|
|
54
55
|
const logger_js_1 = require("./logger.js");
|
|
56
|
+
const sdk_1 = require("@stratum-hq/sdk");
|
|
55
57
|
const core_1 = require("@stratum-hq/core");
|
|
58
|
+
const migrate_js_1 = require("./migrate.js");
|
|
56
59
|
class Stratum {
|
|
57
60
|
pool;
|
|
58
61
|
keyPrefix;
|
|
59
62
|
logger;
|
|
63
|
+
autoMigrate;
|
|
64
|
+
enforceRls;
|
|
65
|
+
initPromise = null;
|
|
60
66
|
constructor(options) {
|
|
61
67
|
this.pool = options.pool;
|
|
62
68
|
this.keyPrefix = options.keyPrefix ?? "sk_live_";
|
|
63
69
|
this.logger = options.logger ?? logger_js_1.defaultLogger;
|
|
70
|
+
this.autoMigrate = options.autoMigrate ?? false;
|
|
71
|
+
this.enforceRls = options.enforceRls ?? false;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Initialize Stratum — runs migrations if autoMigrate is enabled.
|
|
75
|
+
* Call this once before using any other methods. Safe to call multiple
|
|
76
|
+
* times concurrently — subsequent calls return the same promise.
|
|
77
|
+
*/
|
|
78
|
+
async initialize() {
|
|
79
|
+
if (!this.initPromise) {
|
|
80
|
+
this.initPromise = this._doInitialize();
|
|
81
|
+
}
|
|
82
|
+
return this.initPromise;
|
|
83
|
+
}
|
|
84
|
+
async _doInitialize() {
|
|
85
|
+
if (this.autoMigrate) {
|
|
86
|
+
if (process.env.NODE_ENV === "production" && !this.enforceRls) {
|
|
87
|
+
this.logger.warn("autoMigrate is enabled in production without enforceRls. " +
|
|
88
|
+
"Set enforceRls: true for production deployments.");
|
|
89
|
+
}
|
|
90
|
+
this.logger.info("running auto-migration");
|
|
91
|
+
await (0, migrate_js_1.migrate)({ pool: this.pool, enforceRls: this.enforceRls });
|
|
92
|
+
this.logger.info("auto-migration complete");
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// --- Flat-tenancy convenience API ---
|
|
96
|
+
/** Create a root-level organization (flat-tenancy alias for createTenant). */
|
|
97
|
+
async createOrganization(input, audit) {
|
|
98
|
+
return this.createTenant({ ...input, parent_id: null }, audit);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* List root-level organizations only (flat-tenancy alias).
|
|
102
|
+
* Note: filters client-side after fetching. Adequate for the gateway
|
|
103
|
+
* audience with few tenants. For large datasets, query with WHERE parent_id IS NULL directly.
|
|
104
|
+
*/
|
|
105
|
+
async listOrganizations(pagination) {
|
|
106
|
+
const result = await this.listTenants(pagination);
|
|
107
|
+
return {
|
|
108
|
+
...result,
|
|
109
|
+
data: result.data.filter((t) => t.parent_id === null),
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/** Get an organization by ID (flat-tenancy alias for getTenant). */
|
|
113
|
+
getOrganization(id) {
|
|
114
|
+
return this.getTenant(id);
|
|
64
115
|
}
|
|
65
116
|
// Internal event emission — fire-and-forget, errors are non-fatal
|
|
66
117
|
emitEvent(type, tenantId, data,
|
|
@@ -374,7 +425,7 @@ class Stratum {
|
|
|
374
425
|
}
|
|
375
426
|
// Webhook operations
|
|
376
427
|
async createWebhook(input, audit) {
|
|
377
|
-
|
|
428
|
+
await eventService.validateWebhookUrlWithDns(input.url);
|
|
378
429
|
const webhook = await webhookService.createWebhook(this.pool, input);
|
|
379
430
|
if (audit) {
|
|
380
431
|
await auditService.createAuditEntry(this.pool, audit, "webhook.created", "webhook", webhook.id, input.tenant_id ?? null, null, { url: webhook.url, events: webhook.events });
|
|
@@ -389,7 +440,7 @@ class Stratum {
|
|
|
389
440
|
}
|
|
390
441
|
async updateWebhook(id, input, audit) {
|
|
391
442
|
if (input.url !== undefined) {
|
|
392
|
-
|
|
443
|
+
await eventService.validateWebhookUrlWithDns(input.url);
|
|
393
444
|
}
|
|
394
445
|
const webhook = await webhookService.updateWebhook(this.pool, id, input);
|
|
395
446
|
if (audit) {
|
|
@@ -413,7 +464,7 @@ class Stratum {
|
|
|
413
464
|
async testWebhook(id) {
|
|
414
465
|
const webhook = await webhookService.getWebhook(this.pool, id);
|
|
415
466
|
// SSRF protection
|
|
416
|
-
|
|
467
|
+
await eventService.validateWebhookUrlWithDns(webhook.url);
|
|
417
468
|
const testPayload = JSON.stringify({
|
|
418
469
|
id: node_crypto_1.default.randomUUID(),
|
|
419
470
|
type: "webhook.test",
|
|
@@ -437,6 +488,7 @@ class Stratum {
|
|
|
437
488
|
"X-Stratum-Timestamp": timestamp,
|
|
438
489
|
},
|
|
439
490
|
body: testPayload,
|
|
491
|
+
redirect: "error",
|
|
440
492
|
signal: AbortSignal.timeout(10_000),
|
|
441
493
|
});
|
|
442
494
|
return { success: response.ok, response_code: response.status };
|
|
@@ -575,6 +627,32 @@ class Stratum {
|
|
|
575
627
|
resolveKeyScopes(keyId) {
|
|
576
628
|
return roleService.resolveKeyScopes(this.pool, keyId);
|
|
577
629
|
}
|
|
630
|
+
// ABAC operations
|
|
631
|
+
createAbacPolicy(tenantId, input) {
|
|
632
|
+
return (0, telemetry_js_1.traced)("abac.create_policy", { tenant_id: tenantId }, async () => {
|
|
633
|
+
return abacService.createAbacPolicy(this.pool, tenantId, input);
|
|
634
|
+
});
|
|
635
|
+
}
|
|
636
|
+
getAbacPolicies(tenantId) {
|
|
637
|
+
return (0, telemetry_js_1.traced)("abac.get_policies", { tenant_id: tenantId }, async () => {
|
|
638
|
+
return abacService.getAbacPolicies(this.pool, tenantId);
|
|
639
|
+
});
|
|
640
|
+
}
|
|
641
|
+
resolveAbacPolicies(tenantId) {
|
|
642
|
+
return (0, telemetry_js_1.traced)("abac.resolve_policies", { tenant_id: tenantId }, async () => {
|
|
643
|
+
return abacService.resolveAbacPolicies(this.pool, tenantId);
|
|
644
|
+
});
|
|
645
|
+
}
|
|
646
|
+
evaluateAbac(tenantId, request) {
|
|
647
|
+
return (0, telemetry_js_1.traced)("abac.evaluate", { tenant_id: tenantId, action: request.action }, async () => {
|
|
648
|
+
return abacService.evaluateAbac(this.pool, tenantId, request);
|
|
649
|
+
});
|
|
650
|
+
}
|
|
651
|
+
deleteAbacPolicy(tenantId, policyId) {
|
|
652
|
+
return (0, telemetry_js_1.traced)("abac.delete_policy", { tenant_id: tenantId, policy_id: policyId }, async () => {
|
|
653
|
+
return abacService.deleteAbacPolicy(this.pool, tenantId, policyId);
|
|
654
|
+
});
|
|
655
|
+
}
|
|
578
656
|
// Batch operations
|
|
579
657
|
async batchCreateTenants(inputs, audit) {
|
|
580
658
|
const result = await tenantService.batchCreateTenants(this.pool, inputs);
|
|
@@ -612,33 +690,38 @@ class Stratum {
|
|
|
612
690
|
}
|
|
613
691
|
return result;
|
|
614
692
|
}
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
693
|
+
// --- AsyncLocalStorage convenience methods ---
|
|
694
|
+
/**
|
|
695
|
+
* Returns the current tenant ID from the AsyncLocalStorage context, or
|
|
696
|
+
* undefined if called outside an active tenant context.
|
|
697
|
+
*/
|
|
698
|
+
static currentTenantId() {
|
|
618
699
|
try {
|
|
619
|
-
|
|
700
|
+
return (0, sdk_1.getTenantContext)().tenant_id;
|
|
620
701
|
}
|
|
621
702
|
catch {
|
|
622
|
-
|
|
703
|
+
return undefined;
|
|
623
704
|
}
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
705
|
+
}
|
|
706
|
+
/**
|
|
707
|
+
* Returns the full TenantContextLegacy object from the AsyncLocalStorage
|
|
708
|
+
* context, or undefined if called outside an active tenant context.
|
|
709
|
+
*/
|
|
710
|
+
static currentTenantContext() {
|
|
711
|
+
try {
|
|
712
|
+
return (0, sdk_1.getTenantContext)();
|
|
631
713
|
}
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
/^169\.254\./, /^0\./, /^::1$/, /^fc00:/, /^fe80:/,
|
|
635
|
-
];
|
|
636
|
-
for (const pattern of privatePatterns) {
|
|
637
|
-
if (pattern.test(hostname)) {
|
|
638
|
-
throw new Error(`Webhook URL targets a private/reserved IP range: ${hostname}`);
|
|
639
|
-
}
|
|
714
|
+
catch {
|
|
715
|
+
return undefined;
|
|
640
716
|
}
|
|
641
717
|
}
|
|
718
|
+
/**
|
|
719
|
+
* Executes a function within a tenant context backed by AsyncLocalStorage.
|
|
720
|
+
* Wraps runWithTenantContext from @stratum-hq/sdk.
|
|
721
|
+
*/
|
|
722
|
+
static runWithTenant(ctx, fn) {
|
|
723
|
+
return (0, sdk_1.runWithTenantContext)(ctx, fn);
|
|
724
|
+
}
|
|
642
725
|
}
|
|
643
726
|
exports.Stratum = Stratum;
|
|
644
727
|
//# sourceMappingURL=stratum.js.map
|
package/dist/stratum.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stratum.js","sourceRoot":"","sources":["../src/stratum.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stratum.js","sourceRoot":"","sources":["../src/stratum.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stratum-hq/lib",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "Stratum tenant management library - framework-agnostic business logic",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"multi-tenancy",
|
|
7
|
+
"multi-tenant",
|
|
8
|
+
"saas",
|
|
9
|
+
"b2b",
|
|
10
|
+
"tenant",
|
|
11
|
+
"tenant-management",
|
|
12
|
+
"tenant-isolation",
|
|
13
|
+
"node",
|
|
14
|
+
"typescript",
|
|
15
|
+
"postgresql",
|
|
16
|
+
"row-level-security",
|
|
17
|
+
"rls",
|
|
18
|
+
"schema-isolation",
|
|
19
|
+
"config-inheritance",
|
|
20
|
+
"gdpr",
|
|
21
|
+
"stratum"
|
|
22
|
+
],
|
|
5
23
|
"main": "./dist/index.js",
|
|
6
24
|
"types": "./dist/index.d.ts",
|
|
7
25
|
"exports": {
|
|
@@ -16,7 +34,7 @@
|
|
|
16
34
|
"LICENSE"
|
|
17
35
|
],
|
|
18
36
|
"scripts": {
|
|
19
|
-
"build": "tsc",
|
|
37
|
+
"build": "tsc && cp -r src/migrations dist/migrations",
|
|
20
38
|
"test": "vitest run",
|
|
21
39
|
"lint": "tsc --noEmit",
|
|
22
40
|
"clean": "rm -rf dist"
|
|
@@ -28,6 +46,7 @@
|
|
|
28
46
|
"dependencies": {
|
|
29
47
|
"@opentelemetry/api": "^1.9.0",
|
|
30
48
|
"@stratum-hq/core": "*",
|
|
49
|
+
"@stratum-hq/sdk": "*",
|
|
31
50
|
"pg": "^8.11.0"
|
|
32
51
|
},
|
|
33
52
|
"peerDependencies": {
|