@mentra/sdk 2.1.28 → 2.1.29-beta.2

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 (55) hide show
  1. package/dist/app/session/events.d.ts +8 -3
  2. package/dist/app/session/events.d.ts.map +1 -1
  3. package/dist/app/session/index.d.ts +2 -1
  4. package/dist/app/session/index.d.ts.map +1 -1
  5. package/dist/app/session/modules/camera.d.ts +6 -5
  6. package/dist/app/session/modules/camera.d.ts.map +1 -1
  7. package/dist/app/session/modules/simple-storage.d.ts +22 -1
  8. package/dist/app/session/modules/simple-storage.d.ts.map +1 -1
  9. package/dist/display-utils/helpers/DisplayHelpers.d.ts +165 -0
  10. package/dist/display-utils/helpers/DisplayHelpers.d.ts.map +1 -0
  11. package/dist/display-utils/helpers/ScrollView.d.ts +183 -0
  12. package/dist/display-utils/helpers/ScrollView.d.ts.map +1 -0
  13. package/dist/display-utils/helpers/index.d.ts +11 -0
  14. package/dist/display-utils/helpers/index.d.ts.map +1 -0
  15. package/dist/display-utils/index.d.ts +108 -0
  16. package/dist/display-utils/index.d.ts.map +1 -0
  17. package/dist/display-utils/measurer/TextMeasurer.d.ts +160 -0
  18. package/dist/display-utils/measurer/TextMeasurer.d.ts.map +1 -0
  19. package/dist/display-utils/measurer/index.d.ts +10 -0
  20. package/dist/display-utils/measurer/index.d.ts.map +1 -0
  21. package/dist/display-utils/measurer/script-detection.d.ts +53 -0
  22. package/dist/display-utils/measurer/script-detection.d.ts.map +1 -0
  23. package/dist/display-utils/profiles/g1.d.ts +33 -0
  24. package/dist/display-utils/profiles/g1.d.ts.map +1 -0
  25. package/dist/display-utils/profiles/index.d.ts +9 -0
  26. package/dist/display-utils/profiles/index.d.ts.map +1 -0
  27. package/dist/display-utils/profiles/types.d.ts +95 -0
  28. package/dist/display-utils/profiles/types.d.ts.map +1 -0
  29. package/dist/display-utils/test/ScrollView.test.d.ts +2 -0
  30. package/dist/display-utils/test/ScrollView.test.d.ts.map +1 -0
  31. package/dist/display-utils/test/TextMeasurer.test.d.ts +2 -0
  32. package/dist/display-utils/test/TextMeasurer.test.d.ts.map +1 -0
  33. package/dist/display-utils/test/TextWrapper.test.d.ts +2 -0
  34. package/dist/display-utils/test/TextWrapper.test.d.ts.map +1 -0
  35. package/dist/display-utils/wrapper/TextWrapper.d.ts +94 -0
  36. package/dist/display-utils/wrapper/TextWrapper.d.ts.map +1 -0
  37. package/dist/display-utils/wrapper/index.d.ts +12 -0
  38. package/dist/display-utils/wrapper/index.d.ts.map +1 -0
  39. package/dist/display-utils/wrapper/types.d.ts +71 -0
  40. package/dist/display-utils/wrapper/types.d.ts.map +1 -0
  41. package/dist/display-utils.d.ts +30 -0
  42. package/dist/display-utils.d.ts.map +1 -0
  43. package/dist/display-utils.js +1197 -0
  44. package/dist/display-utils.js.map +17 -0
  45. package/dist/index.js +102 -22
  46. package/dist/index.js.map +10 -10
  47. package/dist/types/messages/app-to-cloud.d.ts +1 -1
  48. package/dist/types/messages/app-to-cloud.d.ts.map +1 -1
  49. package/dist/types/messages/cloud-to-app.d.ts +2 -0
  50. package/dist/types/messages/cloud-to-app.d.ts.map +1 -1
  51. package/dist/types/messages/cloud-to-glasses.d.ts +1 -1
  52. package/dist/types/messages/cloud-to-glasses.d.ts.map +1 -1
  53. package/dist/types/streams.d.ts +3 -1
  54. package/dist/types/streams.d.ts.map +1 -1
  55. package/package.json +24 -10
@@ -86,13 +86,18 @@ export declare class EventManager {
86
86
  onTranscription(handler: Handler<TranscriptionData>): () => void;
87
87
  /**
88
88
  * 🎤 Listen for transcription events in a specific language
89
- * @param language - Language code (e.g., "en-US")
89
+ * @param language - Language code (e.g., "en-US") or "auto" for automatic detection
90
90
  * @param handler - Function to handle transcription data
91
- * @param disableLanguageIdentification - Optional flag to disable language identification (defaults to false/enabled)
91
+ * @param optionsOrBoolean - Optional configuration object or boolean (backward compatible)
92
+ * @param optionsOrBoolean.disableLanguageIdentification - Disable language identification (defaults to false/enabled)
93
+ * @param optionsOrBoolean.hints - Array of language code hints to improve detection (e.g., ["es", "fr"])
92
94
  * @returns Cleanup function to remove the handler
93
95
  * @throws Error if language code is invalid
94
96
  */
95
- onTranscriptionForLanguage(language: string, handler: Handler<TranscriptionData>, disableLanguageIdentification?: boolean): () => void;
97
+ onTranscriptionForLanguage(language: string, handler: Handler<TranscriptionData>, optionsOrBoolean?: boolean | {
98
+ disableLanguageIdentification?: boolean;
99
+ hints?: string[];
100
+ }): () => void;
96
101
  /**
97
102
  * 🌐 Listen for translation events for a specific language pair
98
103
  * @param sourceLanguage - Source language code (e.g., "es-ES")
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/app/session/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/app/session/events.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,YAAY,MAAM,QAAQ,CAAA;AACjC,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,cAAc,EAEd,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,GAAG,EACH,UAAU,EACV,aAAa,EACb,cAAc,EAKd,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,YAAY,EACZ,UAAU,EAEX,MAAM,aAAa,CAAA;AACpB,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAC,qBAAqB,EAAC,MAAM,mCAAmC,CAAA;AAGvE,0CAA0C;AAC1C,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;AAEnC,2CAA2C;AAC3C,UAAU,YAAY;IACpB,SAAS,EAAE,WAAW,GAAG,SAAS,CAAA;IAClC,YAAY,EACR,MAAM,GACN;QACE,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,QAAQ,EAAE,OAAO,CAAA;QACjB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,YAAY,CAAC,EAAE,OAAO,CAAA;KACvB,CAAA;IACL,KAAK,EAAE,cAAc,GAAG,KAAK,CAAA;IAC7B,eAAe,EAAE,WAAW,CAAA;IAC5B,mBAAmB,EAAE;QACnB,YAAY,EAAE,YAAY,GAAG,IAAI,CAAA;QACjC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;QACxB,SAAS,CAAC,EAAE,IAAI,CAAA;KACjB,CAAA;IACD,qBAAqB,EAAE;QAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAAA;KAAC,CAAA;IACrD,0BAA0B,EAAE;QAAC,OAAO,EAAE,OAAO,CAAA;KAAC,CAAA;IAC9C,cAAc,EAAE,aAAa,CAAA;IAC7B,gBAAgB,EAAE;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,qBAAqB,EAAE,CAAA;QAChC,SAAS,CAAC,EAAE,IAAI,CAAA;KACjB,CAAA;IACD,iBAAiB,EAAE;QACjB,MAAM,EAAE,MAAM,CAAA;QACd,kBAAkB,EAAE,MAAM,CAAA;QAC1B,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;CACF;AAED,kCAAkC;AAClC,KAAK,SAAS,GAAG,kBAAkB,GAAG,MAAM,YAAY,CAAA;AAExD,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,WAAW,CAAA;IACtC,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,YAAY,CAAA;IACxC,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,iBAAiB,CAAA;IAClD,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAA;IAC7C,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,eAAe,CAAA;IACzC,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAAE,oBAAoB,CAAA;IACzD,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,kBAAkB,CAAA;IACrD,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,sBAAsB,CAAA;IAC7D,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,cAAc,CAAA;IAC5C,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,aAAa,CAAA;IAC1C,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,CAAA;IACrB,CAAC,UAAU,CAAC,4BAA4B,CAAC,EAAE,0BAA0B,CAAA;IACrE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAA;IACpC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC/B,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,gBAAgB,CAAA;IACjD,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE,mBAAmB,CAAA;IACvD,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,cAAc,CAAA;IAC5C,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,UAAU,CAAA;IACpC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,KAAK,CAAA;IAClC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;IAC7B,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;IAC5B,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK,CAAA;IACvB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAA;CAC7B;AAED,gCAAgC;AAChC,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,SAAS,IAAI,CAAC,SAAS,MAAM,eAAe,GACxE,eAAe,CAAC,CAAC,CAAC,GAClB,CAAC,SAAS,MAAM,YAAY,GAC1B,YAAY,CAAC,CAAC,CAAC,GACf,CAAC,SAAS,MAAM,GACd,CAAC,SAAS,GAAG,UAAU,CAAC,aAAa,IAAI,MAAM,EAAE,GAC/C,iBAAiB,GACjB,CAAC,SAAS,GAAG,UAAU,CAAC,WAAW,IAAI,MAAM,EAAE,GAC7C,eAAe,GACf,KAAK,GACT,KAAK,CAAA;AAEb,qBAAa,YAAY;IAOrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,OAAO;IATjB,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,sCAAsC,CAAY;IAC1D,OAAO,CAAC,qCAAqC,CAAY;gBAG/C,SAAS,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,EAC7C,WAAW,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,EAC/C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM;IAUzB,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,SAyP8C,IAAI;IAlPrG;;;;;;;;;OASG;IACH,0BAA0B,CACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,EACnC,gBAAgB,CAAC,EACb,OAAO,GACP;QACE,6BAA6B,CAAC,EAAE,OAAO,CAAA;QACvC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;KACjB,GACJ,MAAM,IAAI;IAeb;;;;;;;OAOG;IACH,wBAAwB,CACtB,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC,MAAM,IAAI;IAgBb,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,SAoLoD,IAAI;IAhLrG,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,SAgLsD,IAAI;IA5KrG,YAAY,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI;IAYvG,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,SAgKyC,IAAI;IA5JrG,4BAA4B,CAAC,OAAO,EAAE,OAAO,CAAC,0BAA0B,CAAC,SA4JwB,IAAI;IAxJrG,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,oBAAoB,CAAC,SAwJ0C,IAAI;IApJrG,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,SAoJ8C,IAAI;IAhJrG,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,SAgJ4D,IAAI;IA3IrG,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,SA2IsD,IAAI;IAvIrG,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,SAuIkD,IAAI;IAnIrG;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,SA8HwD,IAAI;IAxHrG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAKvD,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAK7D,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAK/C,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAKlE;;;;OAIG;IACH,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;IAK1E;;;;OAIG;IACH,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;IAK7E;;;;OAIG;IACH,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,4BAA4B,CAAC,CAAC;IAKtF;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;IAKpE;;;;OAIG;IACH,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;IAKtE;;;;;OAKG;IACH,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,GAAG,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI;IA4BtG;;;;OAIG;IACH,EAAE,CAAC,CAAC,SAAS,kBAAkB,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAQrF;;OAEG;IACH,OAAO,CAAC,UAAU;IAWlB;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAoD7D;;;;;OAKG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI;IAW5E,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,SAjGgD,IAAI;IAqGrG;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,SA1GwD,IAAI;CA6GtG"}
@@ -243,8 +243,9 @@ export declare class AppSession {
243
243
  connect(sessionId: string): Promise<void>;
244
244
  /**
245
245
  * 👋 Disconnect from MentraOS Cloud
246
+ * Flushes any pending SimpleStorage writes before closing
246
247
  */
247
- disconnect(): void;
248
+ disconnect(): Promise<void>;
248
249
  /**
249
250
  * 🛠️ Get all current user settings
250
251
  * @returns A copy of the current settings array
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/session/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,UAAU,CAAA;AAChD,OAAO,EAAC,aAAa,EAAC,MAAM,WAAW,CAAA;AACvC,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAA;AAC1C,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAC,SAAS,EAAC,MAAM,eAAe,CAAA;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAEL,iBAAiB,EAWjB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,iBAAiB,EACjB,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EAef,WAAW,EACX,UAAU,EACV,SAAS,EAGT,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,YAAY,EAEb,MAAM,aAAa,CAAA;AACpB,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAA;AAElD,OAAO,EAAC,MAAM,EAAC,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAA;AAYnC,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAA;AAGtD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAA;IACnB,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAA;IACd,sEAAsE;IACtE,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,0EAA0E;IAC1E,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,8DAA8D;IAC9D,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;CACrB;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,UAAU;IAwET,OAAO,CAAC,MAAM;IAvE1B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,CAAyB;IACnC,iCAAiC;IACjC,OAAO,CAAC,SAAS,CAAsB;IACvC,2CAA2C;IAC3C,OAAO,CAAC,iBAAiB,CAAI;IAC7B,iCAAiC;IACjC,OAAO,CAAC,aAAa,CAAgC;IACrD,4CAA4C;IAC5C,OAAO,CAAC,WAAW,CAAwC;IAC3D,6CAA6C;IAC7C,OAAO,CAAC,SAAS,CAAwB;IACzC,kEAAkE;IAClE,OAAO,CAAC,YAAY,CAAkB;IACtC,oDAAoD;IACpD,OAAO,CAAC,SAAS,CAAyB;IAC1C,2DAA2D;IAC3D,OAAO,CAAC,yCAAyC,CAAQ;IACzD,mEAAmE;IACnE,OAAO,CAAC,2BAA2B,CAAC,CAAiD;IACrF,qEAAqE;IACrE,OAAO,CAAC,0BAA0B,CAAe;IACjD,4DAA4D;IAC5D,OAAO,CAAC,4BAA4B,CAMjC;IACH,4DAA4D;IAC5D,OAAO,CAAC,qBAAqB,CAM1B;IAEH,oCAAoC;IACpC,SAAgB,MAAM,EAAE,YAAY,CAAA;IACpC,qCAAqC;IACrC,SAAgB,OAAO,EAAE,aAAa,CAAA;IACtC,uCAAuC;IACvC,SAAgB,QAAQ,EAAE,eAAe,CAAA;IACzC,wCAAwC;IACxC,SAAgB,SAAS,EAAE,YAAY,CAAA;IACvC,uCAAuC;IACvC,SAAgB,QAAQ,EAAE,eAAe,CAAA;IACzC,mDAAmD;IACnD,SAAgB,MAAM,EAAE,YAAY,CAAA;IACpC,2CAA2C;IAC3C,SAAgB,GAAG,EAAE,SAAS,CAAA;IAC9B,4CAA4C;IAC5C,SAAgB,KAAK,EAAE,YAAY,CAAA;IACnC,4CAA4C;IAC5C,SAAgB,aAAa,EAAE,aAAa,CAAA;IAE5C,SAAgB,SAAS,EAAE,SAAS,CAAA;IACpC,SAAgB,MAAM,EAAE,MAAM,CAAA;IAC9B,SAAgB,MAAM,EAAE,MAAM,CAAA;IAE9B,wDAAwD;IACjD,YAAY,EAAE,YAAY,GAAG,IAAI,CAAO;IAE/C,gEAAgE;IAChE,OAAO,CAAC,sBAAsB,CAAY;IAE1C,8CAA8C;IAC9C,OAAO,CAAC,SAAS,CAAqB;gBAElB,MAAM,EAAE,gBAAgB;IAmI5C;;;OAGG;IACH,YAAY,IAAI,MAAM;IAItB;;;OAGG;IACH,cAAc,IAAI,MAAM;IAQxB;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,GAAG,MAAM,IAAI;IAIvE;;;;;;;OAOG;IACH,0BAA0B,CACxB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,EAC1C,6BAA6B,UAAQ,GACpC,MAAM,IAAI;IAIb;;;;;;;;OAQG;IACH,wBAAwB,CACtB,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,GACvC,MAAM,IAAI;IAIb;;;;;OAKG;IACH,cAAc,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,GAAG,MAAM,IAAI;IAIjE;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,GAAG,MAAM,IAAI;IAI/D;;;;;;;;;;;;OAYG;IACH,YAAY,CACV,gBAAgB,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC,EACvD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GACnC,MAAM,IAAI;IAIb;;;;;;;OAOG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI;IAcnD;;;;;OAKG;IACH,oBAAoB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,GAAG,MAAM,IAAI;IAK5E;;;;;OAKG;IACH,4BAA4B,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,0BAA0B,KAAK,IAAI,GAAG,MAAM,IAAI;IAI7F;;;;;OAKG;IACH,gBAAgB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,GAAG,MAAM,IAAI;IAKrE;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;IAS7D;;;OAGG;IACH,SAAS,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI;IA6BzC;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI;IAqB3C;;;;OAIG;IACH,EAAE,CAAC,CAAC,SAAS,kBAAkB,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;IAQ7F;;;;OAIG;IACG,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgS/C;;OAEG;IACH,UAAU,IAAI,IAAI;IAqBlB;;;;OAIG;IACH,WAAW,IAAI,WAAW;IAI1B;;;;;OAKG;IACH,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIzC;;;;OAIG;IACH,uBAAuB,CAAC,OAAO,EAAE;QAC/B,cAAc,EAAE,MAAM,EAAE,CAAA;QACxB,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,kBAAkB,EAAE,CAAA;KACzD,GAAG,IAAI;IAWR;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IAwBvC;;;;OAIG;IACH,wBAAwB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAexD;;;;;OAKG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS;IAgB/C;;;OAGG;IACH,SAAS,IAAI,SAAS,GAAG,IAAI;IAI7B;;;OAGG;IACH,YAAY,IAAI,MAAM,GAAG,SAAS;IAI3B,iBAAiB,IAAI,MAAM,GAAG,SAAS;IAO9C,OAAO,CAAC,MAAM,CAAC,cAAc;IAU7B;;;;OAIG;IACH,kBAAkB,IAAI,WAAW;IAajC;;;;OAIG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAUrD;;;OAGG;IACH,aAAa,IAAI;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAC,GAAG,IAAI;IAOlE;;;OAGG;IACH,eAAe,IAAI,OAAO;IAI1B;;;;OAIG;IACH,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAgBvC;;;;OAIG;IACH,wBAAwB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI;IAQnE;;OAEG;IACH,OAAO,CAAC,aAAa;IA4TrB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAoBvB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAsDzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyB3B;;OAEG;YACW,kBAAkB;IAsEhC;;;OAGG;IACI,WAAW,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAIpD;;;OAGG;IACH,OAAO,CAAC,IAAI;IAwDZ;;;OAGG;IACU,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAgBtD;;;;OAIG;IACG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,UAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAgC7E;;;;OAIG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUpD;;;OAGG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUnD;;;;;OAKG;IACG,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBxE;;;;;OAKG;IACG,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAoC7E;;;;;OAKG;IACG,WAAW,CACf,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE;QACX,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,QAAQ,CAAC,EAAE,GAAG,CAAA;KACf,GACA,OAAO,CAAC,IAAI,CAAC;IAkBhB;;;;OAIG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjD;;;;OAIG;IACH,YAAY,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI;IAKzD;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI;IAKzD;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI;IAKvD;;;;OAIG;IACH,gBAAgB,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI;IAK1D;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAG1B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAA;AAE/C;;;;;;;;;;;;GAYG;AACH,qBAAa,UAAW,SAAQ,UAAU;gBAC5B,MAAM,EAAE,gBAAgB;CASrC;AAGD,OAAO,EAAC,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAC,MAAM,kBAAkB,CAAA;AACrF,OAAO,EAAC,SAAS,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAA;AAC1D,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAC,MAAM,iBAAiB,CAAA;AAC7F,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/session/index.ts"],"names":[],"mappings":"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"}
@@ -19,12 +19,13 @@ export interface PhotoRequestOptions {
19
19
  /** Authentication token for custom webhook authentication */
20
20
  authToken?: string;
21
21
  /**
22
- * Desired photo size.
23
- * - small: lowest resolution, faster capture/transfer
24
- * - medium: balanced default
25
- * - large: highest available resolution on device
22
+ * Desired photo size. All sizes are optimized for fast transfer.
23
+ * - small: 640x480 (VGA) - ultra-fast transfers
24
+ * - medium: 1280x720 (720p) - good balance (default)
25
+ * - large: 1920x1080 (1080p) - high quality
26
+ * - full: native sensor resolution - maximum detail (slower transfer)
26
27
  */
27
- size?: "small" | "medium" | "large";
28
+ size?: "small" | "medium" | "large" | "full";
28
29
  /** Image compression level for upload optimization. Defaults to "none". */
29
30
  compress?: "none" | "medium" | "heavy";
30
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../../src/app/session/modules/camera.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"camera.d.ts","sourceRoot":"","sources":["../../../../src/app/session/modules/camera.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,15 @@
1
1
  /**
2
2
  * Simple Storage SDK Module for MentraOS Apps
3
3
  * Provides localStorage-like API with cloud synchronization
4
+ *
5
+ * Mental Model: App server RAM = source of truth, MongoDB = crash recovery backup
6
+ * - User interactions read/write to RAM instantly
7
+ * - Changes are debounced and batched to MongoDB (3s idle / 10s max)
8
+ * - On disconnect, pending writes are flushed automatically
4
9
  */
5
10
  import { AppSession } from "..";
6
11
  /**
7
- * Key-value storage with local caching and cloud sync
12
+ * Key-value storage with local caching and debounced cloud sync
8
13
  * Data is isolated by userId and packageName
9
14
  */
10
15
  export declare class SimpleStorage {
@@ -13,12 +18,28 @@ export declare class SimpleStorage {
13
18
  private userId;
14
19
  private packageName;
15
20
  private baseUrl;
21
+ private pendingWrites;
22
+ private debounceTimer?;
23
+ private maxWaitTimer?;
24
+ private firstWriteTime?;
25
+ private static readonly MAX_VALUE_SIZE;
26
+ private static readonly DEBOUNCE_MS;
27
+ private static readonly MAX_WAIT_MS;
16
28
  constructor(appSession: AppSession);
17
29
  private getBaseUrl;
18
30
  private getAuthHeaders;
19
31
  private fetchStorageFromCloud;
20
32
  get(key: string): Promise<string | undefined>;
21
33
  set(key: string, value: string): Promise<void>;
34
+ /**
35
+ * Schedule flush with debounce (3s idle) and max wait (10s)
36
+ */
37
+ private scheduleFlush;
38
+ /**
39
+ * Flush pending writes immediately
40
+ * Called by: debounce timeout, max wait timeout, disconnect, or explicit flush()
41
+ */
42
+ flush(): Promise<void>;
22
43
  delete(key: string): Promise<boolean>;
23
44
  clear(): Promise<boolean>;
24
45
  keys(): Promise<string[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"simple-storage.d.ts","sourceRoot":"","sources":["../../../../src/app/session/modules/simple-storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAchC;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;gBAEZ,UAAU,EAAE,UAAU;IAQlC,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,cAAc;YASR,qBAAqB;IAgCtB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAe7C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC9C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuCrC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IA+BzB,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAazB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAavB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAarC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAa7C,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAkCtE"}
1
+ {"version":3,"file":"simple-storage.d.ts","sourceRoot":"","sources":["../../../../src/app/session/modules/simple-storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,IAAI,CAAA;AAc7B;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAsC;IACrD,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,OAAO,CAAQ;IAGvB,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,YAAY,CAAC,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAC,CAAQ;IAG/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAU;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAQ;IAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEhC,UAAU,EAAE,UAAU;IAQlC,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,cAAc;YASR,qBAAqB;IAwBtB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAgB7C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B3D;;OAEG;IACH,OAAO,CAAC,aAAa;IA2CrB;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA6CtB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsCrC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAuBzB,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAazB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAavB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAarC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAa7C,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CA8BtE"}
@@ -0,0 +1,165 @@
1
+ import type { DisplayProfile } from "../profiles/types";
2
+ import { TextMeasurer } from "../measurer/TextMeasurer";
3
+ import { TextWrapper } from "../wrapper/TextWrapper";
4
+ import type { WrapOptions, WrapResult } from "../wrapper/types";
5
+ /**
6
+ * Truncation result with metadata.
7
+ */
8
+ export interface TruncateResult {
9
+ /** The truncated text */
10
+ text: string;
11
+ /** Whether text was truncated */
12
+ wasTruncated: boolean;
13
+ /** Width in pixels of truncated text */
14
+ widthPx: number;
15
+ /** Original text length */
16
+ originalLength: number;
17
+ /** Truncated text length */
18
+ truncatedLength: number;
19
+ }
20
+ /**
21
+ * Page result for pagination.
22
+ */
23
+ export interface Page {
24
+ /** Lines on this page */
25
+ lines: string[];
26
+ /** Page number (1-indexed) */
27
+ pageNumber: number;
28
+ /** Total number of pages */
29
+ totalPages: number;
30
+ /** Whether this is the first page */
31
+ isFirst: boolean;
32
+ /** Whether this is the last page */
33
+ isLast: boolean;
34
+ }
35
+ /**
36
+ * Chunk result for BLE transmission.
37
+ */
38
+ export interface Chunk {
39
+ /** The chunk text */
40
+ text: string;
41
+ /** Chunk index (0-indexed) */
42
+ index: number;
43
+ /** Total number of chunks */
44
+ totalChunks: number;
45
+ /** Byte size of this chunk */
46
+ bytes: number;
47
+ }
48
+ /**
49
+ * Optional helper utilities for common display operations.
50
+ * Built on top of TextMeasurer and TextWrapper for convenience.
51
+ */
52
+ export declare class DisplayHelpers {
53
+ private readonly measurer;
54
+ private readonly wrapper;
55
+ private readonly profile;
56
+ constructor(measurer: TextMeasurer, wrapper: TextWrapper);
57
+ /**
58
+ * Truncate lines array to max count.
59
+ *
60
+ * @param lines - Array of lines
61
+ * @param maxLines - Maximum lines to keep
62
+ * @param fromEnd - If true, keep last N lines; if false, keep first N (default: false)
63
+ * @returns Truncated lines array
64
+ */
65
+ truncateToLines(lines: string[], maxLines: number, fromEnd?: boolean): string[];
66
+ /**
67
+ * Truncate text to fit within pixel width, adding ellipsis if needed.
68
+ *
69
+ * @param text - Text to truncate
70
+ * @param maxWidthPx - Maximum width in pixels
71
+ * @param ellipsis - Ellipsis string (default: '...')
72
+ * @returns Truncation result
73
+ */
74
+ truncateWithEllipsis(text: string, maxWidthPx?: number, ellipsis?: string): TruncateResult;
75
+ /**
76
+ * Estimate how many lines text will need without fully wrapping.
77
+ * This is a quick estimate based on average character width.
78
+ *
79
+ * @param text - Text to estimate
80
+ * @param maxWidthPx - Optional width override
81
+ * @returns Estimated line count
82
+ */
83
+ estimateLineCount(text: string, maxWidthPx?: number): number;
84
+ /**
85
+ * Wrap and truncate text to fit screen in one call.
86
+ *
87
+ * @param text - Text to fit
88
+ * @param options - Wrap options
89
+ * @returns Lines that fit on screen
90
+ */
91
+ fitToScreen(text: string, options?: WrapOptions): string[];
92
+ /**
93
+ * Wrap text and paginate into screen-sized pages.
94
+ *
95
+ * @param text - Text to paginate
96
+ * @param options - Wrap options (maxLines will be used as page size)
97
+ * @returns Array of pages
98
+ */
99
+ paginate(text: string, options?: WrapOptions): Page[];
100
+ /**
101
+ * Calculate UTF-8 byte size of text.
102
+ *
103
+ * @param text - Text to measure
104
+ * @returns Byte size
105
+ */
106
+ calculateByteSize(text: string): number;
107
+ /**
108
+ * Check if text exceeds byte limit.
109
+ *
110
+ * @param text - Text to check
111
+ * @param maxBytes - Optional override (defaults to profile)
112
+ * @returns true if exceeds limit
113
+ */
114
+ exceedsByteLimit(text: string, maxBytes?: number): boolean;
115
+ /**
116
+ * Split text into BLE-safe chunks.
117
+ * Tries to split at word/line boundaries when possible.
118
+ *
119
+ * @param text - Text to chunk
120
+ * @param chunkSize - Optional override (defaults to profile)
121
+ * @returns Array of chunks
122
+ */
123
+ splitIntoChunks(text: string, chunkSize?: number): Chunk[];
124
+ /**
125
+ * Calculate line utilization statistics.
126
+ *
127
+ * @param result - Wrap result to analyze
128
+ * @returns Utilization statistics
129
+ */
130
+ calculateUtilization(result: WrapResult): {
131
+ averageUtilization: number;
132
+ minUtilization: number;
133
+ maxUtilization: number;
134
+ totalWastedPx: number;
135
+ };
136
+ /**
137
+ * Pad lines array to exact count with empty strings.
138
+ *
139
+ * @param lines - Lines to pad
140
+ * @param targetCount - Target number of lines
141
+ * @param padAtEnd - If true, pad at end; if false, pad at start (default: true)
142
+ * @returns Padded lines array
143
+ */
144
+ padToLineCount(lines: string[], targetCount: number, padAtEnd?: boolean): string[];
145
+ /**
146
+ * Join lines with newlines for display.
147
+ *
148
+ * @param lines - Lines to join
149
+ * @returns Joined string
150
+ */
151
+ joinLines(lines: string[]): string;
152
+ /**
153
+ * Get the measurer instance.
154
+ */
155
+ getMeasurer(): TextMeasurer;
156
+ /**
157
+ * Get the wrapper instance.
158
+ */
159
+ getWrapper(): TextWrapper;
160
+ /**
161
+ * Get the display profile.
162
+ */
163
+ getProfile(): DisplayProfile;
164
+ }
165
+ //# sourceMappingURL=DisplayHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisplayHelpers.d.ts","sourceRoot":"","sources":["../../../src/display-utils/helpers/DisplayHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE/D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,iCAAiC;IACjC,YAAY,EAAE,OAAO,CAAA;IACrB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAA;IACf,2BAA2B;IAC3B,cAAc,EAAE,MAAM,CAAA;IACtB,4BAA4B;IAC5B,eAAe,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,yBAAyB;IACzB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAA;IAChB,oCAAoC;IACpC,MAAM,EAAE,OAAO,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;gBAE5B,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW;IAMxD;;;;;;;OAOG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,MAAM,EAAE;IActF;;;;;;;OAOG;IACH,oBAAoB,CAClB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,GAAE,MAAc,GACvB,cAAc;IA2CjB;;;;;;;OAOG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;IAe5D;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,EAAE;IAK1D;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,EAAE;IAuCrD;;;;;OAKG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIvC;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO;IAK1D;;;;;;;OAOG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE;IAgE1D;;;;;OAKG;IACH,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG;QACxC,kBAAkB,EAAE,MAAM,CAAA;QAC1B,cAAc,EAAE,MAAM,CAAA;QACtB,cAAc,EAAE,MAAM,CAAA;QACtB,aAAa,EAAE,MAAM,CAAA;KACtB;IA+BD;;;;;;;OAOG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAc,GAAG,MAAM,EAAE;IAcxF;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;IAIlC;;OAEG;IACH,WAAW,IAAI,YAAY;IAI3B;;OAEG;IACH,UAAU,IAAI,WAAW;IAIzB;;OAEG;IACH,UAAU,IAAI,cAAc;CAG7B"}
@@ -0,0 +1,183 @@
1
+ import type { DisplayProfile } from "../profiles/types";
2
+ import { TextMeasurer } from "../measurer/TextMeasurer";
3
+ import { TextWrapper } from "../wrapper/TextWrapper";
4
+ import type { WrapOptions } from "../wrapper/types";
5
+ /**
6
+ * Scroll position information.
7
+ */
8
+ export interface ScrollPosition {
9
+ /** Current scroll offset (0 = top) */
10
+ offset: number;
11
+ /** Total number of lines in content */
12
+ totalLines: number;
13
+ /** Number of visible lines (viewport size) */
14
+ visibleLines: number;
15
+ /** Maximum scroll offset */
16
+ maxOffset: number;
17
+ /** Whether we're at the top */
18
+ atTop: boolean;
19
+ /** Whether we're at the bottom */
20
+ atBottom: boolean;
21
+ /** Scroll percentage (0-100) */
22
+ scrollPercent: number;
23
+ }
24
+ /**
25
+ * Visible content from the scroll view.
26
+ */
27
+ export interface ScrollViewport {
28
+ /** Lines currently visible */
29
+ lines: string[];
30
+ /** Scroll position info */
31
+ position: ScrollPosition;
32
+ /** Whether content was truncated during wrapping */
33
+ contentTruncated: boolean;
34
+ }
35
+ /**
36
+ * ScrollView provides a scrollable viewport into long wrapped text.
37
+ *
38
+ * Unlike pagination (discrete pages), scrolling allows continuous
39
+ * movement through content line by line.
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * const scrollView = new ScrollView(measurer, wrapper)
44
+ * scrollView.setContent("Very long text that wraps to many lines...")
45
+ *
46
+ * // Get initial view (top)
47
+ * let view = scrollView.getViewport()
48
+ * console.log(view.lines) // First 5 lines
49
+ *
50
+ * // Scroll down
51
+ * scrollView.scrollDown(2) // Move down 2 lines
52
+ * view = scrollView.getViewport()
53
+ *
54
+ * // Scroll to bottom
55
+ * scrollView.scrollToBottom()
56
+ *
57
+ * // Scroll to specific position
58
+ * scrollView.scrollTo(10) // Line 10 at top of viewport
59
+ * ```
60
+ */
61
+ export declare class ScrollView {
62
+ private readonly measurer;
63
+ private readonly wrapper;
64
+ private readonly profile;
65
+ private readonly viewportSize;
66
+ private allLines;
67
+ private wrapResult;
68
+ private scrollOffset;
69
+ constructor(measurer: TextMeasurer, wrapper: TextWrapper, viewportSize?: number);
70
+ /**
71
+ * Set the content to display in the scroll view.
72
+ * Wraps the text and resets scroll position to top.
73
+ *
74
+ * @param text - Text content to display
75
+ * @param options - Optional wrap options
76
+ */
77
+ setContent(text: string, options?: Omit<WrapOptions, "maxLines">): void;
78
+ /**
79
+ * Append content to the existing scroll view.
80
+ * Useful for streaming/live content like captions.
81
+ *
82
+ * @param text - Text to append
83
+ * @param options - Optional wrap options
84
+ * @param autoScroll - If true, scroll to show new content (default: true)
85
+ */
86
+ appendContent(text: string, options?: Omit<WrapOptions, "maxLines">, autoScroll?: boolean): void;
87
+ /**
88
+ * Get the current viewport (visible lines).
89
+ */
90
+ getViewport(): ScrollViewport;
91
+ /**
92
+ * Get current scroll position information.
93
+ */
94
+ getPosition(): ScrollPosition;
95
+ /**
96
+ * Scroll to a specific line offset.
97
+ *
98
+ * @param offset - Line offset (0 = top)
99
+ */
100
+ scrollTo(offset: number): void;
101
+ /**
102
+ * Scroll down by a number of lines.
103
+ *
104
+ * @param lines - Number of lines to scroll (default: 1)
105
+ */
106
+ scrollDown(lines?: number): void;
107
+ /**
108
+ * Scroll up by a number of lines.
109
+ *
110
+ * @param lines - Number of lines to scroll (default: 1)
111
+ */
112
+ scrollUp(lines?: number): void;
113
+ /**
114
+ * Scroll down by one viewport (page down).
115
+ */
116
+ pageDown(): void;
117
+ /**
118
+ * Scroll up by one viewport (page up).
119
+ */
120
+ pageUp(): void;
121
+ /**
122
+ * Scroll to the top.
123
+ */
124
+ scrollToTop(): void;
125
+ /**
126
+ * Scroll to the bottom.
127
+ */
128
+ scrollToBottom(): void;
129
+ /**
130
+ * Scroll to show a specific line in the viewport.
131
+ *
132
+ * @param lineIndex - The line index to show
133
+ * @param position - Where in viewport: 'top', 'center', 'bottom' (default: 'top')
134
+ */
135
+ scrollToLine(lineIndex: number, position?: "top" | "center" | "bottom"): void;
136
+ /**
137
+ * Scroll by a percentage of total content.
138
+ *
139
+ * @param percent - Percentage (0-100)
140
+ */
141
+ scrollToPercent(percent: number): void;
142
+ /**
143
+ * Check if currently at the top.
144
+ */
145
+ isAtTop(): boolean;
146
+ /**
147
+ * Check if currently at the bottom.
148
+ */
149
+ isAtBottom(): boolean;
150
+ /**
151
+ * Check if content is scrollable (more lines than viewport).
152
+ */
153
+ isScrollable(): boolean;
154
+ /**
155
+ * Get all lines (not just visible).
156
+ */
157
+ getAllLines(): string[];
158
+ /**
159
+ * Get total line count.
160
+ */
161
+ getTotalLines(): number;
162
+ /**
163
+ * Get the viewport size.
164
+ */
165
+ getViewportSize(): number;
166
+ /**
167
+ * Clear all content and reset scroll position.
168
+ */
169
+ clear(): void;
170
+ /**
171
+ * Get the measurer instance.
172
+ */
173
+ getMeasurer(): TextMeasurer;
174
+ /**
175
+ * Get the wrapper instance.
176
+ */
177
+ getWrapper(): TextWrapper;
178
+ /**
179
+ * Get the display profile.
180
+ */
181
+ getProfile(): DisplayProfile;
182
+ }
183
+ //# sourceMappingURL=ScrollView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollView.d.ts","sourceRoot":"","sources":["../../../src/display-utils/helpers/ScrollView.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Display Helpers Module
3
+ *
4
+ * Optional convenience utilities for common display operations.
5
+ * Built on top of TextMeasurer and TextWrapper.
6
+ */
7
+ export { DisplayHelpers } from "./DisplayHelpers";
8
+ export { ScrollView } from "./ScrollView";
9
+ export type { TruncateResult, Page, Chunk } from "./DisplayHelpers";
10
+ export type { ScrollPosition, ScrollViewport } from "./ScrollView";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/display-utils/helpers/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAGvC,YAAY,EAAC,cAAc,EAAE,IAAI,EAAE,KAAK,EAAC,MAAM,kBAAkB,CAAA;AACjE,YAAY,EAAC,cAAc,EAAE,cAAc,EAAC,MAAM,cAAc,CAAA"}