@glassly/engine 0.3.7-dev.888 → 0.3.7-dev.891

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.
Files changed (44) hide show
  1. package/build/engine.d.ts +6 -0
  2. package/build/engine.d.ts.map +1 -1
  3. package/build/engine.js +3 -0
  4. package/build/engine.js.map +1 -1
  5. package/build/facades/backup.d.ts +14 -0
  6. package/build/facades/backup.d.ts.map +1 -0
  7. package/build/facades/backup.js +22 -0
  8. package/build/facades/backup.js.map +1 -0
  9. package/build/generated/releaseMetadata.js +3 -3
  10. package/build/generated/releaseMetadata.js.map +1 -1
  11. package/build/index.d.ts +1 -0
  12. package/build/index.d.ts.map +1 -1
  13. package/build/index.js.map +1 -1
  14. package/build/services/AppStateBackup.d.ts +98 -0
  15. package/build/services/AppStateBackup.d.ts.map +1 -0
  16. package/build/services/AppStateBackup.js +224 -0
  17. package/build/services/AppStateBackup.js.map +1 -0
  18. package/build/services/CloudClientService.d.ts +1 -0
  19. package/build/services/CloudClientService.d.ts.map +1 -1
  20. package/build/services/LocalMiniappRuntime.d.ts.map +1 -1
  21. package/build/services/LocalMiniappRuntime.js +18 -4
  22. package/build/services/LocalMiniappRuntime.js.map +1 -1
  23. package/build/services/MiniappEngine.d.ts +9 -0
  24. package/build/services/MiniappEngine.d.ts.map +1 -1
  25. package/build/services/MiniappEngine.js +60 -27
  26. package/build/services/MiniappEngine.js.map +1 -1
  27. package/build/services/NavigationService.d.ts +1 -0
  28. package/build/services/NavigationService.d.ts.map +1 -1
  29. package/build/services/NavigationService.js +20 -6
  30. package/build/services/NavigationService.js.map +1 -1
  31. package/build/services/appStateBackupFile.d.ts +32 -0
  32. package/build/services/appStateBackupFile.d.ts.map +1 -0
  33. package/build/services/appStateBackupFile.js +135 -0
  34. package/build/services/appStateBackupFile.js.map +1 -0
  35. package/package.json +7 -7
  36. package/src/engine.ts +3 -0
  37. package/src/facades/backup.ts +28 -0
  38. package/src/generated/releaseMetadata.ts +3 -3
  39. package/src/index.ts +1 -0
  40. package/src/services/AppStateBackup.ts +283 -0
  41. package/src/services/LocalMiniappRuntime.ts +21 -4
  42. package/src/services/MiniappEngine.ts +62 -27
  43. package/src/services/NavigationService.ts +28 -8
  44. package/src/services/appStateBackupFile.ts +171 -0
@@ -0,0 +1,224 @@
1
+ /**
2
+ * App state backups (Settings > Profile > Backup): one JSON file carrying the
3
+ * system settings, every miniapp's SimpleStorage, the installed miniapp list
4
+ * with each app's home flags, and the memory timeline.
5
+ *
6
+ * It exists so a logout or reinstall doesn't mean signing back into every
7
+ * miniapp, which is why the file holds live credentials (miniapp tokens,
8
+ * provider API keys) as plain JSON. Pairing identity, cloud endpoints, and
9
+ * consent/login state stay out: they belong to the install and the account,
10
+ * not to the user's preferences.
11
+ *
12
+ * Storage keys are written without their user segment, so a backup restores
13
+ * into whatever namespace the phone has now (account or `local_`). Restore
14
+ * overwrites key by key and leaves keys the backup doesn't carry alone.
15
+ *
16
+ * Pure: the MMKV view, settings registry, and memory snapshot are passed in by
17
+ * appStateBackupFile.ts.
18
+ */
19
+ /** Thrown for a file that isn't an app state backup this build can read. */
20
+ export class AppStateBackupError extends Error {
21
+ constructor(message) {
22
+ super(message);
23
+ this.name = "AppStateBackupError";
24
+ }
25
+ }
26
+ const STORAGE_ROOT = "localstorage_";
27
+ const PREF_SUFFIXES = ["hidden", "always_on"];
28
+ const WIDGET_EXPAND_PREFIX = "widget_expand_";
29
+ // Same rule as the miniapp.json schema; keeps a hand-edited file from writing keys no app reads.
30
+ const PACKAGE_NAME_RE = /^[a-zA-Z][a-zA-Z0-9_]*(\.[a-zA-Z][a-zA-Z0-9_]*)+$/;
31
+ /**
32
+ * Persisted, writable settings that are still not the user's to carry between
33
+ * installs: account and consent state, the paired devices, and caches.
34
+ */
35
+ const EXCLUDED_SETTINGS = new Set([
36
+ "auth_email",
37
+ "disable_cloud",
38
+ "ai_data_consent_version",
39
+ "ai_data_consent_agreed",
40
+ "login_skipped",
41
+ "has_paired_glasses",
42
+ "keyboard_name",
43
+ "cached_required_version",
44
+ "offline_camera_running",
45
+ "offline_translation_running",
46
+ ]);
47
+ export function isBackupSetting(setting) {
48
+ return (setting.persist &&
49
+ setting.writable &&
50
+ !setting.nativeAuthoritative &&
51
+ !setting.resetOnBuildEnvChange &&
52
+ !EXCLUDED_SETTINGS.has(setting.key));
53
+ }
54
+ export function collectAppStateBackup(input) {
55
+ const { backend, settings } = input;
56
+ const keys = backend.keys();
57
+ const settingValues = {};
58
+ for (const setting of settings) {
59
+ if (!isBackupSetting(setting))
60
+ continue;
61
+ if (setting.indexer) {
62
+ for (const key of keys) {
63
+ if (!key.startsWith(`${setting.key}:`))
64
+ continue;
65
+ const value = backend.get(key);
66
+ if (value != null)
67
+ settingValues[key] = value;
68
+ }
69
+ continue;
70
+ }
71
+ const value = backend.get(setting.key);
72
+ if (value != null)
73
+ settingValues[setting.key] = value;
74
+ }
75
+ const miniapps = {};
76
+ const entry = (packageName) => (miniapps[packageName] ??= { storage: {}, prefs: {} });
77
+ for (const app of input.installed) {
78
+ const record = entry(app.packageName);
79
+ record.installed = app.source ? { version: app.version, source: app.source } : { version: app.version };
80
+ for (const suffix of PREF_SUFFIXES) {
81
+ const value = backend.get(`${app.packageName}_${suffix}`);
82
+ if (value != null)
83
+ record.prefs[suffix] = value;
84
+ }
85
+ const expandPrefix = `${app.packageName}_${WIDGET_EXPAND_PREFIX}`;
86
+ for (const key of keys) {
87
+ if (!key.startsWith(expandPrefix))
88
+ continue;
89
+ const value = backend.get(key);
90
+ if (value != null)
91
+ record.prefs[key.slice(app.packageName.length + 1)] = value;
92
+ }
93
+ }
94
+ // Longest first, so a package whose name extends another's still claims its own keys.
95
+ const known = input.installed.map((app) => app.packageName).sort((a, b) => b.length - a.length);
96
+ const prefix = `${STORAGE_ROOT}${input.userId}_`;
97
+ for (const key of keys) {
98
+ if (!key.startsWith(prefix))
99
+ continue;
100
+ const split = splitStorageKey(key.slice(prefix.length), known);
101
+ if (!split)
102
+ continue;
103
+ const value = backend.get(key);
104
+ if (value != null)
105
+ entry(split.packageName).storage[split.key] = value;
106
+ }
107
+ return {
108
+ format: "glassly-app-state",
109
+ version: 1,
110
+ exportedAt: input.now,
111
+ settings: settingValues,
112
+ miniapps,
113
+ memory: input.memory,
114
+ };
115
+ }
116
+ /** `{packageName}_{key}` → its parts. Package names may contain `_`, so known names win over the first `_`. */
117
+ function splitStorageKey(rest, known) {
118
+ const packageName = known.find((name) => rest.startsWith(`${name}_`)) ?? rest.slice(0, rest.indexOf("_"));
119
+ const key = rest.slice(packageName.length + 1);
120
+ if (!packageName || !key)
121
+ return null;
122
+ return { packageName, key };
123
+ }
124
+ export function parseAppStateBackup(data) {
125
+ if (!isRecord(data) || data.format !== "glassly-app-state") {
126
+ throw new AppStateBackupError("Not a Glassly app state backup");
127
+ }
128
+ if (typeof data.version !== "number" || data.version > 1) {
129
+ throw new AppStateBackupError(`Unsupported app state backup version ${String(data.version)}`);
130
+ }
131
+ const settings = isRecord(data.settings) ? data.settings : {};
132
+ const miniapps = {};
133
+ if (isRecord(data.miniapps)) {
134
+ for (const [packageName, raw] of Object.entries(data.miniapps)) {
135
+ if (!PACKAGE_NAME_RE.test(packageName) || !isRecord(raw))
136
+ continue;
137
+ const record = {
138
+ storage: isRecord(raw.storage) ? raw.storage : {},
139
+ prefs: isRecord(raw.prefs) ? raw.prefs : {},
140
+ };
141
+ if (isRecord(raw.installed) && typeof raw.installed.version === "string") {
142
+ record.installed = { version: raw.installed.version };
143
+ if (typeof raw.installed.source === "string")
144
+ record.installed.source = raw.installed.source;
145
+ }
146
+ miniapps[packageName] = record;
147
+ }
148
+ }
149
+ let memory = null;
150
+ if (data.memory != null) {
151
+ if (!isRecord(data.memory) || data.memory.format !== "glassly-memory") {
152
+ throw new AppStateBackupError("The backup's memory section is not a memory backup");
153
+ }
154
+ memory = data.memory;
155
+ }
156
+ return { format: "glassly-app-state", version: 1, exportedAt: Number(data.exportedAt) || 0, settings, miniapps, memory };
157
+ }
158
+ /**
159
+ * The backup's settings this build will restore, split by how they're written:
160
+ * `plain` through the settings store, `indexed` (`key:index`) straight to storage.
161
+ * Keys this build doesn't know, or doesn't back up, are dropped.
162
+ */
163
+ export function restorableSettings(backup, settings) {
164
+ const byKey = new Map(settings.map((setting) => [setting.key, setting]));
165
+ const plain = {};
166
+ const indexed = {};
167
+ for (const [key, value] of Object.entries(backup.settings)) {
168
+ if (value == null)
169
+ continue;
170
+ const colon = key.indexOf(":");
171
+ const setting = byKey.get(colon < 0 ? key : key.slice(0, colon));
172
+ if (!setting || !isBackupSetting(setting))
173
+ continue;
174
+ if (colon < 0 && !setting.indexer)
175
+ plain[key] = value;
176
+ else if (colon > 0 && setting.indexer)
177
+ indexed[key] = value;
178
+ }
179
+ return { plain, indexed };
180
+ }
181
+ /** Miniapps the backup has storage for. */
182
+ export function miniappsWithStorage(backup) {
183
+ return Object.entries(backup.miniapps)
184
+ .filter(([, record]) => Object.entries(record.storage).some(([key, value]) => key && value != null))
185
+ .map(([packageName]) => packageName);
186
+ }
187
+ /** Write every miniapp's storage into `userId`'s namespace. Returns the packages that got keys. */
188
+ export function restoreMiniappStorage(backend, userId, backup) {
189
+ const packages = [];
190
+ let keys = 0;
191
+ for (const [packageName, record] of Object.entries(backup.miniapps)) {
192
+ let wrote = 0;
193
+ for (const [key, value] of Object.entries(record.storage)) {
194
+ if (!key || value == null)
195
+ continue;
196
+ backend.set(`${STORAGE_ROOT}${userId}_${packageName}_${key}`, value);
197
+ wrote++;
198
+ }
199
+ if (wrote > 0)
200
+ packages.push(packageName);
201
+ keys += wrote;
202
+ }
203
+ return { packages, keys };
204
+ }
205
+ /** A miniapp's home flags from the backup, with anything that isn't a boolean dropped. */
206
+ export function miniappPrefs(record) {
207
+ const prefs = { widgetExpand: {} };
208
+ if (typeof record.prefs.hidden === "boolean")
209
+ prefs.hidden = record.prefs.hidden;
210
+ if (typeof record.prefs.always_on === "boolean")
211
+ prefs.alwaysOn = record.prefs.always_on;
212
+ for (const [key, value] of Object.entries(record.prefs)) {
213
+ if (!key.startsWith(WIDGET_EXPAND_PREFIX) || typeof value !== "boolean")
214
+ continue;
215
+ const widgetId = key.slice(WIDGET_EXPAND_PREFIX.length);
216
+ if (widgetId)
217
+ prefs.widgetExpand[widgetId] = value;
218
+ }
219
+ return prefs;
220
+ }
221
+ function isRecord(value) {
222
+ return value != null && typeof value === "object" && !Array.isArray(value);
223
+ }
224
+ //# sourceMappingURL=AppStateBackup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppStateBackup.js","sourceRoot":"","sources":["../../src/services/AppStateBackup.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * App state backups (Settings > Profile > Backup): one JSON file carrying the\n * system settings, every miniapp's SimpleStorage, the installed miniapp list\n * with each app's home flags, and the memory timeline.\n *\n * It exists so a logout or reinstall doesn't mean signing back into every\n * miniapp, which is why the file holds live credentials (miniapp tokens,\n * provider API keys) as plain JSON. Pairing identity, cloud endpoints, and\n * consent/login state stay out: they belong to the install and the account,\n * not to the user's preferences.\n *\n * Storage keys are written without their user segment, so a backup restores\n * into whatever namespace the phone has now (account or `local_`). Restore\n * overwrites key by key and leaves keys the backup doesn't carry alone.\n *\n * Pure: the MMKV view, settings registry, and memory snapshot are passed in by\n * appStateBackupFile.ts.\n */\n\nimport type {MemoryBackup} from \"@glassly/miniapp\"\n\n/** Key-value surface (MMKV in production, values already JSON-decoded). */\nexport interface AppStateBackupBackend {\n get(key: string): unknown | null\n set(key: string, value: unknown): void\n keys(): string[]\n}\n\n/** The fields of a SETTINGS descriptor that decide whether it is backed up. */\nexport interface BackupSettingDescriptor {\n key: string\n persist: boolean\n writable: boolean\n nativeAuthoritative?: true\n resetOnBuildEnvChange?: true\n indexer?: (key: string) => string\n}\n\nexport interface AppStateBackupMiniapp {\n /** Set when the miniapp was installed at export. */\n installed?: {version: string; source?: string}\n /** SimpleStorage key → stored value. */\n storage: Record<string, unknown>\n /** Home flags by suffix: `hidden`, `always_on`, `widget_expand_<widgetId>`. */\n prefs: Record<string, unknown>\n}\n\nexport interface AppStateBackup {\n format: \"glassly-app-state\"\n version: 1\n /** Epoch ms the backup was written. */\n exportedAt: number\n /** Stored setting values; indexed settings keep their `key:index` storage key. */\n settings: Record<string, unknown>\n miniapps: Record<string, AppStateBackupMiniapp>\n memory: MemoryBackup | null\n}\n\n/** Thrown for a file that isn't an app state backup this build can read. */\nexport class AppStateBackupError extends Error {\n constructor(message: string) {\n super(message)\n this.name = \"AppStateBackupError\"\n }\n}\n\nconst STORAGE_ROOT = \"localstorage_\"\nconst PREF_SUFFIXES = [\"hidden\", \"always_on\"] as const\nconst WIDGET_EXPAND_PREFIX = \"widget_expand_\"\n// Same rule as the miniapp.json schema; keeps a hand-edited file from writing keys no app reads.\nconst PACKAGE_NAME_RE = /^[a-zA-Z][a-zA-Z0-9_]*(\\.[a-zA-Z][a-zA-Z0-9_]*)+$/\n\n/**\n * Persisted, writable settings that are still not the user's to carry between\n * installs: account and consent state, the paired devices, and caches.\n */\nconst EXCLUDED_SETTINGS = new Set([\n \"auth_email\",\n \"disable_cloud\",\n \"ai_data_consent_version\",\n \"ai_data_consent_agreed\",\n \"login_skipped\",\n \"has_paired_glasses\",\n \"keyboard_name\",\n \"cached_required_version\",\n \"offline_camera_running\",\n \"offline_translation_running\",\n])\n\nexport function isBackupSetting(setting: BackupSettingDescriptor): boolean {\n return (\n setting.persist &&\n setting.writable &&\n !setting.nativeAuthoritative &&\n !setting.resetOnBuildEnvChange &&\n !EXCLUDED_SETTINGS.has(setting.key)\n )\n}\n\nexport interface CollectAppStateInput {\n backend: AppStateBackupBackend\n userId: string\n settings: BackupSettingDescriptor[]\n installed: Array<{packageName: string; version: string; source?: string}>\n memory: MemoryBackup | null\n now: number\n}\n\nexport function collectAppStateBackup(input: CollectAppStateInput): AppStateBackup {\n const {backend, settings} = input\n const keys = backend.keys()\n\n const settingValues: Record<string, unknown> = {}\n for (const setting of settings) {\n if (!isBackupSetting(setting)) continue\n if (setting.indexer) {\n for (const key of keys) {\n if (!key.startsWith(`${setting.key}:`)) continue\n const value = backend.get(key)\n if (value != null) settingValues[key] = value\n }\n continue\n }\n const value = backend.get(setting.key)\n if (value != null) settingValues[setting.key] = value\n }\n\n const miniapps: Record<string, AppStateBackupMiniapp> = {}\n const entry = (packageName: string) => (miniapps[packageName] ??= {storage: {}, prefs: {}})\n\n for (const app of input.installed) {\n const record = entry(app.packageName)\n record.installed = app.source ? {version: app.version, source: app.source} : {version: app.version}\n for (const suffix of PREF_SUFFIXES) {\n const value = backend.get(`${app.packageName}_${suffix}`)\n if (value != null) record.prefs[suffix] = value\n }\n const expandPrefix = `${app.packageName}_${WIDGET_EXPAND_PREFIX}`\n for (const key of keys) {\n if (!key.startsWith(expandPrefix)) continue\n const value = backend.get(key)\n if (value != null) record.prefs[key.slice(app.packageName.length + 1)] = value\n }\n }\n\n // Longest first, so a package whose name extends another's still claims its own keys.\n const known = input.installed.map((app) => app.packageName).sort((a, b) => b.length - a.length)\n const prefix = `${STORAGE_ROOT}${input.userId}_`\n for (const key of keys) {\n if (!key.startsWith(prefix)) continue\n const split = splitStorageKey(key.slice(prefix.length), known)\n if (!split) continue\n const value = backend.get(key)\n if (value != null) entry(split.packageName).storage[split.key] = value\n }\n\n return {\n format: \"glassly-app-state\",\n version: 1,\n exportedAt: input.now,\n settings: settingValues,\n miniapps,\n memory: input.memory,\n }\n}\n\n/** `{packageName}_{key}` → its parts. Package names may contain `_`, so known names win over the first `_`. */\nfunction splitStorageKey(rest: string, known: string[]): {packageName: string; key: string} | null {\n const packageName = known.find((name) => rest.startsWith(`${name}_`)) ?? rest.slice(0, rest.indexOf(\"_\"))\n const key = rest.slice(packageName.length + 1)\n if (!packageName || !key) return null\n return {packageName, key}\n}\n\nexport function parseAppStateBackup(data: unknown): AppStateBackup {\n if (!isRecord(data) || data.format !== \"glassly-app-state\") {\n throw new AppStateBackupError(\"Not a Glassly app state backup\")\n }\n if (typeof data.version !== \"number\" || data.version > 1) {\n throw new AppStateBackupError(`Unsupported app state backup version ${String(data.version)}`)\n }\n\n const settings = isRecord(data.settings) ? data.settings : {}\n const miniapps: Record<string, AppStateBackupMiniapp> = {}\n if (isRecord(data.miniapps)) {\n for (const [packageName, raw] of Object.entries(data.miniapps)) {\n if (!PACKAGE_NAME_RE.test(packageName) || !isRecord(raw)) continue\n const record: AppStateBackupMiniapp = {\n storage: isRecord(raw.storage) ? raw.storage : {},\n prefs: isRecord(raw.prefs) ? raw.prefs : {},\n }\n if (isRecord(raw.installed) && typeof raw.installed.version === \"string\") {\n record.installed = {version: raw.installed.version}\n if (typeof raw.installed.source === \"string\") record.installed.source = raw.installed.source\n }\n miniapps[packageName] = record\n }\n }\n\n let memory: MemoryBackup | null = null\n if (data.memory != null) {\n if (!isRecord(data.memory) || data.memory.format !== \"glassly-memory\") {\n throw new AppStateBackupError(\"The backup's memory section is not a memory backup\")\n }\n memory = data.memory as unknown as MemoryBackup\n }\n\n return {format: \"glassly-app-state\", version: 1, exportedAt: Number(data.exportedAt) || 0, settings, miniapps, memory}\n}\n\n/**\n * The backup's settings this build will restore, split by how they're written:\n * `plain` through the settings store, `indexed` (`key:index`) straight to storage.\n * Keys this build doesn't know, or doesn't back up, are dropped.\n */\nexport function restorableSettings(\n backup: AppStateBackup,\n settings: BackupSettingDescriptor[],\n): {plain: Record<string, unknown>; indexed: Record<string, unknown>} {\n const byKey = new Map(settings.map((setting) => [setting.key, setting]))\n const plain: Record<string, unknown> = {}\n const indexed: Record<string, unknown> = {}\n for (const [key, value] of Object.entries(backup.settings)) {\n if (value == null) continue\n const colon = key.indexOf(\":\")\n const setting = byKey.get(colon < 0 ? key : key.slice(0, colon))\n if (!setting || !isBackupSetting(setting)) continue\n if (colon < 0 && !setting.indexer) plain[key] = value\n else if (colon > 0 && setting.indexer) indexed[key] = value\n }\n return {plain, indexed}\n}\n\n/** Miniapps the backup has storage for. */\nexport function miniappsWithStorage(backup: AppStateBackup): string[] {\n return Object.entries(backup.miniapps)\n .filter(([, record]) => Object.entries(record.storage).some(([key, value]) => key && value != null))\n .map(([packageName]) => packageName)\n}\n\n/** Write every miniapp's storage into `userId`'s namespace. Returns the packages that got keys. */\nexport function restoreMiniappStorage(\n backend: AppStateBackupBackend,\n userId: string,\n backup: AppStateBackup,\n): {packages: string[]; keys: number} {\n const packages: string[] = []\n let keys = 0\n for (const [packageName, record] of Object.entries(backup.miniapps)) {\n let wrote = 0\n for (const [key, value] of Object.entries(record.storage)) {\n if (!key || value == null) continue\n backend.set(`${STORAGE_ROOT}${userId}_${packageName}_${key}`, value)\n wrote++\n }\n if (wrote > 0) packages.push(packageName)\n keys += wrote\n }\n return {packages, keys}\n}\n\nexport interface MiniappPrefs {\n hidden?: boolean\n alwaysOn?: boolean\n widgetExpand: Record<string, boolean>\n}\n\n/** A miniapp's home flags from the backup, with anything that isn't a boolean dropped. */\nexport function miniappPrefs(record: AppStateBackupMiniapp): MiniappPrefs {\n const prefs: MiniappPrefs = {widgetExpand: {}}\n if (typeof record.prefs.hidden === \"boolean\") prefs.hidden = record.prefs.hidden\n if (typeof record.prefs.always_on === \"boolean\") prefs.alwaysOn = record.prefs.always_on\n for (const [key, value] of Object.entries(record.prefs)) {\n if (!key.startsWith(WIDGET_EXPAND_PREFIX) || typeof value !== \"boolean\") continue\n const widgetId = key.slice(WIDGET_EXPAND_PREFIX.length)\n if (widgetId) prefs.widgetExpand[widgetId] = value\n }\n return prefs\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value != null && typeof value === \"object\" && !Array.isArray(value)\n}\n"]}
@@ -258,6 +258,7 @@ export declare const cloudClientService: {
258
258
  placeId: string;
259
259
  mainText: string;
260
260
  secondaryText: string;
261
+ distanceMeters?: number | undefined;
261
262
  }[];
262
263
  }>;
263
264
  placeDetails(req: Parameters<CloudClient["runtime"]["maps"]["placeDetails"]>[0]): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"CloudClientService.d.ts","sourceRoot":"","sources":["../../src/services/CloudClientService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CloudClientService.d.ts","sourceRoot":"","sources":["../../src/services/CloudClientService.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LocalMiniappRuntime.d.ts","sourceRoot":"","sources":["../../src/services/LocalMiniappRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalMiniappRuntime.d.ts","sourceRoot":"","sources":["../../src/services/LocalMiniappRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAsBH,OAAO,KAAK,EAAkB,mBAAmB,EAAqB,MAAM,kBAAkB,CAAA;AA+I9F,OAAO,EAA+B,KAAK,gCAAgC,EAAC,MAAM,6BAA6B,CAAA;AAqB/G,MAAM,WAAW,wBAAwB;IACvC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;4EACwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAC,CAAA;IAC1C,WAAW,CAAC,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAA;IAC7E,oBAAoB,CAAC,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAA;IACjF,OAAO,CAAC,EAAE,KAAK,CAAC;QAAC,EAAE,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAC,CAAC,CAAA;IACpG,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAoDD,KAAK,wBAAwB,GAAG,OAAO,GAAG,OAAO,CAAA;AA0XjD,cAAM,mBAAmB;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmC;IAE1D;;;;;;;;OAQG;IACH,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,GAAG,eAAe,EAAE,IAAI,CAAC,EAAE;QAAC,cAAc,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAO;IAE7G;;;;;OAKG;IACH,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,GAAG,eAAe,KAAK,IAAI,CAAC,GAAG,IAAI,CAAO;IAE3E,+EAA+E;IAC/E,OAAO,CAAC,oBAAoB,CAAI;IAEhC,6EAA6E;IAC7E,OAAO,CAAC,eAAe,CAAQ;IAE/B,+CAA+C;IAC/C,OAAO,CAAC,aAAa,CAA2C;IAChE,kGAAkG;IAClG,OAAO,CAAC,aAAa,CAA0C;IAI/D,OAAO,CAAC,eAAe,CAA6C;IAEpE;;;;;OAKG;IACH,OAAO,CAAC,aAAa,CAAyB;IAE9C,iGAAiG;IACjG,OAAO,CAAC,YAAY,CAAiD;IAErE,sEAAsE;IACtE,OAAO,CAAC,cAAc,CAAqD;IAE3E,sEAAsE;IACtE,OAAO,CAAC,iBAAiB,CAAsC;IAE/D,gEAAgE;IAChE,OAAO,CAAC,8BAA8B,CAA8C;IAEpF,0EAA0E;IAC1E,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,gBAAgB,CAAQ;IAChC,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,mBAAmB,CAAQ;IACnC,yFAAyF;IACzF,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,0BAA0B,CAAmC;IAErE;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB,CAA8B;IAE7D,4BAA4B;IAC5B,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,qBAAqB,CAAiC;IAE9D;;;;;;;OAOG;IACI,iBAAiB,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAO;IAEvE,mFAAmF;IACnF,OAAO,CAAC,oBAAoB,CAA4E;IACxG,OAAO,CAAC,UAAU,CAA+B;IAKjD,OAAO,CAAC,WAAW,CAAqE;IACxF,OAAO,CAAC,UAAU,CAAoB;IAEtC,OAAO;IAQP,0EAA0E;IACnE,yBAAyB,IAAI,MAAM,EAAE;IAI5C,oDAAoD;IAC7C,+BAA+B,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;IAK9F,+DAA+D;IACxD,qBAAqB,CAAC,KAAK,SAAa,GAAG,gCAAgC;IA8ClF,OAAO,CAAC,wBAAwB;IAqDhC,sFAAsF;IACtF,OAAO,CAAC,oCAAoC;IAW5C;;;;OAIG;IACI,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAYtE;;OAEG;IACI,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI;IAoCtF;;;;OAIG;IACH,OAAO,CAAC,QAAQ;WAoBF,WAAW,IAAI,mBAAmB;IAchD,OAAO,CAAC,iBAAiB,CAA4B;IAErD,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,WAAW,CAAQ;IAE3B;;;OAGG;IACI,UAAU,IAAI,IAAI;IAkBzB;;;;;;OAMG;IACI,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAsEzC;;OAEG;IACI,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI;IAQrG,WAAW,CAChB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EAC7B,iBAAiB,CAAC,EAAE,wBAAwB,EAC5C,YAAY,CAAC,EAAE,mBAAmB,GACjC,IAAI;IA8EP;;;;;;;OAOG;IACI,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB5E,+EAA+E;IAC/E,OAAO,CAAC,mBAAmB;IAO3B;;;;;;OAMG;IACI,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAKhD;;;;OAIG;IACI,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE,wBAAwB,GAAG,IAAI;IAcnG;;;;;;;;OAQG;IACU,uBAAuB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,SAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3F,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAC,GAAG,IAAI;IA+I1E,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;YAydjD,aAAa;YAiFb,kBAAkB;YASlB,iBAAiB;YAuBjB,kBAAkB;IAWhC,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,uBAAuB;IAQ/B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,yBAAyB;IAqCjC,OAAO,CAAC,+BAA+B;IAavC,OAAO,CAAC,6BAA6B;IAOrC;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;;;;OAKG;IACH,OAAO,CAAC,yBAAyB;IAuCjC;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAoB3B,OAAO,CAAC,wBAAwB;IAYhC,yFAAyF;IAClF,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMtD,2FAA2F;IACpF,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;IAIrE,OAAO,CAAC,eAAe;YA8HT,wBAAwB;IA+BtC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IA6E5B;;;;OAIG;YACW,kBAAkB;IAsBhC,OAAO,CAAC,aAAa;IAwCrB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAoDpB,4FAA4F;IAC5F,OAAO,CAAC,oBAAoB;IAM5B;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IA+CtB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,yBAAyB;IAIjC,qFAAqF;IACrF,OAAO,CAAC,mBAAmB;IAK3B,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,iBAAiB;YAOX,iBAAiB;YAwBjB,0BAA0B;IAgBxC;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IA0CjC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAqBvB,8EAA8E;IAC9E,OAAO,CAAC,yBAAyB;IA6BjC,OAAO,CAAC,eAAe;IAiDvB,OAAO,CAAC,eAAe;IASvB,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAiC;IACpF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,+BAA+B,CAAkC;IACzF,OAAO,CAAC,oBAAoB,CAAI;YAElB,uBAAuB;IAiGrC,qFAAqF;IACrF,OAAO,CAAC,mBAAmB;YAOb,wBAAwB;YAuCxB,wBAAwB;YA0BxB,wBAAwB;YAsBxB,WAAW;IAkSzB,OAAO,CAAC,YAAY;YASN,YAAY;YA6BZ,kBAAkB;IAsDhC;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAGlC;IAED;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAIxB;IACF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmC;IAErE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAG5B;IAEF;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA0C1B,OAAO,CAAC,sBAAsB;IAQ9B;;;OAGG;IACH,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,4BAA4B;IAapC;;;;;OAKG;IACH,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,wBAAwB;IAOhC;;;;OAIG;IACH,OAAO,CAAC,4BAA4B;IAOpC;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB,CAA4B;IAE3D;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,qBAAqB;YAuBf,gBAAgB;YAyBhB,gBAAgB;YAyBhB,mBAAmB;YAyBnB,iBAAiB;YAiBjB,kBAAkB;YAalB,gBAAgB;YAyBhB,mBAAmB;YAanB,wBAAwB;YA6BxB,qBAAqB;IA8BnC;;;;;;;OAOG;YACW,yBAAyB;IA0CvC;;;;;OAKG;YACW,mBAAmB;IAmLjC;;;;;;;;;OASG;YACW,aAAa;IAiD3B;;;;;;;;;;;;;;;;;;OAkBG;YACW,gBAAgB;IA8H9B;;;;;;OAMG;YACW,YAAY;IAyD1B;;;;;;OAMG;YACW,gBAAgB;IA6D9B;;;;;;;OAOG;YACW,cAAc;YAsDd,eAAe;IAmC7B;;;;;;;;;OASG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;;;OAIG;YACW,sBAAsB;IAwCpC;;;;OAIG;YACW,+BAA+B;IA6C7C;;;OAGG;YACW,YAAY;IAe1B;;;OAGG;YACW,cAAc;YAmBd,WAAW;YAqCX,aAAa;YAkBb,mBAAmB;YAsBnB,cAAc;YA4Cd,WAAW;YA6CX,kBAAkB;YAuClB,yBAAyB;YAoCzB,wBAAwB;IAmBtC;;;;;OAKG;YACW,iBAAiB;YAgCjB,gBAAgB;YAwBhB,wBAAwB;YAgCxB,uBAAuB;IAQrC;;;;OAIG;YACW,sBAAsB;IAwBpC;;;;OAIG;IACI,yBAAyB,IAAI,IAAI;IAqBxC;;;;;OAKG;IACI,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC;IA2CvF,OAAO,CAAC,qBAAqB;IAU7B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,wBAAwB;IAuBhC;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IA8FhC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,4BAA4B;IA+BpC,OAAO,CAAC,oBAAoB;IAoB5B;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IA0E/B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAM7B,OAAO,CAAC,uBAAuB;IA0C/B,OAAO,CAAC,qBAAqB;IAuB7B,4EAA4E;IACrE,qBAAqB,IAAI,IAAI;IAKpC;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,sBAAsB;IA2B9B,4FAA4F;IAC5F,OAAO,CAAC,mBAAmB;IAO3B;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IA0B/B,mGAAmG;IACnG,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,qBAAqB;IAS7B;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,mBAAmB;IAU3B,gFAAgF;IAChF,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,wBAAwB;IAYhC;;;;;OAKG;IACI,YAAY,CACjB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,EACb,mBAAmB,CAAC,EAAE,wBAAwB;IAC9C,iGAAiG;IACjG,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI;IA0KP;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,yBAAyB;IAkBjC,OAAO,CAAC,qCAAqC;IAS7C,OAAO,CAAC,4BAA4B;IAcpC,OAAO,CAAC,8BAA8B;IAiBtC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwB3B;;OAEG;IACH;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IA4BvB,OAAO,CAAC,aAAa;IA0BrB;;OAEG;IAKH,wEAAwE;IACxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAa;IAEvD,sEAAsE;IACtE,OAAO,CAAC,WAAW,CAAgF;IACnG,OAAO,CAAC,aAAa,CAAI;IAEzB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,eAAe;YAKT,eAAe;IAe7B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,cAAc;IAItB,oFAAoF;IACpF,OAAO,CAAC,YAAY;IAepB,sGAAsG;IACtG,OAAO,CAAC,yBAAyB;IAiBjC,sFAAsF;IACtF,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,YAAY,CAAqB;YAE3B,kBAAkB;YAwBlB,mBAAmB;IAgFjC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;YAQf,kBAAkB;IA0BhC;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;;;OAIG;YACW,gBAAgB;IAgB9B,OAAO,CAAC,gBAAgB,CAA4C;IACpE,sEAAsE;IACtE,OAAO,CAAC,WAAW,CAGhB;IACH,OAAO,CAAC,aAAa,CAAI;IACzB,wEAAwE;IACxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAK;IACrD,6EAA6E;IAC7E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iCAAiC,CAAM;IAE/D,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,cAAc;IAItB,qFAAqF;IACrF,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,cAAc;IAgBtB;;;;OAIG;YACW,iBAAiB;YAqDjB,mBAAmB;IAmBjC,gFAAgF;YAClE,oBAAoB;IAalC,8FAA8F;YAChF,gBAAgB;IAsD9B,sHAAsH;IACtH,OAAO,CAAC,kBAAkB;IA0B1B,mGAAmG;IACnG,OAAO,CAAC,sBAAsB;IAkB9B,4GAA4G;IAC5G,OAAO,CAAC,kBAAkB;IAkC1B,sHAAsH;IACtH,OAAO,CAAC,iBAAiB;IAsBzB,sEAAsE;IACtE,OAAO,CAAC,qBAAqB;IAS7B,+KAA+K;IAC/K,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAIjC,sFAAsF;IACtF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAEnD,+GAA+G;IACxG,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAOhF;;;;;OAKG;IACU,oBAAoB,CAC/B,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACpC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC;IAanB,qGAAqG;YACvF,kBAAkB;IAiBhC;;;OAGG;YACW,eAAe;IA2E7B,uEAAuE;IACvE,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,UAAU;IAsBlB;;;OAGG;IACI,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAQ7E;;OAEG;IACI,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,GAAG,YAAY,GAAG,IAAI;IAO/F;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAO3B,uFAAuF;IAChF,iBAAiB,IAAI,YAAY,GAAG,YAAY;IAIvD;;;;;;OAMG;IACI,uBAAuB,CAC5B,WAAW,EAAE,MAAM,EACnB,MAAM,SAAoB,EAC1B,SAAS,SAAuC,GAC/C,IAAI;IA4BP,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,WAAW;IA0BnB;;;OAGG;IACI,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAS5C,OAAO,CAAC,oBAAoB;IAWrB,OAAO,IAAI,IAAI;IAgCtB;;OAEG;IACH,IAAW,iBAAiB,IAAI,MAAM,CAErC;CACF;AAED,QAAA,MAAM,mBAAmB,qBAAoC,CAAA;AAC7D,eAAe,mBAAmB,CAAA"}
@@ -132,6 +132,17 @@ function withTimeout(promise, timeoutMs) {
132
132
  promise.then((value) => done(value), () => done(null));
133
133
  });
134
134
  }
135
+ /** Bounds the cold-GPS wait for a one-shot poll; on a stall, any older fix beats an error. */
136
+ const FRESH_LOCATION_TIMEOUT_MS = 8_000;
137
+ async function freshLocationOrStale() {
138
+ const fresh = await withTimeout(Location.getCurrentPositionAsync({ accuracy: Location.Accuracy.Low }), FRESH_LOCATION_TIMEOUT_MS);
139
+ if (fresh)
140
+ return fresh;
141
+ const stale = await Location.getLastKnownPositionAsync();
142
+ if (stale)
143
+ return stale;
144
+ throw new Error("No location fix available");
145
+ }
135
146
  const LOG_TAG = "LOCAL_MINIAPP";
136
147
  const DIAGNOSTIC_MAX_LIST_ITEMS = 100;
137
148
  const DIAGNOSTIC_MAX_STRING_LENGTH = 512;
@@ -2966,7 +2977,7 @@ class LocalMiniappRuntime {
2966
2977
  const locationStartedAt = Date.now();
2967
2978
  const cached = await Location.getLastKnownPositionAsync({ maxAge: 60_000 });
2968
2979
  console.log(`${LOG_TAG}: location poll cache hit=${cached !== null} elapsed=${Date.now() - locationStartedAt}ms`);
2969
- const location = cached ?? (await Location.getCurrentPositionAsync({ accuracy: Location.Accuracy.Low }));
2980
+ const location = cached ?? (await freshLocationOrStale());
2970
2981
  console.log(`${LOG_TAG}: location poll resolved elapsed=${Date.now() - locationStartedAt}ms`);
2971
2982
  this.sendResult(packageName, requestId, true, {
2972
2983
  lat: location.coords.latitude,
@@ -5294,14 +5305,17 @@ class LocalMiniappRuntime {
5294
5305
  const app = this.interopApps().find((a) => a.packageName === packageName);
5295
5306
  if (!app)
5296
5307
  return false;
5308
+ // session.miniapps.start comes from the glasses (the dashboard's Apps menu,
5309
+ // an Assist voice command), unlike a headless action wake, which carries no source.
5310
+ const launchSource = "glasses";
5297
5311
  // Running only for its widget: start() promotes it to a normal run, as opening it on the phone does.
5298
5312
  if (app.widgetOnly)
5299
- return useAppStatusStore.getState().start(app, { skipNavigation: true });
5313
+ return useAppStatusStore.getState().start(app, { skipNavigation: true, launchSource });
5300
5314
  if (app.local) {
5301
- await miniappLauncher.ensureConnected(packageName);
5315
+ await miniappLauncher.ensureConnected(packageName, undefined, { launchSource });
5302
5316
  return true;
5303
5317
  }
5304
- return useAppStatusStore.getState().start(app, { skipNavigation: true });
5318
+ return useAppStatusStore.getState().start(app, { skipNavigation: true, launchSource });
5305
5319
  }
5306
5320
  stopInteropApp(packageName) {
5307
5321
  return useAppStatusStore.getState().stop(packageName);