ordify-chat-widget 1.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.
Files changed (38) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/LICENSE +21 -0
  3. package/README.md +225 -0
  4. package/dist/components/ChatHeader.d.ts +11 -0
  5. package/dist/components/ChatHeader.d.ts.map +1 -0
  6. package/dist/components/Conversation.d.ts +18 -0
  7. package/dist/components/Conversation.d.ts.map +1 -0
  8. package/dist/components/EmbeddedChat.d.ts +9 -0
  9. package/dist/components/EmbeddedChat.d.ts.map +1 -0
  10. package/dist/components/FloatingChat.d.ts +9 -0
  11. package/dist/components/FloatingChat.d.ts.map +1 -0
  12. package/dist/components/InlineChat.d.ts +9 -0
  13. package/dist/components/InlineChat.d.ts.map +1 -0
  14. package/dist/components/MarkdownRenderer.d.ts +7 -0
  15. package/dist/components/MarkdownRenderer.d.ts.map +1 -0
  16. package/dist/components/OrdifyChat.d.ts +4 -0
  17. package/dist/components/OrdifyChat.d.ts.map +1 -0
  18. package/dist/components/ProfessionalInput.d.ts +14 -0
  19. package/dist/components/ProfessionalInput.d.ts.map +1 -0
  20. package/dist/components/ResizeHandle.d.ts +8 -0
  21. package/dist/components/ResizeHandle.d.ts.map +1 -0
  22. package/dist/components/styled/ChatComponents.d.ts +25 -0
  23. package/dist/components/styled/ChatComponents.d.ts.map +1 -0
  24. package/dist/hooks/useOrdifyChat.d.ts +4 -0
  25. package/dist/hooks/useOrdifyChat.d.ts.map +1 -0
  26. package/dist/hooks/useOrdifyConfig.d.ts +20 -0
  27. package/dist/hooks/useOrdifyConfig.d.ts.map +1 -0
  28. package/dist/index.cjs.js +478 -0
  29. package/dist/index.d.ts +11 -0
  30. package/dist/index.d.ts.map +1 -0
  31. package/dist/index.esm.js +3177 -0
  32. package/dist/types/index.d.ts +107 -0
  33. package/dist/types/index.d.ts.map +1 -0
  34. package/dist/utils/api.d.ts +12 -0
  35. package/dist/utils/api.d.ts.map +1 -0
  36. package/dist/utils/index.d.ts +5 -0
  37. package/dist/utils/index.d.ts.map +1 -0
  38. package/package.json +83 -0
@@ -0,0 +1,107 @@
1
+ import { CSSProperties } from 'react';
2
+
3
+ export interface Message {
4
+ id: string;
5
+ content: string;
6
+ role: 'user' | 'assistant';
7
+ timestamp: Date;
8
+ sessionId?: string;
9
+ }
10
+ export interface Session {
11
+ id: string;
12
+ name: string;
13
+ agentConfig: {
14
+ type: 'chat' | 'adk_agent';
15
+ settings: any;
16
+ };
17
+ userId: string;
18
+ createdAt: string;
19
+ updatedAt: string;
20
+ status: 'active' | 'archived';
21
+ lastMessage?: Message;
22
+ summary?: {
23
+ title_summary: string;
24
+ session_summary: string;
25
+ key_topics: string[];
26
+ action_items: string[];
27
+ last_summarized_at: string;
28
+ summary_version: number;
29
+ };
30
+ }
31
+ export interface Agent {
32
+ id: string;
33
+ name: string;
34
+ role: string;
35
+ description: string;
36
+ goal: string;
37
+ tools: string[];
38
+ mcp_servers: string[];
39
+ owner_type: 'user' | 'public';
40
+ is_user_agent: boolean;
41
+ }
42
+ export interface OrdifyConfig {
43
+ agentId: string;
44
+ apiKey: string;
45
+ apiBaseUrl?: string;
46
+ mode?: 'floating' | 'embedded';
47
+ position?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
48
+ theme?: 'light' | 'dark' | 'auto';
49
+ placeholder?: string;
50
+ height?: string | number;
51
+ width?: string | number;
52
+ className?: string;
53
+ chatName?: string;
54
+ primaryColor?: string;
55
+ backgroundColor?: string;
56
+ textColor?: string;
57
+ borderRadius?: string | number;
58
+ showHeader?: boolean;
59
+ resizable?: boolean;
60
+ minHeight?: string | number;
61
+ maxHeight?: string | number;
62
+ glassEffect?: boolean;
63
+ darkMode?: boolean;
64
+ buttonStyle?: CSSProperties;
65
+ buttonText?: string;
66
+ chatWindowStyle?: CSSProperties;
67
+ onMessage?: (message: Message) => void;
68
+ onError?: (error: Error) => void;
69
+ onClose?: () => void;
70
+ }
71
+ export interface UseOrdifyChatReturn {
72
+ messages: Message[];
73
+ sendMessage: (content: string) => Promise<void>;
74
+ isLoading: boolean;
75
+ error: string | null;
76
+ clearError: () => void;
77
+ sessionId: string | null;
78
+ isOpen: boolean;
79
+ setIsOpen: (open: boolean) => void;
80
+ }
81
+ export interface StreamingResponse {
82
+ text: string;
83
+ sessionId: string;
84
+ type: 'stream' | 'done';
85
+ agentName?: string;
86
+ duration_ms?: number;
87
+ duration_seconds?: number;
88
+ retry_attempt?: number;
89
+ }
90
+ export interface ApiError {
91
+ detail: string;
92
+ status_code?: number;
93
+ }
94
+ export interface OrdifyApiClientConfig {
95
+ apiKey: string;
96
+ apiBaseUrl: string;
97
+ agentId: string;
98
+ }
99
+ export interface ChatRequest {
100
+ message: string;
101
+ sessionId?: string;
102
+ }
103
+ export interface ChatResponse {
104
+ sessionId: string;
105
+ messages: Message[];
106
+ }
107
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Agent, OrdifyApiClientConfig, Session, StreamingResponse } from '../types';
2
+
3
+ export declare class OrdifyApiClient {
4
+ private config;
5
+ constructor(config: OrdifyApiClientConfig);
6
+ sendMessage(content: string, sessionId?: string): Promise<ReadableStream<Uint8Array>>;
7
+ createSession(): Promise<Session>;
8
+ getAgents(): Promise<Agent[]>;
9
+ getSessions(): Promise<Session[]>;
10
+ }
11
+ export declare function parseStreamingResponse(chunk: string): StreamingResponse | null;
12
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/utils/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAyB,qBAAqB,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEzG,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,EAAE,qBAAqB;IAInC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IA8BrF,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IA2BjC,SAAS,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAoB7B,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;CAkBxC;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAa9E"}
@@ -0,0 +1,5 @@
1
+ export declare function generateId(): string;
2
+ export declare function formatTime(timestamp: Date): string;
3
+ export declare function debounce<T extends (...args: any[]) => any>(func: T, wait: number): (...args: Parameters<T>) => void;
4
+ export declare function throttle<T extends (...args: any[]) => any>(func: T, limit: number): (...args: Parameters<T>) => void;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAEA,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAMlD;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACxD,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,MAAM,GACX,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAMlC;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EACxD,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,MAAM,GACZ,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CASlC"}
package/package.json ADDED
@@ -0,0 +1,83 @@
1
+ {
2
+ "name": "ordify-chat-widget",
3
+ "version": "1.0.1",
4
+ "description": "A professional React chat widget for integrating Ordify AI agents into applications with minimal setup.",
5
+ "main": "dist/index.cjs.js",
6
+ "module": "dist/index.esm.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.esm.js",
11
+ "require": "./dist/index.cjs.js",
12
+ "types": "./dist/index.d.ts"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "README.md",
18
+ "LICENSE",
19
+ "CHANGELOG.md"
20
+ ],
21
+ "scripts": {
22
+ "dev": "vite",
23
+ "build": "tsc && vite build",
24
+ "preview": "vite preview",
25
+ "test": "vitest",
26
+ "lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
27
+ "type-check": "tsc --noEmit",
28
+ "prepublishOnly": "npm run build"
29
+ },
30
+ "keywords": [
31
+ "react",
32
+ "chat",
33
+ "ai",
34
+ "ordify",
35
+ "widget",
36
+ "typescript",
37
+ "shadcn-ui",
38
+ "chatbot",
39
+ "assistant",
40
+ "conversation"
41
+ ],
42
+ "author": {
43
+ "name": "Ordify AI",
44
+ "email": "support@ordify.ai",
45
+ "url": "https://ordify.ai"
46
+ },
47
+ "license": "MIT",
48
+ "type": "module",
49
+ "repository": {
50
+ "type": "git",
51
+ "url": "git+https://github.com/ordify-ai/chat-widget.git"
52
+ },
53
+ "bugs": {
54
+ "url": "https://github.com/ordify-ai/chat-widget/issues"
55
+ },
56
+ "homepage": "https://github.com/ordify-ai/chat-widget#readme",
57
+ "peerDependencies": {
58
+ "react": "^18.0.0",
59
+ "react-dom": "^18.0.0"
60
+ },
61
+ "dependencies": {
62
+ "lucide-react": "^0.544.0",
63
+ "markdown-to-jsx": "^7.7.13",
64
+ "styled-components": "^6.1.19",
65
+ "use-stick-to-bottom": "^1.1.1"
66
+ },
67
+ "devDependencies": {
68
+ "@types/react": "^18.2.43",
69
+ "@types/react-dom": "^18.2.17",
70
+ "@typescript-eslint/eslint-plugin": "^6.21.0",
71
+ "@typescript-eslint/parser": "^6.21.0",
72
+ "@vitejs/plugin-react": "^4.2.1",
73
+ "eslint": "^8.55.0",
74
+ "eslint-plugin-react-hooks": "^4.6.2",
75
+ "eslint-plugin-react-refresh": "^0.4.21",
76
+ "react": "^18.2.0",
77
+ "react-dom": "^18.2.0",
78
+ "typescript": "^5.2.2",
79
+ "vite": "^5.0.8",
80
+ "vite-plugin-dts": "^3.6.4",
81
+ "vitest": "^1.0.4"
82
+ }
83
+ }