@glassly/miniapp 0.3.1-dev.496 → 0.3.1-dev.497
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/modules/events.d.ts +1 -1
- package/dist/modules/events.d.ts.map +1 -1
- package/dist/modules/events.js +5 -4
- package/dist/modules/events.js.map +1 -1
- package/dist/modules/translation.d.ts +11 -3
- package/dist/modules/translation.d.ts.map +1 -1
- package/dist/modules/translation.js +6 -6
- package/dist/modules/translation.js.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +1 -1
- package/src/modules/events.ts +6 -4
- package/src/modules/translation.ts +19 -4
package/dist/index.d.ts
CHANGED
|
@@ -61,7 +61,7 @@ export type { PermissionsModule, PermissionErrorEvent } from "./modules/permissi
|
|
|
61
61
|
export type { PhoneModule, PhoneNotificationsModule, PhoneCalendarModule, PhoneHeadingModule } from "./modules/phone";
|
|
62
62
|
export type { SettingsModule, SettingsChange } from "./modules/settings";
|
|
63
63
|
export type { TranscriptionModule, TranscriptionConfig, TranscriptionOptions } from "./modules/transcription";
|
|
64
|
-
export type { TranslationModule } from "./modules/translation";
|
|
64
|
+
export type { TranslationModule, TranslationSubscribeOptions } from "./modules/translation";
|
|
65
65
|
export type { SpeakerModule } from "./modules/speaker";
|
|
66
66
|
export type { PermissionType, PermissionRecord } from "./session";
|
|
67
67
|
export type { LightSensorModule, LightSensorOptions, LightSensorData } from "./modules/lightSensor";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,EAAC,cAAc,EAAE,iBAAiB,EAAC,MAAM,WAAW,CAAA;AAC3D,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAC,qBAAqB,EAAC,MAAM,mCAAmC,CAAA;AACvE,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,WAAW,CAAA;AAClB,YAAY,EAAC,gBAAgB,EAAE,UAAU,EAAC,MAAM,gBAAgB,CAAA;AAEhE,OAAO,EAAC,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAC,MAAM,YAAY,CAAA;AAC1E,YAAY,EAAC,eAAe,EAAC,MAAM,YAAY,CAAA;AAE/C,OAAO,EAAC,cAAc,EAAC,MAAM,WAAW,CAAA;AACxC,YAAY,EAAC,WAAW,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,qBAAqB,EAAC,MAAM,WAAW,CAAA;AAE7G,OAAO,EAAC,gBAAgB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAC,MAAM,YAAY,CAAA;AACvG,OAAO,EAAC,mBAAmB,EAAC,MAAM,iBAAiB,CAAA;AAInD,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,iCAAiC,EACjC,uBAAuB,GACxB,MAAM,qBAAqB,CAAA;AAC5B,YAAY,EAAC,YAAY,EAAE,qBAAqB,EAAC,MAAM,qBAAqB,CAAA;AAC5E,YAAY,EAAC,yBAAyB,EAAE,2BAA2B,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAA;AAM9G,OAAO,EAAC,YAAY,EAAE,wBAAwB,EAAC,MAAM,YAAY,CAAA;AACjE,YAAY,EAAC,mBAAmB,EAAC,MAAM,YAAY,CAAA;AAGnD,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAA;AAChD,YAAY,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAC,oBAAoB,EAAC,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EAAC,oBAAoB,EAAC,MAAM,0BAA0B,CAAA;AAC7D,YAAY,EAAC,2BAA2B,EAAC,MAAM,0BAA0B,CAAA;AACzE,OAAO,EAAC,aAAa,EAAE,yBAAyB,EAAC,MAAM,kBAAkB,CAAA;AACzE,YAAY,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAA;AAC1D,YAAY,EAAC,SAAS,EAAE,0BAA0B,EAAE,uBAAuB,EAAC,MAAM,mBAAmB,CAAA;AAGrG,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,SAAS,EACT,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,eAAe,EACf,YAAY,EACZ,eAAe,EACf,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EACV,SAAS,EACT,cAAc,EACd,WAAW,EACX,eAAe,EACf,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,yBAAyB,EACzB,qBAAqB,EACrB,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,OAAO,EACP,QAAQ,GACT,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAC,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAA;AAChH,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAC,mBAAmB,EAAE,8BAA8B,EAAE,yBAAyB,EAAC,MAAM,mBAAmB,CAAA;AAChH,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAC,aAAa,EAAE,yBAAyB,EAAC,MAAM,qBAAqB,CAAA;AACjF,YAAY,EAAC,WAAW,EAAC,MAAM,iBAAiB,CAAA;AAChD,YAAY,EAAC,QAAQ,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAA;AAC9D,YAAY,EACV,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAC,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,mBAAmB,EAAC,MAAM,oBAAoB,CAAA;AACjH,YAAY,EAAC,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAIpG,YAAY,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAA;AACrD,YAAY,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAA;AACtD,YAAY,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AACpD,YAAY,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AACpD,YAAY,EACV,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,UAAU,EACV,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,OAAO,GACR,MAAM,cAAc,CAAA;AACrB,YAAY,EAAC,SAAS,EAAC,MAAM,eAAe,CAAA;AAC5C,YAAY,EAAC,WAAW,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAA;AACpE,YAAY,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAA;AAC9D,YAAY,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAA;AACtD,YAAY,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,aAAa,GACd,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAA;AACtD,YAAY,EAAC,SAAS,EAAC,MAAM,eAAe,CAAA;AAC5C,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,EACN,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,SAAS,EACT,KAAK,EACL,UAAU,EACV,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,UAAU,GACX,MAAM,sBAAsB,CAAA;AAC7B,YAAY,EAAC,iBAAiB,EAAE,oBAAoB,EAAC,MAAM,uBAAuB,CAAA;AAClF,YAAY,EAAC,WAAW,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAA;AACnH,YAAY,EAAC,cAAc,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAA;AACtE,YAAY,EAAC,mBAAmB,EAAE,mBAAmB,EAAE,oBAAoB,EAAC,MAAM,yBAAyB,CAAA;AAC3G,YAAY,EAAC,iBAAiB,EAAE,2BAA2B,EAAC,MAAM,uBAAuB,CAAA;AACzF,YAAY,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAA;AAGpD,YAAY,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,WAAW,CAAA;AAE/D,YAAY,EAAC,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAC,MAAM,uBAAuB,CAAA;AACjG,YAAY,EACV,aAAa,EACb,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,mBAAmB,CAAA;AAE1B,YAAY,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAA;AAClD,YAAY,EAAC,cAAc,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAA"}
|
package/dist/modules/events.d.ts
CHANGED
|
@@ -179,7 +179,7 @@ export declare class EventManager {
|
|
|
179
179
|
private readonly emitter;
|
|
180
180
|
/** Stream -> ref count. Outbound SUBSCRIBE tracks active streams and routing changes. */
|
|
181
181
|
private readonly refCounts;
|
|
182
|
-
/** Transcription stream -> refs that require on-device-only processing. */
|
|
182
|
+
/** Transcription/translation stream -> refs that require on-device-only processing. */
|
|
183
183
|
private readonly forceLocalRefCounts;
|
|
184
184
|
constructor(session: MiniappSession);
|
|
185
185
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/modules/events.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/modules/events.ts"],"names":[],"mappings":"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"}
|
package/dist/modules/events.js
CHANGED
|
@@ -38,7 +38,7 @@ export class EventManager {
|
|
|
38
38
|
this.emitter = new EventEmitter();
|
|
39
39
|
/** Stream -> ref count. Outbound SUBSCRIBE tracks active streams and routing changes. */
|
|
40
40
|
this.refCounts = new Map();
|
|
41
|
-
/** Transcription stream -> refs that require on-device-only processing. */
|
|
41
|
+
/** Transcription/translation stream -> refs that require on-device-only processing. */
|
|
42
42
|
this.forceLocalRefCounts = new Map();
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
@@ -55,9 +55,10 @@ export class EventManager {
|
|
|
55
55
|
*/
|
|
56
56
|
subscribe(stream, handler, options = {}) {
|
|
57
57
|
const isInternal = stream.startsWith("_");
|
|
58
|
-
const
|
|
58
|
+
const routed = stream.startsWith(`${MiniappStreamType.TRANSCRIPTION}:`) || stream.startsWith(`${MiniappStreamType.TRANSLATION}:`);
|
|
59
|
+
const forceLocal = options.forceLocal === true && routed;
|
|
59
60
|
const listener = (data, route) => {
|
|
60
|
-
if (
|
|
61
|
+
if (routed) {
|
|
61
62
|
// Hosts that predate routed transcription events omit `route`. Treat
|
|
62
63
|
// those events as the default/cloud path so a forceLocal listener can
|
|
63
64
|
// never accidentally receive cloud text.
|
|
@@ -141,7 +142,7 @@ export class EventManager {
|
|
|
141
142
|
}
|
|
142
143
|
patterns.delete(stream); // exact key already emitted above
|
|
143
144
|
for (const pattern of patterns) {
|
|
144
|
-
this.emitter.emit(pattern, data);
|
|
145
|
+
this.emitter.emit(pattern, data, transcriptionRoute);
|
|
145
146
|
}
|
|
146
147
|
}
|
|
147
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/modules/events.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAA;AAE1C,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAC,MAAM,aAAa,CAAA;AAkLjE,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,OAAO,YAAY;IAOvB,YAA6B,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;QANnC,YAAO,GAAG,IAAI,YAAY,EAAE,CAAA;QAC7C,yFAAyF;QACxE,cAAS,GAAG,IAAI,GAAG,EAAkB,CAAA;QACtD,
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/modules/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,14 @@ import { MiniappSession } from "../session";
|
|
|
20
20
|
import type { TranslationData, UnsubscribeFn } from "./events";
|
|
21
21
|
import type { TranscriptionLanguage } from "./languages";
|
|
22
22
|
export type TranslationHandler = (data: TranslationData) => void;
|
|
23
|
+
export interface TranslationSubscribeOptions {
|
|
24
|
+
/**
|
|
25
|
+
* Translate on the phone only, never through the cloud. Needs a host with
|
|
26
|
+
* on-device translation and the language pair downloaded; the source
|
|
27
|
+
* language is whatever the on-device transcriber is set to.
|
|
28
|
+
*/
|
|
29
|
+
forceLocal?: boolean;
|
|
30
|
+
}
|
|
23
31
|
/**
|
|
24
32
|
* Translation source: a registry language, or "auto" to let the cloud detect
|
|
25
33
|
* the spoken language.
|
|
@@ -38,19 +46,19 @@ export declare class TranslationModule {
|
|
|
38
46
|
* to this subscriber). Prefer `to` or `fromTo` when you know the
|
|
39
47
|
* language(s) you care about.
|
|
40
48
|
*/
|
|
41
|
-
on(handler: TranslationHandler): UnsubscribeFn;
|
|
49
|
+
on(handler: TranslationHandler, options?: TranslationSubscribeOptions): UnsubscribeFn;
|
|
42
50
|
/**
|
|
43
51
|
* Subscribe to any translation that lands at the given target language(s),
|
|
44
52
|
* regardless of source. Useful for "I'm a Spanish speaker, translate
|
|
45
53
|
* whatever I hear to Spanish."
|
|
46
54
|
*/
|
|
47
|
-
to(target: TranscriptionLanguage | TranscriptionLanguage[], handler: TranslationHandler): UnsubscribeFn;
|
|
55
|
+
to(target: TranscriptionLanguage | TranscriptionLanguage[], handler: TranslationHandler, options?: TranslationSubscribeOptions): UnsubscribeFn;
|
|
48
56
|
/**
|
|
49
57
|
* Subscribe to a specific source → target translation pair. Pass an
|
|
50
58
|
* array for `target` to fan a single handler across multiple targets
|
|
51
59
|
* from the same source.
|
|
52
60
|
*/
|
|
53
|
-
fromTo(source: TranslationSource, target: TranscriptionLanguage | TranscriptionLanguage[], handler: TranslationHandler): UnsubscribeFn;
|
|
61
|
+
fromTo(source: TranslationSource, target: TranscriptionLanguage | TranscriptionLanguage[], handler: TranslationHandler, options?: TranslationSubscribeOptions): UnsubscribeFn;
|
|
54
62
|
/**
|
|
55
63
|
* @deprecated Renamed to `fromTo(source, target, handler)` for cloud
|
|
56
64
|
* SDK v3 parity. This alias will be removed in a future release.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translation.d.ts","sourceRoot":"","sources":["../../src/modules/translation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAC,cAAc,EAAC,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,UAAU,CAAA;AAE5D,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,aAAa,CAAA;AAEtD,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;AAEhE;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,GAAG,MAAM,CAAA;AAE9D,qBAAa,iBAAiB;IAGhB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;gBAErB,OAAO,EAAE,cAAc;IAEpD;;;;;;;;OAQG;IACH,EAAE,CAAC,OAAO,EAAE,kBAAkB,GAAG,aAAa;
|
|
1
|
+
{"version":3,"file":"translation.d.ts","sourceRoot":"","sources":["../../src/modules/translation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAC,cAAc,EAAC,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,UAAU,CAAA;AAE5D,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,aAAa,CAAA;AAEtD,MAAM,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAA;AAEhE,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,GAAG,MAAM,CAAA;AAE9D,qBAAa,iBAAiB;IAGhB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;gBAErB,OAAO,EAAE,cAAc;IAEpD;;;;;;;;OAQG;IACH,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,GAAE,2BAAgC,GAAG,aAAa;IAMzF;;;;OAIG;IACH,EAAE,CACA,MAAM,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,EACvD,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,2BAAgC,GACxC,aAAa;IAuBhB;;;;OAIG;IACH,MAAM,CACJ,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,EACvD,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,2BAAgC,GACxC,aAAa;IA4BhB;;;OAGG;IACH,eAAe,CACb,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,kBAAkB,GAC1B,aAAa;IAIhB,iEAAiE;IACjE,IAAI,IAAI,IAAI;IAWZ,mEAAmE;IACnE,IAAI,aAAa,IAAI,OAAO,CAE3B;IAID,OAAO,CAAC,KAAK;CAOd"}
|
|
@@ -32,21 +32,21 @@ export class TranslationModule {
|
|
|
32
32
|
* to this subscriber). Prefer `to` or `fromTo` when you know the
|
|
33
33
|
* language(s) you care about.
|
|
34
34
|
*/
|
|
35
|
-
on(handler) {
|
|
36
|
-
return this.track(this.session._subscribe(`${MiniappStreamType.TRANSLATION}:*:*`, handler));
|
|
35
|
+
on(handler, options = {}) {
|
|
36
|
+
return this.track(this.session._subscribe(`${MiniappStreamType.TRANSLATION}:*:*`, handler, options));
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
39
|
* Subscribe to any translation that lands at the given target language(s),
|
|
40
40
|
* regardless of source. Useful for "I'm a Spanish speaker, translate
|
|
41
41
|
* whatever I hear to Spanish."
|
|
42
42
|
*/
|
|
43
|
-
to(target, handler) {
|
|
43
|
+
to(target, handler, options = {}) {
|
|
44
44
|
const targets = (Array.isArray(target) ? target : [target]).map((t) => requireTranscriptionLanguage(t, "translation.to(target)"));
|
|
45
45
|
if (targets.length === 0)
|
|
46
46
|
return () => { };
|
|
47
47
|
const unsubs = [];
|
|
48
48
|
for (const t of targets) {
|
|
49
|
-
unsubs.push(this.session._subscribe(`${MiniappStreamType.TRANSLATION}:*:${t}`, handler));
|
|
49
|
+
unsubs.push(this.session._subscribe(`${MiniappStreamType.TRANSLATION}:*:${t}`, handler, options));
|
|
50
50
|
}
|
|
51
51
|
const composite = () => {
|
|
52
52
|
for (const u of unsubs) {
|
|
@@ -65,14 +65,14 @@ export class TranslationModule {
|
|
|
65
65
|
* array for `target` to fan a single handler across multiple targets
|
|
66
66
|
* from the same source.
|
|
67
67
|
*/
|
|
68
|
-
fromTo(source, target, handler) {
|
|
68
|
+
fromTo(source, target, handler, options = {}) {
|
|
69
69
|
const validSource = source === "auto" ? "auto" : requireTranscriptionLanguage(source, "translation.fromTo(source)");
|
|
70
70
|
const targets = (Array.isArray(target) ? target : [target]).map((t) => requireTranscriptionLanguage(t, "translation.fromTo(target)"));
|
|
71
71
|
if (targets.length === 0)
|
|
72
72
|
return () => { };
|
|
73
73
|
const unsubs = [];
|
|
74
74
|
for (const t of targets) {
|
|
75
|
-
unsubs.push(this.session._subscribe(`${MiniappStreamType.TRANSLATION}:${validSource}:${t}`, handler));
|
|
75
|
+
unsubs.push(this.session._subscribe(`${MiniappStreamType.TRANSLATION}:${validSource}:${t}`, handler, options));
|
|
76
76
|
}
|
|
77
77
|
const composite = () => {
|
|
78
78
|
for (const u of unsubs) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translation.js","sourceRoot":"","sources":["../../src/modules/translation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAA;AAG7C,OAAO,EAAC,4BAA4B,EAAC,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"translation.js","sourceRoot":"","sources":["../../src/modules/translation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@glassly/miniapp",
|
|
3
|
-
"version": "0.3.1-dev.
|
|
3
|
+
"version": "0.3.1-dev.497",
|
|
4
4
|
"description": "SDK for building Glassly local miniapps (browser/WebView)",
|
|
5
5
|
"author": "Glassly Labs",
|
|
6
6
|
"license": "MIT",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
}
|
|
70
70
|
},
|
|
71
71
|
"dependencies": {
|
|
72
|
-
"@glassly/cloud-protocol": "0.3.1-dev.
|
|
72
|
+
"@glassly/cloud-protocol": "0.3.1-dev.497",
|
|
73
73
|
"eventemitter3": "^5.0.1"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
package/src/index.ts
CHANGED
|
@@ -225,7 +225,7 @@ export type {PermissionsModule, PermissionErrorEvent} from "./modules/permission
|
|
|
225
225
|
export type {PhoneModule, PhoneNotificationsModule, PhoneCalendarModule, PhoneHeadingModule} from "./modules/phone"
|
|
226
226
|
export type {SettingsModule, SettingsChange} from "./modules/settings"
|
|
227
227
|
export type {TranscriptionModule, TranscriptionConfig, TranscriptionOptions} from "./modules/transcription"
|
|
228
|
-
export type {TranslationModule} from "./modules/translation"
|
|
228
|
+
export type {TranslationModule, TranslationSubscribeOptions} from "./modules/translation"
|
|
229
229
|
export type {SpeakerModule} from "./modules/speaker"
|
|
230
230
|
|
|
231
231
|
// Permission types
|
package/src/modules/events.ts
CHANGED
|
@@ -216,7 +216,7 @@ export class EventManager {
|
|
|
216
216
|
private readonly emitter = new EventEmitter()
|
|
217
217
|
/** Stream -> ref count. Outbound SUBSCRIBE tracks active streams and routing changes. */
|
|
218
218
|
private readonly refCounts = new Map<string, number>()
|
|
219
|
-
/** Transcription stream -> refs that require on-device-only processing. */
|
|
219
|
+
/** Transcription/translation stream -> refs that require on-device-only processing. */
|
|
220
220
|
private readonly forceLocalRefCounts = new Map<string, number>()
|
|
221
221
|
|
|
222
222
|
constructor(private readonly session: MiniappSession) {}
|
|
@@ -235,9 +235,11 @@ export class EventManager {
|
|
|
235
235
|
*/
|
|
236
236
|
subscribe(stream: string, handler: (data: unknown) => void, options: {forceLocal?: boolean} = {}): UnsubscribeFn {
|
|
237
237
|
const isInternal = stream.startsWith("_")
|
|
238
|
-
const
|
|
238
|
+
const routed =
|
|
239
|
+
stream.startsWith(`${MiniappStreamType.TRANSCRIPTION}:`) || stream.startsWith(`${MiniappStreamType.TRANSLATION}:`)
|
|
240
|
+
const forceLocal = options.forceLocal === true && routed
|
|
239
241
|
const listener = (data: unknown, route?: TranscriptionEventRoute) => {
|
|
240
|
-
if (
|
|
242
|
+
if (routed) {
|
|
241
243
|
// Hosts that predate routed transcription events omit `route`. Treat
|
|
242
244
|
// those events as the default/cloud path so a forceLocal listener can
|
|
243
245
|
// never accidentally receive cloud text.
|
|
@@ -317,7 +319,7 @@ export class EventManager {
|
|
|
317
319
|
}
|
|
318
320
|
patterns.delete(stream) // exact key already emitted above
|
|
319
321
|
for (const pattern of patterns) {
|
|
320
|
-
this.emitter.emit(pattern, data)
|
|
322
|
+
this.emitter.emit(pattern, data, transcriptionRoute)
|
|
321
323
|
}
|
|
322
324
|
}
|
|
323
325
|
}
|
|
@@ -25,6 +25,15 @@ import type {TranscriptionLanguage} from "./languages"
|
|
|
25
25
|
|
|
26
26
|
export type TranslationHandler = (data: TranslationData) => void
|
|
27
27
|
|
|
28
|
+
export interface TranslationSubscribeOptions {
|
|
29
|
+
/**
|
|
30
|
+
* Translate on the phone only, never through the cloud. Needs a host with
|
|
31
|
+
* on-device translation and the language pair downloaded; the source
|
|
32
|
+
* language is whatever the on-device transcriber is set to.
|
|
33
|
+
*/
|
|
34
|
+
forceLocal?: boolean
|
|
35
|
+
}
|
|
36
|
+
|
|
28
37
|
/**
|
|
29
38
|
* Translation source: a registry language, or "auto" to let the cloud detect
|
|
30
39
|
* the spoken language.
|
|
@@ -45,9 +54,9 @@ export class TranslationModule {
|
|
|
45
54
|
* to this subscriber). Prefer `to` or `fromTo` when you know the
|
|
46
55
|
* language(s) you care about.
|
|
47
56
|
*/
|
|
48
|
-
on(handler: TranslationHandler): UnsubscribeFn {
|
|
57
|
+
on(handler: TranslationHandler, options: TranslationSubscribeOptions = {}): UnsubscribeFn {
|
|
49
58
|
return this.track(
|
|
50
|
-
this.session._subscribe(`${MiniappStreamType.TRANSLATION}:*:*`, handler as (data: unknown) => void),
|
|
59
|
+
this.session._subscribe(`${MiniappStreamType.TRANSLATION}:*:*`, handler as (data: unknown) => void, options),
|
|
51
60
|
)
|
|
52
61
|
}
|
|
53
62
|
|
|
@@ -56,7 +65,11 @@ export class TranslationModule {
|
|
|
56
65
|
* regardless of source. Useful for "I'm a Spanish speaker, translate
|
|
57
66
|
* whatever I hear to Spanish."
|
|
58
67
|
*/
|
|
59
|
-
to(
|
|
68
|
+
to(
|
|
69
|
+
target: TranscriptionLanguage | TranscriptionLanguage[],
|
|
70
|
+
handler: TranslationHandler,
|
|
71
|
+
options: TranslationSubscribeOptions = {},
|
|
72
|
+
): UnsubscribeFn {
|
|
60
73
|
const targets = (Array.isArray(target) ? target : [target]).map((t) =>
|
|
61
74
|
requireTranscriptionLanguage(t, "translation.to(target)"),
|
|
62
75
|
)
|
|
@@ -64,7 +77,7 @@ export class TranslationModule {
|
|
|
64
77
|
const unsubs: UnsubscribeFn[] = []
|
|
65
78
|
for (const t of targets) {
|
|
66
79
|
unsubs.push(
|
|
67
|
-
this.session._subscribe(`${MiniappStreamType.TRANSLATION}:*:${t}`, handler as (data: unknown) => void),
|
|
80
|
+
this.session._subscribe(`${MiniappStreamType.TRANSLATION}:*:${t}`, handler as (data: unknown) => void, options),
|
|
68
81
|
)
|
|
69
82
|
}
|
|
70
83
|
const composite = () => {
|
|
@@ -88,6 +101,7 @@ export class TranslationModule {
|
|
|
88
101
|
source: TranslationSource,
|
|
89
102
|
target: TranscriptionLanguage | TranscriptionLanguage[],
|
|
90
103
|
handler: TranslationHandler,
|
|
104
|
+
options: TranslationSubscribeOptions = {},
|
|
91
105
|
): UnsubscribeFn {
|
|
92
106
|
const validSource = source === "auto" ? "auto" : requireTranscriptionLanguage(source, "translation.fromTo(source)")
|
|
93
107
|
const targets = (Array.isArray(target) ? target : [target]).map((t) =>
|
|
@@ -100,6 +114,7 @@ export class TranslationModule {
|
|
|
100
114
|
this.session._subscribe(
|
|
101
115
|
`${MiniappStreamType.TRANSLATION}:${validSource}:${t}`,
|
|
102
116
|
handler as (data: unknown) => void,
|
|
117
|
+
options,
|
|
103
118
|
),
|
|
104
119
|
)
|
|
105
120
|
}
|