allem-sdk 0.1.0 → 0.1.2
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 +12 -11
- package/dist/agents.d.mts +6 -0
- package/dist/agents.d.ts +6 -0
- package/dist/agents.js +25 -0
- package/dist/agents.mjs +4 -0
- package/dist/ai.d.mts +0 -4
- package/dist/ai.d.ts +0 -4
- package/dist/index.d.mts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +11 -0
- package/dist/index.mjs +12 -0
- package/package.json +13 -6
package/README.md
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
+
<a href="https://www.npmjs.com/package/allem-sdk"><img src="https://img.shields.io/npm/v/allem-sdk.svg" alt="npm version" /></a>
|
|
6
7
|
<a href="https://github.com/kingofmit/allem-sdk/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License" /></a>
|
|
7
|
-
<img src="https://img.shields.io/badge/react-
|
|
8
|
+
<img src="https://img.shields.io/badge/react-19-61dafb" alt="React 19" />
|
|
8
9
|
<img src="https://img.shields.io/badge/typescript-strict-blue" alt="TypeScript" />
|
|
9
10
|
<img src="https://img.shields.io/badge/AI_SDK-v6-black" alt="AI SDK v6" />
|
|
10
11
|
<img src="https://img.shields.io/badge/tests-44_passing-brightgreen" alt="Tests" />
|
|
@@ -12,7 +13,7 @@
|
|
|
12
13
|
|
|
13
14
|
# allem-sdk
|
|
14
15
|
|
|
15
|
-
The complete Allem SDK for React
|
|
16
|
+
The complete Allem SDK for React. Hooks, AI, forms, analytics, and auth in a single install.
|
|
16
17
|
|
|
17
18
|
## Installation
|
|
18
19
|
|
|
@@ -47,19 +48,19 @@ import { useDebounce, useAllemChat, useForm, useAuth } from "allem-sdk";
|
|
|
47
48
|
|
|
48
49
|
| Package | Description |
|
|
49
50
|
|---------|-------------|
|
|
50
|
-
| [`@allem-sdk/hooks`](https://www.npmjs.com/package/@allem-sdk/hooks) | 8 essential React hooks
|
|
51
|
-
| [`@allem-sdk/ai`](https://www.npmjs.com/package/@allem-sdk/ai) | AI hooks built on Vercel AI SDK v6
|
|
51
|
+
| [`@allem-sdk/hooks`](https://www.npmjs.com/package/@allem-sdk/hooks) | 8 essential React hooks: useDebounce, useLocalStorage, useMediaQuery, and more |
|
|
52
|
+
| [`@allem-sdk/ai`](https://www.npmjs.com/package/@allem-sdk/ai) | AI hooks built on Vercel AI SDK v6 with multi-provider chat & completions |
|
|
52
53
|
| [`@allem-sdk/forms`](https://www.npmjs.com/package/@allem-sdk/forms) | Lightweight form management with 9 built-in validators |
|
|
53
|
-
| [`@allem-sdk/analytics`](https://www.npmjs.com/package/@allem-sdk/analytics) | Provider-agnostic analytics
|
|
54
|
-
| [`@allem-sdk/auth`](https://www.npmjs.com/package/@allem-sdk/auth) | Authentication helpers
|
|
54
|
+
| [`@allem-sdk/analytics`](https://www.npmjs.com/package/@allem-sdk/analytics) | Provider-agnostic analytics. Works with Mixpanel, Segment, PostHog, etc. |
|
|
55
|
+
| [`@allem-sdk/auth`](https://www.npmjs.com/package/@allem-sdk/auth) | Authentication helpers with session management and protected routes |
|
|
55
56
|
|
|
56
57
|
## Features
|
|
57
58
|
|
|
58
|
-
- **SSR-safe**
|
|
59
|
-
- **TypeScript strict**
|
|
60
|
-
- **Zero lock-in**
|
|
61
|
-
- **Tree-shakeable**
|
|
62
|
-
- **Lightweight**
|
|
59
|
+
- **SSR-safe** works with Next.js, Vite, and Remix out of the box
|
|
60
|
+
- **TypeScript strict** with full type safety and exported types
|
|
61
|
+
- **Zero lock-in** via adapter pattern for AI, analytics, and auth providers
|
|
62
|
+
- **Tree-shakeable** ESM + CJS builds, import only what you need
|
|
63
|
+
- **Lightweight** with no heavy dependencies, just React hooks
|
|
63
64
|
|
|
64
65
|
## Part of Allem SDK
|
|
65
66
|
|
package/dist/agents.d.ts
ADDED
package/dist/agents.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use strict";
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __copyProps = (to, from, except, desc) => {
|
|
8
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
9
|
+
for (let key of __getOwnPropNames(from))
|
|
10
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
11
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
}
|
|
13
|
+
return to;
|
|
14
|
+
};
|
|
15
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
16
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
17
|
+
|
|
18
|
+
// src/agents.ts
|
|
19
|
+
var agents_exports = {};
|
|
20
|
+
module.exports = __toCommonJS(agents_exports);
|
|
21
|
+
__reExport(agents_exports, require("@allem-sdk/agents"), module.exports);
|
|
22
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
23
|
+
0 && (module.exports = {
|
|
24
|
+
...require("@allem-sdk/agents")
|
|
25
|
+
});
|
package/dist/agents.mjs
ADDED
package/dist/ai.d.mts
CHANGED
package/dist/ai.d.ts
CHANGED
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { useClickOutside, useCopyToClipboard, useDebounce, useIntersectionObserver, useLocalStorage, useMediaQuery, useToggle, useWindowSize } from '@allem-sdk/hooks';
|
|
2
2
|
export * from '@allem-sdk/ai';
|
|
3
|
+
export { AgentProvider, AgentProviderProps, AgentStatus, AgentStep, AgentToolCall, AgentToolRegistration, AllemAgentHandlerConfig, AllemToolConfig, UseAllemAgentOptions, UseAllemAgentReturn, createAllemAgentHandler, createAllemTool, useAgentTools, useAllemAgent } from '@allem-sdk/agents';
|
|
3
4
|
export { FieldConfig, FormConfig, FormErrors, FormTouched, UseFieldOptions, UseFieldReturn, UseFormReturn, ValidationRule, custom, email, max, maxLength, min, minLength, pattern, required, url, useField, useForm } from '@allem-sdk/forms';
|
|
4
5
|
export { AnalyticsAdapter, AnalyticsProvider, AnalyticsProviderProps, useIdentify, usePageView, useTrack } from '@allem-sdk/analytics';
|
|
5
6
|
export { AuthAdapter, AuthProvider, AuthProviderProps, AuthSession, AuthStatus, AuthUser, ProtectedRoute, ProtectedRouteProps, UseAuthReturn, UseSessionReturn, useAuth, useSession } from '@allem-sdk/auth';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { useClickOutside, useCopyToClipboard, useDebounce, useIntersectionObserver, useLocalStorage, useMediaQuery, useToggle, useWindowSize } from '@allem-sdk/hooks';
|
|
2
2
|
export * from '@allem-sdk/ai';
|
|
3
|
+
export { AgentProvider, AgentProviderProps, AgentStatus, AgentStep, AgentToolCall, AgentToolRegistration, AllemAgentHandlerConfig, AllemToolConfig, UseAllemAgentOptions, UseAllemAgentReturn, createAllemAgentHandler, createAllemTool, useAgentTools, useAllemAgent } from '@allem-sdk/agents';
|
|
3
4
|
export { FieldConfig, FormConfig, FormErrors, FormTouched, UseFieldOptions, UseFieldReturn, UseFormReturn, ValidationRule, custom, email, max, maxLength, min, minLength, pattern, required, url, useField, useForm } from '@allem-sdk/forms';
|
|
4
5
|
export { AnalyticsAdapter, AnalyticsProvider, AnalyticsProviderProps, useIdentify, usePageView, useTrack } from '@allem-sdk/analytics';
|
|
5
6
|
export { AuthAdapter, AuthProvider, AuthProviderProps, AuthSession, AuthStatus, AuthUser, ProtectedRoute, ProtectedRouteProps, UseAuthReturn, UseSessionReturn, useAuth, useSession } from '@allem-sdk/auth';
|
package/dist/index.js
CHANGED
|
@@ -22,9 +22,12 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
22
22
|
// src/index.ts
|
|
23
23
|
var index_exports = {};
|
|
24
24
|
__export(index_exports, {
|
|
25
|
+
AgentProvider: () => import_agents.AgentProvider,
|
|
25
26
|
AnalyticsProvider: () => import_analytics.AnalyticsProvider,
|
|
26
27
|
AuthProvider: () => import_auth.AuthProvider,
|
|
27
28
|
ProtectedRoute: () => import_auth.ProtectedRoute,
|
|
29
|
+
createAllemAgentHandler: () => import_agents.createAllemAgentHandler,
|
|
30
|
+
createAllemTool: () => import_agents.createAllemTool,
|
|
28
31
|
custom: () => import_forms.custom,
|
|
29
32
|
email: () => import_forms.email,
|
|
30
33
|
max: () => import_forms.max,
|
|
@@ -34,6 +37,8 @@ __export(index_exports, {
|
|
|
34
37
|
pattern: () => import_forms.pattern,
|
|
35
38
|
required: () => import_forms.required,
|
|
36
39
|
url: () => import_forms.url,
|
|
40
|
+
useAgentTools: () => import_agents.useAgentTools,
|
|
41
|
+
useAllemAgent: () => import_agents.useAllemAgent,
|
|
37
42
|
useAuth: () => import_auth.useAuth,
|
|
38
43
|
useClickOutside: () => import_hooks.useClickOutside,
|
|
39
44
|
useCopyToClipboard: () => import_hooks.useCopyToClipboard,
|
|
@@ -53,14 +58,18 @@ __export(index_exports, {
|
|
|
53
58
|
module.exports = __toCommonJS(index_exports);
|
|
54
59
|
var import_hooks = require("@allem-sdk/hooks");
|
|
55
60
|
__reExport(index_exports, require("@allem-sdk/ai"), module.exports);
|
|
61
|
+
var import_agents = require("@allem-sdk/agents");
|
|
56
62
|
var import_forms = require("@allem-sdk/forms");
|
|
57
63
|
var import_analytics = require("@allem-sdk/analytics");
|
|
58
64
|
var import_auth = require("@allem-sdk/auth");
|
|
59
65
|
// Annotate the CommonJS export names for ESM import in node:
|
|
60
66
|
0 && (module.exports = {
|
|
67
|
+
AgentProvider,
|
|
61
68
|
AnalyticsProvider,
|
|
62
69
|
AuthProvider,
|
|
63
70
|
ProtectedRoute,
|
|
71
|
+
createAllemAgentHandler,
|
|
72
|
+
createAllemTool,
|
|
64
73
|
custom,
|
|
65
74
|
email,
|
|
66
75
|
max,
|
|
@@ -70,6 +79,8 @@ var import_auth = require("@allem-sdk/auth");
|
|
|
70
79
|
pattern,
|
|
71
80
|
required,
|
|
72
81
|
url,
|
|
82
|
+
useAgentTools,
|
|
83
|
+
useAllemAgent,
|
|
73
84
|
useAuth,
|
|
74
85
|
useClickOutside,
|
|
75
86
|
useCopyToClipboard,
|
package/dist/index.mjs
CHANGED
|
@@ -12,6 +12,13 @@ import {
|
|
|
12
12
|
useWindowSize
|
|
13
13
|
} from "@allem-sdk/hooks";
|
|
14
14
|
export * from "@allem-sdk/ai";
|
|
15
|
+
import {
|
|
16
|
+
useAllemAgent,
|
|
17
|
+
AgentProvider,
|
|
18
|
+
useAgentTools,
|
|
19
|
+
createAllemAgentHandler,
|
|
20
|
+
createAllemTool
|
|
21
|
+
} from "@allem-sdk/agents";
|
|
15
22
|
import {
|
|
16
23
|
useForm,
|
|
17
24
|
useField,
|
|
@@ -38,9 +45,12 @@ import {
|
|
|
38
45
|
ProtectedRoute
|
|
39
46
|
} from "@allem-sdk/auth";
|
|
40
47
|
export {
|
|
48
|
+
AgentProvider,
|
|
41
49
|
AnalyticsProvider,
|
|
42
50
|
AuthProvider,
|
|
43
51
|
ProtectedRoute,
|
|
52
|
+
createAllemAgentHandler,
|
|
53
|
+
createAllemTool,
|
|
44
54
|
custom,
|
|
45
55
|
email,
|
|
46
56
|
max,
|
|
@@ -50,6 +60,8 @@ export {
|
|
|
50
60
|
pattern,
|
|
51
61
|
required,
|
|
52
62
|
url,
|
|
63
|
+
useAgentTools,
|
|
64
|
+
useAllemAgent,
|
|
53
65
|
useAuth,
|
|
54
66
|
useClickOutside,
|
|
55
67
|
useCopyToClipboard,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "allem-sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "The complete Allem SDK — hooks, AI, forms, analytics, and auth for React",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Ahmed Allem (https://kingallem.com)",
|
|
@@ -37,6 +37,11 @@
|
|
|
37
37
|
"types": "./dist/auth.d.ts",
|
|
38
38
|
"import": "./dist/auth.mjs",
|
|
39
39
|
"require": "./dist/auth.js"
|
|
40
|
+
},
|
|
41
|
+
"./agents": {
|
|
42
|
+
"types": "./dist/agents.d.ts",
|
|
43
|
+
"import": "./dist/agents.mjs",
|
|
44
|
+
"require": "./dist/agents.js"
|
|
40
45
|
}
|
|
41
46
|
},
|
|
42
47
|
"files": [
|
|
@@ -44,11 +49,12 @@
|
|
|
44
49
|
],
|
|
45
50
|
"sideEffects": false,
|
|
46
51
|
"dependencies": {
|
|
47
|
-
"@allem-sdk/
|
|
48
|
-
"@allem-sdk/
|
|
49
|
-
"@allem-sdk/analytics": "0.1.
|
|
50
|
-
"@allem-sdk/
|
|
51
|
-
"@allem-sdk/
|
|
52
|
+
"@allem-sdk/ai": "0.1.1",
|
|
53
|
+
"@allem-sdk/hooks": "0.1.1",
|
|
54
|
+
"@allem-sdk/analytics": "0.1.1",
|
|
55
|
+
"@allem-sdk/forms": "0.1.1",
|
|
56
|
+
"@allem-sdk/auth": "0.1.1",
|
|
57
|
+
"@allem-sdk/agents": "0.2.0"
|
|
52
58
|
},
|
|
53
59
|
"devDependencies": {
|
|
54
60
|
"@types/react": "^19.0.0",
|
|
@@ -85,6 +91,7 @@
|
|
|
85
91
|
"react",
|
|
86
92
|
"hooks",
|
|
87
93
|
"ai",
|
|
94
|
+
"agents",
|
|
88
95
|
"forms",
|
|
89
96
|
"analytics",
|
|
90
97
|
"auth",
|