@authrim/setup 0.1.141 → 0.1.142
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__/keys.test.js.map +1 -1
- package/dist/__tests__/migrate.test.js +4 -4
- package/dist/__tests__/migrate.test.js.map +1 -1
- package/dist/__tests__/paths.test.js.map +1 -1
- package/dist/cli/commands/deploy.d.ts.map +1 -1
- package/dist/cli/commands/deploy.js +57 -63
- package/dist/cli/commands/deploy.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +231 -171
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/core/admin.d.ts.map +1 -1
- package/dist/core/admin.js +13 -3
- package/dist/core/admin.js.map +1 -1
- package/dist/core/cloudflare.d.ts +38 -1
- package/dist/core/cloudflare.d.ts.map +1 -1
- package/dist/core/cloudflare.js +729 -115
- package/dist/core/cloudflare.js.map +1 -1
- package/dist/core/config.d.ts +136 -28
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +58 -11
- package/dist/core/config.js.map +1 -1
- package/dist/core/deploy.d.ts +18 -0
- package/dist/core/deploy.d.ts.map +1 -1
- package/dist/core/deploy.js +126 -25
- package/dist/core/deploy.js.map +1 -1
- package/dist/core/keys.d.ts.map +1 -1
- package/dist/core/keys.js +2 -0
- package/dist/core/keys.js.map +1 -1
- package/dist/core/login-ui-client.d.ts.map +1 -1
- package/dist/core/login-ui-client.js +43 -7
- package/dist/core/login-ui-client.js.map +1 -1
- package/dist/core/paths.d.ts.map +1 -1
- package/dist/core/paths.js +5 -5
- package/dist/core/paths.js.map +1 -1
- package/dist/core/tenant-mode.d.ts +4 -0
- package/dist/core/tenant-mode.d.ts.map +1 -0
- package/dist/core/tenant-mode.js +17 -0
- package/dist/core/tenant-mode.js.map +1 -0
- package/dist/core/ui-deployment.d.ts +21 -0
- package/dist/core/ui-deployment.d.ts.map +1 -0
- package/dist/core/ui-deployment.js +90 -0
- package/dist/core/ui-deployment.js.map +1 -0
- package/dist/core/ui-env.d.ts +17 -0
- package/dist/core/ui-env.d.ts.map +1 -1
- package/dist/core/ui-env.js +16 -0
- package/dist/core/ui-env.js.map +1 -1
- package/dist/core/url-config.d.ts +16 -0
- package/dist/core/url-config.d.ts.map +1 -0
- package/dist/core/url-config.js +46 -0
- package/dist/core/url-config.js.map +1 -0
- package/dist/core/wrangler.d.ts +50 -1
- package/dist/core/wrangler.d.ts.map +1 -1
- package/dist/core/wrangler.js +169 -55
- package/dist/core/wrangler.js.map +1 -1
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/de.js +37 -0
- package/dist/i18n/locales/de.js.map +1 -1
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +37 -0
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/es.js +37 -0
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/fr.js +37 -0
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/id.d.ts.map +1 -1
- package/dist/i18n/locales/id.js +37 -0
- package/dist/i18n/locales/id.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +37 -0
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/locales/ko.d.ts.map +1 -1
- package/dist/i18n/locales/ko.js +37 -0
- package/dist/i18n/locales/ko.js.map +1 -1
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/pt.js +37 -0
- package/dist/i18n/locales/pt.js.map +1 -1
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/ru.js +37 -0
- package/dist/i18n/locales/ru.js.map +1 -1
- package/dist/i18n/locales/zh-CN.d.ts.map +1 -1
- package/dist/i18n/locales/zh-CN.js +37 -0
- package/dist/i18n/locales/zh-CN.js.map +1 -1
- package/dist/i18n/locales/zh-TW.d.ts.map +1 -1
- package/dist/i18n/locales/zh-TW.js +37 -0
- package/dist/i18n/locales/zh-TW.js.map +1 -1
- package/dist/i18n/types.d.ts +8 -0
- package/dist/i18n/types.d.ts.map +1 -1
- package/dist/index.js +38 -29
- package/dist/index.js.map +1 -1
- package/dist/web/api.d.ts.map +1 -1
- package/dist/web/api.js +207 -95
- package/dist/web/api.js.map +1 -1
- package/dist/web/ui.d.ts.map +1 -1
- package/dist/web/ui.js +506 -109
- package/dist/web/ui.js.map +1 -1
- package/migrations/000_fresh_schema.sql +227 -9
- package/migrations/admin/006_admin_setup_tokens.sql +91 -91
- package/migrations/admin/007_admin_role_inheritance.sql +32 -0
- package/migrations/admin/008_admin_rebac_definitions.sql +117 -0
- package/migrations/admin/009_optimize_admin_audit_indexes.sql +15 -0
- package/package.json +5 -5
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
-- =============================================================================
|
|
2
|
+
-- Migration: Admin ReBAC Definitions (D1_ADMIN)
|
|
3
|
+
-- =============================================================================
|
|
4
|
+
-- Created: 2026-02-06
|
|
5
|
+
-- Description: Adds admin_rebac_definitions table for managing relationship
|
|
6
|
+
-- type definitions. This complements the existing admin_relationships
|
|
7
|
+
-- table which stores relationship instances (tuples).
|
|
8
|
+
--
|
|
9
|
+
-- Architecture:
|
|
10
|
+
-- - admin_rebac_definitions: Relationship type definitions (metadata)
|
|
11
|
+
-- - admin_relationships: Relationship instances (tuples)
|
|
12
|
+
-- =============================================================================
|
|
13
|
+
|
|
14
|
+
-- =============================================================================
|
|
15
|
+
-- admin_rebac_definitions Table
|
|
16
|
+
-- =============================================================================
|
|
17
|
+
-- Defines relationship types that can be used in ReBAC.
|
|
18
|
+
-- Examples: admin_supervises, admin_team_member, admin_escalation_chain
|
|
19
|
+
-- =============================================================================
|
|
20
|
+
|
|
21
|
+
CREATE TABLE IF NOT EXISTS admin_rebac_definitions (
|
|
22
|
+
-- Definition ID (UUID v4)
|
|
23
|
+
id TEXT PRIMARY KEY,
|
|
24
|
+
|
|
25
|
+
-- Multi-tenant support
|
|
26
|
+
tenant_id TEXT NOT NULL DEFAULT 'default',
|
|
27
|
+
|
|
28
|
+
-- Relationship name (e.g., 'admin_supervises', 'admin_team_member')
|
|
29
|
+
relation_name TEXT NOT NULL,
|
|
30
|
+
|
|
31
|
+
-- Human-readable display name
|
|
32
|
+
display_name TEXT,
|
|
33
|
+
|
|
34
|
+
-- Description of what this relationship means
|
|
35
|
+
description TEXT,
|
|
36
|
+
|
|
37
|
+
-- Priority for evaluation (higher = evaluated first)
|
|
38
|
+
priority INTEGER DEFAULT 0,
|
|
39
|
+
|
|
40
|
+
-- Whether this is a system-defined relationship (cannot be deleted)
|
|
41
|
+
is_system INTEGER DEFAULT 0,
|
|
42
|
+
|
|
43
|
+
-- Lifecycle
|
|
44
|
+
created_at INTEGER NOT NULL,
|
|
45
|
+
updated_at INTEGER NOT NULL,
|
|
46
|
+
|
|
47
|
+
-- Unique constraint for relation name per tenant
|
|
48
|
+
UNIQUE(tenant_id, relation_name)
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
-- =============================================================================
|
|
52
|
+
-- Indexes for admin_rebac_definitions
|
|
53
|
+
-- =============================================================================
|
|
54
|
+
|
|
55
|
+
CREATE INDEX IF NOT EXISTS idx_admin_rebac_def_tenant ON admin_rebac_definitions(tenant_id);
|
|
56
|
+
CREATE INDEX IF NOT EXISTS idx_admin_rebac_def_name ON admin_rebac_definitions(tenant_id, relation_name);
|
|
57
|
+
|
|
58
|
+
-- =============================================================================
|
|
59
|
+
-- Default ReBAC Definitions
|
|
60
|
+
-- =============================================================================
|
|
61
|
+
|
|
62
|
+
-- Supervises relationship
|
|
63
|
+
INSERT OR IGNORE INTO admin_rebac_definitions (
|
|
64
|
+
id, tenant_id, relation_name, display_name, description,
|
|
65
|
+
priority, is_system, created_at, updated_at
|
|
66
|
+
) VALUES (
|
|
67
|
+
'rebac_def_supervises',
|
|
68
|
+
'default',
|
|
69
|
+
'admin_supervises',
|
|
70
|
+
'Supervises',
|
|
71
|
+
'Admin user supervises another admin user',
|
|
72
|
+
100,
|
|
73
|
+
1,
|
|
74
|
+
strftime('%s', 'now') * 1000,
|
|
75
|
+
strftime('%s', 'now') * 1000
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
-- Team member relationship
|
|
79
|
+
INSERT OR IGNORE INTO admin_rebac_definitions (
|
|
80
|
+
id, tenant_id, relation_name, display_name, description,
|
|
81
|
+
priority, is_system, created_at, updated_at
|
|
82
|
+
) VALUES (
|
|
83
|
+
'rebac_def_team_member',
|
|
84
|
+
'default',
|
|
85
|
+
'admin_team_member',
|
|
86
|
+
'Team Member',
|
|
87
|
+
'Admin user is a member of a team',
|
|
88
|
+
50,
|
|
89
|
+
1,
|
|
90
|
+
strftime('%s', 'now') * 1000,
|
|
91
|
+
strftime('%s', 'now') * 1000
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
-- Escalation chain relationship
|
|
95
|
+
INSERT OR IGNORE INTO admin_rebac_definitions (
|
|
96
|
+
id, tenant_id, relation_name, display_name, description,
|
|
97
|
+
priority, is_system, created_at, updated_at
|
|
98
|
+
) VALUES (
|
|
99
|
+
'rebac_def_escalation',
|
|
100
|
+
'default',
|
|
101
|
+
'admin_escalation_chain',
|
|
102
|
+
'Escalation Chain',
|
|
103
|
+
'Admin user is in escalation chain for another admin user',
|
|
104
|
+
75,
|
|
105
|
+
1,
|
|
106
|
+
strftime('%s', 'now') * 1000,
|
|
107
|
+
strftime('%s', 'now') * 1000
|
|
108
|
+
);
|
|
109
|
+
|
|
110
|
+
-- =============================================================================
|
|
111
|
+
-- Migration Complete
|
|
112
|
+
-- =============================================================================
|
|
113
|
+
--
|
|
114
|
+
-- admin_rebac_definitions table is now available for managing relationship types.
|
|
115
|
+
-- Use admin_relationships table to create relationship instances (tuples).
|
|
116
|
+
--
|
|
117
|
+
-- =============================================================================
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
-- D1 Write Amplification Optimization for admin_audit_log
|
|
2
|
+
-- All queries filter by tenant_id, so idx_admin_audit_log_tenant_time covers most cases
|
|
3
|
+
--
|
|
4
|
+
-- Redundant: all queries include tenant_id filter
|
|
5
|
+
-- idx_admin_audit_log_tenant_time(tenant_id, created_at DESC) covers this
|
|
6
|
+
DROP INDEX IF EXISTS idx_admin_audit_log_created_at;
|
|
7
|
+
|
|
8
|
+
-- Never searched alone - always combined with tenant_id (admin-audit-log.ts:218,347)
|
|
9
|
+
DROP INDEX IF EXISTS idx_admin_audit_log_severity;
|
|
10
|
+
|
|
11
|
+
-- Never searched alone - always combined with tenant_id (admin-audit-log.ts:214,322)
|
|
12
|
+
DROP INDEX IF EXISTS idx_admin_audit_log_result;
|
|
13
|
+
|
|
14
|
+
-- Low-frequency optional admin filter, not on critical path (admin-audit-log.ts:222)
|
|
15
|
+
DROP INDEX IF EXISTS idx_admin_audit_log_ip;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@authrim/setup",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.142",
|
|
4
4
|
"description": "CLI tool for setting up Authrim OIDC Provider on Cloudflare Workers",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -31,15 +31,15 @@
|
|
|
31
31
|
"zod": "^3.24.1",
|
|
32
32
|
"degit": "^2.8.4",
|
|
33
33
|
"execa": "^9.5.2",
|
|
34
|
-
"@hono/node-server": "^1.19.
|
|
35
|
-
"hono": "^4.
|
|
36
|
-
"tar": "^7.5.
|
|
34
|
+
"@hono/node-server": "^1.19.10",
|
|
35
|
+
"hono": "^4.12.7",
|
|
36
|
+
"tar": "^7.5.10"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
39
|
"@types/node": "^22.10.4",
|
|
40
40
|
"@types/tar": "^6.1.13",
|
|
41
41
|
"typescript": "^5.9.3",
|
|
42
|
-
"vitest": "^
|
|
42
|
+
"vitest": "^4.0.0",
|
|
43
43
|
"tsx": "^4.20.6"
|
|
44
44
|
},
|
|
45
45
|
"keywords": [
|