Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions types/dom-chromium-ai/dom-chromium-ai-tests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,22 @@ async function topLevel() {
initialPrompts: [{ role: "assistant", content: "foo", prefix: true }],
});

// samplingMode is valid on its own
await LanguageModel.create({ samplingMode: "most-creative" });
await LanguageModel.create({ samplingMode: "balanced" });

await LanguageModel.create({
samplingMode: "balanced",
// @ts-expect-error - samplingMode and topK/temperature are mutually exclusive.
topK: 1,
});

await LanguageModel.create({
samplingMode: "balanced",
// @ts-expect-error - samplingMode and topK/temperature are mutually exclusive.
temperature: 0.5,
});

const languageModel = await LanguageModel.create({
topK: 1,
temperature: 0,
Expand Down
35 changes: 26 additions & 9 deletions types/dom-chromium-ai/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -116,25 +116,42 @@ interface LanguageModelParams {
readonly maxTemperature: number;
}

interface LanguageModelCreateCoreOptions {
/** @deprecated Restricted to web extension contexts only. Use the topK option within LanguageModel.create() is now restricted to web extensions. */
topK?: number;
/** @deprecated Restricted to web extension contexts only. Use the temperature option within LanguageModel.create() is now restricted to web extensions. */
temperature?: number;

type LanguageModelSamplingMode =
| "most-predictable"
| "predictable"
| "balanced"
| "creative"
| "most-creative";

/**
* samplingMode and the raw sampling params (topK, temperature) are mutually exclusive.
* Providing both results in a TypeError at runtime.
* Note: topK and temperature are only available in Chrome extension contexts (Chrome 151+).
*/
type LanguageModelSamplingOptions =
| { samplingMode?: LanguageModelSamplingMode; topK?: never; temperature?: never }
| {
samplingMode?: never;
/** @deprecated Restricted to web extension contexts only. */
topK?: number;
/** @deprecated Restricted to web extension contexts only. */
temperature?: number;
};

type LanguageModelCreateCoreOptions = {
expectedInputs?: LanguageModelExpected[];
expectedOutputs?: LanguageModelExpected[];
tools?: LanguageModelTool[];
}
} & LanguageModelSamplingOptions;

interface LanguageModelCreateOptions extends LanguageModelCreateCoreOptions {
type LanguageModelCreateOptions = LanguageModelCreateCoreOptions & {
signal?: AbortSignal;
monitor?: CreateMonitorCallback;

initialPrompts?:
| [LanguageModelSystemMessage, ...LanguageModelMessage[]]
| LanguageModelMessage[];
}
};

interface LanguageModelPromptOptions {
responseConstraint?: Record<string, unknown>;
Expand Down
20 changes: 10 additions & 10 deletions types/dom-speech-recognition/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition#events
// https://webaudio.github.io/web-speech-api/#speechreco-section
interface SpeechRecognitionEventMap {
audioend: Event;
audiostart: Event;
Expand All @@ -13,7 +13,7 @@ interface SpeechRecognitionEventMap {
start: Event;
}

// https://wicg.github.io/speech-api/#speechreco-section
// https://webaudio.github.io/web-speech-api/#speechreco-section
interface SpeechRecognition extends EventTarget {
continuous: boolean;
grammars: SpeechGrammarList;
Expand Down Expand Up @@ -57,7 +57,7 @@ interface SpeechRecognition extends EventTarget {
): void;
}

// https://wicg.github.io/speech-api/#dictdef-speechrecognitionoptions
// https://webaudio.github.io/web-speech-api/#dictdef-speechrecognitionoptions
interface SpeechRecognitionOptions {
langs: string[];
processLocally: boolean;
Expand All @@ -77,13 +77,13 @@ declare var SpeechRecognition: {
install(options: SpeechRecognitionOptions): Promise<boolean>;
};

// https://wicg.github.io/speech-api/#speechrecognitionevent
// https://webaudio.github.io/web-speech-api/#speechrecognitionevent
interface SpeechRecognitionEventInit extends EventInit {
resultIndex?: number;
results: SpeechRecognitionResultList;
}

// https://wicg.github.io/speech-api/#dictdef-speechrecognitioneventinit
// https://webaudio.github.io/web-speech-api/#dictdef-speechrecognitioneventinit
interface SpeechRecognitionEvent extends Event {
readonly resultIndex: number;
readonly results: SpeechRecognitionResultList;
Expand All @@ -94,7 +94,7 @@ declare var SpeechRecognitionEvent: {
new(type: string, eventInitDict: SpeechRecognitionEventInit): SpeechRecognitionEvent;
};

// https://wicg.github.io/speech-api/#enumdef-speechrecognitionerrorcode
// https://webaudio.github.io/web-speech-api/#enumdef-speechrecognitionerrorcode
// type SpeechRecognitionErrorCode =
// | "aborted"
// | "audio-capture"
Expand All @@ -105,13 +105,13 @@ declare var SpeechRecognitionEvent: {
// | "not-allowed"
// | "service-not-allowed";

// https://wicg.github.io/speech-api/#dictdef-speechrecognitionerroreventinit
// https://webaudio.github.io/web-speech-api/#dictdef-speechrecognitionerroreventinit
interface SpeechRecognitionErrorEventInit extends EventInit {
error: SpeechRecognitionErrorCode;
message?: string;
}

// https://wicg.github.io/speech-api/#speechrecognitionerrorevent
// https://webaudio.github.io/web-speech-api/#speechrecognitionerrorevent
interface SpeechRecognitionErrorEvent extends Event {
readonly error: SpeechRecognitionErrorCode;
readonly message: string;
Expand All @@ -122,7 +122,7 @@ declare var SpeechRecognitionErrorEvent: {
new(type: string, eventInitDict: SpeechRecognitionErrorEventInit): SpeechRecognitionErrorEvent;
};

// https://wicg.github.io/speech-api/#speechgrammar
// https://webaudio.github.io/web-speech-api/#speechgrammar
interface SpeechGrammar {
src: string;
weight: number;
Expand All @@ -133,7 +133,7 @@ declare var SpeechGrammar: {
new(): SpeechGrammar;
};

// https://wicg.github.io/speech-api/#speechgrammarlist
// https://webaudio.github.io/web-speech-api/#speechgrammarlist
interface SpeechGrammarList {
readonly length: number;
addFromString(string: string, weight?: number): void;
Expand Down
20 changes: 10 additions & 10 deletions types/dom-speech-recognition/ts5.9/index.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition#events
// https://webaudio.github.io/web-speech-api/#speechreco-section
interface SpeechRecognitionEventMap {
audioend: Event;
audiostart: Event;
Expand All @@ -13,7 +13,7 @@ interface SpeechRecognitionEventMap {
start: Event;
}

// https://wicg.github.io/speech-api/#speechreco-section
// https://webaudio.github.io/web-speech-api/#speechreco-section
interface SpeechRecognition extends EventTarget {
continuous: boolean;
grammars: SpeechGrammarList;
Expand Down Expand Up @@ -57,7 +57,7 @@ interface SpeechRecognition extends EventTarget {
): void;
}

// https://wicg.github.io/speech-api/#dictdef-speechrecognitionoptions
// https://webaudio.github.io/web-speech-api/#dictdef-speechrecognitionoptions
interface SpeechRecognitionOptions {
langs: string[];
processLocally: boolean;
Expand All @@ -77,13 +77,13 @@ declare var SpeechRecognition: {
install(options: SpeechRecognitionOptions): Promise<boolean>;
};

// https://wicg.github.io/speech-api/#speechrecognitionevent
// https://webaudio.github.io/web-speech-api/#speechrecognitionevent
interface SpeechRecognitionEventInit extends EventInit {
resultIndex?: number;
results: SpeechRecognitionResultList;
}

// https://wicg.github.io/speech-api/#dictdef-speechrecognitioneventinit
// https://webaudio.github.io/web-speech-api/#dictdef-speechrecognitioneventinit
interface SpeechRecognitionEvent extends Event {
readonly resultIndex: number;
readonly results: SpeechRecognitionResultList;
Expand All @@ -94,7 +94,7 @@ declare var SpeechRecognitionEvent: {
new(type: string, eventInitDict: SpeechRecognitionEventInit): SpeechRecognitionEvent;
};

// https://wicg.github.io/speech-api/#enumdef-speechrecognitionerrorcode
// https://webaudio.github.io/web-speech-api/#enumdef-speechrecognitionerrorcode
type SpeechRecognitionErrorCode =
| "aborted"
| "audio-capture"
Expand All @@ -105,13 +105,13 @@ type SpeechRecognitionErrorCode =
| "not-allowed"
| "service-not-allowed";

// https://wicg.github.io/speech-api/#dictdef-speechrecognitionerroreventinit
// https://webaudio.github.io/web-speech-api/#dictdef-speechrecognitionerroreventinit
interface SpeechRecognitionErrorEventInit extends EventInit {
error: SpeechRecognitionErrorCode;
message?: string;
}

// https://wicg.github.io/speech-api/#speechrecognitionerrorevent
// https://webaudio.github.io/web-speech-api/#speechrecognitionerrorevent
interface SpeechRecognitionErrorEvent extends Event {
readonly error: SpeechRecognitionErrorCode;
readonly message: string;
Expand All @@ -122,7 +122,7 @@ declare var SpeechRecognitionErrorEvent: {
new(type: string, eventInitDict: SpeechRecognitionErrorEventInit): SpeechRecognitionErrorEvent;
};

// https://wicg.github.io/speech-api/#speechgrammar
// https://webaudio.github.io/web-speech-api/#speechgrammar
interface SpeechGrammar {
src: string;
weight: number;
Expand All @@ -133,7 +133,7 @@ declare var SpeechGrammar: {
new(): SpeechGrammar;
};

// https://wicg.github.io/speech-api/#speechgrammarlist
// https://webaudio.github.io/web-speech-api/#speechgrammarlist
interface SpeechGrammarList {
readonly length: number;
addFromString(string: string, weight?: number): void;
Expand Down