@glassly/engine 0.3.5-beta.767 → 0.3.5-beta.778
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/build/engine.d.ts +3 -0
- package/build/engine.d.ts.map +1 -1
- package/build/facades/memory.d.ts +10 -2
- package/build/facades/memory.d.ts.map +1 -1
- package/build/facades/memory.js +10 -0
- package/build/facades/memory.js.map +1 -1
- package/build/generated/releaseMetadata.js +3 -3
- package/build/generated/releaseMetadata.js.map +1 -1
- package/build/services/LocalMiniappRuntime.d.ts +4 -2
- package/build/services/LocalMiniappRuntime.d.ts.map +1 -1
- package/build/services/LocalMiniappRuntime.js +49 -9
- package/build/services/LocalMiniappRuntime.js.map +1 -1
- package/build/services/MemoryStore.d.ts +13 -1
- package/build/services/MemoryStore.d.ts.map +1 -1
- package/build/services/MemoryStore.js +98 -1
- package/build/services/MemoryStore.js.map +1 -1
- package/build/services/manifestActions.d.ts +1 -1
- package/build/services/manifestActions.d.ts.map +1 -1
- package/build/services/manifestActions.js +3 -2
- package/build/services/manifestActions.js.map +1 -1
- package/build/services/memoryBackupFile.d.ts +9 -0
- package/build/services/memoryBackupFile.d.ts.map +1 -0
- package/build/services/memoryBackupFile.js +47 -0
- package/build/services/memoryBackupFile.js.map +1 -0
- package/build/services/widgetPlacements.d.ts +8 -7
- package/build/services/widgetPlacements.d.ts.map +1 -1
- package/build/services/widgetPlacements.js +7 -6
- package/build/services/widgetPlacements.js.map +1 -1
- package/build/types/applet.d.ts +3 -1
- package/build/types/applet.d.ts.map +1 -1
- package/build/types/applet.js.map +1 -1
- package/package.json +7 -7
- package/src/facades/memory.ts +11 -2
- package/src/generated/releaseMetadata.ts +3 -3
- package/src/services/LocalMiniappRuntime.ts +54 -9
- package/src/services/MemoryStore.ts +111 -2
- package/src/services/manifestActions.ts +10 -3
- package/src/services/memoryBackupFile.ts +50 -0
- package/src/services/widgetPlacements.ts +23 -9
- package/src/types/applet.ts +3 -1
package/build/engine.d.ts
CHANGED
|
@@ -366,6 +366,9 @@ export declare const engine: {
|
|
|
366
366
|
removeScope: (scope: "session" | "day", at: number) => Promise<void>;
|
|
367
367
|
stats: () => Promise<import(".").MemoryStats>;
|
|
368
368
|
clearAll: () => Promise<void>;
|
|
369
|
+
exportFile: () => Promise<import("@glassly/miniapp").MemoryExportResult>;
|
|
370
|
+
importFile: () => Promise<import("@glassly/miniapp").MemoryImportResult | null>;
|
|
371
|
+
isBackupError: (err: unknown) => boolean;
|
|
369
372
|
onChanged: (listener: () => void) => (() => void);
|
|
370
373
|
};
|
|
371
374
|
/** Device-local voice profiles for on-device speaker ID (Settings > Speakers). */
|
package/build/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAC,SAAS,EAAkD,aAAa,EAAC,MAAM,qBAAqB,CAAA;AA8C5G,eAAO,MAAM,MAAM;IACjB,2EAA2E;;IAE3E,8EAA8E;;IAE9E;iDAC6C;;IAkG7C;;yCAEqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoCrC,kEAAkE;;;;;;;;;;;;;;;;;;IAElE,wEAAwE;;;;;;;;IAExE,sEAAsE;;;;;;;;;;;;IAEtE,qFAAqF;;;;gBAnInB,CAAC;mBAEjE,CADC;;;gBAGmD,CAAC;mBACjD,CAAC;;;;;;;;;;;;;;;;;IAgIP,qEAAqE;;;;IAErE,sFAAsF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEtF,6EAA6E;;;;;;;;;;;;IAE7E,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;IAEjF,8CAA8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAE9C,uDAAuD;;;;;;;;;;;;;;;;IAEvD,8EAA8E;;;;;;;;IAE9E,qFAAqF;;;;IAErF,4EAA4E;;;;;;;;;;;IAE5E,+EAA+E
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAC,SAAS,EAAkD,aAAa,EAAC,MAAM,qBAAqB,CAAA;AA8C5G,eAAO,MAAM,MAAM;IACjB,2EAA2E;;IAE3E,8EAA8E;;IAE9E;iDAC6C;;IAkG7C;;yCAEqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAoCrC,kEAAkE;;;;;;;;;;;;;;;;;;IAElE,wEAAwE;;;;;;;;IAExE,sEAAsE;;;;;;;;;;;;IAEtE,qFAAqF;;;;gBAnInB,CAAC;mBAEjE,CADC;;;gBAGmD,CAAC;mBACjD,CAAC;;;;;;;;;;;;;;;;;IAgIP,qEAAqE;;;;IAErE,sFAAsF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEtF,6EAA6E;;;;;;;;;;;;IAE7E,iFAAiF;;;;;;;;;;;;;;;;;;;;;;;IAEjF,8CAA8C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAE9C,uDAAuD;;;;;;;;;;;;;;;;IAEvD,8EAA8E;;;;;;;;IAE9E,qFAAqF;;;;IAErF,4EAA4E;;;;;;;;;;;IAE5E,+EAA+E;;;;;;;;;;;;;;;IAE/E,kFAAkF;;;;;+BAzJpE,CAAC;;;+BAU+C,CAAC;;;;;;;;;;;;IAiJ/D,mFAAmF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGpF,CAAA"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* purge everything; the full timeline surface (lines, sessions, summaries)
|
|
5
5
|
* is what miniapps reach through session.memory with the MEMORY permission.
|
|
6
6
|
*/
|
|
7
|
-
import type { MemoryEntry, MemorySession } from "@glassly/miniapp";
|
|
8
|
-
import type
|
|
7
|
+
import type { MemoryEntry, MemoryExportResult, MemoryImportResult, MemorySession } from "@glassly/miniapp";
|
|
8
|
+
import { type MemoryStats } from "../services/MemoryStore";
|
|
9
9
|
export declare const memory: {
|
|
10
10
|
/** All note entries, newest first. */
|
|
11
11
|
notes: () => Promise<MemoryEntry[]>;
|
|
@@ -26,6 +26,14 @@ export declare const memory: {
|
|
|
26
26
|
stats: () => Promise<MemoryStats>;
|
|
27
27
|
/** Drop the entire timeline: every entry and every summary. */
|
|
28
28
|
clearAll: () => Promise<void>;
|
|
29
|
+
/** Share the whole timeline as a JSON backup file. */
|
|
30
|
+
exportFile: () => Promise<MemoryExportResult>;
|
|
31
|
+
/**
|
|
32
|
+
* Pick a backup file and merge it in, skipping what's already stored.
|
|
33
|
+
* Resolves null on cancel; rejects with a MemoryBackupError for a non-backup file.
|
|
34
|
+
*/
|
|
35
|
+
importFile: () => Promise<MemoryImportResult | null>;
|
|
36
|
+
isBackupError: (err: unknown) => boolean;
|
|
29
37
|
/** Subscribe to store mutations (from miniapps or Settings). */
|
|
30
38
|
onChanged: (listener: () => void) => (() => void);
|
|
31
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/facades/memory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/facades/memory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAC,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAC,MAAM,kBAAkB,CAAA;AAGxG,OAAO,EAAoB,KAAK,WAAW,EAAC,MAAM,yBAAyB,CAAA;AAG3E,eAAO,MAAM,MAAM;IACjB,sCAAsC;iBAC3B,OAAO,CAAC,WAAW,EAAE,CAAC;IACjC;;;OAGG;oBACa,MAAM,OAAO,MAAM,KAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAEjE,sEAAsE;qBACrD,MAAM,QAAQ,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;IACxD,6CAA6C;sBAC3B,MAAM,KAAG,OAAO,CAAC,OAAO,CAAC;IAC3C,mFAAmF;oBACrE,OAAO,CAAC,aAAa,EAAE,CAAC;IACtC,4EAA4E;yBACvD,SAAS,GAAG,KAAK,MAAM,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;IAClE,yEAAyE;iBAC9D,OAAO,CAAC,WAAW,CAAC;IAC/B,+DAA+D;oBACjD,OAAO,CAAC,IAAI,CAAC;IAC3B,sDAAsD;sBACtC,OAAO,CAAC,kBAAkB,CAAC;IAC3C;;;OAGG;sBACa,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;yBAC7B,OAAO,KAAG,OAAO;IACtC,gEAAgE;0BAC1C,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC;CAChD,CAAA"}
|
package/build/facades/memory.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { exportMemoryFile, importMemoryFile } from "../services/memoryBackupFile";
|
|
2
|
+
import { MemoryBackupError } from "../services/MemoryStore";
|
|
1
3
|
import { memoryStore } from "../services/memoryStoreInstance";
|
|
2
4
|
export const memory = {
|
|
3
5
|
/** All note entries, newest first. */
|
|
@@ -19,6 +21,14 @@ export const memory = {
|
|
|
19
21
|
stats: () => memoryStore.stats(),
|
|
20
22
|
/** Drop the entire timeline: every entry and every summary. */
|
|
21
23
|
clearAll: () => memoryStore.clear(),
|
|
24
|
+
/** Share the whole timeline as a JSON backup file. */
|
|
25
|
+
exportFile: () => exportMemoryFile(),
|
|
26
|
+
/**
|
|
27
|
+
* Pick a backup file and merge it in, skipping what's already stored.
|
|
28
|
+
* Resolves null on cancel; rejects with a MemoryBackupError for a non-backup file.
|
|
29
|
+
*/
|
|
30
|
+
importFile: () => importMemoryFile(),
|
|
31
|
+
isBackupError: (err) => err instanceof MemoryBackupError,
|
|
22
32
|
/** Subscribe to store mutations (from miniapps or Settings). */
|
|
23
33
|
onChanged: (listener) => memoryStore.onChanged(listener),
|
|
24
34
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/facades/memory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/facades/memory.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAC,MAAM,8BAA8B,CAAA;AAC/E,OAAO,EAAC,iBAAiB,EAAmB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,EAAC,WAAW,EAAC,MAAM,iCAAiC,CAAA;AAE3D,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,sCAAsC;IACtC,KAAK,EAAE,GAA2B,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE;IACxD;;;OAGG;IACH,OAAO,EAAE,CAAC,IAAY,EAAE,EAAW,EAA+B,EAAE,CAClE,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACnD,sEAAsE;IACtE,UAAU,EAAE,CAAC,EAAU,EAAE,IAAY,EAAoB,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC;IAC5F,6CAA6C;IAC7C,WAAW,EAAE,CAAC,EAAU,EAAoB,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;IAC1E,mFAAmF;IACnF,QAAQ,EAAE,GAA6B,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE;IACnE,4EAA4E;IAC5E,WAAW,EAAE,CAAC,KAAwB,EAAE,EAAU,EAAiB,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC;IACxG,yEAAyE;IACzE,KAAK,EAAE,GAAyB,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE;IACtD,+DAA+D;IAC/D,QAAQ,EAAE,GAAkB,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE;IAClD,sDAAsD;IACtD,UAAU,EAAE,GAAgC,EAAE,CAAC,gBAAgB,EAAE;IACjE;;;OAGG;IACH,UAAU,EAAE,GAAuC,EAAE,CAAC,gBAAgB,EAAE;IACxE,aAAa,EAAE,CAAC,GAAY,EAAW,EAAE,CAAC,GAAG,YAAY,iBAAiB;IAC1E,gEAAgE;IAChE,SAAS,EAAE,CAAC,QAAoB,EAAgB,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC;CACnF,CAAA","sourcesContent":["/**\n * memory facade — `engine.memory`: the user's shared phone-local memory\n * timeline (Settings > Memory). Host UI manages the note entries and can\n * purge everything; the full timeline surface (lines, sessions, summaries)\n * is what miniapps reach through session.memory with the MEMORY permission.\n */\nimport type {MemoryEntry, MemoryExportResult, MemoryImportResult, MemorySession} from \"@glassly/miniapp\"\n\nimport {exportMemoryFile, importMemoryFile} from \"../services/memoryBackupFile\"\nimport {MemoryBackupError, type MemoryStats} from \"../services/MemoryStore\"\nimport {memoryStore} from \"../services/memoryStoreInstance\"\n\nexport const memory = {\n /** All note entries, newest first. */\n notes: (): Promise<MemoryEntry[]> => memoryStore.notes(),\n /**\n * Add a manual note (\"ui\" source). Pass `at` inside a past hour to append\n * to that session. Resolves null on duplicate/empty.\n */\n addNote: (text: string, at?: number): Promise<MemoryEntry | null> =>\n memoryStore.addNote(text, \"ui\", at ?? Date.now()),\n /** Rewrite a note's text. Resolves false when the id isn't a note. */\n updateNote: (id: string, text: string): Promise<boolean> => memoryStore.updateNote(id, text),\n /** Delete one entry (note or line) by id. */\n removeEntry: (id: string): Promise<boolean> => memoryStore.removeEntry(id),\n /** All sessions (hours with entries + summary), newest first (history browser). */\n sessions: (): Promise<MemorySession[]> => memoryStore.sessionList(),\n /** Delete every entry (and summary) in an hour, or a whole day of hours. */\n removeScope: (scope: \"session\" | \"day\", at: number): Promise<void> => memoryStore.removeScope(scope, at),\n /** Counts for the Settings screen (entries, lines, notes, summaries). */\n stats: (): Promise<MemoryStats> => memoryStore.stats(),\n /** Drop the entire timeline: every entry and every summary. */\n clearAll: (): Promise<void> => memoryStore.clear(),\n /** Share the whole timeline as a JSON backup file. */\n exportFile: (): Promise<MemoryExportResult> => exportMemoryFile(),\n /**\n * Pick a backup file and merge it in, skipping what's already stored.\n * Resolves null on cancel; rejects with a MemoryBackupError for a non-backup file.\n */\n importFile: (): Promise<MemoryImportResult | null> => importMemoryFile(),\n isBackupError: (err: unknown): boolean => err instanceof MemoryBackupError,\n /** Subscribe to store mutations (from miniapps or Settings). */\n onChanged: (listener: () => void): (() => void) => memoryStore.onChanged(listener),\n}\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export const ENGINE_RELEASE_METADATA = Object.freeze({
|
|
2
2
|
"schemaVersion": 1,
|
|
3
3
|
"familyBaseVersion": "0.3.5",
|
|
4
|
-
"releaseIdentity": "0.3.5-beta.
|
|
5
|
-
"releaseSetId": "glassly-0.3.5-beta.
|
|
6
|
-
"sourceCommit": "
|
|
4
|
+
"releaseIdentity": "0.3.5-beta.778",
|
|
5
|
+
"releaseSetId": "glassly-0.3.5-beta.778",
|
|
6
|
+
"sourceCommit": "d787114a931e2773fe4b379f32c0b8d60040909f",
|
|
7
7
|
"otaManifestUrl": null,
|
|
8
8
|
"otaManifestSha256": null
|
|
9
9
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releaseMetadata.js","sourceRoot":"","sources":["../../src/generated/releaseMetadata.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,uBAAuB,GAAoC,MAAM,CAAC,MAAM,CAAC;IACpF,eAAe,EAAE,CAAC;IAClB,mBAAmB,EAAE,OAAO;IAC5B,iBAAiB,EAAE,gBAAgB;IACnC,cAAc,EAAE,wBAAwB;IACxC,cAAc,EAAE,0CAA0C;IAC1D,gBAAgB,EAAE,IAAI;IACtB,mBAAmB,EAAE,IAAI;CAC1B,CAAC,CAAA","sourcesContent":["/** Generated by release CI. Do not edit in a release checkout. */\nexport interface EngineReleaseMetadata {\n schemaVersion: 1\n familyBaseVersion: string | null\n releaseIdentity: string | null\n releaseSetId: string | null\n sourceCommit: string | null\n otaManifestUrl: string | null\n otaManifestSha256: string | null\n}\n\nexport const ENGINE_RELEASE_METADATA: Readonly<EngineReleaseMetadata> = Object.freeze({\n \"schemaVersion\": 1,\n \"familyBaseVersion\": \"0.3.5\",\n \"releaseIdentity\": \"0.3.5-beta.
|
|
1
|
+
{"version":3,"file":"releaseMetadata.js","sourceRoot":"","sources":["../../src/generated/releaseMetadata.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,uBAAuB,GAAoC,MAAM,CAAC,MAAM,CAAC;IACpF,eAAe,EAAE,CAAC;IAClB,mBAAmB,EAAE,OAAO;IAC5B,iBAAiB,EAAE,gBAAgB;IACnC,cAAc,EAAE,wBAAwB;IACxC,cAAc,EAAE,0CAA0C;IAC1D,gBAAgB,EAAE,IAAI;IACtB,mBAAmB,EAAE,IAAI;CAC1B,CAAC,CAAA","sourcesContent":["/** Generated by release CI. Do not edit in a release checkout. */\nexport interface EngineReleaseMetadata {\n schemaVersion: 1\n familyBaseVersion: string | null\n releaseIdentity: string | null\n releaseSetId: string | null\n sourceCommit: string | null\n otaManifestUrl: string | null\n otaManifestSha256: string | null\n}\n\nexport const ENGINE_RELEASE_METADATA: Readonly<EngineReleaseMetadata> = Object.freeze({\n \"schemaVersion\": 1,\n \"familyBaseVersion\": \"0.3.5\",\n \"releaseIdentity\": \"0.3.5-beta.778\",\n \"releaseSetId\": \"glassly-0.3.5-beta.778\",\n \"sourceCommit\": \"d787114a931e2773fe4b379f32c0b8d60040909f\",\n \"otaManifestUrl\": null,\n \"otaManifestSha256\": null\n})\n"]}
|
|
@@ -739,6 +739,8 @@ declare class LocalMiniappRuntime {
|
|
|
739
739
|
private widgetCallSeq;
|
|
740
740
|
/** Elements per widget frame; a card is small, and the link is slow. */
|
|
741
741
|
private static readonly WIDGET_FRAME_ELEMENT_CAP;
|
|
742
|
+
/** Elements per expanded widget frame: the full screen, on the same link. */
|
|
743
|
+
private static readonly WIDGET_EXPANDED_FRAME_ELEMENT_CAP;
|
|
742
744
|
private requireWidgetHost;
|
|
743
745
|
private declaredWidget;
|
|
744
746
|
/** The target app and its declared widget, or a reply to the host saying why not. */
|
|
@@ -749,7 +751,7 @@ declare class LocalMiniappRuntime {
|
|
|
749
751
|
/**
|
|
750
752
|
* session.widgets.place: record the host's box, wake the provider in widget
|
|
751
753
|
* mode when it is not running, hand it the box, and answer with the last
|
|
752
|
-
*
|
|
754
|
+
* card and expanded frames the provider pushed for the widget.
|
|
753
755
|
*/
|
|
754
756
|
private handleWidgetPlace;
|
|
755
757
|
private handleWidgetUnplace;
|
|
@@ -759,7 +761,7 @@ declare class LocalMiniappRuntime {
|
|
|
759
761
|
private handleWidgetSend;
|
|
760
762
|
/** Provider → host: a WIDGET_RESULT for a pending send; box acknowledgements have no pending call and are dropped. */
|
|
761
763
|
private handleWidgetResult;
|
|
762
|
-
/** Provider → host, one-shot: cache the frame and push it to every host holding the widget. */
|
|
764
|
+
/** Provider → host, one-shot: cache the frame for its view and push it to every host holding the widget. */
|
|
763
765
|
private handleWidgetUpdate;
|
|
764
766
|
/** A miniapp disconnected: as a host its placements go, as a provider its boxes are forgotten and its frames kept. */
|
|
765
767
|
private onWidgetPartyGone;
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"LocalMiniappRuntime.d.ts","sourceRoot":"","sources":["../../src/services/LocalMiniappRuntime.ts"],"names":[],"mappings":"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"}
|
|
@@ -96,6 +96,8 @@ import { listPhoneCalendarEvents, PhoneCalendarError } from "./PhoneCalendarServ
|
|
|
96
96
|
import { LocalMiniappStorage } from "./LocalMiniappStorage";
|
|
97
97
|
import { captureDecisionFor } from "./MemoryCapture";
|
|
98
98
|
import { memoryStore } from "./memoryStoreInstance";
|
|
99
|
+
import { exportMemoryFile, importMemoryFile } from "./memoryBackupFile";
|
|
100
|
+
import { MemoryBackupError } from "./MemoryStore";
|
|
99
101
|
import { speakerProfileStore } from "./speakerProfileStoreInstance";
|
|
100
102
|
/** Streams that carry speech text and so have a cloud route and an on-device route. */
|
|
101
103
|
const isSpeechTextStream = (stream) => stream.startsWith("transcription:") || stream.startsWith("translation:");
|
|
@@ -1317,6 +1319,8 @@ class LocalMiniappRuntime {
|
|
|
1317
1319
|
case MiniappRequestType.MEMORY_QUERY:
|
|
1318
1320
|
case MiniappRequestType.MEMORY_WINDOW:
|
|
1319
1321
|
case MiniappRequestType.MEMORY_EXPORT_TEXT:
|
|
1322
|
+
case MiniappRequestType.MEMORY_EXPORT_FILE:
|
|
1323
|
+
case MiniappRequestType.MEMORY_IMPORT_FILE:
|
|
1320
1324
|
case MiniappRequestType.MEMORY_SUMMARY_ADD:
|
|
1321
1325
|
case MiniappRequestType.MEMORY_SUMMARY_LIST:
|
|
1322
1326
|
case MiniappRequestType.MEMORY_PENDING_SUMMARY_HOUR:
|
|
@@ -3463,6 +3467,14 @@ class LocalMiniappRuntime {
|
|
|
3463
3467
|
this.sendResult(packageName, requestId, true, { text: await memoryStore.exportText(scope, num(payload.at)) });
|
|
3464
3468
|
return;
|
|
3465
3469
|
}
|
|
3470
|
+
case MiniappRequestType.MEMORY_EXPORT_FILE: {
|
|
3471
|
+
this.sendResult(packageName, requestId, true, await exportMemoryFile());
|
|
3472
|
+
return;
|
|
3473
|
+
}
|
|
3474
|
+
case MiniappRequestType.MEMORY_IMPORT_FILE: {
|
|
3475
|
+
this.sendResult(packageName, requestId, true, { imported: await importMemoryFile() });
|
|
3476
|
+
return;
|
|
3477
|
+
}
|
|
3466
3478
|
case MiniappRequestType.MEMORY_SUMMARY_ADD: {
|
|
3467
3479
|
const hourStart = num(payload.hourStart);
|
|
3468
3480
|
if (hourStart == null || typeof payload.text !== "string") {
|
|
@@ -3499,6 +3511,13 @@ class LocalMiniappRuntime {
|
|
|
3499
3511
|
}
|
|
3500
3512
|
}
|
|
3501
3513
|
catch (err) {
|
|
3514
|
+
if (err instanceof MemoryBackupError) {
|
|
3515
|
+
this.sendResult(packageName, requestId, false, undefined, {
|
|
3516
|
+
code: MiniappErrorCode.INVALID_ARGUMENT,
|
|
3517
|
+
message: err.message,
|
|
3518
|
+
});
|
|
3519
|
+
return;
|
|
3520
|
+
}
|
|
3502
3521
|
console.error(`${LOG_TAG}: ${requestType} error:`, err);
|
|
3503
3522
|
this.sendResult(packageName, requestId, false, undefined, {
|
|
3504
3523
|
code: MiniappErrorCode.INTERNAL,
|
|
@@ -5493,6 +5512,8 @@ class LocalMiniappRuntime {
|
|
|
5493
5512
|
widgetCallSeq = 0;
|
|
5494
5513
|
/** Elements per widget frame; a card is small, and the link is slow. */
|
|
5495
5514
|
static WIDGET_FRAME_ELEMENT_CAP = 64;
|
|
5515
|
+
/** Elements per expanded widget frame: the full screen, on the same link. */
|
|
5516
|
+
static WIDGET_EXPANDED_FRAME_ELEMENT_CAP = 128;
|
|
5496
5517
|
requireWidgetHost(packageName, requestId, op) {
|
|
5497
5518
|
return this.requirePermission(packageName, requestId, "HOST_WIDGETS", `to ${op} widgets`);
|
|
5498
5519
|
}
|
|
@@ -5535,6 +5556,7 @@ class LocalMiniappRuntime {
|
|
|
5535
5556
|
name: widget.name,
|
|
5536
5557
|
sizes: widget.sizes,
|
|
5537
5558
|
defaultSize: widget.defaultSize,
|
|
5559
|
+
expandable: widget.expandable,
|
|
5538
5560
|
running: app.running,
|
|
5539
5561
|
compatible: app.compatibility?.isCompatible !== false,
|
|
5540
5562
|
});
|
|
@@ -5546,7 +5568,7 @@ class LocalMiniappRuntime {
|
|
|
5546
5568
|
const box = raw;
|
|
5547
5569
|
if (!box || typeof box !== "object")
|
|
5548
5570
|
return null;
|
|
5549
|
-
if (box.size !== "XS" && box.size !== "SM" && box.size !== "MD" && box.size !== "LG")
|
|
5571
|
+
if (box.size !== "XS" && box.size !== "XSM" && box.size !== "SM" && box.size !== "MD" && box.size !== "LG")
|
|
5550
5572
|
return null;
|
|
5551
5573
|
const width = Number(box.width);
|
|
5552
5574
|
const height = Number(box.height);
|
|
@@ -5568,7 +5590,7 @@ class LocalMiniappRuntime {
|
|
|
5568
5590
|
/**
|
|
5569
5591
|
* session.widgets.place: record the host's box, wake the provider in widget
|
|
5570
5592
|
* mode when it is not running, hand it the box, and answer with the last
|
|
5571
|
-
*
|
|
5593
|
+
* card and expanded frames the provider pushed for the widget.
|
|
5572
5594
|
*/
|
|
5573
5595
|
async handleWidgetPlace(hostPackageName, payload, requestId) {
|
|
5574
5596
|
if (!this.requireWidgetHost(hostPackageName, requestId, "place"))
|
|
@@ -5617,7 +5639,10 @@ class LocalMiniappRuntime {
|
|
|
5617
5639
|
if (placementOf(this.widgetPlacements, hostPackageName, provider, widgetId) && this.connectedApps.has(provider)) {
|
|
5618
5640
|
this.sendWidgetCall(provider, widgetId, { kind: "box", box });
|
|
5619
5641
|
}
|
|
5620
|
-
this.sendResult(hostPackageName, requestId, true, {
|
|
5642
|
+
this.sendResult(hostPackageName, requestId, true, {
|
|
5643
|
+
frame: widgetFrameOf(this.widgetPlacements, provider, widgetId),
|
|
5644
|
+
expandedFrame: widgetFrameOf(this.widgetPlacements, provider, widgetId, "expanded"),
|
|
5645
|
+
});
|
|
5621
5646
|
}
|
|
5622
5647
|
async handleWidgetUnplace(hostPackageName, payload, requestId) {
|
|
5623
5648
|
if (!this.requireWidgetHost(hostPackageName, requestId, "unplace"))
|
|
@@ -5734,22 +5759,37 @@ class LocalMiniappRuntime {
|
|
|
5734
5759
|
this.sendResult(pending.hostPackageName, pending.hostRequestId, false, undefined, error);
|
|
5735
5760
|
}
|
|
5736
5761
|
}
|
|
5737
|
-
/** Provider → host, one-shot: cache the frame and push it to every host holding the widget. */
|
|
5762
|
+
/** Provider → host, one-shot: cache the frame for its view and push it to every host holding the widget. */
|
|
5738
5763
|
handleWidgetUpdate(providerPackageName, payload) {
|
|
5739
5764
|
const widgetId = payload.widgetId;
|
|
5740
5765
|
const elements = payload.elements;
|
|
5741
5766
|
if (!widgetId || !Array.isArray(elements))
|
|
5742
5767
|
return;
|
|
5743
5768
|
const app = this.interopApps().find((a) => a.packageName === providerPackageName);
|
|
5744
|
-
|
|
5769
|
+
const widget = app ? this.declaredWidget(app, widgetId) : undefined;
|
|
5770
|
+
if (!widget)
|
|
5745
5771
|
return;
|
|
5746
|
-
|
|
5747
|
-
|
|
5772
|
+
const view = payload.view === "expanded" ? "expanded" : "card";
|
|
5773
|
+
if (view === "expanded" && !widget.expandable) {
|
|
5774
|
+
console.warn(`${LOG_TAG}: dropping expanded frame from ${providerPackageName}/${widgetId}: not declared expandable`);
|
|
5748
5775
|
return;
|
|
5749
5776
|
}
|
|
5750
|
-
|
|
5777
|
+
const cap = view === "expanded"
|
|
5778
|
+
? LocalMiniappRuntime.WIDGET_EXPANDED_FRAME_ELEMENT_CAP
|
|
5779
|
+
: LocalMiniappRuntime.WIDGET_FRAME_ELEMENT_CAP;
|
|
5780
|
+
if (elements.length > cap || this.actionPayloadTooLarge(elements)) {
|
|
5781
|
+
console.warn(`${LOG_TAG}: dropping oversized ${view} widget frame from ${providerPackageName}/${widgetId}`);
|
|
5782
|
+
return;
|
|
5783
|
+
}
|
|
5784
|
+
this.widgetPlacements = setWidgetFrame(this.widgetPlacements, providerPackageName, widgetId, elements, view);
|
|
5751
5785
|
for (const host of widgetHostsOf(this.widgetPlacements, providerPackageName, widgetId)) {
|
|
5752
|
-
this.sendToMiniapp(host, {
|
|
5786
|
+
this.sendToMiniapp(host, {
|
|
5787
|
+
type: MiniappResponseType.WIDGET_FRAME,
|
|
5788
|
+
packageName: providerPackageName,
|
|
5789
|
+
widgetId,
|
|
5790
|
+
elements,
|
|
5791
|
+
...(view === "expanded" ? { view } : {}),
|
|
5792
|
+
});
|
|
5753
5793
|
}
|
|
5754
5794
|
}
|
|
5755
5795
|
/** A miniapp disconnected: as a host its placements go, as a provider its boxes are forgotten and its frames kept. */
|