@extentos/mcp-server 0.0.57 → 0.0.58
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/README.md +22 -62
- package/dist/generated/events.d.ts +3 -3
- package/dist/generated/events.d.ts.map +1 -1
- package/dist/generated/events.js +11 -6
- package/dist/generated/events.js.map +1 -1
- package/dist/generated/schemas.d.ts.map +1 -1
- package/dist/generated/schemas.js +41 -124
- package/dist/generated/schemas.js.map +1 -1
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/tools/data/capabilityPatterns.d.ts +11 -0
- package/dist/tools/data/capabilityPatterns.d.ts.map +1 -0
- package/dist/tools/data/capabilityPatterns.js +289 -0
- package/dist/tools/data/capabilityPatterns.js.map +1 -0
- package/dist/tools/data/codeExamples.d.ts +15 -0
- package/dist/tools/data/codeExamples.d.ts.map +1 -0
- package/dist/tools/data/codeExamples.js +494 -0
- package/dist/tools/data/codeExamples.js.map +1 -0
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +99 -181
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/docs/index.d.ts.map +1 -1
- package/dist/tools/docs/index.js +321 -800
- package/dist/tools/docs/index.js.map +1 -1
- package/dist/tools/handlers/createSimulatorSession.d.ts.map +1 -1
- package/dist/tools/handlers/createSimulatorSession.js +36 -51
- package/dist/tools/handlers/createSimulatorSession.js.map +1 -1
- package/dist/tools/handlers/generateConnectionModule.js +14 -15
- package/dist/tools/handlers/generateConnectionModule.js.map +1 -1
- package/dist/tools/handlers/getCapabilityGuide.d.ts +3 -0
- package/dist/tools/handlers/getCapabilityGuide.d.ts.map +1 -0
- package/dist/tools/handlers/getCapabilityGuide.js +47 -0
- package/dist/tools/handlers/getCapabilityGuide.js.map +1 -0
- package/dist/tools/handlers/getCodeExample.d.ts +3 -0
- package/dist/tools/handlers/getCodeExample.d.ts.map +1 -0
- package/dist/tools/handlers/getCodeExample.js +50 -0
- package/dist/tools/handlers/getCodeExample.js.map +1 -0
- package/dist/tools/handlers/getCredentialGuide.d.ts.map +1 -1
- package/dist/tools/handlers/getCredentialGuide.js +44 -84
- package/dist/tools/handlers/getCredentialGuide.js.map +1 -1
- package/dist/tools/handlers/getEventLog.d.ts.map +1 -1
- package/dist/tools/handlers/getEventLog.js +7 -8
- package/dist/tools/handlers/getEventLog.js.map +1 -1
- package/dist/tools/handlers/getPermissions.d.ts.map +1 -1
- package/dist/tools/handlers/getPermissions.js +27 -12
- package/dist/tools/handlers/getPermissions.js.map +1 -1
- package/dist/tools/handlers/getPlatformInfo.d.ts.map +1 -1
- package/dist/tools/handlers/getPlatformInfo.js +112 -46
- package/dist/tools/handlers/getPlatformInfo.js.map +1 -1
- package/dist/tools/handlers/getProductionChecklist.d.ts.map +1 -1
- package/dist/tools/handlers/getProductionChecklist.js +86 -120
- package/dist/tools/handlers/getProductionChecklist.js.map +1 -1
- package/dist/tools/handlers/getSimulatorStatus.d.ts.map +1 -1
- package/dist/tools/handlers/getSimulatorStatus.js +1 -3
- package/dist/tools/handlers/getSimulatorStatus.js.map +1 -1
- package/dist/tools/handlers/getVoiceCommandGuidance.d.ts.map +1 -1
- package/dist/tools/handlers/getVoiceCommandGuidance.js +18 -45
- package/dist/tools/handlers/getVoiceCommandGuidance.js.map +1 -1
- package/dist/tools/handlers/inspectIntegration.d.ts.map +1 -1
- package/dist/tools/handlers/inspectIntegration.js +14 -52
- package/dist/tools/handlers/inspectIntegration.js.map +1 -1
- package/dist/tools/handlers/validateIntegration.d.ts.map +1 -1
- package/dist/tools/handlers/validateIntegration.js +83 -167
- package/dist/tools/handlers/validateIntegration.js.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +6 -11
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/templates/androidBootstrap.d.ts.map +1 -1
- package/dist/tools/templates/androidBootstrap.js +20 -47
- package/dist/tools/templates/androidBootstrap.js.map +1 -1
- package/dist/tools/templates/iosBootstrap.d.ts.map +1 -1
- package/dist/tools/templates/iosBootstrap.js +24 -34
- package/dist/tools/templates/iosBootstrap.js.map +1 -1
- package/dist/tools/util/manifest.d.ts +0 -61
- package/dist/tools/util/manifest.d.ts.map +1 -1
- package/dist/tools/util/manifest.js +14 -112
- package/dist/tools/util/manifest.js.map +1 -1
- package/dist/tools/util/permissions.d.ts +4 -7
- package/dist/tools/util/permissions.d.ts.map +1 -1
- package/dist/tools/util/permissions.js +151 -161
- package/dist/tools/util/permissions.js.map +1 -1
- package/package.json +1 -6
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
// getPlatformInfo — static platform metadata bundle.
|
|
2
|
-
// Spec: docs/mcp/MCP_TOOLS.md § getPlatformInfo
|
|
3
|
-
// Consolidates version + capabilities into one tool (three legacy tools pre-v1).
|
|
4
2
|
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
//
|
|
3
|
+
// Pre-pivot the response was shaped around spec DSL primitive
|
|
4
|
+
// categories — blocks / streams / triggers / actions. Post pure-SDK
|
|
5
|
+
// pivot those categories don't exist for the customer (they call
|
|
6
|
+
// `glasses.audio.X` / `glasses.camera.X` directly), so the response
|
|
7
|
+
// now flattens everything into a single `features` array with a
|
|
8
|
+
// `category` discriminator (media / stream / voice / hardware /
|
|
9
|
+
// lifecycle). Toggles and global constraints survive intact.
|
|
10
|
+
//
|
|
11
|
+
// Compact-by-default: ~2KB names + tiers + global constraints. Full
|
|
12
|
+
// per-primitive detail (params, returns, constraints) is opt-in via
|
|
13
|
+
// expand: ["capabilities.full"]. Schema remains opt-in via
|
|
14
|
+
// expand: ["schema"] for the rare case an agent validates outside the
|
|
15
|
+
// MCP tools.
|
|
12
16
|
import { specSchema } from "../../generated/schemas.js";
|
|
13
17
|
import { VERSION_INFO } from "../data/version.js";
|
|
14
18
|
import { META_RAYBAN_CAPABILITIES } from "../data/capabilities.js";
|
|
@@ -19,6 +23,12 @@ const EXPANDS = [
|
|
|
19
23
|
"capabilities.full",
|
|
20
24
|
"capabilities.advanced",
|
|
21
25
|
];
|
|
26
|
+
const VOICE_TRIGGERS = new Set(["voice_command", "wake_word", "push_to_talk", "fallback"]);
|
|
27
|
+
const LIFECYCLE_TRIGGERS = new Set([
|
|
28
|
+
"manual_launch",
|
|
29
|
+
"connection_state_changed",
|
|
30
|
+
"app_lifecycle_changed",
|
|
31
|
+
]);
|
|
22
32
|
export function handleGetPlatformInfo(raw) {
|
|
23
33
|
const parsed = parseArgs(raw);
|
|
24
34
|
if ("error" in parsed)
|
|
@@ -50,53 +60,108 @@ export function handleGetPlatformInfo(raw) {
|
|
|
50
60
|
response.summary = buildSummary(sections, expandSet);
|
|
51
61
|
return okResponse(response);
|
|
52
62
|
}
|
|
63
|
+
function categorizeBlock() {
|
|
64
|
+
return "media";
|
|
65
|
+
}
|
|
66
|
+
function categorizeStream(name) {
|
|
67
|
+
// outgoing_* streams are phone→glasses audio/video; categorize as media
|
|
68
|
+
// since they're audio output / video playback paths.
|
|
69
|
+
if (name === "outgoing_audio_stream" || name === "outgoing_video_stream")
|
|
70
|
+
return "media";
|
|
71
|
+
return "stream";
|
|
72
|
+
}
|
|
73
|
+
function categorizeTrigger(name) {
|
|
74
|
+
if (VOICE_TRIGGERS.has(name))
|
|
75
|
+
return "voice";
|
|
76
|
+
if (LIFECYCLE_TRIGGERS.has(name))
|
|
77
|
+
return "lifecycle";
|
|
78
|
+
return "hardware";
|
|
79
|
+
}
|
|
53
80
|
function buildCapabilities(expand) {
|
|
54
81
|
const c = META_RAYBAN_CAPABILITIES;
|
|
55
82
|
const full = expand.has("capabilities.full");
|
|
56
83
|
const advanced = expand.has("capabilities.advanced");
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
84
|
+
const blocks = c.blocks;
|
|
85
|
+
const streams = c.streams;
|
|
86
|
+
const triggers = c.triggers;
|
|
87
|
+
// Flatten blocks + streams + triggers → features. Each feature carries
|
|
88
|
+
// its source category for grouping in agent-facing UI. `actions` is
|
|
89
|
+
// dropped entirely — DSL-only (app_callback / branch / speak_text / …
|
|
90
|
+
// are no longer platform-level concerns; they're either SDK methods
|
|
91
|
+
// or normal control flow customer code writes).
|
|
92
|
+
const features = [];
|
|
93
|
+
for (const b of blocks) {
|
|
94
|
+
const name = b.type;
|
|
95
|
+
const feature = {
|
|
96
|
+
name,
|
|
97
|
+
category: categorizeBlock(),
|
|
98
|
+
tier: b.tier,
|
|
99
|
+
};
|
|
100
|
+
if (full) {
|
|
101
|
+
if (b.params !== undefined)
|
|
102
|
+
feature.params = b.params;
|
|
103
|
+
if (b.returns !== undefined)
|
|
104
|
+
feature.returns = b.returns;
|
|
105
|
+
if (b.constraints !== undefined)
|
|
106
|
+
feature.constraints = b.constraints;
|
|
107
|
+
if (b.confidence !== undefined)
|
|
108
|
+
feature.confidence = b.confidence;
|
|
109
|
+
}
|
|
110
|
+
features.push(feature);
|
|
111
|
+
}
|
|
112
|
+
for (const s of streams) {
|
|
113
|
+
const name = s.type;
|
|
114
|
+
const feature = {
|
|
115
|
+
name,
|
|
116
|
+
category: categorizeStream(name),
|
|
117
|
+
tier: s.tier,
|
|
118
|
+
};
|
|
119
|
+
if (full) {
|
|
120
|
+
if (s.config !== undefined)
|
|
121
|
+
feature.config = s.config;
|
|
122
|
+
if (s.payload !== undefined)
|
|
123
|
+
feature.payload = s.payload;
|
|
124
|
+
if (s.constraints !== undefined)
|
|
125
|
+
feature.constraints = s.constraints;
|
|
126
|
+
if (s.requires !== undefined)
|
|
127
|
+
feature.requires = s.requires;
|
|
128
|
+
}
|
|
129
|
+
features.push(feature);
|
|
130
|
+
}
|
|
131
|
+
for (const t of triggers) {
|
|
132
|
+
const name = t.type;
|
|
133
|
+
const feature = {
|
|
134
|
+
name,
|
|
135
|
+
category: categorizeTrigger(name),
|
|
136
|
+
tier: t.tier,
|
|
137
|
+
};
|
|
138
|
+
if (full) {
|
|
139
|
+
if (t.params !== undefined)
|
|
140
|
+
feature.params = t.params;
|
|
141
|
+
if (t.payload !== undefined)
|
|
142
|
+
feature.payload = t.payload;
|
|
143
|
+
if (t.constraints !== undefined)
|
|
144
|
+
feature.constraints = t.constraints;
|
|
145
|
+
if (t.requires !== undefined)
|
|
146
|
+
feature.requires = t.requires;
|
|
64
147
|
}
|
|
65
|
-
|
|
148
|
+
features.push(feature);
|
|
66
149
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const blocks = c.blocks.map((b) => ({
|
|
72
|
-
type: b.type,
|
|
73
|
-
tier: b.tier,
|
|
74
|
-
}));
|
|
75
|
-
const triggers = c.triggers.map((t) => ({
|
|
76
|
-
type: t.type,
|
|
77
|
-
tier: t.tier,
|
|
78
|
-
}));
|
|
79
|
-
const streams = c.streams.map((s) => ({
|
|
80
|
-
type: s.type,
|
|
81
|
-
tier: s.tier,
|
|
82
|
-
}));
|
|
83
|
-
const actions = c.actions.map((a) => a.type);
|
|
84
|
-
const toggles = c.toggles.map((t) => t.key);
|
|
85
|
-
const compact = {
|
|
150
|
+
const toggles = full
|
|
151
|
+
? c.toggles
|
|
152
|
+
: c.toggles.map((t) => t.key);
|
|
153
|
+
const result = {
|
|
86
154
|
vendor: c.model,
|
|
87
155
|
datVersion: c.datVersion,
|
|
88
|
-
|
|
89
|
-
triggers,
|
|
90
|
-
streams,
|
|
91
|
-
actions,
|
|
156
|
+
features,
|
|
92
157
|
toggles,
|
|
93
158
|
globalConstraints: c.globalConstraints,
|
|
94
159
|
};
|
|
95
160
|
if (advanced) {
|
|
96
|
-
|
|
97
|
-
|
|
161
|
+
result.droppedPrimitives = c.droppedPrimitives;
|
|
162
|
+
result.futurePrimitives = c.futurePrimitives;
|
|
98
163
|
}
|
|
99
|
-
return
|
|
164
|
+
return result;
|
|
100
165
|
}
|
|
101
166
|
function buildSummary(sections, expand) {
|
|
102
167
|
const c = META_RAYBAN_CAPABILITIES;
|
|
@@ -105,14 +170,15 @@ function buildSummary(sections, expand) {
|
|
|
105
170
|
parts.push(`library v${VERSION_INFO.latestStable}`);
|
|
106
171
|
if (sections.includes("capabilities")) {
|
|
107
172
|
const detail = expand.has("capabilities.full") ? "full" : "compact";
|
|
108
|
-
|
|
173
|
+
const featureCount = c.blocks.length + c.streams.length + c.triggers.length;
|
|
174
|
+
parts.push(`meta_rayban capabilities (${detail}: ${featureCount} features, ${c.toggles.length} toggles)`);
|
|
109
175
|
}
|
|
110
176
|
if (expand.has("schema"))
|
|
111
177
|
parts.push("spec schema v1.0");
|
|
112
178
|
let summary = parts.length ? `Returned ${parts.join(", ")}.` : "Empty response — no sections requested.";
|
|
113
179
|
if (sections.includes("capabilities") && !expand.has("capabilities.full")) {
|
|
114
180
|
summary +=
|
|
115
|
-
" For per-
|
|
181
|
+
" For per-feature params/returns/constraints, call again with expand: ['capabilities.full']. For SDK usage patterns by feature, see searchDocs(topic: 'library_api').";
|
|
116
182
|
}
|
|
117
183
|
return summary;
|
|
118
184
|
}
|
|
@@ -165,7 +231,7 @@ function parseArgs(raw) {
|
|
|
165
231
|
return {
|
|
166
232
|
error: errorResponse({
|
|
167
233
|
code: "invalid_arguments",
|
|
168
|
-
message: "\"schema\" is no longer a valid section — the JSON Schema document is rarely needed by agents
|
|
234
|
+
message: "\"schema\" is no longer a valid section — the JSON Schema document is rarely needed by agents. Fetch via expand: [\"schema\"] only when validating outside MCP.",
|
|
169
235
|
fixHint: "Drop \"schema\" from sections; pass expand: [\"schema\"] separately if you really need the raw schema.",
|
|
170
236
|
retryable: false,
|
|
171
237
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPlatformInfo.js","sourceRoot":"","sources":["../../../src/tools/handlers/getPlatformInfo.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,
|
|
1
|
+
{"version":3,"file":"getPlatformInfo.js","sourceRoot":"","sources":["../../../src/tools/handlers/getPlatformInfo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProductionChecklist.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/getProductionChecklist.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getProductionChecklist.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/getProductionChecklist.ts"],"names":[],"mappings":"AAgBA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA6C5E,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAoLrE"}
|
|
@@ -1,48 +1,48 @@
|
|
|
1
1
|
// getProductionChecklist — personalized production readiness checklist.
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
2
|
+
//
|
|
3
|
+
// Post pure-SDK pivot: input is `{ capabilities: string[], handlers: string[],
|
|
4
|
+
// platform, projectPath? }`. The checklist is personalized by the
|
|
5
|
+
// capabilities the app uses (streams trigger the foreground-service step,
|
|
6
|
+
// voice/capture features trigger the real-hardware verification step) and
|
|
7
|
+
// the handler names provided (used to label the API Keys step).
|
|
5
8
|
import { readFileSync } from "node:fs";
|
|
6
9
|
import { join } from "node:path";
|
|
7
|
-
import {
|
|
10
|
+
import { deriveAndroidFromCapabilities, deriveIosFromCapabilities, deriveMetaDatFromCapabilities, KNOWN_CAPABILITIES, } from "../util/permissions.js";
|
|
8
11
|
import { okResponse, errorResponse } from "../response.js";
|
|
12
|
+
// Capabilities that produce continuous streams — drive the foreground-
|
|
13
|
+
// service / background-modes step.
|
|
14
|
+
const STREAM_CAPS = new Set([
|
|
15
|
+
"video_frames",
|
|
16
|
+
"audio_chunks",
|
|
17
|
+
"transcription_incremental",
|
|
18
|
+
"outgoing_audio_stream",
|
|
19
|
+
"outgoing_video_stream",
|
|
20
|
+
]);
|
|
21
|
+
// Capabilities that exercise voice / video / audio hardware paths that
|
|
22
|
+
// can only be verified on a paired Ray-Ban Meta — drive the
|
|
23
|
+
// Real-Hardware Verification step.
|
|
24
|
+
const HARDWARE_VERIFY_CAPS = new Set([
|
|
25
|
+
"voice_command",
|
|
26
|
+
"wake_word",
|
|
27
|
+
"push_to_talk",
|
|
28
|
+
"capture_video",
|
|
29
|
+
"capture_video_with_audio",
|
|
30
|
+
"record_audio",
|
|
31
|
+
"transcription_incremental",
|
|
32
|
+
]);
|
|
9
33
|
export function handleGetProductionChecklist(raw) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
fixHint: 'Pass { spec: <spec>, platform: "android" | "ios" }.',
|
|
15
|
-
retryable: false,
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
const obj = raw;
|
|
19
|
-
if (!obj.spec || typeof obj.spec !== "object") {
|
|
20
|
-
return errorResponse({
|
|
21
|
-
code: "invalid_arguments",
|
|
22
|
-
message: "spec is required and must be an object.",
|
|
23
|
-
fixHint: "Pass the current spec JSON.",
|
|
24
|
-
retryable: false,
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
if (obj.platform !== "android" && obj.platform !== "ios") {
|
|
28
|
-
return errorResponse({
|
|
29
|
-
code: "invalid_arguments",
|
|
30
|
-
message: `platform must be "android" or "ios" (got ${JSON.stringify(obj.platform)}).`,
|
|
31
|
-
fixHint: 'Pass platform: "android" or "ios".',
|
|
32
|
-
retryable: false,
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
const spec = obj.spec;
|
|
36
|
-
const platform = obj.platform;
|
|
37
|
-
const projectPath = typeof obj.projectPath === "string" ? obj.projectPath : undefined;
|
|
34
|
+
const parsed = parseArgs(raw);
|
|
35
|
+
if ("error" in parsed)
|
|
36
|
+
return parsed.error;
|
|
37
|
+
const { capabilities, handlers, platform, projectPath } = parsed;
|
|
38
38
|
const state = projectPath ? readProjectState(projectPath) : emptyState();
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
const hasStreams = streams.length > 0;
|
|
39
|
+
const capsSet = new Set(capabilities);
|
|
40
|
+
const hasStreams = [...capsSet].some((c) => STREAM_CAPS.has(c));
|
|
42
41
|
const hasHandlers = handlers.length > 0;
|
|
43
|
-
const
|
|
44
|
-
const
|
|
45
|
-
const
|
|
42
|
+
const hardwareVerifyCaps = [...capsSet].filter((c) => HARDWARE_VERIFY_CAPS.has(c)).sort();
|
|
43
|
+
const android = deriveAndroidFromCapabilities(capabilities);
|
|
44
|
+
const ios = deriveIosFromCapabilities(capabilities);
|
|
45
|
+
const metaDat = deriveMetaDatFromCapabilities(capabilities);
|
|
46
46
|
const steps = [];
|
|
47
47
|
// 1. Meta Developer Account
|
|
48
48
|
steps.push({
|
|
@@ -78,14 +78,14 @@ export function handleGetProductionChecklist(raw) {
|
|
|
78
78
|
? { file: "extentos.manifest.json", hint: "meta.metaAppId, meta.clientToken" }
|
|
79
79
|
: { file: "Info.plist", hint: "MWDAT.MetaAppID, MWDAT.ClientToken, MWDAT.TeamID" },
|
|
80
80
|
});
|
|
81
|
-
// 4. API Keys — only if
|
|
81
|
+
// 4. API Keys — only if the app declared handlers
|
|
82
82
|
if (hasHandlers) {
|
|
83
83
|
steps.push({
|
|
84
84
|
category: "API Keys",
|
|
85
|
-
description: `Wire BYOK API keys for ${handlers.length}
|
|
85
|
+
description: `Wire BYOK API keys for ${handlers.length} handler${handlers.length === 1 ? "" : "s"}.`,
|
|
86
86
|
status: "needed",
|
|
87
|
-
details: "
|
|
88
|
-
fix: "Call getCredentialGuide to get per-provider setup steps, then wire secrets via platform
|
|
87
|
+
details: "Each declared handler is expected to call a third-party AI / vision / translation service. Production builds must not ship with placeholder or in-simulator proxy credentials.",
|
|
88
|
+
fix: "Call getCredentialGuide with the BYOK services to get per-provider setup steps, then wire secrets via platform-local secure storage (Android resValue/keystore, iOS Keychain/xcconfig).",
|
|
89
89
|
affectedHandlers: handlers,
|
|
90
90
|
});
|
|
91
91
|
}
|
|
@@ -96,23 +96,23 @@ export function handleGetProductionChecklist(raw) {
|
|
|
96
96
|
description: `Verify ${permCount} ${platform === "android" ? "runtime permission" : "Info.plist key"}${permCount === 1 ? "" : "s"} are declared with real user-facing rationale strings.`,
|
|
97
97
|
status: "needed",
|
|
98
98
|
details: platform === "android"
|
|
99
|
-
? `Derived permissions: ${android.permissions.join(", ")}. AndroidManifest must declare each, and runtime prompts (camera, mic, Bluetooth) must be requested before the first
|
|
99
|
+
? `Derived permissions: ${android.permissions.join(", ")}. AndroidManifest must declare each, and runtime prompts (camera, mic, Bluetooth) must be requested before the first SDK call that uses them.`
|
|
100
100
|
: `Derived Info.plist keys: ${ios.plistKeys.map((k) => k.key).join(", ")}. Each NSUsageDescription string must be user-facing and truthful — App Store Review rejects generic placeholders.`,
|
|
101
101
|
fix: platform === "android"
|
|
102
|
-
? "Run getPermissions to see the full set, then ensure AndroidManifest.xml matches and
|
|
102
|
+
? "Run getPermissions to see the full set, then ensure AndroidManifest.xml matches and the runtime permission prompts are wired before any glasses.audio.X / glasses.camera.X call."
|
|
103
103
|
: "Run getPermissions to see the full set, then open Info.plist and replace any generated placeholder rationale strings with copy your users will read.",
|
|
104
104
|
});
|
|
105
|
-
// 6. Foreground Service — only if
|
|
105
|
+
// 6. Foreground Service / Background modes — only if the app uses streams
|
|
106
106
|
if (hasStreams && platform === "android") {
|
|
107
107
|
const fgTypes = android.foregroundService.types;
|
|
108
108
|
steps.push({
|
|
109
109
|
category: "Foreground Service",
|
|
110
110
|
description: `Streams declared (${fgTypes.join(" + ")}). Background-survival requires a foreground service.`,
|
|
111
111
|
status: "needed",
|
|
112
|
-
details: "Android 14+ requires a typed foreground service (foregroundServiceType=mic/camera) for mic/camera streams that run WHILE BACKGROUNDED. The Extentos lib does not yet provide one — streams currently work only while the app is in the foreground. If your production app needs streams to keep running with the screen off,
|
|
112
|
+
details: "Android 14+ requires a typed foreground service (foregroundServiceType=mic/camera) for mic/camera streams that run WHILE BACKGROUNDED. The Extentos lib does not yet provide one — streams currently work only while the app is in the foreground. If your production app needs streams to keep running with the screen off, implement your own Service subclass and start it from your Application onCreate.",
|
|
113
113
|
fix: "Subclass android.app.Service, declare foregroundServiceType=\"" +
|
|
114
114
|
fgTypes.join("|") +
|
|
115
|
-
"\" in AndroidManifest.xml, and call startForegroundService(...) from your
|
|
115
|
+
"\" in AndroidManifest.xml, and call startForegroundService(...) from your Application init before the first stream is collected. Alternatively, design your app to keep the relevant Activity in the foreground while streams are active.",
|
|
116
116
|
codeChange: {
|
|
117
117
|
file: "AndroidManifest.xml",
|
|
118
118
|
hint: "<service android:name=\".YourForegroundService\" android:foregroundServiceType=\"" +
|
|
@@ -122,9 +122,8 @@ export function handleGetProductionChecklist(raw) {
|
|
|
122
122
|
});
|
|
123
123
|
}
|
|
124
124
|
else if (hasStreams && platform === "ios") {
|
|
125
|
-
// iOS doesn't have "foreground service" but equivalent: background modes.
|
|
126
125
|
steps.push({
|
|
127
|
-
category: "
|
|
126
|
+
category: "Background Modes",
|
|
128
127
|
description: "Enable background audio/Bluetooth modes for continuous stream delivery.",
|
|
129
128
|
status: "needed",
|
|
130
129
|
details: "iOS terminates mic/camera streams when the app suspends unless the matching UIBackgroundModes key is declared. DAT requires bluetooth-central + external-accessory; streaming mic additionally needs audio.",
|
|
@@ -137,27 +136,20 @@ export function handleGetProductionChecklist(raw) {
|
|
|
137
136
|
category: "Transport Config",
|
|
138
137
|
description: "Confirm production transport resolution — real Meta DAT SDK, no BrowserSimTransport.",
|
|
139
138
|
status: "needed",
|
|
140
|
-
details: "During development the library auto-selects BrowserSimTransport (if session URL
|
|
139
|
+
details: "During development the library auto-selects BrowserSimTransport (if a session URL is baked) or RealMetaTransport. For production release builds, ensure the simulator session URL is not shipped and the transport resolver falls through to real hardware.",
|
|
141
140
|
fix: platform === "android"
|
|
142
|
-
? "Strip any EXTENTOS_SIMULATOR_SESSION_URL from release buildConfig. Confirm
|
|
141
|
+
? "Strip any EXTENTOS_SIMULATOR_SESSION_URL from release buildConfig / resValue. Confirm Extentos.bootstrap() has no explicit transport override."
|
|
143
142
|
: "Strip any EXTENTOS_SIMULATOR_SESSION_URL from release Info.plist. Confirm Extentos.create() has no explicit transport override.",
|
|
144
143
|
});
|
|
145
|
-
// 8. Real-Hardware Verification —
|
|
146
|
-
|
|
147
|
-
// can simulate everything in BrowserSim, but Ray-Ban Meta hardware is
|
|
148
|
-
// the only place to verify recognizer accuracy under SCO mic, BT
|
|
149
|
-
// route changes, thermal limits at >30s HEVC, and the §6.3 canonical
|
|
150
|
-
// voice_command → capture_video stop_conditions → ai_call → speak_text
|
|
151
|
-
// flow.
|
|
152
|
-
const phase6Used = phase6PrimitivesUsed(spec);
|
|
153
|
-
if (phase6Used.length > 0) {
|
|
144
|
+
// 8. Real-Hardware Verification — only when the app uses voice / video / audio
|
|
145
|
+
if (hardwareVerifyCaps.length > 0) {
|
|
154
146
|
steps.push({
|
|
155
147
|
category: "Real-Hardware Verification",
|
|
156
|
-
description: "Smoke-test voice / video / audio
|
|
148
|
+
description: "Smoke-test voice / video / audio features on a paired Ray-Ban Meta.",
|
|
157
149
|
status: "needed",
|
|
158
|
-
details: `
|
|
159
|
-
"Behavior under real SCO routing, real recognizer engines (SpeechRecognizer / SFSpeechRecognizer), thermal limits, and BT route changes can only be verified on hardware.
|
|
160
|
-
fix: "Pair Ray-Ban Meta to your phone, install your app, and exercise: (1)
|
|
150
|
+
details: `App uses: ${hardwareVerifyCaps.join(", ")}. ` +
|
|
151
|
+
"Behavior under real SCO routing, real recognizer engines (SpeechRecognizer / SFSpeechRecognizer), thermal limits, and BT route changes can only be verified on hardware. During the test, watch getEventLog(filter: \"transport\") to confirm transcripts come through, no transport.error events surface, and the relevant operations complete cleanly.",
|
|
152
|
+
fix: "Pair Ray-Ban Meta to your phone, install your app, and exercise: (1) each voice path you handle; (2) record_audio / capture_video at the max duration you configure; (3) BT route change mid-recording (connect/disconnect AirPods). Verify the event log shows transcripts, no transport.error[stt_*] events, and operations complete successfully.",
|
|
161
153
|
});
|
|
162
154
|
}
|
|
163
155
|
// 9. Store Listing — always, optional priority
|
|
@@ -196,70 +188,44 @@ function buildSummary(opts) {
|
|
|
196
188
|
else if (!opts.manifestFound) {
|
|
197
189
|
parts.push("extentos.manifest.json not found at projectPath — treated as pre-bootstrap.");
|
|
198
190
|
}
|
|
199
|
-
parts.push(`${opts.scopeCount} Meta DAT scope${opts.scopeCount === 1 ? "" : "s"} required based on
|
|
191
|
+
parts.push(`${opts.scopeCount} Meta DAT scope${opts.scopeCount === 1 ? "" : "s"} required based on declared capabilities.`);
|
|
200
192
|
if (opts.hasStreams)
|
|
201
|
-
parts.push("
|
|
193
|
+
parts.push("App uses streams — foreground service / background modes step included.");
|
|
202
194
|
if (!opts.hasHandlers)
|
|
203
|
-
parts.push("
|
|
195
|
+
parts.push("No handlers declared — API Keys step skipped.");
|
|
204
196
|
return parts.join(" ");
|
|
205
197
|
}
|
|
206
|
-
function
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
if (action && action.type === "app_callback" && typeof action.handler === "string") {
|
|
210
|
-
set.add(action.handler);
|
|
211
|
-
}
|
|
212
|
-
});
|
|
213
|
-
return [...set].sort();
|
|
214
|
-
}
|
|
215
|
-
function walkActions(triggers, visit) {
|
|
216
|
-
const arr = asArr(triggers);
|
|
217
|
-
for (const t of arr) {
|
|
218
|
-
walkActionList(t.actions, visit);
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
function walkActionList(actions, visit) {
|
|
222
|
-
const arr = asArr(actions);
|
|
223
|
-
for (const a of arr) {
|
|
224
|
-
visit(a);
|
|
225
|
-
if (a.type === "branch") {
|
|
226
|
-
walkActionList(a.then, visit);
|
|
227
|
-
walkActionList(a.else, visit);
|
|
228
|
-
}
|
|
229
|
-
const wrapper = a.actions;
|
|
230
|
-
if (wrapper)
|
|
231
|
-
walkActionList(wrapper, visit);
|
|
198
|
+
function parseArgs(raw) {
|
|
199
|
+
if (!raw || typeof raw !== "object") {
|
|
200
|
+
return errInvalid("getProductionChecklist requires { capabilities, platform }.", 'Pass { capabilities: ["capture_photo", ...], platform: "android" | "ios", handlers?: [...], projectPath?: "..." }.');
|
|
232
201
|
}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
}
|
|
237
|
-
/// Phase 6 primitives — voice triggers, capture blocks, transcription
|
|
238
|
-
/// streams. Used to decide whether the Real-Hardware Verification step
|
|
239
|
-
/// applies. Returns a sorted list of primitive names actually present
|
|
240
|
-
/// in the spec; empty array means no Phase 6 primitives.
|
|
241
|
-
function phase6PrimitivesUsed(spec) {
|
|
242
|
-
const used = new Set();
|
|
243
|
-
for (const t of asArr(spec.triggers)) {
|
|
244
|
-
if (t.type === "voice_command" || t.type === "wake_word" || t.type === "push_to_talk") {
|
|
245
|
-
used.add(typeof t.type === "string" ? t.type : "voice_command");
|
|
246
|
-
}
|
|
202
|
+
const obj = raw;
|
|
203
|
+
if (!Array.isArray(obj.capabilities)) {
|
|
204
|
+
return errInvalid("capabilities is required and must be an array of strings.", `Valid capabilities: ${KNOWN_CAPABILITIES.join(", ")}.`);
|
|
247
205
|
}
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
}
|
|
252
|
-
const params = b.params;
|
|
253
|
-
if (params && Array.isArray(params.stop_conditions) && params.stop_conditions.length > 0) {
|
|
254
|
-
used.add("stop_conditions");
|
|
255
|
-
}
|
|
206
|
+
const capabilities = obj.capabilities.filter((c) => typeof c === "string");
|
|
207
|
+
const unknown = capabilities.filter((c) => !KNOWN_CAPABILITIES.includes(c));
|
|
208
|
+
if (unknown.length > 0) {
|
|
209
|
+
return errInvalid(`Unknown capabilities: ${unknown.join(", ")}.`, `Valid capabilities: ${KNOWN_CAPABILITIES.join(", ")}.`);
|
|
256
210
|
}
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
used.add("transcription_incremental");
|
|
260
|
-
}
|
|
211
|
+
if (obj.platform !== "android" && obj.platform !== "ios") {
|
|
212
|
+
return errInvalid(`platform must be "android" or "ios" (got ${JSON.stringify(obj.platform)}).`, 'Pass platform: "android" or "ios".');
|
|
261
213
|
}
|
|
262
|
-
|
|
214
|
+
const handlers = Array.isArray(obj.handlers)
|
|
215
|
+
? obj.handlers.filter((h) => typeof h === "string")
|
|
216
|
+
: [];
|
|
217
|
+
const projectPath = typeof obj.projectPath === "string" ? obj.projectPath : undefined;
|
|
218
|
+
return { capabilities, handlers, platform: obj.platform, projectPath };
|
|
219
|
+
}
|
|
220
|
+
function errInvalid(message, fixHint) {
|
|
221
|
+
return {
|
|
222
|
+
error: errorResponse({
|
|
223
|
+
code: "invalid_arguments",
|
|
224
|
+
message,
|
|
225
|
+
fixHint,
|
|
226
|
+
retryable: false,
|
|
227
|
+
}),
|
|
228
|
+
};
|
|
263
229
|
}
|
|
264
230
|
function emptyState() {
|
|
265
231
|
return { manifestExists: false, metaCredentialsConfigured: false };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getProductionChecklist.js","sourceRoot":"","sources":["../../../src/tools/handlers/getProductionChecklist.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getProductionChecklist.js","sourceRoot":"","sources":["../../../src/tools/handlers/getProductionChecklist.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSimulatorStatus.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/getSimulatorStatus.ts"],"names":[],"mappings":"AAGA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"getSimulatorStatus.d.ts","sourceRoot":"","sources":["../../../src/tools/handlers/getSimulatorStatus.ts"],"names":[],"mappings":"AAGA,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA8B5E,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,CA6DhF"}
|
|
@@ -39,10 +39,9 @@ export async function handleGetSimulatorStatus(raw) {
|
|
|
39
39
|
}
|
|
40
40
|
const body = res.data;
|
|
41
41
|
const activeStreams = body.activeStreams ?? [];
|
|
42
|
-
const activeTriggers = body.activeTriggers ?? [];
|
|
43
42
|
const appConnected = !!(body.connectedRoles && body.connectedRoles.app);
|
|
44
43
|
const browserConnected = !!(body.connectedRoles && body.connectedRoles.browser);
|
|
45
|
-
const summary = `Session ${body.sessionState ?? "unknown"} — app ${appConnected ? "connected" : "disconnected"}, browser ${browserConnected ? "connected" : "disconnected"}, hardware ${body.hardwareReady?.ready ? "ready" : "not ready"}. ${
|
|
44
|
+
const summary = `Session ${body.sessionState ?? "unknown"} — app ${appConnected ? "connected" : "disconnected"}, browser ${browserConnected ? "connected" : "disconnected"}, hardware ${body.hardwareReady?.ready ? "ready" : "not ready"}. ${activeStreams.length} active capability stream${activeStreams.length === 1 ? "" : "s"}.`;
|
|
46
45
|
return okResponse({
|
|
47
46
|
sessionId: body.sessionId,
|
|
48
47
|
sessionState: body.sessionState,
|
|
@@ -51,7 +50,6 @@ export async function handleGetSimulatorStatus(raw) {
|
|
|
51
50
|
connectionState: body.connectionState,
|
|
52
51
|
connectedRoles: body.connectedRoles,
|
|
53
52
|
activeStreams,
|
|
54
|
-
activeTriggers,
|
|
55
53
|
lastEventTimestamp: body.lastEventTimestamp ?? null,
|
|
56
54
|
expiresAt: body.expiresAt,
|
|
57
55
|
uptime: body.uptime,
|