@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.
Files changed (103) hide show
  1. package/dist/__tests__/keys.test.js.map +1 -1
  2. package/dist/__tests__/migrate.test.js +4 -4
  3. package/dist/__tests__/migrate.test.js.map +1 -1
  4. package/dist/__tests__/paths.test.js.map +1 -1
  5. package/dist/cli/commands/deploy.d.ts.map +1 -1
  6. package/dist/cli/commands/deploy.js +57 -63
  7. package/dist/cli/commands/deploy.js.map +1 -1
  8. package/dist/cli/commands/init.d.ts.map +1 -1
  9. package/dist/cli/commands/init.js +231 -171
  10. package/dist/cli/commands/init.js.map +1 -1
  11. package/dist/core/admin.d.ts.map +1 -1
  12. package/dist/core/admin.js +13 -3
  13. package/dist/core/admin.js.map +1 -1
  14. package/dist/core/cloudflare.d.ts +38 -1
  15. package/dist/core/cloudflare.d.ts.map +1 -1
  16. package/dist/core/cloudflare.js +729 -115
  17. package/dist/core/cloudflare.js.map +1 -1
  18. package/dist/core/config.d.ts +136 -28
  19. package/dist/core/config.d.ts.map +1 -1
  20. package/dist/core/config.js +58 -11
  21. package/dist/core/config.js.map +1 -1
  22. package/dist/core/deploy.d.ts +18 -0
  23. package/dist/core/deploy.d.ts.map +1 -1
  24. package/dist/core/deploy.js +126 -25
  25. package/dist/core/deploy.js.map +1 -1
  26. package/dist/core/keys.d.ts.map +1 -1
  27. package/dist/core/keys.js +2 -0
  28. package/dist/core/keys.js.map +1 -1
  29. package/dist/core/login-ui-client.d.ts.map +1 -1
  30. package/dist/core/login-ui-client.js +43 -7
  31. package/dist/core/login-ui-client.js.map +1 -1
  32. package/dist/core/paths.d.ts.map +1 -1
  33. package/dist/core/paths.js +5 -5
  34. package/dist/core/paths.js.map +1 -1
  35. package/dist/core/tenant-mode.d.ts +4 -0
  36. package/dist/core/tenant-mode.d.ts.map +1 -0
  37. package/dist/core/tenant-mode.js +17 -0
  38. package/dist/core/tenant-mode.js.map +1 -0
  39. package/dist/core/ui-deployment.d.ts +21 -0
  40. package/dist/core/ui-deployment.d.ts.map +1 -0
  41. package/dist/core/ui-deployment.js +90 -0
  42. package/dist/core/ui-deployment.js.map +1 -0
  43. package/dist/core/ui-env.d.ts +17 -0
  44. package/dist/core/ui-env.d.ts.map +1 -1
  45. package/dist/core/ui-env.js +16 -0
  46. package/dist/core/ui-env.js.map +1 -1
  47. package/dist/core/url-config.d.ts +16 -0
  48. package/dist/core/url-config.d.ts.map +1 -0
  49. package/dist/core/url-config.js +46 -0
  50. package/dist/core/url-config.js.map +1 -0
  51. package/dist/core/wrangler.d.ts +50 -1
  52. package/dist/core/wrangler.d.ts.map +1 -1
  53. package/dist/core/wrangler.js +169 -55
  54. package/dist/core/wrangler.js.map +1 -1
  55. package/dist/i18n/locales/de.d.ts.map +1 -1
  56. package/dist/i18n/locales/de.js +37 -0
  57. package/dist/i18n/locales/de.js.map +1 -1
  58. package/dist/i18n/locales/en.d.ts.map +1 -1
  59. package/dist/i18n/locales/en.js +37 -0
  60. package/dist/i18n/locales/en.js.map +1 -1
  61. package/dist/i18n/locales/es.d.ts.map +1 -1
  62. package/dist/i18n/locales/es.js +37 -0
  63. package/dist/i18n/locales/es.js.map +1 -1
  64. package/dist/i18n/locales/fr.d.ts.map +1 -1
  65. package/dist/i18n/locales/fr.js +37 -0
  66. package/dist/i18n/locales/fr.js.map +1 -1
  67. package/dist/i18n/locales/id.d.ts.map +1 -1
  68. package/dist/i18n/locales/id.js +37 -0
  69. package/dist/i18n/locales/id.js.map +1 -1
  70. package/dist/i18n/locales/ja.d.ts.map +1 -1
  71. package/dist/i18n/locales/ja.js +37 -0
  72. package/dist/i18n/locales/ja.js.map +1 -1
  73. package/dist/i18n/locales/ko.d.ts.map +1 -1
  74. package/dist/i18n/locales/ko.js +37 -0
  75. package/dist/i18n/locales/ko.js.map +1 -1
  76. package/dist/i18n/locales/pt.d.ts.map +1 -1
  77. package/dist/i18n/locales/pt.js +37 -0
  78. package/dist/i18n/locales/pt.js.map +1 -1
  79. package/dist/i18n/locales/ru.d.ts.map +1 -1
  80. package/dist/i18n/locales/ru.js +37 -0
  81. package/dist/i18n/locales/ru.js.map +1 -1
  82. package/dist/i18n/locales/zh-CN.d.ts.map +1 -1
  83. package/dist/i18n/locales/zh-CN.js +37 -0
  84. package/dist/i18n/locales/zh-CN.js.map +1 -1
  85. package/dist/i18n/locales/zh-TW.d.ts.map +1 -1
  86. package/dist/i18n/locales/zh-TW.js +37 -0
  87. package/dist/i18n/locales/zh-TW.js.map +1 -1
  88. package/dist/i18n/types.d.ts +8 -0
  89. package/dist/i18n/types.d.ts.map +1 -1
  90. package/dist/index.js +38 -29
  91. package/dist/index.js.map +1 -1
  92. package/dist/web/api.d.ts.map +1 -1
  93. package/dist/web/api.js +207 -95
  94. package/dist/web/api.js.map +1 -1
  95. package/dist/web/ui.d.ts.map +1 -1
  96. package/dist/web/ui.js +506 -109
  97. package/dist/web/ui.js.map +1 -1
  98. package/migrations/000_fresh_schema.sql +227 -9
  99. package/migrations/admin/006_admin_setup_tokens.sql +91 -91
  100. package/migrations/admin/007_admin_role_inheritance.sql +32 -0
  101. package/migrations/admin/008_admin_rebac_definitions.sql +117 -0
  102. package/migrations/admin/009_optimize_admin_audit_indexes.sql +15 -0
  103. 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.141",
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.9",
35
- "hono": "^4.11.7",
36
- "tar": "^7.5.7"
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": "^2.1.8",
42
+ "vitest": "^4.0.0",
43
43
  "tsx": "^4.20.6"
44
44
  },
45
45
  "keywords": [