allem-sdk 0.1.1 → 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 CHANGED
@@ -3,6 +3,7 @@
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
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" />
@@ -12,7 +13,7 @@
12
13
 
13
14
  # allem-sdk
14
15
 
15
- The complete Allem SDK for React — hooks, AI, forms, analytics, and auth in a single install.
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 useDebounce, useLocalStorage, useMediaQuery, and more |
51
- | [`@allem-sdk/ai`](https://www.npmjs.com/package/@allem-sdk/ai) | AI hooks built on Vercel AI SDK v6 multi-provider chat & completions |
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 works with Mixpanel, Segment, PostHog, etc. |
54
- | [`@allem-sdk/auth`](https://www.npmjs.com/package/@allem-sdk/auth) | Authentication helpers session management, protected routes |
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** works with Next.js, Vite, and Remix out of the box
59
- - **TypeScript strict** full type safety with exported types
60
- - **Zero lock-in** adapter pattern for AI, analytics, and auth providers
61
- - **Tree-shakeable** ESM + CJS builds, import only what you need
62
- - **Lightweight** no heavy dependencies, just React hooks
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
 
@@ -0,0 +1,6 @@
1
+ export * from '@allem-sdk/agents';
2
+ import '@allem-sdk/ai';
3
+ import '@allem-sdk/analytics';
4
+ import '@allem-sdk/auth';
5
+ import '@allem-sdk/forms';
6
+ import '@allem-sdk/hooks';
@@ -0,0 +1,6 @@
1
+ export * from '@allem-sdk/agents';
2
+ import '@allem-sdk/ai';
3
+ import '@allem-sdk/analytics';
4
+ import '@allem-sdk/auth';
5
+ import '@allem-sdk/forms';
6
+ import '@allem-sdk/hooks';
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
+ });
@@ -0,0 +1,4 @@
1
+ "use client";
2
+
3
+ // src/agents.ts
4
+ export * from "@allem-sdk/agents";
package/dist/ai.d.mts CHANGED
@@ -1,5 +1 @@
1
1
  export * from '@allem-sdk/ai';
2
- import '@allem-sdk/analytics';
3
- import '@allem-sdk/auth';
4
- import '@allem-sdk/forms';
5
- import '@allem-sdk/hooks';
package/dist/ai.d.ts CHANGED
@@ -1,5 +1 @@
1
1
  export * from '@allem-sdk/ai';
2
- import '@allem-sdk/analytics';
3
- import '@allem-sdk/auth';
4
- import '@allem-sdk/forms';
5
- import '@allem-sdk/hooks';
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.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/hooks": "0.1.1",
48
52
  "@allem-sdk/ai": "0.1.1",
53
+ "@allem-sdk/hooks": "0.1.1",
54
+ "@allem-sdk/analytics": "0.1.1",
49
55
  "@allem-sdk/forms": "0.1.1",
50
56
  "@allem-sdk/auth": "0.1.1",
51
- "@allem-sdk/analytics": "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",