@ai-matrx/auth 0.0.0 → 0.1.1

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 (44) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/LICENSE +21 -0
  3. package/README.md +31 -1
  4. package/dist/auth-cookie-DWx6Q3xo.d.cts +168 -0
  5. package/dist/auth-cookie-DWx6Q3xo.d.ts +168 -0
  6. package/dist/cookies.cjs +233 -0
  7. package/dist/cookies.d.cts +109 -0
  8. package/dist/cookies.d.ts +109 -0
  9. package/dist/cookies.js +210 -0
  10. package/dist/credentials.cjs +68 -0
  11. package/dist/credentials.d.cts +82 -0
  12. package/dist/credentials.d.ts +82 -0
  13. package/dist/credentials.js +47 -0
  14. package/dist/index.cjs +189 -0
  15. package/dist/index.d.cts +86 -0
  16. package/dist/index.d.ts +86 -0
  17. package/dist/index.js +166 -0
  18. package/dist/next.cjs +655 -0
  19. package/dist/next.d.cts +389 -0
  20. package/dist/next.d.ts +389 -0
  21. package/dist/next.js +637 -0
  22. package/dist/node.cjs +61 -0
  23. package/dist/node.d.cts +33 -0
  24. package/dist/node.d.ts +33 -0
  25. package/dist/node.js +36 -0
  26. package/dist/organizations.cjs +389 -0
  27. package/dist/organizations.d.cts +226 -0
  28. package/dist/organizations.d.ts +226 -0
  29. package/dist/organizations.js +366 -0
  30. package/dist/react.cjs +206 -0
  31. package/dist/react.d.cts +163 -0
  32. package/dist/react.d.ts +163 -0
  33. package/dist/react.js +186 -0
  34. package/dist/session-DhRO4euL.d.cts +102 -0
  35. package/dist/session-DhRO4euL.d.ts +102 -0
  36. package/dist/session-identity.cjs +125 -0
  37. package/dist/session-identity.d.cts +100 -0
  38. package/dist/session-identity.d.ts +100 -0
  39. package/dist/session-identity.js +104 -0
  40. package/dist/testing.cjs +67 -0
  41. package/dist/testing.d.cts +38 -0
  42. package/dist/testing.d.ts +38 -0
  43. package/dist/testing.js +46 -0
  44. package/package.json +186 -6
@@ -0,0 +1,46 @@
1
+ // src/testing.ts
2
+ function fakeSession(userId) {
3
+ let current = userId;
4
+ let reads = 0;
5
+ const listeners = /* @__PURE__ */ new Set();
6
+ const sessionOf = (id) => id === null ? null : { user: { id } };
7
+ return {
8
+ auth: {
9
+ getSession: async () => {
10
+ reads += 1;
11
+ return { data: { session: sessionOf(current) } };
12
+ },
13
+ onAuthStateChange: (callback) => {
14
+ listeners.add(callback);
15
+ return {
16
+ data: {
17
+ subscription: {
18
+ unsubscribe: () => {
19
+ listeners.delete(callback);
20
+ }
21
+ }
22
+ }
23
+ };
24
+ }
25
+ },
26
+ setUser: (next) => {
27
+ current = next;
28
+ for (const listener of [...listeners]) {
29
+ listener(next === null ? "SIGNED_OUT" : "SIGNED_IN", sessionOf(next));
30
+ }
31
+ },
32
+ reads: () => reads
33
+ };
34
+ }
35
+ function withSession(client, session) {
36
+ client.auth = session.auth;
37
+ return client;
38
+ }
39
+ function signedInAs(client, userId) {
40
+ return withSession(client, fakeSession(userId));
41
+ }
42
+ export {
43
+ fakeSession,
44
+ signedInAs,
45
+ withSession
46
+ };
package/package.json CHANGED
@@ -1,15 +1,195 @@
1
1
  {
2
2
  "name": "@ai-matrx/auth",
3
- "version": "0.0.0",
4
- "description": "Reserved for the planned AI Matrx shared authentication package.",
3
+ "version": "0.1.1",
4
+ "description": "AI Matrx sign-in, session and organizations for every app: sign in/out, session storage and refresh per platform (browser, Next.js, extension, desktop, Node), the current person, their organizations and favourites, the one active organization (held requests, never a list filter), and the credentials @ai-matrx/data and @ai-matrx/api read.",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
5
9
  "license": "MIT",
6
- "sideEffects": false,
10
+ "keywords": [
11
+ "ai-matrx",
12
+ "auth",
13
+ "supabase",
14
+ "session",
15
+ "organizations",
16
+ "nextjs",
17
+ "react"
18
+ ],
7
19
  "repository": {
8
20
  "type": "git",
9
21
  "url": "git+https://github.com/AI-Matrix-Engine/aidream.git",
10
22
  "directory": "apps/shared/auth"
11
23
  },
12
- "homepage": "https://github.com/AI-Matrix-Engine/aidream",
13
- "files": ["README.md"],
14
- "publishConfig": { "access": "public" }
24
+ "homepage": "https://github.com/AI-Matrix-Engine/aidream/tree/main/apps/shared/auth#readme",
25
+ "bugs": {
26
+ "url": "https://github.com/AI-Matrix-Engine/aidream/issues"
27
+ },
28
+ "files": [
29
+ "dist",
30
+ "README.md",
31
+ "LICENSE",
32
+ "CHANGELOG.md"
33
+ ],
34
+ "exports": {
35
+ ".": {
36
+ "import": {
37
+ "types": "./dist/index.d.ts",
38
+ "default": "./dist/index.js"
39
+ },
40
+ "require": {
41
+ "types": "./dist/index.d.cts",
42
+ "default": "./dist/index.cjs"
43
+ }
44
+ },
45
+ "./organizations": {
46
+ "import": {
47
+ "types": "./dist/organizations.d.ts",
48
+ "default": "./dist/organizations.js"
49
+ },
50
+ "require": {
51
+ "types": "./dist/organizations.d.cts",
52
+ "default": "./dist/organizations.cjs"
53
+ }
54
+ },
55
+ "./credentials": {
56
+ "import": {
57
+ "types": "./dist/credentials.d.ts",
58
+ "default": "./dist/credentials.js"
59
+ },
60
+ "require": {
61
+ "types": "./dist/credentials.d.cts",
62
+ "default": "./dist/credentials.cjs"
63
+ }
64
+ },
65
+ "./session-identity": {
66
+ "import": {
67
+ "types": "./dist/session-identity.d.ts",
68
+ "default": "./dist/session-identity.js"
69
+ },
70
+ "require": {
71
+ "types": "./dist/session-identity.d.cts",
72
+ "default": "./dist/session-identity.cjs"
73
+ }
74
+ },
75
+ "./cookies": {
76
+ "import": {
77
+ "types": "./dist/cookies.d.ts",
78
+ "default": "./dist/cookies.js"
79
+ },
80
+ "require": {
81
+ "types": "./dist/cookies.d.cts",
82
+ "default": "./dist/cookies.cjs"
83
+ }
84
+ },
85
+ "./next": {
86
+ "import": {
87
+ "types": "./dist/next.d.ts",
88
+ "default": "./dist/next.js"
89
+ },
90
+ "require": {
91
+ "types": "./dist/next.d.cts",
92
+ "default": "./dist/next.cjs"
93
+ }
94
+ },
95
+ "./react": {
96
+ "import": {
97
+ "types": "./dist/react.d.ts",
98
+ "default": "./dist/react.js"
99
+ },
100
+ "require": {
101
+ "types": "./dist/react.d.cts",
102
+ "default": "./dist/react.cjs"
103
+ }
104
+ },
105
+ "./node": {
106
+ "import": {
107
+ "types": "./dist/node.d.ts",
108
+ "default": "./dist/node.js"
109
+ },
110
+ "require": {
111
+ "types": "./dist/node.d.cts",
112
+ "default": "./dist/node.cjs"
113
+ }
114
+ },
115
+ "./testing": {
116
+ "import": {
117
+ "types": "./dist/testing.d.ts",
118
+ "default": "./dist/testing.js"
119
+ },
120
+ "require": {
121
+ "types": "./dist/testing.d.cts",
122
+ "default": "./dist/testing.cjs"
123
+ }
124
+ },
125
+ "./package.json": "./package.json"
126
+ },
127
+ "devDependencies": {
128
+ "@arethetypeswrong/cli": "^0.18.5",
129
+ "@supabase/supabase-js": "^2.117.0",
130
+ "@testing-library/react": "^16.3.3",
131
+ "@types/node": "^26.6.2",
132
+ "@types/react": "19.3.0",
133
+ "@types/react-dom": "19.3.0",
134
+ "jsdom": "^30.1.1",
135
+ "next": "^16.3.6",
136
+ "publint": "^0.3.24",
137
+ "react": "^19.3.0",
138
+ "react-dom": "^19.3.0",
139
+ "tsup": "^8.5.1",
140
+ "typescript": "^6.0.3",
141
+ "vitest": "^5.0.1"
142
+ },
143
+ "publishConfig": {
144
+ "access": "public",
145
+ "registry": "https://registry.npmjs.org/"
146
+ },
147
+ "engines": {
148
+ "node": ">=20"
149
+ },
150
+ "sideEffects": false,
151
+ "dependencies": {
152
+ "@supabase/ssr": "^0.12.7",
153
+ "@ai-matrx/kit": "latest"
154
+ },
155
+ "peerDependencies": {
156
+ "react": ">=18.0.0",
157
+ "@supabase/supabase-js": ">=2.0.0"
158
+ },
159
+ "peerDependenciesMeta": {
160
+ "react": {
161
+ "optional": true
162
+ }
163
+ },
164
+ "matrx": {
165
+ "charter": "Sign-in, session and organizations at the top of every app: who is signed in, their organizations, the one active organization, and the credentials every other package reads.",
166
+ "owns": [
167
+ "sign-in/out doors",
168
+ "session storage per platform",
169
+ "session refresh",
170
+ "current person",
171
+ "session identity",
172
+ "organizations, memberships, favourites",
173
+ "active organization (ladder + held requests)",
174
+ "domain-wide auth cookie",
175
+ "active-organization cookie",
176
+ "Next.js Supabase clients",
177
+ "credentials port (five kinds)"
178
+ ],
179
+ "mustNotOwn": [
180
+ "database doors and table reads beyond memberships",
181
+ "server API transport",
182
+ "UI",
183
+ "feature state"
184
+ ],
185
+ "layer": 1
186
+ },
187
+ "scripts": {
188
+ "build": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsup && node ../scripts/check-node-env-not-inlined.mjs",
189
+ "check:package": "pnpm build && node ../scripts/check-exports-agreement.mjs && publint && pnpm verify:tarball",
190
+ "typecheck": "tsc -p tsconfig.json --noEmit",
191
+ "test": "vitest run",
192
+ "verify:tarball": "node ./scripts/verify-tarball.mjs"
193
+ },
194
+ "gitHead": "5f0051127241f42fc01a8ed53b3eaf493f543126"
15
195
  }