@mulmocast/slide 0.6.0 → 0.6.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.
package/lib/vue/main.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import "./style.css";
2
- //# sourceMappingURL=main.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/vue/main.ts"],"names":[],"mappings":"AAEA,OAAO,aAAa,CAAC"}
package/lib/vue/main.js DELETED
@@ -1,5 +0,0 @@
1
- import { createApp } from "vue";
2
- import App from "./App.vue";
3
- import "./style.css";
4
- createApp(App).mount("#app");
5
- //# sourceMappingURL=main.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/vue/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,GAAG,MAAM,WAAW,CAAC;AAC5B,OAAO,aAAa,CAAC;AAErB,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC"}
@@ -1,12 +0,0 @@
1
- export interface ChatMessage {
2
- role: "system" | "user" | "assistant";
3
- content: string;
4
- }
5
- export interface ChatOptions {
6
- apiKey: string;
7
- model?: string;
8
- signal?: AbortSignal;
9
- }
10
- export type StreamCallback = (chunk: string) => void;
11
- export declare function streamChat(messages: ChatMessage[], options: ChatOptions, onChunk: StreamCallback): Promise<string>;
12
- //# sourceMappingURL=openai-chat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai-chat.d.ts","sourceRoot":"","sources":["../../src/vue/openai-chat.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAiBrD,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC,CA2EjB"}
@@ -1,85 +0,0 @@
1
- const OPENAI_CHAT_URL = "https://api.openai.com/v1/chat/completions";
2
- const DEFAULT_MODEL = "gpt-4o-mini";
3
- const IDLE_TIMEOUT_MS = 30_000;
4
- function parseSSELine(line) {
5
- if (!line.startsWith("data: "))
6
- return null;
7
- const data = line.slice("data: ".length);
8
- if (data === "[DONE]")
9
- return null;
10
- try {
11
- const parsed = JSON.parse(data);
12
- return parsed.choices?.[0]?.delta?.content ?? null;
13
- }
14
- catch {
15
- return null;
16
- }
17
- }
18
- export async function streamChat(messages, options, onChunk) {
19
- const timeoutController = new AbortController();
20
- let timeoutId = setTimeout(() => timeoutController.abort(), IDLE_TIMEOUT_MS);
21
- function resetIdleTimeout() {
22
- clearTimeout(timeoutId);
23
- timeoutId = setTimeout(() => timeoutController.abort(), IDLE_TIMEOUT_MS);
24
- }
25
- // Combine user-provided signal with timeout signal
26
- const combinedSignal = options.signal
27
- ? AbortSignal.any([options.signal, timeoutController.signal])
28
- : timeoutController.signal;
29
- try {
30
- const response = await fetch(OPENAI_CHAT_URL, {
31
- method: "POST",
32
- headers: {
33
- "Content-Type": "application/json",
34
- Authorization: `Bearer ${options.apiKey}`,
35
- },
36
- body: JSON.stringify({
37
- model: options.model ?? DEFAULT_MODEL,
38
- messages,
39
- stream: true,
40
- }),
41
- signal: combinedSignal,
42
- });
43
- if (!response.ok) {
44
- const errorBody = await response.text();
45
- throw new Error(`OpenAI API error (${response.status}): ${errorBody}`);
46
- }
47
- if (!response.body) {
48
- throw new Error("Response body is null");
49
- }
50
- const reader = response.body.getReader();
51
- const decoder = new TextDecoder();
52
- const resultParts = [];
53
- let buffer = "";
54
- for (;;) {
55
- const { done, value } = await reader.read();
56
- if (done)
57
- break;
58
- buffer += decoder.decode(value, { stream: true });
59
- const lines = buffer.split("\n");
60
- // Keep the last incomplete line in the buffer
61
- buffer = lines.pop() ?? "";
62
- lines.forEach((line) => {
63
- const content = parseSSELine(line.trim());
64
- if (content) {
65
- resultParts.push(content);
66
- onChunk(content);
67
- resetIdleTimeout();
68
- }
69
- });
70
- }
71
- // Process any remaining buffer
72
- if (buffer.trim()) {
73
- const content = parseSSELine(buffer.trim());
74
- if (content) {
75
- resultParts.push(content);
76
- onChunk(content);
77
- }
78
- }
79
- return resultParts.join("");
80
- }
81
- finally {
82
- clearTimeout(timeoutId);
83
- }
84
- }
85
- //# sourceMappingURL=openai-chat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openai-chat.js","sourceRoot":"","sources":["../../src/vue/openai-chat.ts"],"names":[],"mappings":"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"}