@netbirdio/explain 0.1.0 → 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.
Files changed (41) hide show
  1. package/README.md +12 -12
  2. package/dist/client/AIAssistantProvider.d.ts +6 -2
  3. package/dist/client/AIAssistantProvider.d.ts.map +1 -1
  4. package/dist/client/AIAssistantProvider.js +28 -11
  5. package/dist/client/AIAssistantProvider.js.map +1 -1
  6. package/dist/client/AIChatBot.d.ts +3 -1
  7. package/dist/client/AIChatBot.d.ts.map +1 -1
  8. package/dist/client/AIChatBot.js +2 -2
  9. package/dist/client/AIChatBot.js.map +1 -1
  10. package/dist/client/index.d.ts +1 -1
  11. package/dist/client/index.d.ts.map +1 -1
  12. package/dist/client/styles.d.ts +1 -0
  13. package/dist/client/styles.d.ts.map +1 -1
  14. package/dist/client/styles.js +8 -0
  15. package/dist/client/styles.js.map +1 -1
  16. package/dist/server/handler.d.ts +5 -2
  17. package/dist/server/handler.d.ts.map +1 -1
  18. package/dist/server/handler.js +18 -1
  19. package/dist/server/handler.js.map +1 -1
  20. package/dist/server/index.d.ts +2 -1
  21. package/dist/server/index.d.ts.map +1 -1
  22. package/dist/server/index.js +1 -0
  23. package/dist/server/index.js.map +1 -1
  24. package/dist/server/providers/dify.d.ts +10 -0
  25. package/dist/server/providers/dify.d.ts.map +1 -0
  26. package/dist/server/providers/dify.js +56 -0
  27. package/dist/server/providers/dify.js.map +1 -0
  28. package/dist/server/providers/types.d.ts +10 -0
  29. package/dist/server/providers/types.d.ts.map +1 -1
  30. package/dist/types.d.ts +7 -0
  31. package/dist/types.d.ts.map +1 -1
  32. package/package.json +1 -1
  33. package/src/client/AIAssistantProvider.tsx +52 -23
  34. package/src/client/AIChatBot.tsx +7 -3
  35. package/src/client/index.ts +1 -1
  36. package/src/client/styles.ts +9 -0
  37. package/src/server/handler.ts +26 -4
  38. package/src/server/index.ts +2 -1
  39. package/src/server/providers/dify.ts +66 -0
  40. package/src/server/providers/types.ts +12 -1
  41. package/src/types.ts +8 -0
package/README.md CHANGED
@@ -1,18 +1,18 @@
1
- # netbird-explain
1
+ # @netbirdio/explain
2
2
 
3
3
  AI-powered "Explain" assistant for React apps. Users click on UI elements and get contextual AI explanations via a chat panel.
4
4
 
5
5
  The package has two entry points:
6
6
 
7
- - `netbird-explain/client` — React components (provider, chat panel, floating button)
8
- - `netbird-explain/server` — Node.js handler that proxies requests to Anthropic or OpenAI
7
+ - `@netbirdio/explain/client` — React components (provider, chat panel, floating button)
8
+ - `@netbirdio/explain/server` — Node.js handler that proxies requests to Anthropic or OpenAI
9
9
 
10
10
  No CSS framework required — the package is fully self-contained with inline styles and CSS custom properties.
11
11
 
12
12
  ## Installation
13
13
 
14
14
  ```bash
15
- npm install netbird-explain
15
+ npm install @netbirdio/explain
16
16
  ```
17
17
 
18
18
  Peer dependencies: `react >=18`, `react-dom >=18`.
@@ -22,7 +22,7 @@ For local development as a workspace package, add it to your `package.json`:
22
22
  ```json
23
23
  {
24
24
  "dependencies": {
25
- "netbird-explain": "file:./packages/netbird-explain"
25
+ "@netbirdio/explain": "file:./packages/@netbirdio/explain"
26
26
  }
27
27
  }
28
28
  ```
@@ -31,7 +31,7 @@ If you're using Next.js, add to `next.config.js`:
31
31
 
32
32
  ```js
33
33
  module.exports = {
34
- transpilePackages: ["netbird-explain"],
34
+ transpilePackages: ["@netbirdio/explain"],
35
35
  };
36
36
  ```
37
37
 
@@ -44,7 +44,7 @@ module.exports = {
44
44
  Wrap your app with `AIAssistantProvider`:
45
45
 
46
46
  ```tsx
47
- import { AIAssistantProvider } from "netbird-explain/client";
47
+ import { AIAssistantProvider } from "@netbirdio/explain/client";
48
48
 
49
49
  export default function App({ children }) {
50
50
  return (
@@ -112,7 +112,7 @@ Use `data-nb-explain-ignore` to prevent an element from being selectable in expl
112
112
  Use the `useAIAssistant` hook to provide context that gets included in every query:
113
113
 
114
114
  ```tsx
115
- import { useAIAssistant } from "netbird-explain/client";
115
+ import { useAIAssistant } from "@netbirdio/explain/client";
116
116
 
117
117
  function MyModal() {
118
118
  const { setExplainContext, clearExplainContext } = useAIAssistant();
@@ -222,7 +222,7 @@ The server module provides a framework-agnostic handler that proxies chat reques
222
222
 
223
223
  ```ts
224
224
  import express from "express";
225
- import { createAssistant } from "netbird-explain/server";
225
+ import { createAssistant } from "@netbirdio/explain/server";
226
226
 
227
227
  const assistant = createAssistant({
228
228
  provider: "anthropic",
@@ -243,7 +243,7 @@ app.listen(3080);
243
243
 
244
244
  ```ts
245
245
  import http from "http";
246
- import { createAssistant } from "netbird-explain/server";
246
+ import { createAssistant } from "@netbirdio/explain/server";
247
247
 
248
248
  const assistant = createAssistant({
249
249
  provider: "openai",
@@ -341,7 +341,7 @@ Environment variables:
341
341
 
342
342
  ```tsx
343
343
  // layout.tsx — wrap app with provider
344
- import { AIAssistantProvider } from "netbird-explain/client";
344
+ import { AIAssistantProvider } from "@netbirdio/explain/client";
345
345
 
346
346
  export default function Layout({ children }) {
347
347
  return (
@@ -357,7 +357,7 @@ export default function Layout({ children }) {
357
357
 
358
358
  ```tsx
359
359
  // MyModal.tsx — add explain support to a modal
360
- import { useAIAssistant } from "netbird-explain/client";
360
+ import { useAIAssistant } from "@netbirdio/explain/client";
361
361
  import { Sparkles } from "lucide-react";
362
362
 
363
363
  function MyModal() {
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import type { ExplainContext } from "../types";
2
+ import type { ExplainContext, ExplainEvent } from "../types";
3
3
  type AIAssistantContextType = {
4
4
  openChat: (selectedText?: string) => void;
5
5
  closeChat: () => void;
@@ -15,7 +15,11 @@ type AIAssistantProviderProps = {
15
15
  endpoint: string;
16
16
  apiKey?: string;
17
17
  children: React.ReactNode;
18
+ title?: string;
19
+ subtitle?: string;
20
+ onExplain?: (event: ExplainEvent) => void;
21
+ showChat?: boolean;
18
22
  };
19
- export default function AIAssistantProvider({ endpoint, apiKey, children, }: AIAssistantProviderProps): import("react/jsx-runtime").JSX.Element;
23
+ export default function AIAssistantProvider({ endpoint, apiKey, children, title, subtitle, onExplain, showChat, }: AIAssistantProviderProps): import("react/jsx-runtime").JSX.Element;
20
24
  export {};
21
25
  //# sourceMappingURL=AIAssistantProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AIAssistantProvider.d.ts","sourceRoot":"","sources":["../../src/client/AIAssistantProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAK/C,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,iBAAiB,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,CAAC;IACjD,mBAAmB,EAAE,MAAM,IAAI,CAAC;CACjC,CAAC;AAaF,eAAO,MAAM,cAAc,8BAAuC,CAAC;AAEnE,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAyEF,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,QAAQ,EACR,MAAM,EACN,QAAQ,GACT,EAAE,wBAAwB,2CAwK1B"}
1
+ {"version":3,"file":"AIAssistantProvider.d.ts","sourceRoot":"","sources":["../../src/client/AIAssistantProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAK7D,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,iBAAiB,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,CAAC;IACjD,mBAAmB,EAAE,MAAM,IAAI,CAAC;CACjC,CAAC;AAaF,eAAO,MAAM,cAAc,8BAAuC,CAAC;AAEnE,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAyEF,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,EAC1C,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAe,GAChB,EAAE,wBAAwB,2CA6L1B"}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import { createContext, useCallback, useContext, useEffect, useState, } from "react";
4
4
  import AIChatBot from "./AIChatBot";
5
5
  import AIFloatingButton from "./AIFloatingButton";
@@ -82,7 +82,7 @@ function buildQuery(label, ctx, elementDocs) {
82
82
  }
83
83
  return parts.join("\n");
84
84
  }
85
- export default function AIAssistantProvider({ endpoint, apiKey, children, }) {
85
+ export default function AIAssistantProvider({ endpoint, apiKey, children, title, subtitle, onExplain, showChat = true, }) {
86
86
  const [isChatOpen, setIsChatOpen] = useState(false);
87
87
  const [initialQuery, setInitialQuery] = useState("");
88
88
  const [explainMode, setExplainMode] = useState(false);
@@ -142,6 +142,9 @@ export default function AIAssistantProvider({ endpoint, apiKey, children, }) {
142
142
  : extractLabel(explainable);
143
143
  const elementDocs = findExplainDocs(explainable);
144
144
  const query = buildQuery(label, explainCtx, elementDocs);
145
+ if (onExplain) {
146
+ onExplain({ label, query, context: explainCtx, docs: elementDocs, element: explainable });
147
+ }
145
148
  openChat(query);
146
149
  };
147
150
  const handleKeyDown = (e) => {
@@ -159,7 +162,7 @@ export default function AIAssistantProvider({ endpoint, apiKey, children, }) {
159
162
  document.removeEventListener("click", handleClick, true);
160
163
  document.removeEventListener("keydown", handleKeyDown);
161
164
  };
162
- }, [explainMode, explainCtx, openChat, exitExplainMode]);
165
+ }, [explainMode, explainCtx, openChat, exitExplainMode, onExplain]);
163
166
  // Apply/remove highlight on hovered explainable element via CSS class
164
167
  useEffect(() => {
165
168
  if (!hoveredEl)
@@ -177,6 +180,20 @@ export default function AIAssistantProvider({ endpoint, apiKey, children, }) {
177
180
  });
178
181
  }
179
182
  }, [explainMode]);
183
+ // Inject global styles via DOM to avoid SSR hydration mismatch
184
+ // (inline <style> tags with quotes get HTML-escaped differently on server vs client)
185
+ useEffect(() => {
186
+ const id = "nb-explain-styles";
187
+ if (document.getElementById(id))
188
+ return;
189
+ const style = document.createElement("style");
190
+ style.id = id;
191
+ style.textContent = S.CSS_VARS + S.ANIMATIONS + S.HIGHLIGHT_STYLES;
192
+ document.head.appendChild(style);
193
+ return () => {
194
+ style.remove();
195
+ };
196
+ }, []);
180
197
  return (_jsxs(AIAssistantContext.Provider, { value: {
181
198
  openChat,
182
199
  closeChat,
@@ -186,13 +203,13 @@ export default function AIAssistantProvider({ endpoint, apiKey, children, }) {
186
203
  exitExplainMode,
187
204
  setExplainContext,
188
205
  clearExplainContext,
189
- }, children: [_jsx("style", { children: S.CSS_VARS + S.ANIMATIONS + S.HIGHLIGHT_STYLES }), children, explainMode && (_jsxs("div", { "data-nb-explain-banner": true, style: S.banner, children: [_jsx("span", { children: "Click on a highlighted element to explain it" }), _jsx("button", { onClick: () => exitExplainMode(), style: S.bannerCancel, children: "Cancel" })] })), _jsx(AIFloatingButton, { isOpen: isChatOpen, onClick: () => {
190
- if (isChatOpen) {
191
- closeChat();
192
- }
193
- else {
194
- openChat();
195
- }
196
- } }), _jsx(AIChatBot, { open: isChatOpen, onClose: closeChat, initialQuery: initialQuery, endpoint: endpoint, apiKey: apiKey })] }));
206
+ }, children: [children, explainMode && (_jsxs("div", { "data-nb-explain-banner": true, style: S.banner, children: [_jsx("span", { children: "Click on a highlighted element to explain it" }), _jsx("button", { onClick: () => exitExplainMode(), style: S.bannerCancel, children: "Cancel" })] })), showChat && (_jsxs(_Fragment, { children: [_jsx(AIFloatingButton, { isOpen: isChatOpen, onClick: () => {
207
+ if (isChatOpen) {
208
+ closeChat();
209
+ }
210
+ else {
211
+ openChat();
212
+ }
213
+ } }), _jsx(AIChatBot, { open: isChatOpen, onClose: closeChat, initialQuery: initialQuery, endpoint: endpoint, apiKey: apiKey, title: title, subtitle: subtitle })] }))] }));
197
214
  }
198
215
  //# sourceMappingURL=AIAssistantProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AIAssistantProvider.js","sourceRoot":"","sources":["../../src/client/AIAssistantProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AIAssistantProvider.js","sourceRoot":"","sources":["../../src/client/AIAssistantProvider.tsx"],"names":[],"mappings":"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"}
@@ -4,7 +4,9 @@ type Props = {
4
4
  initialQuery: string;
5
5
  endpoint: string;
6
6
  apiKey?: string;
7
+ title?: string;
8
+ subtitle?: string;
7
9
  };
8
- export default function AIChatBot({ open, onClose, initialQuery, endpoint, apiKey, }: Props): import("react/jsx-runtime").JSX.Element | null;
10
+ export default function AIChatBot({ open, onClose, initialQuery, endpoint, apiKey, title, subtitle, }: Props): import("react/jsx-runtime").JSX.Element | null;
9
11
  export {};
10
12
  //# sourceMappingURL=AIChatBot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AIChatBot.d.ts","sourceRoot":"","sources":["../../src/client/AIChatBot.tsx"],"names":[],"mappings":"AAcA,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAkCF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,MAAM,GACP,EAAE,KAAK,kDAwPP"}
1
+ {"version":3,"file":"AIChatBot.d.ts","sourceRoot":"","sources":["../../src/client/AIChatBot.tsx"],"names":[],"mappings":"AAcA,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAkCF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,KAAsB,EACtB,QAAyB,GAC1B,EAAE,KAAK,kDAwPP"}
@@ -27,7 +27,7 @@ async function fetchAIResponse(endpoint, apiKey, messages) {
27
27
  const data = await response.json();
28
28
  return data.reply;
29
29
  }
30
- export default function AIChatBot({ open, onClose, initialQuery, endpoint, apiKey, }) {
30
+ export default function AIChatBot({ open, onClose, initialQuery, endpoint, apiKey, title = "AI Assistant", subtitle = "Ask anything", }) {
31
31
  const [messages, setMessages] = useState([]);
32
32
  const [input, setInput] = useState("");
33
33
  const [isTyping, setIsTyping] = useState(false);
@@ -126,7 +126,7 @@ export default function AIChatBot({ open, onClose, initialQuery, endpoint, apiKe
126
126
  if (!open)
127
127
  return null;
128
128
  const active = !!input.trim() && !isTyping;
129
- return (_jsxs("div", { style: S.chatPanel, children: [_jsxs("div", { style: S.chatHeader, children: [_jsxs("div", { style: S.chatHeaderLeft, children: [_jsx("div", { style: S.chatHeaderIcon, children: _jsx(Sparkles, { size: 15, style: { color: "var(--nb-explain-accent)" } }) }), _jsxs("div", { children: [_jsx("h3", { style: S.chatHeaderTitle, children: "AI Assistant" }), _jsx("span", { style: S.chatHeaderSubtitle, children: "Ask anything" })] })] }), _jsx("button", { onClick: onClose, style: S.chatCloseBtn, onMouseEnter: (e) => {
129
+ return (_jsxs("div", { style: S.chatPanel, children: [_jsxs("div", { style: S.chatHeader, children: [_jsxs("div", { style: S.chatHeaderLeft, children: [_jsx("div", { style: S.chatHeaderIcon, children: _jsx(Sparkles, { size: 15, style: { color: "var(--nb-explain-accent)" } }) }), _jsxs("div", { style: S.chatHeaderText, children: [_jsx("h3", { style: S.chatHeaderTitle, children: title }), _jsx("span", { style: S.chatHeaderSubtitle, children: subtitle })] })] }), _jsx("button", { onClick: onClose, style: S.chatCloseBtn, onMouseEnter: (e) => {
130
130
  e.currentTarget.style.color = "var(--nb-explain-text)";
131
131
  e.currentTarget.style.background = "var(--nb-explain-bg-hover)";
132
132
  }, onMouseLeave: (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"AIChatBot.js","sourceRoot":"","sources":["../../src/client/AIChatBot.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AIChatBot.js","sourceRoot":"","sources":["../../src/client/AIChatBot.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export { default as AIAssistantProvider, useAIAssistant } from "./AIAssistantProvider";
2
2
  export { default as AIChatBot } from "./AIChatBot";
3
3
  export { default as AIFloatingButton } from "./AIFloatingButton";
4
- export type { Message, ExplainContext } from "../types";
4
+ export type { Message, ExplainContext, ExplainEvent } from "../types";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
@@ -22,6 +22,7 @@ export declare const chatPanel: React.CSSProperties;
22
22
  export declare const chatHeader: React.CSSProperties;
23
23
  export declare const chatHeaderLeft: React.CSSProperties;
24
24
  export declare const chatHeaderIcon: React.CSSProperties;
25
+ export declare const chatHeaderText: React.CSSProperties;
25
26
  export declare const chatHeaderTitle: React.CSSProperties;
26
27
  export declare const chatHeaderSubtitle: React.CSSProperties;
27
28
  export declare const chatCloseBtn: React.CSSProperties;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/client/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,eAAO,MAAM,QAAQ,69BAwBpB,CAAC;AAIF,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,aAgB7B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,aAM9B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,aAIlC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,aAQlC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,aAMnC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,aAGtC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,aAUhC,CAAC;AAIF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,aAOhC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,aAS9B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,aAKnC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,aAIlC,CAAC;AAGF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,aAGhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,aASrC,CAAC;AAGF,eAAO,MAAM,UAAU,GAAI,QAAQ,OAAO,KAAG,KAAK,CAAC,aAIjD,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,QAAQ,OAAO,KAAG,KAAK,CAAC,aAUpD,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,QAAQ,OAAO,KAAG,KAAK,CAAC,aASpD,CAAC;AAEH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,aAG/B,CAAC;AAGF,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,aAG7B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,aAMhC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,aAK7B,CAAC;AAIF,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,aAG7B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,aAO5B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,aAQ9B,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,QAAQ,OAAO,KAAG,KAAK,CAAC,aAW9C,CAAC;AAEH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,aAK/B,CAAC;AAIF,eAAO,MAAM,GAAG,GAAI,QAAQ,OAAO,KAAG,KAAK,CAAC,aAmB1C,CAAC;AAIH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,aAkB1B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,aAShC,CAAC;AAIF,eAAO,MAAM,UAAU,kuBAgBtB,CAAC;AAEF,eAAO,MAAM,gBAAgB,mMAO5B,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/client/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,eAAO,MAAM,QAAQ,69BAwBpB,CAAC;AAIF,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,aAgB7B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,aAM9B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,aAIlC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,aASlC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,aAIlC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,aAMnC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,aAKtC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,aAUhC,CAAC;AAIF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,aAOhC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,aAS9B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,aAKnC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,aAIlC,CAAC;AAGF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,aAGhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,aASrC,CAAC;AAGF,eAAO,MAAM,UAAU,GAAI,QAAQ,OAAO,KAAG,KAAK,CAAC,aAIjD,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,QAAQ,OAAO,KAAG,KAAK,CAAC,aAUpD,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,QAAQ,OAAO,KAAG,KAAK,CAAC,aASpD,CAAC;AAEH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,aAG/B,CAAC;AAGF,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,aAG7B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,aAMhC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,aAK7B,CAAC;AAIF,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,aAG7B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,aAO5B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,aAQ9B,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,QAAQ,OAAO,KAAG,KAAK,CAAC,aAW9C,CAAC;AAEH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,aAK/B,CAAC;AAIF,eAAO,MAAM,GAAG,GAAI,QAAQ,OAAO,KAAG,KAAK,CAAC,aAmB1C,CAAC;AAIH,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,aAkB1B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,aAShC,CAAC;AAIF,eAAO,MAAM,UAAU,kuBAgBtB,CAAC;AAEF,eAAO,MAAM,gBAAgB,mMAO5B,CAAC"}
@@ -80,6 +80,12 @@ export const chatHeaderIcon = {
80
80
  display: "flex",
81
81
  alignItems: "center",
82
82
  justifyContent: "center",
83
+ flexShrink: 0,
84
+ };
85
+ export const chatHeaderText = {
86
+ display: "flex",
87
+ flexDirection: "column",
88
+ justifyContent: "center",
83
89
  };
84
90
  export const chatHeaderTitle = {
85
91
  fontSize: 14,
@@ -91,6 +97,8 @@ export const chatHeaderTitle = {
91
97
  export const chatHeaderSubtitle = {
92
98
  fontSize: 11,
93
99
  color: "var(--nb-explain-text-dim)",
100
+ lineHeight: 1,
101
+ marginTop: 2,
94
102
  };
95
103
  export const chatCloseBtn = {
96
104
  padding: 6,
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/client/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;CAwBvB,CAAC;AAEF,qBAAqB;AAErB,MAAM,CAAC,MAAM,SAAS,GAAwB;IAC5C,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,YAAY,EAAE,0BAA0B;IACxC,MAAM,EAAE,oCAAoC;IAC5C,UAAU,EAAE,sBAAsB;IAClC,SAAS,EAAE,0BAA0B;IACrC,UAAU,EAAE,wBAAwB;IACpC,QAAQ,EAAE,QAAQ;IAClB,SAAS,EAAE,mCAAmC;CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAwB;IAC7C,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,eAAe;IAC/B,OAAO,EAAE,WAAW;IACpB,YAAY,EAAE,oCAAoC;CACnD,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAwB;IACjD,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAE,EAAE;CACR,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAwB;IACjD,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,YAAY,EAAE,6BAA6B;IAC3C,UAAU,EAAE,+BAA+B;IAC3C,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAwB;IAClD,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,GAAG;IACf,KAAK,EAAE,wBAAwB;IAC/B,UAAU,EAAE,CAAC;IACb,MAAM,EAAE,CAAC;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACrD,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,4BAA4B;CACpC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAwB;IAC/C,OAAO,EAAE,CAAC;IACV,YAAY,EAAE,6BAA6B;IAC3C,KAAK,EAAE,4BAA4B;IACnC,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,+BAA+B;CAC5C,CAAC;AAEF,mBAAmB;AAEnB,MAAM,CAAC,MAAM,YAAY,GAAwB;IAC/C,IAAI,EAAE,CAAC;IACP,SAAS,EAAE,MAAM;IACjB,OAAO,EAAE,MAAM;IACf,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,GAAG,EAAE,EAAE;CACR,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAwB;IAC7C,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IACxB,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,QAAQ;IACnB,GAAG,EAAE,EAAE;IACP,OAAO,EAAE,GAAG;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAwB;IAClD,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,8BAA8B;IACrC,UAAU,EAAE,GAAG;IACf,MAAM,EAAE,CAAC;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAwB;IACjD,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,4BAA4B;IACnC,SAAS,EAAE,CAAC;CACb,CAAC;AAEF,gBAAgB;AAChB,MAAM,CAAC,MAAM,YAAY,GAAwB;IAC/C,OAAO,EAAE,MAAM;IACf,cAAc,EAAE,QAAQ;CACzB,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAwB;IACpD,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,4BAA4B;IACnC,UAAU,EAAE,6BAA6B;IACzC,YAAY,EAAE,EAAE;IAChB,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,cAAc;AACd,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAe,EAAuB,EAAE,CAAC,CAAC;IACnE,OAAO,EAAE,MAAM;IACf,GAAG,EAAE,EAAE;IACP,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY;CACnD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAe,EAAuB,EAAE,CAAC,CAAC;IACtE,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,YAAY,EAAE,6BAA6B;IAC3C,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,+BAA+B;IACpF,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IACxB,UAAU,EAAE,CAAC;IACb,SAAS,EAAE,CAAC;CACb,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAe,EAAuB,EAAE,CAAC,CAAC;IACtE,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,6BAA6B;IAC3C,OAAO,EAAE,UAAU;IACnB,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,GAAG;IACf,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,6BAA6B;IAChF,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,wBAAwB;IACxE,SAAS,EAAE,YAAY;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAwB;IAC9C,UAAU,EAAE,GAAG;IACf,KAAK,EAAE,wBAAwB;CAChC,CAAC;AAEF,mBAAmB;AACnB,MAAM,CAAC,MAAM,SAAS,GAAwB;IAC5C,OAAO,EAAE,MAAM;IACf,GAAG,EAAE,EAAE;CACR,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAwB;IAC/C,UAAU,EAAE,6BAA6B;IACzC,YAAY,EAAE,6BAA6B;IAC3C,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,MAAM;IACf,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAwB;IAC5C,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,4BAA4B;CACzC,CAAC;AAEF,qBAAqB;AAErB,MAAM,CAAC,MAAM,SAAS,GAAwB;IAC5C,OAAO,EAAE,WAAW;IACpB,SAAS,EAAE,oCAAoC;CAChD,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAwB;IAC3C,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAE,CAAC;IACN,UAAU,EAAE,6BAA6B;IACzC,YAAY,EAAE,6BAA6B;IAC3C,OAAO,EAAE,UAAU;CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAwB;IAC7C,IAAI,EAAE,CAAC;IACP,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,MAAM;IACd,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,wBAAwB;IAC/B,UAAU,EAAE,wBAAwB;CACrC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,MAAe,EAAuB,EAAE,CAAC,CAAC;IAChE,OAAO,EAAE,CAAC;IACV,YAAY,EAAE,6BAA6B;IAC3C,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa;IAC1C,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,4BAA4B;IACzE,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,aAAa;IACzB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;CAC1B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAwB;IAC9C,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,4BAA4B;IACnC,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,CAAC;CACb,CAAC;AAEF,0BAA0B;AAE1B,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAe,EAAuB,EAAE,CAAC,CAAC;IAC5D,QAAQ,EAAE,OAAO;IACjB,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,IAAI;IACZ,KAAK,EAAE,EAAE;IACT,MAAM,EAAE,EAAE;IACV,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,cAAc,EAAE,QAAQ;IACxB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,iCAAiC;IAC7C,SAAS,EAAE,4BAA4B;IACvC,UAAU,EAAE,MAAM;QAChB,CAAC,CAAC,4BAA4B;QAC9B,CAAC,CAAC,4DAA4D;IAChE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,MAAM;CACxD,CAAC,CAAC;AAEH,iBAAiB;AAEjB,MAAM,CAAC,MAAM,MAAM,GAAwB;IACzC,QAAQ,EAAE,OAAO;IACjB,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,6BAA6B;IACzC,KAAK,EAAE,+BAA+B;IACtC,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,GAAG;IACf,OAAO,EAAE,UAAU;IACnB,YAAY,EAAE,EAAE;IAChB,SAAS,EAAE,gCAAgC;IAC3C,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAE,CAAC;IACN,UAAU,EAAE,wBAAwB;IACpC,SAAS,EAAE,kCAAkC;CAC9C,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAwB;IAC/C,UAAU,EAAE,CAAC;IACb,KAAK,EAAE,iBAAiB;IACxB,UAAU,EAAE,MAAM;IAClB,MAAM,EAAE,MAAM;IACd,MAAM,EAAE,SAAS;IACjB,cAAc,EAAE,WAAW;IAC3B,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,wBAAwB;CACrC,CAAC;AAEF,2CAA2C;AAE3C,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;CAgBzB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;CAO/B,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/client/styles.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  import type { Message } from "../types";
2
+ import type { LLMProvider, Middleware } from "./providers/types";
2
3
  export type AssistantConfig = {
3
- provider: "anthropic" | "openai";
4
- apiKey: string;
4
+ provider: "anthropic" | "openai" | "dify" | LLMProvider;
5
+ apiKey?: string;
5
6
  model?: string;
7
+ baseUrl?: string;
6
8
  systemPrompt?: string;
9
+ middleware?: Middleware[];
7
10
  };
8
11
  type HandlerOptions = {
9
12
  apiKey?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/server/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAKxC,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,WAAW,GAAG,QAAQ,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG;QAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC9F,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC;CACrE;AAED,UAAU,gBAAgB;IACxB,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CACxE;AAmED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe;gBAG5B,WAAW,KAAG,OAAO,CAAC,YAAY,CAAC;qBAQpC,cAAc,MACtB,KAAK,eAAe,EAAE,KAAK,gBAAgB,KAAG,OAAO,CAAC,IAAI,CAAC;EAwC5E"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/server/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAIxC,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEjE,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;CAC3B,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,UAAU,eAAe;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG;QAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC9F,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC;CACrE;AAED,UAAU,gBAAgB;IACxB,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,SAAS,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;CACxE;AA2ED,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe;gBAI5B,WAAW,KAAG,OAAO,CAAC,YAAY,CAAC;qBAkBpC,cAAc,MACtB,KAAK,eAAe,EAAE,KAAK,gBAAgB,KAAG,OAAO,CAAC,IAAI,CAAC;EAwC5E"}
@@ -1,4 +1,5 @@
1
1
  import { AnthropicProvider } from "./providers/anthropic";
2
+ import { DifyProvider } from "./providers/dify";
2
3
  import { OpenAIProvider } from "./providers/openai";
3
4
  function getHeader(req, name) {
4
5
  if (typeof req.headers === "object" && req.headers !== null) {
@@ -55,22 +56,38 @@ async function parseBody(req) {
55
56
  throw new Error("Unable to parse request body");
56
57
  }
57
58
  function createProvider(config) {
59
+ if (typeof config.provider === "object") {
60
+ return config.provider;
61
+ }
62
+ if (!config.apiKey) {
63
+ throw new Error("apiKey is required when using a built-in provider");
64
+ }
58
65
  switch (config.provider) {
59
66
  case "anthropic":
60
67
  return new AnthropicProvider({ apiKey: config.apiKey, model: config.model });
61
68
  case "openai":
62
69
  return new OpenAIProvider({ apiKey: config.apiKey, model: config.model });
70
+ case "dify":
71
+ return new DifyProvider({ apiKey: config.apiKey, baseUrl: config.baseUrl });
63
72
  default:
64
73
  throw new Error(`Unknown provider: ${config.provider}`);
65
74
  }
66
75
  }
67
76
  export function createAssistant(config) {
68
77
  const provider = createProvider(config);
78
+ const middlewares = config.middleware || [];
69
79
  async function chat(req) {
70
80
  if (!req.messages || !Array.isArray(req.messages) || req.messages.length === 0) {
71
81
  throw new Error("messages array is required and must not be empty");
72
82
  }
73
- const reply = await provider.chat(req.messages, config.systemPrompt);
83
+ let messages = req.messages;
84
+ let systemPrompt = config.systemPrompt;
85
+ for (const mw of middlewares) {
86
+ const result = await mw(messages, systemPrompt);
87
+ messages = result.messages;
88
+ systemPrompt = result.systemPrompt;
89
+ }
90
+ const reply = await provider.chat(messages, systemPrompt);
74
91
  return { reply };
75
92
  }
76
93
  function handler(opts) {
@@ -1 +1 @@
1
- {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/server/handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/server/handler.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export { createAssistant } from "./handler";
2
2
  export type { AssistantConfig } from "./handler";
3
3
  export { AnthropicProvider } from "./providers/anthropic";
4
+ export { DifyProvider } from "./providers/dify";
4
5
  export { OpenAIProvider } from "./providers/openai";
5
- export type { LLMProvider, ProviderConfig } from "./providers/types";
6
+ export type { LLMProvider, ProviderConfig, Middleware } from "./providers/types";
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { createAssistant } from "./handler";
2
2
  export { AnthropicProvider } from "./providers/anthropic";
3
+ export { DifyProvider } from "./providers/dify";
3
4
  export { OpenAIProvider } from "./providers/openai";
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Message } from "../../types";
2
+ import type { LLMProvider, ProviderConfig } from "./types";
3
+ export declare class DifyProvider implements LLMProvider {
4
+ private apiKey;
5
+ private baseUrl;
6
+ constructor(config: ProviderConfig);
7
+ chat(messages: Message[], systemPrompt?: string): Promise<string>;
8
+ private buildQuery;
9
+ }
10
+ //# sourceMappingURL=dify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dify.d.ts","sourceRoot":"","sources":["../../../src/server/providers/dify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE3D,qBAAa,YAAa,YAAW,WAAW;IAC9C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,cAAc;IAQ5B,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA6BvE,OAAO,CAAC,UAAU;CAqBnB"}
@@ -0,0 +1,56 @@
1
+ export class DifyProvider {
2
+ constructor(config) {
3
+ this.apiKey = config.apiKey;
4
+ if (!config.baseUrl) {
5
+ throw new Error("baseUrl is required for the Dify provider");
6
+ }
7
+ this.baseUrl = config.baseUrl.replace(/\/+$/, "");
8
+ }
9
+ async chat(messages, systemPrompt) {
10
+ const query = this.buildQuery(messages, systemPrompt);
11
+ const response = await fetch(`${this.baseUrl}/v1/chat-messages`, {
12
+ method: "POST",
13
+ headers: {
14
+ "Content-Type": "application/json",
15
+ Authorization: `Bearer ${this.apiKey}`,
16
+ },
17
+ body: JSON.stringify({
18
+ inputs: {},
19
+ query,
20
+ response_mode: "blocking",
21
+ user: "explain-user",
22
+ }),
23
+ });
24
+ if (!response.ok) {
25
+ const text = await response.text();
26
+ throw new Error(`Dify API error ${response.status}: ${text}`);
27
+ }
28
+ const data = await response.json();
29
+ if (!data.answer) {
30
+ throw new Error("No answer in Dify response");
31
+ }
32
+ return data.answer;
33
+ }
34
+ buildQuery(messages, systemPrompt) {
35
+ const parts = [];
36
+ if (systemPrompt) {
37
+ parts.push(`[System]: ${systemPrompt}`);
38
+ }
39
+ for (const m of messages) {
40
+ if (m.role === "context") {
41
+ parts.push(`[Context]: ${m.content}`);
42
+ }
43
+ else if (m.role === "system") {
44
+ parts.push(`[System]: ${m.content}`);
45
+ }
46
+ else if (m.role === "assistant") {
47
+ parts.push(`[Assistant]: ${m.content}`);
48
+ }
49
+ else {
50
+ parts.push(m.content);
51
+ }
52
+ }
53
+ return parts.join("\n\n");
54
+ }
55
+ }
56
+ //# sourceMappingURL=dify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dify.js","sourceRoot":"","sources":["../../../src/server/providers/dify.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,YAAY;IAIvB,YAAY,MAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAmB,EAAE,YAAqB;QACnD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEtD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,mBAAmB,EAAE;YAC/D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;aACvC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,MAAM,EAAE,EAAE;gBACV,KAAK;gBACL,aAAa,EAAE,UAAU;gBACzB,IAAI,EAAE,cAAc;aACrB,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,kBAAkB,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEO,UAAU,CAAC,QAAmB,EAAE,YAAqB;QAC3D,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,aAAa,YAAY,EAAE,CAAC,CAAC;QAC1C,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC/B,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,CAAC;iBAAM,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -5,5 +5,15 @@ export interface LLMProvider {
5
5
  export type ProviderConfig = {
6
6
  apiKey: string;
7
7
  model?: string;
8
+ baseUrl?: string;
8
9
  };
10
+ /**
11
+ * Middleware that can transform messages before they reach the LLM.
12
+ * Useful for RAG context injection, logging, filtering, etc.
13
+ * Return the (possibly modified) messages array.
14
+ */
15
+ export type Middleware = (messages: Message[], systemPrompt?: string) => Promise<{
16
+ messages: Message[];
17
+ systemPrompt?: string;
18
+ }>;
9
19
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/providers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACnE;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/providers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACnE;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,CACvB,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,CAAC,EAAE,MAAM,KAClB,OAAO,CAAC;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC"}
package/dist/types.d.ts CHANGED
@@ -8,4 +8,11 @@ export type ExplainContext = {
8
8
  pageName?: string;
9
9
  docsUrls?: string[];
10
10
  };
11
+ export type ExplainEvent = {
12
+ label: string;
13
+ query: string;
14
+ context: ExplainContext | null;
15
+ docs: string[];
16
+ element: HTMLElement;
17
+ };
11
18
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netbirdio/explain",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Full-stack AI assistant library with React frontend components and Node.js backend handler",
5
5
  "license": "BSD-3-Clause",
6
6
  "main": "./dist/client/index.js",
@@ -7,7 +7,7 @@ import React, {
7
7
  useEffect,
8
8
  useState,
9
9
  } from "react";
10
- import type { ExplainContext } from "../types";
10
+ import type { ExplainContext, ExplainEvent } from "../types";
11
11
  import AIChatBot from "./AIChatBot";
12
12
  import AIFloatingButton from "./AIFloatingButton";
13
13
  import * as S from "./styles";
@@ -40,6 +40,10 @@ type AIAssistantProviderProps = {
40
40
  endpoint: string;
41
41
  apiKey?: string;
42
42
  children: React.ReactNode;
43
+ title?: string;
44
+ subtitle?: string;
45
+ onExplain?: (event: ExplainEvent) => void;
46
+ showChat?: boolean;
43
47
  };
44
48
 
45
49
  /**
@@ -117,6 +121,10 @@ export default function AIAssistantProvider({
117
121
  endpoint,
118
122
  apiKey,
119
123
  children,
124
+ title,
125
+ subtitle,
126
+ onExplain,
127
+ showChat = true,
120
128
  }: AIAssistantProviderProps) {
121
129
  const [isChatOpen, setIsChatOpen] = useState(false);
122
130
  const [initialQuery, setInitialQuery] = useState("");
@@ -194,6 +202,10 @@ export default function AIAssistantProvider({
194
202
 
195
203
  const elementDocs = findExplainDocs(explainable);
196
204
  const query = buildQuery(label, explainCtx, elementDocs);
205
+
206
+ if (onExplain) {
207
+ onExplain({ label, query, context: explainCtx, docs: elementDocs, element: explainable });
208
+ }
197
209
  openChat(query);
198
210
  };
199
211
 
@@ -214,7 +226,7 @@ export default function AIAssistantProvider({
214
226
  document.removeEventListener("click", handleClick, true);
215
227
  document.removeEventListener("keydown", handleKeyDown);
216
228
  };
217
- }, [explainMode, explainCtx, openChat, exitExplainMode]);
229
+ }, [explainMode, explainCtx, openChat, exitExplainMode, onExplain]);
218
230
 
219
231
  // Apply/remove highlight on hovered explainable element via CSS class
220
232
  useEffect(() => {
@@ -234,6 +246,20 @@ export default function AIAssistantProvider({
234
246
  }
235
247
  }, [explainMode]);
236
248
 
249
+ // Inject global styles via DOM to avoid SSR hydration mismatch
250
+ // (inline <style> tags with quotes get HTML-escaped differently on server vs client)
251
+ useEffect(() => {
252
+ const id = "nb-explain-styles";
253
+ if (document.getElementById(id)) return;
254
+ const style = document.createElement("style");
255
+ style.id = id;
256
+ style.textContent = S.CSS_VARS + S.ANIMATIONS + S.HIGHLIGHT_STYLES;
257
+ document.head.appendChild(style);
258
+ return () => {
259
+ style.remove();
260
+ };
261
+ }, []);
262
+
237
263
  return (
238
264
  <AIAssistantContext.Provider
239
265
  value={{
@@ -247,9 +273,6 @@ export default function AIAssistantProvider({
247
273
  clearExplainContext,
248
274
  }}
249
275
  >
250
- {/* Inject CSS custom properties, animations, and highlight styles */}
251
- <style>{S.CSS_VARS + S.ANIMATIONS + S.HIGHLIGHT_STYLES}</style>
252
-
253
276
  {children}
254
277
 
255
278
  {/* Explain mode banner */}
@@ -265,24 +288,30 @@ export default function AIAssistantProvider({
265
288
  </div>
266
289
  )}
267
290
 
268
- <AIFloatingButton
269
- isOpen={isChatOpen}
270
- onClick={() => {
271
- if (isChatOpen) {
272
- closeChat();
273
- } else {
274
- openChat();
275
- }
276
- }}
277
- />
278
-
279
- <AIChatBot
280
- open={isChatOpen}
281
- onClose={closeChat}
282
- initialQuery={initialQuery}
283
- endpoint={endpoint}
284
- apiKey={apiKey}
285
- />
291
+ {showChat && (
292
+ <>
293
+ <AIFloatingButton
294
+ isOpen={isChatOpen}
295
+ onClick={() => {
296
+ if (isChatOpen) {
297
+ closeChat();
298
+ } else {
299
+ openChat();
300
+ }
301
+ }}
302
+ />
303
+
304
+ <AIChatBot
305
+ open={isChatOpen}
306
+ onClose={closeChat}
307
+ initialQuery={initialQuery}
308
+ endpoint={endpoint}
309
+ apiKey={apiKey}
310
+ title={title}
311
+ subtitle={subtitle}
312
+ />
313
+ </>
314
+ )}
286
315
  </AIAssistantContext.Provider>
287
316
  );
288
317
  }
@@ -18,6 +18,8 @@ type Props = {
18
18
  initialQuery: string;
19
19
  endpoint: string;
20
20
  apiKey?: string;
21
+ title?: string;
22
+ subtitle?: string;
21
23
  };
22
24
 
23
25
  async function fetchAIResponse(
@@ -58,6 +60,8 @@ export default function AIChatBot({
58
60
  initialQuery,
59
61
  endpoint,
60
62
  apiKey,
63
+ title = "AI Assistant",
64
+ subtitle = "Ask anything",
61
65
  }: Props) {
62
66
  const [messages, setMessages] = useState<Message[]>([]);
63
67
  const [input, setInput] = useState("");
@@ -182,9 +186,9 @@ export default function AIChatBot({
182
186
  <div style={S.chatHeaderIcon}>
183
187
  <Sparkles size={15} style={{ color: "var(--nb-explain-accent)" }} />
184
188
  </div>
185
- <div>
186
- <h3 style={S.chatHeaderTitle}>AI Assistant</h3>
187
- <span style={S.chatHeaderSubtitle}>Ask anything</span>
189
+ <div style={S.chatHeaderText}>
190
+ <h3 style={S.chatHeaderTitle}>{title}</h3>
191
+ <span style={S.chatHeaderSubtitle}>{subtitle}</span>
188
192
  </div>
189
193
  </div>
190
194
  <button
@@ -1,4 +1,4 @@
1
1
  export { default as AIAssistantProvider, useAIAssistant } from "./AIAssistantProvider";
2
2
  export { default as AIChatBot } from "./AIChatBot";
3
3
  export { default as AIFloatingButton } from "./AIFloatingButton";
4
- export type { Message, ExplainContext } from "../types";
4
+ export type { Message, ExplainContext, ExplainEvent } from "../types";
@@ -86,6 +86,13 @@ export const chatHeaderIcon: React.CSSProperties = {
86
86
  display: "flex",
87
87
  alignItems: "center",
88
88
  justifyContent: "center",
89
+ flexShrink: 0,
90
+ };
91
+
92
+ export const chatHeaderText: React.CSSProperties = {
93
+ display: "flex",
94
+ flexDirection: "column",
95
+ justifyContent: "center",
89
96
  };
90
97
 
91
98
  export const chatHeaderTitle: React.CSSProperties = {
@@ -99,6 +106,8 @@ export const chatHeaderTitle: React.CSSProperties = {
99
106
  export const chatHeaderSubtitle: React.CSSProperties = {
100
107
  fontSize: 11,
101
108
  color: "var(--nb-explain-text-dim)",
109
+ lineHeight: 1,
110
+ marginTop: 2,
102
111
  };
103
112
 
104
113
  export const chatCloseBtn: React.CSSProperties = {
@@ -1,13 +1,16 @@
1
1
  import type { Message } from "../types";
2
2
  import { AnthropicProvider } from "./providers/anthropic";
3
+ import { DifyProvider } from "./providers/dify";
3
4
  import { OpenAIProvider } from "./providers/openai";
4
- import type { LLMProvider } from "./providers/types";
5
+ import type { LLMProvider, Middleware } from "./providers/types";
5
6
 
6
7
  export type AssistantConfig = {
7
- provider: "anthropic" | "openai";
8
- apiKey: string;
8
+ provider: "anthropic" | "openai" | "dify" | LLMProvider;
9
+ apiKey?: string;
9
10
  model?: string;
11
+ baseUrl?: string;
10
12
  systemPrompt?: string;
13
+ middleware?: Middleware[];
11
14
  };
12
15
 
13
16
  type HandlerOptions = {
@@ -93,11 +96,19 @@ async function parseBody(req: IncomingRequest): Promise<unknown> {
93
96
  }
94
97
 
95
98
  function createProvider(config: AssistantConfig): LLMProvider {
99
+ if (typeof config.provider === "object") {
100
+ return config.provider;
101
+ }
102
+ if (!config.apiKey) {
103
+ throw new Error("apiKey is required when using a built-in provider");
104
+ }
96
105
  switch (config.provider) {
97
106
  case "anthropic":
98
107
  return new AnthropicProvider({ apiKey: config.apiKey, model: config.model });
99
108
  case "openai":
100
109
  return new OpenAIProvider({ apiKey: config.apiKey, model: config.model });
110
+ case "dify":
111
+ return new DifyProvider({ apiKey: config.apiKey, baseUrl: config.baseUrl });
101
112
  default:
102
113
  throw new Error(`Unknown provider: ${config.provider}`);
103
114
  }
@@ -105,12 +116,23 @@ function createProvider(config: AssistantConfig): LLMProvider {
105
116
 
106
117
  export function createAssistant(config: AssistantConfig) {
107
118
  const provider = createProvider(config);
119
+ const middlewares = config.middleware || [];
108
120
 
109
121
  async function chat(req: ChatRequest): Promise<ChatResponse> {
110
122
  if (!req.messages || !Array.isArray(req.messages) || req.messages.length === 0) {
111
123
  throw new Error("messages array is required and must not be empty");
112
124
  }
113
- const reply = await provider.chat(req.messages, config.systemPrompt);
125
+
126
+ let messages = req.messages;
127
+ let systemPrompt = config.systemPrompt;
128
+
129
+ for (const mw of middlewares) {
130
+ const result = await mw(messages, systemPrompt);
131
+ messages = result.messages;
132
+ systemPrompt = result.systemPrompt;
133
+ }
134
+
135
+ const reply = await provider.chat(messages, systemPrompt);
114
136
  return { reply };
115
137
  }
116
138
 
@@ -1,5 +1,6 @@
1
1
  export { createAssistant } from "./handler";
2
2
  export type { AssistantConfig } from "./handler";
3
3
  export { AnthropicProvider } from "./providers/anthropic";
4
+ export { DifyProvider } from "./providers/dify";
4
5
  export { OpenAIProvider } from "./providers/openai";
5
- export type { LLMProvider, ProviderConfig } from "./providers/types";
6
+ export type { LLMProvider, ProviderConfig, Middleware } from "./providers/types";
@@ -0,0 +1,66 @@
1
+ import type { Message } from "../../types";
2
+ import type { LLMProvider, ProviderConfig } from "./types";
3
+
4
+ export class DifyProvider implements LLMProvider {
5
+ private apiKey: string;
6
+ private baseUrl: string;
7
+
8
+ constructor(config: ProviderConfig) {
9
+ this.apiKey = config.apiKey;
10
+ if (!config.baseUrl) {
11
+ throw new Error("baseUrl is required for the Dify provider");
12
+ }
13
+ this.baseUrl = config.baseUrl.replace(/\/+$/, "");
14
+ }
15
+
16
+ async chat(messages: Message[], systemPrompt?: string): Promise<string> {
17
+ const query = this.buildQuery(messages, systemPrompt);
18
+
19
+ const response = await fetch(`${this.baseUrl}/v1/chat-messages`, {
20
+ method: "POST",
21
+ headers: {
22
+ "Content-Type": "application/json",
23
+ Authorization: `Bearer ${this.apiKey}`,
24
+ },
25
+ body: JSON.stringify({
26
+ inputs: {},
27
+ query,
28
+ response_mode: "blocking",
29
+ user: "explain-user",
30
+ }),
31
+ });
32
+
33
+ if (!response.ok) {
34
+ const text = await response.text();
35
+ throw new Error(`Dify API error ${response.status}: ${text}`);
36
+ }
37
+
38
+ const data = await response.json();
39
+ if (!data.answer) {
40
+ throw new Error("No answer in Dify response");
41
+ }
42
+ return data.answer;
43
+ }
44
+
45
+ private buildQuery(messages: Message[], systemPrompt?: string): string {
46
+ const parts: string[] = [];
47
+
48
+ if (systemPrompt) {
49
+ parts.push(`[System]: ${systemPrompt}`);
50
+ }
51
+
52
+ for (const m of messages) {
53
+ if (m.role === "context") {
54
+ parts.push(`[Context]: ${m.content}`);
55
+ } else if (m.role === "system") {
56
+ parts.push(`[System]: ${m.content}`);
57
+ } else if (m.role === "assistant") {
58
+ parts.push(`[Assistant]: ${m.content}`);
59
+ } else {
60
+ parts.push(m.content);
61
+ }
62
+ }
63
+
64
+ return parts.join("\n\n");
65
+ }
66
+ }
@@ -7,4 +7,15 @@ export interface LLMProvider {
7
7
  export type ProviderConfig = {
8
8
  apiKey: string;
9
9
  model?: string;
10
- };
10
+ baseUrl?: string;
11
+ };
12
+
13
+ /**
14
+ * Middleware that can transform messages before they reach the LLM.
15
+ * Useful for RAG context injection, logging, filtering, etc.
16
+ * Return the (possibly modified) messages array.
17
+ */
18
+ export type Middleware = (
19
+ messages: Message[],
20
+ systemPrompt?: string,
21
+ ) => Promise<{ messages: Message[]; systemPrompt?: string }>;
package/src/types.ts CHANGED
@@ -8,4 +8,12 @@ export type ExplainContext = {
8
8
  modalName?: string;
9
9
  pageName?: string;
10
10
  docsUrls?: string[];
11
+ };
12
+
13
+ export type ExplainEvent = {
14
+ label: string;
15
+ query: string;
16
+ context: ExplainContext | null;
17
+ docs: string[];
18
+ element: HTMLElement;
11
19
  };