allem-sdk 0.1.1 → 0.1.3

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,16 +3,17 @@
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" />
9
10
  <img src="https://img.shields.io/badge/AI_SDK-v6-black" alt="AI SDK v6" />
10
- <img src="https://img.shields.io/badge/tests-44_passing-brightgreen" alt="Tests" />
11
+ <img src="https://img.shields.io/badge/tests-53_passing-brightgreen" alt="Tests" />
11
12
  </p>
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
 
@@ -25,6 +26,7 @@ Or install individual packages:
25
26
  ```bash
26
27
  npm install @allem-sdk/hooks # React hooks
27
28
  npm install @allem-sdk/ai # AI chat & completions
29
+ npm install @allem-sdk/agents # Agentic AI with tool calling
28
30
  npm install @allem-sdk/forms # Form management
29
31
  npm install @allem-sdk/analytics # Analytics tracking
30
32
  npm install @allem-sdk/auth # Authentication
@@ -47,19 +49,20 @@ import { useDebounce, useAllemChat, useForm, useAuth } from "allem-sdk";
47
49
 
48
50
  | Package | Description |
49
51
  |---------|-------------|
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 |
52
+ | [`@allem-sdk/hooks`](https://www.npmjs.com/package/@allem-sdk/hooks) | 8 essential React hooks: useDebounce, useLocalStorage, useMediaQuery, and more |
53
+ | [`@allem-sdk/ai`](https://www.npmjs.com/package/@allem-sdk/ai) | AI hooks built on Vercel AI SDK v6 with multi-provider chat & completions |
54
+ | [`@allem-sdk/agents`](https://www.npmjs.com/package/@allem-sdk/agents) | Agentic AI with tool calling, status tracking, and typed tool definitions |
52
55
  | [`@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 |
56
+ | [`@allem-sdk/analytics`](https://www.npmjs.com/package/@allem-sdk/analytics) | Provider-agnostic analytics. Works with Mixpanel, Segment, PostHog, etc. |
57
+ | [`@allem-sdk/auth`](https://www.npmjs.com/package/@allem-sdk/auth) | Authentication helpers with session management and protected routes |
55
58
 
56
59
  ## Features
57
60
 
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
61
+ - **SSR-safe** works with Next.js, Vite, and Remix out of the box
62
+ - **TypeScript strict** with full type safety and exported types
63
+ - **Zero lock-in** via adapter pattern for AI, analytics, and auth providers
64
+ - **Tree-shakeable** ESM + CJS builds, import only what you need
65
+ - **Lightweight** with no heavy dependencies, just React hooks
63
66
 
64
67
  ## Part of Allem SDK
65
68
 
@@ -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.3",
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": [
@@ -45,10 +50,11 @@
45
50
  "sideEffects": false,
46
51
  "dependencies": {
47
52
  "@allem-sdk/hooks": "0.1.1",
48
- "@allem-sdk/ai": "0.1.1",
49
53
  "@allem-sdk/forms": "0.1.1",
54
+ "@allem-sdk/analytics": "0.1.1",
50
55
  "@allem-sdk/auth": "0.1.1",
51
- "@allem-sdk/analytics": "0.1.1"
56
+ "@allem-sdk/agents": "0.2.1",
57
+ "@allem-sdk/ai": "0.1.1"
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",