@burdenoff/fe-libs 2026.1024.2 → 2026.1024.3
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/dist/chrome/FooterBar.d.ts +1 -1
- package/dist/chrome/NativePageTransition.d.ts +1 -1
- package/dist/chrome/ProductPickerSheet.js +42 -42
- package/dist/chrome/ProductSwitcher.d.ts +8 -0
- package/dist/chrome/ProductSwitcher.js +83 -72
- package/dist/chrome/index.d.ts +9 -9
- package/dist/chrome/swipe/swipeMath.d.ts +1 -1
- package/dist/shared/assistant/api.d.ts +3 -3
- package/dist/shared/assistant/appControls/grammar.d.ts +21 -21
- package/dist/shared/assistant/appControls/languageReply.d.ts +1 -1
- package/dist/shared/assistant/appControls/names.d.ts +3 -3
- package/dist/shared/assistant/appControls/pageAdapters.d.ts +5 -5
- package/dist/shared/assistant/appControls/plan.d.ts +38 -38
- package/dist/shared/assistant/appControls/types.d.ts +15 -15
- package/dist/shared/assistant/appControls/useAssistantControl.d.ts +1 -1
- package/dist/shared/assistant/attachmentSources.d.ts +2 -2
- package/dist/shared/assistant/attachments.d.ts +5 -5
- package/dist/shared/assistant/autoRouting.d.ts +6 -6
- package/dist/shared/assistant/conversation.d.ts +20 -20
- package/dist/shared/assistant/displayContent.d.ts +4 -4
- package/dist/shared/assistant/documentText.d.ts +3 -3
- package/dist/shared/assistant/exportConversation.d.ts +1 -1
- package/dist/shared/assistant/history/historyControls.d.ts +4 -4
- package/dist/shared/assistant/history/historyErrors.d.ts +3 -3
- package/dist/shared/assistant/history/historyList.d.ts +5 -5
- package/dist/shared/assistant/history/historyMerge.d.ts +4 -4
- package/dist/shared/assistant/history/historyOperations.d.ts +1 -1
- package/dist/shared/assistant/history/historySearch.d.ts +5 -5
- package/dist/shared/assistant/history/historyStatus.d.ts +1 -1
- package/dist/shared/assistant/history/historyTypes.d.ts +12 -12
- package/dist/shared/assistant/history/profileBoundStorage.d.ts +2 -2
- package/dist/shared/assistant/i18n.d.ts +1 -1
- package/dist/shared/assistant/i18nManifest.d.ts +534 -534
- package/dist/shared/assistant/liveDeltas.d.ts +1 -1
- package/dist/shared/assistant/liveOverlay.d.ts +1 -1
- package/dist/shared/assistant/localUiCommandCopy.d.ts +1 -1
- package/dist/shared/assistant/localUiCommands.d.ts +22 -22
- package/dist/shared/assistant/localeCommands/engine.d.ts +5 -5
- package/dist/shared/assistant/localeCommands/evaluate.d.ts +8 -8
- package/dist/shared/assistant/localeCommands/fold.d.ts +2 -2
- package/dist/shared/assistant/localeCommands/frames.d.ts +3 -3
- package/dist/shared/assistant/localeCommands/gate.d.ts +3 -3
- package/dist/shared/assistant/localeCommands/languageNames.d.ts +1 -1
- package/dist/shared/assistant/localeCommands/normalise.d.ts +1 -1
- package/dist/shared/assistant/localeCommands/types.d.ts +4 -4
- package/dist/shared/assistant/modeCapabilities.d.ts +1 -1
- package/dist/shared/assistant/modeCopy.d.ts +2 -2
- package/dist/shared/assistant/permissionError.d.ts +2 -2
- package/dist/shared/assistant/preview/surfaceState.d.ts +1 -1
- package/dist/shared/assistant/preview/types.d.ts +5 -5
- package/dist/shared/assistant/preview/writeActionResults.d.ts +1 -1
- package/dist/shared/assistant/prewarm.d.ts +5 -5
- package/dist/shared/assistant/quota.d.ts +2 -2
- package/dist/shared/assistant/sandboxReadiness.d.ts +2 -2
- package/dist/shared/assistant/speech/speechFeed.d.ts +3 -3
- package/dist/shared/assistant/turnOutcome.d.ts +2 -2
- package/dist/shared/assistant/turnProgress.d.ts +1 -1
- package/dist/shared/assistant/turnState.d.ts +1 -1
- package/dist/shared/assistant/turnStream.d.ts +3 -3
- package/dist/shared/assistant/turnTimeline.d.ts +13 -13
- package/dist/shared/assistant/turnTimingReport.d.ts +1 -1
- package/dist/shared/assistant/turnTimingReporter.d.ts +3 -3
- package/dist/shared/assistant/ui/AssistantAvatarTabs.d.ts +1 -1
- package/dist/shared/assistant/ui/AssistantHistoryNotices.d.ts +1 -1
- package/dist/shared/assistant/ui/AssistantToolActivity.d.ts +1 -1
- package/dist/shared/assistant/ui/AssistantUiOfferLink.d.ts +2 -2
- package/dist/shared/assistant/ui/AssistantWriteConfirmDialog.d.ts +3 -3
- package/dist/shared/assistant/ui/composer/AssistantAttachmentButton.d.ts +1 -1
- package/dist/shared/assistant/ui/composer/AssistantConnectSourceItem.d.ts +1 -1
- package/dist/shared/assistant/ui/leaveConfirmFocus.d.ts +1 -1
- package/dist/shared/assistant/ui/leaveConfirmNavigate.d.ts +3 -3
- package/dist/shared/assistant/ui/panelOverlays.d.ts +5 -5
- package/dist/shared/assistant/ui/useVoiceSession.d.ts +5 -5
- package/dist/shared/assistant/ui/useWriteProposalConfirm.d.ts +4 -4
- package/dist/shared/assistant/ui/useWriteProposals.d.ts +2 -2
- package/dist/shared/assistant/ui/voice/AssistantVoiceSession.d.ts +1 -1
- package/dist/shared/assistant/ui/voice/VoiceCaption.d.ts +1 -1
- package/dist/shared/assistant/ui/voice/VoiceWaveform.d.ts +1 -1
- package/dist/shared/assistant/ui/voice/voiceSessionEscape.d.ts +2 -2
- package/dist/shared/assistant/ui/voice/voiceStartGate.d.ts +6 -6
- package/dist/shared/assistant/ui/writeProposalPresentation.d.ts +1 -1
- package/dist/shared/assistant/uiActions/actOnResolve.d.ts +5 -5
- package/dist/shared/assistant/uiActions/assistantHref.d.ts +2 -2
- package/dist/shared/assistant/uiActions/backStack.d.ts +1 -1
- package/dist/shared/assistant/uiActions/deixis.d.ts +3 -3
- package/dist/shared/assistant/uiActions/entityRoutes.d.ts +1 -1
- package/dist/shared/assistant/uiActions/navigationOutcome.d.ts +8 -8
- package/dist/shared/assistant/uiActions/offerYesOnSurface.d.ts +1 -1
- package/dist/shared/assistant/uiActions/resolveTarget.d.ts +2 -2
- package/dist/shared/assistant/uiActions/uiOffers.d.ts +5 -5
- package/dist/shared/assistant/usageReporting.d.ts +2 -2
- package/dist/shared/assistant/useWorkspaceWriteAccess.d.ts +1 -1
- package/dist/shared/assistant/voice/affirmations.d.ts +1 -1
- package/dist/shared/assistant/voice/handsFree.d.ts +3 -3
- package/dist/shared/assistant/voice/handsfree/bargeIn.d.ts +5 -5
- package/dist/shared/assistant/voice/handsfree/echoGate.d.ts +6 -6
- package/dist/shared/assistant/voice/handsfree/handsFreeController.d.ts +7 -7
- package/dist/shared/assistant/voice/handsfree/handsFreeSetting.d.ts +2 -2
- package/dist/shared/assistant/voice/handsfree/micCapture.d.ts +1 -1
- package/dist/shared/assistant/voice/handsfree/playbackReference.d.ts +1 -1
- package/dist/shared/assistant/voice/handsfree/sttTransport.d.ts +3 -3
- package/dist/shared/assistant/voice/handsfree/useHandsFreeInterrupt.d.ts +4 -4
- package/dist/shared/assistant/voice/handsfree/vad.d.ts +1 -1
- package/dist/shared/assistant/voice/speechPlayback.d.ts +7 -7
- package/dist/shared/assistant/voice/useVoiceInput.d.ts +1 -1
- package/dist/shared/assistant/voice/voiceReopen.d.ts +8 -8
- package/dist/shared/assistant/writeConfirmSeam.d.ts +1 -1
- package/dist/shared/assistant/writeModeConsent.d.ts +7 -7
- package/dist/shared/assistant/writeProposalDiscovery.d.ts +3 -3
- package/dist/shared/assistant/writeProposalErrorCopy.d.ts +1 -1
- package/dist/shared/assistant/writeProposals.d.ts +23 -23
- package/dist/shared/assistant/writeReplyBinder.d.ts +11 -11
- package/dist/shared/assistant/writeReplySend.d.ts +7 -7
- package/dist/shared/components/LandingOrDashboardRedirect.d.ts +18 -3
- package/dist/shared/components/LandingOrDashboardRedirect.js +58 -28
- package/dist/shared/components/index.d.ts +2 -1
- package/dist/shared/hooks/shell/globalSearchError.d.ts +2 -2
- package/dist/shared/navigation/productSwitchHandoff.d.ts +45 -0
- package/dist/shared/navigation/productSwitchHandoff.js +27 -0
- package/dist/shared/navigation/unsavedChanges.d.ts +1 -1
- package/dist/shared/utils/index.d.ts +3 -3
- package/dist/shared-components.js +7 -6
- package/dist/shared.js +71 -70
- package/package.json +3 -2
|
@@ -70,6 +70,6 @@ export declare function applyLiveDeltas(polled: readonly AssistantRawMessage[],
|
|
|
70
70
|
* it saw was live from its start and none was gapped or frozen, `partial` when
|
|
71
71
|
* the stream carried some but not all, `none` when it carried nothing.
|
|
72
72
|
*/
|
|
73
|
-
export declare function liveCoverage(state: LiveDeltaState):
|
|
73
|
+
export declare function liveCoverage(state: LiveDeltaState): 'full' | 'partial' | 'none';
|
|
74
74
|
/** Has any live text arrived that could be shown? */
|
|
75
75
|
export declare function hasLiveText(state: LiveDeltaState): boolean;
|
|
@@ -40,7 +40,7 @@ export interface LiveRenderOptions {
|
|
|
40
40
|
setTimer?: (run: () => void, ms: number) => unknown;
|
|
41
41
|
clearTimer?: (timer: unknown) => void;
|
|
42
42
|
/** Tests only: a store other than the shared one. */
|
|
43
|
-
overlay?: Pick<LiveOverlayState,
|
|
43
|
+
overlay?: Pick<LiveOverlayState, 'setLive' | 'clearLive'>;
|
|
44
44
|
}
|
|
45
45
|
export interface LiveRender {
|
|
46
46
|
/**
|
|
@@ -92,7 +92,7 @@ export declare function offerAnnounceText(tr: AssistantTr, page: string): string
|
|
|
92
92
|
* The hint under the link: "yes" is named only for an offer the model asked
|
|
93
93
|
* about in a read transport (`uiOfferHintKind`).
|
|
94
94
|
*/
|
|
95
|
-
export declare function offerHintText(tr: AssistantTr, kind:
|
|
95
|
+
export declare function offerHintText(tr: AssistantTr, kind: 'read' | 'link'): string;
|
|
96
96
|
/** A "yes" to an offer that ran out of time. */
|
|
97
97
|
export declare function offerExpiredCopy(tr: AssistantTr): LocalCommandCopy;
|
|
98
98
|
/** An accepted offer whose page the live registry no longer holds. */
|
|
@@ -4,14 +4,14 @@ import { ControlSnapshot } from './appControls/snapshot';
|
|
|
4
4
|
import { AssistantEntityRoute } from './uiActions/entityRoutes';
|
|
5
5
|
import { NavigationContext, PendingChoice } from './uiActions/linkContext';
|
|
6
6
|
import { AssistantRecordAdapter, RecordRequest } from './uiActions/recordNames';
|
|
7
|
-
export type ThemeFamily =
|
|
7
|
+
export type ThemeFamily = 'light' | 'dark';
|
|
8
8
|
/** Named themes a person can ask for, beyond the plain light/dark family. */
|
|
9
|
-
export type NamedTheme =
|
|
9
|
+
export type NamedTheme = 'forest' | 'ocean' | 'sunset' | 'high-contrast' | 'system';
|
|
10
10
|
export type ThemeRequest = {
|
|
11
|
-
kind:
|
|
11
|
+
kind: 'family';
|
|
12
12
|
family: ThemeFamily;
|
|
13
13
|
} | {
|
|
14
|
-
kind:
|
|
14
|
+
kind: 'named';
|
|
15
15
|
theme: NamedTheme;
|
|
16
16
|
};
|
|
17
17
|
/** A place the person can be taken: an entry in the app's navigation. */
|
|
@@ -31,7 +31,7 @@ export interface LocalDestination {
|
|
|
31
31
|
group?: string;
|
|
32
32
|
}
|
|
33
33
|
export type LocalUiCommand = {
|
|
34
|
-
kind:
|
|
34
|
+
kind: 'theme';
|
|
35
35
|
request: ThemeRequest;
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
@@ -40,9 +40,9 @@ export type LocalUiCommand = {
|
|
|
40
40
|
* one" over a numbered list the panel showed (BOFF-8060 N1b).
|
|
41
41
|
*/
|
|
42
42
|
| {
|
|
43
|
-
kind:
|
|
43
|
+
kind: 'navigate';
|
|
44
44
|
destination: LocalDestination;
|
|
45
|
-
via?:
|
|
45
|
+
via?: 'link' | 'choice';
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
48
|
* ★ BOFF-8060 (N3): a page the model OFFERED, accepted — "take me there"
|
|
@@ -51,13 +51,13 @@ export type LocalUiCommand = {
|
|
|
51
51
|
* it navigates. `destination` is the person's own registry entry.
|
|
52
52
|
*/
|
|
53
53
|
| {
|
|
54
|
-
kind:
|
|
54
|
+
kind: 'navigate';
|
|
55
55
|
destination: LocalDestination;
|
|
56
|
-
via:
|
|
56
|
+
via: 'offer';
|
|
57
57
|
offerId: string;
|
|
58
|
-
trigger:
|
|
58
|
+
trigger: 'deixis' | 'yes';
|
|
59
59
|
} | {
|
|
60
|
-
kind:
|
|
60
|
+
kind: 'choose-destination';
|
|
61
61
|
query: string;
|
|
62
62
|
candidates: LocalDestination[];
|
|
63
63
|
}
|
|
@@ -67,7 +67,7 @@ export type LocalUiCommand = {
|
|
|
67
67
|
* deletes. Typed and spoken alike, it records nothing.
|
|
68
68
|
*/
|
|
69
69
|
| {
|
|
70
|
-
kind:
|
|
70
|
+
kind: 'conversation-delete';
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
73
73
|
* ★ BOFF-8060 (R2): "go back" — undo the assistant's OWN last navigation.
|
|
@@ -75,7 +75,7 @@ export type LocalUiCommand = {
|
|
|
75
75
|
* (`LocalUiCommandContext.backRunnable`).
|
|
76
76
|
*/
|
|
77
77
|
| {
|
|
78
|
-
kind:
|
|
78
|
+
kind: 'back';
|
|
79
79
|
}
|
|
80
80
|
/**
|
|
81
81
|
* ★ BOFF-8060 (N1b): "take me there" over a reply that links 2 to 4 pages —
|
|
@@ -83,19 +83,19 @@ export type LocalUiCommand = {
|
|
|
83
83
|
* 4, in reply order).
|
|
84
84
|
*/
|
|
85
85
|
| {
|
|
86
|
-
kind:
|
|
86
|
+
kind: 'choose-linked';
|
|
87
87
|
candidates: LocalDestination[];
|
|
88
88
|
}
|
|
89
89
|
/** A choice word (or "there") while a numbered list is the newest message: point at the list. */
|
|
90
90
|
| {
|
|
91
|
-
kind:
|
|
91
|
+
kind: 'pick-from-list';
|
|
92
92
|
/** The list that IS the newest message (null: it cannot be read back). It stays pending after this reply. */
|
|
93
|
-
candidates: PendingChoice[
|
|
94
|
-
candidateIds: PendingChoice[
|
|
93
|
+
candidates: PendingChoice['candidates'];
|
|
94
|
+
candidateIds: PendingChoice['candidateIds'];
|
|
95
95
|
}
|
|
96
96
|
/** "take me there", and the reply links only pages the person cannot be taken to from here. */
|
|
97
97
|
| {
|
|
98
|
-
kind:
|
|
98
|
+
kind: 'link-not-openable';
|
|
99
99
|
}
|
|
100
100
|
/**
|
|
101
101
|
* ★ BOFF-8060 (N1b): "open the Coffee Shop Sales dashboard". The panel asks
|
|
@@ -103,7 +103,7 @@ export type LocalUiCommand = {
|
|
|
103
103
|
* sentence to the model as before.
|
|
104
104
|
*/
|
|
105
105
|
| {
|
|
106
|
-
kind:
|
|
106
|
+
kind: 'open-record';
|
|
107
107
|
request: RecordRequest;
|
|
108
108
|
}
|
|
109
109
|
/**
|
|
@@ -112,7 +112,7 @@ export type LocalUiCommand = {
|
|
|
112
112
|
* (`appControls/registry.ts`). Never produced without one.
|
|
113
113
|
*/
|
|
114
114
|
| {
|
|
115
|
-
kind:
|
|
115
|
+
kind: 'app-control';
|
|
116
116
|
request: AppControlRequest;
|
|
117
117
|
};
|
|
118
118
|
/**
|
|
@@ -132,7 +132,7 @@ export interface LocalUiCommandOptions {
|
|
|
132
132
|
* qualified as the app's ("change the app theme to dark") — sets the APP
|
|
133
133
|
* theme. Default `any`.
|
|
134
134
|
*/
|
|
135
|
-
themeWords?:
|
|
135
|
+
themeWords?: 'any' | 'mode-only';
|
|
136
136
|
/**
|
|
137
137
|
* The language the sentence was typed or said in (a BCP-47 tag or the
|
|
138
138
|
* assistant's code). Plural/singular page matching (BOFF-8247) is English
|
|
@@ -246,7 +246,7 @@ export interface NavEntryLike {
|
|
|
246
246
|
*/
|
|
247
247
|
export declare function navDestinations(entries: readonly NavEntryLike[], parent?: string): LocalDestination[];
|
|
248
248
|
/** The concrete theme `setMode` takes. */
|
|
249
|
-
export type ThemeModeValue =
|
|
249
|
+
export type ThemeModeValue = 'light' | 'dark' | NamedTheme;
|
|
250
250
|
/**
|
|
251
251
|
* What a theme request does given the current theme — SET semantics, never a
|
|
252
252
|
* toggle. A family request is already satisfied by any theme of that family:
|
|
@@ -14,7 +14,7 @@ export interface Compiled {
|
|
|
14
14
|
zh: boolean;
|
|
15
15
|
prep: PrepData;
|
|
16
16
|
closed: ClosedSlots;
|
|
17
|
-
goto: Record<
|
|
17
|
+
goto: Record<'go' | 'open' | 'show', CompiledFrame[]>;
|
|
18
18
|
ambiguous: Set<string>;
|
|
19
19
|
there: CompiledFrame[];
|
|
20
20
|
back: CompiledFrame[];
|
|
@@ -22,12 +22,12 @@ export interface Compiled {
|
|
|
22
22
|
language: CompiledFrame[];
|
|
23
23
|
theme: Array<{
|
|
24
24
|
frame: CompiledFrame;
|
|
25
|
-
family:
|
|
25
|
+
family: 'light' | 'dark';
|
|
26
26
|
invert: boolean;
|
|
27
27
|
saysTheme: boolean;
|
|
28
28
|
}>;
|
|
29
29
|
controls: {
|
|
30
|
-
phrases: Record<
|
|
30
|
+
phrases: Record<'history' | 'transcript' | 'previewOpen' | 'previewClose' | 'newConversation' | 'notifications' | 'help' | 'sidebarCollapse' | 'sidebarExpand', CompiledControlPhrase[]>;
|
|
31
31
|
tab: CompiledFrame[];
|
|
32
32
|
filter: CompiledFrame[];
|
|
33
33
|
filterClear: CompiledFrame[];
|
|
@@ -69,7 +69,7 @@ export interface LocaleEngineInput {
|
|
|
69
69
|
inputLocale?: string | undefined;
|
|
70
70
|
commandLocales?: readonly string[] | undefined;
|
|
71
71
|
manifest: CommandManifest;
|
|
72
|
-
themeWords?:
|
|
72
|
+
themeWords?: 'any' | 'mode-only' | undefined;
|
|
73
73
|
/** An offered navigation context exists (the newest reply's links or list). */
|
|
74
74
|
navigation: boolean;
|
|
75
75
|
backRunnable: boolean;
|
|
@@ -86,4 +86,4 @@ export declare function matchLocaleIntents(input: LocaleEngineInput): LocaleRun[
|
|
|
86
86
|
* panel builds the offered-navigation context (a parse of the newest reply) only
|
|
87
87
|
* for such a sentence, so an ordinary send never parses a reply.
|
|
88
88
|
*/
|
|
89
|
-
export declare function mayBeThereOrPick(input: Omit<LocaleEngineInput,
|
|
89
|
+
export declare function mayBeThereOrPick(input: Omit<LocaleEngineInput, 'destinations' | 'controls'>): boolean;
|
|
@@ -6,8 +6,8 @@ import { CommandManifest } from './types';
|
|
|
6
6
|
export interface EvalControls {
|
|
7
7
|
registered?: readonly string[];
|
|
8
8
|
languages?: readonly UiLanguage[];
|
|
9
|
-
sidebarEntries?: ControlSnapshot[
|
|
10
|
-
page?: Partial<NonNullable<ControlSnapshot[
|
|
9
|
+
sidebarEntries?: ControlSnapshot['sidebarEntries'];
|
|
10
|
+
page?: Partial<NonNullable<ControlSnapshot['page']>> | null;
|
|
11
11
|
}
|
|
12
12
|
export interface EvalNavigation {
|
|
13
13
|
links?: readonly LocalDestination[];
|
|
@@ -26,24 +26,24 @@ export interface EvalItem {
|
|
|
26
26
|
text: string;
|
|
27
27
|
uiLocale: string;
|
|
28
28
|
inputLocale?: string;
|
|
29
|
-
origin?:
|
|
29
|
+
origin?: 'typed' | 'spoken';
|
|
30
30
|
family?: string;
|
|
31
31
|
sidebar?: readonly LocalDestination[];
|
|
32
32
|
controls?: EvalControls;
|
|
33
33
|
backRunnable?: boolean;
|
|
34
34
|
navigation?: EvalNavigation | null;
|
|
35
35
|
yes?: EvalYes;
|
|
36
|
-
themeWords?:
|
|
36
|
+
themeWords?: 'any' | 'mode-only';
|
|
37
37
|
expected?: string | Record<string, unknown>;
|
|
38
38
|
}
|
|
39
39
|
export type EvalActual = {
|
|
40
|
-
result:
|
|
40
|
+
result: 'model';
|
|
41
41
|
plannedAs?: string;
|
|
42
42
|
} | ({
|
|
43
|
-
result:
|
|
43
|
+
result: 'command';
|
|
44
44
|
kind: string;
|
|
45
45
|
} & Record<string, unknown>);
|
|
46
|
-
export type EvalVerdict =
|
|
46
|
+
export type EvalVerdict = 'pass' | 'false-match' | 'wrong' | 'miss' | 'unscored';
|
|
47
47
|
export interface EvalResult {
|
|
48
48
|
id: string;
|
|
49
49
|
locale: string;
|
|
@@ -56,7 +56,7 @@ export interface EvalResult {
|
|
|
56
56
|
export declare function describeCommand(command: LocalUiCommand | null): EvalActual;
|
|
57
57
|
/** What the shipping composition does with one item. */
|
|
58
58
|
export declare function actualOf(item: EvalItem, manifest: CommandManifest): EvalActual;
|
|
59
|
-
export declare function verdictOf(actual: EvalActual, expected: EvalItem[
|
|
59
|
+
export declare function verdictOf(actual: EvalActual, expected: EvalItem['expected']): EvalVerdict;
|
|
60
60
|
export declare function evaluateCommandItem(item: EvalItem, manifest?: CommandManifest): EvalResult;
|
|
61
61
|
export interface EvalCell {
|
|
62
62
|
locale: string;
|
|
@@ -3,7 +3,7 @@ import { CommandLocale } from './types';
|
|
|
3
3
|
* The fold: lower-case, punctuation-free, single-spaced — and, for `zh`, with no
|
|
4
4
|
* space at all. Idempotent.
|
|
5
5
|
*/
|
|
6
|
-
export declare function foldText(text: string, locale: CommandLocale |
|
|
6
|
+
export declare function foldText(text: string, locale: CommandLocale | 'en'): string;
|
|
7
7
|
/** One word of a sentence, as said and as folded (a word may fold to several, or to none). */
|
|
8
8
|
export interface FoldedWord {
|
|
9
9
|
said: string;
|
|
@@ -14,4 +14,4 @@ export interface FoldedWord {
|
|
|
14
14
|
* free-text slot can hand back the person's OWN words (case, inner
|
|
15
15
|
* punctuation) rather than the fold of them.
|
|
16
16
|
*/
|
|
17
|
-
export declare function foldWords(text: string, locale: CommandLocale |
|
|
17
|
+
export declare function foldWords(text: string, locale: CommandLocale | 'en'): FoldedWord[];
|
|
@@ -10,14 +10,14 @@ export interface CompiledFrame {
|
|
|
10
10
|
readonly slots: readonly string[];
|
|
11
11
|
}
|
|
12
12
|
/** Compile a template for `locale`. Throws on a malformed template (a table bug). */
|
|
13
|
-
export declare function compileFrame(template: string, locale: CommandLocale |
|
|
13
|
+
export declare function compileFrame(template: string, locale: CommandLocale | 'en', closed?: ClosedSlots): CompiledFrame;
|
|
14
14
|
/** Every distinct parse of the whole folded utterance by this frame. */
|
|
15
15
|
export declare function matchFrame(frame: CompiledFrame, folded: string): Captures[];
|
|
16
16
|
/** A map from folded word to value, for a closed slot. */
|
|
17
|
-
export declare function closedSlot(entries: ReadonlyArray<readonly [readonly string[], string | number]>, locale: CommandLocale |
|
|
17
|
+
export declare function closedSlot(entries: ReadonlyArray<readonly [readonly string[], string | number]>, locale: CommandLocale | 'en'): ReadonlyMap<string, string | number>;
|
|
18
18
|
/**
|
|
19
19
|
* Every sentence a template can say, with each slot filled from `slots` (a
|
|
20
20
|
* closed slot may be left out: its table words are used). For the tests and the
|
|
21
21
|
* evaluation harness — the engine never enumerates, it matches.
|
|
22
22
|
*/
|
|
23
|
-
export declare function expandTemplate(template: string, locale: CommandLocale |
|
|
23
|
+
export declare function expandTemplate(template: string, locale: CommandLocale | 'en', slots: Readonly<Record<string, readonly string[]>>, closed?: ClosedSlots): string[];
|
|
@@ -6,7 +6,7 @@ import { CommandFamily, CommandManifest, ManifestLocale } from './types';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare const COMMAND_MANIFEST: CommandManifest;
|
|
8
8
|
/** The families each manifest locale can carry. `en` carries only the English additions. */
|
|
9
|
-
export declare const MANIFEST_FAMILIES: Readonly<Record<ManifestLocale, readonly (CommandFamily |
|
|
9
|
+
export declare const MANIFEST_FAMILIES: Readonly<Record<ManifestLocale, readonly (CommandFamily | 'frames')[]>>;
|
|
10
10
|
/** Design §3.2 G4: the recall an entry needs to be enabled for go-to, there and yes. */
|
|
11
11
|
export declare const RECALL_FLOOR = 0.6;
|
|
12
12
|
/**
|
|
@@ -26,7 +26,7 @@ export declare function manifestWith(on: readonly string[]): CommandManifest;
|
|
|
26
26
|
*/
|
|
27
27
|
export declare function effectiveManifest(supplied: CommandManifest | undefined, shipped?: CommandManifest): CommandManifest;
|
|
28
28
|
/** Is `family` of `locale` on in this manifest? */
|
|
29
|
-
export declare function isEnabled(manifest: CommandManifest, locale: ManifestLocale, family: CommandFamily |
|
|
29
|
+
export declare function isEnabled(manifest: CommandManifest, locale: ManifestLocale, family: CommandFamily | 'frames'): boolean;
|
|
30
30
|
/** Does this locale have any family on? (A table with nothing on is not active.) */
|
|
31
31
|
export declare function localeHasAnyOn(manifest: CommandManifest, locale: ManifestLocale): boolean;
|
|
32
32
|
/**
|
|
@@ -34,4 +34,4 @@ export declare function localeHasAnyOn(manifest: CommandManifest, locale: Manife
|
|
|
34
34
|
* `corpusShaOf` reads the sha256 of the frozen blind file an entry names, or
|
|
35
35
|
* null when that file does not exist.
|
|
36
36
|
*/
|
|
37
|
-
export declare function validateManifest(manifest: CommandManifest, corpusShaOf: (locale: ManifestLocale, family: CommandFamily |
|
|
37
|
+
export declare function validateManifest(manifest: CommandManifest, corpusShaOf: (locale: ManifestLocale, family: CommandFamily | 'frames') => string | null): string[];
|
|
@@ -7,5 +7,5 @@ import { CommandLocale, LanguageCode, LocaleTable } from './types';
|
|
|
7
7
|
export declare function languageNameMap(input: {
|
|
8
8
|
tables: readonly LocaleTable[];
|
|
9
9
|
appLanguages: readonly UiLanguage[];
|
|
10
|
-
fold: CommandLocale |
|
|
10
|
+
fold: CommandLocale | 'en';
|
|
11
11
|
}): ReadonlyMap<string, LanguageCode>;
|
|
@@ -24,9 +24,9 @@ export type CommandLocale = (typeof COMMAND_LOCALES)[number];
|
|
|
24
24
|
export declare const COMMAND_FAMILIES: readonly ["goto", "there", "back", "pick", "yes", "language", "theme", "controls"];
|
|
25
25
|
export type CommandFamily = (typeof COMMAND_FAMILIES)[number];
|
|
26
26
|
/** The locale keys of the manifest: `en` carries the English additions. */
|
|
27
|
-
export type ManifestLocale = CommandLocale |
|
|
27
|
+
export type ManifestLocale = CommandLocale | 'en';
|
|
28
28
|
/** The six UI languages a language command can set (`appControls/types`). */
|
|
29
|
-
export type LanguageCode =
|
|
29
|
+
export type LanguageCode = 'en' | 'ar' | 'es' | 'hi' | 'ta' | 'zh';
|
|
30
30
|
/** How a go-to template treats a record noun and a place word. */
|
|
31
31
|
export interface GotoFrames {
|
|
32
32
|
/** "go to X": a navigation verb, a bare name is enough. */
|
|
@@ -56,7 +56,7 @@ export interface PickFrames {
|
|
|
56
56
|
/** One theme phrase: a template over nothing (a closed phrase), the family it sets. */
|
|
57
57
|
export interface ThemePhrase {
|
|
58
58
|
template: string;
|
|
59
|
-
family:
|
|
59
|
+
family: 'light' | 'dark';
|
|
60
60
|
/** "dark mode off" sets the other family. */
|
|
61
61
|
invert?: boolean;
|
|
62
62
|
/** The phrase says "theme": a product with `themeWords: "mode-only"` skips it. */
|
|
@@ -169,4 +169,4 @@ export interface ManifestEntry {
|
|
|
169
169
|
falseMatches?: number;
|
|
170
170
|
recall?: number;
|
|
171
171
|
}
|
|
172
|
-
export type CommandManifest = Readonly<Record<ManifestLocale, Readonly<Partial<Record<CommandFamily |
|
|
172
|
+
export type CommandManifest = Readonly<Record<ManifestLocale, Readonly<Partial<Record<CommandFamily | 'frames', ManifestEntry>>>>>;
|
|
@@ -44,7 +44,7 @@ export interface AssistantModeCapabilities {
|
|
|
44
44
|
readonly provisionable: boolean;
|
|
45
45
|
}
|
|
46
46
|
/** The capability fields a product may set, plus the id they belong to. */
|
|
47
|
-
export type AssistantModeCapabilityConfig = Pick<AssistantModeConfig,
|
|
47
|
+
export type AssistantModeCapabilityConfig = Pick<AssistantModeConfig, 'id' | 'producesArtifacts' | 'streamBudgetMs' | 'continuesInBackground' | 'accumulatesNarration'>;
|
|
48
48
|
/**
|
|
49
49
|
* The largest `streamBudgetMs` a product may configure: one hour.
|
|
50
50
|
*
|
|
@@ -17,8 +17,8 @@ import { AssistantMode, BuiltInAssistantMode } from './types';
|
|
|
17
17
|
export declare const ASSISTANT_MODE_FALLBACK_LABELS: {
|
|
18
18
|
readonly general: "Ask";
|
|
19
19
|
readonly assistant: "Ask";
|
|
20
|
-
readonly
|
|
21
|
-
readonly
|
|
20
|
+
readonly 'api-calls': "Take action";
|
|
21
|
+
readonly 'vibe-plugins': "Build";
|
|
22
22
|
};
|
|
23
23
|
/**
|
|
24
24
|
* Every BUILT-IN mode id, read off the table above so the list cannot fall
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* assistant session for this role yet — a platform decision, not an access a
|
|
5
5
|
* workspace admin can grant, so its copy asks no one for anything.
|
|
6
6
|
*/
|
|
7
|
-
export type PermissionRefusal =
|
|
7
|
+
export type PermissionRefusal = 'denied' | 'session' | 'provisioning-gated';
|
|
8
8
|
/**
|
|
9
9
|
* The i18n key wspace-sandbox-svc refuses `provisionAssistantSandbox` with
|
|
10
10
|
* while the §2.8 gate is on (FORBIDDEN, for a caller without
|
|
@@ -33,4 +33,4 @@ export declare function describePermissionError(error: unknown): PermissionRefus
|
|
|
33
33
|
*/
|
|
34
34
|
export declare function permissionRefusalMessage(detail: PermissionRefusalDetail): string;
|
|
35
35
|
/** Which outcome copy a permission refusal gets — one table, read by both the message and the outcome. */
|
|
36
|
-
export declare function permissionRefusalCopyId(refusal: PermissionRefusal):
|
|
36
|
+
export declare function permissionRefusalCopyId(refusal: PermissionRefusal): 'sessionUnverified' | 'provisioningNotPermitted' | 'permissionDenied';
|
|
@@ -20,7 +20,7 @@ import { AssistantPreviewEvent, AssistantPreviewRun } from './types';
|
|
|
20
20
|
* rebuilt. Without a named phase for it the phase became whatever string
|
|
21
21
|
* arrived, and a product's status lookup returned `undefined`.
|
|
22
22
|
*/
|
|
23
|
-
export type PreviewPhase =
|
|
23
|
+
export type PreviewPhase = 'idle' | 'generating' | 'complete' | 'error' | 'abandoned' | 'ended';
|
|
24
24
|
/**
|
|
25
25
|
* Who an answer belongs to.
|
|
26
26
|
*
|
|
@@ -60,11 +60,11 @@ export interface AssistantPreviewRun {
|
|
|
60
60
|
* than in a comment a consumer never reads.
|
|
61
61
|
*/
|
|
62
62
|
export type AssistantPreviewEvent = {
|
|
63
|
-
kind:
|
|
63
|
+
kind: 'start';
|
|
64
64
|
run: AssistantPreviewRun;
|
|
65
65
|
} | {
|
|
66
66
|
/** An approved write finished, independently of the model's turn. */
|
|
67
|
-
kind:
|
|
67
|
+
kind: 'action-result';
|
|
68
68
|
run: AssistantPreviewRun;
|
|
69
69
|
action: {
|
|
70
70
|
id: string;
|
|
@@ -76,7 +76,7 @@ export type AssistantPreviewEvent = {
|
|
|
76
76
|
result: unknown;
|
|
77
77
|
};
|
|
78
78
|
} | {
|
|
79
|
-
kind:
|
|
79
|
+
kind: 'snapshot';
|
|
80
80
|
run: AssistantPreviewRun;
|
|
81
81
|
/**
|
|
82
82
|
* ★★ THE PROSE, with the tool-activity lines REMOVED.
|
|
@@ -98,7 +98,7 @@ export type AssistantPreviewEvent = {
|
|
|
98
98
|
*/
|
|
99
99
|
steps: readonly AssistantToolStep[];
|
|
100
100
|
} | {
|
|
101
|
-
kind:
|
|
101
|
+
kind: 'end';
|
|
102
102
|
run: AssistantPreviewRun;
|
|
103
103
|
/**
|
|
104
104
|
* ★★ `abandoned` is not a failure and not a completion — it is a run the
|
|
@@ -109,7 +109,7 @@ export type AssistantPreviewEvent = {
|
|
|
109
109
|
* outcome the run would simply never end and a preview would sit showing
|
|
110
110
|
* progress forever. The turn may or may not still be executing.
|
|
111
111
|
*/
|
|
112
|
-
outcome:
|
|
112
|
+
outcome: 'complete' | 'error' | 'abandoned';
|
|
113
113
|
/**
|
|
114
114
|
* ★ NON-optional. Every terminal branch sets this — `complete` and
|
|
115
115
|
* `error` from the store, `abandoned` explicitly as null — so leaving it
|
|
@@ -5,5 +5,5 @@ import { AssistantPreviewEvent } from './types';
|
|
|
5
5
|
export declare function writeActionResultEvents(view: Pick<WriteProposalView, 'proposalId' | 'status' | 'result'> & {
|
|
6
6
|
description: Pick<WriteProposalView['description'], 'rootFields'>;
|
|
7
7
|
}, conversationId: string, messageId: string, owner: PreviewOwner): Extract<AssistantPreviewEvent, {
|
|
8
|
-
kind:
|
|
8
|
+
kind: 'action-result';
|
|
9
9
|
}>[];
|
|
@@ -28,11 +28,11 @@ export interface PrewarmInput {
|
|
|
28
28
|
/** The active conversation, if any. */
|
|
29
29
|
active?: {
|
|
30
30
|
mode: AssistantMode;
|
|
31
|
-
routedBy?:
|
|
31
|
+
routedBy?: 'auto';
|
|
32
32
|
} | undefined;
|
|
33
33
|
selectedMode: AssistantMode;
|
|
34
34
|
autoReadMode: AssistantMode;
|
|
35
|
-
modes: readonly Pick<AssistantModeConfig,
|
|
35
|
+
modes: readonly Pick<AssistantModeConfig, 'id' | 'writeCapable' | 'requiresAdmin'>[];
|
|
36
36
|
acknowledgedWriteModes: readonly AssistantMode[];
|
|
37
37
|
/** The role check that admin-only modes wait on (`adminModeAccessGate`). */
|
|
38
38
|
adminAccess: {
|
|
@@ -95,7 +95,7 @@ export interface WarmOutcome {
|
|
|
95
95
|
}
|
|
96
96
|
/** Thrown inside a warm to stop it where it stands. Never surfaces. */
|
|
97
97
|
export declare class WarmCancelled extends Error {
|
|
98
|
-
constructor(reason:
|
|
98
|
+
constructor(reason: 'cancelled' | 'no-create');
|
|
99
99
|
}
|
|
100
100
|
export interface WarmHandle {
|
|
101
101
|
readonly workspaceId: string;
|
|
@@ -126,7 +126,7 @@ export interface WarmHandle {
|
|
|
126
126
|
finish(outcome: WarmOutcome): void;
|
|
127
127
|
}
|
|
128
128
|
/** This workspace's warm state, shaped for `prewarmTarget`. */
|
|
129
|
-
export declare function warmState(workspaceId: string): Pick<PrewarmInput,
|
|
129
|
+
export declare function warmState(workspaceId: string): Pick<PrewarmInput, 'warming' | 'lastPrewarmAt' | 'unusedCreates'>;
|
|
130
130
|
/** Register a warm. The caller must have checked `prewarmTarget` first. */
|
|
131
131
|
export declare function startWarm(workspaceId: string, plan: PrewarmPlan, now: number): WarmHandle;
|
|
132
132
|
/** What a send learned from settling a warm (see `settleWarmBeforeSend`). */
|
|
@@ -136,7 +136,7 @@ export interface WarmSettlement {
|
|
|
136
136
|
* waited for one that failed (the wait still cost it); null — neither: no
|
|
137
137
|
* warm, a cancelled one, or one that only probed or trusted a proof.
|
|
138
138
|
*/
|
|
139
|
-
joined:
|
|
139
|
+
joined: 'joined' | 'joinedFailed' | null;
|
|
140
140
|
/**
|
|
141
141
|
* The send waited on a live warm in its mode, whatever that warm did. Such
|
|
142
142
|
* a warm did not finish ahead of the send, so it is never a `hit`.
|
|
@@ -40,7 +40,7 @@ export declare function isQuotaExhaustedError(error: unknown): boolean;
|
|
|
40
40
|
* covers this" would otherwise be reported to a farmer as "you have reached your limit". The
|
|
41
41
|
* daily limit is a 429 too (the svc's prompt-async refusal), and a 402 or 429 `turnTerminal`.
|
|
42
42
|
*/
|
|
43
|
-
export type QuotaRefusal =
|
|
43
|
+
export type QuotaRefusal = 'exhausted' | 'not-provisioned' | 'daily-limit';
|
|
44
44
|
/**
|
|
45
45
|
* Which refusal this is, or null when the error is not a quota wall at all.
|
|
46
46
|
*
|
|
@@ -102,7 +102,7 @@ export declare function extensionObjectsIn(error: unknown): Record<string, unkno
|
|
|
102
102
|
* the chat area already catches.
|
|
103
103
|
*/
|
|
104
104
|
export declare function describeQuotaError(error: unknown): QuotaRefusalDetail | null;
|
|
105
|
-
export type QuotaKind =
|
|
105
|
+
export type QuotaKind = 'sandbox' | 'ai-credits' | 'generic';
|
|
106
106
|
/**
|
|
107
107
|
* Event the assistant dispatches on a quota wall, namespaced by product.
|
|
108
108
|
*
|
|
@@ -68,7 +68,7 @@ export type ReadinessTracker = ReturnType<typeof createReadinessTracker>;
|
|
|
68
68
|
* - `reprobe` — anything else temporary: the gap the cache opened. Probe for
|
|
69
69
|
* real, as every turn did before the cache.
|
|
70
70
|
*/
|
|
71
|
-
export type TrustedSandboxFailurePlan =
|
|
71
|
+
export type TrustedSandboxFailurePlan = 'rethrow' | 'check-network' | 'replace' | 'reprobe';
|
|
72
72
|
export declare function planTrustedSandboxFailure(error: unknown, abandoned: boolean): TrustedSandboxFailurePlan;
|
|
73
73
|
/**
|
|
74
74
|
* A transport failure at session create: the person's network, or the
|
|
@@ -80,4 +80,4 @@ export declare function planTrustedSandboxFailure(error: unknown, abandoned: boo
|
|
|
80
80
|
* - the gateway answers (even with an error of its own) → `reprobe`: the
|
|
81
81
|
* network is up, so the sandbox hop is what failed.
|
|
82
82
|
*/
|
|
83
|
-
export declare function planAfterTransportFailure(askGateway: () => Promise<unknown>): Promise<
|
|
83
|
+
export declare function planAfterTransportFailure(askGateway: () => Promise<unknown>): Promise<'rethrow' | 'reprobe'>;
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
export interface SpeechFeedItem {
|
|
28
28
|
/** The conversation the message belongs to. */
|
|
29
29
|
conversationId: string;
|
|
30
|
-
channel:
|
|
30
|
+
channel: 'voice' | 'chat';
|
|
31
31
|
/** The live voice session that asked, when `channel` is voice. */
|
|
32
32
|
voiceSessionId?: string | undefined;
|
|
33
33
|
/** The reply as `applyAssistantResponse` stores it (sanitised, markdown). */
|
|
@@ -38,11 +38,11 @@ export interface SpeechFeedItem {
|
|
|
38
38
|
final: true;
|
|
39
39
|
}
|
|
40
40
|
export type SpeechFeedEvent = {
|
|
41
|
-
type:
|
|
41
|
+
type: 'publish';
|
|
42
42
|
messageId: string;
|
|
43
43
|
item: SpeechFeedItem;
|
|
44
44
|
} | {
|
|
45
|
-
type:
|
|
45
|
+
type: 'abort';
|
|
46
46
|
messageId: string;
|
|
47
47
|
};
|
|
48
48
|
type Listener = (event: SpeechFeedEvent) => void;
|
|
@@ -3,7 +3,7 @@ import { TurnOutcomeCopyId } from './turnOutcomeCopy';
|
|
|
3
3
|
import { AssistantMode } from './types';
|
|
4
4
|
import { SandboxWriteCapabilities } from './writeProposals';
|
|
5
5
|
/** Why a send was refused before it reached the backend. */
|
|
6
|
-
export type SendRefusalReason =
|
|
6
|
+
export type SendRefusalReason = 'confirm-write-mode' | 'voice-in-write-mode' | 'mode-unavailable' | 'mode-admin-only' | 'mode-access-pending' | 'usage-not-permitted' | 'usage-not-recorded';
|
|
7
7
|
/**
|
|
8
8
|
* A send refused on the client, before it reached the backend: something must
|
|
9
9
|
* be confirmed, chosen or waited for first. Thrown instead of a bare `Error` so
|
|
@@ -13,7 +13,7 @@ export declare class AssistantSendRefusal extends Error {
|
|
|
13
13
|
readonly reason: SendRefusalReason;
|
|
14
14
|
constructor(reason: SendRefusalReason, message: string);
|
|
15
15
|
}
|
|
16
|
-
export type TurnOutcomeKind =
|
|
16
|
+
export type TurnOutcomeKind = 'usage' | 'permission' | 'confirmation' | 'temporary';
|
|
17
17
|
export interface TurnOutcome {
|
|
18
18
|
kind: TurnOutcomeKind;
|
|
19
19
|
/** The copy that says it. */
|
|
@@ -151,7 +151,7 @@ export declare const NO_FIRST_TEXT: FirstTextTracker;
|
|
|
151
151
|
* Not for `accumulateNarration` modes, where the narration IS the answer and
|
|
152
152
|
* its first appearance counts at once.
|
|
153
153
|
*/
|
|
154
|
-
export declare function trackFirstText(tracker: FirstTextTracker, progress: Pick<AssistantTurnProgress,
|
|
154
|
+
export declare function trackFirstText(tracker: FirstTextTracker, progress: Pick<AssistantTurnProgress, 'hasText' | 'messageId' | 'done'>, now: number): {
|
|
155
155
|
tracker: FirstTextTracker;
|
|
156
156
|
confirmedAt: number | null;
|
|
157
157
|
};
|
|
@@ -72,7 +72,7 @@ export declare function planAbandonedTurn(args: {
|
|
|
72
72
|
clearProcessing: boolean;
|
|
73
73
|
};
|
|
74
74
|
/** Why an abort was or was not sent. Carried so callers can log the near-miss. */
|
|
75
|
-
export type TurnAbortReason =
|
|
75
|
+
export type TurnAbortReason = 'send' | 'nothing-running' | 'superseded' | 'already-requested';
|
|
76
76
|
/**
|
|
77
77
|
* Should this cancellation actually be sent to the sandbox?
|
|
78
78
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LiveDeltaState } from './liveDeltas';
|
|
2
2
|
import { StreamAccess } from './types';
|
|
3
|
-
export type TurnStreamStatus =
|
|
4
|
-
export type WakeResult =
|
|
3
|
+
export type TurnStreamStatus = 'minting' | 'connecting' | 'open' | 'closed' | 'unavailable';
|
|
4
|
+
export type WakeResult = 'wake' | 'idle' | 'timeout' | 'abort';
|
|
5
5
|
/** The slice of the browser `EventSource` this client uses. */
|
|
6
6
|
export interface EventSourceLike {
|
|
7
7
|
readonly readyState: number;
|
|
@@ -11,7 +11,7 @@ export interface EventSourceLike {
|
|
|
11
11
|
close(): void;
|
|
12
12
|
}
|
|
13
13
|
/** The timeline marks the stream makes (`turnTimeline.ts`). */
|
|
14
|
-
export type TurnStreamMark =
|
|
14
|
+
export type TurnStreamMark = 'streamOpen' | 'streamIdle' | 'streamRemint';
|
|
15
15
|
export interface TurnStreamOptions {
|
|
16
16
|
/** Mint a stream URL, or null when there is none. Never throws into here. */
|
|
17
17
|
mint: () => Promise<StreamAccess | null>;
|