@geenius/adapters 0.1.0 → 0.3.0
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/README.md +79 -42
- package/package.json +23 -4
- package/packages/convex/README.md +1 -1
- package/packages/convex/dist/index.cjs +300 -0
- package/packages/convex/dist/index.cjs.map +1 -0
- package/packages/convex/dist/index.d.cts +231 -0
- package/packages/convex/dist/index.d.ts +231 -0
- package/packages/convex/dist/index.js +263 -0
- package/packages/convex/dist/index.js.map +1 -0
- package/packages/react/README.md +1 -1
- package/packages/react/dist/index.d.mts +106 -0
- package/packages/react/dist/index.d.ts +106 -0
- package/packages/react/dist/index.js +611 -0
- package/packages/react/dist/index.js.map +1 -0
- package/packages/react/dist/index.mjs +570 -0
- package/packages/react/dist/index.mjs.map +1 -0
- package/packages/react-css/README.md +1 -1
- package/packages/react-css/dist/index.cjs +515 -0
- package/packages/react-css/dist/index.cjs.map +1 -0
- package/packages/react-css/dist/index.d.cts +105 -0
- package/packages/react-css/dist/index.d.ts +105 -0
- package/packages/react-css/dist/index.js +467 -0
- package/packages/react-css/dist/index.js.map +1 -0
- package/packages/shared/README.md +1 -1
- package/packages/shared/dist/index.d.mts +625 -0
- package/packages/shared/dist/index.d.ts +625 -0
- package/packages/shared/dist/index.js +1567 -0
- package/packages/shared/dist/index.js.map +1 -0
- package/packages/shared/dist/index.mjs +1489 -0
- package/packages/shared/dist/index.mjs.map +1 -0
- package/packages/solidjs/README.md +1 -1
- package/packages/solidjs/dist/index.d.mts +97 -0
- package/packages/solidjs/dist/index.d.ts +97 -0
- package/packages/solidjs/dist/index.js +250 -0
- package/packages/solidjs/dist/index.js.map +1 -0
- package/packages/solidjs/dist/index.mjs +202 -0
- package/packages/solidjs/dist/index.mjs.map +1 -0
- package/packages/solidjs-css/README.md +1 -1
- package/packages/solidjs-css/dist/index.cjs +343 -0
- package/packages/solidjs-css/dist/index.cjs.map +1 -0
- package/packages/solidjs-css/dist/index.d.cts +67 -0
- package/packages/solidjs-css/dist/index.d.ts +67 -0
- package/packages/solidjs-css/dist/index.js +326 -0
- package/packages/solidjs-css/dist/index.js.map +1 -0
- package/.changeset/config.json +0 -11
- package/.github/CODEOWNERS +0 -1
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -16
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -11
- package/.github/PULL_REQUEST_TEMPLATE.md +0 -10
- package/.github/dependabot.yml +0 -11
- package/.github/workflows/ci.yml +0 -23
- package/.github/workflows/release.yml +0 -29
- package/.nvmrc +0 -1
- package/.project/ACCOUNT.yaml +0 -4
- package/.project/IDEAS.yaml +0 -7
- package/.project/PROJECT.yaml +0 -11
- package/.project/ROADMAP.yaml +0 -15
- package/CODE_OF_CONDUCT.md +0 -16
- package/CONTRIBUTING.md +0 -26
- package/SECURITY.md +0 -15
- package/SUPPORT.md +0 -8
- package/packages/convex/package.json +0 -42
- package/packages/convex/src/adapter.ts +0 -39
- package/packages/convex/src/index.ts +0 -19
- package/packages/convex/src/mutations.ts +0 -142
- package/packages/convex/src/queries.ts +0 -106
- package/packages/convex/src/schema.ts +0 -54
- package/packages/convex/src/types.ts +0 -20
- package/packages/convex/tsconfig.json +0 -11
- package/packages/convex/tsup.config.ts +0 -10
- package/packages/react/package.json +0 -45
- package/packages/react/src/components/AdapterCard.tsx +0 -49
- package/packages/react/src/components/AdapterConfigForm.tsx +0 -118
- package/packages/react/src/components/AdapterList.tsx +0 -84
- package/packages/react/src/components/AdapterStatusBadge.tsx +0 -30
- package/packages/react/src/components/index.ts +0 -4
- package/packages/react/src/hooks/index.ts +0 -75
- package/packages/react/src/index.tsx +0 -44
- package/packages/react/src/pages/AdapterDetailPage.tsx +0 -133
- package/packages/react/src/pages/AdaptersPage.tsx +0 -111
- package/packages/react/src/pages/index.ts +0 -2
- package/packages/react/src/provider/AdapterProvider.tsx +0 -115
- package/packages/react/src/provider/index.ts +0 -2
- package/packages/react/tsconfig.json +0 -18
- package/packages/react/tsup.config.ts +0 -10
- package/packages/react-css/package.json +0 -44
- package/packages/react-css/src/adapters.css +0 -1576
- package/packages/react-css/src/components/AdapterCard.tsx +0 -34
- package/packages/react-css/src/components/AdapterConfigForm.tsx +0 -63
- package/packages/react-css/src/components/AdapterList.tsx +0 -40
- package/packages/react-css/src/components/AdapterStatusBadge.tsx +0 -21
- package/packages/react-css/src/components/index.ts +0 -4
- package/packages/react-css/src/hooks/index.ts +0 -75
- package/packages/react-css/src/index.tsx +0 -25
- package/packages/react-css/src/pages/AdapterDetailPage.tsx +0 -133
- package/packages/react-css/src/pages/AdaptersPage.tsx +0 -111
- package/packages/react-css/src/pages/index.ts +0 -2
- package/packages/react-css/src/provider/AdapterProvider.tsx +0 -115
- package/packages/react-css/src/provider/index.ts +0 -2
- package/packages/react-css/src/styles.css +0 -494
- package/packages/react-css/tsconfig.json +0 -19
- package/packages/react-css/tsup.config.ts +0 -2
- package/packages/shared/package.json +0 -39
- package/packages/shared/src/__tests__/adapters.test.ts +0 -545
- package/packages/shared/src/admin/index.ts +0 -2
- package/packages/shared/src/admin/interface.ts +0 -34
- package/packages/shared/src/admin/localStorage.ts +0 -109
- package/packages/shared/src/ai/anthropic.ts +0 -123
- package/packages/shared/src/ai/cloudflare-gateway.ts +0 -130
- package/packages/shared/src/ai/gemini.ts +0 -181
- package/packages/shared/src/ai/index.ts +0 -14
- package/packages/shared/src/ai/interface.ts +0 -11
- package/packages/shared/src/ai/localStorage.ts +0 -78
- package/packages/shared/src/ai/ollama.ts +0 -143
- package/packages/shared/src/ai/openai.ts +0 -120
- package/packages/shared/src/ai/vercel-ai.ts +0 -101
- package/packages/shared/src/auth/better-auth.ts +0 -118
- package/packages/shared/src/auth/clerk.ts +0 -151
- package/packages/shared/src/auth/convex-auth.ts +0 -125
- package/packages/shared/src/auth/index.ts +0 -10
- package/packages/shared/src/auth/interface.ts +0 -17
- package/packages/shared/src/auth/localStorage.ts +0 -125
- package/packages/shared/src/auth/supabase-auth.ts +0 -136
- package/packages/shared/src/config.ts +0 -57
- package/packages/shared/src/constants.ts +0 -122
- package/packages/shared/src/db/convex.ts +0 -146
- package/packages/shared/src/db/index.ts +0 -10
- package/packages/shared/src/db/interface.ts +0 -13
- package/packages/shared/src/db/localStorage.ts +0 -91
- package/packages/shared/src/db/mongodb.ts +0 -125
- package/packages/shared/src/db/neon.ts +0 -171
- package/packages/shared/src/db/supabase.ts +0 -158
- package/packages/shared/src/index.ts +0 -117
- package/packages/shared/src/payments/index.ts +0 -4
- package/packages/shared/src/payments/interface.ts +0 -11
- package/packages/shared/src/payments/localStorage.ts +0 -81
- package/packages/shared/src/payments/stripe.ts +0 -177
- package/packages/shared/src/storage/convex.ts +0 -113
- package/packages/shared/src/storage/index.ts +0 -14
- package/packages/shared/src/storage/interface.ts +0 -11
- package/packages/shared/src/storage/localStorage.ts +0 -95
- package/packages/shared/src/storage/minio.ts +0 -47
- package/packages/shared/src/storage/r2.ts +0 -123
- package/packages/shared/src/storage/s3.ts +0 -128
- package/packages/shared/src/storage/supabase-storage.ts +0 -116
- package/packages/shared/src/storage/uploadthing.ts +0 -126
- package/packages/shared/src/styles/adapters.css +0 -494
- package/packages/shared/src/tier-gate.ts +0 -119
- package/packages/shared/src/types.ts +0 -162
- package/packages/shared/tsconfig.json +0 -18
- package/packages/shared/tsup.config.ts +0 -9
- package/packages/shared/vitest.config.ts +0 -14
- package/packages/solidjs/package.json +0 -44
- package/packages/solidjs/src/components/AdapterCard.tsx +0 -24
- package/packages/solidjs/src/components/AdapterConfigForm.tsx +0 -54
- package/packages/solidjs/src/components/AdapterList.tsx +0 -28
- package/packages/solidjs/src/components/AdapterStatusBadge.tsx +0 -20
- package/packages/solidjs/src/components/index.ts +0 -4
- package/packages/solidjs/src/index.tsx +0 -17
- package/packages/solidjs/src/pages/AdapterDetailPage.tsx +0 -38
- package/packages/solidjs/src/pages/AdaptersPage.tsx +0 -39
- package/packages/solidjs/src/pages/index.ts +0 -2
- package/packages/solidjs/src/primitives/index.ts +0 -78
- package/packages/solidjs/src/provider/AdapterProvider.tsx +0 -62
- package/packages/solidjs/src/provider/index.ts +0 -2
- package/packages/solidjs/tsconfig.json +0 -20
- package/packages/solidjs/tsup.config.ts +0 -10
- package/packages/solidjs-css/package.json +0 -43
- package/packages/solidjs-css/src/adapters.css +0 -1576
- package/packages/solidjs-css/src/components/AdapterCard.tsx +0 -43
- package/packages/solidjs-css/src/components/AdapterConfigForm.tsx +0 -119
- package/packages/solidjs-css/src/components/AdapterList.tsx +0 -68
- package/packages/solidjs-css/src/components/AdapterStatusBadge.tsx +0 -24
- package/packages/solidjs-css/src/components/index.ts +0 -8
- package/packages/solidjs-css/src/index.tsx +0 -30
- package/packages/solidjs-css/src/pages/AdapterDetailPage.tsx +0 -107
- package/packages/solidjs-css/src/pages/AdaptersPage.tsx +0 -94
- package/packages/solidjs-css/src/pages/index.ts +0 -4
- package/packages/solidjs-css/src/primitives/index.ts +0 -1
- package/packages/solidjs-css/src/provider/AdapterProvider.tsx +0 -61
- package/packages/solidjs-css/src/provider/index.ts +0 -2
- package/packages/solidjs-css/tsconfig.json +0 -20
- package/packages/solidjs-css/tsup.config.ts +0 -2
- package/pnpm-workspace.yaml +0 -2
- package/tsconfig.json +0 -17
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
// @geenius-adapters/react — Provider
|
|
2
|
-
|
|
3
|
-
'use client'
|
|
4
|
-
|
|
5
|
-
import { createContext, useContext, useState, useCallback, useEffect, useMemo, type ReactNode } from 'react'
|
|
6
|
-
import type {
|
|
7
|
-
AuthAdapter, DbAdapter, PaymentsAdapter, AiAdapter, FileStorageAdapter, AdminAdapter,
|
|
8
|
-
AdapterDomain, AdapterStatusType, AdapterStatusInfo,
|
|
9
|
-
} from '@geenius-adapters/shared'
|
|
10
|
-
import { ADAPTER_DOMAINS, DOMAIN_LABELS } from '@geenius-adapters/shared'
|
|
11
|
-
|
|
12
|
-
// ─── Adapter Set ─────────────────────────────────────────────────────────────
|
|
13
|
-
|
|
14
|
-
export interface AdapterSet {
|
|
15
|
-
db?: DbAdapter
|
|
16
|
-
auth?: AuthAdapter
|
|
17
|
-
payments?: PaymentsAdapter
|
|
18
|
-
ai?: AiAdapter
|
|
19
|
-
storage?: FileStorageAdapter
|
|
20
|
-
admin?: AdminAdapter
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// ─── Context ─────────────────────────────────────────────────────────────────
|
|
24
|
-
|
|
25
|
-
export interface AdapterContextValue {
|
|
26
|
-
adapters: AdapterSet
|
|
27
|
-
statuses: Record<AdapterDomain, AdapterStatusInfo>
|
|
28
|
-
getAdapter: <K extends keyof AdapterSet>(domain: K) => NonNullable<AdapterSet[K]>
|
|
29
|
-
isReady: (domain: AdapterDomain) => boolean
|
|
30
|
-
isLoading: boolean
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const AdapterContext = createContext<AdapterContextValue | null>(null)
|
|
34
|
-
|
|
35
|
-
// ─── Provider ────────────────────────────────────────────────────────────────
|
|
36
|
-
|
|
37
|
-
export interface AdapterProviderProps {
|
|
38
|
-
adapters: AdapterSet
|
|
39
|
-
children: ReactNode
|
|
40
|
-
/** Check adapter health on mount */
|
|
41
|
-
healthCheck?: boolean
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export function AdapterProvider({ adapters, children, healthCheck = false }: AdapterProviderProps) {
|
|
45
|
-
const [isLoading, setIsLoading] = useState(healthCheck)
|
|
46
|
-
const [statuses, setStatuses] = useState<Record<AdapterDomain, AdapterStatusInfo>>(() => {
|
|
47
|
-
const initial = {} as Record<AdapterDomain, AdapterStatusInfo>
|
|
48
|
-
for (const domain of ADAPTER_DOMAINS) {
|
|
49
|
-
const adapter = adapters[domain as keyof AdapterSet]
|
|
50
|
-
initial[domain] = {
|
|
51
|
-
domain,
|
|
52
|
-
provider: adapter ? 'configured' : 'none',
|
|
53
|
-
status: adapter ? 'connected' : 'disconnected',
|
|
54
|
-
lastCheckedAt: Date.now(),
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return initial
|
|
58
|
-
})
|
|
59
|
-
|
|
60
|
-
useEffect(() => {
|
|
61
|
-
if (!healthCheck) return
|
|
62
|
-
setIsLoading(true)
|
|
63
|
-
// Simple health check — verify adapters are callable
|
|
64
|
-
const checks = ADAPTER_DOMAINS.map(async (domain) => {
|
|
65
|
-
const adapter = adapters[domain as keyof AdapterSet]
|
|
66
|
-
if (!adapter) return
|
|
67
|
-
try {
|
|
68
|
-
setStatuses(prev => ({ ...prev, [domain]: { ...prev[domain], status: 'initializing' } }))
|
|
69
|
-
// Basic connectivity test for each domain
|
|
70
|
-
if (domain === 'auth' && (adapter as AuthAdapter).getSession) {
|
|
71
|
-
await (adapter as AuthAdapter).getSession()
|
|
72
|
-
}
|
|
73
|
-
setStatuses(prev => ({
|
|
74
|
-
...prev,
|
|
75
|
-
[domain]: { ...prev[domain], status: 'connected' as AdapterStatusType, lastCheckedAt: Date.now() },
|
|
76
|
-
}))
|
|
77
|
-
} catch (e) {
|
|
78
|
-
setStatuses(prev => ({
|
|
79
|
-
...prev,
|
|
80
|
-
[domain]: {
|
|
81
|
-
...prev[domain],
|
|
82
|
-
status: 'error' as AdapterStatusType,
|
|
83
|
-
error: e instanceof Error ? e.message : 'Health check failed',
|
|
84
|
-
lastCheckedAt: Date.now(),
|
|
85
|
-
},
|
|
86
|
-
}))
|
|
87
|
-
}
|
|
88
|
-
})
|
|
89
|
-
Promise.allSettled(checks).finally(() => setIsLoading(false))
|
|
90
|
-
}, [adapters, healthCheck])
|
|
91
|
-
|
|
92
|
-
const getAdapter = useCallback(<K extends keyof AdapterSet>(domain: K): NonNullable<AdapterSet[K]> => {
|
|
93
|
-
const adapter = adapters[domain]
|
|
94
|
-
if (!adapter) throw new Error(`${DOMAIN_LABELS[domain as AdapterDomain] ?? domain} adapter not configured in <AdapterProvider>`)
|
|
95
|
-
return adapter as NonNullable<AdapterSet[K]>
|
|
96
|
-
}, [adapters])
|
|
97
|
-
|
|
98
|
-
const isReady = useCallback((domain: AdapterDomain) => {
|
|
99
|
-
return !!adapters[domain as keyof AdapterSet] && statuses[domain]?.status === 'connected'
|
|
100
|
-
}, [adapters, statuses])
|
|
101
|
-
|
|
102
|
-
const value = useMemo<AdapterContextValue>(() => ({
|
|
103
|
-
adapters, statuses, getAdapter, isReady, isLoading,
|
|
104
|
-
}), [adapters, statuses, getAdapter, isReady, isLoading])
|
|
105
|
-
|
|
106
|
-
return <AdapterContext.Provider value={value}>{children}</AdapterContext.Provider>
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
// ─── Context Hook ────────────────────────────────────────────────────────────
|
|
110
|
-
|
|
111
|
-
export function useAdapterContext(): AdapterContextValue {
|
|
112
|
-
const ctx = useContext(AdapterContext)
|
|
113
|
-
if (!ctx) throw new Error('useAdapterContext must be used within <AdapterProvider>')
|
|
114
|
-
return ctx
|
|
115
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "../../tsconfig.json",
|
|
3
|
-
"compilerOptions": {
|
|
4
|
-
"outDir": "./dist",
|
|
5
|
-
"rootDir": "./src",
|
|
6
|
-
"strict": true,
|
|
7
|
-
"skipLibCheck": true,
|
|
8
|
-
"forceConsistentCasingInFileNames": true,
|
|
9
|
-
"resolveJsonModule": true,
|
|
10
|
-
"isolatedModules": true,
|
|
11
|
-
"target": "ES2022",
|
|
12
|
-
"module": "ESNext",
|
|
13
|
-
"moduleResolution": "bundler"
|
|
14
|
-
},
|
|
15
|
-
"include": [
|
|
16
|
-
"src"
|
|
17
|
-
]
|
|
18
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@geenius-adapters/react-css",
|
|
3
|
-
"version": "0.1.0",
|
|
4
|
-
"description": "Geenius Adapters — React hooks and providers (vanilla CSS variant)",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./dist/index.js",
|
|
7
|
-
"module": "./dist/index.mjs",
|
|
8
|
-
"types": "./dist/index.d.ts",
|
|
9
|
-
"exports": {
|
|
10
|
-
".": {
|
|
11
|
-
"import": "./dist/index.mjs",
|
|
12
|
-
"require": "./dist/index.js",
|
|
13
|
-
"types": "./dist/index.d.ts"
|
|
14
|
-
}
|
|
15
|
-
},
|
|
16
|
-
"scripts": {
|
|
17
|
-
"build": "tsup",
|
|
18
|
-
"lint": "tsc --noEmit",
|
|
19
|
-
"clean": "rm -rf dist"
|
|
20
|
-
},
|
|
21
|
-
"files": [
|
|
22
|
-
"dist"
|
|
23
|
-
],
|
|
24
|
-
"publishConfig": {
|
|
25
|
-
"access": "public"
|
|
26
|
-
},
|
|
27
|
-
"peerDependencies": {
|
|
28
|
-
"react": ">=18.0.0"
|
|
29
|
-
},
|
|
30
|
-
"dependencies": {
|
|
31
|
-
"@geenius-adapters/shared": "workspace:*"
|
|
32
|
-
},
|
|
33
|
-
"devDependencies": {
|
|
34
|
-
"@types/react": "^19.0.0",
|
|
35
|
-
"react": "^19.2.4",
|
|
36
|
-
"tsup": "^8.5.1",
|
|
37
|
-
"typescript": "~6.0.2"
|
|
38
|
-
},
|
|
39
|
-
"author": "Antigravity HQ",
|
|
40
|
-
"license": "MIT",
|
|
41
|
-
"engines": {
|
|
42
|
-
"node": ">=20.0.0"
|
|
43
|
-
}
|
|
44
|
-
}
|