@yudin-s/react-chrome-ai 0.1.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/CHANGELOG.md +6 -0
- package/LICENSE +21 -0
- package/README.md +242 -0
- package/SECURITY.md +12 -0
- package/dist/index.cjs +938 -0
- package/dist/index.d.cts +431 -0
- package/dist/index.d.ts +431 -0
- package/dist/index.js +868 -0
- package/docs/ai-agents.md +155 -0
- package/docs/hooks.md +378 -0
- package/docs/publishing.md +102 -0
- package/examples/README.md +24 -0
- package/examples/basic-prompt.tsx +18 -0
- package/examples/chrome-ai-studio/README.md +22 -0
- package/examples/chrome-ai-studio/index.html +12 -0
- package/examples/chrome-ai-studio/package.json +22 -0
- package/examples/chrome-ai-studio/src/App.tsx +138 -0
- package/examples/chrome-ai-studio/src/main.tsx +10 -0
- package/examples/chrome-ai-studio/src/styles.css +219 -0
- package/examples/chrome-ai-studio/tsconfig.json +16 -0
- package/examples/chrome-ai-studio/vite.config.ts +6 -0
- package/examples/local-review-workbench/README.md +18 -0
- package/examples/local-review-workbench/index.html +12 -0
- package/examples/local-review-workbench/package.json +22 -0
- package/examples/local-review-workbench/src/App.tsx +121 -0
- package/examples/local-review-workbench/src/main.tsx +10 -0
- package/examples/local-review-workbench/src/styles.css +190 -0
- package/examples/local-review-workbench/tsconfig.json +16 -0
- package/examples/local-review-workbench/vite.config.ts +6 -0
- package/examples/local-translator/README.md +24 -0
- package/examples/local-translator/index.html +12 -0
- package/examples/local-translator/package.json +23 -0
- package/examples/local-translator/src/App.tsx +235 -0
- package/examples/local-translator/src/main.tsx +10 -0
- package/examples/local-translator/src/styles.css +161 -0
- package/examples/local-translator/tsconfig.json +16 -0
- package/examples/local-translator/vite.config.ts +6 -0
- package/examples/model-download-progress.tsx +20 -0
- package/examples/summarizer.tsx +28 -0
- package/llms.txt +97 -0
- package/package.json +86 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
type ChromeAIAvailability = "unavailable" | "downloadable" | "downloading" | "available";
|
|
2
|
+
type ChromeAIModelStatus = "idle" | "checking" | "unsupported" | "unavailable" | "downloadable" | "downloading" | "preparing" | "ready" | "prompting" | "streaming" | "aborted" | "error";
|
|
3
|
+
type ChromeAIMessageRole = "system" | "user" | "assistant";
|
|
4
|
+
type ChromeAIModality = "text" | "image" | "audio";
|
|
5
|
+
type ChromeAILanguage = "en" | "ja" | "es" | (string & {});
|
|
6
|
+
type ChromeAIMediaValue = AudioBuffer | ArrayBuffer | ArrayBufferView | Blob | HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas | VideoFrame | ImageData;
|
|
7
|
+
interface ChromeAIPromptPart {
|
|
8
|
+
type: ChromeAIModality;
|
|
9
|
+
value: string | ChromeAIMediaValue;
|
|
10
|
+
}
|
|
11
|
+
interface ChromeAIMessage {
|
|
12
|
+
role: ChromeAIMessageRole;
|
|
13
|
+
content: string | ChromeAIPromptPart[];
|
|
14
|
+
prefix?: boolean;
|
|
15
|
+
}
|
|
16
|
+
type ChromeAIPromptInput = string | ChromeAIMessage[];
|
|
17
|
+
interface ChromeAIExpected {
|
|
18
|
+
type: ChromeAIModality;
|
|
19
|
+
languages?: ChromeAILanguage[];
|
|
20
|
+
}
|
|
21
|
+
interface ChromeAIParams {
|
|
22
|
+
defaultTopK: number;
|
|
23
|
+
maxTopK: number;
|
|
24
|
+
defaultTemperature: number;
|
|
25
|
+
maxTemperature: number;
|
|
26
|
+
}
|
|
27
|
+
interface ChromeAIDownloadEventLike {
|
|
28
|
+
loaded?: number;
|
|
29
|
+
total?: number;
|
|
30
|
+
}
|
|
31
|
+
interface ChromeAIDownloadProgress {
|
|
32
|
+
loaded?: number;
|
|
33
|
+
total?: number;
|
|
34
|
+
progress?: number;
|
|
35
|
+
percent?: number;
|
|
36
|
+
indeterminate: boolean;
|
|
37
|
+
completed: boolean;
|
|
38
|
+
}
|
|
39
|
+
interface ChromeAIMonitorEventTarget extends EventTarget {
|
|
40
|
+
addEventListener(type: "downloadprogress", listener: (event: Event & ChromeAIDownloadEventLike) => void, options?: boolean | AddEventListenerOptions): void;
|
|
41
|
+
}
|
|
42
|
+
interface ChromeAISessionPromptOptions {
|
|
43
|
+
signal?: AbortSignal;
|
|
44
|
+
responseConstraint?: unknown;
|
|
45
|
+
omitResponseConstraintInput?: boolean;
|
|
46
|
+
}
|
|
47
|
+
interface ChromeAISessionCloneOptions {
|
|
48
|
+
signal?: AbortSignal;
|
|
49
|
+
}
|
|
50
|
+
interface ChromeAIContextUsageOptions {
|
|
51
|
+
responseConstraint?: unknown;
|
|
52
|
+
omitResponseConstraintInput?: boolean;
|
|
53
|
+
}
|
|
54
|
+
interface ChromeAILanguageModelSession extends EventTarget {
|
|
55
|
+
readonly contextUsage?: number;
|
|
56
|
+
readonly contextWindow?: number;
|
|
57
|
+
prompt(input: ChromeAIPromptInput, options?: ChromeAISessionPromptOptions): Promise<string>;
|
|
58
|
+
promptStreaming(input: ChromeAIPromptInput, options?: ChromeAISessionPromptOptions): ReadableStream<string> | AsyncIterable<string>;
|
|
59
|
+
append?(input: ChromeAIMessage[], options?: {
|
|
60
|
+
signal?: AbortSignal;
|
|
61
|
+
}): Promise<void>;
|
|
62
|
+
clone?(options?: ChromeAISessionCloneOptions): Promise<ChromeAILanguageModelSession>;
|
|
63
|
+
destroy(): void;
|
|
64
|
+
measureContextUsage?(input?: ChromeAIPromptInput, options?: ChromeAIContextUsageOptions): Promise<number>;
|
|
65
|
+
}
|
|
66
|
+
interface ChromeAICreateOptions {
|
|
67
|
+
initialPrompts?: ChromeAIMessage[];
|
|
68
|
+
expectedInputs?: ChromeAIExpected[];
|
|
69
|
+
expectedOutputs?: ChromeAIExpected[];
|
|
70
|
+
topK?: number;
|
|
71
|
+
temperature?: number;
|
|
72
|
+
signal?: AbortSignal;
|
|
73
|
+
monitor?: (monitor: ChromeAIMonitorEventTarget) => void;
|
|
74
|
+
}
|
|
75
|
+
type ChromeAIAvailabilityOptions = Pick<ChromeAICreateOptions, "expectedInputs" | "expectedOutputs" | "topK" | "temperature" | "initialPrompts">;
|
|
76
|
+
interface ChromeAILanguageModelAPI {
|
|
77
|
+
availability(options?: ChromeAIAvailabilityOptions): Promise<ChromeAIAvailability>;
|
|
78
|
+
create(options?: ChromeAICreateOptions): Promise<ChromeAILanguageModelSession>;
|
|
79
|
+
params?(): Promise<ChromeAIParams>;
|
|
80
|
+
}
|
|
81
|
+
interface ChromeAIRuntime {
|
|
82
|
+
LanguageModel?: ChromeAILanguageModelAPI;
|
|
83
|
+
ai?: {
|
|
84
|
+
languageModel?: ChromeAILanguageModelAPI;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
interface ChromeAIDiagnostic {
|
|
88
|
+
status: ChromeAIModelStatus;
|
|
89
|
+
supported: boolean;
|
|
90
|
+
availability?: ChromeAIAvailability;
|
|
91
|
+
progress?: ChromeAIDownloadProgress;
|
|
92
|
+
userActivation?: boolean;
|
|
93
|
+
contextUsage?: number;
|
|
94
|
+
contextWindow?: number;
|
|
95
|
+
error?: Error;
|
|
96
|
+
}
|
|
97
|
+
interface ChromeAISessionState {
|
|
98
|
+
status: ChromeAIModelStatus;
|
|
99
|
+
session: ChromeAILanguageModelSession | null;
|
|
100
|
+
availability?: ChromeAIAvailability;
|
|
101
|
+
progress?: ChromeAIDownloadProgress;
|
|
102
|
+
error?: Error;
|
|
103
|
+
}
|
|
104
|
+
interface ChromeAIPromptState<TData = unknown> {
|
|
105
|
+
status: ChromeAIModelStatus;
|
|
106
|
+
input?: ChromeAIPromptInput;
|
|
107
|
+
text: string;
|
|
108
|
+
data?: TData;
|
|
109
|
+
chunks: string[];
|
|
110
|
+
error?: Error;
|
|
111
|
+
}
|
|
112
|
+
interface ChromeAIReflectionOptions<TData = unknown> {
|
|
113
|
+
schema?: unknown;
|
|
114
|
+
format?: "json" | "text";
|
|
115
|
+
instructions?: string;
|
|
116
|
+
reflect?: boolean;
|
|
117
|
+
reflectionPrompt?: (draft: string) => ChromeAIPromptInput;
|
|
118
|
+
parse?: (text: string) => TData;
|
|
119
|
+
}
|
|
120
|
+
type ChromeAITaskAPIName = "LanguageModel" | "Summarizer" | "Translator" | "LanguageDetector" | "Writer" | "Rewriter" | "Proofreader";
|
|
121
|
+
interface ChromeAITaskAPI<TSession = unknown> {
|
|
122
|
+
availability(options?: Record<string, unknown>): Promise<ChromeAIAvailability>;
|
|
123
|
+
create(options?: Record<string, unknown>): Promise<TSession>;
|
|
124
|
+
}
|
|
125
|
+
interface ChromeAITaskSession {
|
|
126
|
+
destroy?: () => void;
|
|
127
|
+
[method: string]: unknown;
|
|
128
|
+
}
|
|
129
|
+
interface ChromeAITaskCreateOptions {
|
|
130
|
+
signal?: AbortSignal;
|
|
131
|
+
monitor?: (monitor: ChromeAIMonitorEventTarget) => void;
|
|
132
|
+
[key: string]: unknown;
|
|
133
|
+
}
|
|
134
|
+
interface ChromeAITaskOperationState<TResult = unknown> {
|
|
135
|
+
status: ChromeAIModelStatus;
|
|
136
|
+
result?: TResult;
|
|
137
|
+
text: string;
|
|
138
|
+
chunks: string[];
|
|
139
|
+
error?: Error;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
interface UseChromeAIAvailabilityOptions {
|
|
143
|
+
options?: ChromeAIAvailabilityOptions;
|
|
144
|
+
autoCheck?: boolean;
|
|
145
|
+
}
|
|
146
|
+
interface UseChromeAIAvailabilityResult {
|
|
147
|
+
supported: boolean;
|
|
148
|
+
status: "idle" | "checking" | "ready" | "unavailable" | "error";
|
|
149
|
+
availability?: ChromeAIAvailability;
|
|
150
|
+
userActivation?: boolean;
|
|
151
|
+
error?: Error;
|
|
152
|
+
refresh: () => Promise<ChromeAIAvailability>;
|
|
153
|
+
}
|
|
154
|
+
declare function useChromeAIAvailability({ options, autoCheck, }?: UseChromeAIAvailabilityOptions): UseChromeAIAvailabilityResult;
|
|
155
|
+
declare function useChromeAIParams(autoLoad?: boolean): {
|
|
156
|
+
params: ChromeAIParams | undefined;
|
|
157
|
+
status: "idle" | "unsupported" | "ready" | "error" | "loading";
|
|
158
|
+
error: Error | undefined;
|
|
159
|
+
refresh: () => Promise<ChromeAIParams | undefined>;
|
|
160
|
+
};
|
|
161
|
+
interface UseChromeAISessionOptions {
|
|
162
|
+
createOptions?: ChromeAICreateOptions;
|
|
163
|
+
autoCreate?: boolean;
|
|
164
|
+
destroyOnUnmount?: boolean;
|
|
165
|
+
}
|
|
166
|
+
interface UseChromeAISessionResult extends ChromeAISessionState {
|
|
167
|
+
createSession: (overrideOptions?: ChromeAICreateOptions) => Promise<ChromeAILanguageModelSession>;
|
|
168
|
+
destroySession: () => void;
|
|
169
|
+
}
|
|
170
|
+
declare function useChromeAISession({ createOptions, autoCreate, destroyOnUnmount, }?: UseChromeAISessionOptions): UseChromeAISessionResult;
|
|
171
|
+
interface UseChromeAIPromptOptions<TData = unknown> extends UseChromeAISessionOptions {
|
|
172
|
+
reflection?: ChromeAIReflectionOptions<TData>;
|
|
173
|
+
reuseSession?: boolean;
|
|
174
|
+
}
|
|
175
|
+
interface UseChromeAIPromptResult<TData = unknown> extends ChromeAIPromptState<TData> {
|
|
176
|
+
prompt: (input: ChromeAIPromptInput, options?: {
|
|
177
|
+
signal?: AbortSignal;
|
|
178
|
+
}) => Promise<string>;
|
|
179
|
+
promptStructured: (input: ChromeAIPromptInput, options?: ChromeAIReflectionOptions<TData> & {
|
|
180
|
+
signal?: AbortSignal;
|
|
181
|
+
}) => Promise<{
|
|
182
|
+
text: string;
|
|
183
|
+
data?: TData;
|
|
184
|
+
draft?: string;
|
|
185
|
+
}>;
|
|
186
|
+
reset: () => void;
|
|
187
|
+
session: ChromeAILanguageModelSession | null;
|
|
188
|
+
progress?: ChromeAIDownloadProgress;
|
|
189
|
+
}
|
|
190
|
+
declare function useChromeAIPrompt<TData = unknown>({ reflection, reuseSession, ...sessionOptions }?: UseChromeAIPromptOptions<TData>): UseChromeAIPromptResult<TData>;
|
|
191
|
+
interface UseChromeAIStreamResult {
|
|
192
|
+
status: "idle" | "streaming" | "ready" | "aborted" | "error";
|
|
193
|
+
text: string;
|
|
194
|
+
chunks: string[];
|
|
195
|
+
error?: Error;
|
|
196
|
+
streamPrompt: (input: ChromeAIPromptInput, options?: {
|
|
197
|
+
signal?: AbortSignal;
|
|
198
|
+
}) => Promise<string>;
|
|
199
|
+
reset: () => void;
|
|
200
|
+
}
|
|
201
|
+
declare function useChromeAIStream(session: ChromeAILanguageModelSession | null): UseChromeAIStreamResult;
|
|
202
|
+
interface UseChromeAIAppendResult {
|
|
203
|
+
status: "idle" | "appending" | "ready" | "unsupported" | "aborted" | "error";
|
|
204
|
+
error?: Error;
|
|
205
|
+
append: (messages: ChromeAIMessage[], options?: {
|
|
206
|
+
signal?: AbortSignal;
|
|
207
|
+
}) => Promise<void>;
|
|
208
|
+
reset: () => void;
|
|
209
|
+
}
|
|
210
|
+
declare function useChromeAIAppend(session: ChromeAILanguageModelSession | null): UseChromeAIAppendResult;
|
|
211
|
+
interface UseChromeAICloneResult {
|
|
212
|
+
status: "idle" | "cloning" | "ready" | "unsupported" | "aborted" | "error";
|
|
213
|
+
clone: ChromeAILanguageModelSession | null;
|
|
214
|
+
error?: Error;
|
|
215
|
+
cloneSession: (options?: {
|
|
216
|
+
signal?: AbortSignal;
|
|
217
|
+
}) => Promise<ChromeAILanguageModelSession>;
|
|
218
|
+
destroyClone: () => void;
|
|
219
|
+
}
|
|
220
|
+
declare function useChromeAIClone(session: ChromeAILanguageModelSession | null): UseChromeAICloneResult;
|
|
221
|
+
interface UseChromeAIContextResult {
|
|
222
|
+
contextUsage?: number;
|
|
223
|
+
contextWindow?: number;
|
|
224
|
+
overflowed: boolean;
|
|
225
|
+
refresh: () => void;
|
|
226
|
+
resetOverflow: () => void;
|
|
227
|
+
}
|
|
228
|
+
declare function useChromeAIContext(session: ChromeAILanguageModelSession | null, options?: {
|
|
229
|
+
pollIntervalMs?: number;
|
|
230
|
+
}): UseChromeAIContextResult;
|
|
231
|
+
interface UseChromeAITaskAvailabilityOptions {
|
|
232
|
+
apiName: ChromeAITaskAPIName;
|
|
233
|
+
options?: Record<string, unknown>;
|
|
234
|
+
autoCheck?: boolean;
|
|
235
|
+
}
|
|
236
|
+
declare function useChromeAITaskAvailability({ apiName, options, autoCheck, }: UseChromeAITaskAvailabilityOptions): {
|
|
237
|
+
apiName: ChromeAITaskAPIName;
|
|
238
|
+
supported: boolean;
|
|
239
|
+
status: "unavailable" | "idle" | "checking" | "ready" | "error";
|
|
240
|
+
availability: ChromeAIAvailability | undefined;
|
|
241
|
+
userActivation: boolean | undefined;
|
|
242
|
+
error: Error | undefined;
|
|
243
|
+
refresh: () => Promise<ChromeAIAvailability>;
|
|
244
|
+
};
|
|
245
|
+
interface UseChromeAITaskSessionOptions<TSession = ChromeAITaskSession> {
|
|
246
|
+
apiName: ChromeAITaskAPIName;
|
|
247
|
+
createOptions?: ChromeAITaskCreateOptions;
|
|
248
|
+
autoCreate?: boolean;
|
|
249
|
+
destroyOnUnmount?: boolean;
|
|
250
|
+
onSession?: (session: TSession) => void;
|
|
251
|
+
}
|
|
252
|
+
declare function useChromeAITaskSession<TSession = ChromeAITaskSession>({ apiName, createOptions, autoCreate, destroyOnUnmount, onSession, }: UseChromeAITaskSessionOptions<TSession>): {
|
|
253
|
+
apiName: ChromeAITaskAPIName;
|
|
254
|
+
supported: boolean;
|
|
255
|
+
status: ChromeAIModelStatus;
|
|
256
|
+
session: TSession | null;
|
|
257
|
+
availability: ChromeAIAvailability | undefined;
|
|
258
|
+
progress: ChromeAIDownloadProgress | undefined;
|
|
259
|
+
error: Error | undefined;
|
|
260
|
+
createSession: (overrideOptions?: ChromeAITaskCreateOptions) => Promise<TSession>;
|
|
261
|
+
destroySession: () => void;
|
|
262
|
+
};
|
|
263
|
+
interface UseChromeAITaskOperationOptions<TSession = ChromeAITaskSession> extends UseChromeAITaskSessionOptions<TSession> {
|
|
264
|
+
methodName: string;
|
|
265
|
+
streaming?: boolean;
|
|
266
|
+
reuseSession?: boolean;
|
|
267
|
+
}
|
|
268
|
+
declare function useChromeAITaskOperation<TResult = unknown, TSession = ChromeAITaskSession>({ methodName, streaming, reuseSession, ...sessionOptions }: UseChromeAITaskOperationOptions<TSession>): {
|
|
269
|
+
run: (...args: unknown[]) => Promise<TResult>;
|
|
270
|
+
reset: () => void;
|
|
271
|
+
status: ChromeAIModelStatus;
|
|
272
|
+
result?: TResult | undefined;
|
|
273
|
+
text: string;
|
|
274
|
+
chunks: string[];
|
|
275
|
+
error: Error;
|
|
276
|
+
apiName: ChromeAITaskAPIName;
|
|
277
|
+
supported: boolean;
|
|
278
|
+
session: TSession | null;
|
|
279
|
+
availability: ChromeAIAvailability | undefined;
|
|
280
|
+
progress: ChromeAIDownloadProgress | undefined;
|
|
281
|
+
createSession: (overrideOptions?: ChromeAITaskCreateOptions) => Promise<TSession>;
|
|
282
|
+
destroySession: () => void;
|
|
283
|
+
};
|
|
284
|
+
declare function useChromeAISummarizer(options?: Omit<UseChromeAITaskOperationOptions, "apiName" | "methodName">): {
|
|
285
|
+
run: (...args: unknown[]) => Promise<string>;
|
|
286
|
+
reset: () => void;
|
|
287
|
+
status: ChromeAIModelStatus;
|
|
288
|
+
result?: string | undefined;
|
|
289
|
+
text: string;
|
|
290
|
+
chunks: string[];
|
|
291
|
+
error: Error;
|
|
292
|
+
apiName: ChromeAITaskAPIName;
|
|
293
|
+
supported: boolean;
|
|
294
|
+
session: ChromeAITaskSession | null;
|
|
295
|
+
availability: ChromeAIAvailability | undefined;
|
|
296
|
+
progress: ChromeAIDownloadProgress | undefined;
|
|
297
|
+
createSession: (overrideOptions?: ChromeAITaskCreateOptions) => Promise<ChromeAITaskSession>;
|
|
298
|
+
destroySession: () => void;
|
|
299
|
+
};
|
|
300
|
+
declare function useChromeAITranslator(options?: Omit<UseChromeAITaskOperationOptions, "apiName" | "methodName">): {
|
|
301
|
+
run: (...args: unknown[]) => Promise<string>;
|
|
302
|
+
reset: () => void;
|
|
303
|
+
status: ChromeAIModelStatus;
|
|
304
|
+
result?: string | undefined;
|
|
305
|
+
text: string;
|
|
306
|
+
chunks: string[];
|
|
307
|
+
error: Error;
|
|
308
|
+
apiName: ChromeAITaskAPIName;
|
|
309
|
+
supported: boolean;
|
|
310
|
+
session: ChromeAITaskSession | null;
|
|
311
|
+
availability: ChromeAIAvailability | undefined;
|
|
312
|
+
progress: ChromeAIDownloadProgress | undefined;
|
|
313
|
+
createSession: (overrideOptions?: ChromeAITaskCreateOptions) => Promise<ChromeAITaskSession>;
|
|
314
|
+
destroySession: () => void;
|
|
315
|
+
};
|
|
316
|
+
declare function useChromeAILanguageDetector(options?: Omit<UseChromeAITaskOperationOptions, "apiName" | "methodName" | "streaming">): {
|
|
317
|
+
run: (...args: unknown[]) => Promise<unknown>;
|
|
318
|
+
reset: () => void;
|
|
319
|
+
status: ChromeAIModelStatus;
|
|
320
|
+
result?: unknown;
|
|
321
|
+
text: string;
|
|
322
|
+
chunks: string[];
|
|
323
|
+
error: Error;
|
|
324
|
+
apiName: ChromeAITaskAPIName;
|
|
325
|
+
supported: boolean;
|
|
326
|
+
session: ChromeAITaskSession | null;
|
|
327
|
+
availability: ChromeAIAvailability | undefined;
|
|
328
|
+
progress: ChromeAIDownloadProgress | undefined;
|
|
329
|
+
createSession: (overrideOptions?: ChromeAITaskCreateOptions) => Promise<ChromeAITaskSession>;
|
|
330
|
+
destroySession: () => void;
|
|
331
|
+
};
|
|
332
|
+
declare function useChromeAIWriter(options?: Omit<UseChromeAITaskOperationOptions, "apiName" | "methodName">): {
|
|
333
|
+
run: (...args: unknown[]) => Promise<string>;
|
|
334
|
+
reset: () => void;
|
|
335
|
+
status: ChromeAIModelStatus;
|
|
336
|
+
result?: string | undefined;
|
|
337
|
+
text: string;
|
|
338
|
+
chunks: string[];
|
|
339
|
+
error: Error;
|
|
340
|
+
apiName: ChromeAITaskAPIName;
|
|
341
|
+
supported: boolean;
|
|
342
|
+
session: ChromeAITaskSession | null;
|
|
343
|
+
availability: ChromeAIAvailability | undefined;
|
|
344
|
+
progress: ChromeAIDownloadProgress | undefined;
|
|
345
|
+
createSession: (overrideOptions?: ChromeAITaskCreateOptions) => Promise<ChromeAITaskSession>;
|
|
346
|
+
destroySession: () => void;
|
|
347
|
+
};
|
|
348
|
+
declare function useChromeAIRewriter(options?: Omit<UseChromeAITaskOperationOptions, "apiName" | "methodName">): {
|
|
349
|
+
run: (...args: unknown[]) => Promise<string>;
|
|
350
|
+
reset: () => void;
|
|
351
|
+
status: ChromeAIModelStatus;
|
|
352
|
+
result?: string | undefined;
|
|
353
|
+
text: string;
|
|
354
|
+
chunks: string[];
|
|
355
|
+
error: Error;
|
|
356
|
+
apiName: ChromeAITaskAPIName;
|
|
357
|
+
supported: boolean;
|
|
358
|
+
session: ChromeAITaskSession | null;
|
|
359
|
+
availability: ChromeAIAvailability | undefined;
|
|
360
|
+
progress: ChromeAIDownloadProgress | undefined;
|
|
361
|
+
createSession: (overrideOptions?: ChromeAITaskCreateOptions) => Promise<ChromeAITaskSession>;
|
|
362
|
+
destroySession: () => void;
|
|
363
|
+
};
|
|
364
|
+
declare function useChromeAIProofreader(options?: Omit<UseChromeAITaskOperationOptions, "apiName" | "methodName" | "streaming">): {
|
|
365
|
+
run: (...args: unknown[]) => Promise<unknown>;
|
|
366
|
+
reset: () => void;
|
|
367
|
+
status: ChromeAIModelStatus;
|
|
368
|
+
result?: unknown;
|
|
369
|
+
text: string;
|
|
370
|
+
chunks: string[];
|
|
371
|
+
error: Error;
|
|
372
|
+
apiName: ChromeAITaskAPIName;
|
|
373
|
+
supported: boolean;
|
|
374
|
+
session: ChromeAITaskSession | null;
|
|
375
|
+
availability: ChromeAIAvailability | undefined;
|
|
376
|
+
progress: ChromeAIDownloadProgress | undefined;
|
|
377
|
+
createSession: (overrideOptions?: ChromeAITaskCreateOptions) => Promise<ChromeAITaskSession>;
|
|
378
|
+
destroySession: () => void;
|
|
379
|
+
};
|
|
380
|
+
|
|
381
|
+
declare function safeParseJSON<T = unknown>(text: string): T | undefined;
|
|
382
|
+
declare function createStructuredPrompt(input: ChromeAIPromptInput, options?: Pick<ChromeAIReflectionOptions, "format" | "instructions">): ChromeAIPromptInput;
|
|
383
|
+
declare function defaultReflectionPrompt(draft: string): ChromeAIPromptInput;
|
|
384
|
+
declare function promptWithReflection<TData = unknown>(session: ChromeAILanguageModelSession, input: ChromeAIPromptInput, options?: ChromeAIReflectionOptions<TData> & {
|
|
385
|
+
signal?: AbortSignal;
|
|
386
|
+
}): Promise<{
|
|
387
|
+
text: string;
|
|
388
|
+
data?: TData;
|
|
389
|
+
draft?: string;
|
|
390
|
+
}>;
|
|
391
|
+
|
|
392
|
+
declare class ChromeAIError extends Error {
|
|
393
|
+
readonly status: ChromeAIModelStatus;
|
|
394
|
+
readonly cause?: unknown;
|
|
395
|
+
constructor(message: string, status?: ChromeAIModelStatus, cause?: unknown);
|
|
396
|
+
}
|
|
397
|
+
declare function getChromeLanguageModelAPI(runtime?: ChromeAIRuntime): ChromeAILanguageModelAPI | undefined;
|
|
398
|
+
declare function isChromeLanguageModelSupported(runtime?: ChromeAIRuntime): boolean;
|
|
399
|
+
declare function defaultLanguageModelOptions(): ChromeAIAvailabilityOptions;
|
|
400
|
+
declare function normalizeDownloadProgress(event?: ChromeAIDownloadEventLike): ChromeAIDownloadProgress;
|
|
401
|
+
declare function readChromeAIAvailability(options?: ChromeAIAvailabilityOptions, runtime?: ChromeAIRuntime): Promise<ChromeAIAvailability>;
|
|
402
|
+
declare function readChromeAIParams(runtime?: ChromeAIRuntime): Promise<ChromeAIParams | undefined>;
|
|
403
|
+
declare function withDownloadProgress(options?: ChromeAICreateOptions, onProgress?: (progress: ChromeAIDownloadProgress, event: ChromeAIDownloadEventLike) => void): ChromeAICreateOptions;
|
|
404
|
+
declare function createChromeAISession(options?: ChromeAICreateOptions, runtime?: ChromeAIRuntime, onProgress?: (progress: ChromeAIDownloadProgress, event: ChromeAIDownloadEventLike) => void): Promise<ChromeAILanguageModelSession>;
|
|
405
|
+
declare function prepareChromeAIModel(options?: ChromeAICreateOptions, runtime?: ChromeAIRuntime, onProgress?: (progress: ChromeAIDownloadProgress, event: ChromeAIDownloadEventLike) => void): Promise<ChromeAIDiagnostic>;
|
|
406
|
+
declare function getUserActivation(): boolean | undefined;
|
|
407
|
+
declare function toError(value: unknown): Error;
|
|
408
|
+
|
|
409
|
+
declare function readableStreamToAsyncIterable<T>(stream: ReadableStream<T>): AsyncIterable<T>;
|
|
410
|
+
declare function toAsyncIterable<T>(source: ReadableStream<T> | AsyncIterable<T>): AsyncIterable<T>;
|
|
411
|
+
declare function collectAsyncIterable<T>(source: ReadableStream<T> | AsyncIterable<T>): Promise<T[]>;
|
|
412
|
+
|
|
413
|
+
interface ChromeAITaskRuntime {
|
|
414
|
+
LanguageModel?: ChromeAITaskAPI;
|
|
415
|
+
Summarizer?: ChromeAITaskAPI;
|
|
416
|
+
Translator?: ChromeAITaskAPI;
|
|
417
|
+
LanguageDetector?: ChromeAITaskAPI;
|
|
418
|
+
Writer?: ChromeAITaskAPI;
|
|
419
|
+
Rewriter?: ChromeAITaskAPI;
|
|
420
|
+
Proofreader?: ChromeAITaskAPI;
|
|
421
|
+
}
|
|
422
|
+
declare function getChromeAITaskAPI<TSession = ChromeAITaskSession>(apiName: ChromeAITaskAPIName, runtime?: ChromeAITaskRuntime): ChromeAITaskAPI<TSession> | undefined;
|
|
423
|
+
declare function isChromeAITaskSupported(apiName: ChromeAITaskAPIName, runtime?: ChromeAITaskRuntime): boolean;
|
|
424
|
+
declare function readChromeAITaskAvailability(apiName: ChromeAITaskAPIName, options?: Record<string, unknown>, runtime?: ChromeAITaskRuntime): Promise<ChromeAIAvailability>;
|
|
425
|
+
declare function withTaskDownloadProgress(options?: ChromeAITaskCreateOptions, onProgress?: (progress: ChromeAIDownloadProgress, event: ChromeAIDownloadEventLike) => void): ChromeAITaskCreateOptions;
|
|
426
|
+
declare function createChromeAITaskSession<TSession = ChromeAITaskSession>(apiName: ChromeAITaskAPIName, options?: ChromeAITaskCreateOptions, runtime?: ChromeAITaskRuntime, onProgress?: (progress: ChromeAIDownloadProgress, event: ChromeAIDownloadEventLike) => void): Promise<TSession>;
|
|
427
|
+
declare function destroyChromeAITaskSession(session: unknown): Promise<void>;
|
|
428
|
+
declare function assertTaskMethod<TArgs extends unknown[] = unknown[], TResult = unknown>(session: unknown, methodName: string): (...args: TArgs) => TResult;
|
|
429
|
+
declare function callChromeAITaskMethod<TResult = unknown>(session: unknown, methodName: string, ...args: unknown[]): Promise<TResult>;
|
|
430
|
+
|
|
431
|
+
export { type ChromeAIAvailability, type ChromeAIAvailabilityOptions, type ChromeAIContextUsageOptions, type ChromeAICreateOptions, type ChromeAIDiagnostic, type ChromeAIDownloadEventLike, type ChromeAIDownloadProgress, ChromeAIError, type ChromeAIExpected, type ChromeAILanguage, type ChromeAILanguageModelAPI, type ChromeAILanguageModelSession, type ChromeAIMediaValue, type ChromeAIMessage, type ChromeAIMessageRole, type ChromeAIModality, type ChromeAIModelStatus, type ChromeAIMonitorEventTarget, type ChromeAIParams, type ChromeAIPromptInput, type ChromeAIPromptPart, type ChromeAIPromptState, type ChromeAIReflectionOptions, type ChromeAIRuntime, type ChromeAISessionCloneOptions, type ChromeAISessionPromptOptions, type ChromeAISessionState, type ChromeAITaskAPI, type ChromeAITaskAPIName, type ChromeAITaskCreateOptions, type ChromeAITaskOperationState, type ChromeAITaskRuntime, type ChromeAITaskSession, type UseChromeAIAppendResult, type UseChromeAIAvailabilityOptions, type UseChromeAIAvailabilityResult, type UseChromeAICloneResult, type UseChromeAIContextResult, type UseChromeAIPromptOptions, type UseChromeAIPromptResult, type UseChromeAISessionOptions, type UseChromeAISessionResult, type UseChromeAIStreamResult, type UseChromeAITaskAvailabilityOptions, type UseChromeAITaskOperationOptions, type UseChromeAITaskSessionOptions, assertTaskMethod, callChromeAITaskMethod, collectAsyncIterable, createChromeAISession, createChromeAITaskSession, createStructuredPrompt, defaultLanguageModelOptions, defaultReflectionPrompt, destroyChromeAITaskSession, getChromeAITaskAPI, getChromeLanguageModelAPI, getUserActivation, isChromeAITaskSupported, isChromeLanguageModelSupported, normalizeDownloadProgress, prepareChromeAIModel, promptWithReflection, readChromeAIAvailability, readChromeAIParams, readChromeAITaskAvailability, readableStreamToAsyncIterable, safeParseJSON, toAsyncIterable, toError, useChromeAIAppend, useChromeAIAvailability, useChromeAIClone, useChromeAIContext, useChromeAILanguageDetector, useChromeAIParams, useChromeAIPrompt, useChromeAIProofreader, useChromeAIRewriter, useChromeAISession, useChromeAIStream, useChromeAISummarizer, useChromeAITaskAvailability, useChromeAITaskOperation, useChromeAITaskSession, useChromeAITranslator, useChromeAIWriter, withDownloadProgress, withTaskDownloadProgress };
|