@yak-io/svelte 0.1.2 → 0.3.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.
- package/README.md +153 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/provider.d.ts +13 -19
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +25 -14
- package/package.json +4 -4
package/README.md
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# @yak-io/svelte
|
|
2
|
+
|
|
3
|
+
Svelte integration for the Yak embeddable chat widget. Uses Svelte stores for reactive state.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pnpm add @yak-io/svelte
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quickstart
|
|
12
|
+
|
|
13
|
+
### 1. Initialize the provider (module scope)
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
// src/yak.ts
|
|
17
|
+
import { onMount, onDestroy } from "svelte";
|
|
18
|
+
import { createYakProvider } from "@yak-io/svelte";
|
|
19
|
+
|
|
20
|
+
export const yak = createYakProvider({
|
|
21
|
+
appId: import.meta.env.VITE_YAK_APP_ID,
|
|
22
|
+
theme: { position: "bottom-right", colorMode: "system" },
|
|
23
|
+
trigger: { label: "Ask with AI" },
|
|
24
|
+
getConfig: async () => {
|
|
25
|
+
const res = await fetch("/api/yak");
|
|
26
|
+
return res.json();
|
|
27
|
+
},
|
|
28
|
+
onToolCall: async (name, args) => {
|
|
29
|
+
const res = await fetch("/api/yak", {
|
|
30
|
+
method: "POST",
|
|
31
|
+
headers: { "Content-Type": "application/json" },
|
|
32
|
+
body: JSON.stringify({ name, args }),
|
|
33
|
+
});
|
|
34
|
+
const data = await res.json();
|
|
35
|
+
if (!data.ok) throw new Error(data.error);
|
|
36
|
+
return data.result;
|
|
37
|
+
},
|
|
38
|
+
onRedirect: (path) => {
|
|
39
|
+
goto(path);
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 2. Mount and destroy in your root component
|
|
45
|
+
|
|
46
|
+
```svelte
|
|
47
|
+
<!-- App.svelte -->
|
|
48
|
+
<script lang="ts">
|
|
49
|
+
import { onMount, onDestroy } from "svelte";
|
|
50
|
+
import { yak } from "./yak.ts";
|
|
51
|
+
|
|
52
|
+
onMount(() => yak.mount());
|
|
53
|
+
onDestroy(() => yak.destroy());
|
|
54
|
+
</script>
|
|
55
|
+
|
|
56
|
+
<slot />
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 3. Use stores in components
|
|
60
|
+
|
|
61
|
+
`isOpen` and `isReady` are Svelte `Readable` stores — subscribe with `$`:
|
|
62
|
+
|
|
63
|
+
```svelte
|
|
64
|
+
<script lang="ts">
|
|
65
|
+
import { yak } from "../yak.ts";
|
|
66
|
+
const { isOpen, isReady, open, openWithPrompt } = yak;
|
|
67
|
+
</script>
|
|
68
|
+
|
|
69
|
+
<button on:click={open}>Open Chat</button>
|
|
70
|
+
{#if $isOpen}
|
|
71
|
+
<p>Chat is open</p>
|
|
72
|
+
{/if}
|
|
73
|
+
{#if $isOpen && !$isReady}
|
|
74
|
+
<p>Loading…</p>
|
|
75
|
+
{/if}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### 4. Subscribe to tool events
|
|
79
|
+
|
|
80
|
+
```ts
|
|
81
|
+
yak.subscribeToToolEvents((event) => {
|
|
82
|
+
if (event.ok && event.name.startsWith("tasks.")) {
|
|
83
|
+
refreshTasks();
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## API Reference
|
|
89
|
+
|
|
90
|
+
### `createYakProvider(options)`
|
|
91
|
+
|
|
92
|
+
Creates a Yak widget instance. Returns a `YakApi` with Svelte stores for reactive state.
|
|
93
|
+
|
|
94
|
+
You must call `yak.mount()` in `onMount()` and `yak.destroy()` in `onDestroy()`.
|
|
95
|
+
|
|
96
|
+
**Options:**
|
|
97
|
+
|
|
98
|
+
| Option | Type | Description |
|
|
99
|
+
|--------|------|-------------|
|
|
100
|
+
| `appId` | `string` | Your Yak app ID |
|
|
101
|
+
| `getConfig` | `ChatConfigProvider` | Async function returning routes + tools. Called on first open. |
|
|
102
|
+
| `onToolCall` | `ToolCallHandler` | Handle tool invocations from the assistant |
|
|
103
|
+
| `onGraphQLSchemaCall` | `GraphQLSchemaHandler` | Handle GraphQL schema tool calls |
|
|
104
|
+
| `onRESTSchemaCall` | `RESTSchemaHandler` | Handle REST/OpenAPI schema tool calls |
|
|
105
|
+
| `theme` | `Theme` | Position, color mode, and custom colors |
|
|
106
|
+
| `onRedirect` | `(path: string) => void` | Navigation handler (defaults to `window.location.assign`) |
|
|
107
|
+
| `disableRestartButton` | `boolean` | Hide the restart session button |
|
|
108
|
+
| `trigger` | `boolean \| TriggerButtonConfig` | Built-in trigger button |
|
|
109
|
+
|
|
110
|
+
### `YakApi`
|
|
111
|
+
|
|
112
|
+
```ts
|
|
113
|
+
type YakApi = {
|
|
114
|
+
isOpen: Readable<boolean>; // Svelte store
|
|
115
|
+
isReady: Readable<boolean>; // Svelte store
|
|
116
|
+
open: () => void;
|
|
117
|
+
close: () => void;
|
|
118
|
+
openWithPrompt: (prompt: string) => void;
|
|
119
|
+
subscribeToToolEvents: (handler: ToolCallEventHandler) => () => void;
|
|
120
|
+
mount: () => void; // Call in onMount()
|
|
121
|
+
destroy: () => void; // Call in onDestroy()
|
|
122
|
+
};
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Logging
|
|
126
|
+
|
|
127
|
+
```ts
|
|
128
|
+
import { enableYakLogging, disableYakLogging, isYakLoggingEnabled } from "@yak-io/svelte";
|
|
129
|
+
|
|
130
|
+
enableYakLogging(); // Enable verbose SDK logs
|
|
131
|
+
disableYakLogging(); // Disable SDK logs
|
|
132
|
+
isYakLoggingEnabled(); // → boolean
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## Types
|
|
136
|
+
|
|
137
|
+
```ts
|
|
138
|
+
import type {
|
|
139
|
+
YakProviderOptions,
|
|
140
|
+
YakApi,
|
|
141
|
+
ToolCallEventHandler,
|
|
142
|
+
ChatConfigProvider,
|
|
143
|
+
ToolCallHandler,
|
|
144
|
+
ToolCallEvent,
|
|
145
|
+
Theme,
|
|
146
|
+
TriggerButtonConfig,
|
|
147
|
+
WidgetPosition,
|
|
148
|
+
} from "@yak-io/svelte";
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## License
|
|
152
|
+
|
|
153
|
+
Proprietary — see LICENSE file.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
export type { ChatConfigProvider, GraphQLRequest, GraphQLSchemaHandler, GraphQLSchemaSource, OpenAPISchemaSource, RESTRequest, RESTSchemaHandler, SchemaSource, Theme, ThemeColors, ToolCallEvent, ToolCallHandler, TriggerButtonConfig, VoiceMachine, VoiceState, WidgetMode, WidgetPosition, } from "@yak-io/javascript";
|
|
2
|
+
export { disableYakLogging, enableYakLogging, isYakLoggingEnabled } from "@yak-io/javascript";
|
|
3
|
+
export type { ToolCallEventHandler, YakApi, YakProviderOptions } from "./provider.js";
|
|
1
4
|
export { createYakProvider } from "./provider.js";
|
|
2
|
-
export type { YakProviderOptions, YakApi, ToolCallEventHandler } from "./provider.js";
|
|
3
|
-
export { enableYakLogging, disableYakLogging, isYakLoggingEnabled } from "@yak-io/javascript";
|
|
4
|
-
export type { GraphQLSchemaHandler, RESTSchemaHandler, GraphQLRequest, RESTRequest, ToolCallHandler, ToolCallEvent, SchemaSource, GraphQLSchemaSource, OpenAPISchemaSource, Theme, ThemeColors, TriggerButtonConfig, WidgetPosition, ChatConfigProvider, } from "@yak-io/javascript";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,KAAK,EACL,WAAW,EACX,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,cAAc,GACf,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9F,YAAY,EAAE,oBAAoB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// Public API
|
|
2
|
-
export { createYakProvider } from "./provider.js";
|
|
3
2
|
// Re-export logging utilities
|
|
4
|
-
export {
|
|
3
|
+
export { disableYakLogging, enableYakLogging, isYakLoggingEnabled } from "@yak-io/javascript";
|
|
4
|
+
export { createYakProvider } from "./provider.js";
|
package/dist/provider.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { type ChatConfigProvider, type GraphQLSchemaHandler, type RESTSchemaHandler, type Theme, type ToolCallEvent, type ToolCallHandler, type TriggerButtonConfig, type VoiceMachine, type WidgetMode } from "@yak-io/javascript";
|
|
1
2
|
import { type Readable } from "svelte/store";
|
|
2
|
-
import { type TriggerButtonConfig, type ChatConfigProvider, type ToolCallHandler, type ToolCallEvent, type GraphQLSchemaHandler, type RESTSchemaHandler, type Theme } from "@yak-io/javascript";
|
|
3
3
|
export type ToolCallEventHandler = (event: ToolCallEvent) => void;
|
|
4
4
|
export type YakProviderOptions = {
|
|
5
5
|
appId: string;
|
|
6
|
+
mode?: WidgetMode;
|
|
6
7
|
getConfig?: ChatConfigProvider;
|
|
7
8
|
onToolCall?: ToolCallHandler;
|
|
8
9
|
onGraphQLSchemaCall?: GraphQLSchemaHandler;
|
|
@@ -13,41 +14,34 @@ export type YakProviderOptions = {
|
|
|
13
14
|
trigger?: boolean | TriggerButtonConfig;
|
|
14
15
|
};
|
|
15
16
|
export type YakApi = {
|
|
16
|
-
/** Readable store — whether the chat widget is open */
|
|
17
17
|
isOpen: Readable<boolean>;
|
|
18
|
-
/** Readable store — whether the iframe is ready */
|
|
19
18
|
isReady: Readable<boolean>;
|
|
20
|
-
/** Open the chat widget */
|
|
21
19
|
open: () => void;
|
|
22
|
-
/** Close the chat widget */
|
|
23
20
|
close: () => void;
|
|
24
|
-
/** Open the chat widget and send a prompt */
|
|
25
21
|
openWithPrompt: (prompt: string) => void;
|
|
26
|
-
/** Subscribe to tool call completion events. Returns an unsubscribe function. */
|
|
27
22
|
subscribeToToolEvents: (handler: ToolCallEventHandler) => () => void;
|
|
28
|
-
|
|
23
|
+
voiceMachine: Readable<VoiceMachine>;
|
|
24
|
+
voiceStart: () => Promise<void>;
|
|
25
|
+
voiceStop: () => Promise<void>;
|
|
26
|
+
voiceToggle: () => Promise<void>;
|
|
29
27
|
mount: () => void;
|
|
30
|
-
/** Destroy the widget DOM. Call in onDestroy(). */
|
|
31
28
|
destroy: () => void;
|
|
32
29
|
};
|
|
33
30
|
/**
|
|
34
|
-
* Creates a yak
|
|
31
|
+
* Creates a yak widget instance (chat + voice) with Svelte stores.
|
|
35
32
|
*
|
|
36
33
|
* @example
|
|
37
34
|
* ```svelte
|
|
38
35
|
* <script lang="ts">
|
|
39
|
-
*
|
|
40
|
-
*
|
|
36
|
+
* import { onMount, onDestroy } from "svelte";
|
|
37
|
+
* import { createYakProvider } from "@yak-io/svelte";
|
|
41
38
|
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
39
|
+
* const yak = createYakProvider({ appId: "my-app", mode: "both" });
|
|
40
|
+
* const { isOpen, voiceMachine } = yak;
|
|
44
41
|
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
42
|
+
* onMount(() => yak.mount());
|
|
43
|
+
* onDestroy(() => yak.destroy());
|
|
47
44
|
* </script>
|
|
48
|
-
*
|
|
49
|
-
* <button onclick={() => yak.open()}>Open Chat</button>
|
|
50
|
-
* <p>Open: {$isOpen}, Ready: {$isReady}</p>
|
|
51
45
|
* ```
|
|
52
46
|
*/
|
|
53
47
|
export declare function createYakProvider(options: YakProviderOptions): YakApi;
|
package/dist/provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EAGzB,KAAK,iBAAiB,EACtB,KAAK,KAAK,EACV,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,UAAU,EAEhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,QAAQ,EAAsB,MAAM,cAAc,CAAC;AAIjE,MAAM,MAAM,oBAAoB,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,mBAAmB,CAAC,EAAE,oBAAoB,CAAC;IAC3C,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IAEnB,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1B,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,qBAAqB,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,MAAM,IAAI,CAAC;IAErE,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAIF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAiGrE"}
|
package/dist/provider.js
CHANGED
|
@@ -1,30 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { logger } from "@yak-io/javascript";
|
|
1
|
+
import { INITIAL_VOICE_MACHINE, logger, YakEmbed, } from "@yak-io/javascript";
|
|
2
|
+
import { readonly, writable } from "svelte/store";
|
|
4
3
|
// ── Provider factory ────────────────────────────────────────────────────────
|
|
5
4
|
/**
|
|
6
|
-
* Creates a yak
|
|
5
|
+
* Creates a yak widget instance (chat + voice) with Svelte stores.
|
|
7
6
|
*
|
|
8
7
|
* @example
|
|
9
8
|
* ```svelte
|
|
10
9
|
* <script lang="ts">
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* import { onMount, onDestroy } from "svelte";
|
|
11
|
+
* import { createYakProvider } from "@yak-io/svelte";
|
|
13
12
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
13
|
+
* const yak = createYakProvider({ appId: "my-app", mode: "both" });
|
|
14
|
+
* const { isOpen, voiceMachine } = yak;
|
|
16
15
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
16
|
+
* onMount(() => yak.mount());
|
|
17
|
+
* onDestroy(() => yak.destroy());
|
|
19
18
|
* </script>
|
|
20
|
-
*
|
|
21
|
-
* <button onclick={() => yak.open()}>Open Chat</button>
|
|
22
|
-
* <p>Open: {$isOpen}, Ready: {$isReady}</p>
|
|
23
19
|
* ```
|
|
24
20
|
*/
|
|
25
21
|
export function createYakProvider(options) {
|
|
26
22
|
const isOpen = writable(false);
|
|
27
23
|
const isReady = writable(false);
|
|
24
|
+
const voiceMachine = writable(INITIAL_VOICE_MACHINE);
|
|
28
25
|
const toolEventSubscribers = new Set();
|
|
29
26
|
const handleToolCallComplete = (event) => {
|
|
30
27
|
logger.debug("Tool call completed, notifying subscribers:", {
|
|
@@ -45,8 +42,10 @@ export function createYakProvider(options) {
|
|
|
45
42
|
(typeof window !== "undefined" ? (path) => window.location.assign(path) : undefined);
|
|
46
43
|
const embed = new YakEmbed({
|
|
47
44
|
appId: options.appId,
|
|
45
|
+
mode: options.mode,
|
|
48
46
|
theme: options.theme,
|
|
49
47
|
trigger: options.trigger ?? false,
|
|
48
|
+
getConfig: options.getConfig,
|
|
50
49
|
onToolCall: options.onToolCall,
|
|
51
50
|
onGraphQLSchemaCall: options.onGraphQLSchemaCall,
|
|
52
51
|
onRESTSchemaCall: options.onRESTSchemaCall,
|
|
@@ -54,11 +53,11 @@ export function createYakProvider(options) {
|
|
|
54
53
|
options: { disableRestartButton: options.disableRestartButton },
|
|
55
54
|
onToolCallComplete: handleToolCallComplete,
|
|
56
55
|
});
|
|
57
|
-
// Sync embed state → stores
|
|
58
56
|
embed.onStateChange((state) => {
|
|
59
57
|
isOpen.set(state.isOpen);
|
|
60
58
|
isReady.set(state.isReady);
|
|
61
59
|
});
|
|
60
|
+
embed.onVoiceStateChange((m) => voiceMachine.set(m));
|
|
62
61
|
// Fetch chat config on first open
|
|
63
62
|
if (options.getConfig) {
|
|
64
63
|
const getConfig = options.getConfig;
|
|
@@ -79,6 +78,14 @@ export function createYakProvider(options) {
|
|
|
79
78
|
}
|
|
80
79
|
});
|
|
81
80
|
}
|
|
81
|
+
const voiceStart = async () => {
|
|
82
|
+
try {
|
|
83
|
+
await embed.voiceStart();
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
logger.warn("Voice start failed", err);
|
|
87
|
+
}
|
|
88
|
+
};
|
|
82
89
|
return {
|
|
83
90
|
isOpen: readonly(isOpen),
|
|
84
91
|
isReady: readonly(isReady),
|
|
@@ -91,6 +98,10 @@ export function createYakProvider(options) {
|
|
|
91
98
|
toolEventSubscribers.delete(handler);
|
|
92
99
|
};
|
|
93
100
|
},
|
|
101
|
+
voiceMachine: readonly(voiceMachine),
|
|
102
|
+
voiceStart,
|
|
103
|
+
voiceStop: () => embed.voiceStop(),
|
|
104
|
+
voiceToggle: () => embed.voiceToggle(),
|
|
94
105
|
mount: () => embed.mount(),
|
|
95
106
|
destroy: () => embed.destroy(),
|
|
96
107
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yak-io/svelte",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Svelte SDK for embedding yak chatbot",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -41,14 +41,14 @@
|
|
|
41
41
|
"./package.json": "./package.json"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@yak-io/javascript": "0.
|
|
44
|
+
"@yak-io/javascript": "0.8.0"
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"svelte": "^5.0.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@types/node": "^24.12.
|
|
51
|
-
"svelte": "^5.
|
|
50
|
+
"@types/node": "^24.12.4",
|
|
51
|
+
"svelte": "^5.55.7",
|
|
52
52
|
"typescript": "^5.3.0",
|
|
53
53
|
"@repo/typescript-config": "0.0.0"
|
|
54
54
|
},
|