create-nexwire 4.2.3 → 4.2.5

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 (87) hide show
  1. package/express/.vscode/extensions.json +6 -0
  2. package/express/.vscode/settings.json +37 -26
  3. package/express/biome.json +99 -66
  4. package/express/package.json +54 -27
  5. package/express/src/database/migrations/sqlite/0000_init.sql +47 -60
  6. package/express/src/database/migrations/sqlite/meta/0000_snapshot.json +1 -89
  7. package/express/src/database/migrations/sqlite/meta/_journal.json +1 -1
  8. package/express/src/database/schema.ts +0 -1
  9. package/express/src/framework/facade.ts +12 -1
  10. package/express/src/framework/maker-cli/db/core.mjs +291 -288
  11. package/express/src/framework/maker-cli/module/core.mjs +125 -87
  12. package/express/src/framework/maker-cli/module/index.mjs +3 -3
  13. package/express/src/framework/maker-cli/stubs/notification/controller.ts.stub +61 -62
  14. package/express/src/framework/maker-cli/stubs/notification/job.ts.stub +11 -13
  15. package/express/src/framework/maker-cli/stubs/notification/model.ts.stub +29 -0
  16. package/express/src/framework/maker-cli/stubs/notification/provider.ts.stub +174 -0
  17. package/express/src/framework/maker-cli/stubs/notification/route.api.ts.stub +11 -10
  18. package/express/src/framework/maker-cli/stubs/notification/route.plain.ts.stub +1 -1
  19. package/express/src/framework/maker-cli/stubs/notification/schema.plain.ts.stub +25 -25
  20. package/express/src/framework/maker-cli/stubs/notification/schema.ts.stub +25 -25
  21. package/express/src/framework/notification/index.ts +49 -87
  22. package/express/src/framework/providers/adapter.ts +24 -10
  23. package/express/src/framework/providers/contracts.ts +80 -10
  24. package/express/src/framework/providers/registry.ts +27 -1
  25. package/express/src/resources/src/components/Checkbox.vue +32 -29
  26. package/express/src/resources/src/components/Input.vue +243 -223
  27. package/express/src/resources/src/components/InputGroup.vue +147 -145
  28. package/express/src/resources/src/components/InputPasswordToggle.vue +229 -213
  29. package/express/src/resources/src/components/Modal.vue +71 -55
  30. package/express/src/resources/src/components/Refresh.vue +19 -0
  31. package/express/src/resources/src/helpers/assets.ts +51 -0
  32. package/express/src/resources/src/main.ts +4 -2
  33. package/express/src/resources/src/pages/auth/forgetPassword.vue +1 -1
  34. package/express/src/resources/src/pages/auth/login.vue +1 -1
  35. package/express/src/resources/src/pages/auth/register.vue +1 -1
  36. package/express/src/resources/src/pages/auth/resetPassword.vue +1 -1
  37. package/express/src/resources/src/pages/auth/verifyEmail.vue +1 -1
  38. package/express/src/resources/src/pages/dashboard/index.vue +66 -66
  39. package/express/src/resources/src/plugins/gum.ts +1 -1
  40. package/express/src/resources/src/stores/auth.ts +184 -164
  41. package/express/src/resources/vite.config.ts +9 -2
  42. package/express/src/storage/database/nexwire.sqlite +0 -0
  43. package/hono/.vscode/extensions.json +6 -0
  44. package/hono/.vscode/settings.json +37 -26
  45. package/hono/biome.json +25 -2
  46. package/hono/package.json +50 -23
  47. package/hono/src/database/migrations/sqlite/0000_init.sql +47 -60
  48. package/hono/src/database/migrations/sqlite/meta/0000_snapshot.json +1 -89
  49. package/hono/src/database/migrations/sqlite/meta/_journal.json +1 -1
  50. package/hono/src/database/schema.ts +0 -1
  51. package/hono/src/framework/facade.ts +12 -1
  52. package/hono/src/framework/maker-cli/db/core.mjs +291 -288
  53. package/hono/src/framework/maker-cli/module/core.mjs +93 -52
  54. package/hono/src/framework/maker-cli/module/index.mjs +3 -3
  55. package/hono/src/framework/maker-cli/stubs/notification/controller.ts.stub +63 -58
  56. package/hono/src/framework/maker-cli/stubs/notification/job.ts.stub +10 -12
  57. package/hono/src/framework/maker-cli/stubs/notification/model.ts.stub +29 -0
  58. package/hono/src/framework/maker-cli/stubs/notification/provider.ts.stub +174 -0
  59. package/hono/src/framework/maker-cli/stubs/notification/route.api.ts.stub +11 -10
  60. package/hono/src/framework/maker-cli/stubs/notification/route.plain.ts.stub +1 -1
  61. package/hono/src/framework/maker-cli/stubs/notification/schema.plain.ts.stub +25 -25
  62. package/hono/src/framework/maker-cli/stubs/notification/schema.ts.stub +25 -25
  63. package/hono/src/framework/notification/index.ts +49 -87
  64. package/hono/src/framework/providers/adapter.ts +24 -10
  65. package/hono/src/framework/providers/contracts.ts +80 -10
  66. package/hono/src/framework/providers/registry.ts +27 -1
  67. package/hono/src/resources/src/components/Checkbox.vue +32 -29
  68. package/hono/src/resources/src/components/Input.vue +243 -234
  69. package/hono/src/resources/src/components/InputGroup.vue +147 -149
  70. package/hono/src/resources/src/components/InputPasswordToggle.vue +229 -222
  71. package/hono/src/resources/src/components/Modal.vue +71 -55
  72. package/hono/src/resources/src/components/Refresh.vue +19 -0
  73. package/hono/src/resources/src/helpers/assets.ts +51 -0
  74. package/hono/src/resources/src/main.ts +4 -2
  75. package/hono/src/resources/src/pages/auth/forgetPassword.vue +1 -1
  76. package/hono/src/resources/src/pages/auth/login.vue +1 -1
  77. package/hono/src/resources/src/pages/auth/register.vue +1 -1
  78. package/hono/src/resources/src/pages/auth/resetPassword.vue +1 -1
  79. package/hono/src/resources/src/pages/auth/verifyEmail.vue +1 -1
  80. package/hono/src/resources/src/pages/dashboard/index.vue +66 -66
  81. package/hono/src/resources/src/plugins/gum.ts +1 -1
  82. package/hono/src/resources/src/stores/auth.ts +184 -164
  83. package/hono/src/resources/vite.config.ts +9 -2
  84. package/hono/src/storage/database/nexwire.sqlite +0 -0
  85. package/package.json +10 -10
  86. package/express/src/modules/auth/database/models/notification.ts +0 -24
  87. package/hono/src/modules/auth/database/models/notification.ts +0 -24
package/hono/biome.json CHANGED
@@ -5,22 +5,45 @@
5
5
  "clientKind": "git",
6
6
  "useIgnoreFile": true
7
7
  },
8
+ "html": {
9
+ "experimentalFullSupportEnabled": true,
10
+ "formatter": {
11
+ "enabled": true
12
+ }
13
+ },
8
14
  "formatter": {
9
15
  "indentStyle": "space",
10
16
  "indentWidth": 2,
11
17
  "lineWidth": 140,
12
- "bracketSameLine": true
18
+ "bracketSameLine": false
19
+ },
20
+ "files": {
21
+ "includes": [
22
+ "**",
23
+ "!**/node_modules"
24
+ ]
13
25
  },
14
26
  "linter": {
15
27
  "rules": {
16
28
  "preset": "recommended",
29
+ "a11y": {
30
+ "noLabelWithoutControl": "off",
31
+ "useButtonType": "off",
32
+ "useSemanticElements": "off",
33
+ "noStaticElementInteractions": "off",
34
+ "useKeyWithClickEvents": "off",
35
+ "useValidAnchor": "off",
36
+ "useAnchorContent": "off",
37
+ "noDistractingElements": "off"
38
+ },
17
39
  "correctness": {
18
40
  "noUnusedVariables": "off",
19
41
  "useVueValidTemplateRoot": "off",
20
42
  "noUnusedImports": "off"
21
43
  },
22
44
  "complexity": {
23
- "noUselessEscapeInRegex": "off"
45
+ "noUselessEscapeInRegex": "off",
46
+ "noImportantStyles": "off"
24
47
  },
25
48
  "style": {
26
49
  "noNonNullAssertion": "off",
package/hono/package.json CHANGED
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "nexwire-hono",
3
- "private": true,
4
- "type": "module",
5
3
  "version": "1.0.0",
4
+ "private": true,
6
5
  "bin": {
7
6
  "maker": "./src/framework/maker-cli/index.mjs"
8
7
  },
8
+ "type": "module",
9
9
  "scripts": {
10
10
  "build": "npm run build:all",
11
11
  "build:all": "npm run build:backend && npm run build:ui",
12
12
  "build:backend": "tsc -p tsconfig.json && tsc-alias -p tsconfig.json",
13
- "build:ui": "node src/framework/maker-cli/runtime/build-ui.mjs",
13
+ "build:ui": "npm run typecheck:ui && node src/framework/maker-cli/runtime/build-ui.mjs",
14
+ "typecheck:ui": "vue-tsc --noEmit -p src/resources/tsconfig.json",
14
15
  "dev": "node src/framework/maker-cli/index.mjs dev",
15
16
  "backend": "node src/framework/maker-cli/index.mjs serve --src",
16
17
  "ui": "node src/framework/maker-cli/index.mjs ui:dev",
@@ -32,17 +33,17 @@
32
33
  "@aws-sdk/s3-request-presigner": "^3.1111.0",
33
34
  "@bull-board/api": "^8.6.1",
34
35
  "@bull-board/hono": "^8.6.1",
35
- "@hono/node-server": "^2.1.0",
36
+ "@hono/node-server": "^2.1.5",
36
37
  "@hono/zod-openapi": "~1.5.3",
37
38
  "@libsql/client": "^0.17.4",
38
39
  "@scalar/hono-api-reference": "^0.10.20",
39
40
  "@socket.io/admin-ui": "^0.5.1",
40
41
  "@socket.io/bun-engine": "^0.1.1",
41
42
  "@socket.io/redis-adapter": "^8.3.0",
42
- "@vitejs/plugin-vue": "^6.0.8",
43
+ "@unhead/vue": "^3.4.3",
44
+ "@vitejs/plugin-vue": "^6.0.10",
43
45
  "@vuepic/vue-datepicker": "^14.0.0",
44
46
  "@vueuse/core": "^14.4.0",
45
- "@vueuse/head": "^2.0.0",
46
47
  "axios": "^1.19.0",
47
48
  "bcryptjs": "^3.0.3",
48
49
  "bootstrap": "^5.3.8",
@@ -50,50 +51,76 @@
50
51
  "bullmq": "^5.81.3",
51
52
  "bullmq-durable": "^0.2.0",
52
53
  "chalk": "^5.6.2",
53
- "commander": "^14.0.3",
54
+ "commander": "^15.0.0",
54
55
  "croner": "^10.0.1",
55
56
  "dotenv": "^17.4.2",
56
57
  "dotenv-expand": "^13.0.0",
57
- "drizzle-orm": "^0.45.2",
58
+ "drizzle-orm": "^0.45.4",
58
59
  "glob": "^13.0.6",
59
- "hono": "^4.13.1",
60
+ "hono": "^4.13.14",
60
61
  "hono-rate-limiter": "^0.5.3",
61
62
  "ioredis": "^5.11.1",
62
63
  "lodash-es": "^4.18.1",
63
64
  "luxon": "^3.7.2",
64
- "maildev": "^2.2.1",
65
+ "maildev": "^3.0.0",
65
66
  "mysql2": "^3.23.3",
66
- "nodemailer": "^9.0.5",
67
+ "nodemailer": "^10.2.1",
67
68
  "pinia": "^3.0.4",
68
69
  "pino": "^10.3.1",
69
70
  "postgres": "^3.4.9",
70
71
  "redis-commander": "^0.9.0",
71
72
  "sass": "^1.100.0",
72
- "socket.io": "^4.8.3",
73
- "socket.io-client": "^4.8.3",
73
+ "socket.io": "^4.8.4",
74
+ "socket.io-client": "^4.8.4",
74
75
  "stoker": "^2.0.1",
75
- "vite": "^8.2.1",
76
+ "vite": "^8.3.5",
76
77
  "vue": "^3.5.41",
77
78
  "vue-router": "^5.2.0",
78
79
  "vue-select": "^4.0.0-beta.6",
79
- "zod": "^4.4.3"
80
+ "zod": "^4.6.7"
80
81
  },
81
82
  "devDependencies": {
82
83
  "@biomejs/biome": "^2.5.7",
83
84
  "@types/bootstrap": "^5.2.11",
84
85
  "@types/lodash-es": "^4.17.12",
85
- "@types/node": "^25.9.5",
86
- "@vitest/coverage-v8": "^4.1.10",
87
- "drizzle-kit": "^0.31.10",
88
- "tsc-alias": "^1.9.2",
89
- "tsx": "^4.23.12",
86
+ "@types/node": "^25.9.9",
87
+ "@vitest/coverage-v8": "^5.0.5",
88
+ "drizzle-kit": "^0.31.11",
89
+ "tsc-alias": "^1.9.9",
90
+ "tsx": "^4.23.15",
90
91
  "typescript": "^6.0.3",
91
- "vitest": "^4.1.10"
92
+ "vitest": "^5.0.5",
93
+ "vue-tsc": "^3.3.13"
94
+ },
95
+ "overrides": {
96
+ "@esbuild-kit/core-utils": {
97
+ "esbuild": "^0.25.12"
98
+ },
99
+ "@maildev/mcp": {
100
+ "zod": "^4.6.7"
101
+ },
102
+ "@maildev/smtp": {
103
+ "jsdom": "^27.4.0",
104
+ "nodemailer": "^10.2.1"
105
+ },
106
+ "redis-commander": {
107
+ "express": "^4.22.3",
108
+ "body-parser": "^1.20.9",
109
+ "bcrypt": "npm:bcryptjs@^3.0.3",
110
+ "bcryptjs": "^3.0.3"
111
+ }
92
112
  },
93
113
  "engines": {
94
- "node": ">=22",
95
114
  "bun": ">=1.3",
115
+ "node": ">=22.12.0",
96
116
  "pnpm": ">=11",
97
117
  "yarn": ">=4"
118
+ },
119
+ "allowScripts": {
120
+ "@parcel/watcher": true,
121
+ "esbuild": true,
122
+ "msgpackr-extract": true,
123
+ "redis-commander": true,
124
+ "vue-demi": true
98
125
  }
99
- }
126
+ }
@@ -1,61 +1,48 @@
1
- CREATE TABLE `notifications` (
2
- `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
3
- `user_id` integer NOT NULL,
4
- `type` text NOT NULL,
5
- `title` text NOT NULL,
6
- `body` text,
7
- `data` text,
8
- `link` text,
9
- `read_at` integer,
10
- `created_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL,
11
- FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE cascade ON DELETE cascade
12
- );
13
- --> statement-breakpoint
14
- CREATE TABLE `roles` (
15
- `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
16
- `name` text NOT NULL,
17
- `created_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL,
18
- `updated_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL
19
- );
20
- --> statement-breakpoint
21
- CREATE UNIQUE INDEX `roles_name_unique` ON `roles` (`name`);--> statement-breakpoint
22
- CREATE TABLE `email_verification_tokens` (
23
- `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
24
- `email` text NOT NULL,
25
- `token` text NOT NULL,
26
- `expires_at` integer NOT NULL,
27
- `created_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL
28
- );
29
- --> statement-breakpoint
30
- CREATE TABLE `password_reset_tokens` (
31
- `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
32
- `email` text NOT NULL,
33
- `token` text NOT NULL,
34
- `expires_at` integer NOT NULL,
35
- `created_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL
36
- );
37
- --> statement-breakpoint
38
- CREATE TABLE `refresh_tokens` (
39
- `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
40
- `user_id` integer,
41
- `jti` text NOT NULL,
42
- `revoked` integer DEFAULT false,
43
- `expires_at` integer NOT NULL,
44
- `created_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL,
45
- FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE cascade ON DELETE set null
46
- );
47
- --> statement-breakpoint
48
- CREATE UNIQUE INDEX `refresh_tokens_jti_unique` ON `refresh_tokens` (`jti`);--> statement-breakpoint
49
- CREATE TABLE `users` (
50
- `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
51
- `name` text NOT NULL,
52
- `email` text NOT NULL,
53
- `password` text NOT NULL,
54
- `role_id` integer,
55
- `email_verified_at` integer,
56
- `created_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL,
57
- `updated_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL,
58
- FOREIGN KEY (`role_id`) REFERENCES `roles`(`id`) ON UPDATE cascade ON DELETE set null
59
- );
60
- --> statement-breakpoint
1
+ CREATE TABLE `roles` (
2
+ `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
3
+ `name` text NOT NULL,
4
+ `created_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL,
5
+ `updated_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL
6
+ );
7
+ --> statement-breakpoint
8
+ CREATE UNIQUE INDEX `roles_name_unique` ON `roles` (`name`);--> statement-breakpoint
9
+ CREATE TABLE `email_verification_tokens` (
10
+ `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
11
+ `email` text NOT NULL,
12
+ `token` text NOT NULL,
13
+ `expires_at` integer NOT NULL,
14
+ `created_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL
15
+ );
16
+ --> statement-breakpoint
17
+ CREATE TABLE `password_reset_tokens` (
18
+ `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
19
+ `email` text NOT NULL,
20
+ `token` text NOT NULL,
21
+ `expires_at` integer NOT NULL,
22
+ `created_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL
23
+ );
24
+ --> statement-breakpoint
25
+ CREATE TABLE `refresh_tokens` (
26
+ `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
27
+ `user_id` integer,
28
+ `jti` text NOT NULL,
29
+ `revoked` integer DEFAULT false,
30
+ `expires_at` integer NOT NULL,
31
+ `created_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL,
32
+ FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE cascade ON DELETE set null
33
+ );
34
+ --> statement-breakpoint
35
+ CREATE UNIQUE INDEX `refresh_tokens_jti_unique` ON `refresh_tokens` (`jti`);--> statement-breakpoint
36
+ CREATE TABLE `users` (
37
+ `id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
38
+ `name` text NOT NULL,
39
+ `email` text NOT NULL,
40
+ `password` text NOT NULL,
41
+ `role_id` integer,
42
+ `email_verified_at` integer,
43
+ `created_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL,
44
+ `updated_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL,
45
+ FOREIGN KEY (`role_id`) REFERENCES `roles`(`id`) ON UPDATE cascade ON DELETE set null
46
+ );
47
+ --> statement-breakpoint
61
48
  CREATE UNIQUE INDEX `users_email_unique` ON `users` (`email`);
@@ -1,97 +1,9 @@
1
1
  {
2
2
  "version": "6",
3
3
  "dialect": "sqlite",
4
- "id": "a2d9b389-ddab-4eec-bd8c-e0cca638e287",
4
+ "id": "f0fe475e-8a3e-4c5c-9b5e-9ec41ddfde71",
5
5
  "prevId": "00000000-0000-0000-0000-000000000000",
6
6
  "tables": {
7
- "notifications": {
8
- "name": "notifications",
9
- "columns": {
10
- "id": {
11
- "name": "id",
12
- "type": "integer",
13
- "primaryKey": true,
14
- "notNull": true,
15
- "autoincrement": true
16
- },
17
- "user_id": {
18
- "name": "user_id",
19
- "type": "integer",
20
- "primaryKey": false,
21
- "notNull": true,
22
- "autoincrement": false
23
- },
24
- "type": {
25
- "name": "type",
26
- "type": "text",
27
- "primaryKey": false,
28
- "notNull": true,
29
- "autoincrement": false
30
- },
31
- "title": {
32
- "name": "title",
33
- "type": "text",
34
- "primaryKey": false,
35
- "notNull": true,
36
- "autoincrement": false
37
- },
38
- "body": {
39
- "name": "body",
40
- "type": "text",
41
- "primaryKey": false,
42
- "notNull": false,
43
- "autoincrement": false
44
- },
45
- "data": {
46
- "name": "data",
47
- "type": "text",
48
- "primaryKey": false,
49
- "notNull": false,
50
- "autoincrement": false
51
- },
52
- "link": {
53
- "name": "link",
54
- "type": "text",
55
- "primaryKey": false,
56
- "notNull": false,
57
- "autoincrement": false
58
- },
59
- "read_at": {
60
- "name": "read_at",
61
- "type": "integer",
62
- "primaryKey": false,
63
- "notNull": false,
64
- "autoincrement": false
65
- },
66
- "created_at": {
67
- "name": "created_at",
68
- "type": "integer",
69
- "primaryKey": false,
70
- "notNull": true,
71
- "autoincrement": false,
72
- "default": "(cast((julianday('now') - 2440587.5)*86400000 as integer))"
73
- }
74
- },
75
- "indexes": {},
76
- "foreignKeys": {
77
- "notifications_user_id_users_id_fk": {
78
- "name": "notifications_user_id_users_id_fk",
79
- "tableFrom": "notifications",
80
- "tableTo": "users",
81
- "columnsFrom": [
82
- "user_id"
83
- ],
84
- "columnsTo": [
85
- "id"
86
- ],
87
- "onDelete": "cascade",
88
- "onUpdate": "cascade"
89
- }
90
- },
91
- "compositePrimaryKeys": {},
92
- "uniqueConstraints": {},
93
- "checkConstraints": {}
94
- },
95
7
  "roles": {
96
8
  "name": "roles",
97
9
  "columns": {
@@ -5,7 +5,7 @@
5
5
  {
6
6
  "idx": 0,
7
7
  "version": "6",
8
- "when": 1792609267184,
8
+ "when": 1792936160057,
9
9
  "tag": "0000_init",
10
10
  "breakpoints": true
11
11
  }
@@ -1,3 +1,2 @@
1
- export * from "../modules/auth/database/models/notification.js";
2
1
  export * from "../modules/auth/database/models/role.js";
3
2
  export * from "../modules/auth/database/models/user.js";
@@ -21,18 +21,29 @@ export type {
21
21
  AuthProviderRefreshToken,
22
22
  AuthProviderUser,
23
23
  AuthUserContact,
24
- AuthUserContext
24
+ AuthUserContext,
25
+ NotifiableTarget,
26
+ NotificationCreateInput,
27
+ NotificationListOptions,
28
+ NotificationPage,
29
+ NotificationProvider,
30
+ NotificationRecord
25
31
  } from "@/framework/providers/contracts.js";
32
+ export { resolveAuthProvider, resolveNotificationProvider } from "@/framework/providers/adapter.js";
26
33
  export { loadProviders } from "@/framework/providers/loader.js";
27
34
  export {
28
35
  clearAuthProvider,
36
+ clearNotificationProvider,
29
37
  clearProvider,
30
38
  getAuthProvider,
39
+ getNotificationProvider,
31
40
  getProvider,
32
41
  hasAuthProvider,
42
+ hasNotificationProvider,
33
43
  hasProvider,
34
44
  listProviders,
35
45
  registerAuthProvider,
46
+ registerNotificationProvider,
36
47
  registerProvider
37
48
  } from "@/framework/providers/registry.js";
38
49
  export { queue, queueJob, shouldQueue } from "@/framework/queue/queue.js";