@emblemvault/hustle-react 1.0.0

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/README.md +225 -0
  2. package/dist/browser/hustle-react.js +14705 -0
  3. package/dist/browser/hustle-react.js.map +1 -0
  4. package/dist/components/index.cjs +3170 -0
  5. package/dist/components/index.cjs.map +1 -0
  6. package/dist/components/index.d.cts +58 -0
  7. package/dist/components/index.d.ts +58 -0
  8. package/dist/components/index.js +3143 -0
  9. package/dist/components/index.js.map +1 -0
  10. package/dist/hooks/index.cjs +695 -0
  11. package/dist/hooks/index.cjs.map +1 -0
  12. package/dist/hooks/index.d.cts +46 -0
  13. package/dist/hooks/index.d.ts +46 -0
  14. package/dist/hooks/index.js +691 -0
  15. package/dist/hooks/index.js.map +1 -0
  16. package/dist/hustle-S48t4lTZ.d.cts +222 -0
  17. package/dist/hustle-S48t4lTZ.d.ts +222 -0
  18. package/dist/index.cjs +3588 -0
  19. package/dist/index.cjs.map +1 -0
  20. package/dist/index.d.cts +229 -0
  21. package/dist/index.d.ts +229 -0
  22. package/dist/index.js +3547 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/plugin-BUg7vMxe.d.cts +172 -0
  25. package/dist/plugin-BUg7vMxe.d.ts +172 -0
  26. package/dist/plugins/index.cjs +1235 -0
  27. package/dist/plugins/index.cjs.map +1 -0
  28. package/dist/plugins/index.d.cts +192 -0
  29. package/dist/plugins/index.d.ts +192 -0
  30. package/dist/plugins/index.js +1225 -0
  31. package/dist/plugins/index.js.map +1 -0
  32. package/dist/providers/index.cjs +694 -0
  33. package/dist/providers/index.cjs.map +1 -0
  34. package/dist/providers/index.d.cts +46 -0
  35. package/dist/providers/index.d.ts +46 -0
  36. package/dist/providers/index.js +691 -0
  37. package/dist/providers/index.js.map +1 -0
  38. package/package.json +87 -0
@@ -0,0 +1,58 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { C as ChatMessage, T as ToolCall } from '../hustle-S48t4lTZ.cjs';
3
+ import 'hustle-incognito';
4
+
5
+ /**
6
+ * Props for HustleChat component
7
+ */
8
+ interface HustleChatProps {
9
+ /** Additional CSS classes */
10
+ className?: string;
11
+ /** Placeholder text for input */
12
+ placeholder?: string;
13
+ /** Show settings button (opens modal with model selector, prompts, etc.) */
14
+ showSettings?: boolean;
15
+ /** Show debug info */
16
+ showDebug?: boolean;
17
+ /** Initial system prompt */
18
+ initialSystemPrompt?: string;
19
+ /** Callback when message is sent */
20
+ onMessage?: (message: ChatMessage) => void;
21
+ /** Callback when tool is called */
22
+ onToolCall?: (toolCall: ToolCall) => void;
23
+ /** Callback when response is received */
24
+ onResponse?: (content: string) => void;
25
+ }
26
+ /**
27
+ * HustleChat - Complete streaming chat interface
28
+ *
29
+ * @example Basic usage
30
+ * ```tsx
31
+ * <HustleChat />
32
+ * ```
33
+ *
34
+ * @example With settings modal
35
+ * ```tsx
36
+ * <HustleChat
37
+ * showSettings
38
+ * placeholder="Ask me anything..."
39
+ * onMessage={(msg) => console.log('Sent:', msg)}
40
+ * />
41
+ * ```
42
+ */
43
+ declare function HustleChat({ className, placeholder, showSettings, showDebug, initialSystemPrompt, onMessage, onToolCall, onResponse, }: HustleChatProps): react_jsx_runtime.JSX.Element;
44
+
45
+ /**
46
+ * MarkdownContent - Renders markdown using marked + highlight.js
47
+ *
48
+ * Uses marked for markdown parsing (lightweight, reliable)
49
+ * Uses highlight.js for code block syntax highlighting
50
+ * Adds copy and "Open in Emblem AI" buttons to code blocks
51
+ */
52
+ interface MarkdownContentProps {
53
+ content: string;
54
+ className?: string;
55
+ }
56
+ declare function MarkdownContent({ content, className }: MarkdownContentProps): react_jsx_runtime.JSX.Element;
57
+
58
+ export { HustleChat, type HustleChatProps, MarkdownContent };
@@ -0,0 +1,58 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { C as ChatMessage, T as ToolCall } from '../hustle-S48t4lTZ.js';
3
+ import 'hustle-incognito';
4
+
5
+ /**
6
+ * Props for HustleChat component
7
+ */
8
+ interface HustleChatProps {
9
+ /** Additional CSS classes */
10
+ className?: string;
11
+ /** Placeholder text for input */
12
+ placeholder?: string;
13
+ /** Show settings button (opens modal with model selector, prompts, etc.) */
14
+ showSettings?: boolean;
15
+ /** Show debug info */
16
+ showDebug?: boolean;
17
+ /** Initial system prompt */
18
+ initialSystemPrompt?: string;
19
+ /** Callback when message is sent */
20
+ onMessage?: (message: ChatMessage) => void;
21
+ /** Callback when tool is called */
22
+ onToolCall?: (toolCall: ToolCall) => void;
23
+ /** Callback when response is received */
24
+ onResponse?: (content: string) => void;
25
+ }
26
+ /**
27
+ * HustleChat - Complete streaming chat interface
28
+ *
29
+ * @example Basic usage
30
+ * ```tsx
31
+ * <HustleChat />
32
+ * ```
33
+ *
34
+ * @example With settings modal
35
+ * ```tsx
36
+ * <HustleChat
37
+ * showSettings
38
+ * placeholder="Ask me anything..."
39
+ * onMessage={(msg) => console.log('Sent:', msg)}
40
+ * />
41
+ * ```
42
+ */
43
+ declare function HustleChat({ className, placeholder, showSettings, showDebug, initialSystemPrompt, onMessage, onToolCall, onResponse, }: HustleChatProps): react_jsx_runtime.JSX.Element;
44
+
45
+ /**
46
+ * MarkdownContent - Renders markdown using marked + highlight.js
47
+ *
48
+ * Uses marked for markdown parsing (lightweight, reliable)
49
+ * Uses highlight.js for code block syntax highlighting
50
+ * Adds copy and "Open in Emblem AI" buttons to code blocks
51
+ */
52
+ interface MarkdownContentProps {
53
+ content: string;
54
+ className?: string;
55
+ }
56
+ declare function MarkdownContent({ content, className }: MarkdownContentProps): react_jsx_runtime.JSX.Element;
57
+
58
+ export { HustleChat, type HustleChatProps, MarkdownContent };