@extentos/mcp-server 0.0.78 → 0.0.80
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/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +47 -17
- package/dist/cli/setup.js.map +1 -1
- package/dist/tools/data/capabilities.d.ts +30 -11
- package/dist/tools/data/capabilities.d.ts.map +1 -1
- package/dist/tools/data/capabilities.js +31 -12
- package/dist/tools/data/capabilities.js.map +1 -1
- package/dist/tools/data/capabilityPatterns.d.ts.map +1 -1
- package/dist/tools/data/capabilityPatterns.js +180 -7
- package/dist/tools/data/capabilityPatterns.js.map +1 -1
- package/dist/tools/data/codeExamples.d.ts.map +1 -1
- package/dist/tools/data/codeExamples.js +352 -156
- package/dist/tools/data/codeExamples.js.map +1 -1
- package/dist/tools/data/version.js +7 -7
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +48 -15
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/docs/index.d.ts +12 -0
- package/dist/tools/docs/index.d.ts.map +1 -1
- package/dist/tools/docs/index.js +41 -4
- package/dist/tools/docs/index.js.map +1 -1
- package/dist/tools/handlers/generateConnectionModule.d.ts.map +1 -1
- package/dist/tools/handlers/generateConnectionModule.js +136 -61
- package/dist/tools/handlers/generateConnectionModule.js.map +1 -1
- package/dist/tools/handlers/getPlatformInfo.d.ts.map +1 -1
- package/dist/tools/handlers/getPlatformInfo.js +8 -8
- package/dist/tools/handlers/getPlatformInfo.js.map +1 -1
- package/dist/tools/handlers/injectTranscript.d.ts +3 -0
- package/dist/tools/handlers/injectTranscript.d.ts.map +1 -0
- package/dist/tools/handlers/injectTranscript.js +89 -0
- package/dist/tools/handlers/injectTranscript.js.map +1 -0
- package/dist/tools/handlers/searchDocs.d.ts.map +1 -1
- package/dist/tools/handlers/searchDocs.js +36 -11
- package/dist/tools/handlers/searchDocs.js.map +1 -1
- package/dist/tools/handlers/validateIntegration.d.ts.map +1 -1
- package/dist/tools/handlers/validateIntegration.js +90 -21
- package/dist/tools/handlers/validateIntegration.js.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +2 -0
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/templates/androidBootstrap.d.ts.map +1 -1
- package/dist/tools/templates/androidBootstrap.js +16 -1
- package/dist/tools/templates/androidBootstrap.js.map +1 -1
- package/dist/tools/util/permissions.d.ts.map +1 -1
- package/dist/tools/util/permissions.js +70 -30
- package/dist/tools/util/permissions.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// searchDocs — deterministic keyword retrieval against the bundled doc index.
|
|
2
2
|
// Spec: docs/mcp/MCP_TOOLS.md § searchDocs
|
|
3
3
|
import { okResponse, errorResponse } from "../response.js";
|
|
4
|
-
import { DOC_INDEX, searchDocsIndex } from "../docs/index.js";
|
|
4
|
+
import { DOC_INDEX, extractSnippets, searchDocsIndex } from "../docs/index.js";
|
|
5
5
|
export function handleSearchDocs(raw) {
|
|
6
6
|
if (!raw || typeof raw !== "object") {
|
|
7
7
|
return errorResponse({
|
|
@@ -14,6 +14,14 @@ export function handleSearchDocs(raw) {
|
|
|
14
14
|
const obj = raw;
|
|
15
15
|
const queryStr = typeof obj.query === "string" ? obj.query.trim() : "";
|
|
16
16
|
const topicFilter = typeof obj.topic === "string" && obj.topic ? obj.topic : undefined;
|
|
17
|
+
// F-R4-10: snippet mode returns the matching paragraphs from each
|
|
18
|
+
// topic instead of the full topic body. Default is "full" for
|
|
19
|
+
// back-compat. Customers running cross-topic keyword searches benefit
|
|
20
|
+
// most — a single query used to dump ~13KB of library_api topic plus
|
|
21
|
+
// another ~6KB toggles topic; in snippet mode, only the paragraphs
|
|
22
|
+
// containing the keyword(s) come back.
|
|
23
|
+
const rawMode = typeof obj.mode === "string" ? obj.mode.toLowerCase() : "";
|
|
24
|
+
const mode = rawMode === "snippets" || rawMode === "snippet" ? "snippets" : "full";
|
|
17
25
|
// At least one of query or topic must be supplied. Topic-only is valid —
|
|
18
26
|
// it returns the full content of that topic, matching the description's
|
|
19
27
|
// "by topic OR keyword" promise (F-R4-2).
|
|
@@ -33,18 +41,35 @@ export function handleSearchDocs(raw) {
|
|
|
33
41
|
retryable: false,
|
|
34
42
|
});
|
|
35
43
|
}
|
|
44
|
+
// Snippet mode requires a query to extract against; without one there's
|
|
45
|
+
// nothing to snippet down to. Fall back to full topic body when caller
|
|
46
|
+
// passed only topic.
|
|
47
|
+
const effectiveMode = mode === "snippets" && queryStr ? "snippets" : "full";
|
|
36
48
|
const hits = searchDocsIndex(queryStr, topicFilter);
|
|
37
|
-
const results = hits.map((e) =>
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
49
|
+
const results = hits.map((e) => {
|
|
50
|
+
if (effectiveMode === "snippets") {
|
|
51
|
+
const snippets = extractSnippets(e.content, queryStr);
|
|
52
|
+
return {
|
|
53
|
+
topic: e.topic,
|
|
54
|
+
title: e.title,
|
|
55
|
+
snippets,
|
|
56
|
+
relatedTools: e.relatedTools,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
topic: e.topic,
|
|
61
|
+
title: e.title,
|
|
62
|
+
content: e.content,
|
|
63
|
+
relatedTools: e.relatedTools,
|
|
64
|
+
};
|
|
65
|
+
});
|
|
43
66
|
const summary = results.length === 0
|
|
44
67
|
? `No matching topics for query ${JSON.stringify(queryStr)}${topicFilter ? ` in topic ${JSON.stringify(topicFilter)}` : ""}.`
|
|
45
|
-
:
|
|
46
|
-
? `Found ${results.length}
|
|
47
|
-
:
|
|
48
|
-
|
|
68
|
+
: effectiveMode === "snippets"
|
|
69
|
+
? `Found ${results.length} topic${results.length === 1 ? "" : "s"} matching ${JSON.stringify(queryStr)}: ${results.map((r) => r.topic).join(", ")}. Returned matching paragraphs only — pass mode: "full" (or omit mode) to receive the full topic bodies.`
|
|
70
|
+
: queryStr
|
|
71
|
+
? `Found ${results.length} matching topic${results.length === 1 ? "" : "s"}: ${results.map((r) => r.topic).join(", ")}.`
|
|
72
|
+
: `Returned full content for topic ${JSON.stringify(topicFilter)}.`;
|
|
73
|
+
return okResponse({ results, totalResults: results.length, mode: effectiveMode, summary });
|
|
49
74
|
}
|
|
50
75
|
//# sourceMappingURL=searchDocs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchDocs.js","sourceRoot":"","sources":["../../../src/tools/handlers/searchDocs.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2CAA2C;AAE3C,OAAO,EAAE,UAAU,EAAE,aAAa,EAAmB,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"searchDocs.js","sourceRoot":"","sources":["../../../src/tools/handlers/searchDocs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateIntegration.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/validateIntegration.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA0B7D,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"validateIntegration.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/validateIntegration.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA0B7D,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAkVlE"}
|
|
@@ -183,9 +183,15 @@ export function handleValidateIntegration(raw) {
|
|
|
183
183
|
if (m) {
|
|
184
184
|
const literal = m[1].trim();
|
|
185
185
|
const isBaked = literal !== '"null"' && literal !== "\"null\"" && !/^"\s*null\s*"$/.test(literal);
|
|
186
|
-
// Try to extract the URL value for display when baked.
|
|
187
|
-
|
|
188
|
-
|
|
186
|
+
// Try to extract the URL value for display when baked. The actual
|
|
187
|
+
// emit from createSimulatorSession is `wss://api.extentos.com/ws/<id>`,
|
|
188
|
+
// but the field could in principle hold http(s)://, ws://, or wss://
|
|
189
|
+
// — match all four schemes so a hand-baked URL still surfaces in the
|
|
190
|
+
// display string. F-R3-6: was https?-only and silently swallowed
|
|
191
|
+
// wss URLs into `innerUrl: null`.
|
|
192
|
+
const urlScheme = "(?:wss?|https?)";
|
|
193
|
+
const innerUrl = new RegExp(`^"\\\\?"(${urlScheme}:\\/\\/[^"\\\\]+)`).exec(literal)?.[1]
|
|
194
|
+
?? new RegExp(`"(${urlScheme}:\\/\\/[^"]+)"`).exec(literal)?.[1]
|
|
189
195
|
?? null;
|
|
190
196
|
checks.push({
|
|
191
197
|
name: "simulator_url_baked",
|
|
@@ -193,7 +199,14 @@ export function handleValidateIntegration(raw) {
|
|
|
193
199
|
severity: "info",
|
|
194
200
|
details: isBaked
|
|
195
201
|
? `EXTENTOS_SESSION_URL is URL-baked${innerUrl ? ` to ${innerUrl}` : ""} in ${buildFile}. The app will connect directly via BrowserSimTransport at startup. To switch to auto-bind (no rebuild between mints), set the literal back to \`"null"\`.`
|
|
196
|
-
|
|
202
|
+
// F-R3-6: example URL in the auto-bind branch now matches what
|
|
203
|
+
// createSimulatorSession actually emits in androidBuildConfigPatch
|
|
204
|
+
// (wss://api.extentos.com/ws/<sessionId>) — not the browser-visible
|
|
205
|
+
// share URL (https://extentos.com/s/<sessionId>) which would 404
|
|
206
|
+
// the WebSocket handshake at the transport layer. Also show the
|
|
207
|
+
// exact buildConfigField triple-escape so agents don't have to
|
|
208
|
+
// re-derive it.
|
|
209
|
+
: `EXTENTOS_SESSION_URL is null (auto-bind mode) in ${buildFile}. On the Android EMULATOR the app will probe the local mcp-bridge at 10.0.2.2:31337 (emulator-only loopback alias) and open /ws/pending — fresh mints attach automatically without rebuilds. On a REAL device tethered over USB, run \`adb reverse tcp:31337 tcp:31337\` once per session so the probe reaches your dev machine, OR replace the null literal with a baked URL — use the snippet \`createSimulatorSession\` returns under \`androidBuildConfigPatch.field.snippet\` (shape: \`buildConfigField("String", "EXTENTOS_SESSION_URL", "\\"wss://api.extentos.com/ws/<sessionId>\\"")\`). The URL-bake path is the fallback when the MCP bridge can't reach (cellular dev, cloud-hosted agent).`,
|
|
197
210
|
});
|
|
198
211
|
}
|
|
199
212
|
}
|
|
@@ -202,10 +215,31 @@ export function handleValidateIntegration(raw) {
|
|
|
202
215
|
// records (extentos.manifest.json.capabilities). Post-pivot the manifest
|
|
203
216
|
// is the source of truth for which SDK features the project uses; pre-
|
|
204
217
|
// pivot this came from spec.blocks / spec.streams / spec.triggers.
|
|
218
|
+
//
|
|
219
|
+
// F-R3-2: when `capabilities` is empty the check used to be silently
|
|
220
|
+
// skipped — agents that ran validateIntegration before populating the
|
|
221
|
+
// capabilities array got a green "Safe to test." for a manifest whose
|
|
222
|
+
// permission completeness was literally unverifiable. Now we always
|
|
223
|
+
// emit the check; the empty-capabilities branch reports warn (not
|
|
224
|
+
// error — empty capabilities is "task not finished," not "integration
|
|
225
|
+
// broken") with explicit remediation that names the missing tool calls.
|
|
205
226
|
const manifestCaps = Array.isArray(manifest.capabilities)
|
|
206
227
|
? manifest.capabilities.filter((c) => typeof c === "string")
|
|
207
228
|
: [];
|
|
208
|
-
if (manifestCaps.length
|
|
229
|
+
if (manifestCaps.length === 0) {
|
|
230
|
+
checks.push({
|
|
231
|
+
name: "permissions_complete",
|
|
232
|
+
passed: false,
|
|
233
|
+
severity: "warn",
|
|
234
|
+
details: "extentos.manifest.json's `capabilities` array is empty — permission completeness can't be verified until you declare which SDK features your handler uses.",
|
|
235
|
+
fix: "1. Decide which SDK features your handler calls (e.g. capture_photo, voice_command, speak). " +
|
|
236
|
+
"2. Update extentos.manifest.json — set `capabilities` to that list. " +
|
|
237
|
+
"3. Run `getPermissions({ capabilities, platform })` and apply the returned " +
|
|
238
|
+
(platform === "android" ? "android.manifestEntries to AndroidManifest.xml" : "ios.plistKeys to Info.plist") +
|
|
239
|
+
". 4. Re-run validateIntegration.",
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
209
243
|
const derived = platform === "android" ? deriveAndroidFromCapabilities(manifestCaps) : null;
|
|
210
244
|
const derivedIos = platform === "ios" ? deriveIosFromCapabilities(manifestCaps) : null;
|
|
211
245
|
const expected = derived?.permissions ?? derivedIos?.plistKeys.map((k) => k.key) ?? [];
|
|
@@ -303,22 +337,50 @@ export function handleValidateIntegration(raw) {
|
|
|
303
337
|
const errorCount = checks.filter((c) => !c.passed && c.severity === "error").length;
|
|
304
338
|
const warnCount = checks.filter((c) => !c.passed && c.severity === "warn").length;
|
|
305
339
|
const valid = errorCount === 0;
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
340
|
+
// F-R3-2: keep "Safe to test." only when zero warnings — a green-with-warnings
|
|
341
|
+
// summary used to read as "ship it" even when permission completeness was
|
|
342
|
+
// unverifiable. Now warnings demote the summary to "review before testing."
|
|
343
|
+
const summary = !valid
|
|
344
|
+
? `${errorCount} error${errorCount === 1 ? "" : "s"}, ${warnCount} warning${warnCount === 1 ? "" : "s"} — fix before testing.`
|
|
345
|
+
: warnCount === 0
|
|
346
|
+
? "All correctness checks pass. Safe to test."
|
|
347
|
+
: `All blocking checks pass — review ${warnCount} warning${warnCount === 1 ? "" : "s"} before testing.`;
|
|
309
348
|
return okResponse({ valid, checks, summary });
|
|
310
349
|
}
|
|
311
|
-
// Capability-driven background-execution hint.
|
|
312
|
-
// mic
|
|
313
|
-
//
|
|
314
|
-
//
|
|
315
|
-
//
|
|
316
|
-
//
|
|
317
|
-
|
|
350
|
+
// Capability-driven background-execution hint. These SDK features open a
|
|
351
|
+
// CONTINUOUS mic/camera stream under the hood and benefit from a
|
|
352
|
+
// foreground-service declaration on Android 14+ if the app wants to keep
|
|
353
|
+
// capturing while backgrounded. On iOS the equivalent is the
|
|
354
|
+
// UIBackgroundModes plist key. Foreground-only apps do NOT need any of
|
|
355
|
+
// this — the OS's foreground-while-visible exemption covers them — so this
|
|
356
|
+
// check is severity:info, not warn/error.
|
|
357
|
+
//
|
|
358
|
+
// F-R4-07: pre-fix this set only contained record_audio / video_frames /
|
|
359
|
+
// audio_chunks. `voice_command` / `transcription_incremental` / `wake_word`
|
|
360
|
+
// / `fallback` ALSO open continuous transcript subscriptions (via the
|
|
361
|
+
// library's internal DefaultVoiceClient + transcriptions()) — declaring
|
|
362
|
+
// `voice_command` alone is enough to need the same FG-service hint as
|
|
363
|
+
// `transcription_incremental` even if the customer never wrote
|
|
364
|
+
// `audio.transcriptions().collect { ... }` themselves. Pre-fix this caused
|
|
365
|
+
// the contradiction with getPermissions (which DID flag the FG service for
|
|
366
|
+
// transcription_incremental inputs).
|
|
367
|
+
const BACKGROUND_SENSITIVE_CAPABILITIES = new Set([
|
|
368
|
+
"record_audio",
|
|
369
|
+
"video_frames",
|
|
370
|
+
"audio_chunks",
|
|
371
|
+
"voice_command",
|
|
372
|
+
"transcription_incremental",
|
|
373
|
+
"wake_word",
|
|
374
|
+
"fallback",
|
|
375
|
+
"outgoing_audio_stream",
|
|
376
|
+
]);
|
|
318
377
|
function checkBackgroundExecution(projectPath, platform, capabilities) {
|
|
319
|
-
const
|
|
320
|
-
if (
|
|
321
|
-
return {
|
|
378
|
+
const bgSensitiveDeclared = capabilities.filter((c) => BACKGROUND_SENSITIVE_CAPABILITIES.has(c));
|
|
379
|
+
if (bgSensitiveDeclared.length === 0) {
|
|
380
|
+
return {
|
|
381
|
+
passed: true,
|
|
382
|
+
details: "No continuous-capture capabilities declared — neither getPermissions nor this check flags a foreground service.",
|
|
383
|
+
};
|
|
322
384
|
}
|
|
323
385
|
if (platform === "android") {
|
|
324
386
|
const candidates = ["app/src/main/AndroidManifest.xml"];
|
|
@@ -328,13 +390,20 @@ function checkBackgroundExecution(projectPath, platform, capabilities) {
|
|
|
328
390
|
continue;
|
|
329
391
|
const text = readFileSync(abs, "utf8");
|
|
330
392
|
if (text.includes("android:foregroundServiceType")) {
|
|
331
|
-
return {
|
|
393
|
+
return {
|
|
394
|
+
passed: true,
|
|
395
|
+
details: `AndroidManifest declares foregroundServiceType (continuous-capture caps: ${bgSensitiveDeclared.join(", ")}).`,
|
|
396
|
+
};
|
|
332
397
|
}
|
|
333
398
|
}
|
|
334
399
|
return {
|
|
335
400
|
passed: false,
|
|
336
|
-
details:
|
|
337
|
-
|
|
401
|
+
details: `Continuous-capture capabilities are declared (${bgSensitiveDeclared.join(", ")}) but AndroidManifest has no <service android:foregroundServiceType=...> entry. ` +
|
|
402
|
+
`Foreground-only apps don't need one — Android's foreground-while-visible exemption covers the mic/camera access. ` +
|
|
403
|
+
`Wire a foreground service only if you want capture to survive backgrounding (screen off / user pressed home). ` +
|
|
404
|
+
`Matches getPermissions's foregroundService.required signal for the same capability set.`,
|
|
405
|
+
fix: "The Extentos library does not yet ship its own foreground service. For foreground-only operation, ignore this. " +
|
|
406
|
+
"For background-surviving capture, implement your own Service subclass with foregroundServiceType=\"microphone\" (or \"camera\") and start it from your Activity AFTER the matching runtime permission is granted (NOT from Application.onCreate — see getPermissions.android.foregroundService.devInstructions / F-R4-12 for the timing requirement on Android 14+).",
|
|
338
407
|
};
|
|
339
408
|
}
|
|
340
409
|
if (platform === "ios") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateIntegration.js","sourceRoot":"","sources":["../../../src/tools/handlers/validateIntegration.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validateIntegration.js","sourceRoot":"","sources":["../../../src/tools/handlers/validateIntegration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAkBhD,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAE9E,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAiBhD,CAAC"}
|
package/dist/tools/registry.js
CHANGED
|
@@ -13,6 +13,7 @@ import { handleGetPlatformInfo } from "./handlers/getPlatformInfo.js";
|
|
|
13
13
|
import { handleGetProductionChecklist } from "./handlers/getProductionChecklist.js";
|
|
14
14
|
import { handleGetSimulatorStatus } from "./handlers/getSimulatorStatus.js";
|
|
15
15
|
import { handleGetVoiceCommandGuidance } from "./handlers/getVoiceCommandGuidance.js";
|
|
16
|
+
import { handleInjectTranscript } from "./handlers/injectTranscript.js";
|
|
16
17
|
import { handleInspectIntegration } from "./handlers/inspectIntegration.js";
|
|
17
18
|
import { handleSearchDocs } from "./handlers/searchDocs.js";
|
|
18
19
|
import { handleValidateIntegration } from "./handlers/validateIntegration.js";
|
|
@@ -29,6 +30,7 @@ export const handlers = {
|
|
|
29
30
|
getProductionChecklist: handleGetProductionChecklist,
|
|
30
31
|
getSimulatorStatus: handleGetSimulatorStatus,
|
|
31
32
|
getVoiceCommandGuidance: handleGetVoiceCommandGuidance,
|
|
33
|
+
injectTranscript: handleInjectTranscript,
|
|
32
34
|
inspectIntegration: handleInspectIntegration,
|
|
33
35
|
searchDocs: handleSearchDocs,
|
|
34
36
|
validateIntegration: handleValidateIntegration,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,yEAAyE;AACzE,yEAAyE;AAGzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAI9E,MAAM,CAAC,MAAM,QAAQ,GAAgC;IACnD,gBAAgB,EAAE,sBAAsB;IACxC,sBAAsB,EAAE,4BAA4B;IACpD,wBAAwB,EAAE,8BAA8B;IACxD,kBAAkB,EAAE,wBAAwB;IAC5C,cAAc,EAAE,oBAAoB;IACpC,kBAAkB,EAAE,wBAAwB;IAC5C,WAAW,EAAE,iBAAiB;IAC9B,cAAc,EAAE,oBAAoB;IACpC,eAAe,EAAE,qBAAqB;IACtC,sBAAsB,EAAE,4BAA4B;IACpD,kBAAkB,EAAE,wBAAwB;IAC5C,uBAAuB,EAAE,6BAA6B;IACtD,kBAAkB,EAAE,wBAAwB;IAC5C,UAAU,EAAE,gBAAgB;IAC5B,mBAAmB,EAAE,yBAAyB;CAC/C,CAAC"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,yEAAyE;AACzE,yEAAyE;AAGzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAI9E,MAAM,CAAC,MAAM,QAAQ,GAAgC;IACnD,gBAAgB,EAAE,sBAAsB;IACxC,sBAAsB,EAAE,4BAA4B;IACpD,wBAAwB,EAAE,8BAA8B;IACxD,kBAAkB,EAAE,wBAAwB;IAC5C,cAAc,EAAE,oBAAoB;IACpC,kBAAkB,EAAE,wBAAwB;IAC5C,WAAW,EAAE,iBAAiB;IAC9B,cAAc,EAAE,oBAAoB;IACpC,eAAe,EAAE,qBAAqB;IACtC,sBAAsB,EAAE,4BAA4B;IACpD,kBAAkB,EAAE,wBAAwB;IAC5C,uBAAuB,EAAE,6BAA6B;IACtD,gBAAgB,EAAE,sBAAsB;IACxC,kBAAkB,EAAE,wBAAwB;IAC5C,UAAU,EAAE,gBAAgB;IAC5B,mBAAmB,EAAE,yBAAyB;CAC/C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"androidBootstrap.d.ts","sourceRoot":"","sources":["../../../src/tools/templates/androidBootstrap.ts"],"names":[],"mappings":"AA6BA,MAAM,MAAM,wBAAwB,GAAG,UAAU,GAAG,aAAa,CAAC;AAElE,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,wBAAqC,GAC9C,MAAM,CAIR;
|
|
1
|
+
{"version":3,"file":"androidBootstrap.d.ts","sourceRoot":"","sources":["../../../src/tools/templates/androidBootstrap.ts"],"names":[],"mappings":"AA6BA,MAAM,MAAM,wBAAwB,GAAG,UAAU,GAAG,aAAa,CAAC;AAElE,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,wBAAqC,GAC9C,MAAM,CAIR;AAmID;;;;GAIG;AACH,wBAAgB,yCAAyC,CACvD,mBAAmB,EAAE,MAAM,EAC3B,wBAAwB,EAAE,MAAM,GAAG,IAAI,GACtC,MAAM,CA8BR"}
|
|
@@ -50,8 +50,23 @@ import kotlinx.coroutines.launch
|
|
|
50
50
|
* transport on app start. Reference \`(application as ExtentosBootstrap).glasses\`
|
|
51
51
|
* from your Activity / Composable / Handler classes to subscribe to SDK
|
|
52
52
|
* primitives.
|
|
53
|
+
*
|
|
54
|
+
* Declared \`open\` so customer code can subclass this when it needs to run
|
|
55
|
+
* additional init logic in Application.onCreate() — e.g., starting a Handler
|
|
56
|
+
* that listens to \`glasses.audio.transcriptions()\`. Pattern:
|
|
57
|
+
*
|
|
58
|
+
* class MyApp : ExtentosBootstrap() {
|
|
59
|
+
* override fun onCreate() {
|
|
60
|
+
* super.onCreate() // wires \`glasses\` first
|
|
61
|
+
* MyHandler(glasses).start()
|
|
62
|
+
* }
|
|
63
|
+
* }
|
|
64
|
+
*
|
|
65
|
+
* If you subclass, set \`android:name\` in AndroidManifest.xml to your
|
|
66
|
+
* subclass (e.g. \`.MyApp\`) instead of \`.extentos.ExtentosBootstrap\`.
|
|
67
|
+
* If you don't need extra init, leave the manifest pointing at this class.
|
|
53
68
|
*/
|
|
54
|
-
class ExtentosBootstrap : Application() {
|
|
69
|
+
open class ExtentosBootstrap : Application() {
|
|
55
70
|
lateinit var glasses: ExtentosGlasses
|
|
56
71
|
private set
|
|
57
72
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"androidBootstrap.js","sourceRoot":"","sources":["../../../src/tools/templates/androidBootstrap.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,cAAc;AACd,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,iFAAiF;AACjF,kEAAkE;AAClE,EAAE;AACF,0EAA0E;AAC1E,uEAAuE;AACvE,oEAAoE;AACpE,uEAAuE;AACvE,oEAAoE;AACpE,sEAAsE;AACtE,4BAA4B;AAC5B,EAAE;AACF,sEAAsE;AACtE,wEAAwE;AACxE,wEAAwE;AACxE,uEAAuE;AACvE,2BAA2B;AAC3B,EAAE;AACF,2DAA2D;AAC3D,yEAAyE;AACzE,yEAAyE;AACzE,yEAAyE;AACzE,+BAA+B;AAI/B,MAAM,UAAU,sBAAsB,CACpC,UAAkB,EAClB,WAAqC,UAAU;IAE/C,OAAO,QAAQ,KAAK,aAAa;QAC/B,CAAC,CAAC,wBAAwB,CAAC,UAAU,CAAC;QACtC,CAAC,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAkB;IAChD,OAAO;UACC,UAAU;;;;SAIX,UAAU
|
|
1
|
+
{"version":3,"file":"androidBootstrap.js","sourceRoot":"","sources":["../../../src/tools/templates/androidBootstrap.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,EAAE;AACF,cAAc;AACd,EAAE;AACF,0EAA0E;AAC1E,2EAA2E;AAC3E,iFAAiF;AACjF,kEAAkE;AAClE,EAAE;AACF,0EAA0E;AAC1E,uEAAuE;AACvE,oEAAoE;AACpE,uEAAuE;AACvE,oEAAoE;AACpE,sEAAsE;AACtE,4BAA4B;AAC5B,EAAE;AACF,sEAAsE;AACtE,wEAAwE;AACxE,wEAAwE;AACxE,uEAAuE;AACvE,2BAA2B;AAC3B,EAAE;AACF,2DAA2D;AAC3D,yEAAyE;AACzE,yEAAyE;AACzE,yEAAyE;AACzE,+BAA+B;AAI/B,MAAM,UAAU,sBAAsB,CACpC,UAAkB,EAClB,WAAqC,UAAU;IAE/C,OAAO,QAAQ,KAAK,aAAa;QAC/B,CAAC,CAAC,wBAAwB,CAAC,UAAU,CAAC;QACtC,CAAC,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,sBAAsB,CAAC,UAAkB;IAChD,OAAO;UACC,UAAU;;;;SAIX,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsDlB,CAAC;AACF,CAAC;AAED,SAAS,wBAAwB,CAAC,UAAkB;IAClD,OAAO;UACC,UAAU;;;;SAIX,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDlB,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yCAAyC,CACvD,mBAA2B,EAC3B,wBAAuC;IAEvC,MAAM,QAAQ,GAAG,wBAAwB;QACvC,CAAC,CAAC,kBAAkB,wBAAwB,IAAI;QAChD,CAAC,CAAC,+DAA+D,CAAC;IACpE,OAAO,qDAAqD,mBAAmB,QAAQ,QAAQ;;;;;;;;aAQpF,gBAAgB,CAAC,mBAAmB,CAAC,IAAI,gBAAgB;;;;;;;;;;;;;;;;;+CAiBvB,CAAC;AAChD,CAAC;AAED,wDAAwD;AACxD,SAAS,gBAAgB,CAAC,EAAU;IAClC,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAClD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/tools/util/permissions.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE;QACjB,QAAQ,EAAE,OAAO,CAAC;QAClB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;IACF,oBAAoB,EAAE;QACpB,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/tools/util/permissions.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE;QACjB,QAAQ,EAAE,OAAO,CAAC;QAClB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;IACF,oBAAoB,EAAE;QACpB,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AA0ND,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,iBAAiB,CA+DhG;AAED,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,aAAa,CAaxF;AAED,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,GAAG,iBAAiB,CAiBhG;AAYD,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAAyC,CAAC;AAK7F,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAA0B,CAAC"}
|
|
@@ -108,44 +108,84 @@ const IOS_REASONS_BY_KEY = {
|
|
|
108
108
|
};
|
|
109
109
|
const NOTIFICATION_SERVICE_DECLARATION = `<service\n android:name="com.extentos.glasses.core.notifications.ExtentosNotificationListenerService"\n android:label="Notification Mirroring"\n android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"\n android:exported="false">\n <intent-filter>\n <action android:name="android.service.notification.NotificationListenerService" />\n </intent-filter>\n</service>`;
|
|
110
110
|
const NOTIFICATION_DEV_INSTRUCTIONS = "Add the service declaration above inside <application> in AndroidManifest.xml. At runtime, prompt the user to grant Notification Access via NotificationAccessHelper.openSettings(context). The user must enable the toggle in system Settings → Notifications → Notification access; this permission cannot be requested programmatically.";
|
|
111
|
-
//
|
|
112
|
-
//
|
|
113
|
-
//
|
|
114
|
-
//
|
|
115
|
-
//
|
|
116
|
-
//
|
|
117
|
-
//
|
|
118
|
-
//
|
|
119
|
-
//
|
|
120
|
-
// skip the service (works on emulator, breaks in background on real
|
|
121
|
-
// device) or guess the wrong syntax.
|
|
111
|
+
// F-R4-11: the Extentos library NOW ships its own foreground service
|
|
112
|
+
// (com.extentos.glasses.core.service.GlassesForegroundService, type=
|
|
113
|
+
// microphone) and declares it in glasses-core's AndroidManifest.xml.
|
|
114
|
+
// Consumer apps inherit the declaration via manifest-merger; no
|
|
115
|
+
// customer-side <service> entry needed. For microphone-only capture the
|
|
116
|
+
// emitted "declaration" is therefore a one-line note pointing at the
|
|
117
|
+
// library service. For camera-type FG (rare) the library's default
|
|
118
|
+
// service doesn't apply; we still emit a stub declaration the customer
|
|
119
|
+
// must implement and declare themselves.
|
|
122
120
|
function buildForegroundServiceDeclaration(types) {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
121
|
+
const isMicOnly = types.length === 1 && types[0] === "microphone";
|
|
122
|
+
if (isMicOnly) {
|
|
123
|
+
return [
|
|
124
|
+
`<!-- F-R4-11: glasses-core's AndroidManifest declares`,
|
|
125
|
+
` com.extentos.glasses.core.service.GlassesForegroundService with`,
|
|
126
|
+
` foregroundServiceType="microphone". You inherit it via manifest-merger —`,
|
|
127
|
+
` no <service> entry needed in your AndroidManifest.xml. Start the service`,
|
|
128
|
+
` from an Activity AFTER RECORD_AUDIO is granted at runtime:`,
|
|
129
|
+
` GlassesForegroundService.start(context) // defaults`,
|
|
130
|
+
` GlassesForegroundService.start(context, title = "MyApp",`,
|
|
131
|
+
` text = "Listening for voice commands")`,
|
|
132
|
+
` GlassesForegroundService.stop(context) // on teardown`,
|
|
133
|
+
` Foreground-only apps can skip starting it entirely. -->`,
|
|
134
|
+
].join("\n");
|
|
135
|
+
}
|
|
136
|
+
// Camera and combined types still need a customer-owned subclass.
|
|
126
137
|
const typesAttr = types.join("|");
|
|
127
138
|
return [
|
|
128
|
-
`<!-- F-
|
|
129
|
-
`
|
|
130
|
-
`
|
|
131
|
-
`
|
|
132
|
-
`
|
|
133
|
-
`
|
|
139
|
+
`<!-- ${types.includes("camera") ? "F-R4-11: " : ""}The library's default GlassesForegroundService is microphone-only.`,
|
|
140
|
+
` For ${typesAttr} you need to declare a Service in your AndroidManifest.xml`,
|
|
141
|
+
` and subclass com.extentos.glasses.core.service.GlassesForegroundService`,
|
|
142
|
+
` (override foregroundServiceType to combine MICROPHONE | CAMERA), OR write your`,
|
|
143
|
+
` own Service subclass that calls startForeground(notificationId, notification,`,
|
|
144
|
+
` FOREGROUND_SERVICE_TYPE_CAMERA${types.includes("microphone") ? " | FOREGROUND_SERVICE_TYPE_MICROPHONE" : ""}).`,
|
|
145
|
+
` Start it from your Activity AFTER the matching runtime permission is granted. -->`,
|
|
134
146
|
`<service`,
|
|
135
|
-
` android:name=".
|
|
147
|
+
` android:name=".${types.includes("camera") ? "Camera" : "Mic"}ForegroundService"`,
|
|
136
148
|
` android:foregroundServiceType="${typesAttr}"`,
|
|
137
149
|
` android:exported="false" />`,
|
|
138
150
|
].join("\n");
|
|
139
151
|
}
|
|
140
|
-
const FOREGROUND_SERVICE_DEV_INSTRUCTIONS = (types) =>
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
152
|
+
const FOREGROUND_SERVICE_DEV_INSTRUCTIONS = (types) => {
|
|
153
|
+
const runtimePerm = types.includes("camera") ? "CAMERA" : "RECORD_AUDIO";
|
|
154
|
+
const isMicOnly = types.length === 1 && types[0] === "microphone";
|
|
155
|
+
const timing = `**Timing (Android 14 / targetSdk 34+) — F-R4-12.** DO NOT start the service from ` +
|
|
156
|
+
`\`Application.onCreate\`. The OS requires \`${runtimePerm}\` to be **granted by the user** ` +
|
|
157
|
+
`before \`startForeground(..., FOREGROUND_SERVICE_TYPE_${types.includes("camera") ? "CAMERA" : "MICROPHONE"})\` ` +
|
|
158
|
+
`runs; otherwise it throws \`SecurityException\` at service-create time and kills the app ` +
|
|
159
|
+
`before the first Activity draws. Start the service from an Activity (or a ViewModel scoped ` +
|
|
160
|
+
`to one) inside the permission-grant callback returned by ` +
|
|
161
|
+
`\`ActivityResultContracts.RequestMultiplePermissions\`, OR check ` +
|
|
162
|
+
`\`ContextCompat.checkSelfPermission(this, Manifest.permission.${runtimePerm}) == PackageManager.PERMISSION_GRANTED\` ` +
|
|
163
|
+
`first.`;
|
|
164
|
+
const scope = `This service is only needed for **background-surviving** capture (screen off / user pressed home). ` +
|
|
165
|
+
`Foreground-only apps can skip starting it entirely; Android's foreground-while-visible exemption ` +
|
|
166
|
+
`covers the mic / camera access. validateIntegration's \`background_execution_declared\` check ` +
|
|
167
|
+
`signals which path you're on.`;
|
|
168
|
+
if (isMicOnly) {
|
|
169
|
+
return (`F-R4-11: glasses-core's AndroidManifest already declares ` +
|
|
170
|
+
`\`com.extentos.glasses.core.service.GlassesForegroundService\` with ` +
|
|
171
|
+
`\`foregroundServiceType="microphone"\` — you inherit it via manifest-merger, ` +
|
|
172
|
+
`so you do NOT need to add a <service> entry to your AndroidManifest.xml.\n\n` +
|
|
173
|
+
`Start the library service with one call:\n\n` +
|
|
174
|
+
` GlassesForegroundService.start(context) // defaults\n` +
|
|
175
|
+
` GlassesForegroundService.start(context, title = "MyApp",\n` +
|
|
176
|
+
` text = "Listening for voice commands")\n` +
|
|
177
|
+
` GlassesForegroundService.stop(context) // on teardown\n\n` +
|
|
178
|
+
`${timing}\n\n${scope}`);
|
|
179
|
+
}
|
|
180
|
+
// Camera-only or combined microphone+camera: customer still owns the subclass.
|
|
181
|
+
return (`The library's default GlassesForegroundService is microphone-only. For ${types.join("|")} ` +
|
|
182
|
+
`you need to declare your own Service in AndroidManifest.xml (use the declaration above as a ` +
|
|
183
|
+
`starting point) and implement it. Easiest path: subclass ` +
|
|
184
|
+
`\`com.extentos.glasses.core.service.GlassesForegroundService\` and override ` +
|
|
185
|
+
`\`foregroundServiceType\` to combine the bits (e.g. ` +
|
|
186
|
+
`\`MICROPHONE or CAMERA\`). Start it from your Activity once the matching runtime permissions ` +
|
|
187
|
+
`are granted.\n\n${timing}\n\n${scope}`);
|
|
188
|
+
};
|
|
149
189
|
function knownCapabilities(input) {
|
|
150
190
|
const set = new Set();
|
|
151
191
|
for (const c of input)
|