@ilana-ai/react 0.0.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.
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Ilana React Context
3
+ */
4
+ import { type ReactNode } from 'react';
5
+ import { IlanaClient } from '@ilana-ai/sdk';
6
+ import type { IlanaConfig } from './types.js';
7
+ interface IlanaContextValue {
8
+ client: IlanaClient;
9
+ config: IlanaConfig;
10
+ }
11
+ export interface IlanaProviderProps {
12
+ children: ReactNode;
13
+ config: IlanaConfig;
14
+ }
15
+ /**
16
+ * Provider component that makes Ilana client available to all children
17
+ */
18
+ export declare function IlanaProvider({ children, config }: IlanaProviderProps): import("react/jsx-runtime").JSX.Element;
19
+ /**
20
+ * Hook to access the Ilana context
21
+ * @throws Error if used outside IlanaProvider
22
+ */
23
+ export declare function useIlanaContext(): IlanaContextValue;
24
+ export {};
25
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,UAAU,iBAAiB;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;CACrB;AAID,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,kBAAkB,2CAUrE;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CAMnD"}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * Ilana React Context
4
+ */
5
+ import { createContext, useContext, useMemo } from 'react';
6
+ import { IlanaClient } from '@ilana-ai/sdk';
7
+ const IlanaContext = createContext(null);
8
+ /**
9
+ * Provider component that makes Ilana client available to all children
10
+ */
11
+ export function IlanaProvider({ children, config }) {
12
+ const value = useMemo(() => {
13
+ const client = new IlanaClient({
14
+ runtimeUrl: config.runtimeUrl,
15
+ token: config.token,
16
+ });
17
+ return { client, config };
18
+ }, [config.runtimeUrl, config.token, config.botId]);
19
+ return _jsx(IlanaContext.Provider, { value: value, children: children });
20
+ }
21
+ /**
22
+ * Hook to access the Ilana context
23
+ * @throws Error if used outside IlanaProvider
24
+ */
25
+ export function useIlanaContext() {
26
+ const context = useContext(IlanaContext);
27
+ if (!context) {
28
+ throw new Error('useIlanaContext must be used within an IlanaProvider');
29
+ }
30
+ return context;
31
+ }
32
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.tsx"],"names":[],"mappings":";AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQ5C,MAAM,YAAY,GAAG,aAAa,CAA2B,IAAI,CAAC,CAAC;AAOnE;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAsB;IACpE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAEpD,OAAO,KAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAAyB,CAAC;AACjF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Ilana React Hooks
3
+ */
4
+ import type { UseQueryOptions, UseQueryResult } from './types.js';
5
+ /**
6
+ * Hook for executing queries against the Ilana Runtime API
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * function SearchBox() {
11
+ * const { query, isLoading, data, error } = useQuery();
12
+ *
13
+ * const handleSearch = async (searchTerm: string) => {
14
+ * await query(searchTerm);
15
+ * };
16
+ *
17
+ * return (
18
+ * <div>
19
+ * <input onKeyDown={(e) => e.key === 'Enter' && handleSearch(e.target.value)} />
20
+ * {isLoading && <span>Searching...</span>}
21
+ * {data && <div>{data.response}</div>}
22
+ * {error && <div>Error: {error.message}</div>}
23
+ * </div>
24
+ * );
25
+ * }
26
+ * ```
27
+ */
28
+ export declare function useQuery(options?: UseQueryOptions): UseQueryResult;
29
+ /**
30
+ * Hook for one-shot queries (no conversation tracking)
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * function QuickSearch() {
35
+ * const { search, isLoading, data } = useSearch();
36
+ *
37
+ * return (
38
+ * <input
39
+ * placeholder="Search..."
40
+ * onKeyDown={(e) => e.key === 'Enter' && search(e.target.value)}
41
+ * />
42
+ * );
43
+ * }
44
+ * ```
45
+ */
46
+ export declare function useSearch(options?: UseQueryOptions): UseQueryResult;
47
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAc,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,cAAc,CA6CtE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE,eAAoB,GAAG,cAAc,CAwCvE"}
package/dist/hooks.js ADDED
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Ilana React Hooks
3
+ */
4
+ import { useState, useCallback, useRef } from 'react';
5
+ import { useIlanaContext } from './context.js';
6
+ /**
7
+ * Hook for executing queries against the Ilana Runtime API
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * function SearchBox() {
12
+ * const { query, isLoading, data, error } = useQuery();
13
+ *
14
+ * const handleSearch = async (searchTerm: string) => {
15
+ * await query(searchTerm);
16
+ * };
17
+ *
18
+ * return (
19
+ * <div>
20
+ * <input onKeyDown={(e) => e.key === 'Enter' && handleSearch(e.target.value)} />
21
+ * {isLoading && <span>Searching...</span>}
22
+ * {data && <div>{data.response}</div>}
23
+ * {error && <div>Error: {error.message}</div>}
24
+ * </div>
25
+ * );
26
+ * }
27
+ * ```
28
+ */
29
+ export function useQuery(options = {}) {
30
+ const { client, config } = useIlanaContext();
31
+ const [state, setState] = useState({
32
+ isLoading: false,
33
+ data: null,
34
+ error: null,
35
+ });
36
+ // Track conversation ID for multi-turn interactions
37
+ const conversationIdRef = useRef(null);
38
+ const query = useCallback(async (input) => {
39
+ setState((prev) => ({ ...prev, isLoading: true, error: null }));
40
+ const result = await client.query({
41
+ botId: config.botId,
42
+ input,
43
+ conversationId: conversationIdRef.current ?? undefined,
44
+ });
45
+ if (result.ok) {
46
+ conversationIdRef.current = result.data.conversationId;
47
+ setState({ isLoading: false, data: result.data, error: null });
48
+ options.onSuccess?.(result.data);
49
+ return result.data;
50
+ }
51
+ else {
52
+ setState({ isLoading: false, data: null, error: result.error });
53
+ options.onError?.(result.error);
54
+ return null;
55
+ }
56
+ }, [client, config.botId, options]);
57
+ const reset = useCallback(() => {
58
+ conversationIdRef.current = null;
59
+ setState({ isLoading: false, data: null, error: null });
60
+ }, []);
61
+ return {
62
+ ...state,
63
+ query,
64
+ reset,
65
+ };
66
+ }
67
+ /**
68
+ * Hook for one-shot queries (no conversation tracking)
69
+ *
70
+ * @example
71
+ * ```tsx
72
+ * function QuickSearch() {
73
+ * const { search, isLoading, data } = useSearch();
74
+ *
75
+ * return (
76
+ * <input
77
+ * placeholder="Search..."
78
+ * onKeyDown={(e) => e.key === 'Enter' && search(e.target.value)}
79
+ * />
80
+ * );
81
+ * }
82
+ * ```
83
+ */
84
+ export function useSearch(options = {}) {
85
+ const { client, config } = useIlanaContext();
86
+ const [state, setState] = useState({
87
+ isLoading: false,
88
+ data: null,
89
+ error: null,
90
+ });
91
+ const query = useCallback(async (input) => {
92
+ setState((prev) => ({ ...prev, isLoading: true, error: null }));
93
+ // Always start fresh - no conversation tracking
94
+ const result = await client.query({
95
+ botId: config.botId,
96
+ input,
97
+ });
98
+ if (result.ok) {
99
+ setState({ isLoading: false, data: result.data, error: null });
100
+ options.onSuccess?.(result.data);
101
+ return result.data;
102
+ }
103
+ else {
104
+ setState({ isLoading: false, data: null, error: result.error });
105
+ options.onError?.(result.error);
106
+ return null;
107
+ }
108
+ }, [client, config.botId, options]);
109
+ const reset = useCallback(() => {
110
+ setState({ isLoading: false, data: null, error: null });
111
+ }, []);
112
+ return {
113
+ ...state,
114
+ query,
115
+ reset,
116
+ };
117
+ }
118
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @ilana/react
3
+ * React SDK for the Ilana Runtime API
4
+ */
5
+ export { IlanaProvider, useIlanaContext } from './context.js';
6
+ export type { IlanaProviderProps } from './context.js';
7
+ export { useQuery, useSearch } from './hooks.js';
8
+ export type { IlanaConfig, QueryState, UseQueryOptions, UseQueryResult, QueryInput, QueryOutput, IlanaError, } from './types.js';
9
+ export { IlanaClient, IlanaSDKError } from '@ilana-ai/sdk';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC9D,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGvD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGjD,YAAY,EACV,WAAW,EACX,UAAU,EACV,eAAe,EACf,cAAc,EACd,UAAU,EACV,WAAW,EACX,UAAU,GACX,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @ilana/react
3
+ * React SDK for the Ilana Runtime API
4
+ */
5
+ // Context and Provider
6
+ export { IlanaProvider, useIlanaContext } from './context.js';
7
+ // Hooks
8
+ export { useQuery, useSearch } from './hooks.js';
9
+ // Re-export core SDK for convenience
10
+ export { IlanaClient, IlanaSDKError } from '@ilana-ai/sdk';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,uBAAuB;AACvB,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG9D,QAAQ;AACR,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAajD,qCAAqC;AACrC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * React SDK Types
3
+ */
4
+ import type { QueryInput, QueryOutput, IlanaError } from '@ilana-ai/sdk';
5
+ export interface IlanaConfig {
6
+ /** Runtime API URL */
7
+ runtimeUrl: string;
8
+ /** Embed token for authentication */
9
+ token: string;
10
+ /** Bot ID to query */
11
+ botId: string;
12
+ }
13
+ export interface QueryState {
14
+ /** Whether a query is in progress */
15
+ isLoading: boolean;
16
+ /** The last successful response */
17
+ data: QueryOutput | null;
18
+ /** The last error */
19
+ error: IlanaError | null;
20
+ }
21
+ export interface UseQueryOptions {
22
+ /** Called when query succeeds */
23
+ onSuccess?: (data: QueryOutput) => void;
24
+ /** Called when query fails */
25
+ onError?: (error: IlanaError) => void;
26
+ }
27
+ export interface UseQueryResult extends QueryState {
28
+ /** Execute a query */
29
+ query: (input: string) => Promise<QueryOutput | null>;
30
+ /** Reset state */
31
+ reset: () => void;
32
+ }
33
+ export type { QueryInput, QueryOutput, IlanaError };
34
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEzE,MAAM,WAAW,WAAW;IAC1B,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,qCAAqC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,qBAAqB;IACrB,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC,8BAA8B;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,sBAAsB;IACtB,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACtD,kBAAkB;IAClB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC"}
package/dist/types.js ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * React SDK Types
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@ilana-ai/react",
3
+ "version": "0.0.1",
4
+ "description": "Ilana AI React SDK - React hooks and components for the Ilana Runtime API",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist"
17
+ ],
18
+ "scripts": {
19
+ "build": "tsc",
20
+ "check-types": "tsc --noEmit",
21
+ "clean": "rm -rf dist"
22
+ },
23
+ "dependencies": {
24
+ "@ilana-ai/sdk": "workspace:*"
25
+ },
26
+ "devDependencies": {
27
+ "@types/react": "^18.3.0",
28
+ "typescript": "5.9.2"
29
+ },
30
+ "peerDependencies": {
31
+ "react": "^18.0.0 || ^19.0.0"
32
+ },
33
+ "keywords": [
34
+ "ilana",
35
+ "ai",
36
+ "sdk",
37
+ "react",
38
+ "hooks",
39
+ "governance"
40
+ ],
41
+ "license": "MIT",
42
+ "publishConfig": {
43
+ "access": "public"
44
+ }
45
+ }