@flighthq/dialog 0.3.1-next.975.01aea94 → 0.4.0-edge.1908.751021c

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/dialog.d.ts CHANGED
@@ -1,8 +1,12 @@
1
- import type { DialogBackend, FileDialogHandle, MessageDialogOptions, MessageDialogResult, OpenDirectoryDialogOptions, OpenFileDialogOptions, PromptDialogOptions, SaveFileDialogOptions } from '@flighthq/types/contract';
1
+ import type { BackendExplanation, DialogBackend, FileDialogHandle, MessageDialogOptions, MessageDialogResult, OpenDirectoryDialogOptions, OpenFileDialogOptions, PromptDialogOptions, SaveFileDialogOptions } from '@flighthq/types/contract';
2
2
  export declare function createWebDialogBackend(): DialogBackend;
3
+ export declare function explainDialogBackend(): BackendExplanation;
3
4
  export declare function getDialogBackend(): DialogBackend;
4
5
  export declare function getWebDirectorySystemHandle(handle: Readonly<FileDialogHandle>): FileSystemDirectoryHandle | null;
5
6
  export declare function getWebFileSystemHandle(handle: Readonly<FileDialogHandle>): FileSystemFileHandle | null;
7
+ export declare function installDialogHostBackend(backend: DialogBackend): void;
8
+ export declare function observeDialogHostResult(operation: string, succeeded: boolean): void;
9
+ export declare function resetDialogBackendForTest(): void;
6
10
  export declare function setDialogBackend(backend: DialogBackend | null): void;
7
11
  export declare function showConfirmDialog(options: Readonly<MessageDialogOptions>): Promise<boolean>;
8
12
  export declare function showErrorBox(title: string, content: string): Promise<MessageDialogResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../src/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAEhB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAMlC,wBAAgB,sBAAsB,IAAI,aAAa,CA2CtD;AAGD,wBAAgB,gBAAgB,IAAI,aAAa,CAGhD;AAKD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,yBAAyB,GAAG,IAAI,CAEhH;AAKD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,oBAAoB,GAAG,IAAI,CAEtG;AAGD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAEpE;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAE3F;AAID,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAEzF;AAGD,wBAAgB,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAErG;AAGD,wBAAgB,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAEpG;AAID,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAEvG;AAID,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAElH;AAID,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAExG;AAID,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAE/F;AAKD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAE7G;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAEvG;AA+PD,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,cAAc,IAAI,OAAO,CAAC,4BAA4B,CAAC,CAAC;CACzD;AAED,UAAU,4BAA4B;IACpC,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,UAAU,yBAAyB;IACjC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../src/dialog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAEhB,oBAAoB,EACpB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAMlC,wBAAgB,sBAAsB,IAAI,aAAa,CA2CtD;AAED,wBAAgB,oBAAoB,IAAI,kBAAkB,CAazD;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAKD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,yBAAyB,GAAG,IAAI,CAEhH;AAKD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,oBAAoB,GAAG,IAAI,CAEtG;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAMrE;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI,CAKnF;AAED,wBAAgB,yBAAyB,IAAI,IAAI,CAKhD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAEpE;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAE3F;AAID,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAEzF;AAGD,wBAAgB,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAErG;AAGD,wBAAgB,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAEpG;AAID,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAEvG;AAID,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAElH;AAID,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAExG;AAID,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAE/F;AAKD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAE7G;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAEvG;AAwCD,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,cAAc,IAAI,OAAO,CAAC,4BAA4B,CAAC,CAAC;CACzD;AAED,UAAU,4BAA4B;IACpC,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,UAAU,yBAAyB;IACjC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB"}
package/dist/dialog.js CHANGED
@@ -51,11 +51,22 @@ export function createWebDialogBackend() {
51
51
  },
52
52
  };
53
53
  }
54
- // The active dialog backend, or a lazily-created web default. There is always a backend.
54
+ export function explainDialogBackend() {
55
+ if (_custom !== null) {
56
+ return { conflict: _hostConflict, layer: 'custom', operation: null, viability: 'unobserved' };
57
+ }
58
+ if (_host !== null) {
59
+ return {
60
+ conflict: _hostConflict,
61
+ layer: 'host',
62
+ operation: _hostObservation !== null ? _hostObservation.operation : null,
63
+ viability: _hostObservation !== null ? _hostObservation.viability : 'unobserved',
64
+ };
65
+ }
66
+ return { conflict: false, layer: 'host-not-enabled', operation: null, viability: 'unobserved' };
67
+ }
55
68
  export function getDialogBackend() {
56
- if (_backend === null)
57
- _backend = createWebDialogBackend();
58
- return _backend;
69
+ return _custom ?? _host ?? _sentinel;
59
70
  }
60
71
  // Retrieves the underlying web FileSystemDirectoryHandle stashed for a dialog directory handle, if any.
61
72
  // Used by @flighthq/filesystem or other I/O cells to traverse and read the directory natively.
@@ -69,9 +80,28 @@ export function getWebDirectorySystemHandle(handle) {
69
80
  export function getWebFileSystemHandle(handle) {
70
81
  return _fileSystemHandleRegistry.get(handle) ?? null;
71
82
  }
72
- // Installs a native host dialog backend; pass null to fall back to the web default.
83
+ export function installDialogHostBackend(backend) {
84
+ if (_host !== null) {
85
+ if (_host !== backend)
86
+ _hostConflict = true;
87
+ return;
88
+ }
89
+ _host = backend;
90
+ }
91
+ export function observeDialogHostResult(operation, succeeded) {
92
+ _hostObservation = {
93
+ operation,
94
+ viability: succeeded ? 'available' : 'runtime-api-unavailable',
95
+ };
96
+ }
97
+ export function resetDialogBackendForTest() {
98
+ _custom = null;
99
+ _host = null;
100
+ _hostConflict = false;
101
+ _hostObservation = null;
102
+ }
73
103
  export function setDialogBackend(backend) {
74
- _backend = backend;
104
+ _custom = backend;
75
105
  }
76
106
  // Shows a yes/no confirmation. Returns false on cancel or when the host lacks the surface.
77
107
  export function showConfirmDialog(options) {
@@ -120,7 +150,39 @@ export function showSaveFileDialog(options) {
120
150
  export function showWarningDialog(options) {
121
151
  return getDialogBackend().message({ ...options, kind: 'warning' });
122
152
  }
123
- let _backend = null;
153
+ let _custom = null;
154
+ let _host = null;
155
+ let _hostConflict = false;
156
+ let _hostObservation = null;
157
+ const _sentinel = {
158
+ async confirm() {
159
+ return false;
160
+ },
161
+ async message(options) {
162
+ return { buttonIndex: 0, cancelled: false, checkboxChecked: options.checkboxChecked ?? false };
163
+ },
164
+ async openDirectory() {
165
+ return [];
166
+ },
167
+ async openFile() {
168
+ return [];
169
+ },
170
+ async prompt() {
171
+ return null;
172
+ },
173
+ async saveFile() {
174
+ return null;
175
+ },
176
+ };
177
+ // Registry mapping FileDialogHandle → live web FileSystemDirectoryHandle, enabling @flighthq/filesystem
178
+ // to enumerate and read directories without dialog owning the I/O. Populated by showDirectoryPicker path.
179
+ // Keys are plain FileDialogHandle objects (reference equality); values are the native handles.
180
+ const _fileSystemDirectoryHandleRegistry = new WeakMap();
181
+ // Registry mapping FileDialogHandle → live web FileSystemFileHandle, enabling @flighthq/filesystem
182
+ // to read from or write to a picked file without dialog owning the I/O. Dialog holds this registry
183
+ // because it is the only party that creates and observes the FileSystemFileHandle lifecycle.
184
+ // Keys are plain FileDialogHandle objects (reference equality); values are the native handles.
185
+ const _fileSystemHandleRegistry = new WeakMap();
124
186
  // Builds a FileDialogFilter accept list for the File System Access API's 'types' option.
125
187
  function buildFileSystemAccessTypes(filters) {
126
188
  if (filters === undefined || filters.length === 0)
@@ -365,13 +427,4 @@ async function saveWebFile(options) {
365
427
  return null;
366
428
  }
367
429
  }
368
- // Registry mapping FileDialogHandle → live web FileSystemDirectoryHandle, enabling @flighthq/filesystem
369
- // to enumerate and read directories without dialog owning the I/O. Populated by showDirectoryPicker path.
370
- // Keys are plain FileDialogHandle objects (reference equality); values are the native handles.
371
- const _fileSystemDirectoryHandleRegistry = new WeakMap();
372
- // Registry mapping FileDialogHandle → live web FileSystemFileHandle, enabling @flighthq/filesystem
373
- // to read from or write to a picked file without dialog owning the I/O. Dialog holds this registry
374
- // because it is the only party that creates and observes the FileSystemFileHandle lifecycle.
375
- // Keys are plain FileDialogHandle objects (reference equality); values are the native handles.
376
- const _fileSystemHandleRegistry = new WeakMap();
377
430
  //# sourceMappingURL=dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../src/dialog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../src/dialog.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { getWebDirectorySystemHandle, getWebFileSystemHandle, showConfirmDialog, showErrorBox, showErrorDialog, showInfoDialog, showMessageDialog, showOpenDirectoryDialog, showOpenFileDialog, showPromptDialog, showSaveFileDialog, showWarningDialog, } from './contract';
1
+ export { explainDialogBackend, getWebDirectorySystemHandle, getWebFileSystemHandle, showConfirmDialog, showErrorBox, showErrorDialog, showInfoDialog, showMessageDialog, showOpenDirectoryDialog, showOpenFileDialog, showPromptDialog, showSaveFileDialog, showWarningDialog, } from './contract';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { getWebDirectorySystemHandle, getWebFileSystemHandle, showConfirmDialog, showErrorBox, showErrorDialog, showInfoDialog, showMessageDialog, showOpenDirectoryDialog, showOpenFileDialog, showPromptDialog, showSaveFileDialog, showWarningDialog, } from './contract';
1
+ export { explainDialogBackend, getWebDirectorySystemHandle, getWebFileSystemHandle, showConfirmDialog, showErrorBox, showErrorDialog, showInfoDialog, showMessageDialog, showOpenDirectoryDialog, showOpenFileDialog, showPromptDialog, showSaveFileDialog, showWarningDialog, } from './contract';
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flighthq/dialog",
3
- "version": "0.3.1-next.975.01aea94",
3
+ "version": "0.4.0-edge.1908.751021c",
4
4
  "author": "Joshua Granick and other contributors",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -38,7 +38,7 @@
38
38
  "clean:dist": "tsx ../../scripts/clean-package-dist.ts"
39
39
  },
40
40
  "dependencies": {
41
- "@flighthq/types": "0.3.1-next.975.01aea94"
41
+ "@flighthq/types": "0.4.0-edge.1908.751021c"
42
42
  },
43
43
  "devDependencies": {
44
44
  "typescript": "^5.3.0"
@@ -16,6 +16,10 @@ import {
16
16
  showPromptDialog,
17
17
  showSaveFileDialog,
18
18
  showWarningDialog,
19
+ explainDialogBackend,
20
+ installDialogHostBackend,
21
+ observeDialogHostResult,
22
+ resetDialogBackendForTest,
19
23
  } from './dialog';
20
24
 
21
25
  function fakeHandle(name: string): FileDialogHandle {
@@ -105,6 +109,34 @@ describe('createWebDialogBackend', () => {
105
109
  });
106
110
  });
107
111
 
112
+ describe('explainDialogBackend', () => {
113
+ afterEach(() => resetDialogBackendForTest());
114
+
115
+ it('reports host-not-enabled when no backend is installed', () => {
116
+ resetDialogBackendForTest();
117
+ const explanation = explainDialogBackend();
118
+ expect(explanation.layer).toBe('host-not-enabled');
119
+ expect(explanation.conflict).toBe(false);
120
+ expect(explanation.viability).toBe('unobserved');
121
+ });
122
+
123
+ it('reports custom layer when a custom backend is set', () => {
124
+ setDialogBackend(fakeBackend());
125
+ expect(explainDialogBackend().layer).toBe('custom');
126
+ });
127
+
128
+ it('reports host layer when a host backend is installed', () => {
129
+ installDialogHostBackend(fakeBackend());
130
+ expect(explainDialogBackend().layer).toBe('host');
131
+ });
132
+
133
+ it('reports conflict when two different host backends are installed', () => {
134
+ installDialogHostBackend(fakeBackend());
135
+ installDialogHostBackend(fakeBackend());
136
+ expect(explainDialogBackend().conflict).toBe(true);
137
+ });
138
+ });
139
+
108
140
  describe('getDialogBackend', () => {
109
141
  it('falls back to a web backend when none is set', () => {
110
142
  expect(getDialogBackend()).not.toBeNull();
@@ -131,6 +163,55 @@ describe('getWebFileSystemHandle', () => {
131
163
  });
132
164
  });
133
165
 
166
+ describe('installDialogHostBackend', () => {
167
+ afterEach(() => resetDialogBackendForTest());
168
+
169
+ it('installs a host backend that getDialogBackend returns', () => {
170
+ const backend = fakeBackend();
171
+ installDialogHostBackend(backend);
172
+ expect(getDialogBackend()).toBe(backend);
173
+ });
174
+
175
+ it('is first-host-wins: a second different backend sets conflict', () => {
176
+ const first = fakeBackend();
177
+ const second = fakeBackend();
178
+ installDialogHostBackend(first);
179
+ installDialogHostBackend(second);
180
+ expect(getDialogBackend()).toBe(first);
181
+ expect(explainDialogBackend().conflict).toBe(true);
182
+ });
183
+ });
184
+
185
+ describe('observeDialogHostResult', () => {
186
+ afterEach(() => resetDialogBackendForTest());
187
+
188
+ it('records a successful observation', () => {
189
+ installDialogHostBackend(fakeBackend());
190
+ observeDialogHostResult('confirm', true);
191
+ const explanation = explainDialogBackend();
192
+ expect(explanation.operation).toBe('confirm');
193
+ expect(explanation.viability).toBe('available');
194
+ });
195
+
196
+ it('records a failed observation', () => {
197
+ installDialogHostBackend(fakeBackend());
198
+ observeDialogHostResult('confirm', false);
199
+ expect(explainDialogBackend().viability).toBe('runtime-api-unavailable');
200
+ });
201
+ });
202
+
203
+ describe('resetDialogBackendForTest', () => {
204
+ it('clears all backend slots', () => {
205
+ setDialogBackend(fakeBackend());
206
+ installDialogHostBackend(fakeBackend());
207
+ observeDialogHostResult('confirm', true);
208
+ resetDialogBackendForTest();
209
+ expect(explainDialogBackend().layer).toBe('host-not-enabled');
210
+ expect(explainDialogBackend().conflict).toBe(false);
211
+ expect(explainDialogBackend().viability).toBe('unobserved');
212
+ });
213
+ });
214
+
134
215
  describe('setDialogBackend', () => {
135
216
  it('clears back to the web fallback when passed null', () => {
136
217
  setDialogBackend(fakeBackend());