@yak-io/react 0.10.0 → 0.11.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.
- package/README.md +5 -4
- package/dist/YakProvider.d.ts +8 -10
- package/dist/YakProvider.d.ts.map +1 -1
- package/dist/YakProvider.js +2 -9
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -20,6 +20,7 @@ pnpm add @yak-io/react
|
|
|
20
20
|
| `YakWidget` | component | The floating launcher pill. Render it inside `YakProvider`, or omit it and build your own trigger. |
|
|
21
21
|
| `useYak()` | hook | Imperative control of chat + voice, plus reactive state. |
|
|
22
22
|
| `useYakToolEvent(handler)` | hook | Run a callback after each tool call (e.g. cache invalidation). |
|
|
23
|
+
| `createYakToolset` / `createYakServerAdapter` | fn | Compose GraphQL/REST/tRPC/custom tool adapters into one `onToolCall` (re-exported from `@yak-io/javascript`). |
|
|
23
24
|
| `enableYakLogging` / `disableYakLogging` / `isYakLoggingEnabled` | fn | Toggle verbose SDK logging. |
|
|
24
25
|
| Types | — | `YakProviderProps`, `YakWidgetProps`, `YakContextValue`, plus core types re-exported from `@yak-io/javascript`. |
|
|
25
26
|
|
|
@@ -121,10 +122,7 @@ function TasksPage() {
|
|
|
121
122
|
| `children` | `ReactNode` | — | Your app (required). |
|
|
122
123
|
| `mode` | `"chat" \| "voice" \| "both"` | `"chat"` | Which surfaces are exposed. |
|
|
123
124
|
| `getConfig` | `ChatConfigProvider` | — | Async provider of routes + tools. Called on open / voice start. |
|
|
124
|
-
| `onToolCall` | `ToolCallHandler` | — | Executes a tool the assistant calls. |
|
|
125
|
-
| `onGraphQLSchemaCall` | `GraphQLSchemaHandler` | — | Handles GraphQL schema tool calls. |
|
|
126
|
-
| `onRESTSchemaCall` | `RESTSchemaHandler` | — | Handles REST/OpenAPI schema tool calls. |
|
|
127
|
-
| `theme` | `Theme` | — | Position, color mode, and colors. |
|
|
125
|
+
| `onToolCall` | `ToolCallHandler` | — | Executes a tool the assistant calls. || `theme` | `Theme` | — | Position, color mode, and colors. |
|
|
128
126
|
| `onRedirect` | `(path: string) => void` | `window.location.assign` | Navigation handler. |
|
|
129
127
|
| `disableRestartButton` | `boolean` | `false` | Hide the restart-session button. |
|
|
130
128
|
| `trigger` | `boolean \| TriggerButtonConfig` | `false` | Render the provider's built-in pill. Leave `false` and use `<YakWidget>` instead. |
|
|
@@ -188,6 +186,9 @@ import type {
|
|
|
188
186
|
ChatConfigProvider,
|
|
189
187
|
ToolCallHandler,
|
|
190
188
|
ToolCallEvent,
|
|
189
|
+
ToolAdapter,
|
|
190
|
+
YakToolset,
|
|
191
|
+
YakServerAdapterConfig,
|
|
191
192
|
Theme,
|
|
192
193
|
WidgetMode,
|
|
193
194
|
WidgetPosition,
|
package/dist/YakProvider.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ChatConfigProvider, type
|
|
1
|
+
import { type ChatConfigProvider, type Theme, type ToolCallHandler, type TriggerButtonConfig, type UserIdentity, type WidgetMode } from "@yak-io/javascript";
|
|
2
2
|
import type React from "react";
|
|
3
3
|
/**
|
|
4
4
|
* Props for YakProvider
|
|
@@ -6,6 +6,12 @@ import type React from "react";
|
|
|
6
6
|
export type YakProviderProps = {
|
|
7
7
|
/** App identifier in the yak SaaS */
|
|
8
8
|
appId: string;
|
|
9
|
+
/**
|
|
10
|
+
* Override the origin the chat/voice runtime connects to. Defaults to
|
|
11
|
+
* `https://chat.yak.io`. Read once when the provider mounts; most integrators
|
|
12
|
+
* never set this.
|
|
13
|
+
*/
|
|
14
|
+
origin?: string;
|
|
9
15
|
/**
|
|
10
16
|
* Which experiences this widget exposes.
|
|
11
17
|
* "chat" — chat only (iframe).
|
|
@@ -25,14 +31,6 @@ export type YakProviderProps = {
|
|
|
25
31
|
* The consuming platform decides how to execute (browser, server fetch, etc.)
|
|
26
32
|
*/
|
|
27
33
|
onToolCall?: ToolCallHandler;
|
|
28
|
-
/**
|
|
29
|
-
* Handler for GraphQL schema tool calls.
|
|
30
|
-
*/
|
|
31
|
-
onGraphQLSchemaCall?: GraphQLSchemaHandler;
|
|
32
|
-
/**
|
|
33
|
-
* Handler for REST/OpenAPI schema tool calls.
|
|
34
|
-
*/
|
|
35
|
-
onRESTSchemaCall?: RESTSchemaHandler;
|
|
36
34
|
/** Optional theme configuration */
|
|
37
35
|
theme?: Theme;
|
|
38
36
|
/** Optional redirect handler (defaults to window.location.assign) */
|
|
@@ -62,5 +60,5 @@ export type YakProviderProps = {
|
|
|
62
60
|
* (panel, iframe, optional trigger) is delegated to YakEmbed. Consumers
|
|
63
61
|
* access both surfaces via `useYak()`.
|
|
64
62
|
*/
|
|
65
|
-
export declare function YakProvider({ appId, mode, getConfig, onToolCall,
|
|
63
|
+
export declare function YakProvider({ appId, origin, mode, getConfig, onToolCall, theme, onRedirect, disableRestartButton, trigger, user, children, }: YakProviderProps): React.JSX.Element;
|
|
66
64
|
//# sourceMappingURL=YakProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YakProvider.d.ts","sourceRoot":"","sources":["../src/YakProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"YakProvider.d.ts","sourceRoot":"","sources":["../src/YakProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,kBAAkB,EAGvB,KAAK,KAAK,EAEV,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EAEjB,KAAK,UAAU,EAEhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B;;;OAGG;IACH,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,mCAAmC;IACnC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,qEAAqE;IACrE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,uDAAuD;IACvD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;IACxC;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,0BAA0B;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,MAAM,EACN,IAAa,EACb,SAAS,EACT,UAAU,EACV,KAAK,EACL,UAAU,EACV,oBAAoB,EACpB,OAAe,EACf,IAAI,EACJ,QAAQ,GACT,EAAE,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA4MtC"}
|
package/dist/YakProvider.js
CHANGED
|
@@ -8,7 +8,7 @@ import { YakContext } from "./context.js";
|
|
|
8
8
|
* (panel, iframe, optional trigger) is delegated to YakEmbed. Consumers
|
|
9
9
|
* access both surfaces via `useYak()`.
|
|
10
10
|
*/
|
|
11
|
-
export function YakProvider({ appId, mode = "chat", getConfig, onToolCall,
|
|
11
|
+
export function YakProvider({ appId, origin, mode = "chat", getConfig, onToolCall, theme, onRedirect, disableRestartButton, trigger = false, user, children, }) {
|
|
12
12
|
const [isOpen, setIsOpen] = useState(false);
|
|
13
13
|
const [isReady, setIsReady] = useState(false);
|
|
14
14
|
const [voiceMachine, setVoiceMachine] = useState(INITIAL_VOICE_MACHINE);
|
|
@@ -45,13 +45,12 @@ export function YakProvider({ appId, mode = "chat", getConfig, onToolCall, onGra
|
|
|
45
45
|
if (!embedRef.current) {
|
|
46
46
|
embedRef.current = new YakEmbed({
|
|
47
47
|
appId,
|
|
48
|
+
origin,
|
|
48
49
|
mode,
|
|
49
50
|
theme,
|
|
50
51
|
trigger,
|
|
51
52
|
getConfig,
|
|
52
53
|
onToolCall,
|
|
53
|
-
onGraphQLSchemaCall,
|
|
54
|
-
onRESTSchemaCall,
|
|
55
54
|
onRedirect: resolvedRedirect,
|
|
56
55
|
options: { disableRestartButton },
|
|
57
56
|
onToolCallComplete: handleToolCallComplete,
|
|
@@ -79,8 +78,6 @@ export function YakProvider({ appId, mode = "chat", getConfig, onToolCall, onGra
|
|
|
79
78
|
embed.getClient().updateConfig({
|
|
80
79
|
appId,
|
|
81
80
|
onToolCall,
|
|
82
|
-
onGraphQLSchemaCall,
|
|
83
|
-
onRESTSchemaCall,
|
|
84
81
|
theme,
|
|
85
82
|
onRedirect: resolvedRedirect,
|
|
86
83
|
options: { disableRestartButton },
|
|
@@ -91,16 +88,12 @@ export function YakProvider({ appId, mode = "chat", getConfig, onToolCall, onGra
|
|
|
91
88
|
appId,
|
|
92
89
|
getConfig,
|
|
93
90
|
onToolCall,
|
|
94
|
-
onGraphQLSchemaCall,
|
|
95
|
-
onRESTSchemaCall,
|
|
96
91
|
onRedirect: resolvedRedirect,
|
|
97
92
|
});
|
|
98
93
|
}, [
|
|
99
94
|
appId,
|
|
100
95
|
getConfig,
|
|
101
96
|
onToolCall,
|
|
102
|
-
onGraphQLSchemaCall,
|
|
103
|
-
onRESTSchemaCall,
|
|
104
97
|
theme,
|
|
105
98
|
resolvedRedirect,
|
|
106
99
|
disableRestartButton,
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type { ChatConfigProvider, GraphQLRequest,
|
|
2
|
-
export { disableYakLogging, enableYakLogging, isYakLoggingEnabled } from "@yak-io/javascript";
|
|
1
|
+
export type { ChatConfigProvider, GraphQLRequest, RESTRequest, Theme, ThemeColors, ToolAdapter, ToolCallEvent, ToolCallHandler, TriggerButtonConfig, VoiceMachine, VoiceState, WidgetMode, WidgetPosition, YakServerAdapterConfig, YakToolset, } from "@yak-io/javascript";
|
|
2
|
+
export { createYakServerAdapter, createYakToolset, disableYakLogging, enableYakLogging, isYakLoggingEnabled, } from "@yak-io/javascript";
|
|
3
3
|
export type { ToolCallEventHandler, YakConfig, YakContextValue } from "./context.js";
|
|
4
4
|
export { useYak, useYakToolEvent } from "./context.js";
|
|
5
5
|
export type { YakProviderProps } from "./YakProvider.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,KAAK,EACL,WAAW,EACX,WAAW,EACX,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,cAAc,EACd,sBAAsB,EACtB,UAAU,GACX,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,oBAAoB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAErF,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
// Re-export useful types and constants from @yak-io/javascript for consumers
|
|
3
|
-
export { disableYakLogging, enableYakLogging, isYakLoggingEnabled } from "@yak-io/javascript";
|
|
3
|
+
export { createYakServerAdapter, createYakToolset, disableYakLogging, enableYakLogging, isYakLoggingEnabled, } from "@yak-io/javascript";
|
|
4
4
|
// Public API - only export what consumers need
|
|
5
5
|
export { useYak, useYakToolEvent } from "./context.js";
|
|
6
6
|
export { YakProvider } from "./YakProvider.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yak-io/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.1",
|
|
4
4
|
"description": "React SDK for embedding yak chatbot",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"./package.json": "./package.json"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@yak-io/javascript": "0.
|
|
45
|
+
"@yak-io/javascript": "0.10.1"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"react": "^18.0.0 || ^19.0.0",
|